в вашем случае виноват Sleep - он не обеспечивает нужной точности, если вдаваться в технические детали, то все системные таймеры на ядре NT (x86 HAL) имеют точность не более 100ns, а по умолчанию - еще меньше...
Неправда :!:
Я делаю вот что:
do{
Sleep(100);
QueryPerformanceCounter( &pc );
t = timeGetTime();
... <log pc and t>...
}
Как бы Sleep() не плясал, промежутки времени должны примерно совпадать.
Но отрезки по PC в среднем равны 100, а по T - 107
Так что время по timeGetTime() идёт быстрее.
awl по поводу расхождений во времени - они всегда были, еще помнится у древнего нортоновского sysinfo был тест на эту штуку (или еще у какой-то не менее древней проги)
ex-commissārius
Статус: Не в сети Регистрация: 08.01.2003
Частный случай - поюзал thg clock и все же понаблюдал "пляски" около 70 МГц; обновил дрова с 2.45 до 3.13 - "пляска" уменьшилась до ~5MHz (другие утилиты не плясали)
Member
Статус: Не в сети Регистрация: 01.04.2003 Откуда: Столица
Maximus_G писал(а):
Комментарий к статье "nForce2 – а пляшут ли частоты?"
Здравствуйте!
Очень здавая мысль о системном таймере. И она натолкнула меня на другую... Неделю назад я пришел домой, включил комп и сделал 2 вещи: пропатчил биос с помощью Bios Patcher, включающего функцию S2K, и обновил драйверы NForce с версии 2.41 (или 42 - не помню) до версии 2.45. Перегрузил комп. Порадовался понизившейся температуре процессора. Загрузил "Ил-2 Забытые Сражения" - тест производительности системы, который я предпочитаю другим (ибо он напрягает все основные её компоненты так, как этого не делает ни одна другая игра, ни всякие BurnK7, ни 3DMarkи). Прогнал трек, снимая FPSы с помощью Fraps. Стандартная методика, которую я практикую уже долгое время (можно посмотреть здесь: http://sukhoi.ru/forum/showthread.php?s ... adid=14300 ). Результаты заношу в эксельный файлик, строю графики, делаю выводы. (система: Epox RDA3+, АХР2500+, 2х512 Sams)
...Когда же я построил графики в Этот раз - у меня просто челюсть упала на пол. Трек вдруг удлинился на несколько секунд! Оказался равномерно растянут. Потом я переустанавливал эти драйверы 2.41 и 2.45 туда-сюда... перепрошил старый биос - всё равно длина трека оказывалась больше обычной, причем всегда в разной степени. Немного подумав, я обратил внимание на то, что прошил биос не полностью, сбрасывая все настройки, а только одну его часть, сейчас не помню к сожалению как она называется - в общем, ту часть, которая прошивается по дефолту фирменной виндозной Эпоксовской утилитой.
На следующий день перепрошил биос еще раз, полностью... но потестить систему не удалось - вышла из строя моя видеокарта. На этом мои изыскания и закончились.
В общем, хочу обратить ваше внимание на 2 момента: пользование Биос Патчера и (на всякий случай) драйверы НФорс. Возможно, это подвигнет вас на действия в нужном направлении.
1. Драйвера nForce тут совершенно ни при чем. Это точно, потому как проверял на своей плате (Abit NF7-S 2.0), любые версии драйверов на пляски не влияли.
2. Биос лучше прошивать не встроенным прошивальщиком, а флешером пущенным с дискетки.. Он биос полностью прошивает..
3. У Epoxа надо подбирать частоту нормальной работы..
Очень сильно похоже на то, что это касается любой матери на nForce2...
Member
Статус: Не в сети Регистрация: 20.06.2003 Откуда: Ижевск
WMax писал(а):
Даже если сложности с таймером, все равно нехорошо это. Проблемы могут возникнуть в программах, использующих этот таймер для синхонизации событий. В т.ч. и мультимедиа... Но что такое таймер вообще? Допустим, для измерения интервалов используется таймер 0. Если "шалит" тактовый генератор, то будут поблемы и у таймера а, следовательно, и у программ измеряющих время. Тогда будет плавать и производительность и интервал времени при каком-то соотношении. Кстати, если это соотношение близко к 1, то видимая частота плавать не будет Если же используется таймер CMOS, тогда будет плавать только синхронизация событий, что тоже плохо, но лучше, чем "пляски" тактового генератора. Какой таймер использует API32 лично мне неведомо... Может, кто знает?
Если там используется не часы CMOS, то остается только нулевой канал таймера... или есть еще таймеры? Честно говоря - сомневаюсь, потому-что даже два таймера в системе это уже много (каналы 1-2 скорее всего не будут отличаться по показаниям от 0). У меня правда валялся какой-то мануал по использованию в качестве таймера... ком-порты )) Я тут в очередной раз почти убедился что измеряя частоту по таймеру CMOS скачков частоты нет! Вот сейчас у меня комп стоит как 8x220, замер по системному таймеру дает 1745-1756, а по CMOS 1748-1749. Правда прога пока слишком крива чтобы ее выложить:( попробую довести до ума. Может кто-нибудь подскажет как правильно читать из CMOS? У меня при частых обращениях (из thread в цикле) оттуда считываются нули, либо типа 13:13:13
WMax писал(а):
ИМХО, лучший способ проверки в таком случае - секундомер и программа, выполняющая какой-либо длительный циклический вычислительный процесс . Лучше без обращений к диску. Еще лучше из-под DOS. Туда же можно ввести подсчет событий как системного таймера, так и CMOS. А для верности, еще и TSC.
Когда я писал статью, то просто вывел на экран виндовые часы из трэя,
приложил к экрану будильник и сравнил. За минуту (по виндовому таймеру)
реальный будильник пробежал ровно 50секунд Но это естественно при
совсем диком сбое, когда у меня измерялось 1740 вместо 2000mhz.
Member
Статус: Не в сети Регистрация: 23.09.2003 Откуда: South Ural
awl
function ReadCMOSByte(const Offs: byte): byte; assembler;
{begin
if Offs <= 9 then
repeat
Port[$70] := $0A;
until not IsBitSet(Port[$71], 7);
Port[$70] := Offs;
result := Port[$71];
end;}
asm
mov al, Offs
cmp al, 9
ja @@2
mov ah, al
mov al, 0Ah
@@1:
out 70h, al
out 0EBh, al // delay
in al, 71h
out 0EBh, al // delay
test al, 10000000b
jnz @@1
mov al, ah
@@2:
out 70h, al
out 0EBh, al // delay
in al, 71h
out 0EBh, al // delay
end;
awl по поводу расхождений во времени - они всегда были, еще помнится у древнего нортоновского sysinfo был тест на эту штуку (или еще у какой-то не менее древней проги)
Да, хрестоматийные. Да только вот они никоем образом не объясняют ситуацию. Ставлю разрешение в 1ms, проверив, что оно поддерживается, разумеется. При этом получаю расхождение в 7ms в большую сторону.
К чему вообще была дана ваша ссылка? Где там по вашему написано, что полученное поведение допустимо?
Повторюсь, я ставлю разрешение 1ms, проверив, что оно поддерживается, и я ВПРАВЕ ожидать данной точности от timeGetTime(). Я же наоборот данной точности НЕ получаю, а по PerformanceCounter всё ок.
Мало того, NT* функции, что называется, оbsoleted в 2000 и XP, используются time*, но поведение аналогично.
Member
Статус: Не в сети Регистрация: 23.09.2003 Откуда: South Ural
dekoder
от винды никакой точности вам ожидать не приходится - это не система реального времени, ваш поток система может приостановить почти в любой момент - это вам что-либо говорит?
насчет устарелости NT-ф-й - пожалуйста, не нужно выносить такие строгие суждения, покуда не разобрались в вопросе - к сведению - это ф-и так называемого native api и obsolete они никогда не будут, поскольку все ф-и, в том числе и ваши мультимедийные таймеры, работают через них
насчет ссылки - я например не уверен что ваш код устанавливает разрешение 1ms - попробуйте проверьте через вызов NtQueryTimerResolution (кстати я нигде не утверждал что подобное поведение допустимо)
если бы города строились так как некоторые программисты пишут код, они бы уже давно развалились (это иногда касается и майкрософт)
01.03. Ура! Hам предложили крупный контракт на постройку 12-этажного жилого дома. У всех бурный энтузиазм. Выпили на радостях 2 ящика пива.
02.03. Заказчику не нравится выражение "как только, так сразу". Требует назвать конкретные сроки. Темный народ эти заказчики, ничего не смыслят в высоких технологиях.
03.03. Обсуждали сроки. Выпили 3 ящика пива. Петрович говорит, что тут всей работы на 4 месяца. Значит, на самом деле 8. В итоге в контракте записали 12, хотя раньше, чем за 16, вряд ли управимся.
04.03. Отмечаем подписание контракта.
05.03. Отмечаем подписание контракта.
06.03. Петрович пошел сдавать бутылки.
07.03. Продолжаем отмечать подписание контракта на деньги, вырученные Петровичем.
08.03. Отмечаем 8 марта. Женщин у нас в фирме нет, так что праздник никто не портил.
09.03. Долго вспоминали, что же мы отмечали вчера. Пришел Алекс, сказал, что пора бы начинать работать. Послали. Играем в Quake.
01.04. Пришел Сидоров и сказал, что пора начинать работать. Кого он хочет наколоть своими первоапрельскими шуточками?
02.04. Петрович тоже говорит, что пора начинать работать. Сговорились они, что ли? Обнесли площадку забором и повесили красивые плакаты "Строительство ведет компания "Домострой" (www.domostroy.ru)". С чувством выполненного долга играем в Quake.
20.04. Пришел заказчик, интересовался, как дела. Посадили его за компьютер с Quake'ом и позволили нас всех обыграть. Ушел очень довольный. Однако пора, кажется, и впрямь начинать работать.
21.04. Обсуждали проект. Сидоров предлагает крупноблочную архитектуру. Петрович говорит, что блоки громоздкие, плохо стыкуются друг с другом, содержат много лишнего и вообще еще неизвестно, какие у них там внутри трещины. Заявляет, что из блоков строят только законченные ламеры. Hастаивает, что все надо строить по старинке, из кирпича, хоть это и намного дольше. Самый радикальный проект предложил Алекс. Он говорит, что вообще не нужно строить 12-этажный дом, а нужно построить несколько десятков деревянных коттеджей и соединить их подземными туннелями. Дескать, на Западе сейчас так модно. Hапомнили ему, что заказчик требует именно 12-этажный дом. Он отбивался и кричал, что заказчики тупы по определению, и слушают их только законченные ламеры. В самый интересный момент дискуссии кончилось пиво. Решили продолжить завтра.
22.04. Пытались решить вопрос дуэлью в Quake. Алекса с его коттеджами завалили сразу, но между Петровичем и Сидоровым вышла ничья. В итоге каждый будет строить по своему плану, а потом попытаемся все это соединить, чтоб не рухнуло.
23.04. Hачали строить. У всех бурный энтузиазм.
30.04. Первый этаж готов! Показали его заказчику. Он интересовался, почему в разных комнатах разная высота потолков, почему из стен вываливаются кирпичи и почему в доме нет подъезда, а влезать приходится через окно. Объяснили ему, что это специальные ограничения демо-версии. Уходим на праздники, гордые собой.
10.05. Петрович протрезвел первым и долго ругался. Мы думали, что Алекс выпил все пиво. Оказалось, все еще хуже: Петрович вспомнил, что мы забыли про фундамент. В проекте он, конечно, описан, но ведь документацию читают только ламеры.
11.05. Ломали первый этаж. Обидно, блин. С другой стороны, хорошо, что раньше работать не начали, а то бы сколько труда насмарку.
11.07. Работаем. Петрович достраивает второй этаж, Сидоров - пятый. Алекс отгрохал шахту лифта до девятого этажа, она теперь торчит над всей конструкцией и в сильный ветер подозрительно качается. Временно поставили деревянные подпорки.
17.07. Алекс строит чердак и крышу. Поскольку верхних этажей еще нет, строить приходится на земле. Потом поднимем краном. По крайней мере, Алекс на это надеется.
13.08. У Сидорова не стыкуются панели. Щель больше метра. Панели подходящей формы, чтобы ее заткнуть, нет. Сидоров позвал Петровича и предложил заделать кирпичом. Петрович заявил, что у него своих дел по горло, и вообще, без знания внутренней архитектуры панелей ничего сделать нельзя.
14.08. Разломали несколько панелей, чтобы Петрович мог изучить внутреннюю архитектуру. Петрович ругается, кричит, что проектировщики панелей - полные ламеры.
17.08. Петрович заделал дыру. Правда, панели при этом перекосились, но это уже мелочи. Проводку из обеих панелей пришлось вывести наружу и связать узлом. Петрович замотал узел изолентой и уверяет, что будет работать, если только дождь не пойдет.
01.09. Стройкомбинат выпустил новую версию панелей, улучшенной прочности и утепленности, со встроенными стенными шкафами. Правда, ни по форме, ни по размеру они не совместимы с предыдущими и, кроме того, в три раза тяжелее. Сидоров рвется разломать все, что мы уже сделали, и перестроить заново, с новыми панелями. Еле отговорили. Да и, в любом случае, фундамент такую тяжесть бы не выдержал. Hа какую архитектуру они вообще рассчитывают, эти комбинатские?
16.09. Прибежал Алекс, обуреваемый идеей. Предлагает сделать все окна в доме изменяемого размера. Говорит, заказчик будет тащиться. Сказали ему, чтоб не выпендривался.
02.10. Петрович добрался до пятого этажа. Горд собой. Обратили его внимание на тот факт, что его стена наклонена под углом 40 градусов. Он ругался, кричал, что мы ламеры и ничего не понимаем. Потом обещал подумать.
03.10. Приходил заказчик. Спросил, почему стена наклонена под углом 40 градусов. Объясняли ему про силу Кориолиса. Он все выслушал, потом сказал, что он, конечно, в строительном деле ничего не смыслит, но у него по соседству точно такой же дом, и там стена прямая. Блин. Hенавижу умных заказчиков. Потом этот идиот Алекс ляпнул при нем про свои изменяемые окна. Заказчик, естественно, загорелся и настаивает, чтоб делали именно так. Дважды блин.
04.10. Спросили Алекса, придется ли все разбирать ради его окон. Он уверяет, что нет - будто бы и у стандартных панелей есть такая недокументированная функция. Естественно, к кирпичной части дома это не относится. Петрович категорически против.
05.10. Петрович признал, что со стеной действительно имеется проблема. Говорит, что неправильно положил какой-то кирпич. Hо чтобы понять, какой именно, надо перебрать их все. Проще все снести и построить заново.
06.10. Убеждали Петровича, что построить все заново из кирпича он уже не успеет. Демонстрировали ему расчеты на калькуляторе. Петрович ругался, кричал, что калькулятор придумали ламеры. Потом все-таки согласился строить из панелей и ушел с горя в запой.
08.10. Ломали кирпичную часть. Попутно повредили панельную. Вся постройка скрипит и угрожающе шатается. Укрепили деревянными подпорками и пошли играть в Quake.
17.10. Петрович вышел из запоя. Работаем.
07.11. Празднуем 7-ое ноября - или как оно там теперь называется? Коммунистов у нас в фирме нет, так что праздник никто не портит.
15.11. Вспомнили, что у нас кран достает только до 8 этажа. Послали Сидорова доставать новый кран. Играем в Quake. Алекс замочил Петровича. Растет смена!
24.11. Вернулся Сидоров. Кран не достал, зато достал крутой экскаватор. Предлагает вырыть глубокую шахту и построить дом не в высоту, а в глубину. Говорит, что нигде в контракте не сказано, что 12 этажей должны быть над поверхностью. Еле отговорили.
25.11. Устроили мозговой штурм по проблеме крана. Hа последней бутылке пива нашли решение. Бросили основное строительство. Строим рядом 4-этажный дом. Потом втащим наш кран ему на крышу.
25.12. Празднуем католическое Рождество. Католиков у нас в фирме нет, так что праздник никто не портит.
14.01. Hичего не помню. Голова болит. Мужики, какой сейчас год?
02.02. Hу, кажется, наконец-то достраиваем 12-ый этаж. Завтра будем прилаживать сверху чердак и крышу, что соорудил Алекс.
03.02. Алекс - ламер. Крыша регулярно съезжает. Пока подперли краном. Думаем, что делать дальше.
04.02. Алекс доказывает, что он не виноват. Просто 12 этажей Сидорова на 4 метра выше и на 5 метров шире, чем 12 этажей Петровича. Выяснилось, что они строили из разных панелей. Hо Алекс все равно ламер, поскольку его крыша не подходит по размеру ни одному из вариантов. Его шахта лифта, кстати, тоже.
05.02. Латали, укрепляли и наращивали крышу. Петрович говорит, что будет держаться, если снег не пойдет.
07.02. Снег пошел.
10.02. Соорудили крышу из фанеры, покрасили под жесть. Будем надеяться, заказчик не заметит.
11.02. Тестировали лифт. Его остановки приходятся между этажами, но выбраться из кабины можно. Hа четных этажах ползком, на нечетных - подтягиваясь. Hе забыть описать это в документации.
12.02. А вообще-то лифт ездит крайне медленно. Петрович ругает всех ламерами и собирается заняться оптимизацией.
13.02. Петрович оптимизировал лифт. Тот разогнался, пробил крышу и улетел в неизвестном направлении. Хорошо, что крыша фанерная, и чинить будет легко. После этого шахта лифта рухнула. Вспомнили, что так и не заменили деревянные подпорки на что-нибудь более прочное. Hичего. Ходить пешком полезно.
15.02. Идут отделочные работы. Почему-то куда-то исчезают маляры и штукатуры. Договорились, чтоб прислали еще.
17.02. Выяснилось, что из-за ошибки Сидорова двери на этажах со второго по шестой открываются только на вход. В результате на этих этажах скопилось множество маляров и штукатуров, которые не могут выйти обратно. Сидоров обещал все поправить. Пока кормим маляров и штукатуров через форточки.
20.02. Алекс, наконец, доделал свои изменяющиеся окна. Тестировали. Выяснилось, что при изменении размера окна в нем бьются стекла. Кроме того, наблюдается ряд побочных эффектов. Hапример, в гостиную одной квартиры может въехать унитаз и ванна из другой. Также иногда исчезают двери и осыпаются балконы. Жаловаться на стройкомбинат бесполезно - они скажут, что нечего пользоваться недокументированными функциями.
21.02. Приходил заказчик. Спрашивал, нельзя ли внести в проект небольшие изменения. В частности, вместо 12-этажного дома построить поселок из деревянных коттеджей, соединенных туннелями. Он прочитал, что на Западе сейчас так модно. Hейтрализовали Алекса прежде, чем тот успел открыть рот, и вежливо, но твердо объяснили заказчику, что он неправ.
22.02. Балконы продолжают сыпаться, хотя изменяемые окна мы больше не трогали. Видимо, это какой-то независимый глюк. Какой, искать уже поздно, так что просто отодрали оставшиеся балконы от греха. Попробуем объяснить заказчику, что это сделано в целях оптимизации.
23.02. Праздновали 23 февраля. Военных у нас в фирме нет, так что праздник никто не портил. Женщин тоже нет, так что подарков нам никто не дарил. Обидно.
25.02. Алекс попытался доделать свои окна. В результате половина из них ужалась до нулевого размера и обратно не разворачивается. Сказали ему, чтоб больше не выпендривался, а то будет еще хуже.
27.02. Вспомнили, что так и забыли сделать подъезд. Размышляли, не рухнет ли дом, если прорубить его сейчас. Сидоров сказал, что лучше не рисковать. Петрович обозвал его ламером и согласился. Hе забыть описать в документации вход через окно как особенность дизайна.
01.03. К-как первое марта?! Откуда?! Вчера же еще... Блин. Кто ж знал, что в этом ламерском феврале 28 дней! Выходит, сдача объекта - не через неделю, а послезавтра?!
02.03. Аврал. Работаем 24 часа в сутки, не просыпаясь.
03.03. Убедили заказчика, что нам нужен еще день для финального тестирования. М-да, ну мы вчера и наработали... А в общем, не все так страшно. Hу что с того, что некоторые двери находятся в полу или в потолке, либо ведут с десятого этажа прямиком на улицу, в некоторые квартиры в принципе невозможно попасть, санузел кое-где совмещен с кухней, в половине дома нет воды, в другой половине - электричества, канализация обрывается на шестом этаже, а лестницу между восьмым и девятым пришлось сделать веревочной? Главное - провести заказчика правильным маршрутом. И еще - успеть до завтра развесить на месте исчезнувших окон картинки с изображением заоконных пейзажей...
04.03. Yes! Yes! Мы сделали это! Отмечаем сдачу объекта. Я пью мало, мне надо еще успеть уволиться, прежде чем эта хренотень рухнет к чертовой матери...
Member
Статус: Не в сети Регистрация: 31.03.2003 Откуда: Украина
Yoda Да, так мы и работаем... Я как в первый раз увидел тоже угорал долго
stargaz0r Пример на ASM это только CMOS. Нужно бы еще таймер 0 добавить. И TSC. И сравнивать их друг с другом, запоминая максимумы случайных погрешностей. Постоянная погрешность будет всегда, это нормально. Но для такого тестиования уже нужно .586p и DOS. Или та же Win, но в Ring0. А программа, сравнивающая RTC и BIOS tick timer Checkit называлась. Тест Real-Time Clock. Наверняка были и другие тесты.
awl Да, в системе только два таймера (не считая специализированных. Этих - море, и их никто не считал) Я имел в виду именно таймер 0. Единственный, зацепленный на IRQ. Он как раз часто используется в низкоуровневой диспетчеризации процессов в различных ОС. 1 и 2 для рефреша ОЗУ использовались и для генерации звука на PC-speaker. Но источник синхронизации для всех был общий. Конечно, я не знаю какая реализация у nVidia, но вешать разные источники CLK на разные каналы таймера глупо и поэтому маловероятно. Хотя, кто его знает... Есть еще TSC - встроенный в CPU таймер. Он зависит от внутренней частоты процессора и очень полезен в нашем случае. Его еще "древний" cachemem использовал... В защищенном режиме под DOS.
Member
Статус: Не в сети Регистрация: 23.09.2003 Откуда: South Ural
WMax
да точно - checkit!
таймер? - нет проблем!
function GetTimerTicks: word; assembler;
asm
xor ax, ax
cli
out 43h,al
jmp @@1
@@1:
jmp @@2
@@2:
in al, 40h
jmp @@3
@@3:
jmp @@4
@@4:
mov ah,al
in al, 40h
xchg ah, al
sti
end;
ну а с TSC сами справитесь хотя есть одно но - TSC обновляется с текущей частотой проца, однако при включенном BD частота падает в зависимости от величины делителей, а еще cpu throttling бывает...
Member
Статус: Не в сети Регистрация: 20.06.2003 Откуда: Ижевск
Написал я вобщем еще один тест. Сравнение виндового таймера, и (ACPI?) таймера, используемого в QueryPerformanceCount (Спасибо SweetLow за идею!).
В результате получается снова что виноват все-таки системный таймер
Этот тест выводит количество тиков таймера ACPI, которое он делает за одну секунду таймера PIC/APIC. При "стабильных частотах", которые вовсе не частоты оба счетчика мегагерц равны друг-другу и стоят по стойке смирно. Счетчик тиков должен показывать ровно 1000. При установке глючных частот, счетчик тиков скачет, но по таймеру ACPI получаются нормальные частоты в результате измерения. Проверьте вобщем
Member
Статус: Не в сети Регистрация: 31.03.2003 Откуда: Украина
awl Жаль... или не жаль у меня пока подопытных с прыгающими частотами не наблюдается... А писать прогу "вхолостую" желания особого нет. Но завтра должны купить в офис машину с nForce2. Может "повезет". В выходные можно будет заняться.
APIC Timer The Advanced Programmable Interrupt Controller (APIC) timer has many of the capabilities of the real-time clock and was designed to be used to synchronize multiple processors, but it has poor resolution and the clocks silicon is sometimes very buggy. Because many of todays systems still do not have an APIC timer, it is not used by default. More importantly however, this timer is subject to pausing during processor power management in some implementations, making it useless for keeping reliable time on modern systems. For these reasons, this timer is seldom used.
Может в этом все дело? У меня например стоит APIC/ACPI ядро под WinXP
Member
Статус: Не в сети Регистрация: 24.06.2003 Откуда: Воронеж
Немного для статистики. Мать EPoX 8RGMI, проц Thoroubred 1700+ (см профиль). Так вот, у меня частоты не пляшут, как я ни тестил. Правда, все проги показывают частоту шины на 1 МГц больше чем выставлено в биосе. Но показывают стабильно. Может причина в том. что мать трудится в одноканальном режиме?
Member
Статус: Не в сети Регистрация: 05.11.2003 Откуда: Украина
Для статистики, у меня получился такой опыт. CPU: Thoroubred-B 1700+ MB: EPoX 8RDA Память: 2x256Mb DDR333 Vdata
После прочтения всего вышеизложенного, протестил указанными утилитами своё железо, среди которых передовой была thg_clock.
На частоте 200х10 и ниже всё стояло стабильно. При поднятии частоты на 205 правая цифра в thg_clock начала не то чтобы "плясать", а скорее "дрожать" на 10-15 МГц под нагрузкой (CPU-Z 1.19 оставался неподвижным). Всё это было позавчера, посчитал все процессы вполне нормальными и объяснимыми.
Но вчера при первом включении thg_clock выдала следующие цифры без нагрузки(!) (слева - направо) 2004 - 1876. Причём вторая цифра не плясала, а оставалась в таком диапазоне +-10МГц. Тут я вспомнил про Bus Disconnect - в трее висит S2kCtl_11b40 был неактивным (значок красного цвета). Включил я его, и частоты выровнялись, выключил и опять та же картина! Не долго думая, перезагрузился. После перезагрузки всё стало на место 2004 - 2004. Выключение, включение S2kCtl не влияло никак (!?) Перезагружал и выключал машину раз пять - всё на месте, никаких отклонений 2004 - 2004 стабильно с нагрузкой и без неё!
В итоге взял я в руки паяльник и резистор, который уже стоял на регуляторе напряжения чипсета и водрузил его на место.
Получил напряжение чипсета вместо 1,56В - 1,74В, поднял частоту до 210, всё стабильно. Только умножитель пришлось уменьшить до 9,5 т.к. процессор неудачный для разгона, выше 2ГГц ведёт себя нестабильно (напряжение ядра не помогает)!
Самое интересное, что CPU-Z 1.19 и WCPUID 3.10a при всех "свистоплясках" ничего об отклонениях не говорили!
Member
Статус: Не в сети Регистрация: 20.06.2003 Откуда: Ижевск
Сижу вот и думаю - писать новую статью чтоль...
наткнулся на сайте майкрософт на описание работы всех таймеров,
они пишут там что таймер APIC очень глюкавый, и часто встречаются
кривые микросхемы оного. Решил проверить.
Вырубаю APIC, меняю ядро WInXP.. загружаюсь в заведомо
нестабильном режиме - 220x8, в нем у меня всегда было "биение".
thg_clock показывает стабильную частоту. Запускаю свой тест - винда
сошла с ума начались дикие тормоза при прорисовке и все такое...
заглядываю в часы винды - еле движутся. Запускаю 3DMark2001 - все
как в замедленной сьемке, но 800fps в первом тесте! )))
Полез в свою прогу и нашел забытый фрагмент попытки перепрограммирования
таймера он при смене ядра и отключении APIC, собака, начал работать.
Вырезаю фрагмент - частоты абсолютно стабильны.
Что интересно - в досе я таймер перепрограммировать до этого не мог,
прерывание видать вызывалось APIC, который надо программировать
иначе... сейчас я думаю все будет нормально. Можно наверное найти
доку на программирование APIC, и написать тест для его таймера...
Короче, попробуйте протестировать с вырубленным в биосе APIC под
Win98, и с вырубленным APIC сменив ядро на ACPI в WinXP/2k (halacpi.dll).
для тех кто не знает как менять ядро - выдерите из дистрибута
файл "halacpi.dl_", распакуйте его в каталог WINDOWS/SYSTEM32
при помощи extract - extract halacpi.dl_ halacpi.dll, и пропишите в
скрытый файл boot.ini корневого каталога следующее:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional - PIC+ACPI" /fastdetect /hal=halacpi.dll
строчки перенеслись - надо перед вставкой подредактировать
Уважаемые awl, OK, WMax, stargaz0r Так скажите, "пляски" частот это только глюк таймера или аппаратная проблема? А то вы больше обсуждаете вопросы программирования, чем сабж.
Сейчас этот форум просматривают: DeathBringer, Google [Bot], igorokkk и гости: 43
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения