Техника

Надграждане на ROM BIOS

Надграждане на ROM BIOS
(0 от 0 гласували)

 

 

 

Надграждане на ROM BIOS

 

 

Основни функции. Клавиатурни контролери Проблеми.

 

BIOS (Basic Input/Output System) - базова входно/изходна система.

Тя се намира на   чип, който обикновенно е поставен на дънната платка на компютъра.

 

BIOS е достъпна всеки път, когато включите компютъра си.

Съдържа всички основни процедури, необходими на PC при комуникацията между хардуера и периферните устройства. Тези процедури включват инструкция за обработване на изхода на екрана, на принтера, шрифтовете, датата и часа. BIOS извършва определени тестове, автоматично определя допълнителния хардуер включен в компютъра, определя съвместимостта му с него.

 

BIOS може да се нарече и съвкупност от хардуер и софтуер. Като софтуер той представлява съвкупност от определен брой инструкции. Като хардуер се разбира това, че тези инструкции в общия случай са постоянни.

Възможно е разширяване на специфичния BIOS софтуер с допълнителни функции, които се зареждат от диск. Това позволява по-удобно използване на BIOS функциите от потребителските програми.

Във BIOS се съдържат процедури за тестване, данни идентифициращи машината, специални подпрограми които позволяват на потребителския софтуер да поема управлението на хардуера, система която разпознава допълнителните хардуерни разширения включени в компютъра, която следи за разпределението на паметта между отделните устройства, така че да няма конфликти.

BIOS започва работата си веднага след включване на компютъра. Тогава процесорът се превключва автоматично в реален режим на работа и прочита информация с големина 16 байта, намираща се на абсолютен адрес OFFFFOH. На това място е записан преход към адреса, където  започва програмния код на BIOS.

След като завърши тестването на  компонентите на компютъра - процесор, памет, клавиатура и т.н., и обработването на периферните устройства, започва същинския процес на начално зареждане.

Управлението се предава на определена процедура от BIOS, която зарежда първия сектор от флопи дисковото устройство или твърдия диск. След това управлението се поема от прочетената от там програма, която започва зареждането на операционната система от дисковото устройство.

След като операционната система е поела управлението, BIOS продължава да изпълнява функциите си, като те покриват най-честата работа с хардуера - изписване на символи на екрана или принтера, четене на символи от клавиатура и събития свързани с таймера.

 

BIOS е контролна система, която работи на възможно най-ниско ниво и осигурява по-високо ниво за потребителските програми. Тя предлага стандартен набор от функции. Независимо от хардуера BIOS функциите са идентични.         В чиповете произвеждани от различни компании има разричия, но те изпълняват  едни и същи основни задачи. IBM  дефинира типови BIOS функции необходими в PC.

 

BIOS прави връзката между хардуер и софтуер чрез система от софтуерни прекъсвания.

За да получи достъп до основния хардуер програмата изпраща прекъсване, чрез специална инструкция на процесора. Такова прекъсване кара процесора да преустановява работата си по текущата програма и да започне изпълнението на определена процедура обработваща това прекъсване. При това процесорът запазва състоянието на текущата програма, от таблицата на прекъсванията определя адреса на процедурата обработваща това прекъсване и започва изпълнението на програмата намираща се на този адрес.

Таблицата с векторите на прекъсванията се намира в началото на системната памет на адрес 00000Н.

Всеки вектор се състои от 4 байта и всички вектори са разположени в нарастващ ред на адресите. Първите стойности на векторите се зареждат в паметта от EЕPROM, където е записан BIOS, по време на първоначалното зареждане на системата.

  • След началното зареждане, други програми могат да променят векторите на прекъсванията, като по този начин се променя смисъла  на прекъсванията.
  • Има 256 BIOS  прекъсвания, които са разделени във функции.
  • Тези функции дават възможност за комуникация с хардуера.

 

Таблица на   прекъсванията

     

 N на прекъсването                                    

Значение

10Н

Достъп до видеоконтролера

11Н

Проверка на конфигурацията

12H

Проверка на  RAM

13H

Дискови Функции на BIOS

14H

Няколко интерфейсни функции

15H

Касетни и разширени АТ функции

16H

Клавиатурни функции

17H

Функции за паралелен интерфейс

1AH

Функции за дата/час/часовник за реално време

 

