PIII-PIV (Форматы данных и команды их обработки процессоров Pentium III, Pentium IV), страница 6

2016-07-31СтудИзба

Описание файла

Документ из архива "Форматы данных и команды их обработки процессоров Pentium III, Pentium IV", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "PIII-PIV"

Текст 6 страницы из документа "PIII-PIV"

CVTSD2SI Преобразование скалярного числа одинарной точности в 32-битное целое

CVTTSD2SI Преобразование с усечением скалярного числа двойной точности в 32-битное целое

CVTS12SD Преобразование 32-битного целого в число двойной точности

Инструкции преобразований с числами одинарной точности

CVTDQ2PS Преобразование упакованных 32-битных целых в упакованные числа с плавающей точкой одинарной точности

CVTPS2DQ Преобразование упакованных чисел одинарной точности в числа двойной точности

CVTTPS2DQ Преобразование с усечением упакованных чисел одинарной точности в числа двойной точности

Целочисленные 128-битные SIMD-инструкции

MOVDQA Пересылка выровненного 128-битного операнда

MOVDQU Пересылка невыровненного 128-битного операнда

MOVQ2DQ Пересылка 64-битного целого из ММХ в ХММ

MOVDQ2Q Пересылка 64-битного целого из ХММ в ММХ

PMULUDQ Умножение упакованных беззнаковых 32-битных целых

PADDQ Сложение упакованных 64-битных целых

PSUBQ Вычитание упакованных 64-битных целых

PSHUFLW Перестановка упакованных младших слов

PSHUFHW Перестановка упакованных старших слов

PSHUFD Перестановка упакованных двойных слов

PSLLDQ Логический сдвиг 64-битных чисел влево

PSRLDQ Логический сдвиг 64-битных чисел вправо

PUNPCKHQDQ Распаковка старших 64-битных чисел

PUNPCKLQDQ Распаковка младших 64-битных чисел Управление кэшированием

CLFLUSH Очистка и инвалидация строки кэша (всех уровней), связанной с указанным операндом в памяти

LFENCE Упорядочивание операций загрузки из памяти

MFENCE Упорядочивание операций загрузки и записи

PAUSE Улучшение выполнения цикла ожидания

MASKMOVDQU Выборочная запись байтов из ХММ в память, минуя кэш

MOVNTPD Запись пары упакованных чисел из ХММ в память, минуя кэш

MOVNTDQ Запись 128-битного числа из ХММ в память, минуя кэш

MOVNTI Запись двойного слова из регистра общего назначения в память, минуя кэш

Инструкции 3DNow!, появившиеся с процессорами AMD K6-2, поддерживаются всеми последующими процессорами AMD и некоторыми другими процессорами.

Процессоры Intel этот набор не поддерживают, хотя в SSE имеются инструкции, совпадающие с частью инструкций 3DNow!. В процессорах Athlon расширение 3DNow! получило дополнительные инструкции для сигнальных процессоров. Целочисленные инструкции ММХ и управления кэшированием совпадают с одноименными инструкциями SSE. В данной работе инструкции 3DNow! не рассмотрены, так как не относятся к инструкциям процессоров Pentium 3,4.

  1. Команды блока XMM (SSE и SSE2)

Порядок описания команд в этом разделе следующий:

• в заголовок вынесена схема команды, поясняющая общий набор и назначение операндов;

• в следующей строке дается название команды, расшифровка ее мнемоники и назначение;

• далее следует синтаксис команды (сложный синтаксис приводится в виде диаграмм), при описании которого используются следующие обозначения:

• r8, r16, r32 — операнд в одном из регистров размером байт, слово или двойное слово;

• m8, m16, m32, m48, m64 — операнд в памяти размером байт, слово, двойное слово или 48 бит;

• i8, i16, i32 — непосредственный операнд размером байт, слово или двойное слово;

• машинный код для всех сочетаний операндов описываемой команды (при сложном синтаксисе машинный код включается в синтаксис);

• состояние флагов после выполнения команды;

• описание действия команды;

• описание флагов после выполнения команды, при этом приводятся сведения только о флагах, изменяемых командой, и используются следующие обозначения:

• 1 — флаг устанавливается (равен 1);

• 0 — флаг сбрасывается (равен 0);

• r — значение флага зависит от результата выполнения команды;

• ? — после выполнения команды флаг не определен;

• список исключений.

На многих диаграммах в целях компактности возможные сочетания операндов показаны в виде следующей конструкции:

Конструируя команду на основе подобной синтаксической диаграммы, нужно помнить о соответствии типов. Допустимы только следующие сочетания: "r8, m8", "r16, m16", "r32, m32", а сочетание, например, "r8, m16" недопустимо. Однако, есть единичные случаи, когда подобные сочетания возможны; тогда они оговариваются специальным образом.

Описание машинного кода приводится в двух вариантах.

• В двоичном виде. Это описание применяется для демонстрации особенностей внутренней структуры машинной команды. Байты машинного представления машинной команды отделяются двоеточием.

• В шеснадцатеричном виде. Каждый байт машинного представления команды представлен двумя шестнадцатеричными цифрами. Часто за одним (двумя и более) первым байтом следует обозначение: /цифра. Это означает, что поле reg в байте mod r/m используется как часть кода операции и цифра представляет содержимое этого поля.

Вместо цифры может стоять символ "r" — /r. Как уже не раз отмечалось, большинство команд процессора — двухоперандные. Один операнд располагается в регистре, местоположение другого операнда определяет байт ModR/M — это может быть либо регистр, либо ячейка памяти. Более того, если операнд — ячейка памяти, то содержимое байта ModR/M определяет номенклатуру компонентов машинного кода команды, которые должны использоваться для вычисления эффективного адреса.

