MSR(CPU的一組64位暫存器)

概念,讀寫方法,作用,

概念

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 或實模式下。

作用

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
Model Specific Register (MSR)
MSR指令
MSR指令的格式為:
MSR{條件} 程式狀態暫存器(CPSR或SPSR)_<域>,運算元
MSR指令用於將運算元的內容傳送到程式狀態暫存器的特定域中。其中,運算元可以為通用暫存器或立即數。<域>用於設定程式狀態暫存器中需要操作的位,32位的程式狀態暫存器可分為4個域:
位[31:24]為條件標誌位域,用f表示;
位[23:16]為狀態位域,用s表示;
位[15:8]為擴展位域,用x表示;
位[7:0]為控制位域,用c表示;
該指令通常用於恢復或改變程式狀態暫存器的內容,在使用時,一般要在MSR指令中指明將要操作的域。
指令示例:
MSR CPSR,R0 ;傳送R0的內容到CPSR
MSR SPSR,R0 ;傳送R0的內容到SPSR
MSR CPSR_c,R0 ;傳送R0的內容到CPSR,但僅僅修改CPSR中的控制位域

相關詞條

熱門詞條

聯絡我們