Как добавить инструкции sse 4. AMD собирается внедрить поддержку SSE4.1

  • 21.05.2019

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

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

В отличии от MMX и 3DNow ! Инструкций, SSE может одновременно использовать свои инструкции вместе с инструкциями сопроцессора, так как регистры SSE и сопроцессора не являются общими. Это ещё одно неоспоримое преимущество, впрочем, как и возможность работать не с целыми числами (MMX могла работать только с целыми).

Использование SSE возможно только если операционная система поддерживает данные инструкции.

SSE состоит из:

SIMD расширение добавляет восемь(или 16 , если процессор 64 -битный) 128 -битных регистров XMM (XMM 0-XMM 7), разделённых на четыре 32 -битных (одинарной точности)регистра с плавающей точкой. Также, в составе есть 32 -битный (в x 86-64 64 -битный) регистр управления и контроля, который также нужен для проверки состояния SSE инструкций.

Так как каждый регистр имеет 128 -бит, может хранить всего 4 из 32 -разрядных чисел с плавающей точкой (1 бит знака, 8-бит экспоненты , 23 -х разрядная мантисса). На самом деле, за один такт могут выполняться любые данные помещающиеся в 128 бит (буквы, целые числа, байты, с двойной точностью и т.д.) и всё зависит от оптимизации программы под определённую задачу.

SSE

SSE может выполнять 70 новых инструкций , которые и работают на этих 128 битах, MMX и даже обычными 32 -битными регистрами, если SIMD простаивает без дела.

SSE 2

SSE 2 инструкции, появились с выходом первых Pentium 4 и значительно усовершенствовали SSE первого поколения. Включает в себя возможность использовать операции со скалярными и упакованными типами данных. Присутствуют инструкции для потоковой обработки целочисленных MMX данных в 128 -битных XMM регистрах SSE . Новый набор инструкций значительно упростил работу программистов и даже родилась поговорка – «SSE должен был родиться таким, как SSE 2 ».

SSE 3

ТакжеимелиназваниеPNI (Prescott New Instructions ). Добавлены дополнительные 13 инструкций , которые расширяют математические возможности DSP и поток управления инструкциями. Больше походит на косметическое улучшение , чем на практическое, которым было предыдущее обновление.

SSSE 3

Дополнительное обновление для SSE 3 , которое включает 16 новых инструкций . Позволяет умножать 16 -ти разрядные числа с фиксированной точкой и правильным округлением, вносить слова в инструкции и переставлять байты в них.

Добавлены 54 инструкции , но с оговорками. В SSE 4.1 (появилась в Intel Penryn ) содержится урезанный набор из 47 инструкций , а в SSE 4.2 – полный, из 54 (+7 , добавлены в архитектуре Nehalem ).

Инструкции работают только с 128 -битными XMM 0-XMM 15 . Добавлены POPCNT и дополнительные целочисленные инструкции & etc . SSE 4 привнесла практически столько нововведений, как в своё время привнесла первая SSE . Основным направлением при разработке было расширение мультимедийных возможностей — декодирование игр, ускорение физических и векторных расчётов для игр, ускорение обработки фото, музыки & etc.

Часто современный софт или игры требуют от процессора наличия инструкций SSE 4.1 — 4.2. В случае отсутствия таковых, запустить нужное приложение не получается, вылетает какая-либо ошибка или просто ничего не происходит.

FarCry 5 ругается на отсутствие SSE 4.2

При этом, мощности процессора может быть вполне достаточно для более-менее комфортной игры (к примеру, некоторый процессоры Xeon для 775 сокета до сих пор способны выдавать сносный фпс в новинках), а требование инструкций бывает необходимо даже не для самой игры, а для работы защиты от копирования. К примеру, защита Denuvo не давала владельцам старых процессоров поиграть в Assassin"s Creed Origins, хотя сама игра наличия последних инструкций не требовала.

Наличия SSE 4.1 или 4.2 требуют и другие популярные игры или их компоненты: No Man Sky, Far Cry 5, Dishonored 2, Mafia 3 и другие.

Тем не менее, решение есть, хоть и не 100% гарантирующее успех. Для запуска нужного приложения можно воспользоваться эмулятором sde external , скачать который можно по ссылке (выбирайте версию для windows) или внизу данной статьи.

