MMX
Материал из Википедии — свободной энциклопедии
| Эту статью следует викифицировать.
Пожалуйста, оформите её согласно правилам оформления статей.
|
MMX (Multimedia Extensions — мультимедийные расширения) — коммерческое название дополнительного набора инструкций, выполняющих характерные для процессов кодирования/декодирования потоковых аудио/видео данных действия за одну машинную инструкцию. Впервые появился в процессорах Pentium MMX. Разработан в лаборатории Intel в Хайфе, Израиль, в первой половине 1990-х.
Содержание |
[править] Регистры MMX
Расширение MMX включает в себя восемь 64-битных регистров общего пользования MM0—MM7. Физически никаких новых регистров с введением MMX не появилось. MM0—MM7 — это в точности мантиссы восьми регистров FPU (Математический сопроцессор), от R0—R7. Таким образом, нельзя одновременно пользоваться командами Математического сопроцессора и 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 — входной операнд.
Большинство команд имеют суффикс, который определяет тип данных и используемую арифметику:
- US (unsigned saturation) — арифметика с насыщением, данные без знака.
- S или SS (signed saturation) — арифметика с насыщением, данные со знаком. Если в суффиксе нет ни S, ни SS, используется циклическая арифметика (wraparound).
- B, W, D, Q указывают тип данных. Если в суффиксе есть две из этих букв, первая соответствует входному операнду, а вторая — выходному.
Выделяют следующие группы команд:
- Команды пересылки данных
- Команды преобразования типов
- Арифметические операции
- Команды сравнения
- Логические операции
- Сдвиговые операции
- Команды управления состоянием
[править] Литература
- Зубков С. В. Assembler для DOS, Windows, UNIX. 3-е изд., стер. — М. : ДМК Пресс; СПб. : Питер, 2004. — 608 с.
- Роберт Шимонски Освой самостоятельно Unix. 10 минут на урок = Sams Teach Yourself Unix in 10 Minutes. — М.: «Вильямс», 2006. — С. 272. — ISBN 0-672-32764-3
[править] Ссылки
- IA Software Developer’s Manual, Vol 1(англ.), см. раздел 8 о программировании MMX
- Codenet.ru(русск.), статья о программировании ММХ
| Это незавершённая статья о компьютерах. Вы можете помочь проекту, исправив и дополнив её. |
| Наборы расширения базовых инструкций процессоров семейства x86 |
|---|
| MMX | MMXEXT | SSE | SSE2 | SSE3 | SSSE3 | SSE4 | 3DNow! | 3DNowExt |

