Vous êtes sur la page 1sur 13

Fascicule des travaux pratiques

Systèmes sur Puce


(SOC)

Filière : Troisième année licence nationale en électronique,


électrotechnique et automatique (LEEA3)

Réalisé par : SIWAR BELLAHIRICH

Année Universitaire : 2021/2022


TP ARCHITECTURE DES ORDINATEURS LEEA3

TP1 : Initiation sur la conception schématique des dispositifs

Objectif :

- Familiarisation avec l’environnement Quartus : conception, compilation et simulation des


dispositifs logiques.
- Création des modules de à partir des sous-systèmes.

Grace à cette manipulation, l’étudiant sera capable de fabriquer des additionneurs, des
multiplexeurs et des registres.

Partie1 : les additionneurs

1- Demi-additionneur
a) Réaliser la conception schématique du demi-additionneur à base des portes logiques à deux
entrées (AND et XOR).
b) Compiler le design.
c) Simuler le design en prévoyant les quatre combinaisons d’entrées possibles (00, 01, 10, 11).
Chaque combinaison doit s’étendre sur 100ns. (Soit 400ns pour la totalité de la simulation).
d) Transformer le design en un fichier symbole nommé « ha.bsf ».

2- Additionneur complet
a) En se basant sur la 1ère question, faire la conception schématique d’un additionneur
complet à base de deux demi-additionneurs et une porte logique OU à deux entrées.
b) Compiler le design.
c) Simuler le design en utilisant 8 combinaisons (de 000 à 111).
d) Transformer le design en un fichier symbole nommé « fa.bsf ».

Partie2 : les multiplexeurs

1- Multiplexeur
a) Réaliser la conception schématique d’un MUX 2 vers 1 à base des portes logiques à deux
entrées (AND, NOT, …).
b) Compiler le design.
c) Simuler le design en prévoyant les quatre combinatoires de a, b et s.
Maintenir chaque combinaison doit s’étendre sur 100ns.
d) Transformer le design en un fichier symbole nommé « mux21.bsf ».
2- Bus multiplexeur 4-bits
a) A partir de la question précédente, faire la conception schématique du bus 4-bits à base
du multiplexeur 2 vers 1.
b) Compiler le design.
c) Simuler le design en se basant sur la table suivante :
Table1 : Test de données du bus multiplexeurs 4-bits
A [3..0] B [3..0] S Y [3..0]
F 0 0
0 F 0
A 5 1
5 A 1

B.Siwar Page 1
TP ARCHITECTURE DES ORDINATEURS LEEA3

8 8 0
A A 1

d) Transformer le design en un fichier symbole nommé « busmuxbit.bsf ».


3- Registre de données
a) Prévoyez une conception schématique du bus à base d’une bascule D et du MUX 2 vers
1.
b) Compiler et simuler le design en se basant sur le chronogramme suivant :

Fig1. Chronogramme des entrées

B.Siwar Page 2
TP ARCHITECTURE DES ORDINATEURS LEEA3

TP2 : Conception schématique d’un mini-calculateur

Objectif :

Conception schématique d’un mini-calculateur basé sur une UAL de 4 bits.

I- Présentation du processus

Le mini-calculateur présenté dans la Fig. 1 ci-dessous est hiérarchisé en quatre sous-systèmes


essentiels (une UAL 4 bits, des registres, un contrôleur, des multiplexeurs et un démultiplexeur).

Fig1. Schéma bloc du mini-calculateur

Ce circuit permet de réaliser des calculs sur des opérandes de 4 bits ainsi que le stockage des
résultats dans des registres (R0, R1, R2 et R3) de 4 bits chacun.

- L’opérande A peut être issue de l’entrée du circuit ou bien récupérée de l’un des quatre
registres de données.
- Afin d’identifier l’opération à réaliser, on dispose d’une instruction rédigée sur 8 bits ayant le
format suivant :

[7 6] [5 4] [3] [2 1 0]
Numéro du registre Numéro du registre Res <= A op B Code opérande
destination source Res <= Ri op B

