Шестистадийный конвейер с суперскалярным процессором с двумя исполнительными блоками - PullRequest
0 голосов
/ 13 мая 2018

Нужна помощь в проектировании шестиступенчатой ​​конвейеризации с суперскалярным процессором с двумя исполнительными блоками.Шесть этапов: извлечение инструкций (IF), декодирование инструкций (ID), чтение из регистров (RR), двухтактное выполнение (EX), результат обратной записи (WB).Инструкции не могут быть переупорядочены.В цикле выполнения самое большее одна выпущенная инструкция может быть связана с памятью (загрузка или сохранение), и самое большее одна инструкция может быть не памятью, имеющей дело с арифметическими операциями с регистрами.Latency - это 3 цикла для операций загрузки и 2 цикла для других.Latency рассматривается как циклы задержки по времени между циклами выдачи для зависимых инструкций.Теперь у нас есть следующая последовательность команд:

(1) LD R21, (R20)
(2) LD R18, (R17)
(3) ADD R16, R21, R18
(4) LD R15, (R14)
(5) ADD R13, R12, R11
(6) SUB R23, R22, R24
(7) ST (R23), R10
(8) ADD R4, R21, R18
(9) ST (R3), R2
(10) ST (R1), R4

Сколько времени занимает выдача программы, учитывая, что команда, как говорят, выдала, когда она переходит со стадии RR на стадию EX.

Моя тренировка выглядит следующим образом:

RAW конфликты существуют в (1) и (3), (2) и (3), (2) и (8), (2) и(8), (6) и (7).Таким образом, временная диаграмма:

     01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 
I01: IF ID RR EX EX WB
I02: -- IF ID RR EX EX WB
I03: -- -- -- -- IF ID RR EX EX WB
I04: -- -- -- -- IF ID RR EX EX WB
I05: -- -- -- -- -- IF ID RR EX EX WB
I06: -- -- -- -- -- -- IF ID RR EX EX WB
I07: -- -- -- -- -- -- -- -- IF ID RR EX EX WB
I08: -- -- -- -- -- -- -- -- IF ID RR EX EX WB
I09: -- -- -- -- -- -- -- -- -- IF ID RR EX EX WB
I10: -- -- -- -- -- -- -- -- -- -- IF ID RR EX EX WB

Пожалуйста, прокомментируйте подход решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...