Команды ММХ, SSE (ММХ-2) Расширение 3Dnow! SSE-2, SSE-3 Архитектура Компьютеров2011.

Презентация:



Advertisements
Похожие презентации
Процессор В ПК устройством, которое обрабатывает все виды информации (числовую, текстовую, графическую, видео- и звуковую), является МИКРОПРОЦЕССОР или.
Advertisements

Процессор – это блок, предназначенный для автоматического считывания команд программы, их расшифровки и выполнения.
Характеристика процессора и внутренней памяти компьютера.
Представление чисел в компьютере автор: Хайманова Т.Я. май 2008 г.
Набор инструкций. Набор команд это множество операций, которое исполняет процессор. Набор команд -- это та граница, где проектировщик компьютера и программист.
Структурная схема компьютера Взаимодействие устройств компьютера.
Написанная Дж. Нейманом часть отчета по машине содержала общее описание ЭДВАКа и основные принципы построения машины (1945г.). Она была размножена Г. Голдстайном.
Структурная схема компьютера Взаимодействие устройств компьютера.
Набор инструкций. Набор команд это множество операций, которое исполняет процессор. Набор команд это та граница, где проектировщик компьютера и программист.
Теория компиляторов-2. Л.31 Теория компиляторов Часть II Лекция 2.
Архитектура ЭВМ (лекция 7) проф. Петрова И.Ю. Курс Информатики.
Машинная команда Энциклопедия учителя информатики Газета «Первое сентября»
Магитстрально- модульное построение компьютера. архитектурой ЭВМ называется описание структуры и принципов работы компьютера без подробностей технической.
Представление числовой информации в компьютере Компьютерное представление целых чисел
Основная микросхема компьютера, в которой и производятся все вычисления. На процессоре установлен большой медный ребристый радиатор, охлаждаемый вентилятором.
форма с фиксированной точкой (применяется к целым числам) форма с плавающей точкой (применяется к вещественным числам)
Автор: учитель информатики Комкова Мария Сергеевна, г.Москва.
Обзор архитектуры IA32/EM64T Юрий Долгов, Дмитрий Шкурко.
Архитектура компьютера. Функциональные характеристики ПК Лекция 2 часть г.
Кодирование информации Представление чисел в компьютере.
Транксрипт:

Команды ММХ, SSE (ММХ-2) Расширение 3Dnow! SSE-2, SSE-3 Архитектура Компьютеров2011

ОСНОВНЫЕ ТЕМЫ ЛЕКЦИИ Команды ММХ Команды SSE (ММХ-2, KNI, SIMD- FP) Расширение 3Dnow! Расширение SSE-2 Расширение SSE-3 Архитектура Компьютеров2011

Идея ММХ (Matrix-Math eXtension) родилась как средство, решающее часть проблем с нехваткой быстродействия центрального процессора для задач мульти-медиа приложений, характеризующихся следующими факторами: небольшие целочисленные данные (например, 8- ми битовые графические пиксели или 16-ти битовые элементы звукового потока), которые обрабатываются в значительных объемах; небольшие, многократно повторяющиеся циклы; частые умножения и накапливания результата (выражения типа: «а = а + b»); постоянные циклические обращения к памяти. Расширение ММХ (1997 г.)

Например, процесс изменения яркости изображения (содержащего более миллиона 8-ми битовых пиксе- лей) состоит из прибавления к каждому элементу мас- сива определенной константы. Для этого необходимо: загрузить 8-ми битовое значение цвета из мас-сива в регистр процессора; добавить к нему константу; записать сумму в память и повторить этот цикл для каждого пикселя. Однако процессор PENTIUM – 32-х разрядный и мог бы одновременно выполнить сложение данных сразу для четырех точек и затем одновременно записать результат в четыре смежные ячейки памяти.

Параллельность вычислений – ключевой момент в технологии ММХ. Поэтому большинство новых ММХ-команд построены по принципу «ОДНА КОМАНДА - МНОЖЕСТВО ДАННЫХ» (SINGLE INSTRUCTION MULTIBLE DATA – SIMD). Так как процессоры PENTIUM имеют 64-х разрядную шину данных, базовая длина слова данных новых ММХ-инструкций выбрана тоже 64 разрядной. Основной тип данных ММХ – упакованное 64-х битовое целочисленное слово, которое состоит из нескольких меньших по разрядности данных и хранится в одном из ММХ-регистров или в памяти компьютера.

Форматы ММХ-данных 64-х битовое слово может представлять четыре подтипа данных: упакованные байты (8 * 8 бит, Packed Byte), упакованные слова (4 * 16 бит, Packed Word), упакованные двойные слова (2 * 32 бита, Packed Doubleword) и счетверенное слово (1 * 64 бита, Quad- word).

8-ми битовые упакованные данные могут использоваться при обработке изображений, где каждый байт представляет отдельный пиксель изображения или один из 8-ми битовых компонентов цвета в 24/32-х битовой цветовой модели (красный, зеленный, синий и альфа-канал (прозрачность)). 16-ти битовые данные чаще используются в средствах связи (модемы) и при обработке аудио- сигналов. 32-х и 64-х битовые значения полезны при промежуточных вычислениях над 8-ми или 16-ти битовыми данными.

ММХ-регистры «отражены» на имеющиеся у PENTIUMа восемь регистров для чисел с плавающей запятой (FP-регистры). 1111… mm6 mm5 mm7 mm4 mm3 mm2 mm1 mm0 063

