Данная проблема основана на структурной опасности из-за строки ниже
" MA - Доступ к памяти данных - для доступа на запись используется регистр, считанный в состоянии RD "
и не зависит от данных, хотя, кажется, что есть зависимость от данных. И, следовательно, ничего не упоминается о пересылке данных в вопросе.
Опасность для конструкции указана в инструкции по нагрузке. И, следовательно, выполнение следующей инструкции не может начаться до выполнения первой инструкции, потому что эффективный адрес ячейки памяти, указанный как M [loc1] , будет вычислен только во время фазы выполнения конвейера. Таким образом, до тех пор шина не будет освобождена и, следовательно, вторая инструкция не может быть получена. Таким образом, вторая инструкция займет дополнительные 2 такта .
И третья инструкция не может начать выполнение, пока первая инструкция не загрузит данные успешно в регистр R0. В результате третья инструкция имеет 3 дополнительных такта циклов.
Hence, total clock cycles = (CC for I1) + (CC for I2) + (CC for I3)
= 5 + 2 + 3
= 10 clock cycles