Посмотрите на следующую выдержку из руководства Intel. В соответствии с разделом 16.12, я думаю, что «новые процессоры» ниже относятся к любому процессору, более новому, чем Pentium 4. Вы можете одновременно и атомарно определить значение tsc и идентификатор ядра, используя инструкцию rdtscp, если она поддерживается. Я не пробовал это все же. Удачи.
Руководство разработчика программного обеспечения для архитектуры Intel 64 и IA-32
Том 3 (3A и 3B): Руководство по системному программированию:
Глава 16.12.1 Инвариант TSC
Счетчик меток времени в более новых процессорах может поддерживать расширение
в качестве инварианта TSC. Поддержка процессором инвариантного TSC обозначена
CPUID.80000007H: EDX [8]
.
Инвариант TSC будет работать с постоянной скоростью во всех ACPI P-, C-. и Т-состояния. Это
архитектурное поведение движется вперед. На процессорах с инвариантом TSC
поддержка, ОС может использовать TSC для служб настенного таймера (вместо ACPI или
Таймеры HPET). Чтения TSC намного более эффективны и не требуют дополнительных затрат
связан с переходом по кольцу или доступом к ресурсу платформы.
В Intel также есть руководство по тестированию производительности выполнения кода, в котором обсуждается связь процессора с rdtsc - http://download.intel.com/embedded/software/IA/324264.pdf