Le bit 3 permet de préciser si l’opération s’effectue sur les entrées A et B du circuit ou sur l’entrée B
et une donnée mémorisée dans un registre dont l’adresse est spécifiée dans le champ « Numéro du
registre source ».

B.Siwar Page 3
TP ARCHITECTURE DES ORDINATEURS LEEA3

1- Champ « Code opérande »

Ce champ est codé sur 3 bits et indique l’opération à réaliser :

Code opérande Opération


000 Res <= A AND B
001 Res <= NOT A AND B
010 Res <=A OR B
011 Res <=NOT A OR B
100 Res <=A XOR B
101 Res <= NOT A
110 Res <= A+B
111 Res <= A-B

2- Champ numéro du registre source

Ce champ est codé sur 2 bits (4 et 5) et sélectionne le registre dont les données seront utilisées lors
du calcul (au lieu de l’entrée A). Le registre en question est distingué comme suit :

Bit d’instruction numéro 5 Bit d’instruction numéro 4 Registre


0 0 R0
0 1 R1
1 0 R2
1 1 R3

3- Champ numéro du registre destination

Ce champ est codé sur 2 bits (6 et 7) et sélectionne le registre où les résultats des calculs seront
enregistrés. Le registre en question est distingué comme suit :

Bit d’instruction numéro 7 Bit d’instruction numéro 6 Registre


0 0 R0
0 1 R1
1 0 R2
1 1 R3

Exemples :

L’instruction 01 01 0 111 signifie R1 <= R1-B

L’instruction 00 01 1 111 signifie R0 <= A-B

B.Siwar Page 4
TP ARCHITECTURE DES ORDINATEURS LEEA3

II- Conception de l’unité arithmétique et logique

La Fig. 2 ci-dessous représente le schéma bloc du l’UAL 4 bits :

Fig2. Schéma bloc de l’UAL 4 bits

A et B sont les opérandes sur 4 bits chacune et Res est le résultat de l’opération.

A_SUP_B Une sortie indiquant si A > B ; Elle passe à l’état haut si A > B et à l’état bas dans le
cas échéant.
A_INF_B Une sortie indiquant si A < B ; Elle passe à l’état haut si A < B et à l’état bas dans le
cas échéant.
A_EGAL_B Une sortie indiquant si A = B ; Elle passe à l’état haut si A = B et à l’état bas dans le
cas échéant.
OVFL Une sortie indiquant l’existence d’un débordement ; Elle passe à l’état haut en cas
de débordement et à l’état bas dans le cas échéant.
ZERO Une sortie indiquant si Res = 0 ; Elle passe à l’état haut si Res = 0 et à l’état bas
dans le cas échéant.
NEG Une sortie indiquant si Res < 0 ; Elle passe à l’état haut si Res < 0 et à l’état bas
dans le cas échéant.

1- Conception d’un comparateur 4bits

Concevoir un comparateur ayant deux entrée A et B sur 4 bits chacune et générant 3 sorties
A_SUP_B, A_INF_B et A_EGAL_B.

Compiler et réaliser les simulations nécessaires.

2- Conception de l’UAL 4bits

Concevoir une UAL 4 bits en exploitant le comparateur réalisé dans la question précédente.

Compiler et réaliser les simulations nécessaires afin de vérifier son fonctionnement.

III- Conception des registres

Concevoir un registre de données 4 bits avec un entrée synchrone CLK et une entrée asynchrone CE.

Compiler et réaliser les simulations nécessaires.

B.Siwar Page 5
TP ARCHITECTURE DES ORDINATEURS LEEA3

IV- Conception des multiplexeurs et démultiplexeurs

En se basant sur la Fig. 1, concevoir Les multiplexeurs et démultiplexeurs adéquats.

Compiler et réaliser les simulations nécessaires.

V- Conception du décodeur

Concevoir un circuit de décodage permettant de générer les signaux de sélection des


multiplexeurs/démultiplexeurs ainsi que les entrées des registres CE en fonction de l’instruction
requise.

Compiler et réaliser les simulations nécessaires.

VI- Conception finale

A partir des sections précédentes, concevoir le mini-calculateur dont le schéma bloc est représenté
dans la Fig. 1 et ce en regroupant tous les circuits préparés.

Compiler et réaliser les tests nécessaires en se basant sur les exemples donnés auparavant (page 2).

B.Siwar Page 6
TP ARCHITECTURE DES ORDINATEURS LEEA3

TP3 : Conception schématique des microprocesseurs

Objectif :

Conception schématique des microprocesseurs (mon-cycle, multi-cycles et pipeline).

A. Introduction

La Fig. 1 ci-dessous, présente l’architecture générale d’un microprocesseur constitué des unités
fonctionnelles suivantes :

- Unité Arithmétique et Logique UAL;


- Des registres ;
- Une unité de contrôle (UC).

Fig1. Schéma bloc du microprocesseur

1) L’Unité Arithmétique et Logique

Organe, interne au microprocesseur, permet la réalisation des opérations arithmétiques (Addition,


Soustraction…) et logiques (AND, OR, XOR…). Outre les opérations arithmétiques et logiques, l'UAL
réalise aussi les opérations de décalage et de rotation.

2) Les registres

Il existe deux types de registres : les registres à usage général, et les registres d'adresses (ou
pointeurs).

B.Siwar Page 7
TP ARCHITECTURE DES ORDINATEURS LEEA3

a. Les registres d’usage général (Registres de travail) sont des mémoires rapides à l'intérieur
du microprocesseur ; ils permettent à l'UAL de manipuler des données à vitesse élevée.
L'adresse d'un registre est associée à son nom (on donne généralement comme nom une
lettre A, B, C…).
b. Les registres d’adresses (pointeurs) sont des registres connectés sur le bus adresses. Ils sont
utilisés pour l’adressage de la mémoire. Citons :
 Le compteur programme PC (appelé aussi compteur ordinal) : le microprocesseur utilise ce
registre afin de repérer l’instruction à exécuter à un instant donné. Celui-ci contient toujours
l’adresse de la prochaine instruction à exécuter.
 Le pointeur de pile (Stack Pointer SP), pointe toujours le sommet de la pile. La pile est une partie
de la mémoire de données de type LIFO (Last In First Out) utilisée pour sauvegarder l’adresse de
retour d’un sous-programme et/ou des variables utilisateurs.
 Les registres pointeurs de données ou d'index : utilisés pour l’adressage indirect de la mémoire
de données.
c. L’unité de contrôle (UC) permet de séquencer le déroulement des instructions, elle effectue
la recherche en mémoire des instructions, le décodage et l’exécution de l’instruction
recherchée et composée essentiellement d’un :
 Registre d’instruction (RI), recevant le code de l’instruction à exécuter.
 Décodeur d’instruction, permettant de déterminer le type de l’instruction à exécuter.
 Bloc logique de contrôle (ou séquenceur) : Il organise toutes les étapes d’exécution des
instructions au rythme d’une horloge et élabore tous les signaux de synchronisation internes et
externes du microprocesseur.

3) Les mémoires

Les mémoires sont des circuits intégrés à grande échelle d’intégration, capables de sauvegarder des
informations binaires de façon permanente ou temporaire. Elles sont liées étroitement aux
microprocesseurs puisqu’elles constituent l’élément de stockage de premier niveau. On distingué
deux type de mémoires :

a. Les mémoires vives (RAM : Random Access Memoy) sont des mémoires volatiles, le
maintien de l’information dépend de la présence de l’alimentation. Toute coupure de
l’alimentation provoque la perte des informations. Elles sont utilisées pour stocker
généralement les données temporaires.
b. Les mémoires mortes (ROM : Read Only Memory) gardent les informations même en
absence d’alimentation. Ces mémoires contiennent des informations figées (souvent des
programmes) et que l’accès ne se fait qu’on lecture seule.

4) Les Bus :

Le microprocesseur échange les informations avec les composants qui lui sont associés (mémoire et
périphériques I/O) au moyen d’un ensemble des lignes de connexions appelés bus. On distingue trois
types de bus véhiculant les informations dans un système de traitement à microprocesseur :

