Freigeben über


__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

Siehe auch

Referenz

__rdtsc

Intrinsische Compilerfunktionen