Streaming SIMD Extensions

Streaming SIMD Extensions

SSE (англ. Streaming SIMD Extensions, потоковое SIMD-расширение процессора) — это англ. Single Instruction, Multiple Data, Одна инструкция — множество данных) набор инструкций, разработанный Pentium III как ответ на аналогичный набор инструкций 3DNow! от AMD, который был представлен годом раньше. Первоначально названием этих инструкций было KNI, что расшифровывалось как Katmai New Instructions (Katmai — название первой версии ядра процессора Pentium III).

Технология SSE позволяла преодолеть 2 основные проблемы сопроцессора, так как его регистры использовались для MMX и работы с вещественными числами.

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

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

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

Пример

Следующий пример демонстрирует перемножение четырёх пар чисел с плавающей точкой одной инструкцией mulps: (Программа написана на языке ANSI C++ с использованием ассемблерной вставки __asm и инструкций ассемблера для работы с SSE)

float a[4] = { 300.0, 4.0, 4.0, 12.0 };
float b[4] = {   1.5, 2.5, 3.5,  4.5 };

_asm {
movups xmm0, a   ; // поместить 4 переменные с плавающей точкой из a в регистр xmm0
movups xmm1, b   ; // поместить 4 переменные с плавающей точкой из b в регистр xmm1

mulps xmm1, xmm0 ; // перемножить пакеты плавающих точек: xmm1=xmm1*xmm0
                 ; // xmm10 = xmm10*xmm00
                 ; // xmm11 = xmm11*xmm01
                 ; // xmm12 = xmm12*xmm02
                 ; // xmm13 = xmm13*xmm03

movups a, xmm1   ; // выгрузить результаты из регистра xmm1 по адресам a
};

См. также

  • SSE2
  • SSE4
  • SISD
  • MIMD

Внешние ссылки


Наборы расширения базовых инструкций процессоров
SSE | SSE3 | SSE4 | 3DNow! | 3DNowExt

Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "Streaming SIMD Extensions" в других словарях:

  • Streaming SIMD Extensions — (SSE) is a SIMD (Single Instruction, Multiple Data) instruction set extension to the x86 architecture, designed by Intel and introduced in 1999 in their Pentium III series processors as a reply to AMD s 3DNow! (which had debuted a year earlier).… …   Wikipedia

  • Streaming SIMD Extensions — Streaming SIMD Extensions, généralement abrégé SSE, est un jeu de 70 instructions supplémentaires pour microprocesseurs x86, apparu en 1999 sur le Pentium III en réponse au 3DNow! d AMD apparu 1 an plus tôt. Le fonctionnement est de type SIMD. Il …   Wikipédia en Français

  • Streaming SIMD Extensions — Die Streaming SIMD Extensions (SSE), früher auch Internet Streaming Extensions (ISSE) ist eine von Intel entwickelte Befehlssatzerweiterung der X86er Architektur, welche mit der Einführung des Pentium III (Katmai) Prozessors vorgestellt wurde und …   Deutsch Wikipedia

  • Streaming SIMD Extensions 5 — SSE5 (Streaming SIMD Extensions 5) war eine geplante Befehlssatzerweiterung von AMD für x86 Prozessoren. Sie umfasste 47 Befehle, die vor allem zur Beschleunigung bestimmter Algorithmen, beispielsweise FFT, DCT oder der Verschlüsselung mit AES,… …   Deutsch Wikipedia

  • Streaming SIMD Extensions 2 — SSE2 (Streaming SIMD Extensions 2) ist eine x86 Befehlssatzerweiterung, die Intel mit dem Intel Pentium 4 einführte. Die mit SSE eingeführten 128 Bit Register können in SSE2 auch mit MMX Operationen verwendet werden. SSE2 ermöglicht die… …   Deutsch Wikipedia

  • Streaming SIMD Extensions 3 — Die Streaming SIMD Extensions 3 (kurz SSE3) ist die zweite Erweiterung des SSE Befehlssatzes. Sie ist auch unter dem Intel Codenamen Prescott New Instructions (PNI) bekannt, da sie zuerst bei der Prescott Variante des Pentium 4 ab Frühjahr 2004… …   Deutsch Wikipedia

  • Streaming SIMD Extensions 2 — SSE2 (англ. Streaming SIMD Extensions 2, потоковое SIMD расширение процессора)  это Pentium 4. SSE2 использует восемь 128 битных регистров (xmm0 до xmm7), включённых в архитектуру x86 с вводом расширения SSE, каждый из которых трактуется как 2… …   Википедия

  • Streaming SIMD Extensions 4 — SSE4 (Streaming SIMD Extensions 4) ist eine Befehlssatzerweiterung, die bei AMD seit K10 und bei Intel seit der Penryn Variante der Core 2 Prozessoren verwendet wird. Der zweite Teil, SSE4.2 genannt, wurde mit der Intel Nehalem Mikroarchitektur… …   Deutsch Wikipedia

  • Internet Streaming SIMD Extensions — Streaming SIMD Extensions Streaming SIMD Extensions, généralement abrégé SSE, est un jeu de 70 instructions supplémentaires pour microprocesseurs x86, apparu en 1999 sur le Pentium III en réponse au 3DNow! d AMD apparu 1 an plus tôt. Le… …   Wikipédia en Français

  • Streaming SIMD Extensions —    Abbreviated SSE. A set of multimedia instructions introduced with Intel s Pentium III. SSE provides four main improvements over the Pentium II instruction set:    • Eight new directly addressable 128 bit floating point registers.    • Eight… …   Dictionary of networking


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»