41317

Изучение команд SSE и SSE2

Практическая работа

Коммуникация, связь, радиоэлектроника и цифровые приборы

Практически изучить команды SSE и SSE2 для МП. Методические материалы и литература: Методические указания по выполнению практических работ; Иллюстративный материал: команды управления на языке SM для МП. При этом использовать описание работы лабораторный блок ПК иллюстрационный материал; В практической части отработать следующие подразделы: Рассмотреть примеры использования команд ХММрасширения Выполнить пример формирования кода операции и порядок следования операндов команд ХММрасширения...

Русский

2013-10-23

1.24 MB

49 чел.

                  Дисциплина: « Микропроцессоры и микропроцессорные системы»

Практическая работа № 3

   Тема:          «Изучение  команд  SSE и SSE2».

Цель:    Практически изучить команды SSE и SSE2 для МП. 

     Время:              2 часа

   

   Оборудование:    ПК, ПО.

   Методические материалы и литература:

  •  Методические указания по выполнению практических работ;
  •  Иллюстративный материал: «команды    управления на языке ASM для МП».

 Методические указания по выполнению практической работы:

  Последовательность выполнения работы:

  1.  Изучить основные теоретические положения по теме, используя описание работы;
  2.  Выполнить практическую часть лабораторной работы. При этом  использовать описание работы, лабораторный блок ПК, иллюстрационный материал; В практической части отработать следующие подразделы:
  •  Рассмотреть  примеры использования команд ХММ-расширения
  •  Выполнить пример формирования кода операции и порядок следования операндов команд ХММ-расширения,
  •  Проанализировать структуру команд ХММ-расширения,
  1.  Ответить на контрольные вопросы.
  2.  Сделать выводы.
  3.  Подготовить отчёт по установленной форме.
  4.  Представить отчёт для защиты преподавателю.

1. Основные теоретические положения

Технология MMX

 

 Intel Pentium ММХ

 

 В1997 году появляется процессор с некоторыми встроенными средствами поддержки мультимедиа. Основная ставка Intel в этом процессоре - ускоренная обработка изображения и аудиоданных.  Технические характери-стики сильно не отличались  от Intel Pentium; были добавлены новые инструкции, и повышена максимальная тактовая частота до 233 МГц. 

В зависимости от контекста, MMX может означать multi-media extensions (мультимедийные расширения) или matrix math extensions (матричные математические расширения). Технология MMX использовалась в старших моделях процессоров Pentium пятого

 

  

       Рис. 1. Вид процессора Intel Pentium MMX сверху и снизу.

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

 В архитектуре процессоров MMX есть два основных усовершенствования.

  1.  Первое, фундаментальное, состоит в том, что все микросхемы MMX имеют больший внутренний встроенный кэш, чем их собратья, не использующие эту технологию. Это повышает эффективность выполнения каждой программы и всего программного обеспечения неза-

 висимо от того, использует ли оно фактически команды MMX.

  1.  Другое усовершенствование MMX состоит в расширении набора команд процессора 57 новыми командами, а также во введении новой возмож-ности выполнения команд, называемой одиночный поток команд—множественный поток данных (Single Instruction—Multiple Data, SIMD).

В современных мультимедийных и сетевых приложениях часто используются циклы; хотя они занимают около 10% (или даже меньше) объема полного кода приложения, на их выполнение может уйти до 90% общего времени выполнения.

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

обработке графических, анимационных, видео- и аудиофайлов; в противном случае эти циклы отнимали бы время у процессора.

 

 Intel также добавила 57 новых команд, специально разработанных для более эффективной обработки звуковых, графических и видеоданных. Эти команды предназначены для выполнения с высокой степенью параллелизма последовательностей, которые часто встречаются при работе мультимедийных программ. Высокая степень параллелизма в данном случае означает, что одни и те же алгоритмы применяются ко многим данным, например к данным в различных точках при изменении графического изображения.

 

Такие компании, как AMD и Cyrix, лицензировали у Intel технологию MMX и реализовали ее в собственных процессорах.

  

   Intel Pentium II

 

В мае 1997 года выходит в свет новый микропроцессор Intel Pentium II

(см. Рис.2)  