a. Le bus de données : bidirectionnel, assure le transfert des informations entre le


microprocesseur et son environnement. Le nombre de lignes du bus de données définie la

B.Siwar Page 8
TP ARCHITECTURE DES ORDINATEURS LEEA3

capacité de traitement du microprocesseur ; selon le microprocesseur la largeur du bus peut


être de 8 bits, 16 bits, 32 bits, 64 bits …
b. Le bus d’adresses : unidirectionnel, permet la sélection de la case contenant l’information à
traiter dans un espace mémoire (ou espace adressable). L’espace adressable peut avoir 2n
emplacements, avec n est le nombre de lignes du bus d'adresses.
c. Le bus de contrôle : assure la synchronisation du flux d'informations sur les bus de données
et d’adresses.

B. Manipulation

Soit l’UAL et le banc de registres suivants :

Fig2. Schéma bloc du banc de registres et l’UAL

I- Conception de l’Unité Arithmétique et Logique

Concevoir l’UAL 8 bits représentée dans le schéma ci-dessus et ce en utilisant les fonctions LPM issus
du dossier « Mega functions » (ARITHMETIC : LPM_ADD_SUB, LPM_DIVIDE, … GATES : LPM_AND,
LPM_INVERT, …) en se basant sur la table suivante :

ALUCtr Opération
000 Res <= A AND B
001 Res <= NOT A AND B
010 Res <=A OR B
011 Res <=NOT A OR B
100 Res <=A XOR B
101 Res <= NOT A
110 Res <= A+B
111 Res <= A-B
Compiler et réaliser les simulations nécessaires.

B.Siwar Page 9
TP ARCHITECTURE DES ORDINATEURS LEEA3

II- Conception des registres

Concevoir le banc de registres 8 bits avec un entrée synchrone CLK et une entrée asynchrone C en se
basant sur la figure suivante :

Fig3. Schéma bloc du banc de registres 8 bits

Compiler et réaliser les simulations nécessaires.

III- Conception des mémoires

Concevoir la mémoire de données en utilisant la fonction LPM-RAM et en prévoyant deux entrées


Data_In et Adr sur 8 bits et deux autres entrées WrEn et CLK binaires:

Fig4. LPM_RAM 1 Port

B.Siwar Page 10
TP ARCHITECTURE DES ORDINATEURS LEEA3

Télécharger l’éditeur HxD : https://hxd.fr.softonic.com/ et implémenter le continu suivant :

Fig5. L’éditeur HxD

Exporter le fichier sous format hexadécimal (Fichier – Exporter – Intel Hex 16 bits).

Concevoir la mémoire d’instruction en utilisant la fonction LPM-ROM et y importer le tableau.hex :

Fig5. LPM_ROM 1 Port

Compiler et réaliser les simulations nécessaires.

IV- Conception de l’unité de contrôle

On désir implémenter le jeu d’instruction suivant :

B.Siwar Page 11
TP ARCHITECTURE DES ORDINATEURS LEEA3

Add $2, $2,$5 Sub $1, $2,$3 Div $5, $3,$4

Chaque instruction est codée sur 16 bits comme suit :

Pour les instructions déjà citées, le code opératoire op <= 00, la fonction prend 00 pour l’addition, 01
pour la soustraction et 10 pour la division.

1) Implémenter ces instructions sur un nouveau fichier hexadécimal (HxD).


2) Concevoir la mémoire d’instruction en exploitant le tableau.hex.
3) Concevoir le registre d’adresse de 8 bits généré à partir qui charge la nouvelle valeur de
PC=PC+1 en utilisant les fonctions: LPM_Counter et LPM_ADD.

Fig6. Mémoire d’instruction

4) Compiler et réaliser les simulations nécessaires.


5) Réaliser la conception schématique de l’unité de contrôle.

V- Conception finale

A partir des sections précédentes, concevoir le microprocesseur monocycle 8 bits.

VI- Multi-cycle et pipeline

Définir, préciser les différences et concevoir les processeurs multi-cycle et pipeline.

B.Siwar Page 12

Vous aimerez peut-être aussi