conception de circuits numériques et architecture des … ·  · 2014-09-03construction de...

21

Upload: lamlien

Post on 23-Apr-2018

223 views

Category:

Documents


3 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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