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

Année 2002-2003Initiation à l'architecture des ordinateurs1 Plan du cours : 2 ème Partie Introduction 1ère Partie : Concepts de base 2 ème Partie : Traitement.

Présentations similaires


Présentation au sujet: "Année 2002-2003Initiation à l'architecture des ordinateurs1 Plan du cours : 2 ème Partie Introduction 1ère Partie : Concepts de base 2 ème Partie : Traitement."— Transcription de la présentation:

1 Année Initiation à l'architecture des ordinateurs1 Plan du cours : 2 ème Partie Introduction 1ère Partie : Concepts de base 2 ème Partie : Traitement des données 2 ème Partie : Traitement des données Unité de traitement Jeu dInstructions Modes dadressage Modes dinterruptions Microprogrammation Amélioration des performances 3 ème Partie : Stockage des informations 4 ème Partie : Transfert des informations : les bus Conclusion

2 Année Initiation à l'architecture des ordinateurs2 Schéma simplifié dune unité centrale Daprès « Architecture et Technologie des Ordinateurs » de Paolo Zanelle et Yves Ligier chez Dunod 1.Charger la prochaine instruction à exécuter : Mémoire => Registre dinstruction: 2.Décoder le code opération de linstruction; 3.Modifier le compteur ordinal pour quil pointe sur ladresse de linstruction suivante; 4.Localiser, sil y a lieu, les opérandes en mémoire; 5.Charger, dans ce cas, ces opérandes dans les registres de lUC; 6.Exécuter linstruction; 7.Retourner à l étape N° 1 pour traiter la prochaine instruction.

3 Année Initiation à l'architecture des ordinateurs3 Eléments de lUnité de Commande Registres : Compteur Ordinal (CO) : contient ladresse en mémoire de la prochaine instruction à exécuter. Registre Instruction (RI) : contient linstruction en cours à décoder et à exécuter. Registre détat ou Program Status Word (PSW) : contient les informations sur létat du système (retenue, dépassement, etc.). Décodeur : détermine lopération à effectuer et les opérandes. Séquenceur : génère les signaux de commandes vers les différents composants et en particulier lUAL pour exécuter lopération qui vient dêtre décodée. Il peut être cablé ou microprogrammé. Horloge : génère des impulsions régulières synchronisant les actions et les éléments de lunité centrale.

4 Année Initiation à l'architecture des ordinateurs4 Séquencement des opérations Cycle dinstruction = Cycle de recherche + Cycle dexécution

5 Année Initiation à l'architecture des ordinateurs5 Cycle de recherche dune instruction (1/2) Registre dAdresse Mémoire Centrale Registre d'Instruction Compteur Ordinal Registre Mot Décodeur Séquenceur Horloge Unité de commande

6 Année Initiation à l'architecture des ordinateurs6 Cycle de recherche dune instruction (2/2) 1) Transfert de ladresse de linstruction du Compteur Ordinal vers le Registre dAdresse de la mémoire. 2) Lecture de linstruction dans la mémoire et transfert dans le Registre Mot. 3) Transfert de linstruction dans le registre dinstruction. 4) Décodage du code opération et lancement du séquenceur. Si nécessaire transfert de ladresse de lopérande dans le Registre d Adresse de la Mémoire 5) Incrémentation du Compteur Ordinal pour quil pointe vers linstruction suivante (s il nest pas mis à jour par une instruction de branchement). Le Séquenceur pilote lUnité de Calcul pour exécuter linstruction.

7 Année Initiation à l'architecture des ordinateurs7 Cycle dexécution dune instruction (1/2) Registre dAdresse Mémoire Centrale Registre Mot Séquenceur Accumulateur Unité de commande Registres de travail Unité de Calcul Exemple : exécution dune opération arithmétique ou logique.

