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

Таблица 4.14 Иллюстрация функции планирования Iπдля этапов 1 - 4.

этап s

Iπ(s, T)    Iπ(s,T-1)

1

i

2

i-1

3

i-2

4

i-3               i-4

4. k = 1 (декодирование). В любой конструкции, этап декодирования имеет входные регистры IRout(0) и GPRout (4). Покажем, что IRTπ = IRT'как и выше. Если команда Ii не читает регистр GPR[r] при r =/= 0, мы сможем это сделать, поскольку выходы этапа 4 не используются. В других случаях, может быть использовано только значение GPR[r]T. Функция управления подразумевает (таблица 4. 14)

Iπ(4,T-i) = i-4.

Для i >= 4, мы заключаем, используя лемму 4.3 при s = 4, что

GPR[r]Tπ    =   GPR[r]i-4по индукционной гипотезе

.=    GPR[r]T 'σ .

Согласно гипотезе теоремы, команды Ii-3 - Ii-1 не пишут в регистр GPR[r]. Следовательно

GPR[r]i-1 = GPR[r]i-4.   

i <= 3. Обновление файла регистров GPR разрешается сигналом ue[4]. Поэтому механизм останова (таблица 4.11) гарантирует, что файл регистров не обновится в течении циклов t€ { 1 , 2, 3} . Таким образом,

GPR-1 = GPR]1π= ... = GPR4π.

Гипотеза теоремы подразумевает, что команды Ijпри 0 <= j < 3 не пишут в регистр GPR[r]. Следовательно,


QED


GPR[r]-1 = ... = GPR[r]i-1.

По лемме 4.3 при s = 4 мы заключаем

GPR[r]4П = GPR[r]i-1 = GPR[r]aT '.

Аргумент полностью как и прежде.



4.3.2    Аппаратная стоимость и время цикла

В дальнейшем мы определим стоимость и время цикла конструкции DLXπ. За исключением окружения PC и механизма останова, конвейерная конструкция DLXπи подготовленная последовательная конструкция DLXσодинаковы. Так как в разделе 4.2 окружения конструкции DLXσописаны подробно, мы можем сфокусироваться на окружении PC и механизме останова.

Окружение PC

PCenv (рисунок 4.12) управляется теми же самыми управляющими сигналами что и конструкция DLXσ , glue logic PCglueтакже остается той же самой. Единственное изменение в PCenv является то, что отвергнут регистр DPCзадержанного PC. Память команд IMтеперь адресуется


Однако окружение PC все еще принадлежит механизму отсроченного PC, где dpcтребует размещения DPC.

Из-за изменения окружение PC становится дешевле на один 32-битный регистр. Новая стоимость

CPCenv = 2*Сff(32) + 4*Сmux(32)+Сadd(32)+Сinc(30) + СPCglue.

Время цикла TPCenvокружения PC остается неизменным, но адрес dpcпамяти команд теперь имеет большую задержку. Принимая, что сигнал resetимеет нулевую задержку, адрес является верным при

APCenv(dpc) = Dmux(32).

Эта задержка складывается с временем цикла этапа IF и с накопленной задержкой сигнала ibusyпамяти команд:                                                     

tif    =   APCenv(dpc) + DIMenv(IR} + ΔAIMenv(ibusy)    =   APCenv(dpc) + dIstat.

Механизм останова

определяет для каждого этапа iсигнал разрешения обновления ue[i] согласно рисунку 4.13. Регистры full[4 : 2] синхронизируются CEкогда ни память команд, ни память данных не заняты или в течении reset :

CE   =   /busy \/ (reset /\ / ibusy) = /busy \/ (/reset NOR ibusy) /busy   =   ibusy NOR dbusy.                    


В течении сброса обновление задерживается, пока не закончится выборка команды. Так как сигнал resetимеет нулевую задержку, синхронизирующий CEможет быть сгенерирован с накопленной задержкой

Astall(CE) = max {AIMenv (ibusy), ADMenv (dbusy)} + Dnor + Dor.

Для каждого регистра Rout(i) и памяти M € out(i), механизм останова комбинирует сигнал запроса синхронизации/записи и сигнал обновления и превращает их в сигнал синхронизации/записи:

Rce' = Rce /\ ue[i],        Mw' = Mw /\ ue[i].

Обновление памяти данных DM разрешается, только если этап 3 полон и нет сброса:

Dmw' = Dmw /\ full[3] /\ .

Управляющий автомат Мура обеспечивает 7 сигналов запроса синхронизации/записи и сигнал Dmw' (таблица 4.9). Вместе с двумя вентилями AND для синхронизации этапов IF и ID, механизм останова имеет стоимость

Сstall = 3 • Cff + 4 • Cand + Qinv + 2 • Cnor + Cor + (7 + 2 + 2) • Cand .

Как и в последовательной конструкции, синхронизация регистра добавляет задержку Dff + δ, тогда как обновление файла регистров добавляет задержку Dram3(32,32) + δ. Таким образом, механизм останова требует время цикла