Architecture des ordinateurs cours 2 Structure d’un ordinateur : registres, UAL, bus

30
Architecture des ordinateurs cours 2 Structure d’un ordinateur : registres, UAL, bus Agata Savary, IUT de Blois, Département GTR, 1 e année, 2004-2005

description

Architecture des ordinateurs cours 2 Structure d’un ordinateur : registres, UAL, bus. Agata Savary , IUT de Blois, D épartement GTR, 1 e année , 200 4 -200 5. Processeur. Unité de contrôle. Chemin de données. UAL. Registres. Processor (CPU). Structure d’un ordinateur simple. - PowerPoint PPT Presentation

Transcript of Architecture des ordinateurs cours 2 Structure d’un ordinateur : registres, UAL, bus

Page 1: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

Architecture des ordinateurs

cours 2

Structure d’un ordinateur :registres, UAL, bus

Agata Savary, IUT de Blois, Département GTR, 1e année, 2004-2005

Page 2: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 2

Structure d’un ordinateur

simple

Mémoire principale

Entrées

Unité de contrôle

Chemin de données

Processeur

Registres

UALSorties

Processor (CPU)

Control unit

Datapath

UAL = Unité Arithmétique et Logique (Arithmetic and Logic Unit = ALU)

ALU

Registers

Main memory Input devicesOutput devices

Bus

Page 3: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

Le processeur – couche matérielle(Sur l’exemple d’un simulateur de processeur JASPer)

JASPer - Just Another Simulated Processor

http://brittunculi.com/jasp/

Page 4: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 4

Processeur (Unité centrale, UC)

• Unité de contrôle (unité de commande) = “le cerveau” du processeur:– charge l’instruction courante située en mémoire– décode l’instruction (i.e. détermine le flux de données dans le chemin de

données)

• Chemin données = “les muscles” du processeur :– Une ou plusieurs UAL effectuent les opérations indiquées par l’instruction

(addition, décalage, etc.)– Les registres stockent les résultats temporaires :

• compteur de programme (program counter = PC) pointe la prochaine instruction• registre d’instruction (instruction register = IR) contient l’instruction en cours

d’exécution• nombreux registres généraux – stockent les résultats intermédiaires

– Les bus (internes) interconnectent les registres et l’UAL

Central processing unit (CPU)

Page 5: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 5

Processeur – example : JASPerCompteur de programme

Unité de contrôle

Registre d’instruction

UAL

Bus

Registres généraux

Page 6: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 6

Registres

Logique séquentielleSynchronisationRegistres JASPer

Page 7: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 7

Rappel sur les circuits logiques

On distingue 2 types de circuits (blocs) logiques :

• Circuits combinatoires = circuits sans mémoire :

– les sorties ne dépendent que des entrées courantes

– exemples : multiplexeur, démultiplexeur, codeur, décodeur, décaleur, additionneur, … (UAL)

• Circuits séquentiels = circuits avec mémoire :

– la mémoire (l’élément d’état) stocke l’état interne du circuit

– les sorties de tels circuits peuvent dépendre à la fois des entrées courantes et de l’état interne du circuit

– exemples d’éléments d’état : bascule RS, bascule D, flip-flop D

– exemples de circuits séquentiels : registre, compteur

Page 8: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 8

Rappel sur les horloges

période de l’horloge (temps du cycle)

frontmontant

1

0 temps

Fonctionnement idéal :

frontdescendant

Fonctionnement réel :

Durée du front non nulle,mais très courte

1

0

Page 9: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 9

Rappel sur le flip-flop

Flip-flop DExample de mise en

œuvre Interface

• Deux bascules D sont montées en série. Leurs entrées horloge sont opposées.

• L’état d’un bistable est stable (mémorisé) pendant un cycle d’horloge

• L’état peut changer (prendre la valeur de D) uniquement sur le front descendant de l’horloge.

Q2D2

CK2

D Q

CKFF

Q1D1

CK1

Flèche inversée :“contrôlé par le

front descendant”

Page 10: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 10

Communication asynchrone

• A partir de quel moment peut-on considérer que la sortie S est valable et peut être enregistrée ?

Il faut attendre au moins le temps égal au temps de traversée du circuit.

• A partir de quel moment les entrées (A, B,C) du circuit peuvent-elles changer ? Il faut attendre le temps de traversée du circuit combinatoire + le temps de

traversée de la bascule

Imaginons un circuit cominatoire dont le résultat est enregistré dans un élément d’état “transparent” (e.g. une bascule D avec CK=1)

SQD

CK1

Conclusion :Les évènements doivent

être synchronisés, i.e. arriver à des moments

contrôlables.

Page 11: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 11

Communication synchrone• Un flip-flop n’est pas transparent : sa sortie ne change que sur le

front d’impulsion d’horloge (soit toujours sur le front montant, soit toujours sur le front descendant).

• Ainsi il constitue la base d’une communication synchrone : les évenements de changement d’état ne peuvent avoir lieu qu’aux moments :

– précis (les fronts d’horloge),

– réguliers (basés sur le temps du cycle)