Новое имя не принесло особых улучшений архитектуры:

Pentium II  был собран на ядре Pentium Pro, правда, с увеличенной тактовой частотой. Яркой особенностью Pentium II   стала модульная конструкция с разъемом типа Slot 1 и картриджем SЕСС (Single Edge Contact Cartridge).  .  

 Технические характеристики:

  •  тактовая частота от 233 до 450 МГц,
  •   технология 0,25 микрон,
  •  примерно 7,5 миллионов транзисторов в ядре,
  •   кэш-память 2 уровня 512 Кб, первый уровень 32 Кб.
  •   В кристалл встраивается термодатчик, что позволяет мерить температуру прямо на ядре.

  

Рис.2   Внешний вид микропроцессора Intel Pentium II 

Инструкции SSE и SSE2

В феврале 1999 года Intel представила общественности процессор Pentium III, содержащий обновление технологии MMX, получившей название:

SSE (Streaming SIMD Extensions - потоковые расширения SIMD).  До этого момента инструкции SSE носили имя Katmai New Instructions (KNI), так как первоначально они были включены в процессор Pentium III с кодовым именем Katmai.

 Процессоры Celeron 533A и выше, созданные на основе ядра Pentium III, тоже поддерживают инструкции SSE.

 Более ранние версии процессора Pentium II, а также Celeron 533 и ниже (созданные на основе ядра Pentium II) SSE не поддерживают.

 

 Инструкции SSE содержат 70 новых команд для работы с графикой и звуком в дополнение к существующим командам MMX. Фактически этот набор инструкций кроме названия KNI имел еще и второе название — MMX-2.  Инструкции SSE позволяют выполнять операции с плавающей запятой, реализуемые в отдельном модуле процессора.

В технологиях MMX для этого использовалось стандартное устройство с плавающей запятой.

 Инструкции SSE2, содержащие в себе 144 дополнительные команды SIMD, были представлены в ноябре 2000 года вместе с процессором Pentium4 

В SSE2 были включены все инструкции предыдущих наборов MMX и SSE.

Потоковые расширения SIMD (SSE) содержат целый ряд новых команд для выполнения операций с плавающей запятой и целыми числами, а также команды управления кэш-памятью.

Новые технологии SSE позволяют более эффективно работать:

  •  с трехмерной графикой,
  •   потоками аудио- и видеоданных (DVD-воспроизведение),
  •   а также приложениями распознавания речи.

 В целом SSE обеспечивает следующие преимущества:

  •  более высокое разрешение/качество при просмотре и обработке графических изображений;
  •  улучшенное качество воспроизведения звуковых и видеофайлов в формате MPEG2,
  •  а также одновременное кодирование и декодирование формата MPEG2 в мультимедийных приложениях;
  •  уменьшение загрузки процессора и повышение точности/скорости реагирования при выполнении программного обеспечения для распознавания речи.

 Инструкции SSE и SSE2 особенно эффективны при декодировании файлов формата MPEG2, который является стандартом сжатия звуковых и видеоданных, используемым в DVD-дисках.

 Следовательно, SSE-оснащенные процессоры позволяют достичь макси-

мальной скорости декодирования MPEG2 без использования дополнительны аппаратных средств (например, платы декодера MPEG2). Кроме того, процессо-ры, содержащие набор инструкций SSE, значительно превосходят предыдущие версии процессоров при распознавании речи.

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

Технология SIMD, как и MMX, позволяет выполнять сразу несколько операций при получении процессором одной команды. В частности, SSE под-

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

Наилучший результат использования новых инструкций процессора обеспечивается только при их поддержке на уровне используемых приложений.

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

 Поддержка инструкций SSE встроена в DirectX и в самые последние видео- и аудиодрайверы, поставляемые с операционными системами Windows Windows NT, Windows xp

 Инструкции SSE являются расширением технологий MMX, а SSE2 — расширением инструкций SSE.

 Таким образом, процессоры, поддерживающие SSE2, поддерживают

также инструкции SSE, а процессоры, поддерживающие инструкции SSE, в свою очередь, поддерживают оригинальные команды MMX.

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

