В трубопроводе 5 ступеней.Как выполнить команду после загрузки, выполнить?
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 |
Учтите, что используется «Операндная переадресация».
Решение говорит: -
Инструкция
I1
являетсяLoad
инструкция. Таким образом, следующая инструкция (I2
) не может получить, покаI1
не закончит свою стадиюEXE
.
Но я думаю: в стадии MEM
процессор обращается к памяти и выбирает нужное слово. И в WB
этап обновления реестра реестра.
Итак, до MEM
этапом процессор держит управление памятью, поэтому I2
начнет получать после MEM
из I1
.
Какой именно?
Описание этапов не дано, оно написано в соответствии с моими знаниями.
Я отредактировал ваш вопрос. Если вы обнаружите, что мои изменения неприятны, вы можете отменить их, нажав кнопку «Изменить» в левом нижнем углу. –