(GPRw.kTπ= 0) \/ ((Cad.kTπ)=/=r),
или что этап kобрабатывает фиктивную команду, т.е., full.kT = 0. Таким образом, сигнал hit.kTнеактивен и рассуждения теоремы 4.7 могут быть повторены.
Если регистр GPR[r] обновляется командой предшествующей Ii, мы определим через last(i,r) индекс последней команды перед Ii , которая обновляет регистр GPR[r], т.е.,
last(i,r) = max{j < i | Ijобновляющая регистр GPR[r]}.
Команда I = Ilast(i, r)является также все еще обрабатываемой, или она уже покинула конвейер.
Если команда I все еще выполняется, там тогда существует этап l >= 2 с
In(l,T) = last(i,r).
Из леммы 4.10 и определения last(i, r) следует, что
hitA.lTπ = 1,
и что любой этап между этапами 1 и l пуст или обрабатывает команду с адресом назначения отличным от r. Из конструкции схемы Forwследует, что
topA.kTπ= 1.
Так как dhazTπ = 0, сигнал опасности операнда Aтакже неактивен, dhazATπ = 0. По определению этого сигнала и по теореме моделирования для l >= 2 следует, что
v.lTπ = 1 = v.llast(i, r) .
Тогда декодирующий этап k = 1 читает соответствующий операнд Aкоманды Ii ,
AinTn = C'.1Tn ; конструкция механизма пересылки
= GPR[r]last(i, r) ; теорема для этапов со 2 по 4
= GPR[r]i-1 ; определение last(i, r),
Таблица 4.17 Стоимость ядра последовательной DLX и конвейерной конструкции DLX
Конструкция |
DP |
CON |
DLX |
последовательная |
10846 |
1105 |
11951 |
основная конвейерная |
12198 |
756 |
12954 |
конвейер + пересылка |
12998 |
805 |
13803 |
конвейер + блокировка |
13010 |
830 |
13840 |
QED |
и требование следует для этапа k = 1.
Если команда I уже выполнилась до завершения, тогда не существует этапа l >= 2 с
Iπ(l,T) = last(i,r).
С рассуждениями подобными предыдущему случаю следует, что AinTπ = GPR[r]Tπ= GPR[r]last(i, r) = GPR[r]i-1 ,
и таким образом, I получает соответствующий операнд A.
4.6 Анализ Стоимости/производительности
В предыдущих разделах мы описали несколько вариантов ядра конвейерной DLX и получили формулы для их стоимости и времени цикла. В последующем мы оценим последовательную и конвейерную конструкцию DLX, основываясь на стоимости, времени цикла и отношении стоимость/производительность. SPEC integer benchmark suite SPECint92 [Hil95, Sta] послужит в качестве нагрузки.
4.6.1 Аппаратная стоимость и время цикла
Таблица 4.17 перечисляет стоимость различных конструкций DLX. По сравнению с последовательной конструкцией главы 3, основной конвейер увеличивает полный счетчик вентилей на 8%, а пересылка результата добавляет еще 7%. Однако, механизм аппаратной взаимной блокировки, не имеет фактически никакого воздействия на стоимость. Таким образом, конструкция DLXπ с аппаратной взаимной блокировкой требует аппаратных средств только на 16% больше, чем последовательная конструкция.
Обратите внимание, что конвейеризация увеличивает стоимость только путей данных; управление становится даже дешевле. Это верно также для конвейерной конструкции с пересылкой и блокировкой, несмотря на более сложный механизм пересылки.
Таблица 4.18 Времена циклов ядра DLX для последовательной и конвейерной конструкции. Время цикла CON является максимальным из двух перечисленных времен.
Конструкция |
A/B |
PC |
EX |
IF,M |
CON |
|
последовательная |
27 |
70 |
70 |
18 + dmem |
40 |
39 + dmstat |
основная конвейерная |
27 |
54 |
66 |
16 + dmem |
32 |
41 +dmstat |
конвейер + отправка |
72 |
93a |
66 |
16 + dmem |
34 |
41 + dmstat |
конвейер + блокировка |
72 |
93a |
66 |
16 + dmem |
57 |
43 + dmstat |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.