8 Année Initiation à l'architecture des ordinateurs8 Cycle dexécution dune instruction (2/2) Opération arithmétique ou logique 1) Le séquenceur pilote la mémoire pour lire lopérande et le transférer dans le registre mot (RM). 2) Transfert de lopérande du RM vers un registre de travail ou laccumulateur. 3) Exécution par lUnité Arithmétique et Logique de lopération à effectuer sous contrôle du séquenceur. Ecriture dun résultat en mémoire 1) Transfert du contenu de laccumulateur vers le RM. 2) Le séquenceur pilote la mémoire pour transférer lopérande depuis le RM et lécrire en mémoire Instruction de branchement conditionnel 1) Test du bit de condition (Flag) 2) Transfert si nécessaire du contenu du champ adresse de linstruction depuis le RI vers le CO.

9 Année Initiation à l'architecture des ordinateurs9 Registres de lunité de traitement (1/3) 1)Compteur Ordinal (CO) ( Programme Counter (PC)) Contient ladresse de la prochaine instruction à exécuter Non accessible au programmeur 2)Registre Instruction (RI) (Instruction Register (IR)) Contient linstruction à décoder et à exécuter Non accessible au programmeur 3)Registre ACCumulateur (ACC) Reçoit le résultat de lopération effectué par lUnité Arithmétique et Logique (UAL). Peut contenir un des opérandes impliqués dans lopération que doit effectuer lUAL. Un des registres les plus sollicités de la machine.

10 Année Initiation à l'architecture des ordinateurs10 Registres de lunité de traitement (2/3) 1)Registres de travail Permettent daccélérer lexécution des programmes en évitant de solliciter la mémoire. Contiennent les résultats de calculs intermédiaires ou les opérandes fréquemment utilisés. 2)Registre dindex (XR) (Index Register (RX)) Utilisé pour ladressage indexé 3)Registre de Base Utilisé pour ladressage Base + Déplacement

11 Année Initiation à l'architecture des ordinateurs11 Registres de lunité de traitement (3/3) 7)Registre détat (Program Status Word (PSW)) Contient entre autres les bits de condition (flags) positionnés à lissu de chaque exécution dune instruction. 8)Registres de gestion de pile Registre pointeur de pile (PP) (Stack Pointer (SP)) Contient ladresse du sommet de la pile 9)Registres spécialisés Registres virgule flottante (Floating point registers) Registres à décalage (Shift registers)

12 Année Initiation à l'architecture des ordinateurs12 Plan du cours : 3 ème Partie Introduction 1ère Partie : Concepts de base 2 ème Partie : Traitement des données 2 ème Partie : Traitement des données Unité de traitement Jeu dInstructions Modes dadressage Modes dinterruptions Microprogrammation Amélioration des performances 3 ème Partie : Stockage des informations 4 ème Partie : Transfert des informations : les bus Conclusion

13 Année Initiation à l'architecture des ordinateurs13 Format des instructions (1/2) OpérandesCode Opération Code opération : ce quil faut faire Exemples : faire une addition, tester le résultat dune opération, se débrancher vers une certaine adresse, etc. Opérandes : avec quoi le faire Exemples : valeur numérique, contenu dun registre, contenu dune adresse mémoire adresse où se débrancher, etc.

14 Année Initiation à l'architecture des ordinateurs14 Format des instructions (2/2) Code opération Opérande 1Opérande 2 Code opérationOpérande 1 Exemple x86 : LAHF transfert les bits de conditions (status flags) dans le registre Ah Exemple x86 : NOT DX complémente à 1 le contenu du registre Dx Exemple x86 : ADD AX,DX ajoute le contenu du registre Dx à celui de laccumulateur

15 Année Initiation à l'architecture des ordinateurs15 Exemples de programme (1/5) Machine à une adresse Instructions : Load X : transfère la variable X dans laccumulateur. STA X : transfère le contenu de laccumulateur dans la variable X. ADD : additionne la valeur de la variable X au contenu de laccumulateur. SUB : soustrait la valeur de la variable X au contenu de laccumulateur. MPY : multiplie le contenu de laccumulateur par la valeur de la variable X. DIV X : divise le contenu de laccumulateur par la valeur de la variable X.