2  Практическая часть

  •  Рассмотрел примеры использования команд ХММ-расширения, проанализировать их структуру,

 Программирование ХММ-расширения

 Необходимо отметить тот факт, что фирма Intel, разрабатывающих микропроцессоры, активно работает над проблемой обработки больших массивов однородной информации.

 Толчком к развитию SIMD-технологий (в том числе и целочисленных) стали задачи с большими объемами однородных исходных данных простой структуры.

  Основные области, где встречается такая информация, —

  •  Интернет  
  •  компьютерные игры. 

 Именно здесь возникает множество задач по обработке звука, видео, графики. Если рассматривать современные компьютерные игры, то в них активно используются мощности сопроцессора для производства расчетов ЗD-объектов в трехмерном пространстве

Архитектура и производительность стандартного сопроцессора не обе-спечивают с нужной эффективностью эти расчеты. Фирмы — произво-дители микропроцессоров активно начали поиск технологий, которые позволили бы увеличить производительность подсистемы для расчетов с плавающей точкой.

  Известно несколько путей повышения эффективности расчетов подобного рода:

  •  увеличение тактовой частоты,
  •  уменьшение задержек выполнения команд в сопроцессоре,
  •  конвейеризация вычислений с плавающей точкой,
  •  реализация SIMD-технологии,
  •   использование параллельных конвейерных устройств для расчетов с плавающей точкой.

Среди этих путей фирмы Intel и AMD выбрали свои. Тактовую частоту работы микропроцессора постоянно повышают обе фирмы, Что же касается подсистемы обработки данных с плавающей точкой, то архитектурно они реализованы по-разному.

Так, фирма Intel пошла по пути конвейеризации вычислений с плавающей точкой и реализации SIMD-технологии вычислений с плавающей точкой.

Фирма AMD работает над уменьшением задержек выполнения команд в сопроцессоре и над реализацией SIMD-технологии вычислений с плавающей точкой.

Эти технологии реализованы в микропроцессорах Pentium III фирмы Intel и Atlon фирмы AMD, но они не совсем одинаковы.

Архитектура целочисленного MMX-расширения у этих микропроцессоров совпадает (в семействе AMD целочисленное MMX-расширение появилось в микропроцессоре AMD Кб (ММХ)), что же касается архитектуры ХММ-расширения с плавающей точкой, то здесь различия более существенные начиная с их названий.

  Потоковое расширение с плавающей точкой микропроцессора Atlon называется 3DNow и включает 21+5 команд. 21 команда расширения 3DNow  существовала в предыдущем микропроцессоре AMD K6-2-3DNow!, 5 команд этого расширения были введены дополнительно в расширение 3DNow! микропроцессора AMD Athlon.

 Потоковое расширение микропроцессора Pentium III фирмы Intel называ-ется Streaming SIMD Extensions и включает 70 команд. Стоит отметить, что не все из этих 70 команд являются командами SSE-расширения: 50 команд отно-сятся непосредственно к блоку SSE-расширения, то есть являются командами SIMD с плавающей точкой, 12 команд дополняют систему команд целочис-ленного MMX-расширения и 8 команд относятся к системе кэширования.

.Реализация SSE-расширения в виде отдельного блока увеличивает парал-лельность вычислений в процессоре, так как одновременно могут выполнять-ся команды целочисленного устройства, сопроцессора и SSE-расширения.

  Дальнейшее изложение будет основано на базе ХММ-расширения Pentium III — то есть SSE-расширения.

Наибольшую выгоду от использования SSE-расширения Pentium полу-чают задачи трехмерной графики, а также приложения 2D, использующие векторную графику в фоновой части изображения. При желании программист может найти полезные особенности команд ХММ-расширения для использо-вания их при разработке приложений из других предметных областей.

  Один из основных признаков, на которые стоит обратить внимание при выборе средств реализации, — наличие матричных преобразований, таких как

  •  умножение,
  •  транспонирование,
  •  сложение,
  •  вычитание матриц,
  •  умножение матрицы на вектор,
  •  световые преобразования,
  •  подобные преобразованиям между цветовыми моделями RGB и CMYK, и т. п.

 В этой части обсуждения отметим, что набор SIMD-инструкций ХММ-расширениия микропроцессора IntelAMD тоже) бесполезен без соответствующей программной поддержки.

  Далее рассмотрим порядок описания данных, которыми манипули-руют ХММ-команды Pentium III, а затем рассмотрим несколько примеров их использования.

