MOV AH, 2; Setze-Cursor-Funktion MOV BH, 0; Seite 0 MOV DH, 2; Zweite Reihe MOV DL,12; Zwölfte Spalte INT 10H; Interrupt 10h Es wird deutlich, dass man ohne die genaue Kenntnis der Proze
Trang 1Kapitel 2 · Aufgaben und Funktionen des BIOS
001C0h der Interrupt 70h für die Echtzeituhr/CMOS-RAM Ab der Adresse 00020H lassen sich diejenigen Interrupts finden, die sich auf Hardware-Komponenten beziehen (IRQ0–IRQ7) So befindet sich der Interrupt IRQ 7 für die erste parallele Schnittstelle (Interrupt 0Fh) unter der Adresse 003Ch
Die BIOS-Interrupt-Vektoren sind ab Adresse 00040h bis maximal Adresse 0007Fh abgelegt Der wichtigste ist der BIOS-Urlader-Interrupt (Interrupt 19h) Er befindet sich unter der Adresse 00064h Beim Aufruf dieses Interrupts wird versucht, das Betriebssystem von Diskette oder Festplatte zu laden Der Datentransfer vom Programm zum BIOS-Inter-rupt erfolgt dabei über die Prozessorregister In der Tabelle 2.1 sind die BIOS-Interrupts zur Übersicht angegeben
BIOS-Interrupt Funktion
INT 00h Divisionsfehler INT 01h Einzelschrittmodus INT 02h Non Maskable Interrupt, NMI INT 03h Unterbrechung, Breakpoint
INT 05h Print Screen INT 06h ungültiger Opcode
INT 08h IRQ 0, System Timer INT 09h IRQ 1, Tastaturdaten verfügbar INT 0Ah IRQ 2, Drucker 2, IRQ 9
INT 0Dh IRQ 5, Festplatte INT 0Eh IRQ 6, Diskettenlaufwerk INT 0Fh IRQ 7, Drucker 1
INT 11h Systemkonfigurationstest INT 12h Speichergröße
Tab 2.1: BIOS-Interrupts im Überblick
Trang 2INT 13h Laufwerke INT 14h serielle Schnittstellen INT 15h diverses, System-Service, ACPI
INT 18h Boot-Fehler, sekundärer Urlader INT 19h Primärer Urlader, Bootstrab Loader INT 1Ah Echtzeituhr mit Kalender (RTC), PCI-I/O-Funktionen INT 1Bh Control Break
INT 1Dh Grafik-Parameter INT 1Eh Parameter für Diskettenlaufwerk INT 1Fh Grafikzeichen (Character) INT 40h Diskettenlaufwerkstyp INT 41h Parameter der ersten Festplatte INT 46h Parameter der zweiten Festplatte INT 4Ah User Clock Alarm, RTC INT 70h IRQ 8, Real Time Clock
INT 74h IRQ 12, P/S 2-Maus INT 75h IRQ 13, mathematischer Coprozessor INT 75h IRQ 14, erster Festplattencontroller INT 77h IRQ 15, zweiter Festplattencontroller;
kann bei AMI auch Power-Down-Interrupt sein INT 78h-FFh Unterschiedliche Verwendung, DOS- und
Treiber-Inter-rupts
BIOS-Interrupt Funktion
Tab 2.1: BIOS-Interrupts im Überblick (Forts.)
Trang 3Kapitel 2 · Aufgaben und Funktionen des BIOS
Neben den BIOS-Software-Interrupts gibt es die DOS-Interrupt-Vekto-ren, die im Prinzip genauso wie die BIOS-Interrupts geladen und einge-setzt werden Sie beziehen sich nicht direkt auf das BIOS, sondern auf DOS-Funktionen Zu den DOS-Interrupt-Vektoren (00080h–000FFh) gehört beispielsweise der Aufruf für das Beenden eines DOS-Programms (Interrupt 20h) unter der Adresse 00080h
Zur Ablage verschiedener Schnittstellenparameter wird ein BIOS-Daten-bereich benötigt, der sich ab Adresse 00400h befindet Unter dieser Adresse findet man diejenige für die erste serielle Schnittstelle An diesen BIOS-Datenbereich (00400h–004FFh) schließt sich der DOS-Datenbe-reich (00500h–005FFh) an Hier befinden sich die Daten und Adressen für das DOS-Betriebssystem
Die einzelnen BIOS-Interrupts mit ihrer Vielzahl an Funktionen sollen hier nicht detailliert behandelt werden Wie man programmtechnisch die Ansteuerung der Grafikkarte mithilfe des Interrupt 10h durchführen kann, soll jedoch als kurzes Beispiel zur Verdeutlichung des Funktions-prinzips angegeben werden
Enthält das Prozessorregister AH = 2, ist dies die Funktion zum Positio-nieren des Cursors Mit den Registern DH und DL wird der Cursor an die gewünschte Stelle auf derjenigen Seite gesetzt, welche durch den Inhalt des Registers BH bestimmt wird
MOV AH, 2; Setze-Cursor-Funktion MOV BH, 0; Seite 0
MOV DH, 2; Zweite Reihe MOV DL,12; Zwölfte Spalte INT 10H; Interrupt 10h
Es wird deutlich, dass man ohne die genaue Kenntnis der Prozessorregis-ter und BIOS-Funktionen mit ihren zahlreichen ParameProzessorregis-tern kaum einen Zugang zu den BIOS-Interna erlangen wird, ganz davon abgesehen, dass diese Art der Programmierung ein eher mühsamer Weg ist und der Umgang mit einem Assembler (Programmiersprache für Maschinenbe-fehle, siehe vorangegangenes Listing) auch gelernt sein will In früheren Zeiten wurden die BIOS- und DOS-Interrupts intensiv von den Program-mierern eingesetzt Da DOS-Programme jedoch mittlerweile keine Rolle mehr für Neuentwicklungen spielen, wird ein Windows- oder auch Linux-Programmierer in der Regel die jeweils systemeigenen Software-schnittstellen einsetzen und keine BIOS-Routinen Der PC-Anwender hat demnach mit den BIOS-Routinen direkt nichts zu tun und muss sich letztendlich darauf verlassen können, dass sie ihre vorgesehene Funktion erfüllen, was in der Praxis mitunter jedoch nicht der Fall ist, sodass ein BIOS-Update (vom Mainboard-Hersteller) angeraten wird
Jeder PC-Anwender sollte sich jedoch mit dem BIOS-Setup auskennen, was gewissermaßen die Anwenderseite des BIOS darstellt Setup bedeutet
einstellen, und jeder, der Windows schon einmal installiert hat
(Windows-Setup) oder dem System auch nur eine zusätzliche Einheit bekannt machen musste, weiß, was damit gemeint ist Das System ist so einzustellen, dass alle PC-Hardware-Einheiten optimal genutzt werden können, was in der Praxis allerdings nicht immer (sofort) funktioniert
Trang 4Dies kann an fehlerhaften Windows-Treibern liegen oder auch daran, dass die PC-Einheiten, die im PC stecken, dem Betriebssystem nicht in korrekter Art und Weise oder auch überhaupt nicht bekannt gemacht worden sind
2.4 BIOS-Setup im Überblick
Da der BIOS-Setup in diesem Buch noch ausführlich behandelt wird,
werden nachfolgend unter dem Gesichtspunkt Aufgaben und Funktionen
des BIOS einige allgemeinere Erläuterungen aufgeführt Keine
grundle-gende PC-Hardware, wie z.B die Laufwerke, wird funktionieren, wenn hierfür kein (korrekter) Eintrag im CMOS-RAM vorhanden ist Mithilfe des BIOS-Setup-Programms, das durch eine bestimmte Taste oder auch Tastenkombination aufgerufen wird, sind die entsprechenden Hard-ware-Einstellungen vorzunehmen, die anschließend im CMOS-RAM abgespeichert werden Die dabei einzustellenden Daten müssen stets mit der tatsächlichen Hardware-Ausstattung des PC übereinstimmen
Bevor das Betriebssystem bootet, wird üblicherweise ein Monitorbild aufgeblendet, welches den Hersteller des BIOS anzeigt und angibt, mit welcher Taste man in den BIOS-Setup gelangt Hierfür ist normalerweise die (Entf)- bzw (Del)-Taste zu betätigen Bei einer anders lautenden Taste oder auch Tastenkombination wird diese in der Regel auch kurz-zeitig aufgeblendet
Wie der nun erscheinende Setup-Bildschirm aussieht und was im Einzel-nen konfiguriert werden kann, hängt vom PC-Typ, der eingebauten Hardware und auch dem BIOS-Hersteller ab Was im BIOS-Setup an Optionen vorgesehen ist, hängt letztendlich auch davon ab, was der Mainboard-Hersteller jeweils für die Konfigurierung (durch den Anwen-der) freigegeben hat So kann es durchaus passieren, dass sich bei bau-gleichen Mainboards, beispielsweise der Firma Asus und Gigabyte, unterschiedliche Möglichkeiten finden lassen Falls die Mainboards tat-sächlich baugleich sind, kann es daher durchaus Sinn machen, auf einen
Bild 2.8: Vor dem Boot des Betriebssystems kann der BIOS-Setup aufgerufen
werden
Trang 5Kapitel 2 · Aufgaben und Funktionen des BIOS
anderen Hersteller auszuweichen, wie im Kapitel zum BIOS-Update näher erläutert ist
Die Mainboard-Hersteller erhalten vom BIOS-Hersteller für den betref-fenden Chipsatz eine BIOS-Version, bei der alle möglichen Einstellungen vorgenommen werden können Daraufhin werden nur diejenigen Optio-nen freigegeben – und erscheiOptio-nen somit auch als konfigurierbare Einträge
im Setup –, die der jeweilige Mainboard-Hersteller für nötig gehalten hat
Die Durchführung des BIOS-Setups ist durchaus auch mit Gefahren
ver-bunden, wobei sich die kritischeren Optionen im Advanced- oder
Chip-set-Setup finden lassen (dazu später mehr) Hat man es tatsächlich
ein-mal geschafft, dass der PC aufgrund nicht zutreffender Festlegungen überhaupt nicht mehr funktioniert, und kommt man auch nicht mehr an den BIOS-Setup heran, ist im schlimmsten Fall das CMOS-RAM kom-plett zu löschen Wie dabei vorzugehen ist, wird in Kapitel 13 beschrie-ben Wenn man Glück im Unglück hat, ist auf dem Mainboard ein Jum-per zu finden, der umzusetzen ist, woraufhin die ungefährlichen BIOS-Voreinstellungen (Default) automatisch aktiviert werden Dieser Jumper ist danach natürlich wieder in die Normalstellung zu setzen
Nachdem eine BIOS-Anzeige (siehe Bild 2.9) erschienen ist, ist es jedoch für den BIOS-Setup schon zu spät, und man muss einen Reset ausführen, was durch die Tastenkombination (Strg)+(Alt)+(Entf) oder einen Reset-Taster am PC ausgelöst wird Dieser sollte jedoch möglichst nicht gerade dann ausgelöst werden, wenn Windows sich bereits im Boot-Prozess befindet, da im ungünstigsten Fall (aktuell geöffnete) Dateien beschädigt werden könnten
Bild 2.9: Die BIOS-Anzeige der aktuellen Konfiguration beim PC-Boot
Trang 6Ein BIOS-Setup erstreckt sich in den meisten Fällen über mehrere
Bild-schirmseiten Die grundlegenden Einstellungen finden sich im Standard
CMOS Setup Je nach PC-Typ existieren erweiterte Setup-Funktionen im Advanced CMOS Setup, wie er bei AMI bezeichnet, oder im BIOS Fea-tures Setup, wie er bei Award genannt wird
Chipsatz-spezifische Festlegungen, die sich entsprechend dem verwende-ten Chipsatz auf dem Mainboard voneinander unterscheiden, werden
unter dem Advanced Chipset Setup (AMI) bzw unter Chipset Features
Setup (Award) angeboten Des Weiteren finden sich bei PCI-PCs hierfür
noch spezielle Einstellungsmöglichkeiten, für die es entweder eine
spezi-elle Seite gibt oder die in einem Advanced Setup mit abgelegt sind.
Die BIOS-Setup-Optionen unterscheiden sich in erster Linie jedoch nicht dadurch, welche CPU jeweils verwendet wird, sondern durch die Optio-nen, die der jeweilige Mainboard- bzw BIOS-Hersteller vorgesehen hat, und diese sind letztendlich wieder durch den Chipset vorgegeben CPU-spezifische Einstellungen haben einen eher geringen Anteil bei den im BIOS-Setup einzustellenden Daten Ob ein Pentium-MMX, Pentium 4 oder ein Athlon zum Einsatz kommt, spielt daher eher eine untergeord-nete Rolle
In Bild 2.10 ist ein typisches Eingangsmenü zu den einzelnen BIOS-Setup-Seiten dargestellt, wobei hier – je nach Version – auch weitere
Optionen möglich sein können, wie CPU Soft Menu oder Integrated
Peripherals Vielfach verstecken sich diese Optionen möglicherweise
auch im Chipset Features Setup, eine allgemeine Regelung gibt es hierfür
nicht Daher wird an dieser Stelle zunächst nur auf die grundsätzlichen Funktionen des BIOS-Setups eingegangen; eine detailliertere Beschrei-bung erfolgt in den nachfolgenden Kapiteln
Mit welchen Tasten man sich in den Setup-Seiten bewegt und die Einstel-lungen verändert, ist üblicherweise auf den einzelnen Seiten angegeben Mit den Pfeiltasten der Tastatur werden meist die einzelnen Einträge selektiert, über die Bildtasten werden die vorgegebenen Parameter
akti-Bild 2.10: Der Setup-Hauptbildschirm bei einem PC mit Award-BIOS
Trang 7Kapitel 2 · Aufgaben und Funktionen des BIOS
viert, und mit der (Esc)-Taste gelangt man zum BIOS-Setup-Hauptmenü oder verlässt den Setup
Stromsparfunktio-nen
mögli-cherweise auch für das Zusammenspiel mit den anderen Bussyste-men (AGP, ISA) des PC
BIOS-Setup-Voreinstellun-gen, die im Notfall zu aktivieren sind, wenn man alles »verkonfigu-riert« hat Es werden lediglich einige grundlegende Einheiten – mit-unter auch falsch – aktiviert Eine manuelle Nachbesserung ist danach unbedingt durchzuführen
Zugriffen zu schützen Ob die Passwortabfrage nach jedem Einschal-ten des PC oder nur nach dem Aufruf des BIOS-Setup stattfinden
soll, wird unter Security Option im BIOS Features Setup festgelegt
Festplatten-parameter, die vom Standard CMOS Setup übernommen werden Diese nützliche Funktion ist oftmals auch unter Hard Disk Utility zu
finden Diese Funktion lässt sich den im BIOS integrierten Diagnose- und Testfunktionen zuordnen Bei aktuellen BIOS-Setups werden
über eine Auto Detection auch alle anderen IDE-Einheiten (z.B CD/
DVD-Laufwerke) detektiert und automatisch eingetragen Mitunter ist in einem BIOS-Setup, wie z.B beim Award-Medallion-BIOS (siehe Bild 2.7), keinerlei manuell auszulösende automatische Lauf-werksdetektierung zu finden Gleichwohl ist sie dennoch vorhanden – sie taucht nur nicht als extra Menüpunkt auf –, und die Laufwerke werden unmittelbar auf der Standard-CMOS-Setup-Seite angezeigt Falls dies nicht funktionieren sollte, ist ein Anschluss- oder Konfigu-rationsfehler (Master/Slave-Zuordnung) zu vermuten
betrach-teten BIOS-Setup zwar nicht vorhanden, kann aber bei anderen, meist älteren Versionen implementiert sein und gehört ebenfalls zu den integrierten Diagnose- und Testfunktionen eines BIOS Es ent-hält einige »gefährliche« und mitunter auch nicht mehr zeitgemäße Funktionen Die hier oftmals abgelegte Funktion zur Low-Level-For-matierung von Festplatten sollte nur dann angewendet werden, wenn
an der Festplatte ohnehin nichts mehr verdorben werden kann Die üblichen (E)IDE-Festplatten sollten grundsätzlich nicht Low-Level
formatiert werden, da die bei der Festplattenherstellung als defekt
markierten und gesperrten Plattenbereiche dadurch wieder freigege-ben werden könnten Bei einem späteren Zugriff (eventuell nach
Trang 8Monaten, je nach Datenaufkommen) auf diese Bereiche können dann erhebliche Datenfehler auftreten, was so weit gehen kann, dass die Festplatte komplett ihren Dienst verweigert Nur falls der Fest-plattenhersteller nicht explizit den Gebrauch der Low-Level-Format-Funktion erlaubt und/oder die Festplatte nicht anderweitig (Disc Doctor Utilities u.Ä.) wieder zum Laufen zu bringen ist, sollte diese Funktion verwendet werden
CMOS-RAM sichern und den Setup verlassen Zusätzlich wird eine Bestäti-gung mit der Taste (Z) für Y(es) verlangt, da der deutsche Tastatur-treiber im Setup nicht geladen ist
zu speichern
2.5 Hardware-Monitoring
Zuvor wurden bereits zwei integrierte Funktionen der BIOS-Sektion
Dia-gnose- und Testfunktionen erwähnt, die im Grunde genommen nur
ein-mal beim BIOS-Setup angewendet werden und ansonsten im BIOS in Ruhe verweilen Anders sieht es mit dem Hardware-Monitoring aus, welches fast alle aktuellen Mainboards bieten, denn es finden sich hierfür ein oder auch mehrere Bausteine, die für die Überwachung von Spannun-gen, die Kontrolle der Lüfteraktivität und für die Messung verschiedener Temperaturen (CPU, interne Umgebung) vorgesehen sind
Bild 2.11: Hardware-Monitoring bei einem Award-Medallion-BIOS
Trang 9Kapitel 2 · Aufgaben und Funktionen des BIOS
Diese speziellen Bausteine werden gemeinhin als System-Monitoring-,
Supervisory- oder auch als System-Health-Chips bezeichnet Ein
ent-sprechendes BIOS bietet zur Festlegung von Grenzwerten für die zu über-wachenden Parameter meist eine extra Setup-Seite oder die Einstellungs-möglichkeiten finden sich mit anderen zusammen auf einer Seite wie z.B
im Chipset Features Setup-Menü (siehe Bild 2.12) Im BIOS sind
entspre-chende Routinen implementiert, die ständig durchlaufen werden und die gemessenen Werte dem BIOS selbst oder auch einem speziellen (Win-dows-)Programm zur Verfügung stellen können
Was sich an einzelnen Werten festlegen oder auch nur betrachten lässt, obliegt ebenfalls dem Mainboard-Hersteller, wobei es durchaus BIOS-Versionen gibt, bei denen außer einer Abschaltung bei Erreichen einer bestimmten CPU-Temperatur nichts weiter zu manipulieren ist Derart knapp gehaltene Konfigurationsmöglichkeiten können aber durchaus für Probleme sorgen, wenn das BIOS beispielsweise eine bestimmte Lüfter-drehzahl für den CPU-Kühler voraussetzt und ein anderer Lüfter einge-setzt wird, der zwar die notwendige Leistung erbringt, sich dabei jedoch langsamer dreht Dies veranlasst das BIOS dazu, dass der PC erst gar nicht startet, sondern mit einem Signalton stehen bleibt Bei einigen Mainboards der Firma Shuttle tritt dieses Phänomen beispielsweise auf Außerdem kommt es auch vor, dass sich Sensoren im BIOS-Setup ein-schalten lassen, die jedoch gar nicht vorhanden sind, und wer sie (schein-bar) aktiviert, erlebt beim nächsten Einschalten eine böse Überraschung: Der PC will daraufhin nicht mehr starten, und in den BIOS-Setup kommt man auch nicht mehr, um diesen Fehler wieder korrigieren zu können Als einziger Ausweg bleibt dann nur noch das Löschen des CMOS-RAMs, was meist durch das Umsetzen eines Jumpers auf dem Main-board zu bewerkstelligen ist
Einige Mainboard-Hersteller haben im BIOS bestimmte Grenzwerte für die mindestens erforderliche Lüfterdrehzahl oder auch die maximal zulässige CPU-Temperatur festgelegt Wenn diese Werte nicht von vornherein erfüllt werden – also unmittelbar nach dem Einschalten des
PC –, startet der PC erst gar nicht
Trang 10Zu Mainboards, die mit einem Supervisory-Chip ausgestattet sind, gehört vielfach auch ein entsprechender Treiber und eine mehr oder weniger komfortable Software (z.B SIV, System Information Viewer) zur Konfi-gurierung und Anzeige der einzelnen Überwachungsdaten unter Win-dows Zu einigen Boards wird beispielsweise eine Software auf der Basis des Intel LAN-Desk-Managers mitgeliefert (LDCM), die es zudem ermög-licht, die Daten des PC auch über ein Netzwerk abzufragen Im Fehlerfall wird dann ein entsprechender Alarm über das Netzwerk gesendet
Bild 2.12: Im rechten Teil werden auf dieser BIOS-Setup-Seite die Grenzwerte für das
Hardware-Monitoring festgelegt
Bild 2.13: Die Kontrolle der PC-Spannungen und weiterer wichtiger
PC-Betriebs-daten unter Windows mit dem Hardware-Monitor des System-Informa-tion-Viewers