La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Agata Savary, IUT de Blois, Département GTR, 1e année,"— Transcription de la présentation:

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

2 Structure d’un ordinateur simple
Unité de contrôle Chemin de données Processeur Registres UAL Processor (CPU) Control unit Datapath Output devices Main memory Input devices ALU Entrées Sorties Mémoire principale Bus Registers UAL = Unité Arithmétique et Logique (Arithmetic and Logic Unit = ALU) A. SAVARY IUT Blois GTR1, 2004/05

3 JASPer - Just Another Simulated Processor
Le processeur – couche matérielle (Sur l’exemple d’un simulateur de processeur JASPer) JASPer - Just Another Simulated Processor

4 Processeur (Unité centrale, UC)
Central processing unit (CPU) 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 A. SAVARY IUT Blois GTR1, 2004/05

5 Processeur – example : JASPer
Compteur de programme Bus Registres généraux Registre d’instruction UAL Unité de contrôle A. SAVARY IUT Blois GTR1, 2004/05

6 Logique séquentielle Synchronisation Registres JASPer
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 A. SAVARY IUT Blois GTR1, 2004/05

8 Rappel sur les horloges
période de l’horloge (temps du cycle) front montant 1 temps Fonctionnement idéal : descendant Fonctionnement réel : Durée du front non nulle, mais très courte 1 A. SAVARY IUT Blois GTR1, 2004/05

9 Rappel sur le flip-flop
Flip-flop D Example 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. Flèche inversée : “contrôlé par le front descendant” Q2 D2 CK2 D Q CKFF Q1 D1 CK1 A. SAVARY IUT Blois GTR1, 2004/05

10 Communication asynchrone
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) Conclusion : Les évènements doivent être synchronisés, i.e. arriver à des moments contrôlables. S Q D CK 1 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 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) A. SAVARY IUT Blois GTR1, 2004/05

12 Interaction des circuits combinatoires et des éléments d’état
Q1 Circuit combinatoire 1 D1 Q1 Circuit combinatoire 2 D1 Q1 D1 Q1 D1 Q1 D1 Q1 D1 D1 Q1 Q1i D2 D1 D1 Q1 Q1 D1 D1i D2i D1 Q2i D1 D3i D2 D1 D1 Q3i 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. Les circuits combinatoires effectuent des calculs. Les éléments d’état sauvegardent les résultats intermédiaires. A. SAVARY IUT Blois GTR1, 2004/05

13 Construction d’un registre
Tention haute Amlificateur de puissance 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 à Prise de terre (tention basse) Broches 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 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 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. 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 A. SAVARY IUT Blois GTR1, 2004/05

18 Unité Arithmétique et Logique (UAL)
A. SAVARY IUT Blois GTR1, 2004/05

19 Rôle d’une UAL Nous voudrions pouvoir effectuer les opérations arithmétiques (en complément à 2) et logiques suivantes pour deux nombres A et B : Négation logique (bit par bit) NOT A ET logique (bit par bit) A AND B OU logique (bit par bit) A OR B Addition arithmétique A ADD B Soustraction arithmétique A SUB B Décalage à gauche SL A Décalage à droite SR A Ces opérations sont effectuées par l’unité arithmétique et logique (UAL). A. SAVARY IUT Blois GTR1, 2004/05

20 Opérations arithmétiques et logiques - exemples
B = A AND B = A = NOT A = A = B = A OR B = A = SL A = A = B = A ADD B = A = SR A = A = B = A SUB B = 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 + RetSorti RetEntri bi ai Sommei RetSorti RetEntri ai bi Sommei ai bi RetEntri Sommei RetSorti 1 A. SAVARY IUT Blois GTR1, 2004/05

22 Circuits arithmétiques et logiques
Unité logique ET/OU/NON Mise 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 bits Mise 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. Additionneur 16 bits Mise 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. 16 A B S + RS RE b15 a15 b1 a1 b0 a0 RS15 RE0 RE15...RS1 RE1=RS0 s15 s1 s0 Contrôle UAL Résultat 000 NOT A 001 A AND B 010 A OR B 011 A ADD B 111 A SUB B A. SAVARY IUT Blois GTR1, 2004/05

23 Construction d’une UAL 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. Contrôle B A 16 Résultat SHL/ SHR ET/ OU/ NON MUX 2 1 16+4 4 UAL 16 16+4 Contrôle UAL A B Résultat 4 Contrôle UAL Résultat 000 NOT A 001 A AND B 010 A OR B 011 A ADD B 111 A SUB B 4 bits supplémentaires pour chaque sortie correspondent à des drapeaux cf. TD) A. SAVARY IUT Blois GTR1, 2004/05

24 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) 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 ? 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 D1 QBi DBi QAi DAi 1 M U X AouB Voie i d’un bus de données EcrireAB Décodeur VersAouB Lecture de A : AouB = 0 Ecriture dans A : EcrireAB = 1, VersAouB = 0 Lecture de B : AouB = 1 Ecriture dans A : EcrireAB = 1, VersAouB = 1 Lecture de Ai : AouB = … Lecture de Bi : AouB = … Ecriture dans Ai : EcrireAB = …, VersAouB = … Ecriture dans Bi : 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 D1 Bus de données 1 QBi DBi QAi DAi M U X AouB EcrireAB Décodeur VersAouB Lecture de A : AouB = 1 Ecriture dans A : EcrireAB = 1, VersAouB = 1 Lecture de B : AouB = 0 Ecriture dans A : EcrireAB = 1, VersAouB = 0 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) 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) A. SAVARY IUT Blois GTR1, 2004/05

30 Devoir 1 (histoire de l’informatique) REPONSES
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, ,bb, 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) A. SAVARY IUT Blois GTR1, 2004/05


Télécharger ppt "Agata Savary, IUT de Blois, Département GTR, 1e année,"

Présentations similaires


Annonces Google