Вычислительные системы с командными словами сверхбольшой длины (vliw)
VLIW — это набор команд, организованных наподобие горизонтальной микрокоманды в микропрограммном устройстве управления.
Идея VLIW базируется на том, что задача эффективного планирования параллельного выполнения нескольких команд возлагается на «разумный» компилятор. Такой компилятор вначале исследует исходную программу с целью обнаружить все команды, которые могут быть выполнены одновременно, причем так, чтобы это не приводило к возникновению конфликтов. В процессе анализа компилятор может даже частично имитировать выполнение рассматриваемой программы. На следующем этапе компилятор пытается объединить такие команды в пакеты, каждый из которых рассматривается как одна сверхдлинная команда. Объединение нескольких простых команд в одну сверхдлинную производится по следующим правилам:
количество простых команд, объединяемых в одну команду сверхбольшой длины, равно числу имеющихся в процессоре функциональных (исполнительных) блоков (ФБ);
в сверхдлинную команду входят только такие простые команды, которые исполняются разными ФБ, то есть обеспечивается одновременное исполнение всех составляющих сверхдлинной команды.
Длина сверхдлинной команды обычно составляет от 256 до 1024 бит. Такая метакоманда содержит несколько полей (по числу образующих ее простых команд), каждое из которых описывает операцию для конкретного функционального блока. Сказанное иллюстрирует рис. 29.22, где показан возможный формат сверхдлинной команды и взаимосвязь между ее полями и ФБ, реализующими отдельные операции.
Рис.29.22. Формат сверхдлинной команды и взаимосвязь полей команды с составляющими блока исполнения
Как видно из рисунка, каждое поле сверхдлинной команды отображается на свой функциональный блок, что позволяет получить максимальную отдачу от аппаратуры блока исполнения команд.
VLIW-архитектуру можно рассматривать как статическую суперскалярную архитектуру. Имеется в виду, что распараллеливание кода производится на этапе компиляции, а не динамически во время исполнения. То, что в выполняемой сверхдлинной команде исключена возможность конфликтов, позволяет предельно упростить аппаратуру VLIW-процессора и, как следствие, добиться более высокого быстродействия.
Максимальное число полей в сверхдлинной команде равно числу вычислительных устройств и обычно колеблется в диапазоне от 3 до 20. Все вычислительные устройства имеют доступ к данным, хранящимся в едином многопортовом регистровом файле. Отсутствие сложных аппаратных механизмов, характерных для суперскалярных процессоров (предсказание переходов, внеочередное исполнение и т. д.), дает значительный выигрыш в быстродействии и возможность более эффективно использовать площадь кристалла. Подавляющее большинство цифровых сигнальных процессоров и мультимедийных процессоров с производительностью более 1 млрд. операций/с базируется на VLIW-архитектуре. Серьезная проблема VLIW — усложнение регистрового файла и связей этого файла с вычислительными устройствами.
Предыдущая Содержание Следующая
- 29. Вычислительные системы класса simd
- Векторные и векторно-конвейерные вычислительные системы
- Понятие вектора и размещение данных в памяти
- Понятие векторного процессора
- Структура векторного процессора
- Ускорение вычислений
- Матричные вычислительные системы
- Массив процессоров
- Структура процессорного элемента
- Подключение и отключение процессорных элементов
- Сети взаимосвязей процессорных элементов
- Ассоциативные вычислительные системы
- Вычислительные системы с систолической структурой
- Классификация систолических структур
- Топология систолических структур
- Пример вычислений с помощью систолического процессора
- Вычислительные системы с командными словами сверхбольшой длины (vliw)