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