A model-specific register (MSR) is any of various control registers in the x86 system architecture used for debugging, program execution tracing, performance monitoring, and toggling certain CPU features.
[2] None of these five registers were implemented in the subsequent Pentium processor; the special variant of MOV generated an invalid opcode exception.
[3][4] With the introduction of the Pentium processor, Intel provided a pair of instructions (RDMSR and WRMSR) to access current and future "model-specific registers", as well as the CPUID instruction to determine which features are present on a particular model.
Intel has classified these as architectural model-specific registers and has committed to their inclusion in future product lines.
Reading and writing to these registers is handled by the rdmsr and wrmsr instructions, respectively.