• Aucun résultat trouvé

D´eroulement de l’instruction

Dans le document ARCHITECTUREDES ORDINATEURS (Page 92-97)

5.2 Exemple de d´eroulement d’une instruction

5.2.1 D´eroulement de l’instruction

Intel a d´efini un s´equencement en termes decycles machine. Cela signifie que chaque instruction est d´ecoup´ee en cycles principaux (un `a cinq). L’instruction d’addition envisag´ee ici comporte trois cycles machine. Chacun de ces derniers comporte de deux `a cinqcycles ´el´ementaires(les “´etats”) d´efinis par l’horloge de base, c’est-`a-dire que la dur´ee d’un cycle ´el´ementaire est ´egale `a une p´eriode d’horloge. Les microcommandes impliqu´ees dans la r´ealisation de chaque cycle

´el´ementaire seront d´esign´ees parµijko`ujest le num´ero du cycle etkle num´ero du cycle ´el´ementaire.

1. Premier cycle machine: celui-ci correspond `a la lecture de l’instruction en m´emoire (Instruction Fetch) et comporte quatre cycles ´el´ementaires.

(a) Le contenu du compteur ordinal CO est transf´er´e dans le tam-pon d’adresses RA. En mˆeme temps le bus de donn´ee fournit une indication sur le cycle machine en cours, ici le cycle Instruction Fetch. Cette phase not´ee M1-T1 (figure5.10) met en jeu les micro-commandes :

− µ111 commande du multiplexeur Mux pour aiguiller le contenu de CO vers RA,

− µ211 commande de chargement du tampon RA,

− µ311 indique que l’on est dans le cycle T1. Cette information apparaˆıt sur une ligne du bus de contrˆole sous le nom SYNC et peut ˆetre utilis´ee par la logique externe,

− µ411 commande des drivers du bus de donn´ees dans le sens

“´emission”, etc.

STATUS SYNC

M1-T1

µ113

11 1

112

114

µ

µ

µ

Figure5.10 : La phase M1-T1

Ces micro-commandes ne sont certainement pas les seules, mais donnent une bonne id´ee du rˆole de ces signaux pour assurer le d´eroulement de l’instruction.

(b) La phase M1-T2 consiste `a incr´ementer le contenu du compteur or-dinal. Cette anticipation de l’incr´ement de CO permet de gagner du temps lorsqu’on traite des instructions sur un seul mot et ac-corde un d´elai suppl´ementaire `a la m´emoire pour se positionner (voir phase suivante). Parmi les commande, on rel`evera les micro-commandes µ112 indiquant le “mode incr´ement” pour le compteur ordinal,µ212 activant l’incr´emention et µ312 ouRD, validant l’acc`es

`

a la m´emoire (figure5.11).

RD M1-T2

µ123

12

µ2

READY

121

µ

Figure5.11 : La phase M1-T2

Pendant cette phase, la ligne READY est test´ee. Si elle est `a 0, ce qui signifie que la m´emoire n’est pas prˆete `a d´elivrer le code instruction, le processeur introduit des cycles ´el´ementaires d’attente TW. C’est aussi durant cette phase que les lignes de suspension sont test´ees.

(c) Dans la phase d’attente M1-TW, l’instruction attendue sur le bus de donn´ee est consid´er´ee comme non stable. Elle ne peut donc pas ˆetre “saisie” dans le registre instruction (figure5.12).

(d) La phase M1-T3 (figure 5.13) est la phase de lecture effective de l’instruction. Celle-ci est charg´ee dans le registre instruction RI.

Parmi les micro-commandes concern´ees on peut noter :

− µ113commande pour les amplificateurs de ligne (drivers) du bus de donn´ees,

− RDsignal de contrˆole pour la m´emoire,

− µ213 chargement du registre instruction RI.

L’adresse de la case m´emoire contenant l’instruction est sur le bus depuis la phase M1-T1. On suppose que la m´emoire poss`ede un temps d’acc`es suffisamment faible, donc que l’information cherch´ee

M1-TW

READY RI

RD

Figure5.12 : La phase M1-TW M1-T3

m132 133

131

m

m RI

RD

Figure5.13 : La phase M1-T3

est disponible pendant cette phase. On ne repr´esente donc pas de phase d’attente TW.

(e) La phase M1-T4 marque le d´ebut effectif du d´eroulement de l’instruction. Elle correspond au transfert du contenu du registre A vers le tampon ACT, transfert dont nous avons d´ej`a expliqu´e le rˆole dans la pr´evention des al´eas de fonctionnement. La micro-commandeµ114d´eclenche le chargement de ACT (le code d’addition est d´ej`a positionn´e sur l’unit´e arithm´etique et logique) (figure5.14).

2. Second cycle machine: celui-ci comporte trois cycles ´el´ementaires et correspond au cycle machine de lecture de l’op´erande en m´emoire.

(a) La phase M2-T1 consiste `a indiquer le type de cycle,Memory Read, et correspond en tous points `a la phase M1-T1.

L’adresse de l’op´erande en m´emoire, adresse contenue dans HL, est rang´ee dans le tampon RA.

(b) Lors de la phase M2-T2, la ligne READY est test´ee et des cycles d’attente sont ins´er´es si n´ecessaire.

M1-T4

m41

Figure5.14 : La phase M1-T4

STATUS SYNC

M2-T1

Figure5.15 : La phase M2-T1

(c) La phase d’attente M2-TW est en tous points semblable `a la phase M1-TW.

(d) La phase M2-T3 (figure 5.17) est celle de la lecture du deuxi`eme op´erande avec les micro-commandes :

− µ123 commande pour ledriverdu bus de donn´ees,

− RDsignal de contrˆole pour la m´emoire,

M2-T2(TW)

READY RD

Figure5.16 : La phase M2-T2

− et µ223pour le chargement de TMP.

M2-T3 TMP

RD

Figure5.17 : La phase M2-T3

L’adresse de la case m´emoire contenant l’op´erande est sur le bus d’adresses depuis la phase M2-T1. Comme dans la phase de lec-ture instruction, il y a ´emission d’une commande de leclec-ture vers la m´emoire avec positionnement dudriverdu bus de donn´ees. La seule diff´erence r´eside dans le chargement des registres : TMP y remplace RI.

3. Troisi`eme cycle machine: celui-ci pourrait ˆetre d´ecrit comme le cycle d’ex´ecution de l’instruction. Il comporte deux cycles ´el´ementaires.

(a) L’avant-derni`ere phase M3-T1 (figure 5.18) est une phase pendant laquelle il ne se passe rien pour l’op´eration en cours. Elle est in-troduite artificiellement pour permettre `a l’instruction suivante de commencer son cycle.

STATUS SYNC

M1-T1 M3-T1

Figure5.18 : La phase M3-T1

(b) La derni`ere phase M3-T2 (figure 5.19) consiste `a r´ecup´erer le r´esultat de l’op´eration d’addition dans le registre A et `a positionner les drapeaux. Parmi les micro-commandes associ´ees on peut relever :

− µ132 pour le chargement du registre A,

− µ232 pour le chargement du registre des drapeaux.

M1-T1 M3-T2

322

µ

READY

321

µ

RD

Figure5.19 : La phase M3-T2

Le recouvrement entre instructions successives (overlapping) permet d’augmenter les performances de fa¸con sensible. Pour l’instruction d’addition on gagne deux cycles ´el´ementaires sur les neuf cycles re-quis (hors cycles d’attente).

Dans le document ARCHITECTUREDES ORDINATEURS (Page 92-97)