一 概念
Model Specific Register (MSR) as the name implies is model specific and may change from processor model number (n) to processor model number (n+1).
二 读写方法
MSR 是CPU 的一组64 位寄存器,可以分别通过RDMSR 和WRMSR 两条指令进行读和写的操作,前提要在ECX 中写入MSR 的地址。对于RDMSR 指令,将会返回相应的MSR 中64bit 信息到(EDX:EAX)寄存器中;对于WRMSR 指令,把要写入的信息存入(EDX:EAX)中,执行写指令后,即可将相应的信息存入ECX 指定的MSR 中。MSR 的指令必须执行在level 0 或实模式下。
RDMSR 0F 32 不影响标志位 把ECX指定的模型专用寄存器内容送EDX:EAX RDMSR
WRMSR 0F 30 不影响标志位 把EDX:EAX的内容写入ECX指定的模型专用寄存器 WRMSR
使用举例:Linux快速系统调用使用如下寄存器:
MSR
|
地址
|
IA32_SYSENTER_CS
|
174H
|
IA32_SYSENTER_ESP
|
175H
|
IA32_SYSENTER_EIP
|
176H
|
若要操作这些寄存器则可用RDMSR/WRMSR进行,读取如下:
三 作用
MSR 总体来是为了设置CPU 的工作环境和标示CPU 的工作状态,包括温度控制,性能监控等,具体来说,分为以下几项:
1. Thermal
2. Frequency
3. C State
4. Microcode
5. EIST
6. TM
7. Key Features Of CPU
8. Voltage
9. Cache Control
10. MTRR
11. DCA(Direct Cache Access)
12. Machine Check
13. 硬件联机控制
14.other
另外:MSR指令与MRS指令
在ARM架构中,这两条指令用于操作CPSR寄存器
阅读(5126) | 评论(0) | 转发(0) |