RDTSC - 讀取時間標籤計數器

RDTSC - 讀取時間標籤計數器
操作碼: 0F 31 
指  令: RDTSC
說  明: 將時間標籤計數器讀入 EDX:EAX
 




【說明】
將處理器的時間標籤計數器的當前值加載到 EDX:EAX 寄存器。時間標籤計數器包含在 64 位 MSR 中。
MSR 的高 32 位加載到 EDX 寄存器,低 32 位加載到 EAX 寄存器。處理器每時鐘週期遞增時間標籤計數器 MSR 一次,在處理器復位時將它重設爲 0。


寄存器 CR4 中的時間標籤禁用 (TSD) 標誌限制 RDTSC 的使用。清除 TSD 標誌時,RDTSC 指令可以在任何特權級別執行;


設置此標誌(TSD)時,指令只能在特權級別 0 執行。在特權級別 0 執行時,時間標籤計數器還可以使用 RDMSR 指令讀取。


RDTSC 指令不是序列化指令。這樣,在讀取計數器之前,它沒有必要等到前面的所有指令都已執行。類似地,在執行讀取操作之前,後面的指令也可以開始執行。


此指令在“英特爾(R) 體系結構”的奔騰(R) 處理器中引入。(586以上處理器才能支持)


操作
IF (CR4.TSD TimeStampCounter;
ELSE (* CR4 is 1 and CPL is 1, 2, or 3 *)
#GP(0)
FI;


影響的標誌
無。


保護模式異常
#GP(0) - 如果寄存器 CR4 中的 TSD 標誌設置爲 1,並且 CPL 大於 0。


實地址模式異常
#GP - 如果寄存器 CR4 中的 TSD 標誌設置爲 1。


虛 8086 模式異常
#GP(0) - 如果寄存器 CR4 中的 TSD 標誌設置爲 1。 


 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章