Програма на предмета Дънни платки за специалност Компютърна техника и технологии в професионалните гимназии. Литература



страница4/7
Дата28.10.2018
Размер1.08 Mb.
#104073
ТипПрограма
1   2   3   4   5   6   7

Контролни въпроси:

  1. Предназначение на системния таймер в състава на ПК.

  2. Начертайте структурна схема на таймера

  3. Обяснете предназначението на каналите на таймера.

  4. На какъв минимален и максимален интервал време може да се програмира каналът на таймера и защо?

  5. Избройте режимите на работа на канала на таймера.

  6. Кои портове се използват за програмиране на таймера?

  7. Какви са особеностите на достъпа през 8-разрядните портове към 16-разрядните регистри?

Тема 7.ROM-BIOS на дънната платка. Структура на BIOS. Софтуерни прекъсвания на BIOS. Flash ROM BIOS

7.1Същност и предназначение на BIOS. Основни функции.

BIOS е термин, който е съкращение на понятието Basic Input/Output System (базова входно/изходна система). BIOS-ът описва всички драйвери в една система, които работят заедно и оформят същинската връзка между хардуера и софтуера в тази система. Този сбор от програми е първото нещо, което се зарежда, когато включите системата - дори операционната система се зарежда след тях.

BIOS-ът в едно PC е разпределен между три вероятни източника:


    • ROM на дънната платка

    • ROM на адаптерни карти (например като този, намиращ се на една видеокарта)

    • Драйвери на устройства, заредени в RAM паметта от диск

Собствен BIOS обикновено имат следните разширителни платки: видеокарти, SCSI адаптери, мрежови карти, карти за надграждане на IDE или на флопидисковия контролер, Y2K карти (карти, които включват поправки за BIOS-и с цел решаване на проблем 2000 година).

Частта, която се съдържа в ROM чиповете както на дънната платка, така и на някои адаптерни карти, понякога се нарича фьрмуер (firmware) - име, давано на софтуера, който се съхранява в чипове, а не на диска, Това кара някои хора да мислят погрешно, че BIOS е хардуерен компонент.

Една PC система може да се опише като поредица от слоеве - някои хардуерни, други софтуерни - които взаимодействат помежду си. В най-елементарния смисъл, едно PC може да се раздели на четири основни слоя, като всеки от тях може да се разделя допълнително на подслоеве. Фигура 1 показва четирите слоя в едно типично PC: хардуер, BIOS, операционна система и приложни програми. Връзката (интерфейсът) между слоевете условно е показана като назъбена линия, подобно на връзката между елементите на пъзел.



фиг .1 Слоевете на една РС система.

Целта на разделянето на слоеве е да позволи на една и съща операционна система и приложения да работят с различен хардуер. Фигура 1 показва как две различни машини с различен хардуер (различни процесори, запаметяващи устройства, видеокарти и т.н.) могат да използват специално разработени за тях BIOS-и, за да осъществяват връзката между различния хардуер и еднакви операционна система и приложения. Вижда се, че назъбената линия (връзката) между хардуера и BIOS-а е различна за различните системи, т.е. за всеки хардуер има специфичен BIOS. С други думи не съществува универсален BIOS. От друга страна, какъвто и да е BIOS-а, той винаги има еднаква връзка с определена операционна система, която условно е показана с еднаква назъбена линия.

В тази архитектура със слоеве приложенията общуват с операционната система посредством така наречения приложен програмен интерфейс (Application Program Interface - API). API интерфейсът варира според използваната операционна система и се състои от най-различни команди и функции, които операционната система може да изпълнява в отговор на заявка от дадено приложение. Например едно приложение може да поиска от операционната система да зареди или да запише файл. Тези операции се осигуряват от операционната система, а самото приложение не е необходимо да знае как да чете от диска или да записва на диска, как да изпраща данни към принтер или да изпълнява каквито и да било други функции, осигурени от системата. Благодарение на API връзката между еднакви операционни системи и еднакви приложения е една и съща, независимо от това на какъв компютър са инсталирани.

