Прескачане към съдържанието

SSE4.2

Архитектурна справкаFeex

SSE4.2 добавя x86 инструкции за сравнение на низове, пакетирано целочислено сравнение и инструкции за CRC32. Неговата инструкция CRC използва полинома CRC-32C и не представлява криптографски хеш.

Какво трябва да знаете

SSE4.2 добавя x86 инструкции за сравнение на низове, пакетирано целочислено сравнение и инструкции за CRC32. Неговата инструкция CRC използва полинома CRC-32C и не представлява криптографски хеш.

Как работи

Семейството инструкции PCMPxSTRx осигурява конфигурируеми сравнения върху байтови или думови елементи с явни или неявни дължини. Скаларните инструкции CRC32 актуализират контролна сума чрез полинома на Castagnoli. Разширението включва също пакетирано сравнение на 64-битови числа със знак (quadword). Това са различни операции, групирани под един флаг за функционалност.

Къде е полезно

Библиотека за съхранение на данни или мрежи може да ускорява CRC-32C, а текстова рутина може да използва пакетирани сравнения на низове. Файлов формат, изискващ различен CRC полином, не може да замени инструкцията CRC32 без правилна алгоритмична трансформация. Криптографската цялост изисква отделна конструкция.

Как се проверява поддръжката и активирането

CPUID.01H:ECX бит 20 изброява SSE4.2. Проверете конкретната изисквана инструкция и нейния работен режим, и тествайте POPCNT отделно. Приложение, изискващо SSE4.2, се нуждае от съвместим поддържан билд, когато флагът отсъства.

SIMD функционалност описва инструкции, а не допълнителни ядра. Формата на инструкцията определя ширината на елемента, знака, закръгляването, подравняването и кои пътеки (lanes) взаимодействат. Софтуерът трябва да запазва регистровото състояние според ABI и да използва поддържана среда за изпълнение.

Какво не гарантира тази функция

SSE4.2 не установява POPCNT, дори когато обикновено се появяват заедно. То няма връзка с отделния етикет AMD SSE4a. Поддръжката не е гаранция, че дадена низова подпрограма или контролна сума е по-бърза от всяка алтернатива на този процесор.

Съвместимост и производителност на практика

По-късните наименования в семейството на SSE имат отделни битове за функционалност. За внедрен изпълним файл проверете пълния минимален набор от функционалности, включително библиотеките и стартиращия код. Резервният вариант е полезен само ако нито една неподдържана инструкция не се изпълнява преди стъпката за избор.

Практически контролен списък за проверка

  1. Запишете точния модел на процесора или платформата, както и използваните версии на приложението, операционната система и средата за изпълнение. Запазете точния текст на действителната грешка или изискване.
  2. Проверете документацията от производителя за този точен модел, след което инспектирайте действителните възможности и активираното състояние в средата, където работи програмата.
  3. Сравнете всяко изискване на избрания двоичен файл или бекенд. Подобно наименувана функция, псевдоним или общ технологичен етикет не са достатъчни.
  4. Потвърдете, че приложението е избрало планираната реализация. Използвайте неговата документирана диагностика и поддържан резервен вариант, когато изискванията не са изпълнени.
  5. Правете по една поддържана промяна наведнъж и повтаряйте същото работно натоварване. Запазете достъпни оригиналната конфигурация и плана за възстановяване.

Ако функцията е посочена, но софтуерът не може да я използва

Започнете с точния компонент, който дава грешка. Хардуерната база данни описва записаните възможности; операционната система или хипервайзорът могат да предоставят различна ефективна среда. Грешка за невалидна инструкция (illegal-instruction) също изисква разследване на действителната сриваща се инструкция и компилацията на двоичния файл, тъй като повреда или несвързана неподдържана инструкция може да предизвика подобен симптом.

Инсталирайте версията на приложението, драйвера или средата за изпълнение, която се поддържа за точната платформа, и използвайте документираната от производителя базова или резервна компилация, ако е необходимо. Софтуерна актуализация не може да създаде инструкция, която липсва в процесора. Промените във фърмуера и политиките за сигурност трябва да следват процедурата на производителя на системата и план за възстановяване, а не общи съвети за оптимизация.

Източници и обхват на това обяснение

Intel 64 and IA-32 Architectures Software Developer's Manual · x86-64 psABI: нива на процесорна архитектура и микроархитектура

Тези източници установяват архитектурното поведение и софтуерните изисквания. Те не проверяват независимо всяка стойност на параметър на свързана страница за хардуерен модел. За поддръжка на даден модел използвайте данните от производителя на съответната страница и проверете ефективната системна конфигурация. Тази статия не предоставя бенчмарк, сертификация или дата на независим преглед.

Източници и проверка

Редакционна собственост: Feex. Не е записана дата на независим преглед. Как проучваме.

Беше ли полезна тази статия?

Достатъчно е "да" или "не". Изберете причина, ако желаете, или добавете кратка бележка.

Беше ли полезна тази статия?