Compartir a través de


__rdtscp

Específicos de Microsoft

Genera la rdtscp instrucción, escribe en TSC_AUX[31:0] memoria y devuelve el resultado del contador de marca de tiempo (TSC) de 64 bits.

Sintaxis

unsigned __int64 __rdtscp(
   unsigned int * AUX
);

Parámetros

AUX
[out] Puntero a una ubicación que va a incluir el contenido del registro específico de la máquina TSC_AUX[31:0].

Valor devuelto

Un contador de réplica entero sin signo de 64 bits.

Requisitos

Intrinsic Architecture
__rdtscp x86, x64

Archivo de encabezado<intrin.h>

Comentarios

El intrínseco __rdtscp genera la instrucción rdtscp. Para determinar la compatibilidad del hardware con esta instrucción, llame al intrínseco __cpuid con InfoType=0x80000001 y compruebe el bit 27 de CPUInfo[3] (EDX). Este bit es 1 si se admite la instrucción y 0 en caso contrario. Si ejecuta código que usa el intrínseco en hardware que no admite la instrucción rdtscp, los resultados son impredecibles.

Esta instrucción espera hasta que se han ejecutado todas las instrucciones anteriores y todas las cargas anteriores son visibles globalmente. Pero no es una instrucción de serialización. Para obtener más información, vea los manuales de Intel y AMD.

El significado del valor de TSC_AUX[31:0] depende del sistema operativo.

Ejemplo

#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

FIN de Específicos de Microsoft

Consulte también

__rdtsc
Intrínsecos del compilador