__rdtscp
Khusus Microsoft
rdtscp
Menghasilkan instruksi, menulis TSC_AUX[31:0]
ke memori, dan mengembalikan hasil Time Stamp Counter (TSC) 64-bit.
Sintaks
unsigned __int64 __rdtscp(
unsigned int * AUX
);
Parameter
AUX
[out] Pointer ke lokasi yang akan berisi konten register TSC_AUX[31:0]
khusus komputer .
Nilai hasil
Jumlah centang bilangan bulat yang tidak ditandatangani 64-bit.
Persyaratan
Intrinsik | Sistem |
---|---|
__rdtscp |
x86, x64 |
File header<intrin.h>
Keterangan
Intrinsik __rdtscp
menghasilkan rdtscp
instruksi. Untuk menentukan dukungan perangkat keras untuk instruksi ini, panggil __cpuid
intrinsik dengan InfoType=0x80000001
dan periksa bit 27 dari CPUInfo[3] (EDX)
. Bit ini adalah 1 jika instruksi didukung, dan 0 sebaliknya. Jika Anda menjalankan kode yang menggunakan intrinsik pada perangkat keras yang tidak mendukung rdtscp
instruksi, hasilnya tidak dapat diprediksi.
Instruksi ini menunggu hingga semua instruksi sebelumnya dijalankan dan semua beban sebelumnya terlihat secara global. Namun, ini bukan instruksi serialisasi. Untuk informasi selengkapnya, lihat manual Intel dan AMD.
Arti nilai dalam TSC_AUX[31:0]
tergantung pada sistem operasi.
Contoh
#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
END Khusus Microsoft