Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
| | | | |
Там не оказалось кэша первого уровня, я отключил какой-то... 12.08.08 16:46 Число просмотров: 3078
Автор: rererew Статус: Незарегистрированный пользователь
|
Там не оказалось кэша первого уровня, я отключил какой-то общий кэш, но это не помогло
|
<beginners>
|
Подскажите, пожалуйста, есть ли возможность понизить скорость процессора Intel (под чистую DOS (без винды)) ? 11.08.08 10:52
Автор: rererew Статус: Незарегистрированный пользователь
|
Есть программа, которая перестала работать с процессором 400 Мгц (работала где-то под 90). Режимов турбо нет.
Может резидента можно повесить как-то или у самого процессора есть регистр отвечающий за понижение скорости.
|
|
можно все таки DOS box попробовать программу, это ж вроде... 12.08.08 14:07
Автор: ncoder Статус: Незарегистрированный пользователь
|
можно все таки DOS box попробовать программу, это ж вроде виртуальная DOS машина, скорость процессора там выставляется, насколько помню
|
|
В большинстве случаев помочь это беде можно, подобные... 11.08.08 16:49
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman Отредактировано 11.08.08 16:50 Количество правок: 1
|
> Есть программа, которая перестала работать с процессором > 400 Мгц (работала где-то под 90). Режимов турбо нет. > Может резидента можно повесить как-то или у самого > процессора есть регистр отвечающий за понижение скорости.
В большинстве случаев помочь это беде можно, подобные программы есть, хотя гарантии того что наверняка поможет не будет.
Странная программа, что под таким слабеньким по нынешним меркам процессором не работает, может саму программу заменить?
Что за программа то хоть и в чем проявляется ее "неработоспособность"?
|
| |
Это сец программа,работающая с железкой через ком-порт ,-... 11.08.08 22:26
Автор: rererew Статус: Незарегистрированный пользователь
|
Это сец программа,работающая с железкой через ком-порт ,- заменить ее можно, написав другую (чего делать совсем не хочется (там и протокол работы и железка не стандартные)).
Уточнил детали: она не работат под 400 Мгц, а работает под 200 Мгц.
В программе используется 16 прерывание (0/1) для чтения клавиатуры, и чтение/запись в ком-порт ,- собственно говря это ее основная логика. Глюк происходит в момент чтения клавиатуры. Поскольку данные считанные с клавиатуры некорректно доставляющся через ком-порт (команды желелзке). В то время как "забитыве в программе" команды проходят нормально.
Мне бы не помешали идеи по поводу того, как симитировать пониженную скорость процессора для программы под чистой DOS.
|
| | |
Для начала нужно понять, почему команды "с клавиатуры"... 12.08.08 14:37
Автор: Den <Денис Т.> Статус: The Elderman
|
Для начала нужно понять, почему команды "с клавиатуры" доставляются через ком-порт в железку некорректно, а затем принимать какие-то меры.
Попробуй поиграться с настройкой скорости портов и буферов (FIFO).
Возможно поможет или полное отключение буферов, или установка transmit buffer в значение 1.
Программа получает данные с клавиатуры корректно? Можно еще попробовать сменить драйвер клавиатуры на 101 клавишную.
|
| | |
1. Программа написана на TASM (Там вроде одни DOS/BIOS... 12.08.08 12:07
Автор: rererew Статус: Незарегистрированный пользователь
|
1. Программа написана на TASM (Там вроде одни DOS/BIOS вызовы). На этом же компе программа на Borland C 3 работает нормально
2. А как называются программы "тормозящие" DOS игры (я только под винду находил) ,- хотя они мало вероятно помогут
|
| | | |
Утилиты для замедления игр 13.08.08 14:20
Автор: Cyril <sc> Статус: Member
|
> 1. Программа написана на TASM (Там вроде одни DOS/BIOS > вызовы). На этом же компе программа на Borland C 3 работает > нормально > 2. А как называются программы "тормозящие" DOS игры (я > только под винду находил) ,- хотя они мало вероятно помогут Утилиты для замедления игр
AntiTurbo, Bremze, Moslo 2.1 ни одну из них не пробовал.
утилиты для игр
|
| | | |
Есть такой проект — FreeDOS (updated) 12.08.08 12:37
Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 12.08.08 12:46 Количество правок: 2
|
Есть такой проект — FreeDOS. Там есть утилита, которая умеет корреткно работать с ACPI (а может с APM, не помню), короче, управляет энергопотреблением процессора в широких пределах. Фактически, процессор может работать даже в 1% от своей мощности.
Это если твоя прога заработает под FreeDOS, которая в общем-то многих выручала -))
<UPDATE>
Кстати, в составе MS-DOS идёт утилита power — не пробовал?
</UPDATE>
|
| | |
Может попробовать различные замедлялки для игр 12.08.08 11:20
Автор: Cyril <sc> Статус: Member
|
> Это сец программа,работающая с железкой через ком-порт ,- > заменить ее можно, написав другую (чего делать совсем не > хочется (там и протокол работы и железка не стандартные)). > Уточнил детали: она не работат под 400 Мгц, а работает под > 200 Мгц. > В программе используется 16 прерывание (0/1) для чтения > клавиатуры, и чтение/запись в ком-порт ,- собственно говря > это ее основная логика. Глюк происходит в момент чтения > клавиатуры. Поскольку данные считанные с клавиатуры > некорректно доставляющся через ком-порт (команды желелзке). > В то время как "забитыве в программе" команды проходят > нормально. > > Мне бы не помешали идеи по поводу того, как симитировать > пониженную скорость процессора для программы под чистой > DOS. Существуют программы тормозящие выполнение Dos игр,
может это поможет решить проблему.
|
| | | |
Нет, это скорее всего не поможет. Эти програмки как правило... 12.08.08 12:17
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
|
> Существуют программы тормозящие выполнение Dos игр, > может это поможет решить проблему.
Нет, это скорее всего не поможет. Эти програмки как правило занимают процессор какими-нибудь басполезными расчетами через маленькие интервалы на очень маленькие промежутки времени. Только эти временные интервалы исчистяются милисекундами. Для этой проги нужно увеличивать время каждого такта чтоб определенная последовательность инструкций выполнялась с нужной медленной скоростью.
Попробуйте, исправится ли ситуация при выключении кеша первого уровня в БИОСовском сетапе. Если все будет нормально, кину две проги. Одна выключает кеш, другая включает. Пропишите в батник, все будет удобно.
|
| | | | |
Там не оказалось кэша первого уровня, я отключил какой-то... 12.08.08 16:46
Автор: rererew Статус: Незарегистрированный пользователь
|
Там не оказалось кэша первого уровня, я отключил какой-то общий кэш, но это не помогло
|
| | | | | |
А оно точно отключилось. Есть какая-нибудь замерялка... 13.08.08 13:17
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
|
> Там не оказалось кэша первого уровня, я отключил какой-то > общий кэш, но это не помогло А оно точно отключилось. Есть какая-нибудь замерялка производительности? Хотя бы визуально заметно? Выключать надо кеш первого уровня. Если только второго, то все микрокоманды все равно за один такт будут выполняться, поскольку в первом уровне осядут. На старых пентиумах был еще кеш на системной плате. Он отключается хитро через чипсет, а не регисты процессора.
Вот ссылочки (Яндекс чуствителен к регистру):
http://pimenov.narod.ru/CACHEON.COM
http://pimenov.narod.ru/CACHEOFF.COM
|
| | | | |
Оо, полезная штука, как-то столкнулся 12.08.08 14:17
Автор: Ustin <Ustin> Статус: Elderman
|
> нормально, кину две проги. Одна выключает кеш, другая > включает. Пропишите в батник, все будет удобно. Если не сложно и проги маленькие, не составит ли труда закинуть их в эту ветку в UU\Base64, так сказать, для истории?
|
| | | | | |
Слишком маленькие - десяток байт примерно. Всего то... 12.08.08 15:29
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman Отредактировано 12.08.08 16:18 Количество правок: 1
|
> Если не сложно и проги маленькие, не составит ли труда > закинуть их в эту ветку в UU\Base64, так сказать, для > истории?
Слишком маленькие - десяток байт примерно. Всего то снять/поставить второй (если не ошибаюсь) бит по старшенству в регистре процессора CR0. Только это все на домашнем писюке, так что до завтра.
Есть у меня и другие тормозилки, только они не для этого случая.
|
| | | | | | |
Можно полюбопытствовать, как CR0 тормозит процессор? 12.08.08 16:35
Автор: HandleX <Александр М.> Статус: The Elderman
|
|
| | | | | | | |
Очень сильно. В несколько раз. Причем отключение кеша... 13.08.08 13:24
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
|
Очень сильно. В несколько раз. Причем отключение кеша второго уровня не столь сильно влияет, по сравнению с отключением первого.
Я уж не буду цитировать то,что нарыл, но рекомендую искать по ключевым словам "cache cr0". В одном месте в переписке на форуме обсуждалось как надо это все праильно делать со ссылкой на даташит интела. Биты, действительно 30 и 29. За сам кеш 30 отвечает, а 29 за отложенную запись.
|
| | |
А на чём написана программа? Не на борландовском Turbo Pascal? 12.08.08 10:36
Автор: HandleX <Александр М.> Статус: The Elderman
|
Были программы, которые патчили скомпилированные турбопаскалем программы для корректной работы с быстрыми процессорами -- что-то там с функциями ожидания борландовцы намудрили.
|
|
|