Tak pracuje BIOS

Gdy wszystko idzie gładko, słyszymy tylko krótkie “bip”. To sygnał, że komputer działa poprawnie i rozpoczęło się uruchamianie systemu operacyjnego. Jednak mało kto wie, że w ciągu kilku sekund poprzedzających ten dźwięk BIOS (Basic Input/Output System, czyli podstawowy system wejścia-wyjścia) dokonuje sprawdzenia m.in. układu zasilania, procesora, pamięci RAM, interfejsu dysku twardego i kontrolera płyty głównej. Pokażemy krok po kroku wszystkie elementy wewnętrznych testów dokonywanych przez BIOS przed uruchomieniem systemu operacyjnego. BIOS instalowany w większości dzisiejszych komputerów, choć dobrze spełnia swoje zadanie, to zdaje się dożywać swoich dni. Jego następca jest już gotowy od dawna – EFI (Extensible Firmware Interface) wspiera architekturę 64-bitową i jest tym samym gotowy do obsługi sprzętu przyszłych generacji.
Nie wiesz za co odpowiada ten chip? Przeczytaj i dowiedz się!
Nie wiesz za co odpowiada ten chip? Przeczytaj i dowiedz się!

Dzięki interfejsowi graficznemu EFI jest o wiele prostszy w konfiguracji niż jego poprzednik, znajdujący się w dzisiejszych pecetach. Jednak na razie ten super-BIOS znajdziemy tylko w komputerach Apple’a i niewielkiej liczbie pecetów. Zademonstrujemy więc ciężką pracę tradycyjnego BIOS-u, skoro to on właśnie stanowi serce, a może duszę, ponad 90 proc. wszystkich pracujących pecetów.

BIOS bez zmian
Jednolity system rozruchu komputera miał swój początek 11 stycznia 1996 roku. Wiele firm zatwierdziło wtedy specyfikację standaryzującą BIOS (BIOS Boot Specification). Od  tamtej pory standard ten reguluje, jak określone procedury rozruchowe mają uruchamiać właściwy system operacyjny.

BIOS obecnie
Choć kolejne wersje systemów operacyjnych przynoszą coraz więcej graficznych udogodnień, zmiana interfejsu BIOS-u jest zabroniona. Jak zdradził jeden ze współtwórców standardu, miało to na celu odsunięcie uwagi użytkowników od BIOS-u, którzy poprzez swoje nieprzemyślane ingerencje mogliby dokonać uszkodzeń sprzętu.

Przyszłość jest kolorowa
Nowy EFI-BIOS wspiera architekturę 64-bitową i jest wyposażony w graficzny interfejs użytkownika. Jednak nie znajdziemy peceta wyposażonego w EFI, ponieważ nie ma kompatybilnych z nim płyt głównych. Tylko Apple używa tego systemu od
2006 roku. Dalej pokażemy, jak stosując pewną sztuczkę dotyczącą EFI, zainstalować Mac OS na pececie.

0, 300 s

0, 300 s

0,0300 s

Tuż po włączeniu komputera zostaje aktywowana pierwsza procedura BIOS-u, tzw.  POST (Power On Self Test), która służy sprawdzeniu poprawności działania najważniejszych komponentów komputera. Inicjowany jest chipset płyty głównej.


1,7300 s

W pierwszej kolejności poprzez rozłączenie przez BIOS linii tzw. przerwania niemaskowalnego (NMI) resetowany jest procesor.

W tym celu BIOS modyfikuje 7. bit na porcie 70h. Prawie jednocześnie, zaraz po tym, jak pojawia się napięcie, resetowany jest kontroler klawiatury. Poprzez oddzielną procedurę BIOS sprawdza, czy restart komputera został zainicjowany z klawiatury. W tym celu odczytuje odpowiednie bity pochodzące z kontrolera klawiatury. Chodzi o to, że procedura gorącego resetu (wywołanego z klawiatury) jest nieco szybsza, ponieważ w jej ramach testowane są tylko pierwsze 64 KB pamięci operacyjnej.

2,6100 s

