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

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

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

PSRAW mm,mm/m64 PSRAW mm,imm8 Арифметический сдвиг вправо mm(W) >>
mm/m64 -> mm(W) mm(W) >> imm8 -" mm(W)
PSRAD mm,mm/m64 PSRAD mm,imm8 Арифметический сдвиг вправо mm(D) >>
mm/m64 -> mm(D) mm(D) >> imm8 -> mm(D)
PSRLW mm,mm/m64 PSRLW mm,imm8 PSRLD mm,mm/m64 PSRLD mm,imm8 PSRLQ
mm,mm/m64 PSRLQ mm,imm8 Логический сдвиг вправо mm(W) >> mm/m64 -"
mm(W) mm(W) >> imm8 -" mm(W) mm(D) >> mm/m64 -" mm(D) mm(D) >> imm8 ->
mm(D) mm(Q) " mm/m64 -> mm(Q) mm(Q) >> imm8 -> mm(Q)
Команды PSLL[W, D, Q) производят логический сдвиг каждого элемента
(слова, двойного или счетверенного слова) влево. При этом освобождающиеся
младшие биты каждого элемента заполняются нулями. Команда PSRL[W, D, Q]
осуществляет логический сдвиг соответствующих элементов вправо, заполняя
освобождающиеся старшие биты каждого элемента нулями. Отметим, что если
заданное число разрядов сдвига превышает 15 (при сдвиге слов), 31 (при
сдвиге двойных слов) или 63 (при сдвиге счетверенного слова), то
результатом операции являются нулевые значения всех элементов.
Команда PSRA[W,D] выполняет арифметический сдвиг вправо каждого элемента
(слова или двойного слова), хранящегося в заданном MMX-регистре mm. При
таком сдвиге освобождающиеся старшие биты каждого элемента заполняются
значением знакового бита.
2.5.5. КОМАНДЫ СРАВНЕНИЯ И НАХОЖДЕНИЯ МАКСИМУМА/МИНИМУМА
Команды этой группы приведены в табл. 2.44. Выполнение этих команд
отличается от обычных команд сравнения, которые работают с регистрами
общего назначения. Обычные команды сравнения СМР не изменяют значения
исходных операндов, а результатом сравнения является установка
соответствующих признаков в регистре EFLAGS. ММХ-ко-манды сравнения
представляют результат операции в виде значения операнда, помещаемого в
регистр mm, и не устанавливают каких-либо признаков.
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
Таблица 2.44
Команды операций сравнения и нахождения максимума/минимума
Синтаксис команды Операция
PCMPEQB mm,mm/m64 PCMPEQW mm,mm/m64 PCMPEQD mm,mm/m64 FFh -" mm(Bi),
если mm(Bi) = mm/m64(Bi)0 Oh -" mm(Bi), если mm(Bi) * mm/m64(Bi) FFFFh -"
mm(Wi), если mm(Wi) = mm/m64(Wi)0 OOOh -> mm(Wi), если mm(Wi) t
mm/m64(Wi) FFFFFFFFh -" mm(Di), если mm(Di) = mm/m64(Di) OOOOOOOOh -"
mm(Di), если mm(Di) * mm/m64(Di)
PCMPGTB mm,mm/m64 PCMPGTW mm,mm/m64 FFh -> mm(Bi), еспи mm(Bi) >
mm/m64(Bi) OOh -> mm(Bi), если mm(Bi) < m/m64(Bi) FFFFh -> mm(Wi), если
mm(Wi) > mm/m64(Wi) OOOOh -> mm(Wi), если mm(Wi) < mm/m64(Wi)
PCMPGTD mm,mm/m64 FFFFFFFFh -> mm(Di), если mm(Di) > mm/m64(Di)
OOOOOOOOh -" mm(Di), если mm(Di) < mm/m64(Di)
PMAXSW mm,mm/m64 PMAXUB mm,mm/m64 Max[mm(W), mm/m64(W)] -" mm(W) со
знаком Max[mm(B), mm/m64(B)] -" mm(B) без знака
PMINSW mm,mm/m64 PMINUB mm,mnn/fti64 Min[mm(W), mm/m64(W)J -> mm(W) со
знаком Min[mm(B), mm/m64(B)] -" mm(B) без знака
Команды PCMPEQ[B, W, D] и PCMPGT[B, W, D] производят сравнение элементов
(байтов, слов или двойных слов), которые представляются как числа со
знаком. Если значения элемента в исходных операндах, которые
располагаются в регистре mm и регистре или ячейке памяти mm/m64, равны,
то при выполнении команды PCMPEQ (сравнение элементов на равенство), все
биты в соответствующем элементе результата, размещаемого в регистре mm,
принимают значение "1". В противном случае (неравенство элементов) все
биты в элементе результата принимают значение "О". Команда PCMPGT
(сравнение на большее значение) проверяет, имеет ли элемент операнда в
регистре mm большее значение, чем аналогичный элемент в регистре или
ячейке памяти mm/m64. Если это условие выполняется, то все биты
соответствующего элемента результата в регистре mm принимают значение
"1", в противном случае-значение "О".
Команды PMAXSW и PMAXUB реализуют выделение в исходных операндах
элементов с большим значением, из которых формируется результат операции.
Эти команды выполняют сравнение элементов исходных операндов, размещенных
в регистре mm и регистре или ячейке памяти mm/m64, выделяют элементы с
большим значением и размещают их в качестве соответствующих элементов
результата в регистр mm. Команды PMINSW и PMINUB также производят
сравнение элементов в исходных операндах, но выделяют элементы с меньшим
значением, которые размещаются в регистре mm в качестве результата
операции. Команды PMAXSW, PMINSW обрабатывают слова со знаком, команды
PMAXUB, PMINUB - байты без знака.
2.6. СИСТЕМА КОМАНД: ОПЕРАЦИИ SSE
В процессорах Pentium III технология ММХ получила дальнейшее развитие. В
структуру этих процессоров введен исполнительный блок SSE (см. рис. 2.1),
который обрабатывает по принципу SIMD (Single Instruction - Multiple
Data: Одна Команда - Много Данных) данные, представленные в формате с
плавающей точкой. Блок SSE содержит набор специализиро-
СИСТЕМА КОМАНД: ОПЕРАЦИИ SSE
ванных регистров и обеспечивает выполнение набора дополнительных команд.
Это расширение архитектуры процессоров семейства Р6 получило название
Предыдущая << 1 .. 77 78 79 80 81 82 < 83 > 84 85 86 87 88 89 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed