BIOS-Tuning beim PC

A. Wiedeck


              

Das BIOS Basic Input Output System) ist eine Möglichkeit, dem Rechner auf die Sprünge zu helfen. Da es sehr viele verschiedene BIOS-Hersteller gibt, wollen wir uns hier auf das am weitesten verbreitete, das AMI-BIOS konzentrieren. Die erläuterten Einstellungen können teilweise auch auf die von anderen Herstellern produzierten Versionen angewandt werden. Auch beim AMI-BIOS gibt es mittlerweile eine kaum zu überschauende Vielfalt. Deshalb werden vorwiegend Einstellungen besprochen, die sich in den verschiedenen Versionen (auch von verschiedenen Herstellern) ähneln oder gleich sind. Aus Platzmangel können nicht alle Optionen erklärt werden, so daß man sich mit einer kleinen Auswahl begnügen muß . Beim Bearbeiten des BIOS ist groß e Vorsicht geboten, da bestimmte Einstellungen zur Zerstörung von Hardwarekomponenten führen können! Veränderungen sollten daher nur von versierten Personen durchgeführt werden. Aufrufen läßt sich das AMI-BIOS wie auch die meisten anderen BIOS-Arten beim Systemstart durch Niederhalten der Tast ENTF (engl. DEL). Auch mit spezieller Software kann man das AMI-BIOS modifizieren. Bevor man Ä nderungen im Setup vornimmt, sollte man sich unbedingt die aktuellen Einstellungen notieren, um bei Problemen wieder mit den alten Einstellungen arbeiten zu können, auch wenn sich mit einer speziellen Funktion ''Notparameter'' laden lassen.

Es folgt nun eine Aufstellung der Schalter und deren mögliche optimale Einstellung:

Above 1 MB Memory Test:

legt fest, ob der Speicher oberhalb von 1 MB beim PC-Start auf Fehler geprüft werden soll. Hier eine optimale Entscheidung zu fällen, ist schwer.

enabled:

Vorteil: Speicher wird bei jedem Kaltstart vom BIOS getestet, auch wenn dieser Test nicht sehr genau ist, so ist doch ein schwacher Test besser als keiner; Fehler können schon beim Starten erkannt werden, und nicht erst beim Ablauf eines Programmes.

Nachteil: Startvorgang wird je nach Speichermenge erheblich verzögert; Test läß t sich abbrechen, somit keine permanente Ü berwachung

-----> optimal (?): enabled

Zu beachten ist, daß hier kein externer Speichercheck stattfindet, wie ihn z.B. HIMEM.SYS aus MS-DOS 6.x ausführt.

Memory Parity Error Check:

Ist dieser Schalter eingeschaltet (enabled), so werden alle Speicherzugriffe mittels Prüfsumme auf Fehler überprüft. Diese Miniprüfsumme wird von einem 9. Bit, das auf den Speicherbausteinen vorhanden sein muß , erzeugt. Sollte auf den Speicherbausteinen dieses Parity-Bit fehlen, so ist in jedem Fall disabled einzutragen! Ist das 9. Bit vorhanden kann hier enabled eingetragen werden. Der Vorteil besteht in der schon erwähnten ständigen Prüfung der Speicherzugriffe. Kommt es häufig zu Abstürzen mit der Meldung Parity Error ..., kann dies auf fehlerhafte Speicherbausteine oder aber auf falsche Wait States hindeuten. Hierbei wird der PC rigoros vom BIOS angehalten. Es sind keine Tätigkeiten außer einem Kaltstart mehr möglich. Darin liegt auch der Nachteil dieser Einstellung. Würde hier disabled stehen, so werden, abgesehen von einem kleinen, kaum meßbaren Geschwindigkeitsgewinn, zwar die Speicherzugriffe nicht mehr überprüft, im Falle eines Fehlers kann man aber unter Umständen seine Arbeit (oder Teile davon) noch sichern, da dann auch meist ein Warmstart möglich ist.

-----> optimal (?): enabled

External Cache Memory:

Enabled schaltet die Benutzung des L2-Caches ein, sofern dieser vorhanden ist. Dies ermöglicht eine teils beträchtliche Leistungssteigerung gegenüber abgeschaltetem L2-Cache.

-----> optimal: enabled

Password Checking Option:

Hier sind drei Einstellungsmöglichkeiten vorhanden: Disabled, Setup, Always. Dies legt fest, ob das BIOS eine Paßwortabfrage (und auf welche Art) durchführen soll, oder nicht. Disabled schaltet diese aus, Always fragt sowohl nach Einschalten des Computers, als auch bei ''Betreten'' des BIOS. Beide sind ungeeignet. Jedoch ist es sehr nützlich, das Setup mit einem Paßwort zu versehen, um das Verstellen von Parametern Unbefugten zu verwehren.

