Расширения мультимедийного ускорения - Multimedia Acceleration eXtensions - Wikipedia

В Расширения мультимедийного ускорения или же МАКСИМУМ являются расширениями набора инструкций для Hewlett Packard PA-RISC архитектура набора команд (ЭТО). MAX был разработан для повышения производительности мультимедийных приложений, которые становились все более распространенными в 1990-е годы.

Инструкции MAX работают с 32- или 64-битными SIMD типы данных состоящий из нескольких 16-битных целых чисел, упакованных в регистры общего назначения. Доступные функции включают в себя сложение, вычитание и сдвиг.

Первая версия, МАКС-1, был для 32-битный PA-RISC 1.1 ISA. Вторая версия, МАКС-2, был для 64-битный PA-RISC 2.0 ISA.

Известность

Подход примечателен тем, что набор инструкций намного меньше, чем в других мультимедийных процессорах, а также более универсален. Небольшой набор и простота инструкций сокращают текущие расходы на электронику, а также затраты и сложность конструкции. Универсальный характер инструкций увеличивает их общую ценность. Эти инструкции требуют лишь небольших изменений в арифметико-логическом блоке ЦП. Подобный подход к проектированию обещает стать успешной моделью для мультимедийных инструкций других конструкций ЦП.[1][2][3] Набор также невелик, потому что в ЦП уже включены мощные инструкции сдвига и манипуляции с битами: «Пара сдвига», которая сдвигает пару регистров, «извлечение» и «вставка» битовых полей, а также все общие побитовые логические операции ( и, или, исключающее-или, и т. д.).[2]

Этот набор мультимедийных инструкций также доказал свою работоспособность. В 1996 году 64-битные инструкции «MAX-2» позволили выполнять в реальном времени MPEG-1 и MPEG-2 видео, увеличивая при этом площадь RISC-процессора всего на 0,2%.[1]

Реализации

MAX-1 был впервые реализован с PA-7100LC в 1994 году. Обычно его относят к первому SIMD расширения ISA. Вторая версия, МАКС-2, был для 64-битный PA-RISC 2.0 ISA. Впервые он был реализован в PA-8000 микропроцессор выпущен в 1996 году.[1]

Основной подход к арифметике в MAX-2 заключается в «прерывании переноса» между 16-битовыми подсловами и выборе между модульной арифметикой, насыщением со знаком и без знака. Это требует лишь небольших изменений в арифметико-логическом устройстве.[2]

МАКС-1

ИнструкцияОписание
HADDПараллельное сложение с арифметикой по модулю
HADD, ssПараллельное добавление с насыщением со знаком
ХАДД, насПараллельное сложение с беззнаковым насыщением
HSUBПараллельное вычитание по модулю арифметики
HSUB, ssПараллельное вычитание с насыщением со знаком
HSUB, СШАПараллельное вычитание с беззнаковым насыщением
ИМЕЮТПараллельное среднее
HSHLADDПараллельный сдвиг влево и добавление с насыщением со знаком
HSHRADDПараллельный сдвиг вправо и добавление с насыщением со знаком

МАКС-2

Инструкции MAX-2 - это команды регистр-регистр, которые работают с несколькими целыми числами в 64-битных количествах. Все имеют задержку в один цикл в PA-8000 микропроцессор и его производные. Доступ к памяти осуществляется через стандартные 64-битные операции загрузки и сохранения.

Инструкции «MIX» и «PERMH» являются заметным нововведением, поскольку они переставляют слова в наборе регистров без доступа к памяти. Это может существенно ускорить многие операции.[2]

ИнструкцияОписание
HADDПараллельное сложение с арифметикой по модулю
HADD, ssПараллельное добавление с насыщением со знаком
ХАДД, насПараллельное сложение с беззнаковым насыщением
HSUBПараллельное вычитание по модулю арифметики
HSUB, ssПараллельное вычитание с насыщением со знаком
HSUB, СШАПараллельное вычитание с беззнаковым насыщением
HSHLADDПараллельный сдвиг влево и добавление с насыщением со знаком
HSHRADDПараллельный сдвиг вправо и добавление с насыщением со знаком
HAVGПараллельное среднее
HSHRПараллельный сдвиг вправо со знаком
HSHR, uПараллельный сдвиг вправо без знака
HSHLПараллельный сдвиг влево
СМЕШИВАНИЕСмешайте 16-битные подслова с 64-битным словом; MIX Left, Ra, Rb, Rc, Rc: = a1, b1, a3, b3; MIX Right, Rc: = a2, b2, a4, b4[2]
MIXWСмешайте 32-битные подслова с 64-битным словом; например MIXW Left, Ra, Rb, Rc, Rc: = a1, a2, b1, b2; MIXW Вправо, Rc: = a3, a4, b3, b4[2]
ПЕРМХПереставьте 16-битные подслова источника в любой возможной перестановке в регистре назначения, включая повторения.[2]

Рекомендации

  1. ^ а б c Ли, Руби Б. (Август 1996 г.). «Параллелизм подслов с MAX-2» (PDF). IEEE Micro. 16 (4): 51–59. Дои:10.1109/40.526925. Получено 21 сентября 2014.
  2. ^ а б c d е ж грамм Ли, Руби; Гек, Джерри (25 февраля 1996 г.). «64-битные и мультимедийные расширения в архитектуре PA-RISC 2.0». Труды Compcon 96: 152–160. Дои:10.1109 / CMPCON.1996.501762. ISBN  0-8186-7414-8.
  3. ^ Ли, Руби Б. (Апрель 1995 г.). «Ускорение мультимедиа с помощью усовершенствованных микропроцессоров» (PDF). IEEE Micro. 15 (2): 22–32. Дои:10.1109/40.372347. Получено 21 сентября 2014.