Измерение времени

Тема в разделе "WASM.OS.DEVEL", создана пользователем acckiitvar, 30 янв 2018.

  1. acckiitvar

    acckiitvar Member

    Публикаций:
    0
    Регистрация:
    26 сен 2011
    Сообщения:
    69
    Доброго времени суток.
    Разрабатывая свою мини Ось я сталкнулся с проблемой организации задержек, в чатности для работы с аппаратурой. Испытывались все возможные варианты от примитивного:
    Код (Text):
    1. mov ecx, 0xffffffff
    2. loop $
    до всяких вариантов с rdtsc. но всеми этими способами у меня получалось измерить время лишь очень примерно и, очевидно, что время более менее точно измерить можно. Поэтому уважаемые форумчане, есть у кого варианты измерения времени от 10 мкс, как на платформе интел, так и амд. Или вариант с считыванием частоты TSC с помощью cpuid и работа с rdtsc является лучшим вариантом? Может есть аппаратный счетчик нужной частоты?
     
  2. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.373
    Адрес:
    г. Санкт-Петербург
    Для начала, можно перепрограммировать таймер. Но это миллисекунды.
    А ещё есть APIC timer и HPET. Ковыряйте в их направлении.
     
    acckiitvar нравится это.
  3. acckiitvar

    acckiitvar Member

    Публикаций:
    0
    Регистрация:
    26 сен 2011
    Сообщения:
    69
    Спасибо! HPET то что надо, только пугают вести что он старый и его выпилят(