записи выполнения – последовательности событий, которые действительно
происходят во время работы программы. Компилятор передаёт план
выполнения (через архитектуру набора команд, которая точно описывает
параллелизм) аппаратному обеспечению, которое, в свою очередь, выполняет
этот план.
Процессоры VLIW представляют собой пример архитектуры, для которой
программа представляет точную информацию о параллелизме. Компилятор
выявляет параллелизм в программе и сообщает программному обеспечению,
какие операции не зависят друг от друга. Эта информация имеет важное
значение для аппаратного обеспечения, поскольку в этом случае оно «знает»
без дальнейших проверок, какие операции можно начинать выполнять в одном
и том же такте.
Достоинства VLIW заключаются в следующем:
Компилятор может эффективнее исследовать зависимости между командами
и выбирать параллельно исполняемые команды, чем это делает аппаратура
суперскалярного процессора, ограниченная размером окна исполнения.
VLIW процессор имеет более простое устройство управления и
потенциально может иметь более высокую тактовую частоту.
Однако у VLIW процессоров есть серьёзный фактор, снижающий их
производительность. Это команды ветвления, зависящие от данных, значения
которых становятся известны только в динамике вычислений. Окно исполнения
VLIW-процессора, не может быть очень большим в виду отсутствия у
компилятора информации о зависимостях, формируемых динамически, в
процессе выполнения. Этот недостаток препятствует возможности
переупорядочивания операций в VLIW процессоре. Кроме того, VLIW
реализация требует большого размера памяти имён, многовходовых
регистровых файлов, большого числа перекрёстных связей.
EPIC-процессоры.
Тип архитектуры Explicitly Parallel Instruction Computing – это эволюция
архитектуры VLIW, которая абсорбировала в себе многие концепции
суперскалярной архитектуры, хотя и в форме, адаптированной к EPIC. По сути,
EPIC – это «идеология», определяющая, как создавать ILP-процессоры, а также
набор характеристик архитектуры, которые поддерживают данную идеологию.
К архитектуре EPIC можно отнести множество различных архитектур набор
команд (ISA). Помимо включения или исключения той или иной
характеристики архитектуры, которые мы рассматриваем, проектировщики
процессоров должны принимать традиционные решения по таким вопросам,
как набор кодов операций, диапазон поддерживаемых типов данных и
количество используемых регистров. Любая архитектура, относящаяся к классу
EPIC должна реализовывать общую идеологию EPIC. В зависимости от того,
какие из характеристик EPIC использует архитектура ISA, она может быть
оптимизирована для различных приложений, например, для систем общего
назначения или встроенных устройств. Из чего следует, что тип архитектуры