Sse это в процессорах
SSE4 — это набор команд микроархитектуры Intel Core, впервые реализованный в процессорах серии Penryn (не следует путать с SSE4A от AMD). [Источник 1]
Что такое SSE 4.1 и SSE 4.2
SSE 4 – это набор инструкций, который применяется в процессорах Intel и AMD. Впервые о данном наборе инструкций стало известно в конце 2006 года на форуме для разработчиков Intel, а первые процессоры с его поддержкой появились в 2008 году.
Набор SSE 4 включает в себя 54 новых инструкций, 47 из которых относятся SSE 4.1 и еще 7 к SSE 4.2. Данные инструкции включают в себя улучшенные целочисленные операции, операции с плавающей точкой, операции с плавающей точкой одинарной точности, упаковочные операции DWORD и QWORD, быстрые регистровые операции, операции для работы с памятью, а также операции со строками.
Использование данных новых инструкций позволяет значительно повысить производительность программ. Например, такие программы DivX 6.7 и VirtualDub 1.7.2 показывают рост производительности на 49%, а TMPGEncoder Xpress 4.4 на 42%.
В связи с ростом производительности, наборы SSE 4.1 и SSE 4.2 уже давно активно используются разработчиками программ и компьютерных игр. Естественно, если программа требует данного набора инструкций, то без него работать она не будет.
В результате многие современные игры и программы отказываются запускаться на старых компьютерах. Так, наличия SSE 4.1 или 4.2 требуют такие игры как No Man Sky, Dishonored 2, Far Cry 5 или Mafia 3.
Запуск таких программ на компьютере без SSE 4.1 или SSE 4.2 вызывает ошибки, например, может появляться ошибка « Incompatible CPU detected! Missing instruction sets: SSE4.2 ». В некоторых случаях ошибка указывает на конкретную инструкцию в наборе SSE 4, например, в игре Apex Legends может появляться ошибка « Unsupported CPU. CPU does not have POPCNT ».
Иногда эту проблему можно решить с помощью программного эмулятора, но это приводит к значительному снижению производительности.
Векторные примитивы
Перемножение 32-битных полей со знаком с выдачей полных 64 бит результата (две операции умножения над 0 и 2 полями аргументов).
Перемножение 32-битных полей со знаком с выдачей младших 32 бит результатов (четыре операции умножения над всеми полями аргументов).
Speccy
Для того чтобы проверить наличие поддержки инструкций SSE 4.1 и SSE 4.2 нужно запустить программу Speccy и перейти в раздел « CPU ». Как и в CPU-Z, здесь в строке « Instructions » будут указаны все поддерживаемые инструкции.
Задайте вопрос в комментариях под статьей или на странице «Задать вопрос» и вы обязательно получите ответ.
SSE2 (англ. Streaming SIMD Extensions 2 , потоковое SIMD-расширение процессора) — это SIMD (англ. Single Instruction, Multiple Data , Одна инструкция — множество данных) набор инструкций, разработанный Intel, и впервые представленный в процессорах серии Pentium 4. Набор SSE2 добавил 144 новые команды к SSE, в котором было только 70 команд.
Поддержка инструкций SSE2 является обязательным условием использования современного программного обеспечения. В частности, без этого набора команд не будут работать популярные браузеры Google Chrome и Яндекс-браузер. На компьютере без SSE2 также невозможно использовать Windows 8, Windows 10, Microsoft Office 2013 и др. [Источник 1] .
Округления
- ROUND xmm1, xmm2/m128, imm8 — (Round Packed Single/Double Precision Floating-Point Values)
Округление всех 32/64-битных полей. Режим округления (4 варианта) выбирается либо из MXCSR.RC, либо задаётся непосредственно в imm8. Также можно подавить генерацию исключения потери точности.
- ROUND xmm1, xmm2/m128, imm8 — (Round Scalar Single/Double Precision Floating-Point Values)
Округление только младшего 32/64-битного поля (остальные биты остаются неизменными).
Инструкции
SSE2 расширяет технологию MMX и технологию SSE с добавлением 144 инструкций, поставляющих увеличения производительности через широкий диапазон приложений. Команды SIMD для работы с целыми числами, введенными с технологией MMX, увеличены с 64 до 128 бит, что обеспечивает удвоение эффективной скорости исполнения операций с целыми числами типа SIMD.
Инструкции по SIMD плавающей точки двойной точности допускают две операции с плавающей точкой, которые будут одновременно выполняться в Формате SIMD, Эта поддержа операций двойной точности помогает ускорить создание контента, финансовое, разработка и научные приложения. [Источник 3] .
Скалярное умножение векторов
- DPPS xmm1, xmm2/m128, imm8 — (Dot Product of Packed Single Precision Floating-Point Values)
- DPPD xmm1, xmm2/m128, imm8 — (Dot Product of Packed Double Precision Floating-Point Values)
Скалярное умножение векторов (dot product) 32/64-битных полей. Посредством битовой маски в imm8 указывается, какие произведения полей должны суммироваться и что следует прописать в каждое поле результата: сумму указанных произведений или +0.0.
Чтение WC памяти
MOVNTDQA xmm1, m128 — (Load Double Quadword Non-Temporal Aligned Hint)
Операция чтения, позволяющая ускорить (до 7.5 раз) работу с write-combining областями памяти.
Содержание
Ускорение видео
MPSADBW xmm1, xmm2/m128, imm8 — (Multiple Packed Sums of Absolute Difference)
Вычисление восьми сумм абсолютных значений разностей (SAD) смещённых 4-байтных беззнаковых групп. Расположение операндов для 16-битных SAD определяется тремя битами непосредственного аргумента imm8.
PHMINPOSUW xmm1, xmm2/m128 — (Packed Horizontal Word Minimum)
Поиск среди 16-битных беззнаковых полей A0…A7 такого, который имеет минимальное значение (и позицию с меньшим номером, если таких полей несколько). Возвращается 16-битное значение и его позиция.
PMOV xmm1, xmm2/m — (Packed Move with Sign/Zero Extend)
Группа из 12-и инструкций для расширения формата упакованных полей. Упакованные 8, 16, или 32-битные поля из младшей части аргумента расширяются (со знаком или без) в 16, 32 или 64-битные поля результата.
Новые инструкции SSE 4.1
SSE4.2
В SSE4.2 добавлены STTNI (новые инструкции для строк и текста) [Источник 3] , несколько новых инструкций, которые выполняют поиск и сравнение символов на двух операндах по 16 байт за раз. Они были разработаны (среди прочего) для ускорения анализа XML- документов. [Источник 4] Он также добавил инструкцию CRC32 для вычисления циклических проверок избыточности, используемых в некоторых протоколах передачи данных. Эти инструкции были впервые реализованы в Nehalem -А Intel Core i7 продуктовой линейки и завершить набор инструкций SSE4. Поддержка указана через флаг CPUID.01H: ECX.SSE42 [бит 20].
Особенности
Процессор, поддерживающий SSE2, требуется для установки Windows 8 и Microsoft Office 2013, ОС и ряд других программ Windows. [Источник 2] .
Смешивания
BLENDV xmm1, xmm2/m128, — (Variable Blend Packed Single/Double Precision Floating-Point Values) | Выбор каждого 32/64-битного поля результата осуществляется в зависимости от знака такого же поля в неявном аргументе xmm0: либо из первого, либо из второго аргумента. |
BLEND xmm1, xmm2/m128, imm8 — (Blend Packed Single/Double Precision Floating-Point Values) | Битовая маска (4 или 2 бита) в imm8 указывает из какого аргумента следует взять каждое 32/64-битное поле результата. |
PBLENDVB xmm1, xmm2/m128, — (Variable Blend Packed Bytes) | Выбор каждого байтового поля результата осуществляется в зависимости от знака байта такого же поля в неявном аргументе xmm0: либо из первого, либо из второго аргумента. |
PBLENDW xmm1, xmm2/m128, imm8 — (Blend Packed Words) | Битовая маска (8 бит) в imm8 указывает из какого аргумента следует взять каждое 16-битное поле результата. |
Поддержка
Название | Поддерживаются | Не поддерживаются |
---|---|---|
AMD | Athlon 64, Sempron 64, Turion 64, Phenom | Все AMD до Athlon 64 |
Intel | NetBurst (Pentium 4, Xeon, Celeron, Celeron D), Pentium M и Celeron M, Core (2, i5, i7), Atom | Все Intel до Pentium 4 |
VIA | C7, Nano | VIA C3 |
Transmeta | Efficeon | Crusoe |
Поскольку SSE2 — расширение IA-32, процессоры, не поддерживающие IA-32, не поддерживают SSE2. Все известные процессоры x86-64 также поддерживают SSE2. Кроме того, не поддерживают IA-32-совместимые процессоры, появившиеся до SSE2. [Источник 4] .
SSE2 - набор инструкций, разработанный компанией Intel и впервые использованный ею в процессорах Pentium 4 (2000 - 2001 гг.).
Название технологии происходит от англ. Streaming SIMD Extensions, что переводится как потоковое SIMD-расширение (SIMD - Single Instruction, Multiple Data, одна инструкция — множество данных).
По сути SSE2 является дополнением к технологии SSE, разработанной Intel в 1999 году. Этот набор инструкций добавил к SSE 144 новые команды (в SSE их было только 70). При этом, дополнительные регистры не вводились.
Поддержка инструкций SSE2 является обязательным условием использования современного программного обеспечения. В частности, без этого набора команд не будут работать популярные браузеры Google Chrome и Яндекс-браузер. На компьютере без SSE2 также невозможно использовать Windows 8, Windows 10, Microsoft Office 2013 и др.
НАПИСАТЬ АВТОРУ
Технологии и инструкции, используемые в процессорах
Люди обычно оценивают процессор по количеству ядер, тактовой частоте, объему кэша и других показателях, редко обращая внимание на поддерживаемые им технологии.
Отдельные из этих технологий нужны только для решения специфических заданий и в "домашнем" компьютере вряд ли когда-нибудь понадобятся. Наличие же других является непременным условием работы программ, необходимых для повседневного использования.
Так, полюбившийся многим браузер Google Chrome не работает без поддержки процессором SSE2. Инструкции AVX могут в разы ускорить обработку фото- и видеоконтента. А недавно один мой знакомый на достаточно быстром Phenom II (6 ядер) не смог запустить игру Mafia 3, поскольку его процессор не поддерживает инструкции SSE4.2.
Если аббревиатуры SSE, MMX, AVX, SIMD вам ни о чем не говорят и вы хотели бы разобраться в этом вопросе, изложенная здесь информация станет неплохим подспорьем.
Таблица совместимости процессоров и материнских плат AMD
Одной из особенностей компьютеров на базе процессоров AMD, которой они выгодно отличаются от платформ Intel, является высокий уровень совместимости процессоров и материнских плат. У владельцев относительно не старых настольных систем на базе AMD есть высокие шансы безболезненно "прокачать" компьютер путем простой замены процессора на "камень" из более новой линейки или же флагман из предыдущей.
Если вы принадлежите к их числу и задались вопросом "апгрейда", эта небольшая табличка вам в помощь.
Сравнение процессоров
В таблицу можно одновременно добавить до 6 процессоров, выбрав их из списка (кнопка "Добавить процессор"). Всего доступно больше 2,5 тыс. процессоров Intel и AMD.
Пользователю предоставляется возможность в удобной форме сравнивать производительность процессоров в синтетических тестах, количество ядер, частоту, структуру и объем кэша, поддерживаемые типы оперативной памяти, скорость шины, а также другие их характеристики.
Дополнительные рекомендации по использованию таблицы можно найти внизу страницы.
Спецификации процессоров
В этой базе собраны подробные характеристики процессоров Intel и AMD. Она содержит спецификации около 2,7 тысяч десктопных, мобильных и серверных процессоров, начиная с первых Пентиумов и Атлонов и заканчивая последними моделями.
Информация систематизирована в алфавитном порядке и будет полезна всем, кто интересуется компьютерной техникой.
Таблица процессоров
Таблица содержит информацию о почти 2 тыс. процессоров и будет весьма полезной людям, интересующимся компьютерным "железом". Положение каждого процессора в таблице определяется уровнем его быстродействия в синтетических тестах (расположены по убыванию).
Есть фильтр, отбирающий процессоры по производителю, модели, сокету, количеству ядер, наличию встроенного видеоядра и другим параметрам.
Для получения подробной информации о любом процессоре достаточно нажать на его название.
Как проверить стабильность процессора
Проверка стабильности работы центрального процессора требуется не часто. Как правило, такая необходимость возникает при приобретении компьютера, разгоне процессора (оверлокинге), при возникновении сбоев в работе компьютера, а также в некоторых других случаях.
В статье описан порядок проверки процессора при помощи программы Prime95, которая, по мнению многих экспертов и оверлокеров, является лучшим средством для этих целей.
ПОКАЗАТЬ ЕЩЕ
SSE (сокр. от Streaming SIMD Extensions) – технология, разработанная компанией Intel. SIMD расшифровывается как Single Instruction Multiple Data, что значит "одна инструкция - множество данных".
Впервые SSE была использована в 1999 году в процессорах Pentium ІІІ с ядром Katmai. Изначально она называлась KNI (Katmai New Instructions).
SSE стала своеобразным ответом Intel на разработанную годом ранее компанией AMD технологию 3DNow!. Так же, как и 3DNow!, SSE применяется процессором, когда нужно совершить одни и те же действия над разными данными и обеспечивает осуществление до 4 таких вычислений за 1 такт. Этим достигается существенный прирост быстродействия. При этом, данные могут быть как целочисленными, так и вещественными.
Преимуществом SSE по сравнению с 3DNow! является использование собственных регистров, благодаря чему вместе с инструкциями SSE процессор может задействовать инструкции математического сопроцессора (регистры 3DNow! являются общими с сопроцессором и использовать их одновременно процессор не может).
SSE реализована в виде:
• 70 новых инструкций;
• одного 32-битного (в 64-битных процессорах - одного 64-битного) регистра управления, необходимого также для проверки состояния SSE инструкций.
НАПИСАТЬ АВТОРУ
Технологии и инструкции, используемые в процессорах
Люди обычно оценивают процессор по количеству ядер, тактовой частоте, объему кэша и других показателях, редко обращая внимание на поддерживаемые им технологии.
Отдельные из этих технологий нужны только для решения специфических заданий и в "домашнем" компьютере вряд ли когда-нибудь понадобятся. Наличие же других является непременным условием работы программ, необходимых для повседневного использования.
Так, полюбившийся многим браузер Google Chrome не работает без поддержки процессором SSE2. Инструкции AVX могут в разы ускорить обработку фото- и видеоконтента. А недавно один мой знакомый на достаточно быстром Phenom II (6 ядер) не смог запустить игру Mafia 3, поскольку его процессор не поддерживает инструкции SSE4.2.
Если аббревиатуры SSE, MMX, AVX, SIMD вам ни о чем не говорят и вы хотели бы разобраться в этом вопросе, изложенная здесь информация станет неплохим подспорьем.
Таблица совместимости процессоров и материнских плат AMD
Одной из особенностей компьютеров на базе процессоров AMD, которой они выгодно отличаются от платформ Intel, является высокий уровень совместимости процессоров и материнских плат. У владельцев относительно не старых настольных систем на базе AMD есть высокие шансы безболезненно "прокачать" компьютер путем простой замены процессора на "камень" из более новой линейки или же флагман из предыдущей.
Если вы принадлежите к их числу и задались вопросом "апгрейда", эта небольшая табличка вам в помощь.
Сравнение процессоров
В таблицу можно одновременно добавить до 6 процессоров, выбрав их из списка (кнопка "Добавить процессор"). Всего доступно больше 2,5 тыс. процессоров Intel и AMD.
Пользователю предоставляется возможность в удобной форме сравнивать производительность процессоров в синтетических тестах, количество ядер, частоту, структуру и объем кэша, поддерживаемые типы оперативной памяти, скорость шины, а также другие их характеристики.
Дополнительные рекомендации по использованию таблицы можно найти внизу страницы.
Спецификации процессоров
В этой базе собраны подробные характеристики процессоров Intel и AMD. Она содержит спецификации около 2,7 тысяч десктопных, мобильных и серверных процессоров, начиная с первых Пентиумов и Атлонов и заканчивая последними моделями.
Информация систематизирована в алфавитном порядке и будет полезна всем, кто интересуется компьютерной техникой.
Таблица процессоров
Таблица содержит информацию о почти 2 тыс. процессоров и будет весьма полезной людям, интересующимся компьютерным "железом". Положение каждого процессора в таблице определяется уровнем его быстродействия в синтетических тестах (расположены по убыванию).
Есть фильтр, отбирающий процессоры по производителю, модели, сокету, количеству ядер, наличию встроенного видеоядра и другим параметрам.
Для получения подробной информации о любом процессоре достаточно нажать на его название.
Как проверить стабильность процессора
Проверка стабильности работы центрального процессора требуется не часто. Как правило, такая необходимость возникает при приобретении компьютера, разгоне процессора (оверлокинге), при возникновении сбоев в работе компьютера, а также в некоторых других случаях.
В статье описан порядок проверки процессора при помощи программы Prime95, которая, по мнению многих экспертов и оверлокеров, является лучшим средством для этих целей.
ПОКАЗАТЬ ЕЩЕ
Команды SSE2
Исходные команды SSE были также улучшены для поддержки гибкого и более высокого динамического диапазона вычислительной мощности, поддерживая арифметические операции на многократных типах данных (например, двойные слова и четверные слова). Инструкции SSE2 позволяют разработчикам ПО иметь максимальную гибкость, чтобы реализовать алгоритмы и обеспечить улучшения производительности когда рабочее программное обеспечение, такое как MPEG 2, MP3, 3D графические адаптеры и т.д.
Команда | Описание |
---|---|
ADDPD | Векторное сложение Double |
ADDSD | Скалярное сложение Double |
ANDPD | Поразрядное логическое И над Double |
ANDNPD | Поразрядное логическое И-НЕ над Double |
CLFLUSH | Сброс в память строки кэша, содержащей адрес |
CMPPD | Векторное сравнение Double |
CMPSD | Скалярное сравнение Double |
COMISD | Скалярное сравнение упорядоченных значений и установка EFLAGS |
CVTDQ2PD | Преобразование двух упакованных DWord в два Double |
CVTDQ2PS | Преобразование четырех упакованных знаковых DWord в четыре упакованных Float |
CVTPD2DQ | Преобразование двух упакованных Double в два упакованных DWord |
CVTPD2PI | Преобразование двух упакованных Double в два упакованных DWord |
CVTPD2PS | Преобразование двух упакованных Float в два упакованных Double |
CVTSD2SI | Преобразование скалярного Double в DWord |
CVTSD2SS | Преобразование скалярного Double в Float |
CVTSI2SD | Преобразование скалярного DWord в Double |
CVTSS2SD | Преобразование скалярного Float в Double |
CVTTPD2P | Преобразование усечением двух упакованных Double в два DWord |
CVTTPD2DQ | Преобразование усечением двух упакованных Double в два DWord |
CVTTPS2DQ | Преобразование усечением четырех упакованных Float в четыре знаковых DWord |
CVTTSD2SI | Преобразование усечением скалярного Double в Float |
DIVPD | Векторное деление Double |
DIVSD | Скалярное деление Double |
LFENCE | Упорядочить операции загрузки |
MASKMOVDQU | Выборочная запись байт из источника в память |
MAXPD | Вычисление максимальных упакованных значений Double |
MAXSD | Скалярное вычисление максимального значения Double |
MFENCE | Упорядочить операции загрузки и сохранения |
MINPD | Вычисление минимальных упакованных значений Double |
MINSP | Скалярное вычисление минимального значения Double |
MOVAPD | Перемещение упакованных выровненных Double |
MOVD | Перемещение DWord |
MOVDQA | Перемещение выровненных 128 бит |
MOVDQU | Перемещение невыровненных 128 бит |
MOVDQ2Q | Перемещение младшего QWord |
MOVHPD | Перемещение старшего упакованного Double |
MOVLPD | Перемещение младшего упакованного Double |
MOVMSKPD | Извлечение 2-битной знаковой маски упакованных Double |
MOVNTDQ | Сохранение двух QWord в память без использования кэша |
MOVNTI | Сохранение DWord из регистра общего назначения в память без использования кэша |
MOVNTPD | Сохранение двух Double в память без использования кэша |
MOVQ | Перемещение QWord |
MOVQ2DQ | Перемещение QWord из MMX-регистра в младшее QWord XMM-регистра |
MOVSD | Перемещение скалярного Double |
MOVUPD | Перемещение невыровненных упакованных Double |
MULPD | Векторное умножение Double |
MULSD | Скалярное умножение Double |
ORPD | Поразрядное логическое ИЛИ над Double |
PACKSSWB | Упаковка со знаковым насыщением слов в байты |
PACKSSDW | Упаковка со знаковым насыщением двойных слов в слова |
PACKUSWB | Упаковка с беззнаковым насыщением слов в байты |
PADDB | Сложение упакованных байт |
PADDW | Сложение упакованных слов (Word) |
PADDD | Сложение упакованных двойных слов (DWord) |
PADDQ | Сложение учетверенных слов (QWord) |
PADDSB | Сложение упакованных байт со знаковым насыщением |
PADDSW | Сложение упакованных слов со знаковым насыщением |
PADDUSB | Сложение упакованных байт с беззнаковым насыщением |
PADDUSW | Сложение упакованных слов с беззнаковым насыщением |
PAND | Упакованное логическое И |
PANDN | Упакованное логическое И-НЕ |
PAUSE | Улучшить выполнение цикла ожидания-занятости |
PAVGB | Упакованное среднее байт |
PAVGW | Упакованное среднее слов |
PCMPEQB | Сравнение на равенство упакованных байт |
PCMPEQW | Сравнение на равенство упакованных слов |
PCMPEQD | Сравнение на равенство упакованных двойных слов |
PCMPGTB | Сравнение по условию "больше чем" упакованных байт |
PCMPGTW | Сравнение по условию "больше чем" упакованных слов |
PCMPGTD | Сравнение по условию "больше чем" упакованных двойных слов |
PEXTRW | Извлечение 16-битного слова из XMM-регистра |
PINSRW | Вставка 16-битного слова в регистр XMM |
PMADDWD | Упакованное знаковое умножение слов с последующим сложением промежуточных результатов в DWord |
PMAXSW | Возврат максимальных упакованных знаковых слов |
PMAXUB | Возврат максимальных упакованных беззнаковых байт |
PMINSW | Возврат минмальных упакованных знаковых слов |
PMINUB | Возврат минимальных упакованных беззнаковых байт |
PMOVMSKB | Перемещение байтовой знаковой маски в целочисленный регистр |
PMULHUW | Упакованное беззнаковое умножение слов с возвратом старших слов результата |
PMULHW | Упакованное знаковое умножение слов с возвратом старших слов результата |
PMULLW | Упакованное знаковое умножение слов с возвратом младших слов результата |
PMULUDQ | Умножение DWord и сохранение результата в XMM-регистре. |
POR | Упакованное логическое ИЛИ |
PSADBW | Суммарная разница значений пар беззнаковых упакованных байт |
PSHUFD | Перераспределение упакованных двойных слов |
PSHUFHW | Перераспределение упакованных слов в старших DWord |
PSHUFLW | Перераспределение упакованных слов в младших DWord |
PSLLDQ | Побайтный сдвиг влево |
PSLLW | Логический сдвиг слов влево |
PSLLD | Логический сдвиг двойных слов влево |
PSLLQ | Логический сдвиг учетверенных слов влево |
PSRAW | Арифметический сдвиг слов влево |
PSRAD | Арифметический сдвиг двойных слов влево |
PSRLDQ | Побайтный сдвиг вправо |
PSRLW | Логический сдвиг слов вправо |
PSRLD | Логический сдвиг двойных слов вправо |
PSRLQ | Логический сдвиг учетверенных слов вправо |
PSUBB | Вычитание упакованных байт |
PSUBW | Вычитание упакованных слов |
PSUBD | Вычитание упакованных двойных слов |
PSUBQ | Вычитание учетверенных слов |
PSUBSB | Вычитание упакованных слов со знаковым насыщением |
PSUBSW | Вычитание упакованных двойных слов со знаковым насыщением |
PSUBUSB | Вычитание упакованных байт с беззнаковым насыщением |
PSUBUSW | Вычитание упакованных слов с беззнаковым насыщением |
PUNPCKHBW | Распаковка старших упакованных байт в слова |
PUNPCKHWD | Распаковка старших упакованных слов в двойные слова |
PUNPCKHDQ | Распаковка старших упакованных двойных слов в учетверенные слова |
PUNPCKHQDQ | Распаковка старших упакованных учетверенных слов в двойные учетверенные слова |
PUNPCKLBW | Распаковка младших упакованных байт в слова |
PUNPCKLWD | Распаковка младших упакованных слов в двойные слова |
PUNPCKLDQ | Распаковка младших упакованных двойных слов в учетверенные слова |
PUNPCKLQDQ | Распаковка младших упакованных учетверенных слов в двойные учетверенные слова |
PXOR | Упакованное логическое исключающее ИЛИ |
SHUFPD | Перестановка упакованных значений Double |
SQRTPD | Векторное вычисление квадратного корня Double |
SQRTSD | Скалярное вычисление квадратного корня Double |
SUBPD | Векторное вычитание Double |
SUBSD | Скалярное вычитание Double |
UCOMISD | Неупорядоченное скалярное сравнение Double с установкой флагов в EFLAGS |
UNPCKHPD | Перенос верхних упакованных значений Double с чередованием |
UNPCKLPD | Перенос нижних упакованных значений Double с чередованием |
XORDP | Поразрядное логическое исключающее ИЛИ над Double |
SSE4a
Набор инструкций SSE4a был введен компанией AMD в процессоры на архитектуре Barcelona. Это расширение не доступно в процессорах Intel. Поддержка определяется через CPUID.80000001H:ECX.SSE4A[Bit 6] флаг.
Пользователи некоторых старых компьютеров все чаще обнаруживают, что часть новых программ и компьютерных игр больше не работает на их системах. При чем это не зависит от версии или разрядности операционной системы. Ограничения находятся на аппаратном уровне и связаны с поддержкой инструкций SSE 4.1 и SSE 4.2. В данной статье мы расскажем, что это такое и какие процессоры поддерживают SSE 4.1 и SSE 4.2.
Набор команд
SSE4 состоит из 54 инструкций, 47 из них относят к SSE4.1 (они есть в процессорах Penryn). Полный набор команд (SSE4.1 и SSE4.2, то есть 47 + оставшиеся 7 команд) доступен в процессорах Intel с микроархитектурой Nehalem, которые были выпущены в середине ноября 2008 года и более поздних редакциях. Начиная с процессоров на базе Барселоны , AMD представила набор инструкций SSE4a , который содержит 4 инструкции SSE4 и 4 новых инструкции SSE. Эти инструкции не найдены в процессорах Intel, поддерживающих SSE4.1, а процессоры AMD только начали поддерживать SSE4.1 и SSE4.2 от Intel (полный набор инструкций SSE4) на процессорах FX на базе Bulldozer . С SSE4a была также введена несогласованная функция SSE, которая означала, что инструкции с невыложенной загрузкой были такими же быстрыми, как выровненные версии на выровненных адресах. Это также позволило отключить проверку выравнивания для операций SSE без нагрузки, обращающихся к памяти. [Источник 2] Позднее Intel представила аналогичные усовершенствования скорости для неуравновешенного SSE в своих процессорах Nehalem, но не вводила неверный доступ с помощью инструкций SSE без нагрузки до AVX .
Вставки/извлечения
INSERTPS xmm1, xmm2/m32, imm8 — (Insert Packed Single Precision Floating-Point Value) | Вставка 32-битного поля из xmm2 (возможно выбрать любой из 4 полей этого регистра) или из 32-битной ячейки памяти в произвольное поле результата. Кроме того, для каждого из полей результата можно задать сброс его в +0.0. |
EXTRACTPS r/m32, xmm, imm8 — (Extract Packed Single Precision Floating-Point Value) | Извлечение 32-битного поля из xmm регистра, номер поля указывается в младших 2 битах imm8. Если в качестве результата указан 64-битный регистр, то его старшие 32 бита сбрасываются (расширение без знака). |
PINSR xmm, r/m*, imm8 — (Insert Byte/Dword/Qword) | Вставка 8, 32, или 64-битного значения в указанное поле xmm регистра (остальные поля не изменяются). |
PEXTR r/m*, xmm, imm8 — (Extract Byte/Word/Dword/Qword) | Извлечение 8, 16, 32, 64-битного поля из указанного в imm8 поля xmm регистра. Если в качестве результата указан регистр, то его старшая часть сбрасывается (расширение без знака). |
Проверки бит
PTEST xmm1, xmm2/m128 — (Logical Compare)
Установить флаг ZF, если только в xmm2/m128 все биты помеченные маской из xmm1 равны нулю. Если все не помеченные биты равны нулю, то установить флаг CF. Остальные флаги (AF, OF, PF, SF) всегда сбрасываются. Инструкция не модифицирует xmm1.
Содержание
Intel
В настольных процессорах Intel поддержка SSE 4.1 появилась в архитектуре Penryn (процессоры Core 2 Duo, Core 2 Quad), а поддержка SSE 4.2 в архитектуре Nehalem (процессоры Intel Core 1-поколения).
Полная же поддержка инструкций SSE 4.2 (включая POPCNT и LZCNT) доступна начиная с архитектуры Haswell (процессоры Intel Core 4-поколения).
Более подробная информация о поддержке в таблице внизу.
Микроархитектура Intel | Процессоры | Поддержка инструкций |
Silvermont |
В настольных процессорах AMD сначала появилась поддержка собственного набора инструкций SSE4a, который отсутствовал в процессорах Intel.
Но, уже начиная микроархитектуры Bulldozer (FX) была внедрена поддержка SSE 4.1 и SSE 4.2 (включая инструкции POPCNT и LZCNT). Последовавшая в дальнейшем микроархитектура Zen (Ryzen) также в полной мере поддерживает SSE 4.1 и SSE 4.2.
Более подробная информация о поддержке в таблице внизу.
Микроархитектура AMD | Процессоры | Поддержка инструкций |
K10 |
Как узнать, что процессор поддерживает SSE 4.1 и SSE 4.2
Если у вас уже есть готовый компьютер и вы хотите узнать, поддерживает ли его процессор инструкции SSE 4.1 и SSE 4.2, то это можно сделать с помощью программ для просмотра характеристик компьютера.
Среди прочего, с помощью CPU-Z можно проверить наличие поддержки инструкций SSE 4.1 и SSE 4.2. Для этого нужно просто запустить CPU-Z и изучить строку « Instructions » на вкладке «CPU ». Здесь будет доступен список всех инструкций, которые поддерживает данный процессор.
Нужно отметить, что в интернете есть скриншоты CPU-Z практически для любого процессора. Поэтому, вместо установки CPU-Z можно просто поискать в интернете скриншот из этой программы. Для этого нужно ввести поисковый запрос « cpu-z название процессора » и перейти к просмотру картинок.
Таким образом можно найти информацию практически о любом современном процессоре.
Процессоры, поддерживающие SSE 4.1 и SSE 4.2
Практически все современные процессоры поддерживают инструкции SSE 4.1 и SSE 4.2. Ниже мы расскажем в каких процессорах Intel и AMD поддержка этих инструкций появилась впервые.
Читайте также: