Архитектура очень длинного командного слова (VLIW)

Опубликовано: 27 Декабря, 2021

Ограничения суперскалярного процессора очевидны, поскольку сложность планирования инструкций становится сложной. Внутренний параллелизм в потоке команд, сложность, стоимость и проблема с инструкциями ветвления решаются с помощью более высокой архитектуры набора команд, называемой очень длинным словом команд (VLIW) или VLIW Machines .

VLIW использует параллелизм на уровне инструкций, то есть в нем есть программы для управления параллельным выполнением инструкций. В других архитектурах производительность процессора повышается с помощью любого из следующих методов: конвейерная обработка (разбиение инструкции на части), суперскалярный процессор (независимое выполнение инструкций в разных частях процессора), выполнение вне очереди. (выполняйте заказы иначе, чем программа), но каждый из этих методов значительно усложняет оборудование. Архитектура VLIW решает это в зависимости от компилятора. Программы решают параллельный поток инструкций и разрешают конфликты. Это увеличивает сложность компилятора, но значительно снижает сложность оборудования.

Функции :

  • Процессоры в этой архитектуре имеют несколько функциональных блоков, извлекаемых из кэша инструкций, которые имеют очень длинное слово инструкции.
  • Несколько независимых операций сгруппированы в одной инструкции VLIW. Они инициализируются в одном такте.
  • Каждой операции назначается независимая функциональная единица.
  • Все функциональные блоки имеют общий регистровый файл.
  • Командные слова обычно имеют длину 64-1024 бита в зависимости от количества исполнительных блоков и длины кода, необходимого для управления каждым блоком.
  • Планирование инструкций и параллельная отправка слова выполняется компилятором статически.
  • Компилятор проверяет зависимости перед планированием параллельного выполнения инструкций.

Блок-схема архитектуры VLIW

Пространственно-временная диаграмма процессора VLIW, где 4 инструкции выполняются параллельно в одном командном слове

Преимущества :

  • Снижает сложность оборудования.
  • Снижает энергопотребление за счет уменьшения сложности оборудования.
  • Поскольку компилятор заботится о проверке зависимостей данных, декодировании и проблемах с инструкциями, это становится намного проще.
  • Увеличивает потенциальную тактовую частоту.
  • Функциональные блоки позиционируются компилятором в соответствии с карманом инструкций.

Недостатки:

  • Требуются сложные компиляторы, которые сложно спроектировать.
  • Увеличен размер программного кода.
  • Большая пропускная способность памяти и пропускная способность регистрового файла.
  • Незапланированные события, например промах в кеш-памяти, могут привести к остановке работы всего процессора.
  • В случае незаполненных кодов операций в VLIW происходит потеря пространства памяти и пропускной способности инструкций.

РЕКОМЕНДУЕМЫЕ СТАТЬИ