Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемВалентина Логинова
1 Команды ММХ, SSE (ММХ-2) Расширение 3Dnow! SSE-2, SSE-3 Архитектура Компьютеров2011
2 ОСНОВНЫЕ ТЕМЫ ЛЕКЦИИ Команды ММХ Команды SSE (ММХ-2, KNI, SIMD- FP) Расширение 3Dnow! Расширение SSE-2 Расширение SSE-3 Архитектура Компьютеров2011
3 Идея ММХ (Matrix-Math eXtension) родилась как средство, решающее часть проблем с нехваткой быстродействия центрального процессора для задач мульти-медиа приложений, характеризующихся следующими факторами: небольшие целочисленные данные (например, 8- ми битовые графические пиксели или 16-ти битовые элементы звукового потока), которые обрабатываются в значительных объемах; небольшие, многократно повторяющиеся циклы; частые умножения и накапливания результата (выражения типа: «а = а + b»); постоянные циклические обращения к памяти. Расширение ММХ (1997 г.)
4 Например, процесс изменения яркости изображения (содержащего более миллиона 8-ми битовых пиксе- лей) состоит из прибавления к каждому элементу мас- сива определенной константы. Для этого необходимо: загрузить 8-ми битовое значение цвета из мас-сива в регистр процессора; добавить к нему константу; записать сумму в память и повторить этот цикл для каждого пикселя. Однако процессор PENTIUM – 32-х разрядный и мог бы одновременно выполнить сложение данных сразу для четырех точек и затем одновременно записать результат в четыре смежные ячейки памяти.
5 Параллельность вычислений – ключевой момент в технологии ММХ. Поэтому большинство новых ММХ-команд построены по принципу «ОДНА КОМАНДА - МНОЖЕСТВО ДАННЫХ» (SINGLE INSTRUCTION MULTIBLE DATA – SIMD). Так как процессоры PENTIUM имеют 64-х разрядную шину данных, базовая длина слова данных новых ММХ-инструкций выбрана тоже 64 разрядной. Основной тип данных ММХ – упакованное 64-х битовое целочисленное слово, которое состоит из нескольких меньших по разрядности данных и хранится в одном из ММХ-регистров или в памяти компьютера.
6 Форматы ММХ-данных 64-х битовое слово может представлять четыре подтипа данных: упакованные байты (8 * 8 бит, Packed Byte), упакованные слова (4 * 16 бит, Packed Word), упакованные двойные слова (2 * 32 бита, Packed Doubleword) и счетверенное слово (1 * 64 бита, Quad- word).
7 8-ми битовые упакованные данные могут использоваться при обработке изображений, где каждый байт представляет отдельный пиксель изображения или один из 8-ми битовых компонентов цвета в 24/32-х битовой цветовой модели (красный, зеленный, синий и альфа-канал (прозрачность)). 16-ти битовые данные чаще используются в средствах связи (модемы) и при обработке аудио- сигналов. 32-х и 64-х битовые значения полезны при промежуточных вычислениях над 8-ми или 16-ти битовыми данными.
8 ММХ-регистры «отражены» на имеющиеся у PENTIUMа восемь регистров для чисел с плавающей запятой (FP-регистры). 1111… mm6 mm5 mm7 mm4 mm3 mm2 mm1 mm0 063
9 Данные, используемые в мульти-медиа-приложе- ниях, обычно имеют небольшую разрядность. 8-ми битовое значение цвета может передать только 256 оттенков цветовой составляющей (или более 16 миллионов цветовых оттенков для трех цветов: R,G,B). При использовании 8-ми битовых данных накопление цвета многих точек может выйти за предел представимых чисел. Обычно, если сложение двух чисел приводит к переполнению регистра, то старшие биты результата сохраняются во флагах CF или VF, а УСЕЧЕННАЯ СУММА сохраняется в регистре-приемнике. УСЕЧЕНИЕ И НАКОПЛЕНИЕ РЕЗУЛЬТАТОВ
10 Для предотвращения последствий таких ситуаций необходимо производить проверку флагов на переполнение. В мульти-медиа-приложениях обычно требуется не УСЕЧЕНИЕ РЕЗУЛЬТАТА, а так называемое «НАСЫЩЕНИЕ», т.е. при достижении максимального (или минимального) значения – данные больше не изменяются. Технология ММХ предусматривает 57 новых команд. Многие из них выполняют одни и те же операции (например, сложение или вычитание) над операндами различного размера (8, 16, 32 или 64 бита), а также, в зависимости от того, рассматривают ли они данные как «ЦЕЛЫЕ СО ЗНАКОМ» или «ЦЕЛЫЕ БЕЗ ЗНАКА».
11 Различаются инструкции и по выполнению ими опе- раций «С УСЕЧЕНИЕМ» или «НАСЫЩЕНИЕМ». Синтаксис инструкций ММХ включает следующие элементы: префикс – P (Packed), указывающий на обработку упакованных ММХ-форматов; мнемонику операции (например, ADD, CMP, XOR...); суффикс: - US (Unsigned Saturation) – насыщение беззнаковое; - S (Signed Saturation) – насыщение знаковое; - B,W,D,Q – тип данных : упакованные байты, слова, двойные слова или учетверенное слово.
12 57 команд ММХ можно разбить на несколько групп : Команды пересылки (PMOV), упаковки (PACKSS), чередования (PUNPCKH); Арифметические команды (PADD, PSUB, PMUL, PMADD ); Логические команды (PAND, PANDN, POR, PXOR); Команды сравнения (PCMP) ; Команды сдвига (PSHIM, PSLL, PSRL, PSRA). ММХ-команды
13 Все ММХ-команды, за исключением умножения, выполняются за ОДИН такт процессора. При умножении происходит задержка на три такта, однако, за счет внутреннего конвейера АЛУ, все последующие операции умножения выполняются без задержек. Использование ММХ-команд в программах обработки изображений, компрессии аудио-, видеоданных и других вычислениях позволяет увеличить производительность в 1,5-2 раза, а в некоторых случаях – и до четырех раз.
14 Команды SSE (ММХ-2, KNI, SIMD-FP) 1999 г. Основное отличие новой технологии (ММХ-2), так называемое, потоковое расширение – SSE (Streaming SIMD Extensions), получившей официальное название «Новый набор инструкций KATMAI» – KNI (Katmai New Instruction), – использование параллельных вычислений над числами с плавающей запятой одинарной точности (SIMD- FP, Single Instruction Multiple Data –– Floating Point). В добавление к 57 ММХ-командам процессор PЕNTIUM-3 (более раннее название – KATMAI) имеет еще 70 команд, ориентированных на SIMD-FP, направленных на обработку 3D-приложений,
15 В состав новых 70-ти команд дополнительно введены целочисленные инструкции с регистрами ММХ и команды управления кэшированием. Добавлены специализированные команды для ускорения потоковой трансформации трехмерных объектов, эффектов освещения, атмосферных эффектов и др. Поток в данном контексте подразумевает, что с его данными должны выполняться однотипные операции. Кроме того, данные, уже прошедшие обработку, в дальнейшем этим вычислительным процессом использоваться не будут и ими не следует засорять КЭШ. Появились инструкции загрузки данных в КЭШ, а также записи в память, минуя КЭШ.
16 В архитектуру процессора PENTIUM-3 (KATMAI) добавлены восемь новых 128-ми битовых регистра ХММ0…ХММ7 (eXtended MultiMedia) для одновременной обработки четырех чисел с плавающей запятой одинарной точности (4 * 32 бита). Это позволяет использовать одновременно либо обработку вещественных чисел в блоке SIMD-FP и целых – в ММХ, либо SIMD-FP и основной блок с плавающей запятой двойной точности.
17 Расширение 3Dnow! (1998 г.) Расширение 3Dnow!, введенное фирмой AMD в процессорах К6-2, расширяет возможности ММХ. Оно позволяет оперировать с новым типом данных – парой упакованных чисел в формате с плавающей точкой. Эти числа занимают по 2 * 32 бита в 64-х битовых регистрах ММХ. В систему команд добавлена 21 новая инструкция, большая часть которых предназначена для обработки упакованных чисел с плавающей точкой. Имеется и новая целочисленная ММХ-инструкция усреднения восьми пар 8-ми битовых чисел, предназначенная для декодеров MPEG-2.
18 Расширение 3Dnow! работает с упакованными целочисленными форматами ММХ, а также с упакованными данными в FP-формате одинарной точности. FP-арифметика выполняется с насыщением. Технология 3Dnow! дает заметный результат при обработке графики, хотя не претендует на вытеснение графических ускорителей, а призвана служить их мощным дополнением. При этом сохраняется программная совместимость с прежними процессорами и операционными системами (поскольку регистры ММХ отобра- жаются на регистры FPU, для них работают традиционные механизмы сохранения контекста в многозадачных ОС).
19 В процессорах Athlon набор инструкций 3Dnow! был дополнен. Появилось 5 новых инструкций для сигнальных процессоров (DSP), работающими с упакованными FP-числами. Еще 19 инструкций расширяют набор инструкций ММХ, а также служат для управления кэшированием. В процессорах Athlon-МР и Athlon-XР добавлен полный набор инструкций SSE фирмы INTEL.
20 Расширение SSE-2 (2000 г.) В новом процессоре PENTIUM-4 основные ново- введения направлены на ускорение обработки потоковых данных, что обеспечивает максимальную производительность при обработке видео, графических изображений, работе с мультимедиа и в других сложных задачах. Добавлены дополнительные 144 команды (SSE- 2), ускоряющие работу широкого спектра потоковых ресурсоемких приложений. Среди них также 128-ми разрядные команды целочисленных вычислений с механизмом SIMD.
21 Расширение SSE-3 (2003 г.) В процессор PENTIUM-4 на ядре PRESCOTТ, который появился в конце 2003 г., добавлены еще 13 новых команд SIMD-FP, получившие название SSE-3.
22 Вопросы для экспресс-контроля Объясните необходимость появления ММХ-команд Зачем ММХ-регистры отображены на FP-реги- стры? Чем отличаются мнемоники ММХ-команд от остальных команд процессора? Зачем нужны команды «с насыщением» и команды «с усечением»? Основное отличие команд SSE от ММХ-команд Особенности команд 3Dnow! Какие новые команды появились в процессорах PENTIUM-4?
23 Лекция окончена СПАСИБО ЗА ВНИМАНИЕ
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.