Быстрозагружающийся КОМП

Тема в разделе "WASM.ASSEMBLER", создана пользователем FastSoft, 8 мар 2005.

  1. FastSoft

    FastSoft New Member

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    54
    Адрес:
    Russia
    При написании осей, загрузчиков, при копании в PMODE по сто раз в час надо комп перезагружать. Причем ресетом. Из наличествующих у меня дома шести древних полураздолбанных компов можно выбрать тот, где БИОС делает минимум операций, чтобы момент чтения первого сектора HDD наступал быстрее. Но я рассматриваю вариант перезаписи BIOS с тем, чтобы оставить там только программу чтения с дискеты и с жесткого диска. Хочется исключить все тесты аппаратуры вообще нафиг. Если что-то не работает - я и так увижу, не надо мне ничего тестировать и инициализировать!!! Ну вот рассмотрим один из моих - лучший из древних - комп P233MMX с 512 MB оперативки. После ресета биос просто невыносимо долго что-то тестирует. Причем если не сидеть рядом и не давить ESC, но он начнет еще перебирать память (все равно толком не тестируя ее). Все мои 512 мегабайт - это ж застрелиться. Можно в туалет сходить по большому, пока он все 512 метров оттестит (как ему кажется). И в моменты теста своего он выводит на экран много всякой чуши - что-то о моей звуковой плате, что-то об обнаруженном ATAPI-CDROM, что то еще, какую-то дурацкую сводную таблицу, модель процессора, дурацкий логотипчик!! Задолбало все! Чувствую, что можно как-то без этого. Ну в общем идея понята, думаю.. Есть только опасения, что BIOS как-то конфигурирует сам процессор, загружает в него микрокод.. Что за бред.. ПРограммы БИОС ведь как-то начинают выполнятся. Если начинают - какой микрокод.. Ладно - пишите, будем разбираться. С программаторами проблем нет.



    -------

    КОнечно я понимаю, что уже никакой ДОС с таким биосом не запустится, ибо обработчиков прерывания стоять не будет, да контроллер прерываний будет не проинициализирован, да еще может что-то будет не так.. Я бы написал такой биос, который прерывания ЗАПРЕЩАЕТ, делает минимум действий, элементарные тесты (ладно, пусть некоторые основные обработчики типа int13,int8 и так далее) только я бы выкинул тесты, которые в ходе тестирования пытаются в цикле ждать ответа от тестируемого устройтва. Такие - да, сразу в помойку.. А потом сразу сектор читать. Сначала с винта (по минимуму - пусть только с мастера), потом с флопа. Ну установки можно будет менять по минимому.. То есть стандартного СИНЕГО биоса уже не будет, будет мой. Черный и в консоли. Ну ладно.. У меня все пока.
     
  2. Dark_Master

    Dark_Master Member

    Публикаций:
    0
    Регистрация:
    19 май 2004
    Сообщения:
    32
    Адрес:
    Усть-За###юйск
    Идея хорошая, но вот сильно сократить время врядли получится. БИОС инициализирует регистры чипсета, настраивает RAS-to-CAS delay, CAS latency и прочие вещи без которых комп просто не будет работать, а еще биос настраивает множитель частоты и прочее.

    А если самому лезть в настройки регистров чипсета, то есть ненулевая вероятность что-нибудь сжечь, в буквальном смысле.

    Насчет микрокода: процессор поддерживает обновление микрокода в самом себе, это делается через msr и обновление действует до следующего ресета. Обновление обычно устраняет какие-либо мелкие баги.
     
  3. FastSoft

    FastSoft New Member

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    54
    Адрес:
    Russia
    Да-а-а-а.. Все так сложно.. Мдею в мусорку.. Гораздо УМНЕЕ будет этого не делать.





    Я слабо представляю что такое микрокод на аппаратном уровне ваще. Где мне просвящаться на эту тему?
     
  4. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    FastSoft

    1.Используй виртуальную машину(VMware).

    2. Отключи тест памити и дисков.Будет грузиться быстрее.
     
  5. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    FastSoft

    Описание ячейки 0fh CMOS памяти:


    Код (Text):
    1. 0fH  shutdown status byte
    2.      This byte is read upon startup after CPU reset in order to determine if
    3.      the reset was used as a way to get out of 80286 protected mode.
    4.          0 = soft reset (Ctrl-Alt-Del) or unexpected shutdown.  [b]Skip POST[/b]
    5.          1 = shutdown after memory size is determined
    6.          2 = shutdown after memory test is performed
    7.          3 = shutdown after memory error (parity check 1 or 2)
    8.          4 = shutdown with bootstrap loader request
    9.          5 = shutdown with FAR JMP (restart int ctrlr and jmp to 0:[0467H])
    10.      6,7,8 = shutdown after passing a protected mode test
    11.          9 = shutdown after performing block move.  See INT 15H 87H
    12.        0aH = shutdown with FAR JMP (immediate jmp to address at 0:[0467H])




    Если в начало кода BIOS'а добавить код записи в эту ячейку нуля, то вроде тестироваться и инициализироваться ничего не должно, только вот как заставить проводить тестирования после включения питания?
     
  6. flankerx

    flankerx New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2004
    Сообщения:
    423
    Адрес:
    Moscow, Russia
    FastSoft

    про микрокод можно почитать в доках Интела.



    ИМХО для быстрой загрузки достаточно отучить БИОС от проверки памяти и опроса IDE-устройств. Оставшейся задержки (во время которой происходит инициализация процессора, обновление микрокода и т.п.) ты просто не заметишь...
     
  7. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    2 FastSoft

    VMware поддерживает немедленное восстановление сохраненного состояния машины. При удачной конфигурации это происходит меньше чем за 5 секунд.

    +возможность работать с реальными разделами

    +возможность отключить сохранение данных винта при создании слипка сохраненного состояния.
     
  8. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    Dark_Master >




    этого давно нет - со времён 2х пентиумов.
     
  9. yureckor

    yureckor New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    494
    Адрес:
    Russia
    >БИОС инициализирует ...прочие вещи без которых комп просто не будет работать

    Если биос это инициализирует- то комп уже работает (простите за бред - но биос это программа).

    Вопрос что надо запускать стандартного на таком компе.
     
  10. Nothing

    Nothing New Member

    Публикаций:
    0
    Регистрация:
    4 авг 2003
    Сообщения:
    139
    Адрес:
    Russia
    Есть спецификация от M$ кажется, называется как-то "simple bios" или что-то в этом духе. Смысл втом, чтобы не тестировать у-ва если предыдущая загрузка была успешной. Работает - проверено на себе. У меня плата asus на чипсете via-133 (2001 года), прошил случайно бета-версию bios - оказалось там включили эту фичу (временно, следующая бета ее уже не содержала). Полная раскрутка от нажатия на reset до считывания первого сектора - менее 1 сек (!), я даже не вижу что там пишут. :)

    А переписать современный bios - гиблое дело. Это я ответственно заявляю как программист микроконтроллеров и прочего железа не раз писавший свои системные загрузчики... Там море деталей, всяких "костылей" для разных комбинаций (и подверсий!) чипсетов и их обвязки. И это все надо обязательно повторять один в один иначе у компа что-то не будет работать или что гораздо хуже будет работать совсем не так, как хотелось бы. И ошибок всяких в чипсетах даже больше, чем в процессорах, просто обычно об этом никто не знает, т.к. большую часть их в bios и обходят, а так вам придется с каждой из них иметь дело лично...

    Могу посоветовать прошить разные бета версии bios'ов. Или просто поискать подходящую плату сравнением времени загрузки. Кстати, imho старые компы (pentuium 1,2) грузились медленнее, чем новые. Вот совсем старые (286, 386) - эти летали при загрузке, да...
     
  11. FastSoft

    FastSoft New Member

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    54
    Адрес:
    Russia
    А у меня старинный 233 комп, где биос 1997 года. Он не позволяет отключить тест памяти, шины IDE и так далее.
     
  12. FastSoft

    FastSoft New Member

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    54
    Адрес:
    Russia
    А у меня старинный 233 комп, где биос 1997 года. Он не позволяет отключить тест памяти, шины IDE и так далее. Что такое WMware я слыхал, но никогда не юзал.
     
  13. FastSoft

    FastSoft New Member

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    54
    Адрес:
    Russia
    А у меня старинный 233 комп, где биос 1997 года. Он не позволяет отключить тест памяти, шины IDE и так далее. Что такое WMware я слыхал, но никогда не юзал. Я и с линуксом-то не знаком, всего год на FreeBSD сижу.
     
  14. FastSoft

    FastSoft New Member

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    54
    Адрес:
    Russia
    А у меня старинный 233 комп, где биос 1997 года. Он не позволяет отключить тест памяти, шины IDE и так далее. Что такое WMware я слыхал, но никогда не юзал. Я и с линуксом-то не знаком, всего год на FreeBSD сижу.
     
  15. nice

    nice New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2003
    Сообщения:
    42
    Адрес:
    Russia
    У меня была материнка под 7сокет, на ней стоял MR BIOS более шустрого и продвинутого я не видел больше, там можно все было отключить глазом моргнуть не успеваешь как стартует ОСЬ.

    Где то читал: "Не трогай железо и оно тебя не тронет" ;)
     
  16. Dark_Master

    Dark_Master Member

    Публикаций:
    0
    Регистрация:
    19 май 2004
    Сообщения:
    32
    Адрес:
    Усть-За###юйск
    S_T_A_S - этого давно нет - со времён 2х пентиумов



    Насколько я понял, речь как раз и идет про первые и вторые пентиумы.
     
  17. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    если первые пни - то да, перемычками на плате менялся множитель (возможно БИОС и имел к этому тоже отношение)

    но начиная со слотовых P2 эти мычки перенесли внутрь процессорного картриджа (их ещё можно было переделать умеючи). а в PPGA, FCPGA и позже - уже в кристал.

    если бы кто раскопал, как разлочить множитель, отгрёб бы кучу денег :derisive:
     
  18. FastSoft

    FastSoft New Member

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    54
    Адрес:
    Russia
    nice

    Не трогающему железо чуждо Дзена веяние.
     
  19. Narkomanius

    Narkomanius New Member

    Публикаций:
    0
    Регистрация:
    14 апр 2003
    Сообщения:
    144
    ЧИТАЕМ про устройство биоса и не задаем глупых вопросов.

    я под это дело написал прогу которая вырезает куски из биуса, после чего архиватором их распаковываешь. мона переписать кусок бинарника и захренячить его обратно в биус. мамка будет настроена в безопасном но медленном режиме после старта. можешь переписать регистры руками, если надо ботать быстрее. не настроена PCI, AGP. лучше всего юзать мамку с PCI картой без АГП для опытов



    сорцы проги(MSVC6) пока не нашол правда.

    ftp://194.85.82.243/KGAM/biosdump.exe