Описание упакованных и скалярных данных

Описание ХММ-данных в приложении обычно производится в одном из двух форматов:

  •  в массиве структур;
  •  в структуре, элементами которой являются массивы.

 Описание точек изображения в трехмерном пространстве принято задавать в виде четырехмерного вектора (x.y.z.w). Это связано с тем, что проективные преобразования, необходимые для показа изображения с различных точек зрения, наиболее просто описываются матрицами 4x4.   Используя перечисленные выше форматы задания ХММ-данных, совокупность точек в трехмерном пространстве можно описать двумя способами:

 первый способ — для каждой точки определить свой экземпляр        структуры:

 point 3D struc х del 0.0 у dd 0.0 z dd 0.0 w dd 0.0

 ends .data pi point_3D 4 dup (<>) ;описание пирамиды массивом    структур. ;каждая из которых описывает одну из 4 вершин

 

 В второй способ — все точки описать одной структурой,     

 элементами которой являются массивы координат x,y,z,w:

 pri sm_point_3Dstruc x dd 4 dup (0.0) у dd 4 dup (0.0) z dd 4 dup (0.0)   w dd 4 dup (0.0)

 ends .data prism prism_point_3D<> структура, описывающая    треугольную пирамиду (4 вершины)

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

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

.data

seal real dd 1.0 :пример описания скалярного ХММ-значения;

 Примеры использования команд ХММ-расширения

 Рассмотрим несколько типовых примеров использования команд ХММ-расширения.

  Основная цель — демонстрация методики работы с основными группами команд ХММ-расширения.

Начнем с реализации простейших операций — сложения и умножения.

 Сложение и умножение двух упакованных ХММ-значений

Задача — вычислить скалярное произведение двух векторов, каждый из которых состоит из 4 вещественных чисел в коротком формате. Если в качестве таких векторов взять два вектора А и В, то их произведение вычисляется по формуле: АхВ = aoxbo+aixbi+a2xb2+a3xb3- В программной реализации с использованием ХММ-команд это выглядит так, как показано ниже.

:prg10_02.asm - программа вычисления скалярного произведения двух векторов.

.data

xmm_pack_l dd 1.0. 2.0. 3.0. 4.0

xmm_pack_2 dd 5.0. 6.0. 7.0. 8.0

rez_sum dd 0.0 результат сложения .

.code

movaps rxmmO.xrom_pack_l ;RXMM0= 4.0. 3.0, 2.0, 1.0 mulps rxmm0.xinTi_pack_2 :RXMM0= 4.0x8.0. 3.0x7.0. 2.0x6.0, 1.0x5.0 movaps rxmml. rxmmO :RXMM1= 4.0x8.0, 3.0x7.0. 2.0x6.0. 1.0x5.0

shufps rxmml.rxmml.4eh ;RXMM1= 2.0x6.0, 1.0x5.0. 4.0x8.0. 3.0x7.0 addps rxmmO. rxmml :складываем:

;RXMM0= 4.0x8.0. 3.0x7.0. 2.0x6.0, 1.0x5.0

J +

:RXMM1= 2.0x6.0. 1.0x5.0. 4.0x8.0. 3.0x7.0

:RXMM0- 4.0x8.0+2.0x6.0. 3.0x7.0+1.0x5.0, 2.0x6.0+4.0x8.0. 1.0x5.0+3.0x7.0

:или

;RXMM0= 44.0. 26.0, 44.0. 26.0

movaps rxmml, rxmmO :RXMM1= 44.0, 26.0, 44.0, 26.0

shufps rxmml.rxmml.llh :RXMM1= 26,0. 44.0. 26.0. 44.0

addps rxmmO. rxmml :складываем: ;RXMM0= 44.0. 26.0. 44.0, 26.0

; +

;RXMM1= 26.0, 44.0, 26.0, 44.0

:RXMM0= 70.0. 70.0, 70.0, 70.0 сохраняем результат movss rez_sum.rxmm0

  Умножение матрицы на вектор

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

 В наиболее простом случае изображение на экране задается в виде опор-ных точек.