Как пользоваться эмулятором SSE 4.1-4.2

  • Скачиваем архив с sde external и распаковываем так, чтобы sde.exe оказался в папке с нужной игрой или программой
  • Создаем ярлык для sde.exe. Затем открываем свойства ярлыка и в параметре объект дописываем — нужный файл.exe . Например: D:\Games\No Man"s Sky\Binaries\sde.exe" — NMS.exe. После последней кавычки должен стоять пробел, иначе система не даст сохранить ярлык.
  • Также в свойствах ярлыка на вкладке «Совместимость» стоит поставить опцию «запускать от имени администратора».
  • Сохраняем ярлык и запускаем его. Появляется черное окно, его можно закрыть. Через некоторое время нужное приложение должно запуститься.

Несколько месяцев назад AMD представила новую архитектуру, которая будет использоваться в новых процессорах, начиная с 2011 года. Новая архитектура носит имя Bulldozer и полностью отличается от нынешней архитектуры AMD64, которую AMD использует с 2003 года.

Архитектура Bulldozer унаследует некоторые технологические решения, введенные с архитектурой AMD64, такие как: встроенный контроллер памяти и использования шины HyperTransport для связи между процессором и чипсетом.

Bulldozer – это кодовое название архитектуры, а не имя конкретного процессора. Как это обычно бывает, первый релиз процессоров будет ориентирован на рынок серверов, далее релиз для рынка дорогих высокопроизводительных компьютеров, после для среднеценового сегмента, и в конце для рынка бюджетного уровня.

Хотя компания AMD не раскрывала характеристики новых процессоров, они отметили, что первые процессоры для настольного компьютера, будут выполнены на новом сокете AM3 + , который будет совместим с существующими сокетом AM3. Однако Socket AM3+ не будут совместим с материнскими платами под Socket AM3.

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

Архитектура Bulldozer, помимо того, что совместима со стандартом инструкций x86, будет поддерживать следующие дополнительные наборы инструкций:

  • SSE4.1 и SSE4.2
  • AVX (Advanced Vector Extensions) с двумя дополнительными инструкциями XOP и FMA4
  • AES (Advanced Encryption Standard) – расширенный стандарт шифрования
  • LWP (Light Weight Profiling)

SSE4.1 и SSE4.2

Наконец процессоры AMD будут поддерживать набор инструкций SSE4. В настоящее время процессоры AMD не поддерживают этот наборы инструкций, который увеличивает производительность в мультимедийных приложениях (к примеру, приложения по обработке изображения и видео). На данный момент процессоры AMD поддерживают собственный набор инструкций называемый SSE4a, что не одно и то же с SSE4.

AVX (Advanced Vector Extensions)

В свое время, AMD предлагала использовать новый набор инструкций SSE5. Именно поэтому, Intel решила создать свою собственную реализацию того, что называлось SSE5 и назвали эту инструкцию — AVX (Advanced Vector Extensions). Компания AMD решила добавить этот набор инструкций для архитектуры Bulldozer.

Инструкции AVX также будут поддерживаться новыми процессорами от Intel на архитектуре Sandy Bridge.

Набор инструкций AVX добавляет 12 новых инструкций и увеличивает размер регистров XMM от 128 бит до 256 бит.

В архитектуре Bulldozer, AMD решила использовать некоторые из инструкций, которые были предложены для SSE5. Таким образом, использование AVX в архитектуре Bulldozer более полное, чем у Intel. Эти дополнительные инструкции называются XOP и FMA4. AMD также отметили о том, что в AVX иметься подгруппа команд FMAC(Fused Multiply Accumulate), но фактически, она является частю набора инструкций XOP

AES (Advanced стандарт шифрования)

Этот набор команд уже используется в новых процессоров Intel, на основе архитектуры «Westmere» (кроме Core i3), и состоит из шести новых инструкций связанных с шифрованием. Intel называет этот набор инструкций AES-NI.

LWP (Light Weight Profiling)

Инструкции LWP позволят повысить производительность многопоточного программного обеспечения, работающего на многоядерных процессорах. LWP включает шесть новых инструкций.

Всем привет Поговорим сегодня о том как узнать какие инструкции SSE поддерживает процессор. Но что такое SSE вы знаете? Я вот не знаю и не то чтобы не знаю, я даже понять не могу что это такое. Ну то есть я понимаю, что это инструкция процессора, которая нужна для оптимизации его работы, то есть чтобы при одной и тоже частотой проц с этой инструкцией мог больше обрабатывать команд. Но это так, грубо говоря так бы сказать…

Про SSE я вообще не знаю где в жизни он нужен, может быть для игр? Я знаю что такое Hyper-threading (правда это не инструкция процессора, это технология), что такое VT-x, VT-d, что такое EM64T знаю, а вот что такое SSE не знаю! Ну вот такие пироги ребята