След това операционната система се свързва със слоя на BIOS-а. BIOS-ът се състои от всички отделни драйверни програми, които осъществяват връзката между операционната система и същинския хардуер. Ето защо операционната система никога не взаимодейства директно с хардуера; вместо това тя винаги трябва да се обръща към подходящия драйвер. Това осигурява еднотипен начин за достъп до хардуера. Отговорността за осигуряването на драйвер за даден хардуер обикновено е на неговия производител. Тъй като драйверите трябва да си взаимодействат както с хардуера, така и с операционната система, те са специфични за всяка операционна система. Ето защо производителят често пъти трябва да осигурява за един и същ хардуер различни драйвери, за да може неговият продукт да работи под DOS, Windows 9x, Windows NT, Windows 2000, Windows XP, Windows Vista, OS/2, Linux и т.н. Тъй като много операционни системи използват еднакви вътрешни интерфейси, някои драйвери могат да работят под множество операционни системи. Например драйвер, работещ под Windows Me, често пъти работи и под Windows 95 и 98, а драйвер, работещ под Windows XP, често пъти работи и под Windows 2000 и NT. Това е така, защото Windows 95, 98 и Ме по същество са вариации на една и съща операционна система, което важи също за Windows NT, 2000 и XP.

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

Както може да се види от фиг. 1, слоевете на приложните програми и операционната система могат да бъдат идентични на различните системи, докато хардуерът може да се различава радикално. Тъй като BIOS-ът се състои от софтуерни драйвери, които действат като мост между хардуера и софтуера, от едната страна слоят на BlOS-a се адаптира към уникалния хардуер, а от другата изглежда по абсолютно еднакъв начин за операционната система. Това е същото като комплект инструменти, които се закрепват към универсален държач. От едната страна инструментът е със специфична форма и размери, за да може да отвинти определена гайка или винт със съответните форма и размери, а от другата страна е с уеднаквен накрайник, чрез който се присъединява към държача.

BIOS-ът в повечето PC-та има четири основни функции:


  • POST (power on self test) - самотестване при включване на захранването

  • Setup (настройка). Програма за конфигуриране и настройване на системата.

  • Bootstrap loader (програма за първоначално зареждане). Програма, която чете дисковите устройства, търсейки валиден главен запис за зареждане (master boot record). Ако се открие такъв, кодът в него се изпълнява. След това тази програма от главния запис за зареждане продължава процеса, зареждайки в паметта сектора за зареждане на операционната система, който пък след това зарежда основните файлове на операционната система.

  • BIOS (basic input/output system - базова система за вход/изход). Това наименование се отнася до сбора от действителните драйвери, които се използват като интерфейс между операционната система и хардуера, когато системата се зареди и заработи. Когато се изпълнява DOS или Windows в сигурен режим (safe mode), системата използва само ROM-базираните драйвери на BIOS-а, защото от диска не се зареждат никакви.

7.2Структура на BIOS. Софтуерни прекъсвания на BIOS.

BIOS се състои от отделни програмни модули (функции), достъпът до които се осъществява не чрез отделен адрес в паметта, а чрез софтуерни прекъсвания. Това се прави от съображения за съвместимост. Адресите за тези софтуерни прекъсвания се зареждат като таблица с векторите на прекъсванията (Interrupt Vector Table) в RAM паметта на PC в областта 0000h - 03FFh при зареждането на операционната система. Предаването на данни към програмата за обслужване на прекъсванията в BIOS се реализира чрез регистрите на процесора. В следващата таблица са дадени някои прекъсвания на BIOS.



Табл. 1 Софтуерни прекъсвания на BIOS

Прекъсване на BIOS

Функция

INT 00h

Грешка при деление

INT 01h

Стъпков режим

INT 02h

Немаскируемо прекъсване

INT 03h

Точка на прекъсване (Breakpoint)

lNT 04h

Препълване на CPU

INT 05h

Отпечатване на екрана (Print Screen)

INT 06h

Невалиден код на операция

INT 07h

За CPU

INT 08h

IRQ0, системен таймер

INT 09h

IRQ 1, наличие на данни от клавиатурата

INT 0Ah

IRQ2, принтер2, IRQ 9

INT 0Bh

IRQ3, COM2

INT 0Ch

IRQ4, COM 1

INT 0Dh

IRQ 5, твърд диск

INT 0Eh

IRQ6. флопидисково устройство

INT 0Fh

IRQ7, принтер I

INT 10h

Графична карта

INT 11h

Тест на системната конфигурация

INT 12h

Размер на паметта

INT 13h

Флопидиск / твърд диск

INT 14h

Сериен интерфейс

INT I5h

Разни, системен сервиз

INT 16h

Клавиатура

INT 17h

Принтер

INT 18h

