__rdtscp
Microsoft 專有的
會產生rdtscp指令時,會將TSC_AUX[31:0] 的記憶體,並傳回 64 位元的時間戳記計數器 (TSC)的結果。
unsigned __int64 __rdtscp(
unsigned int * Aux
);
參數
- [out] Aux
將包含的特定電腦的暫存器內容的位置指標TSC_AUX[31:0]。
傳回值
64 位元不帶正負號的整數的滴答計數。
需求
內建 |
架構 |
---|---|
__rdtscp |
AMD NPT 家族 0Fh 或更新的版本 |
標頭檔 <intrin.h>
備註
此內建會產生rdtscp指令。 若要判斷硬體支援,針對這個指令,請呼叫**__cpuid** 與內建InfoType=0x80000001 ,並檢查一些 27 CPUInfo[3] (EDX)。 可說這個位元是 1,如果在指令都有支援,而 0。 如果您執行的程式碼會使用此內建不支援的硬體上rdtscp指令時,結果會發生無法預期。
警告
不像rdtsc, rdtscp是序列化的指令。 不過,編譯器可以移動此程式碼內建。
與 TSC 值的解譯方式,在這個層代硬體的不同,在舊版的x64。 請參閱硬體手冊,如需詳細資訊。
在 [值的意義TSC_AUX[31:0]的作業系統而定。
範例
#include <intrin.h>
#include <stdio.h>
int main()
{
unsigned __int64 i;
unsigned int ui;
i = __rdtscp(&ui);
printf_s("%I64d ticks\n", i);
printf_s("TSC_AUX was %x\n", ui);
}
結束 Microsoft 特定
藉由收益進階微裝置,及版權 2007年.人所有之商標。 重製與收益進階微裝置,及來自的使用權限.