Первый пост здесь.Я изучаю asm и организацию компьютеров самостоятельно, и я столкнулся с проблемным сценарием, в котором я был бы очень признателен за вашу помощь.
Учитывая этот код, который работает на конвейерном MIPS:
0x1000 loop: lw $11,4($8)
0x1004 add $4,$4,$11
0x1008 addi $8,$8,4
0x100c sw $4,0($5)
0x1010 add $5,$5,$5
0x1014 beq $8,$9,loop
0x1018 nop
Данный код выполняется на конвейерном процессоре MIPS.
Можно предположить, что запись в файл регистров выполняется в первой половине тактового цикла, а команда beq выполняется навторая фаза (фаза декодирования инструкций).
заданная архитектура:
архитектура
Мне интересно, можно ли заменить add $ 5,5, 5 долларов с другой машиной (MIPS) (не псевдо)?
А что касается опасностей данных в данном коде - как они решаются и с помощью какого оборудования?
Я думаю, что одиниз способов справиться с опасностями данных использует пересылку, но я пока не знаю, как это сделать.Что касается дополнительного оборудования, я думаю, что необходимы дополнения (в случае пересылки): дополнительные входы в мультиплексор ALU (каждый): выход ALU в конце MEM, выход ALU в конце EX и вывод памяти вКонец MEM.
, пытающийся самостоятельно изучить архитектуру компьютера, и это, как правило, довольно сложно.был бы очень признателен за ваши объяснения для этого
большое спасибо, пытался излагать столько, сколько я могу.