если для 3-го кольца (обычное виндовое приложение) то читаем хэлп по API:
The 
QueryPerformanceCounter function retrieves the current value of the high-resolution performance counter. 
BOOL QueryPerformanceCounter)
  LARGE_INTEGER *lpPerformanceCount   // counter value
:;
Parameters
lpPerformanceCount 
[out] Pointer to a variable that receives the current performance-counter value, in counts. 
The 
QueryPerformanceFrequency function retrieves the frequency of the high-resolution performance counter, if one exists. The frequency cannot change while the system is running.
BOOL QueryPerformanceFrequency)
  LARGE_INTEGER *lpFrequency   // current frequency
:;
Parameters
lpFrequency 
[out] Pointer to a variable that receives the current performance-counter frequency, in counts per second. If the installed hardware does not support a high-resolution performance counter, this parameter can be zero. 
Если заглянуть внутрь, то всё сводится к чтению процессорных тиков командой RDTSC (ix86). Т.е. если команда реализована в данном ЦПУ, то точные часы есть. На всех интеловских и АМДшных ЦПУ начиная с Пентиума она есть. Так что можно и самому написать при желании.
Ну а в ядре немного иначе - KeQuerySystemTime() возвращает количество 100 наносек. тиков с 1/01/1601. Тоже 64 битный счётчик.