-----> optimal: Setup

Memory Test Tick Sound:

Falls hier enabled eingetragen ist, so werden beim Hochzählen des Speichers Klickgeräusche ausgegeben. Disabled schont die Ohren und Lautsprecher.

-----> optimal: disabled

Floppy Drive Seek At Root:

Ist hier enabled (momentane Einstellung) eingetragen, so testet das BIOS bei jedem Start, ob die im CMOS eingetragenen Diskettenlaufwerke noch aktuell sind. Hier trägt man am besten disabled ein. Dies beschleunigt nicht nur den Startvorgang, sondern schont die Laufwerke (und die Ohren). Achtung: Bei einigen SCSI-Festplatten, kann dies zu Problemen führen, da die HD dann nicht schnell genug anläuft! Man sollte dann auf disabled verzichten.

-----> optimal: disabled

System Boot Up Sequence:

Hier wird die Reihenfolge der Geräte festgelegt, von denen gebootet werden soll. Ü blicherweise ist hier A:, C: eingetragen, was den Rechner veranlaß t zuerst von Laufwerk A: zu booten. Schlägt der Versuch fehl, findet er dort also kein Betriebssystem, wird versucht vom nächsten angegebenen Laufwerk, also C: zu booten. Hier ist sicherlich die beste Einstellung C:, A:. Dann wird zuerst versucht, von C: zu booten. Sollte dies aus irgendeinem Grund nicht möglich sein (defekter Bootsektor, ...) wird versucht von A: zu booten. Man kann dann in einem solchen Fall alle Tätigkeiten trotzdem ausführen und eventuell die Festplatte wieder ''heilen''. Neben der Schonung des Laufwerks (bei nicht eingelegter Diskette) wird auß erdem einer potentiellen Virenverseuchung durch Booten von einer verseuchten Diskette entgegengewirkt. Dies ist wohl der wichtigste Grund, C:, A: als Reihenfolge zu benutzen. Man stelle sich nur vor, man handelt sich so z.B. den Athenvirus ein ... Natürlich ist dies kein absoluter Virenschutz, doch dafür ist er kostenlos.

-----> optimal: C:, A:

Die Optionen, die den Teil ''... ROM Shadow ...'' enthalten, sollen im folgenden näher erläutert werden:

Frühere PCs (z.B. 8086er) waren in der Lage, nur maximal 1 MB zu adressieren. Davon wurden 384 KB für das System- und Zusatz-BIOS sowie Grafik-RAM abgezweigt. Die restlichen 640 KB konnten von einem Betriebssystem genutzt werden (daher auch die Restriktion, daß DOS auch heute noch nur maximal 640 KB verwalten kann). Heute werden PCs mit weitaus mehr Speicher ausgerüstet, welcher von anderen Betriebssystemen (oder Betriebssystemzusätzen, wie z.B. Windows) genutzt werden kann. Der Speicherbereich, der oberhalb von 640 KB (bis 1 MB) liegt, wird als Hoher Speicher bezeichnet. Hier wird z.B. ein Zusatz-BIOS, welches zur Ansteuerung der Grafikkarte dient, eingespiegelt. Um die Kompatibilität, auch zu alten Rechnern möglich zu machen, wird auch bei 'modernen' PCs, mit mehr als 1 MB RAM der Hohe Speicher vom BIOS und dem VGA-Video-RAM benutzt.