16 Année Initiation à l'architecture des ordinateurs16 Exemples de programme (2/5) Fonction à réaliser : A = B x (C + (D x E) – (F / G)) Programme: 1.LOAD F=> ACC = F 2.DIV G=> ACC = ACC / G => ACC = F / G 3.STA T1=> T1 = ACC 4.LOAD D=> ACC = D 5.MPY E=> ACC = ACC x E => ACC = D x E 6.ADD C=> ACC = ACC + C => ACC = (D x E) + C 7.SUB T1=> ACC = ACC – T1 => ACC = (D x E) + C – ( F / G) 8.MPY B=> ACC = ACC x B => ACC = ((D x E) + C – ( F / G)) x B 9.STA A=> A = ACC => A = ((D x E) + C – ( F / G)) x B T1 = variable intermédiaire

17 Année Initiation à l'architecture des ordinateurs17 Exemples de programme (3/5) Machine à zéro adresse (Sauf gestion de la pile) Nécessite une pile (mémoire LIFO : Last In, First Out) Instructions de gestion de la pile (Instructions à 1 adresse) : LOAD X : Transfère le contenu de la variable X au sommet de la pile. STORE X : Transfère le contenu du sommet de la pile dans la variable X. Principe de fonctionnement : Instructions à zéro adresse: Les opérandes sont dans les 2 positions supérieures de la pile. Le résultat remplace les deux opérandes au sommet de la pile.

18 Année Initiation à l'architecture des ordinateurs18 Exemples de programme (4/5) Instructions à zéro adresse: ADD sort les 2 opérandes aux sommets de la pile, fait leur somme et place le résultat au sommet de la pile. SUB sort les 2 opérandes aux sommets de la pile, soustrait la valeur au sommet de la seconde position et place le résultat au sommet de la pile. MPY sort les 2 opérandes aux sommets de la pile, fait leur produit et place le résultat au sommet de la pile. DIV sort les 2 opérandes aux sommets de la pile, divise la valeur en seconde position (dividende)par la valeur située au sommet de la pile (diviseur) et place le résultat au sommet de la pile.

19 Année Initiation à l'architecture des ordinateurs19 Exemples de programme (5/5) Même fonction à réaliser : A = B x (C + (D x E) – (F / G)) Programme: 1.LOAD B=> Pile = { B } 2.LOAD C=> Pile = { B ; C} 3.LOAD D=> Pile = { B ; C ; D} 4.LOAD E=> Pile = { B ; C ; D ; E } 5.MPY=> Pile = { B ; C ; (D x E) } 6.ADD=> Pile = { B ; C + (D x E) } 7.LOAD F=> Pile = { B ; C + (D x E) ; F } 8.LOAD G=> Pile = { B ; C + (D x E) ; F ; G } 9.DIV=> Pile = { B ; C + (D x E) ; (F / G) } 10.SUB=> Pile = { B ; C + (D x E) - (F / G) } 11.MPY=> Pile = { B x (C + (D x E) - (F / G)) } 12.STA A=> Pile = { }

20 Année Initiation à l'architecture des ordinateurs20 Types d instructions (1/2) 1)Transferts de données : de registre à registre, de registre à mémoire, de mémoire à registre, de mémoire à mémoire. 2)Opérations arithmétiques : Addition, soustraction,multiplication,division. 3)Opérations logiques : NON, ET, OU, Ou exclusif, etc.

21 Année Initiation à l'architecture des ordinateurs21 Types d instructions (2/2) 4)Contrôle de séquence : branchements, branchements conditionnels, appel de sous-programmes, 5)Entrées/Sorties (I/Os) : lectures/écritures sur les périphériques (écran, imprimantes, disques durs, etc.) 6)Autres opérations : décalage, permutation circulaire de bits, comparaison, incrémentation dindex, etc.

22 Année Initiation à l'architecture des ordinateurs22 Plan du cours : 3 ème Partie Introduction 1ère Partie : Concepts de base 2 ème Partie : Traitement des données 2 ème Partie : Traitement des données Unité de traitement Jeu dInstructions Modes dadressage Modes dinterruptions Microprogrammation Amélioration des performances 3 ème Partie : Stockage des informations 4 ème Partie : Transfert des informations : les bus Conclusion