Грешка при зареждане на операционната система

INT 19h

Първична зареждаща програма (Bootstrap)

INT lAh

Часовник за реално време с календар, PCI-I/O

INT20h-FFh

Прекъсвания на DOS и на драйверите

7.3Кои софтуерни прекъсвания се активират при стартиране на PC системата?

След включване на PC или след (едновременно) натискане на бутоните Ctrl, Alt и Del се инициализира хардуерът и се извършва самотест. За целта се отива на адрес FFFF0h - стартовия адрес за процесора в BIOS-ROM. Процедурата на самотест се означава като Power On Self Test - накратко POST, и при нея се извърша проверка на работата на отделните компоненти на PC.

По време на инициализирането в RAM на PC се зарежда таблицата с вектори на прекъсванията.

В областта 00000h – 000C3h са прекъсванията с общо предназначение, например под адрес 00014h се намира векторът на прекъсването за функцията Print Screen. От адрес 00020h ce намират прекъсванията, които се отнасят за хардуерните компоненти (IRQ0 - IRQ7). Така например прекъсването IRQ7 за първия паралелен интерфейс (прекъсване OFh) ce намира на адрес 003Ch.

Векторите на прекъсванията на BIOS се намират от адрес 00040h до адрес 0007Fh. Най-важно е прекъсването на BIOS за първичната зареждаща програма (прекъсване 19h). Векторът на прекъсването се намира на адрес 00064h. Чрез извикване на това прекъсване се предприема опит за зареждане на операционната система от дискета или твърд диск.

Наред с векторите за прекъсвания на BIOS има и вектори за прекъсвания на DOS, които се зареждат и използват също като векторите на BIOS. Към векторите на прекъсванията на DOS (00080h - 000FFh) ce отнася например обръщението за прекратяване на DOS програма (прекъсване 20h) - на адрес 00080h.

Към прекъсванията с общо предназначение се отнасят и това за вида на дискетата (адрес 00100h5 прекъсване 40h), и хардуерните прекъсвания (IRQ8 - IRQ 15), както и от адрес 00lC0h - прекъсване 70h за часовника за реално време и CMOS RAM.

7.4Връзката между ROM и RAM памет

Паметта само за четене (read-only memory - ROM) е вид памет, която може да съдържа данни постоянно или полупостоянно. Нарича се само за четене, защото е невъзможно или трудно да се пише в нея. ROM паметта често се нарича енергонезависима (non­volatile), защото съхранените в нея данни се запазват дори след изключване на захран­ването. Ето защо ROM паметта е идеална за записване на инструкциите за стартиране на PC-то - т.е. софтуерът, който зарежда системата (BIOS-ът).

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

Например, след като се включи захранването на едно PC, процесорът автоматично ска­ча на адрес FFFF0h и очаква да намери инструкции, които да му кажат какво да прави. Това местоположение е точно 16 байта преди края на адресното пространство на самия ROM, който съвпада с края на първия мегабайт от адресното пространство на RAM паметта. Чрез поставяне на ROM чип на тези адреси програмата за стартиране на системата ще бъде заредена пос­тоянно и ще бъде налична след всяко включване на захранването.

Обикновено системният ROM започва на адрес E0000h, който е 128 КВ преди края на първия мегабайт или на адрес F0000h, който е 64 КВ преди края на първия мегабайт.

Тъй като BIOS-ът е основната част от кода, съхранен в ROM паметта, ние често нари­чаме самия чип ROM BIOS. При по-старите PC-та ROM BIOS-ът на дънната платка може да се състои от общо пет или шест чипа, но на повечето PC-та им е необходим само един чип.

ROM паметта на адаптерните карти, които могат да бъдат видеокарти, SCSI контроле­ри, IDE контролери и мрежови карти за бездискови работни станции, се сканира и чете автоматично от ROM-a на дънната платка в ранния етап на процеса на зареждане - по­точно по време на POST процедурата. ROM-ът на дънната платка сканира специална област от RAM паметта, запазена за ROM-ове на адаптерни карти (адреси С0000h-DFFFFh), търсейки двойката сигнатурни байтове 55AAh, указващи началото на ROM.

BIOS-ът на дънната платка автоматично изпълнява програмите във всички адаптерни ROM-ове, които намери по време на сканирането. Можете да видите това при повечето системи; когато включите една система, по време на POST процедурата на екрана се появява текст, който е част от инициализацията на BIOS-а на видеото.

