Salta al contingut

MMX

Referència d'arquitecturaFeex

MMX és una extensió primerenca d'instruccions d'enters empaquetats de x86 que utilitza registres de 64 bits que comparteixen emmagatzematge arquitectònic amb el fitxer de registres de coma flotant de x87. Aquest estat compartit és important quan es barreja codi.

El que cal saber

MMX és una extensió primerenca d'instruccions d'enters empaquetats de x86 que utilitza registres de 64 bits que comparteixen emmagatzematge arquitectònic amb el fitxer de registres de coma flotant de x87. Aquest estat compartit és important quan es barreja codi.

Com funciona

Les operacions MMX tracten un registre de 64 bits com a elements enters empaquetats. Els noms dels registres MMX actuen com a àlies de l'emmagatzematge de registres de x87 en lloc de proporcionar un estat vectorial modern i independent. EMMS marca l'estat de les etiquetes de x87 com a buit després de l'ús de MMX perquè el codi x87 posterior pugui utilitzar la pila de coma flotant correctament.

On és útil

El programari multimèdia heretat pot utilitzar MMX per a aritmètica de bytes saturada. El codi nou utilitza habitualment recursos vectorials XMM o més amples, evitant la interacció d'estat entre MMX i x87. Els binaris existents encara poden contenir MMX fins i tot en un processador molt més modern.

Com comprovar el suport i l'habilitació

El bit 23 de CPUID.01H:EDX enumera MMX. Per depurar codi heretat, inspeccioneu tant la seqüència d'instruccions real com la seva gestió d'EMMS/estat. Un indicador de capacitat no pot establir que una rutina segueixi correctament la convenció de crida.

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

MMX és SIMD d'enters, no execució de propòsit general de 64 bits ni compatibilitat amb x86-64. No implica SSE ni extensions posteriors. L'absència de neteja en barrejar MMX i x87 pot causar problemes de correcció no relacionats amb el fet que la CPU admeti les instruccions.

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Ha estat útil aquest article?

Un sí o un no és suficient. Trieu un motiu si voleu, o afegiu una breu nota.

Ha estat útil aquest article?