__rdtscp
Microsoft-spezifisch
Generiert die rdtscp-Anweisung, schreibt TSC_AUX[31:0] und gibt den 64-Bit-Zeitstempelleistungsindikator im Speicher zurück (TSC) Ergebnis.
unsigned __int64 __rdtscp(
unsigned int * Aux
);
Parameter
- [out] Aux
Zeiger auf einen Speicherort, der den Inhalt des Registers besondere MACHINE TSC_AUX[31:0] enthält.
Rückgabewert
Eine 64-Bit-Ganzzahl ohne Vorzeichen-Taktanzahl.
Anforderungen
Intrinsisch |
Architektur |
---|---|
__rdtscp |
Familie 0Fh AMDs NPT oder höhere Versionen |
Headerdatei <intrin.h>
Hinweise
Diese systeminternen Funktion generiert die rdtscp-Anweisung. Um Hardwareunterstützung für diese Anweisung zu ermitteln, rufen Sie die __cpuid systeminterne Funktion mit InfoType=0x80000001 und Prüfbit 27 von CPUInfo[3] (EDX) an. Das Bit beträgt 1, wenn die Anweisung unterstützt wird; andernfalls 0. Wenn Sie Code ausführen, der diese systeminterne Funktion auf Hardware verwendet, die nicht die rdtscp-Anweisung unterstützt, die Ergebnisse sind unvorhersehbar.
Warnung
Im Gegensatz zu rdtsc ist eine rdtscp serialisierende Anweisung. trotzdem kann der Compiler Code, um diese systeminterne Funktion verschieben.
Die Interpretation des TSC-Werts in dieser Generation der Hardware unterscheidet sich von dem in früheren Versionen von x64. Weitere Informationen finden Sie handbücher Hardware.
Die Bedeutung des Werts in TSC_AUX[31:0] hängt vom Betriebssystem ab.
Beispiel
#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);
}
Microsoft ENDES bestimmten
Copyright 2007 bis Advanced Micro Devices, Inc alle Rechte vorbehalten. Reproduziert mit zulässigen Advanced Micro Devices, Inc