SSE3
редактировать
SSE3, Streaming SIMD Extensions 3, также известный под кодовым Название Intel Prescott New Instructions (PNI ), является третьей итерацией Набор инструкций SSE для архитектуры IA-3210>(x86). Intel представила SSE3 в начале 2004 года с версией Prescott своего процессора Pentium 4. В апреле 2005 года AMD представила подмножество SSE3 в версии E (Венеция и Сан-Диего) своих процессоров Athlon 64. Ранние наборы инструкций SIMD на платформе x86, от самых старых до новейших, - это MMX, 3DNow! (разработанные AMD, но не поддерживаемые процессорами Intel), SSE и SSE2.
SSE3 содержит 13 инструкций по сравнению с SSE2.
Содержание
- 1 Изменения
- 2 ЦП с SSE3
- 3 Новые инструкции
- 3.1 Общие инструкции
- 3.2 Инструкции Intel
- 4 Ссылки
- 5 Внешние ссылки
Изменения
Наиболее заметное изменение - это возможность работать горизонтально в регистре, в отличие от более или менее строго вертикальной работы всех инструкций SSE. Более конкретно, были добавлены инструкции для сложения и вычитания нескольких значений, хранящихся в одном регистре. Эти инструкции можно использовать для ускорения выполнения ряда операций DSP и 3D. Также имеется новая инструкция для преобразования значений с плавающей запятой в целые числа без необходимости изменения глобального округления, что позволяет избежать дорогостоящих остановок конвейера конвейера. Наконец, расширение LDDQU, альтернативная загрузка с неверно выровненным целочисленным вектором, которая лучшая производительность на платформе NetBurst для нагрузок, пересекающих границы строки кэша.
процессоры с SSE3
- AMD :
- Opteron (начиная со степпинга E4)
- Sempron (начиная с Palermo. Stepping E3)
- Athlon 64 ( начиная с Venice Stepping E3 и San Diego Stepping E4)
- Athlon 64 FX (начиная с San Diego Stepping E4)
- Athlon 64 X2
- семейство Turion
- K10 семейство
- APU семейство (в том числе без GPU)
- FX Series
- Zen
- Zen +
- Zen2
- Intel :
- Celeron D
- Celeron ( начиная с микроархитектуры Core)
- Pentium 4 (начиная с Prescott)
- Pentium D
- Pentium Extreme Edition (но НЕ Pentium 4 Extreme Edition)
- Pentium Dual-Core
- Pentium (начиная с Core микроархитектура)
- Core
- Xeon (начиная с Nocona)
- Atom
- VIA / Centaur :
- Transmeta Efficeon TM88xx (НЕ Номера моделей TM86xx)
Новые инструкции
Общие инструкции
Арифметика
- ADDSUBPD - (сложение-вычитание-упакованное-двойное)
- Ввод: {A0, A1}, {B0, B1}
- Выв од: {A0 - B0, A1 + B1}
- ADDSUBPS - (сложение-вычитание-упаковка-одиночный)
- Ввод: {A0, A1, A2, A3}, {B0, B1, B2, B3}
- Выход: {A0 - B0, A1 + B1, A2 - B2, A3 + B3}
AOS (массив структур)
- HADDPD - (Horizontal-Add-Packed-Double)
- Ввод: {A0, A1}, {B0, B1}
- Выход: {A0 + A1, B0 + B1}
- HADDPS (горизонтально-добавить-упаковано-одиночное)
- Вход: {A0, A1, A2, A3}, {B0, B1, B2, B3}
- Вывод: {A0 + A1, A2 + A3, B0 + B1, B2 + B3 }
- HSUBPD - (Horizontal-Subtract-Packed-Double)
- Ввод: {A0, A1}, {B0, B1}
- Вывод: {A0 - A1, B0 - B1 }
- HSUBPS - (горизонтальное-вычитание-упаковано-одиночное)
- Ввод: {A0, A1, A2, A3}, {B0, B1, B2, B3}
- Вывод: {A0 - A1, A2 - A3, B0 - B1, B2 - B3}
- LDDQU - Как указано выше, это альтернативная загрузка смещенного целочисленного вектора. Это может быть полезно для задач сжатия видео.
- MOVDDUP, MOVSHDUP, MOVSLDUP - они полезны для комплексных чисел и расчета волн, таких как звук.
- FISTTP - Как и старая инструкция x87 FISTP, но игнорирует настройки режима округления управления с плавающей запятой и вместо этого использует режим «обрезки» (усечения). Позволяет опустить дорогостоящую загрузку и повторную загрузку контрольного регистра на таких языках, как C, где преобразование float-to-int требует стандартного поведения усечения.
Инструкции Intel
- MONITOR, MWAIT - оптимизируют многопоточные приложения, повышающие производительность процессоров с Hyper-threading.
Ссылки
Внешние ссылки