Короче ребята, я вам скажу сразу, что есть небольшой обломчик с этим делом, это я имею ввиду то, что штатными средствами винды такую штуку как SSE нельзя узнать есть она или нет. Тут нужно качать специальную прогу. Но вы не переживайте, эта супер пупер прога бесплатная, весит очень мало, комп вообще никак не грузит, но при этом она МЕГА ПОЛЕЗНАЯ и зовут ее CPU-Z (кстати скачать можно тут: cpuid.com/softwares/cpu-z.html, это официальный сайт).

Итак ребята, скачали CPU-Z, установили и потом запускаем. И вот сразу же вы все узнаете, вот сколько у меня этих SSE:

Не одна и не две, а целых шесть, огогошеньки ребята

Кстати, как видите тут еще много есть всякой полезной инфы, видите? Если срочно нужно узнать что-то о своем проце, то вы быстро запускаете CPU-Z и опа, все что вам нужно у вас под рукой! Говорю же что прога CPU-Z это одна годнота! Не верите? Ну нет проблем, я вам щас докажу. Смотрите, вот вы знаете когда у вас была выпущена та или иная планка памяти? Ну то есть дату ее выпуска на заводе так бы сказать. Или вам это не интересно? Ну некоторым очень интересно, вот мне например очень интересно! И вот прога CPU-Z может показать такую инфу! Итак ребята, смотрите, запустили CPU-Z, идете на вкладку SPD, там выбираете слот с планкой (слева), ну то есть разьем куда она установлена и смотрите инфу по выбранной планке. У меня вот стоит одна планка на 8 гигов в четвертом слоту и вот какую инфу показала прога CPU-Z:

Тут видно, что моя планка была выпущена в 30-тую неделю 2014-го года. Также написано что производитель у меня это Hyundai Electronics, ну это планка Hynix так называется

Ну короче CPU-Z это супер, если нужно быстро посмотреть вообще самую важную инфу о железе компа или ноута, она все это покажет без приколов! Короче рекомендую ребята!

И еще, забыл кое что написать про SSE. Включить или отключить SSE нельзя. Ибо эта инструкция или есть или нет. Вот например Hyper-threading включить/отключить можно, а SSE нет!

На этом все ребята, надеюсь что все вам тут было понятно, а если что-то не так, то прошу прощения. Эта инфа была вам полезной, только честно? Я буду всем сердцем надеется что да! Удачи вам в жизни, чтобы вы были здоровы и не болели, удачи

09.12.2016

С точки зрения поддержки расширений SSE компании Intel и AMD идут хотя и разными, но порой пересекающимися путями. Например, процессоры Phenom и Barcelona предлагают поддержку инструкций SSE4a, которые по набору команд уступают SSE4.1, поддерживаемым процессорами Intel поколения Penryn. Процессоры Nehalem предложат поддержку SSE4.2, а компания AMD собирается реализовать поддержку SSE5 в своих процессорах поколения Bulldozer, которые выйдут не ранее 2010 года. Компания Intel на выход SSE5 готова ответить набором инструкций AVX , которые будут поддерживаться процессорами поколения Sandy Bridge.

Кстати, в этом контексте можно упомянуть и расширения SSSE3, которые поддерживаются 65 нм процессорами Intel поколения Conroe. Компания AMD их игнорировала, но ситуация может измениться, если верить опубликованному недавно на официальном сайте AMD документу . В новой редакции спецификаций CPUID компания AMD признаётся, что её процессоры могут получить поддержку SSSE3 (не путать с SSE3):

Рискнём предположить, что поддержка SSSE3 появится в процессорах AMD поколения Shanghai. Попутно AMD заявляет о поддержке SSE5, которая будет внедрена не ранее 2010 года, согласно предварительным оценкам.

Наконец, AMD готова взять на вооружение используемые 45 нм процессорами Intel расширения SSE4.1:

Теоретически, это позволит повысить скорость работы процессоров AMD с видео и трёхмерной графикой. Очевидно, поддержка SSE4.1 тоже появится в 45 нм процессорах поколения Shanghai. Как всегда, практический выигрыш от использования всех этих расширений будет зависеть от оптимизации программного обеспечения. В этом смысле программная индустрия несколько отстаёт от производителей процессоров.

Следует признать, что рассмотренный документ является руководством для программистов, и он напрямую не гарантирует, что перечисленные расширения появятся в процессорах AMD. Тем не менее, интерес к ним со стороны компании позволяет предположить, что какие-то новые наборы команд в очередных поколениях процессоров AMD пропишутся.