Детальный проект конвейерного RISC процессора (Глава 5 "Обработка прерываний"), страница 24

Таблица 5.12 перечисляет стоимость путей данных и окружений двух конвейерных конструкций DLX. Окружения, которые не произведены механизмом прерываний - опущены. Механизм прерываний повышает стоимость путей данных на 58%. Это увеличение в значительной степени вызвано файлами регистров, аппаратурой пересылки и буферизацией. Другие окружения путей данных стали примерно на 20% дороже.

Без аппаратуры прерываний, каждый из этапов ID, EX и M требует 17 буферов для двух кодов операций и одного адреса назначения. В конструкции DLXП, каждый из этих этапов буферизирует теперь два адреса и три 32-битных PC. Таким образом, количество буферов увеличено в 4 раза.

Окружение RFenv теперь включает два файла регистров GPR и SPR. Хотя есть только 6 регистров SPR, они почти удваивают стоимость окружения  RFenv. Это потому, что GPR состоит из RAM, тогда как SPR состоит из одних регистров. Обратите внимание, что 1-битный регистр в четыре раза дороже, чем ячейка  RAM. Реализация через регистры необходима для поддержки режима расширенного доступа - все 6 регистров SPR могут быть доступны одновременно.


Таблица 5.13 Стоимость управления двух конструкций DLX

окружение

stall

MC

automata

buffer

CON

DLX

DLXπ

DLXП

77

165

48

61

609

952

89

105

830 1283

13840 21893

увеличение

114%

27%

56%

18%

44%

58%

Стоимость управления

Согласно схемотехнике вычисляемого заранее управления (рисунок 4.15), блок управления CONбуферизирует флаги правильности и вычисляет заранее управляющие сигналы. Для результата GPR, нужно 6 флагов правильности, т.е., v[4 : 2].2, v[4 : 3].3 и v[4].4. Из-за расширенного ISA, есть также результат SPR. Так как этот результат всегда становится верным на этапе выполнения, нет никакой необходимости в дополнительных флагах правильности.

Так как управляющий автомат уже обеспечивает один этап буферизации, вычисляемые заранее управляющие сигналы типа xне нуждаются в явной буферизации. Сигналы типа у требуют один дополнительный этап буферизации, тогда как сигналы типа zтребуют двух этапов буферизации. Согласно таблице 5.9 есть три управляющих сигнала типа z и один типа y. Таким образом, управление требует

6 + 2*3+1*1 = 13

триггеров вместо 11. Один инвертор используется для генерации сигнала правильности результата GPR. Вдобавок, блок управления CONвключает механизм останова, два контроллера памяти IMCи DMC, и два управляющих автомата (таблица 5.10). Таким образом, стоимость блока CONможет быть смоделирована как

ccon   =   cimc + cdmc + Cstall + ccon (moore) + ccon (mealy)  + 13 * Cff + Cinv .        

Таблица 5.13 перечисляет стоимость блока управления, всех его окружений и всей аппаратуры DLX. Механизм прерывания увеличивает стоимость конвейерного управления на 44%. Стоимость механизма останова увеличивается выше среднего (+114%).           

Время цикла       

Согласно таблице 5.14, поддержка прерываний фактически не имеет влияния на время цикла конвейерной конструкции DLX. Времена циклов окружений путей данных остаются неизменными, только управление становится слегка медленнее. Однако, пока время состояния памяти остается ниже 43 клапанов задержки, время цикла конструкции DLXПдоминирует над окружением PC.


Таблица 5.14 Времена циклов двух конвейерных конструкций DLX; dmemозначает максимальное из двух времен доступа dImemи dDmemи dmstatозначает максимальное из двух времен статуса dIstatи dDstat .

ID

EX

WB

DP

IF, M

CON / stall

max( , )

A/B

PC

DLXn

72

89

66

33

89

l6 + dmem

57

43 + dmstat

DLXП

72

89

66

33

89

l6 + dmem

57

46 + dmstat