next up previous contents
Next: Le cycle d'instruction Up: Micro-opérations Previous: Interrupt

Execute

Le cycle execute n'est pas prévisible. Pour une machine avec ndifférents opcodes, n différentes séquences de micro-opérations peuvent se produire.

Par exemple, considérons l'instruction ADD R1,X. Elle peut correspondre à la séquence de micro-opérations suivante :

t1
MAR $\leftarrow$ IR(adresse)
t2
MBR $\leftarrow$ mémoire
t3
R1 $\leftarrow$ R1 + MBR

Considérons maintenant deux exemples plus complexes. Le premier concerne l'instruction ISZ X, qui incrémente X de 1 et qui saute l'instruction suivante si le résultat est 0. Elle peut correspondre à la séquence de micro-opérations suivante :

t1
MAR $\leftarrow$ IR(adresse)
t2
MBR $\leftarrow$ mémoire
t3
MBR $\leftarrow$ MBR + 1
t4
mémoire $\leftarrow$ MBR
si MBR = 0 alors PC $\leftarrow$ PC + T

où T est la taille d'une instruction. Pour l'instruction BSA X, qui sauvegarde l'adresse de l'instruction suivante dans X et demande de poursuivre l'exécution par l'instruction située à l'adresse X + T, on a :

t1
MAR $\leftarrow$ IR(adresse)
MBR $\leftarrow$ PC
t2
PC $\leftarrow$ IR(adresse)
mémoire $\leftarrow$ MBR
t3
PC $\leftarrow$ PC + T

où T est la taille de l'instruction. Cette instruction est typiquement utilisée pour les appels de sous-routines.

On voit bien qu'une séquence de micro-opérations est nécessaire pour chaque opcode.


next up previous contents
Next: Le cycle d'instruction Up: Micro-opérations Previous: Interrupt
Patrick Marcel
2001-01-24