Unterhalb des BIOS-ROM und des VGA-Video-RAM befindet sich ein Teil des RAM, der für gewöhnlich nicht verwendet werden kann, da er vom ROM verdeckt wird. Um ihn dennoch zugänglich zu machen, gibt es zwei Möglichkeiten: das Memory-Remap und das Shadow-RAM. Das Remap bewirkt, daß die RAM-Adresse für das ungenutzte RAM von 640 KB zur Adresse 1 MB verschoben wird. Dadurch werden, je nach BIOS und Einstellung, bis 256-384 KB ''frei'', die dem Extended Memory zugeschlagen werden. Viel interessanter ist jedoch die Shadow-RAM Methode. Hier werden die Daten des ROM (enthält unter anderem das BIOS) ins RAM kopiert. Da die durchschnittliche Zugriffszeit auf das ROM ca. 150-300 ns dauert, der RAM-Zugriff aber nur 60-80 ns, kann man bis zu 500% mehr Geschwindigkeit beim Zugriff auf BIOS-Routinen erlangen. Verfügt der PC über einen Cache (natürlich nicht zu verwechseln mit einem Softwarecache), können diese Zugriffe weiter beschleunigt werden. Die Verwendung des Shadow-RAM kann aber auf einigen PCs z.B. mit SCSI-Adapter, Netzwerkkarte, ... zu Problemen führen. Dies liegt daran, daß einige Erweiterungskarten zur Beschleunigung des Datenaustausches sogenanntes Dual-Ported-RAM verwenden. Dieser Speicher wird von der Main-CPU und dem jeweiligen Karten-Prozessor zu Kommunikationszwecken verwendet. Sollten sich nun Shadow-RAM und Dual-Ported-RAM überschneiden, so kann das zu Fehlzugriffen führen. Es ist daher wichtig, zu wissen, welchen Bereich die Erweiterungskarten für sich im RAM beanspruchen und wie sie arbeiten. Um eine optimale Anpassung des BIOS zu erreichen, kann man dort einige Einstellungen vornehmen: ... ROM Shadow x000, y K bedeutet, daß ein je y KB groß er Bereich ab x000 (hex) vom ROM ins Shadow-RAM kopiert wird.

Video ROM Shadow C000, 16 K:

Video ROM Shadow C400, 16 K:

Sind beide Optionen auf enabled gestellt, wird das VGA-BIOS ab der Adresse C000 ins RAM kopiert. Es sind beide Schalter auf enabled zu stellen, da daß Grafikkarten-BIOS in der Regel 32 KB groß ist.

-----> optimal: enabled

System ROM Shadow F000, 64 K:

kopiert das System-BIOS, welches höchstens 64 KB groß ist, an die Adressse F000 -----> optimal: enabled

Automatic Configuration:

Diese Funktion sollte man abschalten, wenn man mit eigenen BIOS-Einstellungen arbeiten möchte, sonst registriert das BIOS zwar die Ä nderungen, die man vornimmt, sie werden jedoch nicht ausgeführt. Statt dessen, arbeitet das BIOS dann mit werksseitigen Einstellungen, bzw. ''erkennt'' bestimmte Hardwarekomponenten (CPU [+ Takt], ...) automatisch und stellt seine Arbeit darauf ein. Da diese nur selten optimal eingestellt sind, sollte man diesen Schalter nur bei Problemen betätigen.

-----> optimal: disabled

BUS Clock Selection:

Diese Option gehört, da sie auch groß en Schaden anrichten kann, mit zu den gefährlichsten Veränderungen, die im BIOS möglich sind.

Im folgenden möchte ich Ihnen zeigen, wie Fehlermeldungen diagnostiziert und analysiert werden können.

Memory-Test:
beim Zugriff ab 16-bit, besonders jedoch beim 32-bit Schreibzugriff auf den Speicher stürzt der Rechner regelmäß ig ab.
Video-Test:
ebenfalls wie beim Memory-Test Absturz des Rechners; weiterhin erschien einmal die Meldung des BIOS Parity Error.

Es scheint also alles auf einen Hardwarefehler (höchstwahrscheinlich im Speicherbereich) hinzudeuten. Denn der vom BIOS gemeldete Fehler zeigt an, daß es sich um einen Paritätsfehler handelt. Das BIOS selbst weiß jedoch nicht, welcher Natur er ist (die drei Fragezeichen). Es kommen also zwei Möglichkeiten für diesen Fehler in Frage: der On Board Parity Error und der Off Board Parity Error. Beim On Board Parity Error handelt es sich, wie der Name schon sagt, um einen Fehler in den Speicherbausteinen der Hauptplatine, beim Off Board Parity Error um einen Error in einer der Erweiterungskarten. Obwohl es fast abzusehen ist, woher der Fehler rühren könnte, ist es dennoch nötig, beide eventuellen Fehlerquellen zu analysieren.

Der Parity-Error trat nur beim Videotest auf. Somit löst höchstwahrscheinlich die Grafikkarte den Fehler aus. Um die Fehler genauer zu analysieren, wurde das Programm Norton SI benutzt, welches eine sichere Diagnose erlaubt. Wie schon fast zu erwarten, fällt die Ü berprüfung negativ aus. Es wurden keine Fehler in den Speicherbausteinen gefunden. (Achtung: Die folgenden Feststellungen gelten insbesondere für die Computer mit ISA-Technologie. Es gibt andere Systeme, auf denen der Bus anders getaktet wird.)

