Sdílet prostřednictvím


__rdtscp

Specifické pro Microsoft

Vygeneruje instrukce, zapisuje rdtscpTSC_AUX[31:0] do paměti a vrátí výsledek 64bitového čítače časového razítka (TSC).

Syntaxe

unsigned __int64 __rdtscp(
   unsigned int * AUX
);

Parametry

AUX
[ven] Ukazatel na umístění, které bude obsahovat obsah registru TSC_AUX[31:0]specifického pro počítač .

Vrácená hodnota

64bitový počet celočíselného čísla bez znaménka.

Požadavky

Vnitřní Architektura
__rdtscp x86, x64

Hlavičkový soubor<intrin.h>

Poznámky

Vnitřní __rdtscp vygeneruje rdtscp instrukce. Chcete-li určit podporu hardwaru pro tuto instrukci, zavolejte __cpuid vnitřní s InfoType=0x80000001 bitem 27 z CPUInfo[3] (EDX). Tento bit je 1, pokud je instrukce podporovaná, a 0 jinak. Pokud spustíte kód, který používá vnitřní objekt na hardwaru, který nepodporuje rdtscp instrukce, budou výsledky nepředvídatelné.

Tato instrukce čeká, dokud se všechny předchozí instrukce nespustí a všechny předchozí načtení budou globálně viditelné. Nejedná se ale o serializaci instrukce. Další informace najdete v příručkách Intel a AMD.

Význam hodnoty závisí TSC_AUX[31:0] na operačním systému.

Příklad

#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 Microsoft Specific

Viz také

__rdtsc
Vnitřní funkce kompilátoru