Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 84

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 78 79 80 81 82 83 < 84 > 85 86 87 88 89 90 .. 528 >> Следующая

Streaming SIMD Extension - SSE (потоковое SIMD-расширение). Блок SSE
входит в структуру ряда типов процессоров семейства Р6. Чтобы определить,
поддерживает ли данный процессор SSE-расширение, следует воспользоваться
командой CPUID.
Ниже дается перечень SSE-команд, разбитых по функциональным группам.
Команды пересылки данных MOVAPS - Пересылка выровненных 128-разрядных
данных '
MOVHLPS - Пересылка 64-разрядных данных из старшей половины одного SSE-
регистра в младшую половину другого SSE-регистра
MOVHPS - Пересылка в память 64-разрядных данных из старшей половины SSE-
регистра MOVLHPS - Пересылка 64-разрядных данных из младшей половины
одного SSE-регистра в старшую половину другого SSE-регистра
MOVLPS - Пересылка в память 64-разрядных данных из младшей половины SSE-
регистра MOVMSKPS - Пересылка знаковых битов пакета с одинарной точностью
в регистр общего назначения
MOVSS - Пересылка 32-разрядных данных MOVUPS - Пересылка 128-разрядных
данных
Команды преобразования данных
SHUFPS - Изменение порядка размещения элементов в пакете одинарной
точности UNPCKHPS - Распаковка из старших половин пакетов UNPCKLPS -
Распаковка из младших половин пакетов
Арифметические команды
ADDPS - Сложение пакетов одинарной точности ADDSS - Сложение двух чисел
одинарной точности DIVPS - Деление пакетов одинарной точности DIVSS -
Деление двух чисел одинарной точности MULPS -Умножение пакетов одинарной
точности MULSS -Умножение двух чисел одинарной точности
RCPPS - Вычисление обратной величины элементов в пакете одинарной
точности RCPSS - Вычисление обратной величины числа одинарной точности
RSQRTPS - Вычисление обратной величины квадратного корня из элементов
пакета одинарной точности
RSQRTSS - Вычисление обратной величины квадратного корня из числа
одинарной точности SQRTPS - Вычисление квадратного корня из элементов
пакета одинарной точности SQRTSS - Вычисление квадратного корня из числа
одинарной точности SUBPS - Вычитание пакетов одинарной точности SUBSS -
Вычитание двух чисел одинарной точности
Команды нахождения максимума и минимума MAXPS - Нахождение максимума
пакетов одинарной точности MAXSS - Нахождение максимума двух чисел
одинарной точности MINPS - Нахождение минимума пакетов одинарной точности
MINSS - Нахождение минимума двух чисел одинарной точности
Команды сравнения
CMPPS - Сравнение пакетов одинарной точности CMPSS - Сравнение двух чисел
одинарной точности
COMISS - Сравнение двух чисел одинарной точности с установкой признаков в
регистре EFLAGS
UCOMISS - Сравнение двух чисел одинарной точности с установкой признаков
в регистре EFLAGS
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
Команды логических операций
ANDNPS -Логическое НЕ-И над 128-разрядными операндами ANDPS-Логическое И
над 128-разрядными операндами ORPS-Логическое ИЛИ над 128-разрядными
операндами XORPS - ИСКЛЮЧАЮЩЕЕ ИЛИ над 128-разрядными операндами Команды
преобразования формата чисел CVTPI2PS - Преобразование двойных слов со
знаком в числа одинарной точности CVTPS2PI - Преобразование чисел
одинарной точности в двойные слова со знаком (округление)
CVTSI2SS - Преобразование двойного слова со знаком в число одинарной
точности CVTSS2SI - Преобразование числа одинарной точности в двойное
слово со знаком (округление)
CVTTPS2PI - Преобразование чисел одинарной точности в двойные слова со
знаком (отбрасывание дробной части)
CVTTSS2SI - Преобразование числа одинарной точности в двойное слово со
знаком (отбрасывание дробной части)
Команды управления
FXRSTOR - Загрузка содержимого регистров FPU/ММХ и SSE FXSAVE-Сохранение
содержимого регистров FPU/ММХ и SSE LDMXCSR - Загрузка содержимого
регистра MXCSR STMXCSR - Сохранение содержимого регистра MXCSR
Команды передачи данных с управлением кэшированием MASKMOVQ - Выборочная
запись в память байтов из ММХ-регистра MOVNTPS - Запись в память
содержимого SSE-регистра MOVNTQ - Запись в память содержимого ММХ-
регистра PREFETCHTO - Предварительная выборка в кэш-память уровня L1 и L2
PREFETCHT1 - Предварительная выборка в кэш-память уровня L2 PREFETCHT2 -
Предварительная выборка в кэш-память уровня L2 PREFETCHNTA-
Предварительная выборка в кэш-память уровня L1 SFENCE-Упорядочивание
записи в памяти
2.6.1. ФОРМАТЫ ПРЕДСТАВЛЕНИЯ ДАННЫХ И ВЫПОЛНЕНИЕ ОПЕРАЦИЙ
Команды SSE обрабатывают данные в формате с плавающей точкой одинарной
точности (ОТ, рис. 2.16, д). Блок SSE содержит восемь 128-разрядных
регистров ХММ0-ХММ7 (рис. 2.32). В каждом SSE-регистре может храниться
четыре упакованных числа в формате с плавающей точкой одинарной точности
(рис. 2.33). Такой тип данных называется пакетом одинарной точности.
Элементами F3-F0 пакета являются 32-разрядные числа ОТ, которые содержат
знаковый бит S, 8-разрядный смещенный порядок Е и 23-разрядную мантиссу
М. При выполнении SSE-команд производится обработка каждого из элементов
аналогично тому, как это выполняется блоком ММХ с упакованными числами.
Большинство SSE-команд способны обрабатывать как весь пакет (такие
Предыдущая << 1 .. 78 79 80 81 82 83 < 84 > 85 86 87 88 89 90 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed