SSE2

SSE2 (Streaming SIMD Extensions 2) - потоковые SIMD-расширения. SIMD расшифровывается как «Single Instruction, Multiple Data» (единая инструкция — множественные данные). Данная технология представляет собой пакет инструкций, расширяющий первоначальный набор SSE (первая версия). Основной целью данного пакета является полное вытеснение MMX. В SSE2 имеются 144 новые команды, в дополнение к первой версии SSE, в которой было заложено лишь 70.

Создателем данной технологии является компания Intel. Впервые она была реализована в процессорах Pentium 4.

Отличительные черты

  • В SSE2 применяется восемь 128-битных регистров (xmm0 до xmm7), которые включены в архитектуру x86 с вводом расширения SSE. Каждое из них трактуется как два последовательных значения с плавающей точкой двойной точности; 
  • В SSE2 включен пакет инструкций, производящих операции со скалярными и упакованными типами данных;
  • В SSE2 включены инструкции для потоковой обработки целочисленных данных в 128-битных xmm-регистрах. Это делает данное расширение более привлекательным для вычислений целочисленного характера, по сравнению с набором инструкций MMX;
  • В SSE2 заложено как продолжение SSE, так и продолжение MMX:
    • Продолжение SSE - для вещественных чисел;
    • Продолжение MMX - для целых чисел. В сравнении с MMX, SSE2 обладает удвоенными регистрами, поскольку скорость выполнения инструкций осталась неизменной. При оптимизации под SSE2, программа обеспечена двукратным приростом производительности. Кроме того, возможна довольно-таки легкая оптимизация под SSE2 оптимизированных изначально под MMX программ. Этого удалось добиться за счет сходства системы команд.
  • В SSE2 включен ряд команд управления кэшем. Они предназначаются для минимизации загрязнения кэша, в случае обработки неопределенных потоков данных;
  • В SSE2 включены также и дополнения к командам преобразования чисел.
#