7.5Видове ROM памет и техните характеристики

Всички дънни платки трябва да притежават специален чип (в по-старите системи няколко чипа), който съдържа софтуер, на­речен ROM BIOS. Този ROM чип съдържа стартиращи програми и драйвери, които карат системата да работи и действат като интерфейс към основните й хардуерни компоненти. Чиповете ROM памет могат да бъдат следните 4 типа: истински (масков) ROM; PROM; EPROM; EEPROM, наричана също флаш ROM.

ROM (истински, или масков ROM) - силициев чип, на който данните са записани чрез фотолитографски процес с помощта на маска. Поради липса на гъвкавост отдавна не се използват.

PROM паметта е вид ROM памет, която при производството е празна (всъщност е заредена само с единици) и трябва да се програмира с необходимите данни. Използва се програматор, който прогаря нулите в чипа. Процесът на програмиране е необратим.

EPROM - Една от вариациите на PROM, популярна в миналото, при която паметта може да се изтрива чрез ултравиолетова светлина, през специално кварцово прозорче. Кварцовото прозорче на EPROM чиповете обикновено е покрито от непрозрачна ле­пенка, която предпазва кристала на чипа от непреднамерено излагане на ултравиолето­ва светлина.



фиг .2 EPROM чип с кварцово прозорче.
EEPROM (Electrically Erasable Programmable Read Only Memory – електрически изтриваема програмируема памет само за четене) или флаш ROM чиповете могат да бъдат идентифицирани по техните 28хххх и 29хххх номера, както и по липсата на прозорче върху корпуса. Характеризират се със способността си да се изтриват и препрограмират директно на платката, върху която са инсталирани, без да се изисква никакво специално оборуд­ване. Използвайки EEPROM, или флаш ROM, можете да изтриете и препрограмирате ROM паметта на дънната платка в едно PC, без да вадите чипа от системата - дори не е необходимо да махате капака на кутията! Необходима е само специална програма, осигурена от Web сайта на производителя на дънната платка, чрез която се създава зареждаема дискета с изображението на новия BIOS и програмата за обновяване.

При EEPROM и флаш се използва на практика една и съща технология. Допълнителната декодираща логика, която позволява съдържанието да се изменя по блокове, а не изцяло (както е например при EPROM), логиката за програмиране и "зарядни помпи" за генериране на напреженията за програмиране са реализирани в паметите EEPROM само отчасти, докато във флаш-паметите са вградени изцяло. Ето защо при използване на EEPROM е необходима и допълнителна логика, която е реализирана на дънната платка, докато паметите флаш не се нуждаят от нея. От 1994 година насам на практика всяка дънна платка за PC използва флаш ROM или EEPROM.

7.6Производители на ROM BIOS

Днес на пазара съществуват няколко популярни производители на BIOS-и, които из­вършват доставки на код за ROM-овете на повечето производители на дънни платки и системи.

Няколко компании са се специализирали в разработването на съвместими ROM BIOS продукти. Трите основни компании, които изникват в мислите при обсъждането на ROM BIOS софтуер, са American Megatrends, Inc. (AMI), Phoenix Technologies и Award Software (от 1998 г. притежание на Phoenix Technologies). Всяка компания дава лиценз за своя ROM BIOS на производителите на дънни платки, така че тези производители могат да се съсредоточат върху хардуера, за сметка на софтуера. За да получи някой от тези ROM-ове за дадена дънна платка, производителят на оригинално оборудване (original equipment manufacturer - OEM) трябва да отговори на много въпроси относно дизайна на системата, така че да може или да се разработи подходящ BIOS, или да се избере та­къв от вече разработените. Комбинирането на ROM BIOS и дънна платка не става по случайност. Също така не съществува универсален BIOS, който да е съвместим с всяко дъно. AMI, Award, Microid Research (MR BIOS) и Phoenix доставят най-различни вари­ации на техния BIOS код на различните производители на дъна, като всяка вариация е специално преработена за специфичната дънна платка.

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

През различни периоди от развитието на РС системите, BIOS индустрията претърпява няколко основни промени, в зависимост от това кой BIOS, на Phoenix или AMI, се използва за съответния период от Intel. Това е от значение, защото Intel продават около 80% от дънните платки за PC. При всички тези случаи Intel взимат само ядрото на BIOS-а от Phoenix или AMI, след което го преправят значително за конкретните дънни платки.

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