W tym momencie BIOS przeprowadza test własnej integralności. Robi to poprzez wyliczenie sumy kontrolnej wszystkich danych zawartych w swoich układach elektronicznych. Rezultat jest porównywany z wcześniej ustaloną i przechowywaną liczbą i musi się z nią zgadzać. Następnie wysyłane jest polecenie do kontrolera klawiatury. Uaktywnia ono inny test i definiuje dla niego bufor danych. BIOS zapisuje komendy w tym buforze, sprawdzając w ten sposób wewnętrzny kontroler klawiatury.

4,1100 s

Teraz na scenę wchodzi CMOS. To w tym układzie przechowywane są ustawienia BIOS-u dokonane przez użytkownika. BIOS odczytuje parametry własnej konfiguracji z kości CMOS przy każdym uruchomieniu. Szkopuł w tym, że układ ten może przechować dane i ustawienia dopóty, dopóki dostarczana jest mu energia z baterii, zachowuje się więc jak pamięć RAM. Określone procedury BIOS-u testują układ CMOS również za pomocą sum kontrolnych. Test ten może w tym przypadku dodatkowo wykryć nie tylko błędy w strukturze pamięci, ale także wadliwie działającą baterię podtrzymującą jej zawartość. Jeśli bateria jest na wyczerpaniu, nie będzie w stanie dostarczyć napięcia do niektórych rejonów układu. Użytkownik będzie mógł w takim przypadku spostrzec, że dokonane przez niego ustawienia w BIOS-ie oraz czas systemowy uległy wyzerowaniu.

4, 6200

4, 6200

4,6200 s

W kolejnym kroku procedury POST jest sprawdzany zegar przerwań, który odpowiada za poprawną obsługę IRQ. Interrupt Requests, czyli żądania przerwań, są poleceniami, które takie podzespoły, jak dysk twardy lub karta graficzna, wysyłają do procesora.

Dzięki temu CPU “wie”, że ma dane do przetwarzania. Tym żądaniom zawsze towarzyszy pewne opóźnienie, które wiąże się z czasem upływającym pomiędzy wysłaniem sygnału IRQ a rozpoczęciem przetwarzania danych przez procesor. Następnie BIOS ustala tabelę wektorów przerwań i z pamięci CMOS ładuje konfigurację użytkownika. Żądania przerwań zgłaszane przez urządzenia są w pierwszej kolejności obsługiwane przez dedykowany programowalny kontroler przerwań (Programmable Interrupt Controller – PIC), który wysyła je już bezpośrednio do procesora. W tym samym momencie procesor przerywa bieżące obliczenia i potwierdza kontrolerowi otrzymanie przerwania. Następnie CPU odczytuje numer przydzielonego przez kontroler PIC przerwania (tzw. wektor) i używa go jako indeksu w tabeli wektorów przerwań.

Tabela zawiera adresy procedur obsługi dla każdego przerwania. Procedury te muszą zostać wykonane w celu obsługi przerwania. Ze względu na to, że dostępna jest ograniczona liczba przerwań, w nowoczesnych systemach niektóre urządzenia (a dokładnie ich sterowniki) współdzielą te same przerwania (Interrupt Sharing). Wszystkie sterowniki muszą jednak uruchamiać procedury obsługi tylko wtedy, gdy pojawia się przerwanie wywołujące przyporządkowane im urządzenia. Jeśli poszczególne sterowniki nie są zaprogramowane optymalnie i któryś z nich jest uaktywniany przez zbyt długi czas, mogą pojawić się problemy. Sterowniki zapisują dane do bufora, który w takich przypadkach szybko się przepełnia, co może prowadzić do utraty danych. Z tego powodu nowoczesne urządzenia peryferyjne są obsługiwane bezpośrednio przez system operacyjny, który już sam dba o dynamiczne przydzielanie poszczególnych żądań przerwań.

Szybszy PC: sztuczki z BIOS-em dają moc
Nowy BIOS zamiast nowego komputera? Czemu nie. Zdecydowana większość chipów BIOS-u jest obecnie produkowana jako Flash-EEPROM (Electrically Erasable Programmable Read Only Memory — pamięć kasowalna i programowalna elektrycznie) i może być uaktualniana software’owo. Aktualizacja niesie jednak ryzyko — jeśli coś pójdzie źle w trakcie tego procesu, pozostanie nam już tylko bezpośrednie zajęcie się sprzętem.
Z drugiej strony, nowy BIOS to na ogół zwiększenie wydajności komputera.