К примеру, рассмотрим случай, когда на экране дисплея находится трехмерное изображение, состоящее из отрезков прямых. Необходимая для его формирования информация хранится в памяти как список опорных точек — концов отрезков.

 Если изображение дается в трехмерном изображении, то описание каж-дой точки удобно задать в виде четырехмерного вектора (х, у, z, w).

Включение в трехмерный вектор (х, у, z) дополнительной координаты w объясняется тем, что проективные преобразования, необходимые для показа изображения с различных точек зрения, описываются матрицами 4x4. Поэтому для удобства реализации проективных преобразований, зачастую сопровожда-емых операциями умножения матриц и векторов, трехмерный вектор (х, у, z) представляют в виде четырехмерного вектора (х, у, г, w), где значение w обычно принимается равным 1. Для выполнения самого преобразования, подго-товленная заранее матрица преобразования умножается на этот вектор, в результате чего получается четырехмерный вектор (х1, у', г , w'). Для обратного перехода к требуемому трехмерному вектору необходимо разделить координаты х', у', г на w', после чего удалить четвертую координату w'.

Матрица М преобразования и вектор V имеют следующий вид:

m00 m01 m02 m03 x

mio mu m12 m13 у

m20 m21 m22 m23 z

m30 m31 m32 m33 w=l

Преобразования координат выполняются по формулам:

х' ™ xxm0o+yxni01+zxm02+lxm03

у' » xxm+yxnid+zxm+lxm

г = xxm20+yxm21+zxm22+lxm23

w' = xxm30 +yxm31+zxm32+lxm33

Для получения преобразованных координат в виде трехмерного вектора (x,y,z) делим х', у', z' на w':

х = x'/w' = (ххт00+ухт01+гхт02+1хт0з)/(ххт30+ухт31+гхт32+1хт3з)

У = У'/w' = (xxmlo+yxm))+zxm,2+lxm13)/(xxm3O+yxm31+zxm32+lxm33)

z - z'/w' = (xxm20+yxm2i+zxm22+lxm23)/(xxm30+yxm31+zxm32+lxm33)

Элементы матрицы и векторов представлены числами с плавающей точкой в коротком вещественном формате (4 байта).

Поддержка ХММ-команд в файле iaxmm.inc

С точки зрения структуры включаемый файл iaxmm.inc представляет собой набор макрокоманд двух типов

  •   основных и
  •   вспомогательных.

