Итак, я изучаю архитектурные симуляторы (в основном, simplescalar), чтобы выяснить, что на самом деле происходит во внутренних микропроцессорах. Одна замечательная вещь, которую я заметил, это то, что весь трубопровод был написан назад! То есть, в чисто последовательном цикле while, этап обратной записи приходит до стадии эмиссии, которая предшествует стадии декодирования и так далее.Конвейеризация в архитектурных симуляторах
В чем смысл этого? Предположим, что вывод гипотетического этапа fetch() хранится в общем буфере («защелка»), к которому обращается вход этапа decode(). Поскольку это чисто последовательный цикл while, я не вижу проблемы, когда этот запирающий/буфер будет перезаписан. Однако ответы на такие вопросы, как this: утверждают, что имитация конвейера в обратном порядке позволяет избежать этой «проблемы»? Некоторая проницательность/руководство в правильном направлении будут высоко оценены!
Никогда не думал об этом таким образом ... большое спасибо вам, сэр! – nirvanaswap