Przywracanie BIOS-u
Niektóre płyty główne są wyposażone w zabezpieczenia, które rozpoczynają procedurę odtwarzania BIOS-u
w przypadku wadliwie przeprowadzonego uaktualnienia. Wystarczy wskazać tylko odpowiedni plik do odtworzenia.

Korzystny Tuning
Najlepsze rezultaty daje overclocking procesora. W tym celu wystarczy
w menu BIOS-u »Advanced | Jumper Free Configuration | CPU Frequency« wstawić wartość o 20 MHz wyższą. Zwróćmy jednak uwagę, aby temperatura procesora pozostała na poziomie 60°C, a przy pełnym obciążeniu nie przekroczyła 90°.
Zwiększenie wydajności możemy także uzyskać poprzez prawidłową konfigurację pamięci RAM. W menu »Advanced | Chipset | North Bridge Configuration« redukujemy »CAS Latency« do “3”. Jeśli po tej zmianie Windows nie będzie się chciał uruchomić, ustawiamy w tej pozycji wartość “4”. W podobny sposób postępujemy z pozycjami »RAS# to CAS# Delay« oraz »RAS# Precharge«. Następnie pod pozycją »RAS# Activate to Precharge« wpisujemy “10”. Zasadą wyżej przytoczonych ustawień jest to, że im mniejsze wartości podamy, tym system będzie pracował szybciej.

4,8200 s

BIOS testuje poprawność przydzielania

i adresowania pamięci RAM w obrębie jej pierwszego megabajta. W tym celu procedura POST zapisuje do pamięci przykładowe dane i później porównuje je z wzorcowymi. Następnie sprawdzane są interfejs graficzny i karta grafiki – BIOS sprawdza,

z jakim typem układu wideo ma do czynienia, a później przeprowadza serię testów karty i monitora. Dopiero teraz, gdy pojawią się jakieś błędy, komunikaty o nich zostaną wyświetlone na ekranie.

5,0200 s

Następny w kolejności jest kontroler DMA (Direct Memory Access – bezpośredni dostęp do pamięci). Procesor i pamięć RAM połączone są szyną danych na płycie głównej poprzez tzw. mostek główny. Większość transakcji na szynie danych odbywa się pomiędzy tym mostkiem a pozostałymi peryferiami. Aby dane pochodzące z urządzeń zewnętrznych przetwarzane były jak najszybciej, powinny być obsługiwane bezpośrednio przez mostek i dostarczane do pamięci RAM bez “objazdów”. Do przetestowania tego procesu BIOS używa przykładowych danych, które zapisuje w pamięci.

Choć interfejs klawiatury został już przetestowany, to jeszcze teraz BIOS może wykryć wadliwe działanie tego urządzenia. W tym momencie jest bowiem aktywowany klawisz [NumLock], który pozwala na używanie panelu przycisków numerycznych znajdujących się z prawej strony zasadniczej części klawiatury.

7,6300 s

Nadszedł czas na ostatni test. Zanim BIOS, poprzez przerwanie 19, przekaże kontrolę boot loaderowi, musi poddać kontroli sterownik dysku, dysk twardy oraz jego połączenia. Boot loader jest  bowiem odpowiedzialny za załadowanie i rozruch systemu operacyjnego, monitoruje transfer danych z dysku twardego poprzez właściwy kontroler. Niektóre wersje BIOS-u udostępniają opcję pozwalającą wyłączyć IRQ19. Jest to jednak przydatne tylko wtedy, gdy w komputerze znajduje się dodatkowy kontroler dyskowy, na przykład sterownik macierzy RAID.

Jeśli któryś z opisanych testów nie zakończy się powodzeniem, komputer poinformuje o tym kilkoma krótkimi sygnałami dźwiękowymi, może też wyświetlić na ekranie komunikat o błędzie. Aby je zrozumieć, trzeba sięgnąć do tablic dostępnych w Internecie, które pozwolą zawęzić obszar poszukiwania źródła usterki. Jeśli chcemy dowiedzieć się dokładnie, który komponent zawiódł, pomocna będzie specjalna karta diagnostyczna (kosztuje kilkadziesiąt zł). Taką kartę wystarczy włożyć w wolny slot na płycie głównej, po czym wyświetli ona numeryczny kod błędu. Po sięgnięciu do tabeli kodów błędów z łatwością odczytamy, jaki typ usterki się za nim kryje

