Model-specific register

Model-specific register

Model-specific registers (MSRs) are control registers provided by processor implementations to provide system software with features that are provided on specific processor implementations, but not others.

MSRs are used for performance monitoring, debugging, testability and program execution tracing, but also to enable and disable certain model-specific features of the processor implementation.

For example, on the AMD K6 and later and most other newer processors (including all processors implementing AMD64 architecture), the individual bits of the EFER (Extended Feature Enable Register) configure whether the SYSCALL and SYSRET instructions are available, whether long mode can be activated and is active and if the no-execute page-protection feature is enabled.

Examples for rather well-known MSRs are the Memory Type Range Registers (MTRR) and the Address Range Registers (ARR).

Documentation regarding which MSRs a certain processor implementation supports is usually found in the processor documentation of the CPU vendor.

External links