Daraus ergibt sich als letzte Möglichkeit eine falsche BIOS-Einstellung, da nur das BIOS (bis auf wenige Ausnahmen) in der Lage ist, die Hardware direkt zu steuern. Da der Fehler durch den Video-Test ausgelöst wurde, jedoch keine fehlerhaften Speicherbausteine oder Fehler beim Schreiben oder Lesen auftraten, kann es sich also nur noch um ein ''Taktproblem'' handeln. Dies bedeutet, daß der Takt auf dem Bus zu hoch ist und hier die Grafikkarte nicht mehr mithalten kann, so daß es zu internen Speicherkonflikten kommt und die Miniprüfsumme, die mit dem 9. Bit erzeugt wird, nicht mehr stimmt. Die Frequenz des Busses, auf dem die Erweiterungskarten sitzen, wird von der Einstellung im erweiterten Setup des BIOS bestimmt. Weiterhin gib es auf dem Mainboard einen kleinen Chip, den sogenannten DMA-Controller (DMA=Direct Memory Access, also direkter Speicherzugriff), dessen Frequenz vom Bustakt bestimmt wird. In einigen BIOS-Versionen kann der DMA-Takt ''getrennt'' vom Bustakt geregelt werden. Ein zu hoher Takt des Busses und damit des DMA-Controllers kann aber zur endgültigen Zerstörung des DMA-Chips führen. Deshalb gilt als Faustregel DMA-Takt = 1/2-Bustakt. Die durch die Erhöhung des Bus/DMA-Taktes gewonnene geringfügig höhere Leistung bewirkt nun zwar, daß der Datenaustausch zwischen Prozessor und Speicher bzw. Erweiterung nun schneller ablaufen kann. Zweifellos lohnt diese minimale Leistungssteigerung jedoch nicht, das Leben des DMA-Controllers aufs Spiel zu setzen. Denn ist dieser einmal defekt, kann man mit einem neuen Motherboard rechnen, und dies ist in der Regel eine teure Angelegenheit.

Es ist also notwendig, zu wissen, um was für einen Prozessor es sich auf der Platine handelt und mit welcher Frequenz er getaktet wird (Achtung: Prozessorfrequenz ist nicht die Busfrequenz!!). Mit einigen der genannten Benchmark-Programme kann man den Prozessor und dessen Taktfrequenz leicht feststellen. Die Bestimmung wurde in diesem Fall mit dem schon genannten Programm Norton SI durchgeführt. Es stellt bei den Rechnern mit AMI-BIOS eine 386er CPU mit 387er Koprozessor fest, die mit 40 MHz getaktet wird. Bei diesen Rechnern ist also die ursprüngliche Einstellung CLKIN/4 falsch. Die Zahl bedeutet, wie die Frequenz, die auf der Hauptplatine dem Prozessor zur Verfügung steht, geteilt wird, um den Bustakt zu bestimmen. Es ergibt sich derzeit: 40 MHz/4 = 10 MHz auf dem BUS und 10 MHz/2 = 5 MHz für den DMA-Chip. Dies ist auf jeden Fall zuviel. Der Takt auf einem ISA-BUS wurde ursprünglich auf 8 MHz festgelegt, da dies ursprünglich der Takt der CPU gewesen ist. Heute jedoch verfügt man über Prozessoren, die sehr viel höher getaktet werden. Somit ist es also notwendig, den ''echten'' Prozessortakt (bei mehrfachgetakteten Prozessoren z.B. DX2/66 ist der externe Prozessortakt gemeint, also bei DX2/66 sind dies 33 MHz, da intern mit der doppelten Frequenz gearbeitet wird) zu teilen, um einen, in der Umgebung von 8 MHz liegenden Takt zu erhalten. Daher ist CLKIN/5 die richtige Einstellung, die im Setup vorzunehmen ist: 40 MHz/5 = 8 MHz, also der ideale ISA-Takt. Damit ist auch die Frequenz für den DMA-Controller wieder richtig: 8 MHz/2 = 4 MHz. Wie schon beschrieben, ist dies zwar allgemein gesehen ein Performanceverlust (konnte kaum gemessen werden), aber in diesem Fall mit Sicherheit die beste Einstellung.

-----> optimal: CLKIN/5

DRAM Wait States:

Um hier eine genaue Einstellung anzugeben, bedarf es einer Beschreibung: Ein PC hat RAM-Bausteine (also Hauptspeicher, auf den er zugreifen kann), die eine bestimmte Zugriffszeit haben (heute in der Regel zwischen 60 und 80 ns). Der Hauptprozessor (die CPU) wird von einem Oszillator auf dem Mainboard mit einer bestimmten (von Prozessor und Prozessortyp abhängigen) Frequenz getaktet. Gehen wir von einem Prozessor aus, der mit 40 MHz getaktet wird. Das bedeutet 40.000.000 Takte pro Sekunde. Mit jedem dieser Takte führt der Hauptprozessor einen Working-Step (Verarbeitungszyklus) durch. Im allgemeinen funktioniert dies, indem die CPU dem Hauptspeicher mitteilt, daß er die Daten, die sie gerade benötigt, bereitzustellen hat. Da die Speicherbausteine eine bestimmte Zugriffszeit haben, dauert es einen Moment, bis die Daten wirklich im RAM vorhanden sind und mit ihnen gearbeitet werden kann.