i jakiego podzespołu dotyczy.

12, 4300

12, 4300

12,4300 s

Jeśli wszystko jest w porządku, komputer wyda tylko krótkie “bip”, po czym rozpocznie uruchamianie systemu operacyjnego ze wskazanego w BIOS-ie nośnika. Jeśli błąd pojawi się dopiero teraz, będzie on najczęściej spowodowany brakiem MBR (Master Boot Record – główny sektor rozruchowy). Gdy zobaczymy komunikat o tym  błędzie, możemy spróbować naprawić system.

W przypadku Windows XP startujemy komputer z płyty instalacyjnej CD i uruchamiamy Konsolę odzyskiwania. Następnie wpisujemy polecenie “fixmbr” i ponownie uruchamiamy komputer.

Jeśli korzystamy z Windows Vista, wystarczy, że uruchomimy peceta z instalacyjnego DVD i uruchomimy opcję odzyskiwania systemu. Jeśli to nie poskutkuje, wpisujemy w wierszu poleceń komendę “bootrec /fixmbr”. Brak pozytywnej reakcji nie oznacza jeszcze konieczności reinstalacji Windows. W Viście, zamiast ostrzeżenia o brakującym pliku NTLDR, możemy na czarnym ekranie zobaczyć tylko migający kursor. W tym przypadku, korzystając

z wiersza poleceń opcji odzyskiwania systemu, wpisujemy następujące komendy:

c:

cd•boot

attrib•c:bootbcd•-s•-h•-r

ren•c:bootbcd•bcd.old

bootrec•/rebuild

W przypadku Windows 7 uruchamiamy komputer z płyty instalacyjnej systemu

i odtwarzamy boot sektor za pomocą odpowiedniej funkcji naprawczej. Znajdziemy ją na początku procedury instalacyjnej systemu. Zwróćmy uwagę na właściwą kolejność sekwencji bootowania w BIOS-ie. Obsługa IRQ19 powinna być już poprawna, czego efektem będzie bezproblemowe uruchomienie się systemu operacyjnego.

EFI-X

EFI-X

Mac OS X na pececie dzięki EFI-BIOS

Producenci sprzętu nie są przekonani do EFI (Extensible Firmware Interface), będącego następcą BIOS-u, mimo że komputery Apple używają EFI od lat. MSI jako pierwsze wyposażyło dwa modele płyt głównych w EFI, jednak żaden nie doczekał się kontynuacji. Zainteresowanie wykazuje też Asus, który udostępnił EFI do jednego z modeli płyty głównej. Wielką zaletą EFI jest to, iż można wybrać system operacyjny, jaki chcemy zainstalować na swoim komputerze — nie będzie problemu nawet z Mac OS X.

Jak z peceta zrobić MaCa
Nową wersję BIOS-u można zamówić jako tzw. moduł EFI-X (www.efi-x.com). Jest to niewielka kostka (tzw. dongle) podłączana do wewnętrznego portu USB komputera, której zadaniem jest “udawanie”, że mamy do czynienia z Apple’em. Dzięki temu system operacyjny Mac OS X może zostać zainstalowany na dowolnym komputerze, nawet jeśli nie jest on wyposażony w EFI-BIOS. Niestety moduł EFI-X współpracuje tylko ze ściśle określonymi podzespołami i żadnymi sztuczkami nie da się tego ominąć. Przede wszystkim działa wyłącznie z procesorami Intela. Jeśli zaś chodzi o płytę główną, to musi być ona produkcji Gigabyte lub DFI. Moduł nie stawia wymagań karcie graficznej — może to być nVidia lub ATI. Jeśli chcemy podłączyć EFI-X do zewnętrznego portu USB, musimy jeszcze dokupić specjalny adapter. Teraz wystarczy tylko włożyć do czytnika płytę z systemem Mac OS X (www.apple.pl) i rozpocząć instalację.

Firmware znajdujący się w module EFI-X może być w prosty sposób aktualizowany przez Internet. Umożliwia to stopniowe poszerzanie bazy współpracujących z nim podzespołów.

Więcej:biostrendy