Макар че повечето ползват разработки на AMI и Phoenix, много от OEM производителите (OEM - original equipment manufacturer - производител на оригинално оборудване) разработват независимо свои собствени съвместими ROM-ове. Компании като Compaq, AT&T и Acer разработват свои собствени BIOS продукти, сравними с предлаганите от AMI, Phoenix, Award и други. Тези компании също така предлагат надграждане до по-нови версии, които често могат да осигурят повече възможности и подобрения, или да отстраняват проблеми при по-стари версии. BIOS-ите на повечето OEM производители се пишат от независима компания. Например Hewlett-Packard имат договор с Phoenix за разработка на BIOS-и за дънните платки, използвани за някои PC-та с марка HP.

7.7Работа с флаш ROM

При използване на флаш ROM, макар и рядко, се налага да се извършват следните основни дейности:


  • конфигуриране и настройване на системата;

  • нулиране на настройките, в частност на паролата за достъп до BIOS или цялата система;

  • обновяване (upgrade) на BIOS;

  • откриване на грешки в хардуера по време на POST процедурата;

7.7.1Конфигуриране и настройване на системата

Както беше посочено по-горе, една от функциите на BIOS е програмата за конфигуриране и настройване на системата, наречена BIOS Setup. Това е програма с менюта, от които се избират съответните опции (възможности). Настройките, зададени от тази програма, се съхраняват в специален чип, наречен RTC/NVRAM, което означава real-time clock/nonvolatile RAM (часовник за реално време/енергонезависима RAM памет). Този чип често се нарича CMOS-RAM, тъй като се изработва по CMOS технология (CMOS - complementary metal-oxide semiconductor – допълващ се метало-оксиден полупроводник). CMOS чиповете имат изключително малка консумация, така че за поддръжката им е достатъчна батерия, която може да издържи няколко години. Всеки път, когато компютърната система се зарежда, тя прочита съхранените в CMOS RAM чипа параметри, за да разбере как трябва да се конфигурира. С други думи, съществува връзка между BlOS-a и CMOS RAM паметта, но това са две коренно различни части от системата.

Обикновено в документацията на дънната платка е описано как се стартира и какви са възможните настройки на BIOS Setup за инсталирания BIOS.

7.7.2Нулиране на настройките на BIOS-Setup

Понякога, когато потребителят е забравил паролата за BIOS или PC не се стартира коректно поради грешно конфигуриран BIOS-Setup, се налага изчистване (нулиране) на паметта на RTC/NVRAM чипа. Най-често употребяваните начини за това са чрез преместване на специален джъмпер (мостче) за 1-2 минути или чрез изваждане за няколко минути на литиевата батерийка от гнездото й.

По-подробно за конфигурирането на системата чрез BIOS Setup и за нулирането на RTC/NVRAM чипа може да се прочете в главата RTC/CMOS-RAM.

7.7.3Обновяване (надграждане) на флаш BIOS.

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



Най-честите причини, налагащи надграждане (upgrade) на BIOS, са някакви грешки в текущо инсталирания BIOS или допълнително инсталиране на хардуер, който не се поддържа от този BIOS:

  • добавяне на поддръжка за процесори от по-нов тип и с по-висока скорост;

  • добавяне на поддръжка на АТА твърди дискове с капацитет по-голям от 8.4GB или 137GB (48-bit LBA);

  • поддръжка на нови стандарти за твърди дискове: например Ultra-DMA/100, Ultra-DMA/133 ATA, Serial ATA (SATA)

  • поддръжка на зареждаеми (bootable) ATAPI CD-ROM устройства (спецификация El Torito)

  • поддръжка на зареждаеми устройства LS-120 (120MB) или Iomega Zip;

  • поддръжка на зареждаеми USB устройства;

  • бърз POST за намаляване времето за зареждане;

  • Plug and Play (PnP) поддръжка и съвместимост;

  • поправка на проблеми, свързани с календара и високосните години;

  • поправка на проблеми, свързани с определен хардуер или софтуер;

  • поддръжка на ACPI управление на захранването (енергоспестяващи функции)

  • поддръжка на наблюдение и управление на температурата и скоростта на вентилаторите.

  • поддръжка на USB клавиатура и мишка;

  • поддръжка на откриване на непозволено отваряне на кутията;




Сподели с приятели:
1   2   3   4   5   6   7




©obuch.info 2024
отнасят до администрацията

    Начална страница