Exemple dans le livre: Afficher les chemins d'expédition pour exécuter ce code:MIPS - Pourquoi cinq bulles sont-elles insérées dans ce pipeline?
add $3, $4, $6
sub $5, $3, $2
lw $7, 100($5)
add $8, $7, $2
diagramme Pipeline du livre:
I1: IF ID EX MEM WB
I2: IF ID EX MEM WB
I3: IF ID EX MEM WB
NOP NOP NOP NOP NOP
I4 IF ID EX MEM WB
Pourquoi 5 bulles insérées là plutôt que quelque chose comme:
I1: IF ID EX MEM WB
I2: IF ID EX MEM WB
I3: IF ID EX MEM WB
I4 IF ID ID EX MEM WB
Pourquoi la bulle n'est-elle pas insérée après l'étape IF de l'instruction 4? –
Les deux ont le même effet dans le timing, juste une notation différente. J'utiliserais aussi la même notation que toi, mais je ne ferais pas l'ID deux fois, je mettrais juste le nop là. –
Donc, techniquement, les deux sont les mêmes? Je suis vraiment confus parce que j'ai vu des exemples où ils utilisent NOP, '-', ou simplement répéter l'étape d'ID pour représenter des stands. –