Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛК_МашЗавЯП_А4.doc
Скачиваний:
157
Добавлен:
10.06.2015
Размер:
19.94 Mб
Скачать
      1. Распаковка данных

XMM-команды распаковки попарно объединяют элементы данных из обоих операндов в более длинные элементы выходного операнда. Этими командами можно пользоваться для увеличения числа значащих разрядов при вычислениях.

Мнемоника

Описание

UNPCKHPS

UNPaCK High Packed Single precision float point data

Параллельное перемещение старших двойных слов из операнда-источника и операнда-приемника в операнд-приемник.Пример:

UNPCKLPS

UNPaCK Low Packed Single precision float point data

Параллельное перемещение младших двойных слов из операнда-источника и операнда-приемника в операнд-приемник. Пример:

SHUFPS

UNPaCK Low Packed Single precision float point data

Параллельная перестановка 32-разрядных упакованных операндов в соответствии с заданной маской. Команда имеет три операнда: входной, выходной и операнд-маску.

Маска представляет собой непосредственное 8-разрядное значение, задающее порядок перестановки операндов. Каждая пара битов маски определяет номер упакованного 32-разрядного операнда в приемнике или источнике, который должен помещаться в операнд-приемник. При этом порядок размещения 32-разрядных операндов таков: младшие 4 бита маски указывают номера двух упакованных чисел приемника, которые становятся младшими упакованными значениями результата, а старшие 4 бита — номера упакованных чисел источника, которые становятся старшими упакованными значениями результата. Пример:

      1. Управление кэшированием

Необходимость управления кэшированием вызвана тем, что большинство мультимедийных приложений оперируют большими объемами данных, при этом может случиться, что данные, загруженные в кэш, никогда не понадобятся. Чтобы оптимизировать работу кэша, в систему команд SSE-расширения и были включены команды управления кэшем.

Мнемоника

Описание

MASKMOVQ

mm1, mm2

MASK MOVe Quadword

Выборочная запись байтов в память из источника (ММХ-регистр mm1) по маске. Маска – это знаковые биты 8 байтов MMX-регистра mm2. Последовательно проверяются знаковые биты всех 8 байтов, и если какой-то из этих битов равен 1, то соответствующий байт источника копируется в область памяти, начальный адрес которой содержится в регистрах DS:DI/EDI. Если знаковый бит равен нулю, то соответствующий байт в приемнике будет нулевым.

MOVNTQ

MOVe using Non-Temporal of Quadword

Сохранение учетверенного слова из ХММ-регистра в памяти без использования кэша.

MOVNTDQ

MOVe using Non-Temporal of Double Quadword

Сохранение двойного учетверенного слова из ХММ-регистра в памяти без использования кэша.

MOVNTPD

MOVe Non Temporal aligned Packed Double precision float point data

Запись в память, минуя кэш, упакованных чисел с плавающей точкой c удвоенной точностью. Операндом-источником здесь выступает ХММ-регистр, а операндом-приемником — 128-разрядная ячейка памяти, адрес которой должен быть выровнен по 16-байтовой границе.

MOVNTPS

MOVe Non-Temporal Packed Single precision float point

Запись в память, минуя кэш, упакованных чисел с плавающей точкой в коротком формате. Операндом-источником здесь выступает ХММ-регистр, а операндом-приемником — 128-разрядная ячейка памяти, адрес которой должен быть выровнен по 16-байтовой границе.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]