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

Рисунок 4.21 Коэффициент качества конвейерной конструкции относительно последовательной конструкции (DLXs: последовательная, DLXpb: основной конвейер, DLXp: конвейер со взаимной блокировкой)

q = 1/3: Результирующий показатель качества Q = (P 2/C)1/3. Это значит, что конструкция Aкоторая в два раза быстрее конструкции Bимеет тоже самое качество что и Bесли она дороже в четыре раза.

Для реалистичного показателя качества, качественный параметр должен быть в диапазоне [0.2, 0.5]: Обычно, больший акцент ставят на производительности, чем на стоимости, таким образом q <= 0.5. Для q = 0.2, удвоение производительности уже подразумевает стоимостный коэффициент 16; более высокий коэффициент стоимости редко применяется.

Оценка Конвейеризация и пересылка результата значительно улучшают производительность архитектуры DLX, но они также повышают стоимость ядра с фиксированной точкой. Рисунок 4.21 - соотношение между стоимостью и производительностью.

В комбинации с быстрой системой памяти (WS = 0.3), конвейеризация и пересылка результата улучшают качество ядра DLX с фиксированной точкой, по крайней мере под реалистичным показателем качества. В случае если стоимость подчеркивается больше чем производительность, конвейеризация становится нерентабельной при q > 0.8.


4.7    Выборочные ссылки и дальнейшее чтение

Конструкции, представленные здесь частично основаны на конструкциях из [PH94, HP96, Knu96]. Концепция задержанного PC и конвейеризации как трансформации из [KMP99a].   Формальная проверка конвейерного управления без задержанных ветвлений обобщается в [BS90, SGGH91, BD94, BM96, L096, HQR98].


4.8    Упражнения

Упражнения 4.1 В главе 2, мы представили сумматор условной суммы и сумматор с предвидением (ускоренного) переноса, и продлили их на арифметический модуль AU. В добавок к n-битной сумме/разности, n-битный AU обеспечивает два флага, индицирующих переполнение и отрицательный результат. Пусть dau(n) означает максимальную задержку n-битного AU, и пусть dau(s[1 : 0];n) означает задержку двух наименее значимых битов суммы.

Покажем, что для обеих конструкций AU и для любых n >= 2 задержка этих двух битов суммы может быть оценена как

DAU(s[1 : 0] ; n) <= DAU(2).

Упражнение 4.2 Докажите dateline лемму 4.3 индукцией по T.

Упражнение 4.3 Быстрый s-этапный механизм пересылки. В разделе 4.4.2, мы представили механизм пересылки, способный отправлять данные из 3 этапов. Конструкция, очевидно, обобщена для s-этапной пересылки, при s > 3. Тогда фактический выбор данных (рисунок 4.18) выполняется s каскадными мультиплексорами. Таким образом, задержка этой реализации s-этапного механизма пересылки пропорциональна s.

Однако эти sмультиплексоры могут также быть размещены как сбалансированное двоичное дерево глубиной [log s]. Сигнал top.j(как определено в разделе 4.4.2) показывает, что этап jобеспечивает текущие данные запрошенного операнда. Эти сигналы top. jмогут быть использованы для управления деревом мультиплексоров.

1. Создать схему TOP, которая генерирует сигналы top. jиспользуя параллельные префиксные схемы.

2. Создать s-этапный механизм пересылки, основанный на мультиплексорном дереве и схеме TOP. Показать, что эта реализация имеет задержку O(logs).

3. Как в будущем может быть улучшена задержка механизма пересылки?

Упражнение 4.4 В случае опасностей данных, механизм взаимной блокировки из раздела 4.5 останавливает этапы IF и ID. Схема пересылки Forwвыдает сигналы на этапе y € {2,3,4}

hit[j] = (full.j /\ GPRw.j) /\ (ad =/= 0) /\ (ad = Cad.j).


Эти сигналы используются, чтобы сгенерировать  сигнал опасности данных dhaz. Проверка, является ли этап jполным (т.е., full.j = 1) существенна для правильности механизма блокировки.

Покажите, что при упрощении сигналов до                                  

hit[j] = GPRw.j /\ (ad  =/=0) /\ (ad = Cad.j),

фиктивные команды также могут активировать флаг опасности, и что механизм взаимной блокировки может зайти в тупик.

Упражнение 4.5 Докажите для механизма блокировки из раздела 4.5 и соответствующей функции планирования требование 2 леммы 4.10: для любого этапа kи любого цикла T > 0, значение Iπ(k,T) определяется только как full.kT= 1.

Упражнение 4.6 Быстрая проверка на ноль. n-нулевой тестер, представленный в разделе 2.3, использует в качестве ядра OR-tree. В технологии таблицы 2.1, вентили nand/nor быстрее чем вентили OR. Основываясь на равенстве


задержка схемы проверки на ноль, поэтому, может быть разделена на два.

Сконструируйте схему быстрой проверки на ноль и напишите формулы стоимости и задержки.