чтение значения системных часов?

Существуют ли виртуальные / системные часы, работающие независимо при загрузке компьютера?

Как мы можем прочитать это значение?


person pvaju896    schedule 15.07.2010    source источник


Ответы (1)


Используйте инструкцию RDTSC x86, она считывает часы с момента запуска системы.

Изменить: в целях x86-64 использование встроенной сборки больше невозможно, используйте либо встроенные средства, либо внешний связанный объектный файл, который был сгенерирован ассемблером. Не забудьте перед использованием этой инструкции промыть конвейер процессора.

person Quonux    schedule 15.07.2010
comment
Могу я использовать это для моей платы Intel x86 ..? / - person pvaju896; 15.07.2010
comment
x86 - это не плата, это набор инструкций процессора. И да, это инструкция для x86. - person Quonux; 15.07.2010
comment
+1 Я очень часто использую счетчик времени процессора для тестирования кода. Это намного точнее, чем функции системного времени. - person Borealid; 15.07.2010
comment
@Quonox: rdtsc - это не просто инструкция x86, она впервые появилась с процессором Pentium или Pentium MMX, я не могу вспомнить какой (Википедия знает). До этого не существовало ни для чего, в том числе для 32-битных процессоров 80386 и 80486. - person Olof Forshell; 28.02.2011
comment
о, это так старо, но это все еще инструкция, не имеет значения, когда она была добавлена. Насколько мне известно, x86 - это просто семейство процессоров. - person Quonux; 27.10.2015