Поделиться через


__rdtscp

Только для систем Microsoft

Создает инструкцию rdtscp, записывает TSC_AUX[31:0] к памяти и возвращает 64 счетчика отметок времени (результат TSC).

unsigned __int64 __rdtscp(
   unsigned int * Aux
);

Параметры

  • [исходящий] Aux
    Указатель на расположение, которое будет содержать содержимое регистров TSC_AUX[31:0] компьютер-специфического.

Возвращаемое значение

64 Счетчик тактов в виде целого числа без знака.

Требования

Встроенный объект

Архитектура

__rdtscp

Семейство 0Fh AMD NPT или более поздние версии

Файл заголовка <intrin.h>

Заметки

Этот встроенный создает инструкцию rdtscp. Чтобы определить аппаратную поддержку этой инструкции вызовите внутреннего элемента __cpuid с InfoType=0x80000001 и контрольный двоичный разряд 27 CPUInfo[3] (EDX). Этот бит 1, если инструкция поддерживается, и 0 - в противном случае. Если запустить код, который использует этот встроенный на оборудовании, не поддерживает инструкцию rdtscp результаты становятся непредсказуемыми.

Предупреждение

В отличие от rdtsc, rdtscp при сериализации инструкцию; однако компилятор может перемещать код вокруг данного внутреннего элемента.

Интерпретация значения TSC в этом поколении оборудования отличается от в более ранних версиях x64. См. раздел аппаратные руководства дополнительные сведения.

Смысл значения зависит от TSC_AUX[31:0] операционная система.

Пример

#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);
}
  

ЭЛЕМЕНТ, относящийся Майкрософт

Авторские права 2007 предварительными микро- Устройствами, Inc все права защищены. Воспроизведено с разрешением от предварительных микро- Устройств, Inc

См. также

Ссылки

__rdtsc

Встроенные объекты компилятора