__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