SSE4.2
SSE4.2 afegeix instruccions de comparació de cadenes de x86, una comparació d'enters empaquetats i instruccions CRC32. La seva instrucció CRC utilitza el polinomi CRC-32C i no és un resum criptogràfic.
El que cal saber
SSE4.2 afegeix instruccions de comparació de cadenes de x86, una comparació d'enters empaquetats i instruccions CRC32. La seva instrucció CRC utilitza el polinomi CRC-32C i no és un resum criptogràfic.
Com funciona
La família d'instruccions PCMPxSTRx proporciona comparacions configurables sobre elements de byte o de paraula amb longituds explícites o implícites. Les instruccions escalars CRC32 actualitzen una suma de verificació utilitzant el polinomi de Castagnoli. L'extensió també inclou una comparació de paraules quàdruples empaquetades amb signe. Són operacions diferents agrupades sota un mateix indicador de característica.
On és útil
Una biblioteca d'emmagatzematge o de xarxa pot accelerar CRC-32C, i una rutina de text pot utilitzar comparacions de cadenes empaquetades. Un format de fitxer que requereixi un polinomi CRC diferent no pot substituir la instrucció CRC32 sense una transformació algorísmica correcta. La integritat criptogràfica requereix una construcció separada.
Com comprovar el suport i l'habilitació
CPUID.01H:ECX bit 20 enumera SSE4.2. Comproveu la instrucció necessària concreta i el seu mode de funcionament, i proveu POPCNT per separat. Una aplicació que requereixi SSE4.2 necessita una compilació compatible admesa quan l'indicador no estigui present.
Una característica SIMD descriu instruccions, no nuclis addicionals. La forma de la instrucció determina l'amplada de l'element, el signe, l'arrodoniment, l'alineació i quins carrils interactuen. El programari ha de preservar l'estat dels registres de l'ABI i utilitzar un entorn d'execució compatible.
El que la característica no estableix
SSE4.2 no estableix POPCNT fins i tot quan apareixen sovint junts. No té relació amb l'etiqueta separada AMD SSE4a. El suport no és una garantia que una rutina de cadena o una suma de verificació sigui més ràpida que qualsevol alternativa en aquest processador.
Compatibilitat i rendiment a la pràctica
Els noms posteriors de la família SSE tenen bits de característiques separats. Per a un binari desplegat, inspeccioneu el conjunt mínim de funcions complet, incloses les biblioteques i el codi d'inici. Una alternativa només és útil si no s'executa cap instrucció no compatible abans del pas de selecció.
Una llista de verificació pràctica
- Enregistreu el model exacte de processador o de plataforma i les versions d'aplicació, SO i entorn d'execució implicades. Conserveu la redacció de l'error o del requisit real.
- Comproveu la referència del fabricant per a aquest model exacte, i després inspeccioneu la capacitat efectiva i l'estat habilitat en l'entorn on s'executa el programa.
- Compareu cada requisit del binari o dorsal seleccionat. Una característica amb un nom similar, un àlies o una etiqueta de tecnologia àmplia no és suficient.
- Confirmeu que l'aplicació ha seleccionat la implementació prevista. Utilitzeu els seus diagnòstics documentats i una alternativa compatible quan no es compleixin els requisits.
- Feu un únic canvi admès a la vegada i repetiu la mateixa càrrega de treball. Manteniu disponibles la configuració original i la via de recuperació.
Si la característica apareix a la llista però el programari no la pot utilitzar
Comenceu pel component exacte que falla. Una base de dades de maquinari descriu la capacitat registrada; el sistema operatiu o l'hipervisor poden exposar un entorn efectiu diferent. Un error d'instrucció il·legal també requereix investigar la instrucció defectuosa real i la compilació del binari, perquè una corrupció o una instrucció no admesa no relacionada poden produir un símptoma similar.
Instal·leu la versió d'aplicació, controlador o entorn d'execució admesa per a la plataforma exacta, i utilitzeu la compilació base o alternativa documentada pel fabricant si cal. Una actualització de programari no pot crear una instrucció que li manqui al processador. Els canvis de microprogramari i de polítiques de seguretat han de seguir el procediment del fabricant del sistema i un pla de recuperació en lloc d'una recepta genèrica d'optimització.
Fonts i abast d'aquesta explicació
Intel 64 and IA-32 Architectures Software Developer's Manual · x86-64 psABI: nivells d'arquitectura i microarquitectura del processador
Aquestes referències estableixen el comportament arquitectònic i els requisits de programari. No verifiquen de manera independent cada valor de característica en una pàgina de model de maquinari enllaçada. Per al suport de models, utilitzeu l'evidència del fabricant d'aquesta pàgina i comproveu la configuració efectiva del sistema. Aquest article no proporciona cap data de prova de referència, certificació o revisió independent.
Fonts i verificació
Propietat editorial: Feex. No s'ha registrat cap data de revisió independent. Com investiguem.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Els volums 1 i 2 descriuen les famílies d'instruccions anomenades i CPUID; el volum 3 descriu l'estat, la paginació, VMX i els controls de protecció. La documentació d'arquitectura no estableix el suport per a un model en particular.
- x86-64 psABI: nivells d'arquitectura i microarquitectura del processador · Machine Interface, Processor Architecture: taula de característiques base i acumulativa de v2/v3/v4, comprovacions d'estat del SO i recomanacions de desplegament.
Ha estat útil aquest article?
Un sí o un no és suficient. Trieu un motiu si voleu, o afegiu una breu nota.
Gràcies. Això ens ajuda a millorar aquesta pàgina.