Серверы корпоративных баз данных


Архитектура машин с длинным командным словом - часть 2


На рисунке 3.19 показан код для реализации этого цикла. Цикл был развернут семь раз, что позволило устранить все возможные приостановки конвейера. Один проход по циклу осуществляется за 9 тактов и вырабатывает 7 результатов. Таким образом, на вычисление каждого результата расходуется 1.28 такта (в нашем примере для суперскалярной машины на вычисление каждого результата расходовалось 2.4 такта).

Обращение к

памяти 1

Обращение к

памяти 2

Операция ПТ 1 Операция ПТ 2 Целочисленная

операция/переход

LD F0,0(R1)

LD F10,-16(R1)

LD F18,-32(R1)

LD F26,-48(R1)

SD 0(R1),F4

SD -16(R1),F12

SD -32(R1),F20

SD 0(R1),F28

LD F6,-8(R1)

LD F14,-24(R1)

LD F22,-40(R1)

SD -8(R1),F8

SD -24(R1),F16

SD -40(R1),F24


ADDD F4,F0,F2

ADDD F12,F10,F2

ADDD F20,F18,F2

ADDD F28,F26,F2


ADDD F8,F6,F2

ADDD F16,F14,F2

ADDD F24,F22,F2



SUBI R1,R1,#48

BNEZ R1,Loop

Рис. 3.19.

Для машин с VLIW-архитектурой был разработан новый метод планирования выдачи команд, названный "трассировочным планированием". При использовании этого метода из последовательности исходной программы генерируются длинные команды путем просмотра программы за пределами базовых блоков. Как уже отмечалось, базовый блок - это линейный участок программы без ветвлений.

С точки зрения архитектурных идей машину с очень длинным командным словом можно рассматривать как расширение RISC-архитектуры. Как и в RISC-архитектуре аппаратные ресурсы VLIW-машины предоставлены компилятору, и ресурсы планируются статически. В машинах с очень длинным командным словом к этим ресурсам относятся конвейерные функциональные устройства, шины и банки памяти. Для поддержки высокой пропускной способности между функциональными устройствами и регистрами необходимо использовать несколько наборов регистров. Аппаратное разрешение конфликтов исключается и предпочтение отдается простой логике управления. В отличие от традиционных машин регистры и шины не резервируются, а их использование полностью определяется во время компиляции.




Начало  Назад  Вперед



Книжный магазин