Проблема с частотой CPU и системным таймером

Я прилепил свой код определения проца к modul.tmp от BIOS патчера
- для определения частоты процессора
Не знаю чем сам код в modul.tmp пользуется для определения частоты CPU - не совсем понятно - если кто знает, подскажите, плз.
Поэтому написал в этом коде свою ф-ию определения частоты (как обычно - разность значений по RDTSC делим на разность по системному таймеру (40h) и умножаем на константу).
Проблема в том, что таймер, похоже зависит от частоты системной шины, то есть на данном чипсете - на частотах 100/133 Мгц - частота проца определяется нормально, а если выше - то есть нештатная FSB (133->166 Мгц) - частота процессора, которую возвращает моя ф-ия - не меняется.

Насколько я понял, таймер начинает считать быстрее.

Подскажите, как в таком случае сделать точный (более-менее) отсчет времени, ведь иначе частоту проца не рассчитать, или где в момент выполнения modul.tmp раздобыть эту частоту. Ведь сам этот модуль частоту указывает для процессоров.

ЗЫ: Забыл сказать. Та же моя функция, когда выполняеться в ДОС - считает нормально. А в БИОС - только на 100/133 Мгц. Может, какой делитель где надо поставить?

Аватар пользователя Root

axelf
Если Вам действительно интересно, КАК меряется частота проца, то поищите в форуме линк на исходный код БИОСа... Архив весит всего 6МБ, но представляет довольно большую ценность.
PS: добавлю, что RDTSC БИОСом для измерения частоты как может использоваться, так может и не использоваться: есть альтернативные пути...

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей