stringtranslate.com

Registro específico del modelo

Un registro específico del modelo ( MSR ) es cualquiera de los varios registros de control en la arquitectura del sistema x86 que se utilizan para depurar , rastrear la ejecución de programas, monitorear el rendimiento de la computadora y alternar ciertas funciones de la CPU .

Historia

Con la introducción del procesador 80386 , Intel comenzó a introducir características "experimentales" que no necesariamente estarían presentes en futuras versiones del procesador. El primero de ellos fueron dos "registros de prueba" (TR6 y TR7) que permitieron probar el búfer de traducción (TLB) del procesador; una variante especial de la instrucción MOV permitía moverse hacia y desde los registros de prueba. [1] Siguieron tres registros de prueba adicionales en el 80486 (TR3-TR5) que permitieron probar las cachés del procesador para código y datos. [2] Ninguno de estos cinco registros se implementó en el procesador Pentium posterior; la variante especial de MOV generó una excepción de código de operación no válido . [3] [4]

Con la introducción del procesador Pentium , Intel proporcionó un par de instrucciones ( RDMSR y WRMSR ) para acceder a los "registros específicos del modelo" actuales y futuros, así como la instrucción CPUID para determinar qué características están presentes en un modelo en particular. Muchos de estos registros han demostrado ser lo suficientemente útiles como para conservarlos. Intel los ha clasificado como registros específicos de modelos arquitectónicos y se ha comprometido a incluirlos en futuras líneas de productos. [5]

Usando MSR

La lectura y escritura en estos registros se realiza mediante instrucciones rdmsry wrmsr, respectivamente. Como se trata de instrucciones privilegiadas , sólo pueden ser ejecutadas por el sistema operativo. El uso del módulo del kernel msr de Linux crea un pseudoarchivo "/dev/cpu/ x /msr" (con una x única para cada procesador o núcleo de procesador). Un usuario con permisos para leer y/o escribir en este archivo puede usar la API de E/S de archivos para acceder a estos registros. El paquete msr-tools [6] proporciona una implementación de referencia.

La documentación sobre qué MSR admite una determinada implementación del procesador generalmente se encuentra en la documentación del procesador del proveedor de la CPU. Ejemplos de MSR bastante conocidos son los registros de rango de tipos de memoria (MTRR) y los registros de rango de direcciones (ARR).

Ver también

Referencias

  1. ^ "10.6.2 Registros de prueba". 80386 MANUAL DE REFERENCIA DEL PROGRAMADOR (PDF) . Intel . 1986.
  2. ^ "10.6.2 Registros de prueba". MANUAL DE REFERENCIA DEL PROGRAMADOR DEL PROCESADOR i486 (PDF) . Intel . 1990.
  3. ^ "Registros de prueba 23.2.12". Manual del usuario del procesador Pentium Volumen 3: Manual de arquitectura y programación (PDF) . Intel . 1993.
  4. ^ Alan Cruse. "Registros específicos de modelo" (PPT) . Apuntes de conferencias, clase de Programación avanzada de microcomputadoras, Universidad de San Francisco, 2006 .
  5. ^ "2.1 MSRS ARQUITECTÓNICOS". Manual del desarrollador de software de arquitecturas Intel 64 e IA-32 Volumen 4: Registros específicos del modelo. Intel . Mayo de 2020.
  6. ^ msr-herramientas en 01.org

enlaces externos