Basic Input Output System (BIOS)
Das BIOS ist als einziges Programm in der Lage, direkt mit der Hardware zu kommunizieren.
Dazu werden Befehle in Register geschrieben, die dann von den einzelnen Hardwarekomponenten
ausgeführt werden.
Der Programmcode des BIOS befindet sich in einem ROM-Baustein auf dem Motherboard.
ROM bedeutet "Read Only Memory". Der Programmcode des BIOS lässt sich also nicht
verändern. Heute werden in der Regel Flash-EEPROMs
(Electically Eraseable, Programable, Read Only, Memory)
eingesetzt, die durch ein spezielles
Tool gelöscht und neu beschrieben werden können. Auf diese Weise wird das sogenannte
BIOS-Update ausgeführt.
Nach dem Einschalten des Computers, überprüft das BIOS die Funktionsfähigkeit des CMOS.
CMOS steht für "Complementary Metal Oxide Semiconductor" und speichert die im BIOS
getätigten Einstellungen. Allerdings speichert das CMOS diese Informationen nur solange,
wie es von der Batterie des Mainboards mit Strom versorgt wird.
Beim Entfernen der Batterie gehen alle Einstellungen des BIOS verloren. Auf diese Weise
lässt sich auch ein vergessenes BIOS-Passwort zurücksetzen.
Sobald der Computer hochfährt, werden die Informationen aus dem CMOS ausgelesen.
Dann beginnt das BIOS mit dem Power On Self Test (POST). Dieser läuft wie folgt ab:
- CPU
Zuerst werden vom BIOS die Error Flags in der CPU gesetzt, überprüft und zurückgesetzt.
Mögliche Fehlerquelle/n: die CPU oder der Clock Chip.
- Initialize Support Chips
Das BIOS schaltet Video, Parity DMA und NMI ab, initialisiert dann die PIT, PIC und
DMA Chips. Mögliche Fehlerquelle/n: ein Defekt der PIT, PIC oder DMA Chips.
- Refresh
Das BIOS testet die Refresh Fähigkeit des PIT Chips. Mögliche Fehlerquelle/n: die
PIT oder DMA Chips.
- Initialize Keyboard
Das BIOS initialisiert den Tastatur Controller und die Tastatur. Mögliche
Fehlerquelle/n: die Tastatur oder der Controller.
- ROM BIOS Test
Das BIOS erzeugt eine Prüfsumme der eigenen Daten und vergleicht das
Ergebnis mit einem Vorgabewert, die Prüfung muss 00 ergeben. Mögliche
Fehlerquelle/n: das ROM BIOS.
- CMOS Test
Das BIOS erzeugt einen Test des CMOS Chips. Dieser Test soll auch eine defekte
Batterie erkennen. Mögliche Fehlerquelle/n: entweder der CMOS Chip oder die Batterie.
- Memory Test
Das BIOS testet die ersten 356K des Speichers, mit einigen Routinen in den Chipsets.
Mögliche Fehlerquelle/n: der Speicher.
- Cache Initialisierung
Das BIOS aktiviert jeden externen Cache. Mögliche Fehlerquelle/n: der Cache
Controller oder die Chips.
- Initialize Vector Table
Das BIOS initialisiert die Interrupt Vektoren und installiert die Interrupt
Tabelle in den unteren Speicherbereich. Mögliche Fehlerquelle/n: das BIOS oder
der untere Speicherbereich.
- CMOS RAM Test
Das BIOS erzeugt eine Prüfsumme des CMOS RAM und lädt die BIOS Standardwerte,
falls die Prüfsumme falsch ist. Mögliche Fehlerquelle/n: das CMOS RAM.
- Tastatur Initialisierung
Das BIOS initialisiert die Tastatur und setzt die NumLock auf on. Mögliche
Fehlerquelle/n: entweder der Tastatur Controller oder die Tastatur.
- Video Test
Das BIOS testet und initialisiert den Video Adapter. Mögliche Fehlerquelle/n: der
Video Adapter.
- Video Speicher
Das BIOS erzeugt einen Test des Video Speichers bei Monochrome und CGA Adaptern.
Mögliche Fehlerquelle/n: die Adapterkarte.
- DMA Test
Das BIOS erzeugt Tests auf dem DMA Controller und den Page Registern.
Mögliche Fehlerquelle/n: die DMA Chips.
- PIC Tests
Das BIOS erzeugt eine Reihe von Tests auf den 8259 PIC Chips.
Mögliche Fehlerquelle/n: Problem mit den PIC Chips.
- EISA Mode Test
Das BIOS erzeugt eine Prüfsumme im erweiterten Daten Bereich des CMOS. In diesem
Bereich sind die EISA Informationen gespeichert. Ist der Test positiv, wird der
EISA Adapter initialisiert. Tritt ein Fehler auf, werden die ISA Tests weiter durchgeführt
und der EISA Adapter nicht initialisiert.
- Enable Slots
Das BIOS schaltet die Slots 0 - 15 für EISA Adapter ein, falls der vorherige Test
positiv war. War der vorherige Test negativ, wird dieser Test übersprungen.
- Memory Size
Das BIOS schreibt in alle Adressen über 256K in 64K Blöcken und initialisiert
jede gefundene Adresse. Wenn ein Bit innerhalb eines Blockes defekt ist, wird dieser
Block und alle weiteren nicht gesehen.
- Memory Test
Das BIOS erzeugt Schreib/Lese Tests im gesamten gefundenen Speicher über 256K.
Mögliche Fehlerquelle/n: ein defektes Bit im RAM. Die Bit-Adresse wird nicht angezeigt.
- EISA Memory
Initialisiert das BIOS die EISA Slots, wird der Speicher jedes Adapters in den Slots
getestet. Mögliche Fehlerquelle/n: die Speicher Chips auf einem der EISA Adapter.
- Mouse Initialisierung
Das BIOS sucht nach einer Maus und installiert die entsprechenden Interrupt Vektoren,
falls eine gefunden wurde. Mögliche Fehlerquelle/n: der Maus Adapter.
- Cache Initialisierung
Das BIOS initialisiert den Cache Controller, falls vorhanden. Mögliche Fehlerquelle/n:
der Cache Controller Chip.
- Shadow RAM Setup
Das BIOS schaltet jedes Shadow RAM ein, das in CMOS Setup angegeben ist.
Mögliche Fehlerquelle/n: ein falsches Setup.
- Floppy Test
Das BIOS testet und initialisiert den Floppy Controller und die Laufwerke.
Mögliche Fehlerquelle/n: der Controller oder ein Laufwerk.
- Hard Drive Test
Das BIOS testet und initialisiert die Festplatte und den Controller. Mögliche
Fehlerquelle/n: ein falsches Setup, ein defekter Controller oder die Festplatte.
- Seriell/Parallel
Das BIOS initialisiert jeden seriellen und parallelen Port, der auf den richtigen
I/O Ports gefunden wurde. Mögliche Fehlerquelle/n: eine falsche I/O Einstellung oder
eine defekte Einheit.
- Math Coprozessor
Das BIOS initialisiert den Math Coprozessor, falls dieser gefunden wurde.
Mögliche Fehlerquelle/n: bei der Initialisierung ist normalerweise ein falsches
CMOS Setup oder ein defekter Coprozessor Chip.
- Boot Speed
Das BIOS setzt die Standard Geschwindigkeit mit der der Computer startet.
- Manufactoring POST Loop
Das BIOS startet das System neu, falls der Loop-Pin gesetzt ist. Ist der Pin nicht
gesetzt, wird der POST weitergeführt und jeder weitere Fehler wird am Bildschirm sowie
dem I/O Port angezeigt.
- Security Check
Das BIOS fragt nach dem Passwort, falls eines installiert wurde. Falls das BIOS
nach dem Passwort fragt, obwohl keines installiert ist, sind die CMOS Daten
durcheinander oder der CMOS Chip ist defekt.
- Write CMOS
Das BIOS wartet, während die CMOS Einträge aus dem Setup in das CMOS RAM geschrieben
werden. Mögliche Fehlerquelle/n: eine falsche CMOS Konfiguration.
- Preboot
Das BIOS wartet, während die CMOS Einträge aus dem Setup in das CMOS RAM geschrieben
werden.
- Adapter ROM Initialisierung
Das BIOS initialisiert jedes gefundene ROM zwischen C800:0 und EFFF:F. Das Adapter
ROM testet und initialisiert jede angeschlossene Einheit, bevor es die Kontrolle an das
System BIOS zurück gibt. Mögliche Fehlerquelle/n: der Adapter oder eine angeschlossene
Einheit.
- Setup Time
Das BIOS setzt die CMOS Zeit auf den Eintrag bei 40 h des BIOS Datenbereiches.
- Boot System
Das BIOS gibt die Kontrolle an Int 19 Boot Loader. Mögliche Fehlerquelle/n: falsches
Setup oder durch Software generiert.
- BOOT ERRORS
Wenn das BIOS diesen Punkt erreicht, wird versucht, vom Diskettenlaufwerk zu starten.
Fehler im Boot Code auf der Festplatte erzeugen ein Aufhängen des Systems an diesem Punkt.
Das hier gewählte Beispiel bezieht sich auf das Award BIOS. Es kann zwischen den Herstellern
geringe Abweichungen geben.
Das BIOS Setup ist in verschiedene Optionsgruppen untergliedert. Hier vorgenommene Einstellungen
sollten gut durchdacht sein und Änderungen sollten nur dann gemacht werden, wenn man sich
seiner Sache wirklich sicher ist. Hier nun die einzelnen Funktionsgruppen und ihre
Bedeutung:
| Setup - Optionsgruppe |
Bedeutung |
| Standard CMOS-Setup |
In diesem Bereich des BIOS werden grundlegende Einstellungen vorgenommen.
Die Systemzeit und das Datum kann hier geändert werden. IDE/EIDE Festplatten
und andere Laufwerke werden hier erkannt bzw. manuell konfiguriert.
Früher wurde hier auch der installierte Hauptspeicher angegeben, dieser
sollte bei moderneren Mainboards jedoch automatisch erkannt werden. |
| BIOS-Features-Setup |
Hier kann der Selbstest (POST) konfiguriert werden, die Tastaturgeschwindigkeit
und die Bootreihenfolge der Laufwerke festgelegt werden. Auch IDE HDD Block Mode
und Speicher Shadowing kann hier aktiviert werden, wodurch die Performance
verbessert werden kann. |
| Chipset Features Setup |
Die hier vorgenommenen Einstellungen sollten besonders gut durchdacht sein, da
die Auswirkungen auf die Systemstabilität unter Umständen sehr hoch sind.
Hier lassen sich Einstellungen für die Geschwindigkeit des Hauptspeichers
und des Caches vornehmen. Weiter gibt es hier Optionen, die das Verhalten
des Bussystems beeinflussen und die Konfiguration der seriellen und parallelen
Schnittstellen. Für die Festplatten kann hier der PIO-Mode eingestellt werden. |
| Power-Management Setup |
Im Powermanagement-Setup des BIOS werden sämtliche Stromsparfunktionen
eingestellt. So kann man den Monitor nach einer bestimmten Zeit automatisch
in den Standby Modus schalten lassen. Genauso erhält die Festplatte weniger
Strom, wenn länger keine Zugriffe verzeichnet wurden. Auch der Coprozessor
kann über das Power-Management abgeschaltet werden. |
| Plug&Play-Setup |
Hier können Einstellungen getätigt werden, um die Interrupts und DMA-Channel
den angeschlossenen Geräten zuzuweisen. Normalerweise werden Plug and Play
Geräte automatisch mit den notwendigen Ressourcen versorgt, da dies aber
zu Fehlern führen kann, oder erst gar nicht funktioniert, kann man hier
alles manuell zuweisen. Wer ausschließlich moderne Hardware einsetzt, sollte
hier in den wenigsten Fällen selbst konfigurieren müssen. |
| Integrated Peripherals |
Bei einigen BIOSen sind die Einstellungen für die Schnittstellen in
einem gesonderten Bereich zusammengefasst. Es ist möglich das dieses Optionsmenü
bei dem ein oder anderen BIOS nicht existiert und die Einstellungen
über die anderen Optionsgruppen verteilt sind. |
Außerdem gibt es die Punkte "Load BIOS Defaults" und "Load Setup Defaults".
Load BIOS Defaults bedeutet, dass einfach nur die grundlegenden BIOS-Einstellungen
wiederhergestellt werden. Das System ist bei weitem nicht so performant, wie
es sein könnte, aber es sollte auf jeden Fall stabil laufen.
Load Setup Defaults stellt die aus Sicht des Herstellers beste Konfiguration her.
Dabei ist immernoch von einem stabilen System auszugehen, allerdings wurde hier
bereits auf Performance geachtet. Doch auch hier lässt sich noch tunen, da der Hersteller
den Einsatz aller möglicher Hardware berücksichtigt. Wer sein System gut kennt,
kann auch hier noch einiges verbessern.
|