BIOS на блюдечке Крис Касперски ака мыщъх Хакер, номер #078, стр. 078-108-9 [разгон системы] Чтобы разогнать систему, необходимо написать свой ROM-модуль, настраивающий чипсет на максимальную производительность. Конфигурирование чипсета осуществляется через специальные регистры, находящиеся глубоко внутри материнской платы и подключенные к шине PCI. Описание регистров можно найти в даташите. Где-то там будет раздел PCI Configuration Registers или что-то в этом роде. Сравнение конфигурационных возможностей чипсета с BIOS Setup показывает, что часть настроек обычно бывает умышленно заблокирована производителем материнской платы. В частности, регистр 80000064h чипсета VIA Apollo Pro 133 (у меня дома такой - прим. Горлума) управляет чередованием банков памяти, в то время как многие материнские платы на его основе такой возможности не имеют. Ну и как нам ее получить? У PCI-шины есть два замечательных порта. В порт CF8h заносится адрес чипсетного регистра, с которым мы хотим работать, а через порт CFCh происходит обмен данными. Большинство подобных регистров представляют собой набор управляющих битов, поэтому перед тем как что-то записывать в порт CFCh, мы сперва должны прочитать текущее состояние чипсета, взвести/опустить нужные нам биты при помощи операций OR и AND, после чего затолкать обновленный регистр на место. На языке ассемблера это выглядит так: ; расширение BIOS'а, задействующее режим чередования DRAM-банков ; (только для чипсета VIA Apollo Pro 133! Обладатели других чипсетов ; должны заменить подчеркнутые константы в соответствии со своей ; документацией) mov eax, 80000064h ; регистр чипеста, управляющий DRAM-контроллером mov dx, 0CF8h ; PCI-порт (адрес регистра) out dx, eax ; выбираем регистр mov dx, 0cfch ; PCI-порт (данные) in eax, dx ; читаем содержимое регистра 80000064h or eax, 00020202h ; взводим биты, устанавливающие режим чередования out dx, eax ; записываем регистр чипсета Данный модуль может быть либо оформлен как ISA-ROM, либо внедрен в boot-блок. Главное, чтобы он получил управление после того, как BIOS произведет первичную инициализацию оборудования, иначе наши настройки будут проигнорированы! Зашив обновленную прошивку в BIOS, мы с удовлетворением замечаем, что быстродействие системы ощутимо возросло. Таким же точно образом можно редактировать и остальные регистры, отсутствующие в BIOS Setup, разгоняя систему до скорости реактивного гепарда, которому в известное место залетел шмель. Собственно говоря, это даже не разгон, а законное использование возможностей чипсета, почему-то не задействованных материнской платой. INFO Фирма Award была выкуплена Phoenix'ом и в настоящее время существует только как бренд (торговая марка). А это значит, что Phoenix-BIOS'ы устроены точно так же, как и Award, поскольку их пишет одна и та же фирма. INFO Существует множество готовых прошивальщиков, поддерживающих практически все известные типы BIOS'ов, причем некоторые из них распространяются вместе с исходными текстами. Одним из таких прошивальщиков является знаменитый UNIFLASH (www.uniflash.org). |