Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Программная модель MMX






MMX-технология разработана для ускорения обработки данных мультимедиа и коммуникационных программ.

Наибольший эффект достигается при выполнении программ со следующими свойствами:

· малый размер данных (8‑ битные пикселы, 16‑ битные звуковые данные);

· короткие часто повторяющиеся циклы;

· частые умножения и накопления.

В основе обработки – принцип SIMD (обработка одной командой сразу нескольких единиц информации).

MMX-регистры отображены на регистры FPU (MMi «STi) для сохранения совместимости (на мантиссы). Отображение фиксировано, не зависит от TOP (i указывает на физический номер регистра). Следовательно, нельзя смешивать код. Причем выходить из секции FPU следует с пустым регистровым стеком, а завершать секцию MMX следует очисткой MMX-контекста.

MMX-технология вводит 4 новых типа 64-разрядных данных:

· упакованные байты;

· упакованные слова;

· упакованные двойные слова;

· учетверенное слово.

MMX-технология вводит новую арифметику – арифметику с насыщением: в отличие от обычной арифметики (с циклическим переносом) когда в случае переполнения возвращаются только младшие биты результата, а старшие обрезаются, в режиме насыщения результат операции, выходящий за границу диапазона данных, насыщается до предельно возможного значения для используемого типа данных.

Система команд MMX включает следующие команды:

· арифметические команды (сложение, вычитание, умножение в разных форматах);

· команды сравнения (формируются маски из 0 и 1);

· команды преобразования (байты, слова, двойные слова и учетверенные слова);

· команды логических операций (над 64‑ разрядными операндами);

· команды сдвига (логические и арифметические сдвиги);

· команды переноса данных (память-регистр, регистр-память и регистр-регистр);

· очистка контекста (все поля регистра тэгов забиваются значениями 112).

Инструкции MMX имеют сложный формат, который включает:

· префикс P (Packed), указывающий на обработку данных в упакованном формате;

· код операции;

· суффикс, указывающий тип насыщения: US (Unsigned Saturation) – насыщение беззнаковое, S (Signed Saturation) – насыщение знаковое;

· суффикс, указывающий тип данных: B – упакованные байты, W – упакованные слова, D – упакованные двойные слова, Q – учетверенное слово.

Если типы входных и выходных данных инструкции отличаются (например, при преобразовании), то команда имеет два суффикса.

Для команд пересылки данных источник и приемник могут находиться в памяти, целочисленных регистрах и регистрах MMX. Для всех остальных инструкций источник может быть и непосредственным операндом, а операнд-приемник – всегда регистр MMX.

Инструкции MMX не влияют на флаги условий. Исключения при выполнении команд MMX могут возникать при нарушении границ в обращениях к памяти.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.