Реферат ЭВМ. Расширение системы команд Streaming simd extension (sse, sse2, sse3, sse4)
Скачать 174.12 Kb.
|
вФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ» Кафедра вычислительных систем Реферат по дисциплине «Архитектура ЭВМ» на тему: «Расширение системы команд Streaming SIMD Extension (SSE, SSE2, SSE3, SSE4)» Выполнил: Марченко Александр Александрович студент 2-ого курса, группы ИП-615 Проверила: Токмашева Е.И. Новосибирск, 2018Оглавление История появления.…………..………………………………………………………………3 Общие сведения….…...…………..…………………………………………………………...4 Эволюция наборов SIMD – инструкций …………………………………………………..5 SSE – расширение.……………………………………………………………………………5 Расширения SSE2, SSE3, SSSE3, SSE4…….……………………………………………….6 Заключение.…………..………………………………………………………………………..8 Источники.…………..…………………………………………………………………………9 История появленияТехнология MMX В 1997 году появляется процессор Intel Pentium ММХ с некоторыми встроенными средствами поддержки мультимедиа. Основная ставка Intel в этом процессоре - ускоренная обработка изображения и аудиоданных. Технические характеристики сильно не отличались от Intel Pentium; были добавлены новые инструкции, и повышена максимальная тактовая частота до 233 МГц. В зависимости от контекста, MMX может означать multi-media extensions (мультимедийные расширения) или matrix math extensions (матричные математические расширения). Технология MMX использовалась в старших моделях процессоров Pentium пятого поколения (рис.1) в качестве расширения Рис. 1. Вид процессора Intel Pentium MMX сверху и снизу. благодаря которому ускоряется компрессия/декомпрессия видеоданных, манипулирование изображением, шифрование и выполнение операций ввода-вывода — почти все операции, используемые во многих современных программах. В архитектуре процессоров MMX есть два основных усовершенствования. Первое, фундаментальное, состоит в том, что все микросхемы MMX имеют больший внутренний встроенный кэш, чем их собратья, не использующие эту технологию. Это повышает эффективность выполнения каждой программы и всего программного обеспечения независимо от того, использует ли оно фактически команды MMX. Другое усовершенствование MMX состоит в расширении набора команд процессора 57 новыми командами, а также во введении новой возможности выполнения команд, называемой одиночный поток команд—множественный поток данных (Single Instruction—Multiple Data, SIMD). В современных мультимедийных и сетевых приложениях часто используются циклы; хотя они занимают около 10% (или даже меньше) объема полного кода приложения, на их выполнение может уйти до 90% общего времени выполнения. SIMD позволяет одной команде осуществлять одну и ту же операцию над несколькими данными, подобно тому как преподаватель, читая лекцию, обращается ко всей аудитории, а не к каждому студенту в отдельности. Технология SIMD позволяет ускорить выполнение циклов при обработке графических, анимационных, видео- и аудиофайлов; в противном случае эти циклы отнимали бы время у процессора. Intel также добавила 57 новых команд, специально разработанных для более эффективной обработки звуковых, графических и видеоданных. Эти команды предназначены для выполнения с высокой степенью параллелизма последовательностей, которые часто встречаются при работе мультимедийных программ. Высокая степень параллелизма в данном случае означает, что одни и те же алгоритмы применяются ко многим данным, например к данным в различных точках при изменении графического изображения. Такие компании, как AMD и Cyrix, лицензировали у Intel технологию MMX и реализовали ее в собственных процессорах. В феврале 1999 года Intel представила общественности процессор Pentium III, содержащий обновление технологии MMX, получившей название: SSE (Streaming SIMD Extensions - потоковые расширения SIMD). Общие сведения SSE (англ. Streaming SIMD Extensions, потоковое SIMD-расширение процессора) — это SIMD (англ. Single Instruction, Multiple Data, Одна инструкция — множество данных) набор инструкций, разработанный Intel и впервые представленный в процессорах серии Pentium III как ответ на аналогичный набор инструкций 3DNow! от AMD, который был представлен годом раньше. Первоначально названием этих инструкций было KNI — Katmai New Instructions (Katmai — название первой версии ядра процессора Pentium III). SSE разработаны компанией Intel и были впервые применены в процессоре Intel Pentium III, с ядром Katmai. Отсюда, изначально носили название KNI (Katmai New Instructions). Технология SSE позволила преодолеть проблемы MMX — при использовании MMX невозможно было одновременно использовать инструкции сопроцессора, так как его регистры использовались для MMX и работы с вещественными числами. В общем случае, к архитектуре процессора добавляется ряд самих инструкций и несколько 128-битных регистров с различной интерперетациейинтерпретацией. Тем не менее, хотя изначально каждый регистр трактуется как два значения с плавающей точкой двойной точности (2*64-бит), операции могут применять практически ко всем типам, "помещающимся" в 16 байт. Это означает, например, что появляется возможность одновременно сложить или умножить с помощью всего одной инструкции два операнда из четырех чисел с плавающей точностью одинарной точности, двух - с двойной, двух 64-битных целочисленных, 16 8-битных целых и тп.т.п. Таким образом, для получения максимальной отдачи от SSE, следует использовать такие структуры данных ,чтобыданных, чтобы они максимально укладывались в эти 128-битные регистры. Если это не удается сделать изначально, то среди SSE существуют и специальные для этих целей инструкции. Эволюция наборов SIMD - инструкций SSE-расширение Новые 70 команд SSE-расширения (Streaming SIMD ExtensionExtensions) делятся на 4 категории: · SIMD-команды обработки данных в формате с плавающей запятой одинарной точности (SPFP-команды); ·дополнительные SIMD-команды для обработки целочисленных данных; · команды управления кэшированием; · команды сохранения и восстановления состояния процессора. SPFP-команды используют 8 новых 128 разрядных регистров (ХММ-регистры) и новый тип данных – 128-разрядное значение, содержащее 4 последовательно расположенных («упакованных») 32-разрядных чисел с плавающей запятой одинарной точности. При выполнении инструкций с ХММ традиционное оборудование FPU/MMX не используется, что позволяет эффективно смешивать инструкции SPFP с инструкциями над операндами с плавающей точкой. Большинство SPFP-команд имеют два операнда. Данные, содержащиеся в первом операнде, после выполнения команды, как правило, замещаются результатами, а данные, содержащиеся во втором операнде, остаются неизменными. SPFP-команды поддерживают два типа операций над упакованными данными с плавающей запятой – параллельные и скалярные. Параллельные операции выполняются над четырьмя 32-разрядными элементами данных, упакованными в каждый 128-разрядный операнд. Скалярные операции выполняются над младшими (занимающие разряды 0–31) элементами данных двух операндов. Остальные три элемента данных не изменяются. В расширение SSE включены дополнительные SIMD-команды для работы с целочисленными данными. Эти новые команды расширяют возможности существующего набора команд технологии ММХ. Они выполняют SIMD-операции над несколькими целочисленными данными, упакованными в 64-разрядные группы, загружают и хранят упакованные данные в 64-разрядных ММХ-регистрах. Кроме того, в SSE введены команды нового типа, обеспечивающие: · управление кэшированием данных с целью повышения эффективности использования кэш-памяти и сокращения числа обращений к основной памяти; · упреждающее кэширование данных с целью организации параллельной работы конвейера команд и обмена с памятью. Первая группа команд выполняет запись данных из ММХ (ХММ) регистра в память, минуя кэш. Вторая – обеспечивает запись данных из памяти в кэш различных уровней. Кроме ХММ-регистров в микропроцессоре Pentium III появился новый регистр состояния и управления MXCSR. Для работы с этими регистрами требуется поддержка, как со стороны процессора, так и со стороны операционной системы. Чтобы прикладные программы и ОС могли сохранять и восстанавливать состояния новых компонентов процессора, введено несколько команд управления. Первая группа команд управления обеспечивает сохранение в памяти содержимого регистра МХCSR и наоборот – загружает слово состояния из памяти в регистр MXCSR. Вторая группа – сохраняет в памяти состояние процессора (состояние регистров данных FPU, MMX-регистров, ХММ-регистров) и восстанавливает ранее сохраненное состояние процессора. Расширения SSE2, SSE3, SSSE3, SSE4 Расширение SSE2, введенное в состав Pentium 4 Northwood, значительно расширяет возможности обработки нескольких операндов по принципу SIMD, по сравнению с SSE. В нем используется 144 новых команды, обеспечивающих одновременное выполнение операций над несколькими операндами, которые располагаются в памяти и в 128-разрядных регистрах ХММ. В регистрах могут храниться и одновременно обрабатываться два числа с плавающей запятой в формате двойной точности (64 разряда) или 4 числа в формате одинарной точности (32 разряда), любые целочисленные типы данных, способные разместиться в 128-разрядных регистрах. Расширение SSE2, представляя собой симбиоз ММХ и SSE, обладает большей гибкостью и позволяет добиваться впечатляющего прироста производительности. Команды SSE2 существенно повышают эффективность процессора при реализации трехмерной графики и Интернет-приложений, обеспечение сжатия и кодирования аудио- и видеоданных и в ряде других приложений. Расширение SSE3, введенное в состав Pentium 4 Prescott, включает 5 новых операций с комплексными числами, 5 потоковых операций над числами с плавающей запятой, 2 команды для синхронизации потоков и одну специальную инструкцию для применения при кодировании видео. Расширение SSSE3(Supplemental SSE3 – дополнительное потоковое SIMD-расширение 3) появилось в процессорах с микроархитектурой Intel Core и поддерживается процессором Intel Atom. Новыми в SSSE3, по сравнению с SSE3, являются 16 уникальных команд, работающих с упакованными целыми данными. Каждый из них может работать как с 64-х битными (ММХ), так и с 128-ми битными (ХММ) регистрами, поэтому Intel в своих материалах ссылается на 32 новые команды. Новые инструкции включают: работу со знаком, сдвиги, перемешивание байт, умножение, горизонтальное сложение/вычитание целых. Расширение SSE4.1 – появилось в первом процессоре Intel c 45-нм техпроцессом (кодовое наименование Penryn). Набор команд SSE4.1 включает 47 новых инновационных инструкций, основными из которых являются примитивы векторизации для компиляторов и ускорители кодирования видеозаписей с высоким расширением и обработки фотоизображений. Расширение SSE4.2 – разработано Intel для процессоров с новой микроархитектурой Nehalem. Введенные в набор SSE4.2 инструкции ориентированы на ускорение обработки строк и текстовой информации. Ни одна из SSE4 инструкций не работает с 64-х битными ММХ-регистрами, только с 128-ми битными ХММ-регистрами. Заключение Новые технологии SSE позволяют более эффективно работать: с трехмерной графикой, потоками аудио- и видеоданных (DVD-воспроизведение), а также приложениями распознавания речи. В целом SSE обеспечивает следующие преимущества: более высокое разрешение/качество при просмотре и обработке графических изображений; улучшенное качество воспроизведения звуковых и видеофайлов, а также одновременное кодирование и декодирование форматов в мультимедийных приложениях; уменьшение загрузки процессора и повышение точности/скорости реагирования при выполнении программного обеспечения для распознавания речи. Источники
|