Condividi tramite


__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

Vedi anche

__rdtsc
Intrinseci del compilatore