Bei der oben genannten Taktfrequenz haben die Speicherbausteine exakt 25 ns Zeit, um die Daten zur Verfügung zu stellen. Da aber, wie schon beschrieben, die RAM-Bausteine nur eine mittlere Zugriffszeit von 60 bis 80 ns (im folgenden wird von 70 ns ausgegangen) haben, muß die CPU ein kleines Päuschen einlegen (also einige Takte abwarten, die sogenannten Wait States), bevor sie die Daten aus dem Speicher beziehen kann. Bei 40 MHz Taktfrequenz und 70 ns Zugriffszeit auf die Speicherbausteine, müß te die CPU also 3 Wait States (genau 2.8 WS) warten. Diese müssen also bei höher getakteten Prozessoren noch größ er sein. Dies ist aber nicht im Sinne des Erfinders. Deshalb verfügen heute die meisten PCs über Cache-Speicher, um die Daten bereitzustellen, wenn die CPU sie nochmals anfordert. In diesem Fall kann die CPU dann direkt auf den Cache zugreifen (sofern dieser vorhanden und aktiv ist) und die Daten von dort erlangen, ohne über Wait States darauf zu warten (Cache-Speicherbausteine sind zudem gegenüber ''normalem'' RAM schneller; DRAM ca. 50-80 ns, SRAM ca. 10-30 ns). Bei der Verwendung eines Cache können die Wait States also entfallen oder zumindest auf einen niedrigeren Wert gesetzt werden. Doch auch hier ist Vorsicht geboten, denn zu geringe Wait States können zu Fehlfunktionen führen. Bei einem mit 40 MHz getakteten Chip und aktivem Cache kann man die Wait States jedoch ruhig auf 1 WS zurücksetzen.

-----> optimal: 1WS.

Non-Cacheable Block-1 Size:

Non-Cacheable Block-1 Base:

Non-Cacheable Block-2 Size:

Non-Cacheable Block-2 Base:

Einige Erweiterungs- und IO-Karten (z.B. SCSI- Adapter) benutzen einen Teil des RAM, der nicht gecached werden darf. Sollte man dies doch tun, kann folgendes passieren: Daten werden von der CPU geholt und im Cache gespeichert. Der Controller der Erweiterungskarte liest in der Zwischenzeit weiter neue Daten ein und legt diese im Speicher ab, ohne den Cache davon zu unterrichten. Sollten nun Daten aus dem Cache verlangt werden, so liefert er nicht die neuen Daten, da er ja nichts von diesen weiß, sondern die alten, die schon vor geraumer Zeit in ihn abgelegt wurden. Es ist im übrigen sinnlos, im zweiten und vierten Punkt Einstellungen vorzunehmen, wenn der erste und dritte Parameter auf disabled stehen.

-----> optimal: disabled

Anmerkung: Ab dem 486er gibt es eine besondere Einstellung, die hier vielleicht noch kurz erklärt werden sollte, den Burst Mode. Mit ihm läßt sich beschleunigt auf den externen Cache zugreifen. Der erste Zugriff erfolgt normal, während die drei folgenden schneller ausgeführt werden. Er hat in der Regel z.B. folgende Einstellung: 2-1-1-1. Nicht jeder Rechner schafft jedoch die eben genannte Einstellung. Sie bedeutet, daß der Cache immer eine Zeile liest: Beim ersten Zugriff liefert der Cache die Daten an den Prozessor in zwei Takten, bei den drei darauffolgenden Zugriffen werden die Daten nach nur noch einem Takt an den Prozessor geliefert. Es kann leicht zu Konflikten kommen, wenn man es mit der Schnelligkeit übertreibt. Doch hier kann man nur probieren.

Es gibt, wie schon erwähnt noch eine ganze Reihe an Einstellungsmöglichkeiten, die das BIOS zuläßt. Nicht alle sind jedoch für jeden PC geeignet. Es wurden daher nur die Einstellungen aufgeführt, die vielleicht einer genaueren Erklärung bedurften. Oben nicht aufgeführte Optionen konnten entweder aus Platzmangel nicht mit aufgenommen werden oder spielen für Laien keine Rolle.