– de très courte durée (durée du front d’horloge)• Une horloge commune à un groupe d’éléments d’état garantie que

ces éléments sont mis à jour au même moment (c’est le cas idéal; en réalité les entrées CK de différents éléments peuvent subir un désalignement ; dans ce cas le temps de cycle doit être prolongé de la durée du désalignement)

Page 12: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 12

Circuitcombinatoire

1

D1Q1D1

Interaction des circuits combinatoires et des éléments d’état

Les circuits combinatoires effectuent des calculs.

Les éléments d’état sauvegardent les résultats intermédiaires.

D2

• Au premier front descendant d’horloge les valeurs présentées sur D1i s’enregistrent dans Q1i.

• Pendant le cycle suivant les nouvelles valeurs de Q1i traversent le premier circuit combinatoire (CC1) et les sorties de CC1 sont présentées aux entrées D2i avant le front descendant suivant

• Au front descendant suivant les valeurs de D2i s’enregistrent dans Q2i

• Pendant le cycle suivant les valeurs de Q2i traversent CC2 et sont présentées sur D3i, etc.

D1Q1D1D1

Q1D1D1Q1iD1i

Circuitcombinatoire

2

D1Q1D1D1

Q1D1D1Q1D1D1

Q2iD2iD2

D1Q1D1D1

Q1D1D1Q1D1D1

Q3iD3i

Page 13: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 13

Construction d’un registre

• Registre 8 bits = ensemble de 8 flip-flops

• L’horloge est commune pour tous les flip-flops

• L’entrée commune CLR force l’initialisation du registre à 0000 0000.

Amlificateurde puissance

Broches Prise de terre(tention basse)

Tention haute

Page 14: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 14

Registres JASPer

• PC = compteur de programme ; contient l’adresse de l’instruction suivante

• SP (stack pointer) = pointeur de la pile de programme (elle sert à sauvegarder des paramètres et des variables lors des appels de procédures et des interruptions/exceptions)

• IR = registre de l’instruction ; contient l’instruction en cours d’exécution

• A, B = registres généraux

Page 15: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 15

Registres de l’UAL (JASPer)

• ALUX, ALUY = arguments de l’opération UAL

• R = résultat de l’opération UAL

• PSR (program status register) = registre de statut du programme ; contient des “drapeaux” (flags) d’un bit chacun qui donnent des informations sur la dernière opération exécutée par l’UAL :

– C (carry) - la dernière opération a provoqué une retenue

– Z (zero) - la dernière opération a donné résultat 0

– N (negativ) - la dernière opération a donné un résultat négatif

– V (overflow) - la dernière opération a donné un débordement

Page 16: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 16

Registres de mémoire (JASPer)

• MAR (memory address register) = registre d’adresse mémoire

• MDR (memory data register) = registre de donnée mémoire

– Lors d’une lecture mémoire MAR contient l’adresse de la case mémoire à lire, MDR reçoit la donnée de l’adresse indiquée.

– Lors d’une écriture mémoire MAR contient l’adresse de la case mémoire dans laquelle l’on veut écrire, MDR contient la donnée que l’on veut écrire.

Page 17: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 17

Circuits à registre (JASPer)

• CU = circuit de l’unité de contrôle; contient un registre pour le “op-code”, le code de l’opération à effectuer

• INC = circuit contenant la constante 1 pour l’incrémentation du PC au début de chaque nouvelle instruction

Page 18: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 18

Unité Arithmétique et Logique(UAL)

UAL

Page 19: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 19

Négation logique (bit par bit) NOT AET logique (bit par bit) A AND BOU logique (bit par bit) A OR BAddition arithmétique A ADD BSoustraction arithmétique A SUB BDécalage à gauche SL ADécalage à droite SR A… …

Rôle d’une UALNous voudrions pouvoir effectuer les opérations arithmétiques (en complément à 2) et logiques suivantes pour deux nombres A et B :

Ces opérations sont effectuées par l’unité arithmétique et logique (UAL).

Page 20: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 20

Opérations arithmétiques et logiques - exemples

A = 1 1 1 0 1 0 1 1NOT A = 0 0 0 1 0 1 0 0

A = 1 1 1 0 1 0 1 1B = 1 0 1 0 1 1 0 0

A AND B = 1 0 1 0 1 0 0 0

A = 1 1 1 0 1 0 1 1B = 1 0 1 0 1 1 0 0

A OR B = 1 1 1 0 1 1 1 1

A = 1 1 1 0 1 0 1 1B = 1 0 1 0 1 1 0 0

A ADD B = 1 0 0 1 0 1 1 1

A = 1 1 1 0 1 0 1 1B = 1 0 1 0 1 1 0 0

A SUB B = 0 0 1 1 1 1 1 1

A = 1 1 1 0 1 0 1 1SL A = 1 1 0 1 0 1 1 0

A = 1 1 1 0 1 0 1 1SR A = 1 1 1 1 0 1 0 1

Page 21: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 21

Circuit qui réalise A ADD B (1/2)Additionneur complet 1 bit

