А можно с точностью до 300...400 пикосекунд :), если проц на 3 ГГц... для этого можно использовать счетчик меток реального времени процессора встроенный в процессор(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено SOIC 13 апреля 2004 г. 16:47
В ответ на: Задержки можно считать в Виндах с очень большой точностью - до микросекунд. Посмотрите описание (+) отправлено Беня 13 апреля 2004 г. 14:16

под NT и 9x проверено и работает отлично...
чтобы прочитать счетчик меток реального времени нужно выполнить инструкцию RDTSC (Read Time Stamp Counter), которая
считает 64 битное значение счетчика работающего на частоте процессора в регистры EAX (младшие 32 бита) и EDX (старшие 32 бита)....

если частота проца 3ГГц, то счетчик этот увеличивается каждые ~333 пикосекунды....

например:


unsigned __int64 T1,T2;
__asm {rdtsc} \
__asm {mov dword ptr [T1], eax} \
__asm {mov dword ptr [T1+4],edx}\
//----- чёй-то делаем.... --------
__asm {rdtsc} \
__asm {mov dword ptr [T2], eax} \
__asm {mov dword ptr [T2+4],edx}\

T1 = T2-T1;


после этого T1 будет содержать время выполнения "чёй-то делаем...." в 1/Частота камня секундах...

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru