ВУЗ:
Составители:
Идея VLIW базируется на том, что задача эффективного планирования параллельного
выполнения нескольких команд возлагается на «разумный» компилятор. Такой
компилятор вначале исследует исходную программу с целью обнаружить все
команды, которые могут быть выполнены одновременно, причем так, чтобы это не
приводило к возникновению конфликтов. В процессе анализа компилятор может даже
частично имитировать выполнение рассматриваемой программы. На следующем
этапе компилятор пытается объединить такие команды в пакеты, каждый из которых
рассматривается как одна сверхдлинная команда. Объединение нескольких простых
команд в одну сверхдлинную производится по следующим правилам:
количество простых команд, объединяемых в одну команду сверхбольшой дли-
ны, равно числу имеющихся в процессоре функциональных (исполнительных) блоков
(ФБ);
в сверхдлинную команду входят только такие простые команды, которые ис-
полняются разными ФБ, то есть обеспечивается одновременное исполнение всех
составляющих сверхдлинной команды.
Длина сверхдлинной команды обычно составляет от 256 до 1024 бит. Такая
метакоманда содержит несколько полей (но числу образующих ее простых команд),
каждое из которых описывает операцию для конкретного функционального блока.
Сказанное иллюстрирует рис. 2.25, где показан возможный формат сверхдлинной
команды и взаимосвязь между ее полями и ФБ, реализующими отдельные операции.
Как видно из рисунка, каждое поле сверхдлинной команды отображается на
свой функциональный блок, что позволяет получить максимальную отдачу от ап-
паратуры блока исполнения команд.
Идея VLIW базируется на том, что задача эффективного планирования параллельного
выполнения нескольких команд возлагается на «разумный» компилятор. Такой
компилятор вначале исследует исходную программу с целью обнаружить все
команды, которые могут быть выполнены одновременно, причем так, чтобы это не
приводило к возникновению конфликтов. В процессе анализа компилятор может даже
частично имитировать выполнение рассматриваемой программы. На следующем
этапе компилятор пытается объединить такие команды в пакеты, каждый из которых
рассматривается как одна сверхдлинная команда. Объединение нескольких простых
команд в одну сверхдлинную производится по следующим правилам:
количество простых команд, объединяемых в одну команду сверхбольшой дли-
ны, равно числу имеющихся в процессоре функциональных (исполнительных) блоков
(ФБ);
в сверхдлинную команду входят только такие простые команды, которые ис-
полняются разными ФБ, то есть обеспечивается одновременное исполнение всех
составляющих сверхдлинной команды.
Длина сверхдлинной команды обычно составляет от 256 до 1024 бит. Такая
метакоманда содержит несколько полей (но числу образующих ее простых команд),
каждое из которых описывает операцию для конкретного функционального блока.
Сказанное иллюстрирует рис. 2.25, где показан возможный формат сверхдлинной
команды и взаимосвязь между ее полями и ФБ, реализующими отдельные операции.
Как видно из рисунка, каждое поле сверхдлинной команды отображается на
свой функциональный блок, что позволяет получить максимальную отдачу от ап-
паратуры блока исполнения команд.
Страницы
- « первая
- ‹ предыдущая
- …
- 79
- 80
- 81
- 82
- 83
- …
- следующая ›
- последняя »