Mise en œuvre Interface

• Portes XOR, AND et OR sont utilisées comme éléments de base

ai bi RetEntri Sommei RetSorti

0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1

+RetSorti RetEntri

bi ai

SommeiRetSorti RetEntri

aibi

Sommei

Page 22: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 22

Unité logique ET/OU/NONMise en œuvre

Interface

• Le décaleur se sert des portes OU ...

• Le décaleur prend en entrée un nombre sur 16 bit et un bit de contrôle qui l’informe si le décalage doit se faire à gauche ou à droite.

• Il produit en sortie le même nombre décalé d’un bit dans le bon sens.

Décaleur 16 bitsMise en œuvre

Interface

• Le décaleur se sert des portes OU ...

• Le décaleur prend en entrée un nombre sur 16 bit et un bit de contrôle qui l’informe si le décalage doit se faire à gauche ou à droite.

• Il produit en sortie le même nombre décalé d’un bit dans le bon sens.

Circuits arithmétiques et logiques

Additionneur 16 bitsMise en œuvre Interface

• 16 additionneurs 1 bit sont montées en série

• Chaque additionneur prend en entrée les 2 bits correspondants des opérandes et la retenue sortante de l’additionneur précédent

• L’additionneur 16 bits prend en entrée RE=0, et deux nombres 16 bits chacun. Il produit leur somme sur 16 bit ainsi qu’une éventuelle retenue du dernnier bit.

b15 a15 b1 a1 b0 a0

RS15 RE0RE15...RS1 RE1=RS0

s15 s1 s0

1616

16

A B

S

+RS RE

Page 23: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 23

Construction d’une UAL 16 bitsUAL 16 bits

Mise en œuvre Interface

• La sortie contie le résultats de l’opération déterminée par les bits Contrôle UAL.

UAL

1616

16+4Contrôle UAL

A B

Résultat

4

• 4 bits supplémentaires pour chaque sortie correspondent à des drapeaux cf. TD)

ContrôleB A

16

±

Résultat

16

SHL/SHR

ET/OU/NON

MUX2 1 016+4 16+4 16+4

16+4

4

Page 24: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 24

Bus

Page 25: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 25

Bus

• Les bus du processeur = ensembles de conducteurs qui connectent les composants du processeur

• Une voie d’un bus peut transporter un bit d’information à la fois

• Il y a 3 types de bus (dans JASPer) :

• Bus de données (pour transport des données)

• Bus d’adresse (en bleu ; pour transport d’adresses mémoire)

• Bus de contrôle (en rouge ; pour transport des signaux de contrôle entre l’unité de contrôle et le chemin de données)

Page 26: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 26

Contrôle d’accès à un bus de données commun (1/3)

Prenons l’exemple des registres A et B du processeur JASPer.

• Chacun peut (cf transp. 58)

– recevoir le contenu d’un autre registre

– envoyer son contenu vers un autre registre

• Chacun est constitué de 16 flip-flops

• Ils sont connectés à un bus d’entrée et un bus de sortie communs. Mais un bus ne peut transporter qu’une donnée à la fois.

Comment éviter les conflits d’accès aux bus ?

Page 27: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 27

Contrôle d’accès à un bus de données (2/3)Choix entre deux registres 1 bit pour une lecture/écriture

• Lecture de Ai : AouB = …

• Lecture de Bi : AouB = …

• Ecriture dans Ai : EcrireAB = …, VersAouB = …

• Ecriture dans Bi :EcrireAB = …, VersAouB = …

D1D1D1QBiDBi

D1D1D1QAiDAi

0

1

MUX

AouB

Voie i d’unbus de données

EcrireAB

Décod

eur

0

1

VersAouB

Voie i d’unbus de données

Page 28: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 28

Contrôle d’accès à un bus de données (3/3) Choix entre deux registres n bits pour une lecture/écriture

• Les bits correspondants des deux registres sont connectés comme sur le transparent précédent

• Le signaux de contrôle sont communs pour toutes les n paires de bits (ai,bi)

D1

Bus

de

donn

ées

Bus

de

donn

ées

D1D1

0

1

D1D1D1QBiDBi

D1D1D1QAiDAi

0

1

MUX

AouB

EcrireAB

Décod

eur

0

1

VersAouB

Page 29: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 29

Pour la semaine de la rentrée

• Mini-contrôle en TD : lire les 2 premiers cours (terminologie ang. inclue)

Page 30: Architecture  des ordinateurs cours  2 Structure d’un ordinateur : registres, UAL, bus

A. SAVARY IUT Blois GTR1, 2004/05 30

1.  (bb)2.  (c)3. (d)4. (e,f,h)5. (q)6.  (i)7.  (a)8. (g)9. (k)

10.  (x)11.  (x,y)12. (b)13. (m,n,p,q, ,b

b, dd, cc)14. (r)15.  (s)16.  (t)17. (ee)

18. (u)19.  (v)20.  (j)21.

(w)

22. (l)23. (z,aa)24.  (o)25.  (cc)

Devoir 1 (histoire de l’informatique)

REPONSES