Аппаратно программные платформы корпоративных информационных систем


         

показан код для реализации


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

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































Обращение к

памяти 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




Содержание  Назад  Вперед