Названия основных макрокоманд полностью совпадают с названиями ХММ-команд, и эти макрокоманды обеспечивают моделирование определен-ных XlMM-команд.

 Вспомогательные макрокоманды расположены в начале файла и предназначены для обеспечения работы основных макрокоманд. В частности, :эти макрокоманды устанавливают тип операндов, указанных при обращении к (основной макрокоманде, причем делают это исходя из режима функциониро-вания транслятора — 16-или 32-разрядного.

Другое важное действие — установление соответствия между названиями ХММ-регистров и регистров общего назначения. Дело в том, что для моделиро-вания ХММ-команд в 16- или 32-разрядном режиме работы ассемблера используются разные регистры общего назначения — 16-разрядные регистры в 16-разрядном режиме, и 32-разрядные в 32-разрядном режиме.

Рассмотрим процесс моделирования ХММ-команд. В качестве основы для моделирования выступает команда основного процессора. Эта команда должна удовлетворять определенным требованиям. Каковы они? Посмотрим на машинные коды ХММ-команд. Видно, что общими у них являются два момента:

  1.  поле кода операции ХММ-команд состоит из двух или трех байтов, один из которых равен Ofh;
  2.  большинство ХММ-команд использует форматы адресации с байтами modR/M и sib и соответственно допускает сочетание операндов как обычных двух-операндных команд целочисленного устройства — регистр-регистр или память-регистр.

Для моделирования ХММ-команд нужно подобрать такую команду основного процессора, которая удовлетворяет этим двум условиям.

Во включаемом файле iaxmm.inc в качестве таких команд присутствуют две

  •  CMPXCHG и
  •   ADD.

В процессе моделирования на место нужного байта кода операции этих команд помещаются байты со значениями кода операции соответствующей ХММ-команды. Когда микропроцессор «видит», что очередная команда является ХММ-командой, то он начинает трактовать коды регистров в машинной команде как коды ХММ-регистров и ссылки на память, размерностью соответствующей данной команде.

В машинном формате команды нет символических названий регистров, которыми мы пользуемся при написании исходного текста программы, например АХ или ВХ. В этом формате они определенным образом кодируются. Например, регистр АХ кодируется в поле REG машинной команды как 000. Если заменить код операции команды, в которой одним из операндов является регистр АХ, на код операции некоторой ХММ-команды, то это же значение в поле reg микропроцессор будет трактовать как регистр RXMMO.

 Таким образом, в ХММ-командах коды регистров воспринимаются соответ-ственно коду операции. В табл.1 приведены коды регистров общего назначения и соответствующих им ХММ-регистров. В правом столбце этой таблицы содержится условное обозначение ХММ-регистров, принятое в файле iaxmm.inc. Это же соответствие закреплено рядом определений в этом файле, которые иллюстрирует следующая программа.

Таблица 1. Кодировка регистров в машинном коде команды

Теперь в исходном тексте программы можно использовать символические имена ХММ-регистров в качестве аргументов макрокоманд, моделирую-щих ХММ-команды.

Начать следует с того, что данная команда содержит вложенный вызов макрокоманды XMMld_st_f3, у которой две задачи — определить вариант сочетания операндов, после чего сформировать правильный код операции и подставить его на место соответствующих байтов в команде CMPXCHG. В результате этих действий команда CMPXCHG «превращается» в ХММ-команду MOVSS.

Центральное место в макроопределении ХММ1 d_st_f3 занимают команда целочисленного устройства (в данном случае — CMPXCHG) и директива ORG.

Первое действие данной макрокоманды — выяснить тип операнда приемника (dst) в макрокоманде MOVSS, так как он может быть и регистром, и ячейкой памяти. Это необходимо для правильного определения кода операции, которая будет управлять направлением потока данных. После того как определен приемник данных, с помощью условного перехода осуществляется переход на ветвь программы, где будет выполняться собственно формирование соответствующего ХММ-команде

MOVSS кода операции.

Формирование кода операции ХММ-команды MOVSS производится с помо-щью директивы org, которая предназначена для изменения значения счетчика

Обратите внимание на порядок следования операндов в заголовке макроко-манды, который построен по обычной для команд ассемблера схеме:

   Коп-назначение - источник.

В команде CMPXCHG порядок обратный. Этого требует синтаксис команды. Это хорошо поясняет назначение бита d во втором байте кода операции, который характеризует направление передачи данных в микропроцессор (то есть в регистр) или в память (из микропроцессора (регистра)).

Из перечисленных выше групп команд можно вывести следующую обобщенную структуру команды:

метка: код_ операции операнд1. операнд2, операндЗ] ;текст комментария

 3. Ответить на контрольные вопросы

  1.  Что такое SIMD?

Возможность выполнения команд, называемая одиночный поток команд - множественный поток данных (Single Instruction—Multiple Data, SIMD).

  1.  Какие процессоры поддерживают инструкции?

Инструкции поддерживаюти процессоры Intel и AMD

  1.  Когда и с появлением какого процессора появились инструкции?

В 1997 году появился Intel Pentium ММХ со встроенной поддержкой мультимедиа.

  1.  Какие преимущества обеспечивают инструкции SSE?

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

  1.  Каков порядок следования операндов в заголовке макрокоманды?

Код операции – назначение - источник

4. Сделать выводы

В данной лабораторной работе я изучил структуру и примеры использования команд XMM – расширения, выполнил пример формирования кода операции и порядок следования операндов команд XMM – расширения.


 

А также другие работы, которые могут Вас заинтересовать

45880. Ультразвуковое резание. Резание с нагревом заготовки 15.43 KB
  Функции: непрерывно падают абразив в рабочий зазор и выносят оттуда частицы снятого металла; охлаждают инструмент в зоне резания. Механическая обработка с ультразвуковыми колебаниями является разновидностью резания с вибрациями. Позволяет ликвидировать нарост уменьшить объем зоны опережающей деформации и усадки стружки уменьшить силу резания. В отношении стойкости инструмента удовлетворяют результаты полученные только для быстрорежущего инструмента на низких режимах резания.
