WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

MMX (Multimedia Extensions — мультимедийные расширения) — коммерческое название дополнительного SIMD набора инструкций, разработанного компанией Intel и впервые представленного в 1997 году одновременно с линией процессоров Pentium MMX. Набор инструкций был предназначен для ускорения процессов кодирования/декодирования потоковых аудио и видеоданных. Является развитием технологий, предложенных в микропроцессоре i860[1]. Разработан в лаборатории Intel в Хайфе, Израиль, в первой половине 1990-х[2][3].

Регистры MMX

Расширение MMX включает в себя восемь 64-битных регистров общего пользования MM0—MM7. Для совместимости со способами переключения контекста процессора в существующих ОС Intel была вынуждена объединить в программной модели процессора восемь регистров MMX с мантиссами восьми регистров FPU. Аппаратно это могут быть разные устройства, но с точки зрения программиста — это одни и те же регистры. Таким образом, нельзя одновременно пользоваться командами математического сопроцессора и MMX.

Типы данных MMX

Команды технологии MMX обрабатывают целочисленные данные, упакованные в группы (векторы) общей длиной 64 бита, либо одиночные 64-битные слова. Такие данные могут находиться в памяти или в восьми MMX-регистрах.

Команды технологии MMX работают со следующими типами данных:

  • упакованные байты (восемь байтов в одном 64-разрядном регистре) (англ. packed byte);
  • упакованные слова (четыре 16-разрядных слова в 64-разрядном регистре) (англ. packed word);
  • упакованные двойные слова (два 32-разрядных слова в 64-разрядном регистре) (англ. packed doubleword);
  • 64-разрядные слова (англ. quadword).

Синтаксис

MMX-команды имеют следующий синтаксис: instruction [dest, src] Здесь instruction — имя команды, dest обозначает выходной операнд, src — входной операнд.

Систему команд образуют 57 инструкций, позволяющих параллельно обрабатывать несколько элементов данных[4]. Большинство команд имеют суффикс, который определяет тип данных и используемую арифметику:

  • US (unsigned saturation) — арифметика с насыщением, данные без знака.
  • S или SS (signed saturation) — арифметика с насыщением, данные со знаком. Если в суффиксе нет ни S, ни SS, используется циклическая арифметика (wraparound).
  • B, W, D, Q указывают тип данных. Если в суффиксе есть две из этих букв, первая соответствует входному операнду, а вторая — выходному.

Можно выделить следующие группы инструкций[4]:

  • пересылки данных, позволяющих перемещать данные между регистрами MMX и целочисленными регистрами процессора или памятью;
  • упаковки и распаковки данных, позволяющих преобразовывать элементы векторов в элементы с меньшей разрядностью или попарно объединять элементы с образованием элементов большей разрядности;
  • арифметических, например, сложение и вычитание в различных режимах, умножение, а также операция умножения 4 пар операндов с последующим сложением первого произведения со вторым, а третьего с четвёртым;
  • сравнения векторов с записью результата сравнения в виде битовой маски;
  • логических — И, инверсия прямой импликации, ИЛИ и исключающее ИЛИ;
  • логических и арифметических сдвигов;
  • управления состоянием — установка признаков пустых регистров слова тегов FPU.

Выполнение инструкций MMX не приводит к изменению флагов условий слова состояния FPU, за исключением поля TOP. К регистрам MMX можно обращаться непосредственно по именам, в отличие от регистров FPU, которые организованы в стек с вершиной, определяемой полем TOP слова состояния FPU. При этом, поле TOP сбрасывается после выполнения любой инструкции MMX. Выполнение инструкций MMX возможно в любом режиме процессора[4].

MMX во встраиваемых процессорах

Семейство процессоров Intel XScale, начиная с модели PXA270, содержит дополнение к системе команд ARM, называемое iwMMXt, похожее на расширение IA-32 MMX.

Примечания

  1. Millind Mittal, Alex Peleg, Uri Weiser. MMX Technology Architecture Overview // Intel Technology Journal. — 1997. Т. 1, № 3.
  2. Intel in Haifa, Israel
  3. Intel Israel Fab Tour — первое официальное международное пресс-мероприятие Intel в Израиле
  4. 1 2 3 Михаил Гук. Процессоры Intel: от 8086 до Pentium II. — СПб: Питер, 1997. — С. 96. — 224 с. ISBN 5-88782-398-4.

Литература

  • Бердышев Евгений. Технология MMX. Новые возможности процессоров P5 и P6. — М: ДИАЛОГ-МИФИ, 1998. — 234 с. ISBN 5-86404-105-x.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии