VLIW

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Процессор Itanium 2 в корпусе PAC — один из представителей VLIW-архитектур

VLIW (англ. very long instruction word — «очень длинная машинная команда») — архитектура процессоров с несколькими вычислительными устройствами. Характеризуется тем, что одна инструкция процессора содержит несколько операций, которые должны выполняться параллельно[1][2]. Фактически это «видимое программисту» микропрограммное управление, когда машинный код представляет собой лишь немного свёрнутый микрокод для непосредственного управления аппаратурой.

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

VLIW можно считать логическим продолжением идеологии RISC, расширяющей её на архитектуры с несколькими вычислительными модулями. Так же, как в RISC, в инструкции явно указывается, что именно должен делать каждый модуль процессора. Из-за этого длина инструкции может достигать 128 или даже 256 бит.

Пример[править | править вики-текст]

Рассмотрим работу модельного VLIW-процессора с двумя арифметическо-логическими устройствами (АЛУ). Пусть нам надо сложить четыре числа, находящиеся в регистрах R1, R2, R3 и R4. Тогда псевдокод может выглядеть так:

 R5=R1+R2, R6=R3+R4 ; каждое АЛУ складывает свою пару чисел
 R0=R5+R6, NOP      ; первое АЛУ находит сумму, второе простаивает

Преимущества и недостатки[править | править вики-текст]

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

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

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

Реализации[править | править вики-текст]

Первые VLIW-процессоры были разработаны в конце 1980-х компаниями Cydrome, MultiFlow[3], Culler.[4]

В чистом виде архитектуру VLIW имеют процессоры TriMedia фирмы Philips и семейство DSP C6000 фирмы Texas Instruments.

Микропроцессор Transmeta Crusoe содержит слой двоичной совместимости с архитектурой x86, который компилирует инструкции во внутренний формат процессора (code morphing). Ядро Crusoe является VLIW-процессором.[5]

Микропроцессор Intel Itanium имеет 64-битную систему команд EPIC-процессора с явным параллелизмом, которая является одним из вариантов VLIW.

Многопроцессорный вычислительный комплекс «Эльбрус-3» и микропроцессоры серии «Эльбрус» («Эльбрус 2000», «Эльбрус S») являются VLIW-процессорами.[6]

Процессоры, выпускаемые фирмой Tilera, также имеют VLIW-архитектуру.[7]

VLIW также получила хорошее распространение на рынке GPU, так, видеопроцессоры AMD/ATI Radeon начиная с R600 и до современных имеют VLIW архитектуру.[8] [9] Начиная с Southern Islands (первый квартал 2012) компания AMD/ATI отошла от подхода VLIW[10]

См. также[править | править вики-текст]

Ссылки[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Современные высокопроизводительные компьютеры В. Шнитман, информационно-аналитические материалы Центра Информационных Технологий, 1996 год. Глава 7, раздел "Архитектура машин с длинным командным словом"
  2. An Introduction To Very-Long Instruction Word (VLIW) Computer Architecture // Philips Semiconductor
  3. http://pdf.aminer.org/000/053/680/a_vliw_architecture_for_a_trace_scheduling_compiler.pdf
  4. VLIW: старая архитектура нового поколения // IXBT
  5. Transmeta Crusoe. Первый взгляд
  6. http://ixbtlabs.com/articles2/vliw/ «Elbrus-3, … it was a decent stage in the development of the VLIW.»
  7. http://arstechnica.com/business/news/2010/06/tilera-launches-512-core-server-for-the-cloud.ars «Tilera’s cores implement a very simple VLIW design»
  8. Лев Дымченко. Вычисления на GPU. Особенности архитектуры AMD/ATI Radeon. ixbt.com. Архивировано из первоисточника 8 февраля 2012.
  9. Дмитрий Владимирович. Обзор видеокарты AMD Radeon HD 6870. overclockers.ru. Архивировано из первоисточника 8 февраля 2012.
  10. AMD раскрыла подробности архитектуры Next Generation Core – основы видеокарт Radeon HD 7900. http://www.ixbt.com/. Архивировано из первоисточника 8 февраля 2012.