__rdtscp
Microsoft 固有の仕様
命令を rdtscp
生成し、メモリに書き込み TSC_AUX[31:0]
、64 ビット タイム スタンプ カウンター (TSC) の結果を返します。
構文
unsigned __int64 __rdtscp(
unsigned int * AUX
);
パラメーター
Aux
[out] コンピューター固有のレジスタ TSC_AUX[31:0]
の内容を格納する場所へのポインター。
戻り値
64 ビット符号なし整数型のティック数。
要件
Intrinsic | Architecture |
---|---|
__rdtscp |
x86、x64 |
ヘッダー ファイル<intrin.h>
解説
__rdtscp
組み込みでは rdtscp
命令が生成されます。 この命令のハードウェア サポートを判断するには、InfoType=0x80000001
で __cpuid
組み込みを呼び出し、CPUInfo[3] (EDX)
のビット 27 を確認します。 命令がサポートされている場合、このビットは 1 になり、それ以外の場合は 0 になります。 組み込みが使用されているコードを rdtscp
命令がサポートされないハードウェアで実行すると、結果は予測できません。
この命令は、以前のすべての命令が実行され、以前のすべての読み込みがグローバルに表示されるまで待機します。 ただし、シリアル化命令ではありません。 詳細については、Intel および AMD のマニュアルを参照してください。
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);
}
3363423610155519 ticks
TSC_AUX was 0
Microsoft 固有の仕様はここまで
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示