__rdtscp
Sezione specifica Microsoft
Genera l'istruzione rdtscp
, scrive TSC_AUX[31:0]
in memoria e restituisce il risultato TSC (TimeStamp Counter) a 64 bit.
Sintassi
unsigned __int64 __rdtscp(
unsigned int * AUX
);
Parametri
AUX
[out] Puntatore a una posizione che conterrà il contenuto del registro TSC_AUX[31:0]
specifico del computer.
Valore restituito
Numero di tick integer senza segno a 64 bit.
Requisiti
Intrinsic | Architettura |
---|---|
__rdtscp |
x86, x64 |
<File di intestazione intrin.h>
Osservazioni:
L'oggetto __rdtscp
intrinseco genera l'istruzione rdtscp
. Per determinare il supporto hardware per questa istruzione, chiamare l'oggetto __cpuid
intrinseco con InfoType=0x80000001
e controllare il bit 27 di CPUInfo[3] (EDX)
. Questo bit è 1 se l'istruzione è supportata e 0 in caso contrario. Se si esegue codice che usa l'intrinseco sull'hardware che non supporta l'istruzione rdtscp
, i risultati sono imprevedibili.
Questa istruzione attende fino a quando non vengono eseguite tutte le istruzioni precedenti e tutti i caricamenti precedenti sono visibili a livello globale. Tuttavia, non è un'istruzione di serializzazione. Per altre informazioni, vedere i manuali Intel e AMD.
Il significato del valore in TSC_AUX[31:0]
dipende dal sistema operativo.
Esempio
#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
Fine sezione specifica Microsoft