Данные, используемые в мульти-медиа-приложе- ниях, обычно имеют небольшую разрядность. 8-ми битовое значение цвета может передать только 256 оттенков цветовой составляющей (или более 16 миллионов цветовых оттенков для трех цветов: R,G,B). При использовании 8-ми битовых данных накопление цвета многих точек может выйти за предел представимых чисел. Обычно, если сложение двух чисел приводит к переполнению регистра, то старшие биты результата сохраняются во флагах CF или VF, а УСЕЧЕННАЯ СУММА сохраняется в регистре-приемнике. УСЕЧЕНИЕ И НАКОПЛЕНИЕ РЕЗУЛЬТАТОВ

Для предотвращения последствий таких ситуаций необходимо производить проверку флагов на переполнение. В мульти-медиа-приложениях обычно требуется не УСЕЧЕНИЕ РЕЗУЛЬТАТА, а так называемое «НАСЫЩЕНИЕ», т.е. при достижении максимального (или минимального) значения – данные больше не изменяются. Технология ММХ предусматривает 57 новых команд. Многие из них выполняют одни и те же операции (например, сложение или вычитание) над операндами различного размера (8, 16, 32 или 64 бита), а также, в зависимости от того, рассматривают ли они данные как «ЦЕЛЫЕ СО ЗНАКОМ» или «ЦЕЛЫЕ БЕЗ ЗНАКА».

Различаются инструкции и по выполнению ими опе- раций «С УСЕЧЕНИЕМ» или «НАСЫЩЕНИЕМ». Синтаксис инструкций ММХ включает следующие элементы: префикс – P (Packed), указывающий на обработку упакованных ММХ-форматов; мнемонику операции (например, ADD, CMP, XOR...); суффикс: - US (Unsigned Saturation) – насыщение беззнаковое; - S (Signed Saturation) – насыщение знаковое; - B,W,D,Q – тип данных : упакованные байты, слова, двойные слова или учетверенное слово.

57 команд ММХ можно разбить на несколько групп : Команды пересылки (PMOV), упаковки (PACKSS), чередования (PUNPCKH); Арифметические команды (PADD, PSUB, PMUL, PMADD ); Логические команды (PAND, PANDN, POR, PXOR); Команды сравнения (PCMP) ; Команды сдвига (PSHIM, PSLL, PSRL, PSRA). ММХ-команды

Все ММХ-команды, за исключением умножения, выполняются за ОДИН такт процессора. При умножении происходит задержка на три такта, однако, за счет внутреннего конвейера АЛУ, все последующие операции умножения выполняются без задержек. Использование ММХ-команд в программах обработки изображений, компрессии аудио-, видеоданных и других вычислениях позволяет увеличить производительность в 1,5-2 раза, а в некоторых случаях – и до четырех раз.

Команды 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-приложений,

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

В архитектуру процессора PENTIUM-3 (KATMAI) добавлены восемь новых 128-ми битовых регистра ХММ0…ХММ7 (eXtended MultiMedia) для одновременной обработки четырех чисел с плавающей запятой одинарной точности (4 * 32 бита). Это позволяет использовать одновременно либо обработку вещественных чисел в блоке SIMD-FP и целых – в ММХ, либо SIMD-FP и основной блок с плавающей запятой двойной точности.

Расширение 3Dnow! (1998 г.) Расширение 3Dnow!, введенное фирмой AMD в процессорах К6-2, расширяет возможности ММХ. Оно позволяет оперировать с новым типом данных – парой упакованных чисел в формате с плавающей точкой. Эти числа занимают по 2 * 32 бита в 64-х битовых регистрах ММХ. В систему команд добавлена 21 новая инструкция, большая часть которых предназначена для обработки упакованных чисел с плавающей точкой. Имеется и новая целочисленная ММХ-инструкция усреднения восьми пар 8-ми битовых чисел, предназначенная для декодеров MPEG-2.

Расширение 3Dnow! работает с упакованными целочисленными форматами ММХ, а также с упакованными данными в FP-формате одинарной точности. FP-арифметика выполняется с насыщением. Технология 3Dnow! дает заметный результат при обработке графики, хотя не претендует на вытеснение графических ускорителей, а призвана служить их мощным дополнением. При этом сохраняется программная совместимость с прежними процессорами и операционными системами (поскольку регистры ММХ отобра- жаются на регистры FPU, для них работают традиционные механизмы сохранения контекста в многозадачных ОС).

В процессорах Athlon набор инструкций 3Dnow! был дополнен. Появилось 5 новых инструкций для сигнальных процессоров (DSP), работающими с упакованными FP-числами. Еще 19 инструкций расширяют набор инструкций ММХ, а также служат для управления кэшированием. В процессорах Athlon-МР и Athlon-XР добавлен полный набор инструкций SSE фирмы INTEL.

Расширение SSE-2 (2000 г.) В новом процессоре PENTIUM-4 основные ново- введения направлены на ускорение обработки потоковых данных, что обеспечивает максимальную производительность при обработке видео, графических изображений, работе с мультимедиа и в других сложных задачах. Добавлены дополнительные 144 команды (SSE- 2), ускоряющие работу широкого спектра потоковых ресурсоемких приложений. Среди них также 128-ми разрядные команды целочисленных вычислений с механизмом SIMD.

Расширение SSE-3 (2003 г.) В процессор PENTIUM-4 на ядре PRESCOTТ, который появился в конце 2003 г., добавлены еще 13 новых команд SIMD-FP, получившие название SSE-3.

Вопросы для экспресс-контроля Объясните необходимость появления ММХ-команд Зачем ММХ-регистры отображены на FP-реги- стры? Чем отличаются мнемоники ММХ-команд от остальных команд процессора? Зачем нужны команды «с насыщением» и команды «с усечением»? Основное отличие команд SSE от ММХ-команд Особенности команд 3Dnow! Какие новые команды появились в процессорах PENTIUM-4?

Лекция окончена СПАСИБО ЗА ВНИМАНИЕ