45881. Виды инструментальных материалов и ихприменяемость 16.07 KB
  Инструментальные стали. Стали применяют достаточно широко для изготовления корпусной и крепежноприсоединителыюй частей режущих инструментов а во многих случаях и их режущей части. Если инструмент работает при низких скоростях резания и не нагревается свыше 200220 С то его можно изготовлять из углеродистой инструментальной стали марок У7А У8А У10А У13А и др. Однако и в этом случае ввиду высокой критической скорости закалки эти стали прокаливаются на небольшую глубину и сердцевина инструмента остается вязкой.
45882. Виды токарных резцов. Особенность их применения. Способы соединения режущей пластины с державкой. Какие факторы определяют выбор резцов для токарных работ 50.15 KB
  В качестве режущего инструмента при точении используют резцы.Виды токарных резцов а – проходные: 1 – прямой 2 – отогнутый 3 – упорный; б – подрезной; в – канавочные: 1 – для наружных канавок 2 – для внутренних; г – отрезной; д – расточные: 1 – для сквозных отверстий 2 – для глухих; е – резьбовые: 1 – для наружных резьб 2 – для внутренних; ж – фасонный Проходные прямые резцы используются для их рекомендуется назначать для обтачивания гладких открытых цилиндрических поверхностей без уступов и ступеней. Проходные упорные резцы имеют угол в...
45883. Виды фрез, и их применяемость. Как базируется фреза на станке. В чем особенности конструкции черновых, чистовых и шпоночных фрез 251.16 KB
  Цилиндрические фрезы Базовые поверхности внутренний диаметр и торцыприменяются для фрезерования открытых поверхностей. Эти фрезы могут быть с прямыми и винтовыми фрезами. Фрезы с винтовыми зубьями работают плавно они широко применяются на производстве. Фрезы с прямыми зубьями используются лишь для обработке узких плоскостей где преимущества фрез с винтовым зубом не оказывают большого влияния на процесс резания.
45884. Сверла. Назначение, технологические возможности сверления. Дефекты просверленных отверстий и мероприятия по повышению точности отверстий 69.7 KB
  Сверла. Сверла изготавливают из быстрор. Перовые сверла применяются при обр. часть пушечного сверла представ.
45885. Зенкеры. Назначение, технологические возможности зенкерования отверстий. Почему зенкерование обеспечивает более высокую точность обработки в сравнении со сверлением 111.52 KB
  Назначение технологические возможности зенкерования отверстий. Зенкеры применяются для увеличения диаметров цилиних отв. получений отв. Точность отверстий полученных зенкерованием составляет 1112 квалитет шерть R=2.
45886. Конструкция протяжек для протягивания отверстий и шпоночных пазов 81.42 KB
  Как обеспечивается соосность протяжки и отверстий от чего зависит точность и качество обработки отверстий протягиванием. Хвостовик воспринимает усилие протия и служит для закрепления протяжки в патроне станка. Длина шейки выберается с таким расчётам чтобы обеспечить необходимую длину протяжки до первого реж. Режущая часть явлся основной частью протяжки.
45887. Настроечные элементы 64.88 KB
  3 выше к ним относятся кондукторные втулки направляющие втулки. Кондукторные втулки прим. Кондукторные втулки бывают : постоянные быстросменные и сменные. Сменые втулки применяются при обработке одним инструментом но с учётом замены вследствии износа.
45888. Способы установки приспособлении на месте эксплуатации 87.32 KB
  Приспособления устанавливаются на столах элементах шпинделей и др. Чтобы быстро и точно установить на место эксплуатации на корпусе приспособления выполняются посадочные поверхности которые согласовываются с посадочным местом станка или другого места эксплуатации. Сравнительно легко обеспечивается точность расположения приспособления относительно оси шпинделя но при замене обработанной заготовки новой надо снимать приспособление со станка. 2Для установки в отверстие шпинделя на корпусе приспособления выполняется посадочная поверхность...