Considérons la suite d'instructions machine fournies ci-dessous:grille Pipelining 2015
MUL R5, R0, R1
DIV R6, R2, R3
ADD R7, R5, R6
SUB R8, R7, R4
Dans la séquence ci-dessus, R0
-R8
sont des registres à usage général. Dans les instructions représentées, le premier registre stocke le résultat de l'opération effectuée sur les deuxième et troisième registres. Cette séquence d'instructions doit être exécutée dans un processeur d'instructions en pipeline avec les 4 étapes suivantes:
- d'extraction d'instruction et de décodage (IF),
- opérande Fetch (OF),
- Exécution d'une opération (OP) et
- Ecrivez le résultat (WB).
Les IF
, OF
et WB
étapes prennent 1 cycle d'horloge pour chaque instruction quelconque. L'étape PO
prend 1 cycle d'horloge pour l'instruction ADD
ou SUB
, 3 cycles d'horloge pour l'instruction MUL
et 5 cycles d'horloge pour l'instruction DIV
. Le processeur pipeline utilise l'envoi d'opérandes de l'étape PO à l'étage OF. Le nombre de cycles d'horloge pris pour l'exécution de la séquence d'instructions ci-dessus est
Puisqu'il est clairement indiqué que l'acheminement des opérandes doit être utilisé de PO à OF, la réponse à ce qui précède doit être de 15 cycles d'horloge.
Mais à plusieurs endroits, la réponse est donnée en 13 cycles d'horloge. La réponse viendra lorsque nous utiliserons le transfert d'opérande de PO à PO.
Ma réponse:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
IF OF PO PO PO WB
IF OF PO PO PO PO PO WB
IF OF PO WB
IF OF PO WB
Réponse donnée à de nombreux endroits:
1 2 3 4 5 6 7 8 9 10 11 12 13
IF OF PO PO PO WB
IF OF PO PO PO PO PO WB
IF OF PO WB
IF OF PO WB
quelqu'un peut-il dire quelle réponse est correcte?
Comment est-ce possible? Dans toutes les autres questions porte Opérande Forwarding prend exactement un cycle d'horloge (VOIR celui-ci http://gateoverflow.in/1391/gate2005-68?show=77905#a77905) seulement ce particulier (porte 2015, question posée), ils font l'opérande transmettre dans la même horloge. Vous devriez donner une raison spécifique à cela. –