ФЭНДОМ


Шаблон:Значения 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-разрядном регистре) (Шаблон:Lang-en);
  • упакованные слова (четыре 16-разрядных слова в 64-разрядном регистре) (Шаблон:Lang-en);
  • упакованные двойные слова (два 32-разрядных слова в 64-разрядном регистре) (Шаблон:Lang-en);
  • 64-разрядные слова (Шаблон:Lang-en).

Синтаксис Править

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.

Примечания Править

Ссылки Править

Шаблон:Rq

Шаблон:Наборы инструкций процессоров x86

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

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

Также на ФЭНДОМЕ

Случайная вики