При описании команд могут быть опущены некоторые из перечисленных пунктов. Например, отсутствие пункта "синтаксис" говорит о том, что он совпадает со схемой команды. Отсутствие пункта "исключения" означает, что при выполнении данной команды исключения не возникают. То же касается описания флагов.

Некоторые регистры программной модели процессора имеют внутреннюю структуру. Указание того, о каком поле такого регистра идет речь, показано следующим образом: имя_регистра.имя_поля.

    1. Команды блока XMM (SSE – Pentium 3)

ADDPS приемник, источник

ADDPS (ADDition Packed Single-precision float-point) — сложение упакованных значений в формате ХММ.

Синтаксис: ADDPS rxmm1, rxmm2/m128

Машинный код: 00001111:01011000:mod rxmm1 r/m

Действие: алгоритм работы команды показан на рисунке ниже.

Исключения: NE: #O, #U, #I, #Р, #D; PM: #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10,11,12,13; #XM; RM: #GP: 13; #NM: 3; #UD: 17,18; #XM; VM: исключения реального режима; #PF(fault-code).

ADDSS приемник, источник

ADDSS (ADD Scalar Single-precision float-point) — скалярное сложение значений в формате ХММ.

Синтаксис: ADDSS rxmm1, rxmm2/m128

Машинный код: 11110011:00001111:01011000:mod rxmm1 r/m

Действие: алгоритм работы команды показан на рисунке ниже.

Исключения: NE: #O, #U,. #I, #P, #D; PM: #АС: 4; #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10-13; #XM; RM: #GP: 13; #NM: 3; #UD: 17-20; #XM; VM: исключения реального режима; #АС(0); #PF(fault-code).

ANDNPS приемник, источник

ANDNPS (bit-wise logical AND Not for Packed Single-precision float-point) — поразрядное логическое И-НЕ над упакованными значениями в формате ХММ.

Синтаксис: ANDNPS rxmm1, rxmm2/m128

Машинный код: 00001111:01010101:mod rxmm1 r/m

Действие: инвертировать биты операнда приемник, над каждой парой битов операндов приемник (после инвертирования) и источник выполнить операцию логического И.

Исключения: PM: #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10,12,13; RM: #GP: 13; #NM: 3; #UD: 7; VM: исключения реального режима; #PF(fault-code); #UD: 16, 17.

ANDPS приемник, источник

ANDPS (bit-wise logical AND for Packed Single-precision float-point) — поразрядное логическое И над каждой парой бит операндов источник и приемник.

Синтаксис: ANDPS rxmm1, rxmm2/m128

Машинный код: 00001111:01010100: mod rxmm 1 r/m

Исключения: 1; PM: #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10,12, 13; RM: #GP: 13; #NM: 3; #UD: 17, 19, 20; VM: исключения реального режима; #PF(fault-code).

CMPPS приемник, источник, условие

CMPPS (CoMPare Packed Single-precision float-point) — сравнение упакованных значений в формате ХММ

Синтаксис: CMPPS rxmm1, rxmm2/m128, i8

Машинный код: 00001111:11000010: mod rxmm1 r/m: i8

Действие: условие, в соответствии с которым производится сравнение каждой пары элементов операндов приемник и источник, задается явно в виде непосредственного операнда (см. ниже). В результате сравнения в приемнике формируются единичные (если условие выполнено) или нулевые элементы (если условие не выполнено).

Усло-вие

Описание условия

Отношение

Эмуляция

Код маски i8

Результат, если операнд NaN

Исключение #I, если операнд qNAN/sNAN

Eq

Equal

(равно)

xmm1==

xmm2

000b

False

Нет

Lt

less-than

(меньше

чем)

xmm1<<

xmm2

001 b

False

Да

Le

less-than -

or-equal

(меньше

чем или

равно)

xmm1<<=

xmm2

010b

False

Да

greater than (больше

чем)

xmm1>> xmm2

Перестанов-ка с сохране­нием, lt

False

Да

greater-

than-or-

equal

(больше

чем или

равно)

xmm1>>=

xmm2

Перестанов-ка с сохране­-

нием, le

False

Да

Unord

Unordered

(одно из

чисел

QNAN)

xmm1 ?

xmm2

011b

True

Нет

Neq

not-equal

(не равно)

!(xmm1==

xmm2)

100b

True

Нет

Nit

not-less-

than (не

меньше

чем)

!(xmm1 <<

xmm2)

101b

True

Да

NIe

not-less-

than-or-

equal (не

меньше чем

или равно)

!(xmm1<<=

xmm2)

110b

True

Да

not-greater-

than(не

больше

чем)

!(xmm1>>

xmm2)

Перестанов-ка с сохране­нием, nlt

True

Да

not-greater-than-or-

equal (не больше чем

или равно)

!(xmm1>>= xmm2)

Перестанов-ка с сохране­нием, nle

True

Да

Ord

Ordered

(числа

неQNAN)

!(xmm1

?xmm2)

111b

False

Нет

Исключения: 1; NE: #I, #D; PM: #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10-13; #XM; RM: #GP: 13; #NM: 3; #VD: 17-20; #XM; VM: исключения реального режима; #PF(fault-code).

CMPSS приемник, источник, условие

CMPSS (CoMPare Scalar Single-precision float-point) — скалярное сравнение значений в формате ХММ.

Синтаксис: CMPSS rxmm1, rxmm2/m32, i8

Машинный код: 11110011:00001111:11000010:mod rxmm1 r/m: i8

Действие: для пары значений операндов приемник и источник выполняется сравнение, в результате которого формируются единичные (если условие выполнено) или нулевые элементы (если условие не выполнено). Значение источника может быть расположено в 32-битной ячейке памяти или в младшем двойном слове регистра ХММ. Значение приемника расположено в младшем двойном слове другого регистра ХММ.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее