Шестиступенчатая конвейеризация с суперскалярным процессором с двумя исполнительными блоками

Нужна помощь в проектировании шестиступенчатой ​​конвейеризации с суперскалярным процессором с двумя исполнительными блоками. Шесть этапов - инструкция Fetch (IF), Инструкция декодирования (ID), Читать из регистров (RR), 2-х тактное исполнение (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

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

0 ответов

Другие вопросы по тегам