Académique Documents
Professionnel Documents
Culture Documents
• Ces données sont transmises par le biais d’unités d’entrée à l’unité de traitement
• Le résultat du traitement est transmis aux unités de sortie qui permettent alors d’exploiter
ces résultats.
Un ordinateur se présente généralement sous forme d’un boitier contenant l’unité centrale de
traitement et quelques périphériques, d’un clavier, d’une souris, et d’un écran.
Les autres éléments de l’ordinateur clavier, souris, écran, imprimante, modem, mémoire
auxilliaire (lecteur de disquettes, disque dur, CD ROM , flash disk…), table traçante, etc.
sont appelés périphériques, ou unités d’entrée sortie (E/S).
1
Chapitre de rappels Conception des Systèmes à Microprocesseurs
2
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Rappel
I Introduction :
La conception du processeur de base nécessite le rappel de notions d’Electronique digitale
vues en licence.
Sachant qu’un processeur est un ensemble de registres contenant des données sur lesquelles
des opérations logiques sont exécutées, selon les ordres reçus par des programmes, et transmis
à un circuit de contrôle qui activent ces opérations, on déduit qu‘un processeur, ou unité
centrale, est constitué d’une unité de contrôle et d’une unité de traitement.
Unité de
traitement
Unité de
contrôle
Unité centrale
3
Chapitre de rappels Conception des Systèmes à Microprocesseurs
1 L’additionneur :
- Le demi-additionneur :
C’est un circuit réalisant une opération arithmétique entre deux bits.
Les deux entrées du circuit représentent les bits x, et y à additionner, et les sorties, le bit
somme S et le bit retenue C.
x s
x y s c s=x⊕ y y
0 0 0 0
0 1 1 0 c = xy
1 0 1 0
1 1 0 1 c
4
Chapitre de rappels Conception des Systèmes à Microprocesseurs
- L’additionneur complet :
2 Le soustracteur complet :
c = xy + z(x ⊕ y)
x y z s c
0 0 0 0 0
0 0 1 1 1 s
x
0 1 0 1 1 y
0 1 1 0 1
1 0 0 1 0 z
1 0 1 0 0 c
1 1 0 0 0
1 1 1 1 1
3 Les décodeurs :
D’une manière générale, un décodeur est le circuit d’une fonction digitale qui
traduit l’information binaire d’un code en entrée vers un autre code en sortie.
Notre étude concernera principalement le décodeur nx2n dont une seule des 2n sorties est
activée à la fois, pour chacune des combinaisons des n entrées. Le décodeur 2x4 ci dessous,
montre le principe de fonctionnement du décodeur :
- Le décodeur 2x4
x y
x y S1 S2 S3 S4 o S1
0 0 1 0 0 0 o
DCD 0 1 0 1 0 0
o S2
2x4 1 0 0 0 1 0
1 1 0 0 0 1
b- table de vérité
a- schéma bloc o S3
S4
c- circuit logique
Cette description du décodeur permet de déduire qu’il sera utilisé pour activer une et une
seule, parmi plusieurs destinations, comme nous le verrons plus loin lors de la
construction de bus ou dans de nombreuses autres applications.
- Les décodeurs avec ligne d’activation :
x S1
S2
DCD
y S3
2x4
S4
act
schéma bloc
Si la ligne d’activation est égale à 1, le décodeur fonctionne normalement, il est dit alors en
fonctionnement.
Si la ligne d’activation est égale à zéro, toutes les sorties du décodeur sont nulles. Il est alors
mis hors fonctionnement.
6
Chapitre de rappels Conception des Systèmes à Microprocesseurs
- Application
Construction d’un décodeur 3x8 à partir de deux décodeurs 2x4 avec ligne d’activation.
a b c S1 S2 S3 S4 S5 S6 S7 S8 x S1
0 0 0 1 0 0 0 0 0 0 0 b S2
DCD
0 0 1 0 1 0 0 0 0 0 0 y S3
c 2x4
0 1 0 0 0 1 0 0 0 0 0 S4
0 1 1 0 0 0 1 0 0 0 0 act
1 0 0 0 0 0 0 1 0 0 0 a
1 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0 S5
x
1 1 1 0 0 0 0 0 0 0 1 S6
DCD
S7
y 2x4
Table de vérité S8
act
• Les 8 sorties du décodeur 3x8 sont prises au niveau des sorties des 2 décodeurs 2x4.
• Puisqu’une seule sortie du décodeur 3x8 doit être activée à la fois, à chaque fois qu’un
des 2 décodeurs 2x4 est activé, l’autre doit être désactivé. Les deux entrées d’activation
doivent donc être inversées, et elles correspondent à l’entrée a du décodeur 3x8
• Les zones grises de la table de vérité montrent le fonctionnement d’un décodeur 2x4 sans
ligne d’activation ; pour a=0, c’est le premier décodeur qui est activé, et pour a=1c’est le
deuxième. Les variables b, et c sont donc directement reliées aux entrées x et y des deux
décodeurs 2x4.
4 Les démultiplexeurs :
Un démultiplexeur est un circuit qui a une entrée de données, n entrées de sélection, et 2n
sorties. L’entrée de donnée E est transmise sur la sortie sélectionnée par une combinaison des
n lignes de sélection.
E DMUX 2n sorties
7
Chapitre de rappels Conception des Systèmes à Microprocesseurs
On remarque que le démultiplexeur possède un circuit identique à celui d’un décodeur avec ligne
d’activation, de même dimension. (E est la ligne d’activation, et les entrées de sélection sont les
entrées du décodeur).
La différence réside uniquement dans la fonction des circuits :
• Le décodeur est utilisé pour contrôler d’autres circuits (activer, désactiver, sélectionner une
destination …)
• Le démultiplexeur est utilisé pour transporter une information, une donnée, dont la
valeur 0 ou 1 n’a pas d’influence sur son fonctionnement.
5 Les multiplexeurs :
Un multiplexeur possède 2n entrées de données, n lignes de sélection et une seule sortie. Chaque
combinaison des n lignes de sélection choisit une seule entrée à transmettre en sortie.
S0 S1 S
E1
S 0 0 E1
E2
MUX 0 1 E2
E3
1 0 E3
E4
1 1 E4
sel
b- Table de vérité
n
a- Schéma bloc
S0 S1
o
E1 o
o
E2 S
E3 o
E4
c- circuit logique
8
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Les multiplexeurs sont souvent utilisés pour la sélection de source de données, alors que les
décodeurs le sont pour la sélection de destination. Dans les chapitres suivants, nous
considérerons que ces circuits existent sous forme intégrée, et que nous n’aurons pas à les
construire.
6 Les buffers à 3 états :
Un buffer à trois états possède une entrée, une sortie, et une ligne d’activation.
• Si la ligne d’activation est égale à 1, la sortie prend l’état de l’entrée , 0 ou 1.
act
act
E S S
E
Un buffer à 3 états est équivalent à un interrupteur qui peut être soit ouvert, soit fermé.
E1
E2 S
E1
E2 S E3
E3 MUX E4
E4
sel
sel 2 DCD
2
2x4
Le décodeur 2x4 assure qu’un seul buffer à 3 états peut être activé à la fois (donc pas de
conflits à la sortie des buffers).
Pour chacune des combinaisons des deux lignes de sélection, un seul buffer est activé, son
entrée est transmise vers la sortie S, et les autres buffers fonctionnent en circuit ouvert.
9
Chapitre de rappels Conception des Systèmes à Microprocesseurs
1 Les bascules :
- La bascule RS
S R Q+ QQ+ S R
R Q 00 Q 00 0X
H 01 0 01 10
S Q 10 1 10 01
1 1 -- 11 X0
a- Schéma bloc b-table d’état c-table d’excitation
- La bascule JK
QQ+ JK
JK Q+ 00 0X
J Q 00 Q
- H
La bascule D 01 1X
01 0 10 X1
K Q 10 1 11 X0
11 Q
La bascule D
QQ+ D
+
D Q D Q 00 0
H 0 0 01 1
Q 10 0
1 1
11 1
a- Schéma bloc b- Table d’état c- Table d’excitation
- La bascule T
QQ+ T
T T Q+
00 0
0 Q 01 1
1 Q 10 1
11 0
a- Schéma bloc
b- Table d’état c- Table d’excitation
10
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Les bascules sont utilisées à la base de tous les circuits séquentiels classiques, constitués de
bascules (dont le nombre, k, dépend du nombre d’états, < à 2k , du système), et d’un circuit
combinatoire qui contrôle les entrées des bascules (donc leurs changements d’états), et fournit
les sorties du système.
J Q
Entrées secondaires H
K Q
Entrées primaires Circuit Sorties
combinatoire
J Q
H
K Q
11
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Une bascule maître esclave est constituée d’une bascule maître, d’une bascule esclave, et d’un
inverseur connectés comme suit:
Y
H S Q S Q
R Q R Q
Y
Schéma bloc de la
bascule maître esclave
Quand l’horloge H est égale à 1: les valeurs en entrée de S et R sont transmises à la bascule
maître.
Quand l’horloge H est égale à 0: la bascule maître est désactivée. La bascule esclave est
activée, et elle copie la valeur Y (l’état de la bascule maître) .
La bascule maître esclave ne change d’état qu’au front descendant de l’horloge. Cette
propriété importante permet les échanges inter registres, et les transferts simultanés, qui
peuvent être effectués en une impulsion d’horloge; sans les bascules maître esclaves, ces
transferts nécessiteraient des registres intermédiaires, et 3 impulsions d’horloge.
3 Les registres:
Les registres possédant la fonction de chargement parallèle sont les plus souvent utilisés dans
les ordinateurs.
Les registres à décalage à gauche ou à droite avec entrée série, sont nécessaires aux opérations
série, et de décalage.
12
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Ceci nous permet de déterminer les entrées et sorties de la RAM comme suit:
13
Chapitre de rappels Conception des Systèmes à Microprocesseurs
14
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Chaque bit est stocké dans une cellule de base (CB). En se basant sur le fonctionnement de la
RAM , on peut déduire les propriétés suivantes pour une CB:
Elle possède en entrée :
Une ligne d’activation ou de sélection sel
Une ligne d’entrée de donnée D
Une ligne de commande d’écriture écrit
Une ligne de commande de lecture lect
D Elle possède en sortie :
lect S Une sortie de donnée S
CB
ecrit Si la cellule est sélectionnée en lecture, son
sel contenu apparaît sur sa sortie S
Si la cellule est sélectionnée en écriture, la
donnée présente à l’entrée D, y est
stockée.
Cellule de base : schéma bloc Hypothèse : une CB non sélectionnée en
lecture a une sortie nulle.
D’après les propriétés d’une RAM , un mot est utilisé en entier (tous ses bits) en
lecture ou en écriture. Les CB d’un même mot sont donc sélectionnées en même
temps, en lecture, ou en écriture.
Une RAM 8x3 est de 8 mots donc k lignes d’adresse telles que: 2k=8; donc k=3. A0,
A1, A2
Un mot doit être activé à la fois, et par une adresse unique; on utilise donc un décodeur
3x8 pour activer un seul mot en décodant son adresse.
Chaque mot possède 3 bits , la Ram a donc 3 lignes de données en entrée: D0, D1, D2
Quand un mot est sélectionné en écriture sa cellule CB0 reçoit l’entée D0, CB1 reçoit,
D1, et CB2 reçoit D2
Quand un mot est sélectionné en lecture, chaque Si reçoit un parmis 8 Cbi sélectionné
par un MUX 8x1, contrôlé par les Ai
15
Chapitre de rappels Conception des Systèmes à Microprocesseurs
16
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Chapitre 1 Rappels
Adresse Contenu
A0 A1 A2 mot S0 S1 S2 S3 S4
0 0 0 m1 0 0 1 0 0
0 0 1 m2 0 1 0 1 1
0 1 0 m3 1 1 1 1 1
0 1 1 m4 0 0 1 0 0
1 0 0 m5 0 0 0 0 0
1 0 1 m6 1 0 0 1 0
1 1 0 m7 0 1 1 1 1
1 1 1 m8 1 0 0 1 0
17
Chapitre de rappels Conception des Systèmes à Microprocesseurs
x
x S0
x
xx
S1
Contenu x
m1
mot S0 S1 S2 S3 S4 A0 m2
x
m3
m1 0 0 1 0 0 A1 DCD m4
m5
xx S2
m6
m2 0 1 0 1 1 A2 3x8 m7 x
m8
m3 1 1 1 1 1
xx
m4 0 0 1 0 0 S3
m5 0 0 0 0 0 xx
x
m6 1 0 0 1 0
m7 0 1 1 1 1 x x S4
m8 1 0 0 1 0 x
18
Chapitre de rappels Conception des Systèmes à Microprocesseurs
I. Introduction
L’ordinateur est défini comme un ensemble d’équipements électroniques permettant le
traitement d’informations par l’exécution de programmes; les programmes étant des
ensembles d’instructions.
Une instruction spécifie une opération et les paramètres sur lesquels elle est exécutée. Les
données à traiter pouvant être dans des registres, la mémoire centrale, ou provenir des
périphériques, chaque instruction peut nécessiter plusieurs impulsions d’horloge pour être
réalisée. L’opération exécutée pendant chaque impulsion d’horloge est dite micro opération.
L’organisation interne d’un système digital, qu’il soit à utilisation générale ou spécialisée, est
définie par:
La séquence de micro opérations qu’il réalise, sur les données stockées dans ses différents
registres.
L’unité centrale de traitement, constituée comme indiqué précédemment de l’unité centrale
et de la mémoire centrale, est entièrement définie par les micro opérations initiées à chaque
impulsion d’horloge par les instructions contenues dans les programmes.
Dans ce chapitre, sera introduite et définie, la notion, très importante, du langage de transfert
inter registre (LTR), qui est un langage symbolique de description hard du circuit, support
de l’exécution d’une micro opération. En effet, la description en LTR de toutes les micro
opérations pouvant être exécutées dans une unité centrale, permet de construire celle ci de
façon modulaire, et complète. Auparavant l’unité centrale de traitement, et le principe
d’exécution d’un programme sont présentés. La fin du chapitre montre comment les fonctions
de contrôle et les signaux de synchronisations, qui activent l’exécution des micro
opérations, sont générés.
19
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Mémoire
centrale
Unité
centrale
Organes
d’E/S
Le programme à exécuter, constitué d’un ensemble d’instructions, est initialement stocké sur
une unité de mémoire auxiliaire (disque dur, disquette, CD ROM …).
Ce programme est d’abord copié dans la mémoire centrale, où il sera exécuté instruction par
instruction
Mémoire centrale<-Programme
L’unité de contrôle
envoie les ordres à
Exécution de l’instruction par l’unité
l’unité de traitement
de traitement
20
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Chaque instruction est lue de la mémoire centrale vers le registre d’instruction. l’unité de contrôle la
décode, et envoie les fonctions de contrôle (commandes) vers l’unité de traitement qui les exécute.
Ceci est en fait une description simplifiée de l’exécution d’une instruction. Les architectures
de processeurs classiques prévoient dans la réalité, une organisation de l’unité de traitement
plus ou moins standard, qui influera sur le déroulement de l’exécution d’une instruction.
- Eléments de base de l’unité de traitement :
Unité centrale
PC Unité de traitement
MAR
MDR UAL
Mémoire
RI centrale
R0
Rn
Unité de contrôle
Unité de contrôle
L’étude de l’étape de lecture de l’instruction dans le registre d’instructions, nous montre déjà
que l’opération nécessite plusieurs impulsions d’horloge, vu qu’il est impossible de lire
l’instruction si son adresse n’est pas d’abord activée (MAR<-(PC)), et qu’il est impossible de la
21
Chapitre de rappels Conception des Systèmes à Microprocesseurs
stocker dans le registre d’instruction RI, si elle n’a pas été lue de la mémoire dans le
registre de données.
• L’exécution d’une instruction se fait en plusieurs étapes, appelées cycles (cycle de lecture,
cycle de préparation, cycle d’exécutions…)
• Chaque cycle comporte plusieurs impulsions d’horloge ordonnées (les ti), durant
lesquelles des opérations précises doivent être exécutées.
cycle
t0 t1 t2 t3
Quand l’instruction est chargée dans le registre d’instruction, l’unité de contrôle la décode, et
transmet les ordres qui en découlent à l’unité de traitement qui exécute.
22
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Arithmétique
Logique
De décalage
D’entrée/sortie.
Ces opérations, quand elles sont exécutées en une impulsion d’horloge sont appelées micro
opérations.
Dans ce qui suit, nous exposons le langage de transfert inter registre qui est une description
hard du support matériel qui permet d’exécuter les micro opérations spécifiques à chaque
impulsion d’horloge.
Le LTR est un langage symbolique qui permet de décrire le support matériel d’exécution de
séquences de micro opérations initiées par chaque instruction d’un processeur, en spécifiant :
• La séquence de micro opérations réalisées sur l’information binaire stockée dans ces
registres.
• Les fonctions de contrôle qui activent les micro opérations nécessaires à l’exécution de
toute instruction
1 8
A A
A1 A2 A8 OP ADR
La représentation d’un registre est choisie en fonction de l’usage que l’on fait du schéma bloc,
ou logique, et du degré de détails que l’on doit y fournir position de bit, décalage, parties
fonctionnelles d’un registre…
23
Chapitre de rappels Conception des Systèmes à Microprocesseurs
P
Unité de L A
contrôle
P
Unité de L A
contrôle
L B
• L’information de la source est reconduite vers la source pour ne pas être perdue.
• Le même décalage, gauche ou droite, est choisi pour les deux registres.
En LTR on écrit :
S : A ← (B), B ← (B), le signal de contrôle S dure n impulsions d’horloge.
Ou
De façon plus précise :
S : A1 ← Bn, B1 ← Bn, Ai ← Ai-1, Bi ← Bi-1, i = 2 à n, transfert par décalage à
droite, bits numérotés comme indiqué sur le schéma, et s dure n impulsions d’horloge.
Es
S A1 A2 An
dec
Es
B1 B2 Bn
dec
R1 R2 R3
S1 S2 S3
Ligne de bus, une
R1 R2 R3 pour chaque bit
S6 S5 S4
25
Chapitre de rappels Conception des Systèmes à Microprocesseurs
1. Sélection de la source :
Il y a 5 registres source possibles, donc il faut 3 lignes de sélection S0, S1, S2, telles que :
S0 S1 S2 Source
0 0 0 R1
0 0 1 R2
0 1 0 R3
0 1 1 R4
1 0 0 R5
Il y a 4 bits par registre, donc 4 bits à transférer, donc il faut 4 lignes de bus. Chaque ligne est
construite en utilisant un multiplexeur
Il faut 4 multiplexeurs : le multiplexeurs i choisit un parmi 5 bits de position i provenant des
5 registres potentiellement source.
Les 4 bits d’un même registre doivent être sélectionnés en même temps pour son transfert
vers sa destination, par conséquents tous les multiplexeurs doivent avoir les mêmes entrées de
sélection.
2. Sélection de la destination :
Il y a 5 registres destination possibles, donc il faut 3 lignes de sélection D0, D1, D2, telles que
:
D0 D1 D2 Destination
0 0 0 R1
0 0 1 R2
0 1 0 R3
0 1 1 R4
1 0 0 R5
L’information de 4 bits provenant du registre source sélectionné, et se trouvant sur les
lignes de bus, est reliée aux entrées parallèles de tous les registre, seul le registre
destination sélectionné, est chargé par activation de son entrée de chargement.
26
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Les entrées de chargement des registres destination sont commandées par un décodeur
aux entrées D0, D1, D2, puisqu’une seule de ses sorties est égale à 1 à la fois, et qu’on a
besoin de charger un seul registre.
D0
D1 DCD
D2
L1 R1 L2 R2 L3 R3 L4 R4 L5 R5
S0 S0 S0 S0
S1 MUX S1 MUX S1 MUX S1 MUX
S2 S2 S2 S2
2. Sélection de la destination :
Pour la sélection de la destination, le raisonnement est identique, ainsi que le circuit.
D0
D1 DCD
D2
L1 R1 L2 R2 L3 R3 L4 R4 L5 R5
S0 DCD
S1
S2 3x8
Ligne 1
Ligne 2
Ligne 3
Ligne 4
Les lignes de sélection des sources et des destinations proviennent de l’unité de contrôle
Les micro opérations arithmétiques de base les plus fréquentes, peuvent être résumées dans le
tableau ci dessous :
28
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Les micro opérations d’addition parallèles entre deux registres à n bits sont exécutées par un
additionneur complet parallèle à n bits (seul, ou intégré dans une unité arithmétique et logique
UAL).
L’additionneur à n bits est constitué de n additionneurs complets à 1 bit reliés en cascade.
R1 R2
Rs FA FA FA FA Re
S4 S3 S2 S1
Dans les trois cas les registres sources sont des registres disposant de sorties parallèles, et le
registre destination un registre à chargement parallèle. Une UAL, ou un additionneur parallèle
peuvent être choisis pour exécuter l’opération d’addition parallèle.
P
L A B
P
L A B Retenue en
sortie
Retenue en sortie Retenue en entrée Retenue en
Sélection de entrée
Additionneur // à n bits
l’addition
29
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Ainsi, on peut exécuter les opérations logiques suivantes sur deux bits Ai et Bi donnés :
16 fonctions logiques sont ainsi définies et peuvent être exécutées sur deux bits donnés ;
certaines ont des appellations connues, comme F1 : mise à zéro ou reset, , F2 : ET, F7 : XOR,
F15 : OR, F16 mise à 1 ou SET.
- Application:
Réaliser un registre A à 4 bits, capable d’exécuter les opérations logiques suivantes décrites
en LTR, en utilisant des bascules JK.
P1 : A ← A ⊕ B ; ou exclusif
P2 : A ← B ; transfert
P3 : A ← A ∧ B ; ET
P4 : A ← Ā ; NOT
P5 : A ← 0 ; mise à zéro (reset)
Le registre B contient le deuxième opérande mais n’est jamais modifié. Seul le registre A
reçoit le résultat et subit des modifications. On réalisera donc le circuit du registre A
Toutes ces opérations sont logiques ; par conséquent, il suffit de réaliser le circuit pour le bit
de position i et de le dupliquer 4 fois.
Pour le bit Ai, il s’agit de construire un circuit séquentiel possédant 2 états possibles, 0 ou 1 .
La partie séquentielles du circuit est constituée donc d’une seule bascule, dont les entrées J et
K sont contrôlées par la partie combinatoire du circuit, qui est à déterminer.
Circuit
combinatoire J Q
Entrée secondaire
Entrées primaires K Q
30
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Dans notre cas l’entrée secondaire est Ai et les entrées primaires sont : Bi, P1, P2, P3, P4, et
P5.
Les étapes habituelles à suivre consistent à dresser la table d’état, puis d’en déduire la table de
transition, puis le circuit de contrôle des entrées J et K de la bascule.
On remarque qu’avec les 6 entrées primaires, et l’entrée secondaire, la table d’état posséderait
128 entrées ou lignes, ce qui prendrait beaucoup de temps à traiter, et introduirait des erreurs.
On procède donc de la manière suivante :
Pour chaque fonction de contrôle Pj activée (les autres ne pourraient certainement pas l’être),
on dresse la table d’état, la table de transition, et on déduit les entrées de la bascule Jj, et Kj.
Les valeurs finales, respectives de J et K seront alors :
Ai Bi Ai+ J K Ai Bi Ai+ J K
0 0 0 0 X 0 0 0 0 X
0 1 1 1 X 0 1 1 1 X
1 0 1 X 0 1 0 0 X 1
1 1 0 X 1 1 1 1 X 0
J1= Bi J2= Bi
K1= Bi K2= Bi
Ai Bi Ai+ J K Ai Bi Ai+ J K
0 0 0 0 X 0 0 1 1 X
0 1 0 0 X 0 1 1 1 X
1 0 0 X 1 1 0 0 X 1
1 1 1 X 0 1 1 0 X 1
J3= 0 J4= 1
K3= Bi K4= 1
Ai Bi Ai+ J K
0 0 0 0 X J= P1Bi+P2Bi+P4
0 1 0 0 X
K= P1Bi+P2Bi+P3Bi+P4+P5
1 0 0 X 1
1 1 0 X 1
31
Chapitre de rappels Conception des Systèmes à Microprocesseurs
32
Chapitre de rappels Conception des Systèmes à Microprocesseurs
1. Méthodes de conception :
Actuellement la méthode la plus utilisée dans la génération des fonctions de contrôle
consiste à combiner les ordres contenus dans les instructions, avec des signaux de
synchronisation, et des conditions de contrôle préalablement définies. L’approche de la
conception est modulaire et synchronisée.
L’inconvénient majeur de cette méthode reste le nombre important de portes logiques et de
bascule (partiellement éliminé grâce aux capacités d’intégration de plus en plus grandes).
Ses principaux avantages sont la détection facile des pannes, et la standardisation de la
méthodologie de conception qui a permis le développement de langages de programmation
de circuits (tels que le VHDL), et donc de conception assistée par ordinateurs.
Une seconde méthode, qui consiste à utiliser le principe d’analyse et de synthèse des
circuits séquentiels (diagramme d’état, table d’état, tables de transitions,…), permettrait
d’obtenir un circuit minimisé si elle était développée correctement.
Le trop grand nombre d’états, et de variables à manipuler entraîne des difficultés pratiques
dans la conception, et la réalisation des circuits par cette méthode. Il est difficile pour le
concepteur de déduire de façon précise toutes les séquences et fonctionnement du système, et
donc de poser le problème, ou de repérer une panne (contrairement à la conception modulaire
de la première méthode).
La troisième méthode utilise le contrôle micro programmé ou une mémoire de contrôle.
Dans ce cas une partie de la mémoire (généralement de la ROM) est utilisée comme unité de
contrôle (au lieu d’un circuit combinatoire). On y stocke les bits (0 et 1) des fonctions de
contrôle de tous les registres, celles ci sont envoyées selon les besoins vers l’unité de
traitement. Consommant un nombre de portes et de bascules moins importants que les deux
méthodes précédentes, cette méthode est très efficace, on notera cependant sa lenteur par
rapport à ces dernières.
Ainsi si le nombre d’impulsions d’un cycle est 4, il sera nécessaire de générer 4 signaux de
synchronisation T0,T1, T2, T3, tels que :
T0
T1
T2
T3
33
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Le compteur en anneau : c’est un registre à décalage dont un seul bit est allumé (mis à 1)
à la fois. Son entrée de décalage est mise à un et le bit sortant est relié à son entrée série de
sorte qu’il effectue un décalage circulaire en permanence, tant qu’il est alimenté par l’horloge.
1 0 0 0
T0 T1 T2 T3
• Exemple pour 4 signaux de synchronisation.
• Séquence initiale : 1000
• Le bit unique est décalé d’une position vers la suivante pour générer les signaux de
synchronisation
Le compteur et le décodeur : les sorties d’un compteur binaire progressif à deux bits,
alimenté par une horloge, sont reliées aux entrées d’un décodeur 2x4. Les signaux de
synchronisation apparaissent aux sorties du décodeur, puisqu’à chaque impulsion d’horloge le
compteur génère la combinaison suivante à l’entrée du décodeur.
DCD 2x4
T0 T1 T2 T3
- simples :
F : A ← (B)
34
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Exemple :
FT1 : C ← C+1
FT2 : PC ← (PC)+1, si C=0 ; incrémenter PC si le compteur C = 0
FT1 :C ← C+1
FT2 C : PC ← (PC)+1
V. Conclusion:
Le langage de transfert inter registre, LTR, est un langage symbolique simple, qui permet de
décrire et de programmer en vue de le réaliser, le circuit de toute micro opération pouvant être
exécutée dans une unité centrale de traitement.
35
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Organisations de processeurs
I. Introduction :
Les processeurs classiques diffèrent, dans leurs organisations, principalement par :
• Leurs structures de bus : données, adresse, contrôle, entrées/sorties
• L’organisation de leurs registres : un registre processeur principal, plusieurs registres
processeurs ou généraux, …
• Les modes d’adressage dont ils disposent
• Leurs répertoires d’instructions.
Suivant la puissance et la fonction du processeur que l’on désire concevoir, on choisira une
organisation spécifique pour répondre aux besoins formulés. Par exemple :
Plus de registres destinés à contenir les données et les résultats de traitement pour diminuer
le transfert d’information entre la mémoire, et l’unité centrale,
Plus d’instructions spécialisées pour minimiser la taille des programmes, et le temps
d’exécution,
Un seul registre accumulateur, si le temps d’exécution est moins important que la simplicité
du circuit…
Nous présentons dans ce qui suit les différents aspects des différentes organisations de
processeurs classiques.
• Des bus partiellement multiplexés : Seuls deux ou trois types d’informations utilisent le
même bus toujours selon le même principe que celui énoncé pour le bus unique . Par exemple
36
Chapitre de rappels Conception des Systèmes à Microprocesseurs
les lignes d’adresse et de données partagent les mêmes lignes comme c’est le cas pour le
microprocesseur Intel 8085.
• Des bus totalement séparés : Dans ce cas des registres internes (non accessibles aux
programmeurs), dédiés, de données MDR, d’adresse MAR, d’entrées/sorties INPR, et OUTR,
d’état, de contrôle, … sont utilisés pour gérer les différents bus. Cette configuration est la plus
courante, quand le degré d’intégration du circuit le permet. Ces registres internes ne sont pas
concernés par l’organisation des registres processeurs chargés de contenir les données à
traiter, et les résultats de traitement, organisation développée dans ce qui suit.
AC MDR
b) Format de l’instruction :
Puisque le premier opérande se trouve toujours dans AC, le format d’une instruction aura la
structure suivante :
37
Chapitre de rappels Conception des Systèmes à Microprocesseurs
• Pour les opérations à un seul opérande, l’instruction doit spécifier uniquement le code de
l’opération à exécuter, et sera une instruction à zéro zone d’adresse.
OP
• Pour les instructions à deux opérandes, l’instructions doit spécifier le code de l’opération
et l’adresse du deuxième opérande (le premier opérande, et le résultat devant se trouver dans
AC), et sera par conséquent une instruction à une seule zone d’adresse.
OP ADR
Des variantes, de processeurs possédant une architecture basée sur une organisation à
accumulateur, existent. On peut avoir par exemple des processeurs à deux accumulateurs,
comme le Motorola 6809.
38
Chapitre de rappels Conception des Systèmes à Microprocesseurs
b) Format de l’instruction :
Le format d’une instruction pour un processeur à registres généraux peut être
• à deux zones d’adresse si la destination est aussi source A.
exemple :
ADD R1, R5 ; R1 (R1) + (R5)
OP ADR1 ADR2
c) Application :
Donner la structure de l’unité de traitement d’un processeur possédant 10 registres généraux
à 8 bits, pouvant tous être source A, source B ou destination, en utilisant des buffers à 3 états:
- sélectiondelasourceA:
• Il existe 10 sources possibles, donc 4 lignes de sélection : a0, a1, a2, a3
• Les registres sont à 8 bits, donc on a 8 lignes de bus
• Chaque registre a besoin de 8 buffers à 3 états pour communiquer avec l’entrée A de
l’UAL, s’il est sélectionné comme source A par les lignes de sélection ; un seul
registre pouvant être activé à la fois, on utilise un décodeur 4x16, dont seulement 10
sorties seront utilisées
a0 a1 a2 a3 Source A
0 0 0 0 R1
0 0 0 1 R2
0 0 1 0 R3
0 0 1 1 R4
0 1 0 0 R5
0 1 0 1 R6
0 1 1 0 R7
0 1 1 1 R8
1 0 0 0 R9
1 0 0 1 R10
39
Chapitre de rappels Conception des Systèmes à Microprocesseurs
- sélectiondelasourceB:
• Il existe 10 sources possibles, donc 4 lignes de sélection : b0, b1, b2, b3
• Les registres sont à 8 bits, donc on a 8 lignes de bus
• Chaque registre a besoin de 8 buffers à 3 états pour communiquer avec l’entrée B de
l’UAL, s’il est sélectionné comme source B par les lignes de sélection ; un seul
registre pouvant être activé à la fois, on utilise un décodeur 4x16, dont seulement 10
sorties seront utilisées
b0 b1 b2 b3 Source B
0 0 0 0 R1
0 0 0 1 R2
0 0 1 0 R3
0 0 1 1 R4
0 1 0 0 R5
0 1 0 1 R6
0 1 1 0 R7
0 1 1 1 R8
1 0 0 0 R9
1 0 0 1 R10
- sélectiondeladestinationC:
• Il existe 10 destinations possibles, donc 4 lignes de sélection : c0, c1, c2, c3
• Les registres sont à 8 bits, donc on a 8 lignes de bus. La ligne i va de la sortie i de
l’UAL vers toutes les entrées i des 10 registres. Seul le registre dont l’entrée de
chargement sera activée, recevra le résultat du calcul de l’UAL
• on utilise un décodeur 4x16, dont seulement 10 sorties seront utilisées, afin d’activer
l’entrée de chargement Li (une seule à la fois) des registres
c0 c1 c2 c3 Destination C
0 0 0 0 R1
0 0 0 1 R2
0 0 1 0 R3
0 0 1 1 R4
0 1 0 0 R5
0 1 0 1 R6
0 1 1 0 R7
0 1 1 1 R8
1 0 0 0 R9
1 0 0 1 R10
40
Chapitre de rappels Conception des Systèmes à Microprocesseurs
Bus A Bus B
1 8
L R1
A B
1 8
L R10
41
Chapitre de rappels Conception des Systèmes à Microprocesseurs
mémoire
opérande
mémoire
Registre
opérande
42
Chapitre de rappels Conception des Systèmes à Microprocesseurs
b) indirect mémoire:
mémoire
Y Opérande
Registre index
+ opérande
Ce mode est un mode d’adressage indexé, mais comme plusieurs registres d’index peuvent
être utilisés, une nouvelle zone est ajoutée dans le format de l’adresse pour choisir un des
registres index.
OP M RX N
43
Chapitre de rappels Conception des Systèmes à Microprocesseurs
OP M N
mémoire
Instructiondesaut
PC
+ instruction
OP M N Adresses calculées
pour (RE) =00
N Adresses calculées
pour (RE) =00
Adresses calculées
pour (RE) =00
mémoire
Le contenu de la zone d’adresse N , est concaténé avec le contenu d’un registre d’extension
d’adresse RE pour le calcul des différentes adresses. L’exemple ci-dessus montre un registre
d’extension de 2 bits. On remarque que :
- la taille de la mémoire adressée est multipliée par 4 (augmentation matérielle ou
virtuelle de la mémoire)
- chaque zone peut être réservée à une application, ou à un utilisateur
- la relocation de programme peut être facilement exécutée sans risque de
chevauchement d’applications
44
Chapitre de rappels Conception des Systèmes à Microprocesseurs
OP M N Adresses calculées
Application1
pour (RB) =valeur1
Adresses calculées
Registre de base Application2
pour (RB) =valeur2
mémoire
Le contenu de la zone d’adresse N , est ajouté au contenu d’un registre de base RB pour le
calcul des différentes adresses. Pour chaque valeur du registre de base des zones de la
mémoire sont définies:
- chaque zone peut être réservée à une application, ou à un utilisateur, pour les
programmes et les données.
- la relocation de programme peut être facilement exécutée sans risque de
chevauchement d’applications
Ce genre d’adressage a permis le développement des logiciels à multi fenêtrage comme
Microsoft Windows, grâce à la structure du microprocesseur 8086, puis 80286… .
En effet ce mode d’adressage est illustré sur ces microprocesseurs par l’existence des
registres segment (les appellations des modes d’adressages peuvent différer d’un constructeur
à l’autre).
Ces modes d’adressage sont une combinaison du mode d’adressage indexé, et indirect :
a) Mode d’adressage pré indexé (indexé puis indirect):
Registre index
+ Y
opérande
Y
Registre index
opérande
+
D’autres modes d’adressage existent ; certains sont plus complexes, d’autres sont la
combinaison de plusieurs modes d’adressage de base, d’autres portent simplement des noms
différents.
46
Chapitre de rappels Conception des Systèmes à Microprocesseurs
déterminer statistiquement les instructions les plus utilisées, et d’en implanter le circuit. Le
résultat fut assez concluant, et les processeurs RISC très performants.
Cependant, pour un gain plus important en puissance, un compromis entre les processeurs
RISC et CISC fut choisi pour la réalisation des processeurs puissants actuels, consistant en la
combinaison de ces deux types de processeurs : les instructions les plus utilisées sont
implantées sur circuit, alors que d’autres, relativement moins utilisées, sont stockées sous
forme de programme dans une mémoire à l’intérieur même du circuit intégré du
microprocesseur ; ce sont des microprogrammes.
47