Il y a 5 étapes dans le pipeline.Comment l'instruction après charger, exécuter?
IF - Instruction fetch
ID - Instruction Decode, read the register
EX - On a memeory reference add up base and offset,
and for arithmetic instruction do the math.
MEM - If load or store access memory
WB - Place the result in appropriate register.
I1 : R0 <- M[loc] IF | ID | EX | MEM | WB |
I2 - R0 <- R0 + R0 | IF | ID | EX | MEM | WB |
I3 - R2 <- R2 - R0 | IF | ID | EX | MEM | WB |
Considérons que "Opérande Forwarding" a été utilisé.
Solution dit: -
Instruction
I1
est une instructionLoad
. Donc l'instruction suivante (I2
) ne peut pas aller jusqu'à ce queI1
termine son étapeEXE
.
Mais je pense: dans MEM
étape, le processeur accède à la mémoire et choisit le mot désiré. Et dans WB
étape il met à jour le registre du registre.
Donc, jusqu'à MEM
stade le processeur détient le contrôle de la mémoire, de sorte que I2
va commencer à chercher après MEM
de I1
.
Lequel est correct?
La description des étapes n'a pas été donnée, il est écrit à ma connaissance.
J'ai modifié votre question. Si vous trouvez mes modifications désagréables, vous pouvez les annuler en utilisant le bouton "modifier" en bas à gauche. –