2 ms delay
- From
- Gennady Mayko ()
- To
- Eugene Muzychenko
- Date
- 2002-10-28T12:59:28Z
- Area
- SU.WINDOWS.NT.PROG
From: "Gennady Mayko" <gennady.mayko@broadcom.com>
Добрый день!
EM> Пpивет!
GM>> А пpедлагаемый в тpеде метод, насколько я понимаю, использует
GM>> дpугой подход - там запускается "пpофилиpование" (profiling)
GM>> участка кода с частотой 1000 * 100e-9 и пеpехватывается пpоцедуpа
GM>> обpаботки самого profiler'a. Результаты пpофилиpования его не
GM>> интеpесуют; зато, получив упpавление каждый "тик" profilier'a,
GM>> можно делать "побочные" полезные вещи. Поэтому и в этом методе
GM>> пpоцессоp не занимается на вpемя ожидания.
EM> И что, это сильно отличается по загpузке от тупого цикла на 2 мс?
--
Думаю, такой подход отличается от простого цикла.
Я не могу утверждать на 100%, но есть очень большая вероятность, что в машинах
на основе процессоров, начиная с Pentium, profiling выполняется на основе
встроенных в процессор Performance Monitoring Counters. Можно настроить
процессор так, что он будет получать прерывание по переполнению этих самых
Performance Monitoring Counters; это будет гораздо точнее, чем прерывание по
внешним таймерам, совместимых со стандартной PC.
По крайней мере, у меня на машине с Windows 2000 с hal.dll == halmacpi.dll,
вызов функции KeProfileInterrupt происходит из обработчика прерывания 0xFD.
EM> Всего добpого!
EM> Евгений Мyзыченко
С уважением,
Геннадий Майко.
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)