23 Année Initiation à l'architecture des ordinateurs23 Modes dadressage (1/4) 1)Adressage implicite : Le code opération indique implicitement où se trouve lopérande. Exemple X86 : LAHF transfert les bits de condition (status flags) dans le registre Ah 2)Adressage immédiat : Le champ adresse de la source contient la valeur de lopérande. Exemple X86 : MOV DX,1234 transfert la valeur immédiate 1234 dans le registre Dx 3)Adressage registre : Le champ adresse contient le numéro du registre contenant lopérande. Exemple x86 : NOT DX complémente à 1 le contenu du registre Dx (1234) qui devient donc EDBC.

24 Année Initiation à l'architecture des ordinateurs24 Modes dadressage (2/4) 4)Adressage direct : Le champ dadresse contient ladresse effective de lopérande. Exemple X86 : Mov [0100], DX transfère le contenu du registre Dx à ladresse mémoire 0100 qui contient donc maintenant EDBC. 5)Adressage indirect : Le champ dadresse contient ladresse où se trouve ladresse effective de lopérande. Exemple PDP-11 : MOV (R1), R4 transfère dans R4 le contenu de ladresse contenue dans R1

25 Année Initiation à l'architecture des ordinateurs25 Modes dadressage (3/4) 6)Adressage indexé : adresse effective = contenu du champ adresse + contenu du registre dindex Exemple PDP-11 : MOV R4, 100(R3)+ transfère dans R4 le contenu de ladresse (100 + contenu de R3) et incrémente R3. Utilisé pour travailler sur des tableaux 6)Adressage basé : Base + Déplacement adresse effective = contenu du champ adresse (Déplacement) + contenu du registre de base (Base) Utilisé - en cas dallocation dynamique de la mémoire, - lorsque le nombre de bit alloué à ladresse dans linstruction est faible.

26 Année Initiation à l'architecture des ordinateurs26 Modes dadressage (4/4) 6)Adressage relatif : adresse effective = contenu du champ adresse + contenu du Compteur Ordinal (CO) Utilisé dans des instructions de branchements

27 Année Initiation à l'architecture des ordinateurs27 Plan du cours : 3 ème Partie Introduction 1ère Partie : Concepts de base 2 ème Partie : Traitement des données 2 ème Partie : Traitement des données Unité de traitement Jeu dInstructions Modes dadressage Modes dinterruptions Microprogrammation Amélioration des performances 3 ème Partie : Stockage des informations 4 ème Partie : Transfert des informations : les bus Conclusion

28 Année Initiation à l'architecture des ordinateurs28 Plan du cours : 3 ème Partie Introduction 1ère Partie : Concepts de base 2 ème Partie : Traitement des données 2 ème Partie : Traitement des données Unité de traitement Jeu dInstructions Modes dadressage Modes dinterruptions Microprogrammation Amélioration des performances 3 ème Partie : Stockage des informations 4 ème Partie : Transfert des informations : les bus Conclusion

29 Année Initiation à l'architecture des ordinateurs29 CISC versus RISC (1/2)

30 Année Initiation à l'architecture des ordinateurs30

31 Année Initiation à l'architecture des ordinateurs31 Plan du cours : 3 ème Partie Introduction 1ère Partie : Concepts de base 2 ème Partie : Traitement des données 2 ème Partie : Traitement des données Unité de traitement Jeu dInstructions Modes dadressage Modes dinterruptions Microprogrammation Amélioration des performances 3 ème Partie : Stockage des informations 4 ème Partie : Transfert des informations : les bus Conclusion

32 Année Initiation à l'architecture des ordinateurs32 Pipelining

33 Année Initiation à l'architecture des ordinateurs33 Plan du cours : 3 ème Partie Introduction 1ère Partie : Concepts de base 2 ème Partie : Traitement des données 2 ème Partie : Traitement des données Unité de traitement Jeu dInstructions Modes dadressage Modes dinterruptions Microprogrammation Amélioration des performances 3 ème Partie : Stockage des informations 4 ème Partie : Transfert des informations : les bus Conclusion


Télécharger ppt "Année 2002-2003Initiation à l'architecture des ordinateurs1 Plan du cours : 2 ème Partie Introduction 1ère Partie : Concepts de base 2 ème Partie : Traitement."

Présentations similaires


Annonces Google