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


Таблица 4.22 Аппаратная стоимость, время цикла и коэффициент CPI конструкции DLX (последовательной, с основным конвейером, с конвейером со взаимной блокировкой)


Счетчик вентилей

Время цикла

Коэффициент CPI

abs.

rel.

abs.

rel.

WS

0.3

1

DLXS DLXπb DLXπ

11951 12949 13833

1.0

1.08

1.16

70

66

89

1.0

0.94

1.27

4.26+1.34WS 1. 65 + 2.0WS 1.26+1.44WS

4.66

2.25

1.70

5.60

3.65

2.70

Модель предполагает, что дополнительные опасности решаются вставкой NOP. Таким образом, каждая опасность ветвления, загрузки или пересылки – причина дополнительной выборки команд. Тогда частота выборок

vfetch = 1 + vNopB + vNopL + vforw

=    1 + 0.1 + 0.16 + 0.39 = 1.65, и медленные обращения к памяти имеют частоту

vslowM = vload + vstore + vfetch = 0.253 + 0.085 + 1.65 ~ 2.0.

Таким образом, коэффициент CPI конструкции конвейерной DLX без пересылки:

CPIDLXnb    =     1 + (vNopB + vNopL + vforw) • 1 + vslowMCPHslowM

~  1.65 + 2.0 • WS.

4.6.5    Оценка конструкции

Анализ производительности

Согласно таблице 4.22, конвейеризация и пересылка результата улучшают коэффициент CPI, но пересылка также значительно увеличивает  время цикла. Коэффициент CPI трех конструкций растет с числом состояний ожидания памяти. Таким образом, ускорение, вызванное конвейеризацией и пересылкой, также зависит от скорости системы памяти (рисунок 4.20).

Пересылка результата и блокировка имеют только незначительное влияние (3%) на производительность конвейерной конструкции DLX, из-за более медленного времени цикла. Однако, обе концепции disburden компилятор значительно, поскольку аппаратные средства заботятся о опасностях данных самостоятельно.

Ускорение из-за конвейеризации растет эффективно со скоростью системы памяти. В комбинации с идеальной системой памяти




Рисунок 4.20 Ускорение конвейеризации и пкресылки как функция времени ожидания памяти (DLXs: прследовательная, DLXpb: основной конвейер, DLXp: конвейер с блокировкой)

(WS = 0), конвейеризация производит ускорение в 2.7, принимая во внимание, что для WS >= 5.5, конструкция последовательной DLX становится быстрее, чем конвейерные конструкции. Таким образом, конвейеризация требует систем памяти с низким временем ожидания.

Мощные, основанные на кэше системы памяти, подобные Dec Alpha 21064 [HP96], требуют около WS = 0.25 состояний ожидания на обращения к памяти, и даже с маленьким 2KB встроенным кэшем, достигается скорость памяти WS= 0.5 (глава 6). Поэтому в дальнейшем мы принимаем WS = 0.3. Согласно этому предположению, конвейеризация ускоряет DLX с коэффициентом 2.2.

Влияние на качество DLX Показатель качества    Качество -  взвешенное геометрическое средство производительности Pи обратной величины стоимости C:

Q = P1-q/Cq.               (4.10)

Взвешенный параметр q€ [0,1] определяющий независимо стоимость или производительность имеет большее влияние на качество. Поэтому, мы обозначим через q качественный параметр. Обычно используются значения:

q= 0: Считает только производительность, Q = P.

q = 0.5: Результирующий показатель качества Q = (P/C)0.5 моделирует коэффициент стоимости/производительности.