Рисунок 4.7 Среда выполнения подготовленной DLX
Для обновления двух программных счетчиков, окружение PCenv требует некоторых операндов из других частей путей данных. Регистр операнда A' обеспечивается окружением файла регистров GPRenv, тогда как непосредственный операнд со обеспечивается окружением IRenv. Стоимость и время цикла окружения PCenv могут быть рассчитаны как
Окружение выполнения
Окружение выполнения EXenvна рисунке 4.7 включает среду ALU и устройство сдвига SHenv и соединяет их с шинами операндов и результата. Так как при использовании команд хранения вычисление адреса и сдвиг операнда производятся параллельно, необходимы три шины операнда и две результата.
Регистр Aвсегда предоставляет операнд a. Сигналы управления bmuxselи a'muxselвыбирают данные, которые будут помещены на шины bи a':
Обратите внимание, что одновременно должно быть активно не более одного сигнала. |
Данные на шину результата Dвыбираются среди регистра linkи результатом ALU и устройства сдвига. Этот выбор осуществляется тремя сигналами разрешения вывода
Окружение ALU Окружение ALUenv управляется теми же самыми управляющими сигналами, как в последовательной конструкции, и определение его сигналов aluи ovfостается неизменным. Однако, оно теперь обеспечивает два дополнительных бита s[1 : 0], которые подаются непосредственно на устройство сдвига. Они являются двумя наименее значимыми битами результата арифметического модуля AU(32). В зависимости от сигнала sub, который обеспечивается ALU glue logic, AU вычисляет сумму или разность операндов aи bпо модулю 232:
Стоимость окружения ALU и его окончательная задержка DALUenvостаются такими же, но биты s[1 : 0] имеют меньшую задержку. Для всех сумматоров представленных в главе 2, задержка этих битов может быть оценена, основываясь на задержке 2-битного AU
DALUenv(s[1:0]) = daluglue+ dau(2) как это показано в упражнении 4.1.
Окружение устройства сдвига Окружение устройства сдвига SHenv все еще управляется сигналом shift4s, который запрашивает неявный сдвиг в случае операций хранения, но его операнды отличаются. При явном сдвиге операнды обеспечиваются шинами a' и b, тогда как при неявном сдвиге они обеспечиваются шиной a' и результатом s[1 : 0] окружения ALU. Таким образом, выход sh окружения SHenv теперь определен как
Однако это изменение не влияет на стоимость и задержку окружения. Примем за ACON(csEX) задержку управляющих сигналов этапа EX, стоимость и время цикла всего окружения выполнения EXenv
4.2.2 FSD для подготовленных путей данных
Рисунок 4.8 изображает FSD (диаграмму конечных состояний) для подготовленных путей данных; таблицы 4.4 - 4.6 перечисляют соответствующие RTL команды и их активные управляющие сигналы.
Рисунок 4.8 FSD подготовленной последовательной DLX
Таблица 4.4 RTL команды этапов IF и ID
RTL команды |
тип I |
управляющие сигналы |
|
IF |
IR = IM(DPC) |
fetch, IRce |
|
ID |
A=A' = RS1, AEQZ = zero(A'), B = RS2, link = PC' + 4, DPC= (reset ?0 : PC'), PC' = (reset ?4 : pc'), |
Ace, Bce, linkce, PCce, PCce, |
|
pc' = nextPC (PC', А', со) |
j, jal |
jump |
|
jr, jalr |
jumpR, jump |
||
beqz |
branch, bzero |
||
bnez |
branch |
||
otherwise |
|||
со = constant(IR) |
j, jal |
Jjump |
|
slli, srli, srai |
shiftI |
||
otherwise |
|||
Cad = CAddr(IR) |
jalr, jal |
Jlink |
|
R-type |
Rtype |
||
otherwise |
Сложные DNF (дезьюктивные нормальные формы) перечислены в таблице 4.7. За исключением сигналов синхронизации Ace, Bce, PCceи linkce, все управляющие сигналы на декодирующем этапе ID являются сигналами Mealy. Следующий образец раздела 3.4 показывает
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.