BIOS представя някои прекъсвания като променливи - например видео и харддисковите функции.

 

Архитектура на BIOS

Самата BIOS се намира в EЕPROM, което я прави резидентна дори и след изключване на компютъра. Тя се съхранява много високо в адресното пространство на процесора. ROM чипа, който съдържа кода на BIOS, се намира винаги в най-високата област на сегмента от паметта F000H. Точния начален номер на BIOS се променя в зависимост от BIOS системата и понякога от капацитета на паметта.  Началната точка на BIOS ROM варира и в зависимост от нейната големина. Тя завършва обикновено на последната клетка от паметта на сегмента F, която е с отместване FFFFН. Това е последният адрес достъпен за процесор  INTEL, работещ в реален режим. При някои контролери има допълнения. Например при  VGA   контролерите са включени скрита RAM, харддискови параметри, независим  SETUP.

Скритата  RAM  се намира на същите адреси от паметта като  ROM BIOS. Тъй като  в  RAM  не е позволено дублиране на клетките от паметта, ROM BIOS  държи тази RAM  скрита от операционната система и приложните програми. Много BIOS  системи копират техния ROM BIOS  код в скрита  RAM, от която данните са достъпни. Това подобрява скоростта на изпълнение, защото шината за данни на скритата  RAM   е 16 битова, а тази на ROM BIOS е 8 битова.

 

Хардискови  параметри

BIOS често има проблеми при комуникирането с много хард дискове. Това се дължи на различните характеризиращи числа, присвоени на всеки диск. Преди BIOS  да комуникира с един хард диск, тя трябва да знае броя на пътечките, броя на секторите за пътечка и други данни отнасящи се до хард диска. Първоначално проблемът е решен с таблица на хард дисковете, от която чрез програмата SETUP потребителят може да извлече необходимата информация за диска и след това да бъде предадена на ROM BIOS. Възможно е, вместо чрез SETUP, потребителят ръчно  да въведе информация за диска. Тази информация се предава на захранвана от батерии RAM за да бъде достъпна за BIOS.

SETUP-позволява на потребителя да конфигурира елементи на ROM BIOS според собствените си нужди. Някои BIOS системи предлагат възможност за конфигуриране на част от RAM като разширена памет, ако РС поддържа ЕМS. Повечето SETUP  програми поддържат пригодяване към честотата на таймера на процесора.

 

Вход чрез парола

ROM BIOS е най-доброто място, където може да се включи защита чрез парола. Тогава може да се изисква достъп чрез парола преди стартирането на системата и преди зареждането на DOS. Много производители  препоръчват паролния вход да бъде чрез програмата SETUP. Тогава паролата се съхранява в захранваната от батерия RAM или хард диска.

Целта на BIOS  и разделянето на хардуера от софтуера е да може да се променя хардуера без промяна на софтуера. По този начин се гарантира и съвместимостта на различните РС.

  Въвеждането на допълнителни BIOS  програми за отделните периферни устройства се е наложило понеже всеки компонент може да има специфичен начин на работа, който има нужда от собствена начална инициализация. При промяна на хардуера е възможно стария софтуер да не може да комуникира с него. Затова се въвежда стандартизиран откъм софтуерна страна BIOS. Програмите се обръщат към BIOS  за определена операция с хардуерно устройство. След това BIOS  се обръща към хардуера. Така стария софтуер може да комуникира с новия хардуер като се налага промяна само в BIOS.

Различните процедури на  BIOS  са разположени на определени адреси в паметта на РС.

Адреса на който започва определена процедура се нарича входна точка.   Входната точка на  BIOS  функция е нещо различно от прекъсването, което извиква тази функция. Когато  BIOS  прави начално зареждане на системата в РС, той зарежда адресите на различните входни точки в таблицата на векторите на прекъсванията-входната точка може да се намира навсякъде в паметта.

Когато някои програми извикват  BIOS   като преход направо към входната точка (те изискват определени BIOS  процедури да се намират на фиксирани адреси) е възможно да се получи зависване на системата. Причина за това е че входната точка се различава от това което програмата очаква.

Друг проблем е, че допълнителните стъпки добавени от функциите на BIOS  може да забавят изпълнението на програмата-най-често при работа с видео адаптера.

Друго ограничение при работата с  BIOS  е, че компютъра не може да прави нищо което не може  BIOS. 

Надграждане на ROM BIOS

Коментари