conception de circuits numériques et architecture des … · · 2014-09-03construction de...
TRANSCRIPT
![Page 1: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/1.jpg)
Conception de circuits numériques
et architecture des ordinateurs
Frédéric Pétrot
Année universitaire 2014-2015
![Page 2: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/2.jpg)
Conception de circuits numériques et architecture des ordinateurs
Structure du cours
C1 Codage des nombres en base 2, logique booléenne,portes logiques, circuits combinatoires
C2 Circuits séquentielsC3 Construction circuits complexesC4 Micro-architecture et fonctionnement des mémoiresC5 Machines à étatC6 Synthèse de circuits PC/POC7 Optimisation de circuits PC/POC8 Interprétation d'instructionsC9 Interprétation d'instructions
C10 Interprétation d'instructionsC11 Introduction aux caches
2 / 21
![Page 3: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/3.jpg)
Conception de circuits numériques et architecture des ordinateurs
Intérêt
Intérêt
Mécanisme de base de construction des processeurs jusqu'au milieudes années 80.Encore fort utilisé pour des objets à faible consommation et granderentabilité (montre, calculatrice, ...)
3 / 21
![Page 4: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/4.jpg)
Conception de circuits numériques et architecture des ordinateurs
Plan
Plan détaillé du cours d'aujourd'hui
1 Construction de circuitsIntroductionApproche microprogrammée
4 / 21
![Page 5: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/5.jpg)
Conception de circuits numériques et architecture des ordinateurs
Construction de circuits
Plan
1 Construction de circuitsIntroductionApproche microprogrammée
5 / 21
![Page 6: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/6.jpg)
Conception de circuits numériques et architecture des ordinateurs
Construction de circuits
Introduction
Introduction
Problématique :
Implantation matériel d'un algorithme
Solution générale :
Signaux de testSignaux de contrôle
Partie opérative
Partie contrôle
Contrôle
Données
Horloge
6 / 21
![Page 7: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/7.jpg)
Conception de circuits numériques et architecture des ordinateurs
Construction de circuits
Introduction
Introduction
Partie contrôle :génère des commandes en fonction de signaux de testmachine à états
Partie opérative :ensemble d'opérateurs e�ectuant des opérations en fonctiondes commandesinterconnexion de registres, additionneurs, etc, sur n bits
Plusieurs approches :
Micro-programmées : notre cas
Cablées : optimisation du cas précédent, également vu
Pipelinée : plusieurs PC en actions simultanément, vu en 2A
etc ...
7 / 21
![Page 8: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/8.jpg)
Conception de circuits numériques et architecture des ordinateurs
Construction de circuits
Introduction
Introduction
Partie opérative (data-path) :
Entrées : données externes, autorisation d'écriture dans lesregistres, commandes de multiplexeurs, code opération pourles UAL
Sorties : donnéees externes, informations pour les prises dedécision de la partie contrôle
Contenu : registres, mémoires vives ou mortes, opérateursarithmétiques, multiplexeurs, bus
Partie contrôle (control part, FSM) :
Entrées : signaux de contrôle externes, signaux de test, horloge
Sorties : signaux de contrôle externes, commandes vers lechemin de données
Contenu : logique de génération de l'état et des sorties, doitgarantir que les dépendances de données sont bien respectées
8 / 21
![Page 9: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/9.jpg)
Conception de circuits numériques et architecture des ordinateurs
Construction de circuits
Approche microprogrammée
Principe
Principe
partitionner l'algorithme entre contrôle, PC, et calcul, PO
connecter PC et PO avec des �ls de contrôle et de test
Pour cela il faut :
1 identi�er les variables qui deviendront des registres
2 identi�er les opérations à e�ectuer entre variables et y associerdes opérateurs
3 construire les chemins de calculs, à l'aide de multiplexeurs
4 construire le séquencement de l'activation des chemins decalcul
9 / 21
![Page 10: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/10.jpg)
Conception de circuits numériques et architecture des ordinateurs
Construction de circuits
Approche microprogrammée
Choix d'architecture
La conception in�ue principalement sur le degré de parallèlisme :
nombre d'opérateurs
nombre de registres
complexité des opérateurs : nombre de lectures simultanéesdans un banc de registers, nombre d'entrées d'un multiplexeur,d'un opérateur arithmétique, etc
surface de silicium, longueur des chemins combinatoires,puissance consommée, etc
10 / 21
![Page 11: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/11.jpg)
Conception de circuits numériques et architecture des ordinateurs
Construction de circuits
Approche microprogrammée
Construction du chemin de données : registres
Identi�er les registres
Registres : Variables � conservant leur valeur � :
Relation implicite avec le séquencement prévu :variables lues et écrites dans le même cycle disparaissentExemple : x := a + b; y := x − c
si le � ; � est une frontière de cycle :x est un registretemps de calcul : additionneur à 2 entrées
si le � ; � n'est pas une frontière de cycle :x est un �ltemps de calcul : 2 × le temps de calcul précédent
11 / 21
![Page 12: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/12.jpg)
Conception de circuits numériques et architecture des ordinateurs
Construction de circuits
Approche microprogrammée
Construction du chemin de données : opérateurs
Identi�er les opérateurs
quels sont les opérations à e�ectuer ?
peut-on partager des opérateurs ?
Relation implicite avec le séquencement prévu :2 opérations identiques dans 2 cycles peuvent partager un opérateurS'il y a plusieurs opérateurs, il faut choisir lequel utiliserExemple : x := a + b; y := x − c
si le � ; � n'est pas une frontière de cycle :additionneur pour + et soustracteur pour −2 × add/sub pour + et − (dépend du contexte)
valeur de x !si le � ; � est une frontière de cycle :add/sub
12 / 21
![Page 13: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/13.jpg)
Conception de circuits numériques et architecture des ordinateurs
Construction de circuits
Approche microprogrammée
Construction du chemin de données : chemins
Construire les chemins de calcul
enchaîner les opérateurs
amener les registres et signaux sur les opérateurs à l'aide demultiplexeurs
Relation implicite avec le séquencement prévu :quels opérateurs chaîner, quelles entrées doivent être proposéesdevant les opérateurs ?
Exemple : x := a + b; y := x − csi le � ; � est une frontièrede cycle :entrée i0 de add/sub prendsoit a, soit xentrée i1 de add/sub prendsoit b, soit c
o
a
b
c
s0
s1
x
wex
y
wey
i0
i113 / 21
![Page 14: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/14.jpg)
Conception de circuits numériques et architecture des ordinateurs
Construction de circuits
Approche microprogrammée
Construction du séquencement
Séquencement
Dé�nition de l'ordre des commandes à appliquer sur la PODoit garantir le respect des dépendances de données
Allocation et séquencement sont interdépendantExemple : x := a + b; y := x − csi le � ; � est une frontière de cycle
1 choisir la valeur des selecteurs pour présenter a et b, autoriserl'écriture dans x
2 choisir la valeur des selecteurs pour présenter x et c, autoriserl'écriture dans y
si le � ; � n'est pas une frontière de cycle
1 autoriser l'écriture dans y
14 / 21
![Page 15: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/15.jpg)
Conception de circuits numériques et architecture des ordinateurs
Construction de circuits
Approche microprogrammée
Exemple
Algorithme cordic 1
Data : trois variables a, b et c. On a de plus un tableau t de 30 constantes
Result : trois variables X, Y et Z donnant respectivement
X := (x cos(z)−y sin(z))Kc
, Y := (x cos(z)+y sin(z))Kc
et Z := 0, ou Kc = csteX := a;Y := b;Z := c;for i := 0 to 29 do
x := X2i ; y := Y
2i ; z := t[i];if Z > 0 then
X := X − y;Y := Y + x;Z := Z − z;else
X := X + y;Y := Y − x;Z := Z + z;end if
end for
1. J.E. Volder, "The Cordic Trigonometric Computing Technique", IRE Transactions
on Electronic Computers, sept. 1959, p. 330-33415 / 21
![Page 16: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/16.jpg)
Conception de circuits numériques et architecture des ordinateurs
Construction de circuits
Approche microprogrammée
Exemple : registres
Identi�cation des registres
1 X := a;Y := b;Z := c;2 for i := 0 to 29 do
3 x := X2i; y := Y
2i; z := t[i];4 if Z > 0 then
5 X := X − y;6 Y := Y + x;7 Z := Z − z;8 else
9 X := X + y;10 Y := Y − x;11 Z := Z + z;12 end if
13 end for
si � ; � frontière de cycle ligne 3 :x, y, X, Y, Z (z inutile car i nechange pas dans boucle)
si � ; � non frontière de cycle lignes3, 5, 6, 7, 9, 10, 11 : X, Y, Zmise en évidence du parallélismepotentiel des a�ectations
note : i, variable de la boucle for,sera produite ici par l'automate
16 / 21
![Page 17: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/17.jpg)
Conception de circuits numériques et architecture des ordinateurs
Construction de circuits
Approche microprogrammée
Exemple : opérateurs
Identi�cation des opérateurs
1 X := a;Y := b;Z := c;2 for i := 0 to 29 do
3 x := X2i; y := Y
2i; z := t[i];4 if Z > 0 then
5 X := X − y;6 Y := Y + x;7 Z := Z − z;8 else
9 X := X + y;10 Y := Y − x;11 Z := Z + z;12 end if
13 end for
ligne 3 : décaleur à droite de ipositions décaleur a
ligne 4 : comparateur de supérioritéà zéro drapeau opérateur ouopérateur spéci�que
ligne 5 à 11 : max 2 additionneurset 2 soustracteurs, min 1 add/sub
note : pas d'incrémenteur de i,parcours de l'automate
a. Barrel shifter.
17 / 21
![Page 18: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/18.jpg)
Conception de circuits numériques et architecture des ordinateurs
Construction de circuits
Approche microprogrammée
Exemples : chemins
On prend une architecture très séquentielle :
Y
weYsY
sZ
sX
o
i1
i0
si1
si0
x
wex
y
wey
issa
b
c
0
Z
weZ
X
weX
zero
t
i
opcode
sign
Signaux verticaux issus de la partie contrôle18 / 21
![Page 19: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/19.jpg)
Conception de circuits numériques et architecture des ordinateurs
Construction de circuits
Approche microprogrammée
Exemples : instructions
On prend une architecture très séquentielle :
o
i1
i0
si0
si1
a
sX = 1weX = 1sY = 1
weY = 1sZ = 1
weZ = 1i = 0 sX = 1
weX = 1sY = 1
weY = 1sZ = 1
weZ = 1i = 0
x
y
z
0
i
opcodesX
Y
weYsY
sZ
Z
weZ
X
weX
Start
Idle
si = −wei = 0
S0
Signaux verticaux issus de la partie contrôle
19 / 21
![Page 20: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/20.jpg)
Conception de circuits numériques et architecture des ordinateurs
Construction de circuits
Approche microprogrammée
Exemples : séquencement
1 X := a;Y := b;Z := c;2 for i := 0 to 29 do
3 x := X2i; y := Y
2i; z := t[i];4 if Z > 0 then
5 X := X − y;6 Y := Y + x;7 Z := Z − z;8 else
9 X := X + y;10 Y := Y − x;11 Z := Z + z;12 end if
13 end for
automate non optimisé au tableau
sorties automate précisées danschaque état
état Idle attente démarrage
état Start ligne 1
partie automate répétée 30 foispour la boucle forest-ce plus ou moins couteux qu'unregistre avec un incrémenteur et uncomparateur ?
état avec 2 successeurs ligne 4
état avec 2 prédécesseurs ligne 12
20 / 21
![Page 21: Conception de circuits numériques et architecture des … · · 2014-09-03Construction de circuits Introduction Introduction ... n'est pas une frontière de cycle : additionneur](https://reader034.vdocuments.net/reader034/viewer/2022051801/5add6c057f8b9aeb668ce9c3/html5/thumbnails/21.jpg)
Conception de circuits numériques et architecture des ordinateurs
Construction de circuits
Approche microprogrammée
Conclusion partielle
Synthèse PC/PO :
technique systématique
peut se faire sous contrainte
de ressources : surface de silicium liée aux opérateurs mais
aussi aux multiplexeurs
de temps : choix entre séquentialité et parallèlisme, in�ue
fortement sur les ressources
technique complexe : il faut faire des choix di�ciles
peut être automatisée 2 :synthèse dite d'architecture ou de haut niveau(Architectural Synthesis or High-Level Synthesis 3)tous les problèmes sont non polynomiaux, ...
2. Premières tentatives autour de 1980
3. High-Level Synthesis : from Algorithm to Digital Circuit, P. Coussy and A.
Morawiec, editors, Springer, 200821 / 21