![]() |
|
|
Cache In heutigen Prozessoren sind darüber hinaus die so genannten Cache-Speicher untergebracht. Es handelt sich um kleine, aber sehr schnelle Zwischenspeicher, in denen Befehle oder Daten abgelegt werden können, die bald wieder benötigt werden. Die Verwendung von Cache-Speichern macht den Bau von PCs erheblich wirtschaftlicher: Es wäre schlicht zu teuer, den gesamten Hauptspeicher aus den schnellen Bausteinen aufzubauen, aus denen der Cache besteht, und würde darüber hinaus zu viel Strom verbrauchen. Deshalb wird eine mehrstufige Speicherarchitektur verwendet:
Programmierer haben übrigens so gut wie keinen Einfluss darauf, welche Daten der Prozessor in einem der Cache-Speicher ablegt. Eine wichtige Entscheidungsgrundlage ist dagegen eine Einheit in der CPU, die als Sprungvorhersage (Branch Prediction) bezeichnet wird: Während der Ausführung von Programmen berechnet der Prozessor, wohin der nächste Sprung im Programm am wahrscheinlichsten führen wird. Aufgrund dieser Daten kann der Prozessor jeweils entscheiden, ob es sich lohnt, bestimmte Programmteile oder Daten im Cache abzulegen oder nicht. Leistungsmerkmale von ProzessorenDass Prozessoren im Lauf der Jahre immer leistungsfähiger wurden, dürfte allgemein bekannt sein und ist für technische Geräte fast selbstverständlich. Es ist allerdings wichtig, die verschiedenen Leistungsmerkmale zu kennen und zuordnen zu können. Die wichtigste Information über die Leistungsfähigkeit eines Mikroprozessors ist seine Wortbreite. Dieser Wert gibt an, aus wie vielen Bits ein Maschinenwort dieses Prozessors besteht. Je breiter ein solches Maschinenwort ist, desto mehr unterschiedliche Zustände oder Werte kann der Prozessor im gleichen Durchgang bearbeiten. Verschiedene Komponenten eines Prozessors können unterschiedliche Wortbreiten aufweisen (auch wenn dies seit langem unüblich geworden ist):
In Tabelle 3.2 finden Sie eine Übersicht über die verschiedenen Prozessorgenerationen. Das angegebene Entwicklungsjahr bezeichnet jeweils die Entstehung des ersten verfügbaren Prozessors mit der entsprechenden Wortbreite.1
Die Taktfrequenz Neben der Wortbreite gibt es noch verschiedene andere Kriterien, die die Geschwindigkeit von Prozessoren bestimmen. Die bekannteste Angabe ist die vom Intel- und AMD-Marketing gern zum Hauptgesichtspunkt erklärte Taktfrequenz (Clock Rate). Die Taktfrequenz wird nicht vom Prozessor selbst bestimmt, sondern ist ein Vielfaches des Mainboard-Taktes (Front Side Bus Clock Rate). Auf der Mainboard befindet sich eine Steckbrücke (Jumper) oder ein DIP-Schalter, mit dem der Multiplikator eingestellt wird. Er gibt an, mit dem Wieviel-Fachen der FSB-Taktrate der Prozessor arbeitet. Die günstigen Einsteiger-CPUs Intel Celeron und AMD Duron sind übrigens anders als Pentium 4 und Athlon mit einem festen Multiplikator ausgestattet und lassen sich durch eine Manipulation des Multiplikators auf der Mainboard nicht beeinflussen. Ist die Mainboard beispielsweise mit 133 MHz getaktet, dann führt die Einstellung eines Multiplikators von 20 zu einer CPU-Taktrate von 2,66 GHz. Auch wenn es technisch möglich ist, sollten Sie davon absehen, einen Prozessor durch Erhöhung des Multiplikators über den vom Hersteller angegebenen Wert zu takten (»Overclocking«). Dies kann nämlich zu einem vorzeitigen Ende des Prozessors führen. Die Einteilung der Prozessoren in verschiedene Taktklassen kommt durch eine Qualitätskontrolle der verwendeten Siliziumscheiben zustande: Je hochwertiger der Grundstoff, desto höher kann die daraus hergestellte CPU gefahrlos getaktet werden. Wenn Sie einen Prozessor unbedingt übertakten möchten, müssen Sie sich genau über spezielle Kühlsysteme informieren – es ist allerdings in der Regel teurer und aufwändiger, eine solche Kühlung einzubauen, als einfach den für die gewünschte Taktrate ausgelegten Prozessor zu kaufen. Ganz davon abgesehen sagt die Taktrate viel weniger über die tatsächliche Arbeitsgeschwindigkeit einer CPU aus, als die Intel-Werbung glauben machen möchte. Je nach Komplexität bestimmter Befehle dauert ihre Ausführung mehrere Taktzyklen; unterschiedliche Prozessorfamilien lösen verschiedene Aufgaben nicht immer mit derselben Effizienz. Außerdem verbringen Prozessoren einen Großteil ihrer Zeit mit Warten: Da Ein- und Ausgabe verhältnismäßig langsam stattfinden, hat ein Prozessor häufig nichts zu tun, weil die erforderlichen Daten nicht schnell genug nachkommen. Insofern führt zu wenig Arbeitsspeicher beispielsweise zu erheblich größeren Geschwindigkeitseinbußen als ein etwas langsamerer Prozessor: Das Auslagern nicht benötigter Speicherinhalte auf die Festplatte und das Laden der als Nächstes erforderlichen verbraucht sehr viel Zeit. Beispielsweise ist es vollkommen irrsinnig, ein speicherhungriges Programm wie die in Kapitel 8, Bildbearbeitung und Grafik, vorgestellte Bildbearbeitung Adobe Photoshop auf einem Rechner mit nur 64 oder 128 MByte RAM zu verwenden und zu erwarten, es würde in einigermaßen erträglicher Geschwindigkeit arbeiten. Effizienzmesswerte Die tatsächliche Effizienz von Prozessoren lässt sich übrigens durch andere Werte besser angeben als durch die Taktrate:
ProzessorarchitekturenEs lassen sich zwei grundlegende Prozessorarchitekturen voneinander unterscheiden. Der Unterschied besteht in der Ausstattung der Befehlstabelle:
CISC-Weiterentwicklung Die Hauptvertreter der CISC-Architektur sind die Prozessoren von Intel und Kompatible wie der AMD Athlon. Allerdings wurden bereits in den 1993 vorgestellten Pentium-Prozessor einige Funktionen eingebaut, die bisher nur in RISC-Prozessoren verwirklicht worden waren, beispielsweise die oben genannten Pipelines. Dennoch verfolgen Intel und AMD den Weg des komplexen Befehlssatzes konsequent weiter: Der 1995 erschienene Pentium Pro wurde als erster mit speziellen Befehlen für die Verarbeitung von Multimediadaten ausgestattet (MMX – MultiMedia eXtensions); AMD stattete seinen K6, den Vorläufer des Athlon, erstmals mit einer ähnlichen Erweiterung namens 3D Now! aus. Statt also die Komplexität der Befehlssätze zu beschränken, ging man den gegenteiligen Weg und stattete die Prozessoren sogar noch mit zusätzlichen Spezialbefehlen aus. In der Tat laufen grafikintensive Anwendungen wie Spiele oder Simulationen um einiges schneller, wenn sie unter Berücksichtigung dieser zusätzlichen Befehle kompiliert werden. Dafür sind sie anschließend nicht mehr kompatibel zu allgemeinem »386er-Code«. Aus diesem Grund wird Software, die von diesen Erweiterungen Gebrauch macht, zunächst einmal überprüfen, auf welchem konkreten Prozessor sie gerade läuft, und je nachdem unterschiedliche Fassungen des Programmcodes ausführen. RISC-Beispiele Fast alle anderen heute erhältlichen Prozessoren verwenden eine RISC-Architektur. Dazu gehören beispielsweise die von Apple, IBM und Motorola gemeinsam entwickelten PowerPC-Prozessoren, die das Herzstück der PowerMacs bilden. Auch die Prozessoren der Sun SPARC-, Digital Alpha- oder MIPS-Baureihen sind RISC-CPUs. Trotz ihres unbestreitbaren Performance-Vorteils besitzen sie auch einige Nachteile. Beispielsweise benötigt eine RISC-CPU mehr Arbeitsspeicher, weil ein Maschinenprogramm aus zahlreicheren Einzelbefehlen besteht und deshalb mehr Speicher belegt als ein CISC-Programm. Abgesehen davon gelang es Intel und AMD nach und nach, einige der RISC-Vorzüge in ihre Prozessoren einzubauen. Vor allem werden die komplexen CISC-Befehle in einzelne, RISC-artige Mikroinstruktionen zerlegt, die anschließend vom eigentlichen Prozessorkern mit erheblich höherer Effizienz ausgeführt werden. Wie Prozessoren arbeitenNach dieser theoretischen Aufbaubeschreibung von Mikroprozessoren ist es natürlich auch interessant, zu erfahren, wie ein Prozessor eigentlich arbeitet. Ein etwas konkreteres Beispiel erhalten Sie in Kapitel 2, Mathematische und technische Grundlagen, anhand eines virtuellen Prozessors und seiner verschiedenen Maschinenbefehle. Schematisch betrachtet geschieht bei der Ausführung eines Programms durch den Prozessor Folgendes:
Sprungbefehle Es lohnt sich übrigens, die Funktionsweise von Sprüngen etwas genauer zu betrachten. Prozessoren beherrschen nämlich grundsätzlich zwei verschiedene Arten von Sprüngen: Ein unbedingter Sprung wird immer ausgeführt, sobald der entsprechende Befehl gelesen wird. Bedingte Sprünge werden dagegen nur dann ausgeführt, wenn bestimmte Bedingungen zutreffen. Diese Bedingungen betreffen meist die Zustände eines Flag-Registers. Flags sind Statusbits, deren Werte durch Vergleichsoperationen, Fehler oder direkte Manipulation durch ein Programm gesetzt werden. Eine noch etwas komplexere Variante betrifft den Aufruf von Unterprogrammen: Anstatt ohne Wiederkehr zu einer bestimmten Programmstelle zu springen, wird hier die auf den Sprungbefehl folgende Adresse gespeichert. Dazu dient ein Last-In-First-Out-Speicher, der als Stack (Stapel) bezeichnet wird. Wenn am Ende des Unterprogramms der Rücksprungbefehl erfolgt, holt sich das Programm den obersten Wert vom Stack und springt zur angegebenen Programmadresse. Die Adresse, die zurzeit den Abschluss des Stacks bildet, wird von einem speziellen Steuerregister angezeigt, dem Stack-Zeiger (Stack Pointer). Ein weiterer Grund, warum Programme nicht immer linear nacheinander ausgeführt werden, sind die weiter oben bereits erwähnten Prozesse: Eine CPU führt üblicherweise abwechselnd Befehle mehrerer Programme aus. Vor dem Wechsel zu einem anderen Prozess wird dessen Zustand gespeichert, das heißt, die Inhalte der Prozessorregister werden gesichert, um sie bei der späteren Wiederaufnahme dieses Prozesses zurückzusetzen – aus der Sicht des Prozesses findet seine Ausführung also ohne Unterbrechung statt.
Hardware-Interrupts Im Zusammenhang mit Ein- und Ausgabevorgängen werden darüber hinaus so genannte Interrupts verwendet: Da die Anfragen, die die Hardware an den Prozessor stellt, asynchron auftreten, muss der Prozessor sich immer wieder darüber informieren, ob ein Gerät auf Antwort wartet. Deshalb fragt er die verschiedenen Geräte in regelmäßigen Abständen ab und unterbricht unter Umständen den laufenden Prozess zugunsten der Hardwarekommunikation. MaschinenbefehleDie Maschineninstruktionen, von denen hier die Rede ist, lassen sich nicht mit den mächtigen Befehlen höherer Programmiersprachen vergleichen. Sie bewegen sich auf einem viel niedrigeren Niveau. Der Prozessor »weiß« nicht, dass er den Buchstaben A in 16-Punkt-Garamond auf den Bildschirm zeichnet, einen Videoclip abspielt oder das Spielprogramm Tomb Raider ausführt. Aus der Sicht der CPU geht es immer nur um Rechenschritte, also um die Manipulation irgendwelcher numerischen Werte. Typische Maschinenbefehle lauten beispielsweise folgendermaßen:
Assembler kontra Maschinensprache Beachten Sie, dass die Assembler-Sprache bereits eine vereinfachende Abstraktion der Maschinensprache ist; in Wirklichkeit bestehen alle Befehle aus Zahlen. Es gibt zum Beispiel nicht »den« MOV-Befehl zum Verschieben von Speicherinhalten. Es handelt sich um eine ganze Sammlung von Befehlen, die lediglich gemeinsam haben, dass sie einen bestimmten Wert an einer bestimmten Stelle ablegen sollen: Das an erster Stelle angegebene Ziel kann ein Prozessorregister, eine Speicheradresse oder eine indirekte Adresse (eine Speicheradresse, deren Inhalt als Speicheradresse interpretiert werden soll) sein. Ebenso kann der Wert, der an der angegebenen Stelle gespeichert werden soll, ein konkreter Wert, ein Register oder eine Speicheradresse sein. Andere Prozessorhersteller haben ihre Assembler-Sprachen nicht notwendigerweise genauso definiert wie Intel, die Aufteilung der Befehle in Gruppen mit demselben Namen kann vollkommen anders geregelt sein. Letzten Endes interessiert das alles den Prozessor ohnehin nicht, weil er gar keinen Assembler versteht. Es handelt sich lediglich um eine bequemere Schreibweise der Maschinensprache für Menschen. Programme, die in Assembler geschrieben werden, müssen von einem geeigneten Programm in die eigentliche Maschinensprache übertragen (assembliert) werden. Natürlich ist dieser Vorgang einfacher als die Übersetzung einer höheren Programmiersprache, weil in der Regel jeder Assembler-Befehl für genau eine wohl definierte Maschineninstruktion steht. Was die Übersetzung von Hochsprachen angeht, ist zudem noch folgender Umstand interessant: Wenn Sie ein Programm schreiben und mit einem Compiler übersetzen, entsteht ein Programm, das nur auf einem bestimmten Prozessor läuft, weil es Maschinenbefehle für diesen Prozessor enthält. Interessanterweise funktioniert dies aber nicht über Betriebssystemgrenzen hinweg: Wenn Sie auf Ihrem Intel-PC beispielsweise Linux und Windows installieren, unter Linux ein C-Programm schreiben und kompilieren und anschließend Windows booten, kann das Programm dort nicht funktionieren. Programme, die in Hochsprachen geschrieben werden, bestehen nämlich nicht nur aus neutralen Maschinensprachanweisungen. Sämtliche Ein- und Ausgabefunktionen werden durch Routinen des Betriebssystems bereitgestellt, die das Programm durch so genannte Systemaufrufe anspricht. Dieser Mechanismus wird in den nächsten Kapiteln über Betriebssysteme und Programmierung noch genau erläutert. 3.2.2 Der Arbeitsspeicher
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Die Inhalte dieses Speichers können sowohl gelesen als auch verändert werden. Den Gegenbegriff bildet das ROM (Read Only Memory), das weiter unten im Zusammenhang mit dem BIOS behandelt wird. |
| Auf jedes Byte des Speichers kann einzeln in beliebiger Reihenfolge zugegriffen werden; in diesem Zusammenhang ist Random Access der Gegenbegriff zum sequenziellen Zugriff, der beispielsweise bei Magnetbandspeichern eingesetzt wird. |
DRAM und SRAM
Alle RAM-Bausteine haben gemeinsam, dass ihr Inhalt flüchtig ist. Sie müssen ständig mit Strom versorgt werden, weil es ansonsten zum vollständigen Datenverlust kommt. Es gibt allerdings zwei verschiedene konkrete Bauformen:
| Das Dynamic RAM (DRAM) benötigt nicht nur das Anliegen einer Spannung, sondern der Inhalt jeder einzelnen Speicherstelle muss mit jedem Taktzyklus aufgefrischt werden (Refresh). Es ist vergleichsweise günstig herzustellen und hat einen niedrigeren Stromverbrauch. |
| Das Static RAM (SRAM) bedarf lediglich einer Spannung. Es arbeitet erheblich schneller als DRAM, verbraucht aber mehr Strom und ist viel teurer. SRAM-Bausteine werden deshalb niemals zur Realisation des ganzen Arbeitsspeichers eingesetzt, sondern nur für die Cache-Speicher. |
RAM ist stets in einzelnen Speicherzellen organisiert, die 1 Byte groß sind und jeweils eine eigene Adresse haben. Die Art und Weise, wie Speicher konkret adressiert wird, hängt vom Prozessor und indirekt vom Betriebssystem ab. Der Mechanismus der Speicheradressierung bei Intel-CPUs wird im nächsten Kapitel, Betriebssysteme, kurz erläutert.
Der eigentliche Arbeitsspeicher wird in Slots senkrecht auf die Mainboard aufgesteckt. Es handelt sich um kleine, rechteckige Platinen, die mit mehreren konkreten Chips versehen sind. Auf einer Seite befindet sich eine Reihe von Kontakten, die in den entsprechenden Slot gehören. Bei aktuellen DIMM-Modulen (Double Inline Memory Modules) für SD-RAM oder DDR-RAM müssen Sie dazu einen Hebel zur Seite ziehen und das Speichermodul fest (aber vorsichtig!) in den Slot drücken, bis es merklich einrastet und der Hebel sich automatisch in die aufrechte Position begibt.
Die veralteten SIMM-Module (Single Inline Memory Modules) für EDO- oder FP-RAM, die bei Pentium-I-Rechnern bis etwa 1996 verbreitet waren, müssen Sie dagegen schräg ansetzen und im Slot gerade rücken, bis sie ebenfalls einrasten. SIMM-Module sind daran zu erkennen, dass sie kürzer sind als DIMMs.
Es existieren verschiedene Bauformen von RAM-Bausteinen. Gängig sind zurzeit vor allem folgende:
| SD-RAM (Synchronous Dynamic RAM) besteht aus DIMM-Modulen, die 168 Kontakte besitzen. Der Zugriff auf diesen Speicher erfolgt mit der Taktfrequenz der Mainboard selbst. Entsprechend ist die neueste Form PC133-SD-RAM, das auf Mainboards mit einer Taktfrequenz von 133 MHz eingesetzt werden kann. Ältere Formen sind PC66- und PC100-SD-RAMs. PC100- und PC133-Module sind abwärts kompatibel: Werden sie auf eine langsamere Mainboard aufgesteckt, passen sie sich ihrer Taktrate an. |
| Das etwas unglücklich bezeichnete DDR-RAM2 (die Abkürzung steht für »Double Data Rate«) wird ebenfalls in Form von DIMM-Modulen geliefert, ist äußerlich also baugleich mit dem SD-RAM. Die Besonderheit besteht – wie der Name schon sagt – darin, dass diese Speicherbausteine mit der doppelten Datenrate von SD-RAMs arbeiten. Pro Taktzyklus können sie mit anderen Worten doppelt so viel Inhalt aufnehmen oder abgeben und beschleunigen so einen der schlimmsten Engpässe des PC-Designs. |
| Noch ereheblich schneller als SD-RAM und DDR-RAM ist das RD-RAM oder Rambus-RAM. Es wird in Form so genannter RIMM-Module (Rambus Inline Memory Module) geliefert, die mit 184 Pins etwas breiter sind als DIMMs. |
| Ähnlich wie ein Prozessor wird Rambus-RAM mit einem (festen) Multiplikator betrieben, wodurch sie erheblich schneller arbeiten als der Mainboard-Takt. Allerdings sind spezielle Mainboards mit besonderem Datenbus erforderlich, die nicht so verbreitet und daher teurer sind als Boards für DDR-RAM. Hinzu kommt, dass diese Speichersorte nur von der Firma Rambus hergestellt wird, sodass sie auch selbst erheblich teurer ist als ein DDR-RAM-Modul mit der gleichen Kapazität. | |
Empfohlene Speichermengen
Für die Performance eines Rechners ist die Menge des Arbeitsspeichers erheblich wichtiger als die Speicherbausteintechnologie. Für einen gewöhnlichen Büro-PC sind 256 MByte RAM ein vernünftiger Wert. Wenn Sie dagegen Multimedia- oder DTP-Anwendungen benutzen möchten, sollten es mindestens 512 MByte sein. Beachten Sie, dass ein Mac aufgrund der RISC-Architektur mehr Speicher benötigt; mit einem aktuellen PowerMac G4 oder gar G5 werden Sie erst dann wirklich glücklich, wenn er über 1 Gigabyte RAM verfügt. Denken Sie daran, dass all diese Werte einem sehr starken Wandel unterworfen sind – die vorliegenden Angaben gelten für Mitte 2003 und werden bald überholt sein.
Ein besonderer Baustein, der sich seit dem ursprünglichen IBM-PC auf der Mainboard jedes PCs befindet, ist das BIOS (Basic Input/Output System, also etwa grundlegendes Ein-/Ausgabesystem). Dieser Chip enthält die Firmware (in Hardware gegossene Software) mit der Basis-Steuerlogik des PCs. Bei jedem Start des Rechners sehen Sie eine Reihe von Kontrollmeldungen, die das BIOS ausgibt.
Der BIOS-Baustein ist ein ROM-Speicher (Read-Only Memory), also von der Idee her ein Speicher, der nur gelesen werden kann. Vorsichtiger muss man heute Folgendes sagen: Der Inhalt dieses Speichers kann nicht durch normale Schreibzugriffe des Betriebssystems verändert werden. Jedenfalls bleibt der Inhalt eines solchen Speichers aber auch dann erhalten, wenn er nicht mehr mit Strom versorgt wird.
ROM-Sorten
Im Laufe der Zeit wurden verschiedene Arten von ROM-Bausteinen entwickelt. Die Evolution dieser Speichersorte soll hier in einer kurzen Übersicht dargestellt werden:
| Das ursprüngliche ROM besitzt ab Werk eine fest verdrahtete Funktionalität, die nicht verändert werden kann. |
| Der Inhalt eines PROM-Bausteins (Programmable ROM) kann einmal mit Hilfe eines Infrarot-PROM-Brenners programmiert werden und bleibt dann für immer unverändert erhalten. |
| Das EPROM (Erasable PROM) ist wiederbeschreibbar: Der Inhalt kann mit einem EPROM-Brenner geschrieben und durch Infrarot-Einwirkung auch wieder gelöscht werden. |
| Die modernste Form ist das Flash-EPROM. Sein Inhalt kann mit Hilfe von Software verändert werden. Gegenüber RAM besitzt es aber immer noch den Vorteil, dass der Inhalt nicht verloren geht, wenn es nicht mit Strom versorgt wird. Heutzutage werden nicht nur BIOS-Bausteine als Flash-EPROMs realisiert. Verschiedene Arten von Flash-ROMs sind auch beliebt als Speicherkarten für Digitalkameras. |
In den 80er-Jahren gab es viele Baureihen von Homecomputern, bei denen ein rudimentäres »Betriebssystem« sowie ein BASIC-Interpreter fest im ROM eingebaut waren. Nur der IBM-PC hat dieses Verfahren schon frühzeitig aufgegeben; bei ihm wurde das Betriebssystem von Anfang an vom Datenträger (damals einer 51 /4-Zoll-Diskette) gestartet. Das einzige Überbleibsel war eben das BIOS.
Heute gibt es nur noch wenige Arten von Rechnern, bei denen das Betriebssystem oder gar Anwendungsprogramme im ROM untergebracht sind:
| In manchen besonders unwirtlichen Umgebungen, in denen keine mechanischen Bauteile verwendet werden können, werden spezielle Industrie-PCs mit Betriebssystem und Programmen im ROM eingesetzt. |
| Es gibt im Netzwerkbereich eine Reihe von kompakten Spezialcomputern, nämlich Router-, Webserver- oder Firewall-Boxen. Sie enthalten in aller Regel ein rudimentäres Linux als Betriebssystem und können über das Netzwerk per Terminalprogramm oder Browser konfiguriert werden. |
Das BIOS besitzt die folgenden elementaren Aufgaben:
| Der im BIOS gespeicherte Code ist ein Programm in der Maschinensprache des Computers. Es wird beim Einschalten automatisch auf einer bestimmten Adresse im Arbeitsspeicher abgebildet; der Prozessor weiß, dass er genau dieses Programm ausführen muss. |
| Als Erstes wird die wichtigste Hardware getestet. Zunächst wird die Grafikkarte überprüft, anschließend das RAM. Dann wird geprüft, ob ein Laufwerk vorhanden ist, von dem ein Betriebssystem gestartet werden kann. Schließlich wird noch die Tastatur und manchmal auch die Maus überprüft. Dieser Prüfungsvorgang wird als POST bezeichnet (Power-On Self Test, also Selbsttest beim Einschalten). |
| Falls es größere Probleme gibt, die verhindern, dass der PC ordnungsgemäß gestartet werden kann (zum Beispiel wenn die Grafikkarte oder das RAM defekt ist), ertönen bestimmte Abfolgen von Tonsignalen aus dem kleinen Lautsprecher, der in die meisten PCs eingebaut ist. Die Bedeutung dieser Tonsignale können Sie der Dokumentation Ihrer Mainboard entnehmen oder im Internet recherchieren, indem Sie Ihre BIOS-Version oder die Bezeichnung Ihrer Mainboard in eine Suchmaschine eingeben. | |
| Das BIOS bietet grundlegende Funktionen zur Kommunikation mit der Hardware an, auf die Betriebssysteme oder Anwenderprogramme zugreifen können. Das Betriebssystem MS-DOS, das mit dem ursprünglichen IBM PC geliefert wurde, machte regen Gebrauch davon. Moderne Betriebssysteme umgehen dagegen die vielfältigen Einschränkungen der BIOS-Routinen und kommunizieren über Gerätetreiber direkt mit der Hardware. |
| Nach dem (erfolgreichen) POST übergibt das BIOS die Kontrolle über den Rechner an den Datenträger, von dem das System gestartet werden soll: Es wird das Programm im Master Boot Record (Startsektor) des Laufwerks gestartet. Hier befindet sich in der Regel ein Boot-Loader für ein bestimmtes Betriebssystem oder ein Bootmanager, der Ihnen die Auwahl zwischen verschiedenen Systemen und/oder Konfigurationen überlässt. |
Beim Einschalten des Rechners können Sie durch einen speziellen Tastendruck (je nach konkretem BIOS meist (F1) oder (Entf)) in das BIOS-Setup gelangen, ein eingebautes kleines Programm zur Konfiguration der BIOS-Parameter und der Hardware. Beachten Sie, dass es verschiedene BIOS-Varianten gibt, bei denen der genaue Inhalt dieses Programms unterschiedlich sein kann. Die wichtigsten BIOS-Marken sind Award BIOS von der gleichnamigen Firma, AMI BIOS von American Megatrends, Inc. sowie Phoenix BIOS (dieses Unternehmen wurde allerdings inzwischen von Award aufgekauft).
Das CMOS-RAM
Alle Setup-Einstellungen werden im so genannten CMOS-RAM gespeichert. »CMOS« ist der Name einer Fertigungstechnik für Speicherbausteine, die bei der Erfindung des PC-BIOS etwas Besonderes war. Heute wird dagegen jeder RAM-Speicher in CMOS-Technik hergestellt, sodass der Name eigentlich unpräzise ist. Dieses RAM wird durch eine Batterie gepuffert, welche nebenbei auch die eingebaute Uhr des PCs am Laufen hält, damit jederzeit Datum und Uhrzeit verfügbar sind.
Durch vorübergehendes Ausbauen der Batterie können Sie das CMOS löschen, um schwerwiegende Probleme wie ein vergessenes BIOS-Passwort zu lösen; allerdings wird dabei auch die Uhrzeit zurückgesetzt. Manche Boards besitzen auch einen speziellen Clear-CMOS-Jumper. Um ihn zu verwenden, müssen Sie ihn auf die Clear-Position setzen, den Rechner einmal ein- und wieder ausschalten und den Jumper anschließend wieder zurücksetzen. Dies löscht ebenfalls das CMOS, lässt aber die Uhr in Ruhe.
Ein Wort vorweg: Wenn Sie nicht genau wissen, was eine bestimmte Einstellung im BIOS-Setup bedeutet, gilt: Finger weg! Womöglich versetzen Sie den Rechner in einen Zustand, in dem das System nicht mehr startet oder sonstige Schwierigkeiten bereitet. Zwar gibt es in jedem BIOS-Setup eine »Notbremse« namens Load Setup Defaults oder Load BIOS Defaults, um die Standardeinstellungen des Mainboard- beziehungsweise BIOS-Herstellers wiederherzustellen. Beachten Sie aber, dass das Resultat fast immer viel zu konservativ und vorsichtig ausfällt und so den Rechner ausbremst.
BIOS-Setup-Einstellungen
Die folgenden Beschreibungen gelten für das Award BIOS eines aktuellen Pentium-4-PCs. In anderen BIOS-Versionen oder bei älteren PC-Generationen gibt es natürlich andere Einstellmöglichkeiten. Das BIOS-Setup des besagten PCs verfügt über die folgenden Hauptkategorien:
| Standard CMOS Features. Hier können Datum und Uhrzeit der Systemuhr eingestellt werden (was allerdings kein Mensch im BIOS-Setup tut, weil jedes Betriebssystem über entsprechende Funktionen verfügt). Außerdem erhalten Sie eine Übersicht über alle installierten Laufwerke. Die Bezeichnungen wie »IDE Primary Master« werden weiter unten bei der Beschreibung der Schnittstellen erläutert. Darüber hinaus wird hier die BIOS-Version angezeigt, und Sie erhalten einige nicht änderbare Informationen über den Prozessor, das RAM und Ähnliches. |
| Advanced BIOS Features. Hier wird vor allem eingestellt, wie sich der Rechner beim Einschalten beziehungsweise beim Booten verhalten soll. Quick Power On Self Test führt den POST schneller, aber weniger gründlich durch – in der Regel genügt es aber so. |
| Die wichtigste Einstellung in diesem Bereich ist die Boot-Sequenz, die bestimmt, auf welchen Datenträgern und in welcher Reihenfolge nach einem startfähigen Betriebssystem gesucht werden soll. Die üblichste Einstellung wählt das CD-ROM-Laufwerk als erstes Gerät (First Boot Device), das Diskettenlaufwerk als zweites und die erste Festplatte als drittes. Falls sich alle von Ihnen verwendeten Betriebssysteminstallationen und Datenrettungsprogramme von CD-ROM starten lassen, sollten Sie das Diskettenlaufwerk weglassen, weil dies den Start erheblich beschleunigt. | |
| Es ergibt dagegen keinen Sinn, die Festplatte als erstes Gerät anzugeben: Da sich dort grundsätzlich ein Betriebssystem befindet, können Sie in diesem Fall gar nicht mehr von einem anderen Datenträger booten! | |
| Unter Advanced Chipset Features können Sie genaue Einstellungen für Ihr RAM und Ihren Chipsatz vornehmen. Für diesen Teil des BIOS-Setups müssen Sie die Dokumentation Ihrer Mainboard ganz genau beachten, um keine Fehler zu machen. |
| Integrated Peripherals dient dazu, die Anschlüsse für Peripheriegeräte ein- oder auszuschalten und zu konfigurieren. Beispielsweise können Sie den altmodischen Parallelport abschalten, wenn Sie einen modernen USB-Drucker verwenden, und so Hardwareressourcen für andere Geräte frei machen. Darüber hinaus wird in diesem Dialog eventuell vorhandene Onboard-Peripherie konfiguriert. |
| Mit Hilfe des Power Management Setup lässt sich einstellen, wie sich der Rechner bei längeren Arbeitspausen verhalten soll; es gibt diverse Optionen, die Monitorausgabe, die Festplatten und andere Hardwarekomponenten nach einiger Zeit »schlafen zu legen«, um Strom zu sparen. Die meisten dieser Einstellungen lassen sich einfacher und übersichtlicher innerhalb moderner Betriebssysteme vornehmen. |
| PNP/PCI Configurations fragt zunächst, ob ein Plug & Play-Betriebssystem installiert ist. Plug & Play ist eine Technologie, die die automatische Erkennung neu angeschlossener Hardwarekomponenten und die automatische Zuweisung von Systemressourcen an diese Geräte ermöglicht. Falls Sie hier mit »No« antworten, weil ein nicht-PNP-fähiges System wie Windows NT 4.0 installiert ist, können Sie eine Reihe von Einstellungen von Hand vornehmen. Bei aktuellen Betriebssystemen besitzt dieser Dialog dagegen keine praktische Bedeutung mehr. |
| Load Fail-Safe Defaults ist ein anderer Name für das klassische »Load BIOS Defaults«: Es werden die sehr vorsichtigen Einstellungen des BIOS-Herstellers geladen. |
| Load Optimized Defaults (früherer Name »Load Setup Defaults«) lädt dagegen die besser an die konkrete Hardware angepassten Voreinstellungen des Mainboard- beziehungsweise PC-Herstellers. |
| Set Supervisor Password ermöglicht es, ein Passwort einzustellen, das eingegeben werden muss, um wieder ins BIOS-Setup zu gelangen. |
| Set User Password ermöglicht es dagegen, ein Passwort für den normalen Start des Rechners festzulegen. |
| Save & Exit Setup speichert die Änderungen, die Sie eingestellt haben, und verlässt das BIOS-Setup. |
| Exit Without Saving verlässt dagegen das Setup, ohne zu speichern. |
Beachten Sie, dass Sie eine Frage nur mit Ja beantworten können, indem Sie die Taste (Z) drücken, weil das BIOS-Setup keinen deutschen Tastaturtreiber lädt; auf einer englischen Tastatur sind Z und Y vertauscht.
Wie bereits erwähnt, sind BIOS-Chips so genannte Flash-EPROMs; ihr Inhalt kann durch speziell programmierte Software verändert werden. Diese Software wird als BIOS-Update-Programm bezeichnet.
Ein BIOS-Update ist nur erforderlich und sollte nur dann durchgeführt werden, wenn neue Hardware nicht mehr mit dem System harmoniert, zum Beispiel, wenn Sie sich eine Festplatte angeschafft haben, deren Größe das BIOS nicht unterstützt.
Das BIOS-Update läuft folgendermaßen ab:
| 1. | Ermitteln Sie die genaue Bezeichnung der Mainboard und des bisherigen BIOS. |
| 2. | Suchen Sie die Website des Board-Herstellers beziehungsweise des PC-Herstellers oder -Händlers auf und laden Sie das genau passende BIOS-Update-Programm herunter. |
| 3. | Als Nächstes müssen Sie eine DOS-Bootdiskette herstellen, von der das BIOS-Update-Programm gestartet wird. Das aktuelle Betriebssystem Windows XP basiert zwar nicht mehr auf MS-DOS, bietet aber die Option MS-DOS-Startdiskette erstellen, wenn Sie unter Arbeitsplatz mit der rechten Maustaste auf das Diskettenlaufwerksymbol klicken und Formatieren wählen. |
| 4. | Entpacken Sie das heruntergeladene Programm (meist mit WinZip) und kopieren Sie es auf die Diskette. |
| 5. | Booten Sie den Rechner von dieser Diskette (eventuell müssen Sie im BIOS-Setup zunächst das Booten von Diskette aktivieren; siehe oben). Geben Sie an der Eingabeaufforderung A:\> den Namen des Update-Programms ein – heißt es beispielsweise UPDATE.EXE, müssen Sie update eingeben. |
| 6. | Leisten Sie den Anweisungen des Programms ganz genau Folge. |
| 7. | Die meisten Update-Programme bieten die Möglichkeit, zuerst den bisherigen Inhalt des BIOS auf Festplatte zu speichern. Dies ist dringend zu empfehlen, weil das neue BIOS in seltenen Fällen noch inkompatibler ist als das alte. |
| 8. | Nun wird das eigentliche Update durchgeführt. Dabei darf auf keinen Fall die Stromzufuhr zum Rechner unterbrochen werden, andernfalls verbleibt das BIOS in einem defekten Zustand und der Rechner lässt sich nicht mehr starten. |
Zwar wird der BIOS-Chip selbst dadurch nicht beschädigt, aber da ein defektes BIOS-Programm den Computer nicht booten kann, können Sie kein weiteres Update durchführen, um das Problem zu lösen. In diesem Fall hilft es nur noch, den BIOS-Chip auszubauen und das erforderliche BIOS-Programm von einem anderen PC aus mit einem Flasher (einem Flash-EPROM-Brenner) darauf zu schreiben.
Mac-Rechner sind mit einer Komponente ausgestattet, die weitgehend dem PC-BIOS entspricht. Aus traditionellen Gründen wird es in der Regel einfach als »ROM« bezeichnet. Es enthält Routinen, auf die Mac OS bis zur Version 9.x noch immer zugreift, die so genannte Toolbox.
Auch der Mac führt beim Start einen POST-ähnlichen Selbsttest durch. Es werden die folgenden möglichen Ergebnisse angezeigt:
| Ein fröhlicher »Würfelmac« zeigt an, dass alles in Ordnung ist. |
| Ein trauriger »Würfelmac« deutet auf schwerwiegende Hardwareprobleme hin. |
| Ein Ordnersymbol mit Fragezeichen zeigt an, dass kein Betriebssystem zum Starten vorhanden ist. |
Der Macintosh besitzt kein eingebautes Programm, das dem BIOS-Setup eines PCs entspricht. Stattdessen werden die Einstellungen aus bestimmten Systemeinstellungen (Mac OS X) beziehungsweise Kontrollfeldern (Mac OS 9) in einem CMOS-ähnlichen Bereich gespeichert, der Parameter-RAM genannt wird. Wichtige Beispiele sind die Einstellung des Startvolumens (von welchem Datenträger soll das System gestartet werden?) oder die Monitorauflösung und -farbtiefe.
Bei fehlerhaften Einstellungen kann das Parameter-RAM auf einfache Weise gelöscht werden: Halten Sie beim Einschalten die Tastenkombination (Apfel) + (ALT) + (P) + (R) gedrückt. Sobald der Begrüßungston zu hören ist, können Sie die Tasten wieder loslassen – der Mac startet daraufhin normal neu.
Mitunter ist beim Umstieg auf eine neue Betriebssystemversion ein Firmware-Update erforderlich, das dem BIOS-Update bei PCs entspricht. Die Update-Programme sind in diesem Fall auf der Betriebssystem-CD enthalten und sind erheblich einfacher und sicherer zu bedienen als die oben genannten BIOS-Updates.
Ein weiterer wichtiger Aspekt der Hardware – die Schnittstelle zwischen Zentraleinheit und Peripherie – sind die diversen Bus- und Anschlusssysteme. Dazu gehören die Slots für Erweiterungskarten, die internen Anschlüsse für Laufwerke sowie die zahlreichen externen Anschlüsse für Tastatur, Maus, Monitor, Modem und viele andere Geräte.
Das relevanteste Unterscheidungsmerkmal zwischen verschiedenen Arten von Anschlüssen ist die Frage, ob sie Daten seriell oder parallel übertragen.
Bei der seriellen Datenübertragung werden die einzelnen Bits nacheinander, bei der parallelen Übertragung werden die Bits dagegen auf mehreren nebeneinander liegenden Leitungen gleichzeitig übertragen (je nach Anschlussart sind es 8, 16, 32 oder 64 Bits).
Auf der untersten Ebene muss zwischen »Sender« und »Empfänger« zunächst einmal Einigkeit darüber herrschen, wie die transportierten Ströme überhaupt als Daten interpretiert werden sollen. Es geht um die Frage, welche elektrischen Ereignisse (zum Beispiel Spannungswechsel oder Spannungszustände) überhaupt als 1 oder als 0 interpretiert werden sollen. Statt »Strom« müsste man allgemeiner eigentlich von Energie sprechen; beispielsweise übertragen Lichtwellenleiter keinen Strom, sondern Licht.
Bei seriellen Leitungen muss als Nächstes die Frage geklärt werden, in welcher Reihenfolge die aufeinander folgenden Einsen und Nullen überhaupt zu ganzen Bytes zusammengesetzt werden sollen (bei parallelen Leitungen ist dies natürlich irrelevant).
Angenommen, der Wert 77 soll als 8-Bit-Sequenz (binär 01001101) übertragen werden. Falls der Sender die Sequenz in dieser »natürlichen« Reihenfolge (die üblicher ist) überträgt, der Empfänger sie aber falsch herum interpretiert, erhält Letzterer statt 77 den Wert 178 (10110010)!
Abgesehen davon werden in der Regel nicht nur aufeinander folgende Datenbits übertragen, sondern dazwischen noch zusätzliche Kontrollbits. Es gibt drei grundsätzliche Arten solcher Zusatzbits:
| Ein Startbit zeigt den Beginn einer neuen Übertragungssequenz an, wenn es den Wert 1 hat. Startbits werden nur noch sehr selten verwendet. |
| Ein Stoppbit kennzeichnet entsprechend das Ende einer Sequenz, wenn es den Wert 1 besitzt. |
| Ein Prüfbit oder Parity-Bit sorgt für eine Plausibilitätskontrolle auf der untersten Ebene: Die Anzahl der 1en in den Datenbits wird gezählt. Das Parity-Bit (wörtlich: Geradheits-Bit) wird derart auf 1 oder 0 gesetzt, dass sich insgesamt immer eine gerade Anzahl von 1en ergibt. Wenn die Paritätsprüfung beim Empfänger einen Fehler ergibt (beispielsweise drei empfangene 1en, Parity 0), liegt auf jeden Fall ein Übertragungsfehler vor. Andererseits bedeutet ein korrektes Parity nicht unbedingt, dass die Übertragung fehlerfrei funktioniert hat. Aus diesem Grund verwenden die meisten Übertragungsverfahren auf einer höheren Ebene Prüfsummen. |
| Die Verwendung von Parity-Bits ist mittlerweile eher unüblich geworden. Sie war vor allen Dingen für die Datenübertragung über analoge Telefonleitungen mit geringer Qualität (starken Nebengeräuschen) wichtig, weil Übertragungsfehler bei ihnen recht häufig vorkamen und auf diese Weise verringert werden konnten. | |
Die Leitungskonventionen werden üblicherweise durch drei aufeinander folgende Werte ausgedrückt, und zwar folgendermaßen:
| Wie viele Datenbits werden pro Sequenz verwendet? In der Regel sind es 8. Das früher übliche Telex-Verfahren verwendete dagegen nur 5 Bits; manchmal gibt es auch Übertragungsverfahren mit 7 oder 9 Datenbits. |
| Ein N (No Parity) zeigt an, dass keine Paritätsprüfung verwendet wird, während ein P für Parity steht. |
| Der dritte Wert gibt an, wie viele Stoppbits verwendet werden (0, 1 oder sogar 2). |
Ein übliches Verfahren ist beispielsweise das für Modemverbindungen zum Internetprovider verwendete 8N1 (8 Datenbits, kein Parity, 1 Stoppbit). Eine Sequenz, die mit Hilfe dieser Methode übertragen wird, könnte zum Beispiel so aussehen:
01001000 0 01000001 0 01001100 0 01001100 0 01001111 1
Es handelt sich um die Werte 72, 65, zweimal 76 und 79 – als ASCII-Zeichen interpretiert ist es der Text »HALLO«. Die 1 hinter dem letzten Datenbit ist das gesetzte Stoppbit und besagt, dass die Übertragung nun beendet ist.
Seriell setzt sich durch
In den letzten Jahren ist zu beobachten, dass die Hersteller immer stärker auf serielle Datenleitungen setzen. So werden Drucker fast nur noch an die serielle USB-Schnittstelle statt an den alten Parallelport angeschlossen; der SCSI-Anschluss, der früher häufig für externe Laufwerke verwendet wurde, wird immer häufiger durch FireWire oder USB 2.0 ersetzt. Selbst der interne Festplattenanschluss EIDE wird nach und nach durch eine serielle Variante namens Serial ATA ersetzt.
Für diesen Wechsel zu seriellen Leitungen gibt es gute Gründe: Sie benötigen vor allem weniger Strom und können längere Entfernungen überwinden als parallele Leitungen. Das Problem der geringeren Datenübertragungsleistung, das die Entwickler früher in manchen Bereichen zur Verwendung der parallelen Datenübertragung zwang, konnte dadurch gelöst werden, dass die hervorragende Verarbeitungsqualität heutiger Leitungen den Transport von Daten mit hoher Frequenz ermöglicht.
Noch ein Wort zur Angabe der Übertragungsgeschwindigkeiten verschiedener Leitungen: Bei parallelen Leitungen lässt sie sich einfach in Byte pro Sekunde beziehungsweise den entsprechenden höheren Einheiten (Kilobyte/s, Megabyte/s und so weiter) angeben. Diese Einheiten werden jeweils mit 210 (1024) multipliziert, um zur nächsthöheren zu gelangen – 1 Kilobyte ist also 1024 Byte, 1 Megabyte 1024 Kilobyte und so weiter.
Serielle Leitungen verwenden, wie oben erläutert, unterschiedliche Bitfolgen zur Darstellung der Datenbytes. Ein tatsächliches Datenbyte kann je nach Übertragungsstandard durch eine Bitfolge von 8, 9 oder sogar 10 Bits dargestellt werden. Deshalb lässt sich die Geschwindigkeit einer seriellen Leitung nicht in Byte/s oder Vielfachen davon angeben. Sie wird stattdessen in Bit pro Sekunde (bps) gemessen. Beachten Sie, dass die Vervielfältigungseinheiten von Bit (Kilobit, Megabit, Gigabit) nicht mit dem Faktor 1024, sondern mit der dezimalen 1000 gebildet werden.
Hat zum Beispiel ein Modem eine Übertragungsrate von 56,6 Kbps (Kilobit pro Sekunde), dann bedeutet dieser Wert, dass in einer Sekunde 56.600 Bit übertragen werden. Wird der Übertragungsstandard 8N1 verwendet, dann muss dieser Wert durch 9 geteilt werden, um auf die maximal transportierbaren Bytes zu kommen: Es sind etwa 6289 Byte oder 6,14 Kilobyte. In der Praxis vereinfacht man solche Rechnungen allerdings häufig und legt 8 Datenbits zugrunde. 56.600 Bit wären demnach 7075 Byte oder 6,91 Kilobyte.
Zur Regelung der geordneten Kommunikation zwischen Prozessor, Arbeitsspeicher und Peripheriegeräten, werden verschiedene Kommunikationsressourcen verwendet. Es handelt sich um Kanäle für Hardware-Interrupts, um Speicheradressen, über die der Datenaustausch geregelt wird, und über so genannte DMA-Kanäle für die direkte Übertragung von Daten in den Arbeitsspeicher und zurück.
IRQs
Damit sich die Anfragen der verschiedenen Geräte nicht in die Quere kommen und der Prozessor sie unterscheiden kann, werden verschiedene IRQs (Interrupt Requests) verwendet. Dafür verwendet jedes Gerät, das kommunizieren möchte, ein einmaliges und eindeutiges Signal. Von diesen Signalen gibt es 16 verschiedene, die von 0 bis 15 durchnummeriert werden; der Prozessor untersucht sie jeweils der Reihe nach, um festzustellen, ob über den jeweiligen IRQ Kommunikation gewünscht wird.
Bei modernen PCI-Mainboards ist IRQ-Sharing möglich. Zwei oder mehr moderne Geräte können sich denselben IRQ teilen und mit Hilfe anderer Techniken erkennbar machen, um welches dieser Geräte es sich tatsächlich handelt. Zu diesem Zweck enthält der Chipsatz eine Komponente, die als programmierbarer Interrupt-Controller (PIC) bezeichnet wird. Bei Motherboards mit der veralteten ISA-Architektur ist IRQ-Sharing dagegen vollkommen ausgeschlossen.
Einige IRQs sind standardmäßig reserviert. Bei manchen von ihnen kann die voreingestellte Belegung verändert werden, andere sind dagegen fest zugewiesen. Tabelle 3.3 zeigt eine entsprechende Übersicht.
| IRQ | Gerät | Änderung möglich |
| 0 | Systemtaktgeber | nein |
| 1 | Tastatur | nein |
| 2 | Programmierbarer Interrupt-Controller | nein |
| 3 | Serieller Port COM 2 | ja |
| 4 | Serieller Port COM 1 | ja |
| 6 | Diskettenlaufwerk | ja |
| 7 | Parallelport | ja |
| 8 | Echtzeituhr | nein |
| 12 | PS/2-Maus | ja |
| 13 | Koprozessor | nein |
| 14 | Erster IDE-Controller | ja |
| 15 | Zweiter IDE-Controller | ja |
I/O-Adressen
Eine weitere wichtige Kommunikationsressource ist die I/O-Basisadresse: Diese Speicheradresse markiert den Beginn eines Adressblocks, der für den Austausch von Konfigurations- und Steuerungsinformationen zwischen dem Prozessor und dem jeweiligen Gerät verwendet wird. Die jeweiligen Adressen werden hexadezimal angegeben und liegen ganz unten im adressierbaren Bereich. Die Adressbereiche werden in der Regel im Abstand von 0x20 (dezimal 32 Byte) belegt, also zum Beispiel 0x0200, 0x0220, 0x0240 und so weiter. Beachten Sie, dass es sich nicht wirklich um Adressen im Arbeitsspeicher handelt, sondern um spezielle Geräteschnittstellen, die vom Prozessor nach derselben Logik angesprochen werden wie Speicheradressen.
Eine nicht mehr besonders wichtige Ressource sind die DMA-Kanäle (Direct Memory Access). Bei DMA handelt es sich um ein Verfahren zur direkten Übertragung von Gerätedaten in den Arbeitsspeicher und umgekehrt, ohne dass jedes einzelne Datenbyte den Prozessor passieren muss. Diese Technik beseitigt einen der bedeutendsten Engpässe der klassischen Ein- und Ausgabesteuerung, ist also alles andere als unwichtig. Allerdings wird die DMA-Steuerung der meisten Geräte heute nicht mehr über die klassischen DMA-Kanäle durchgeführt, sondern über ein verbessertes Verfahren, das als Bus Mastering bezeichnet wird. DMA-Kanäle werden eigentlich nur noch für Soundkarten und Diskettenlaufwerke verwendet, vor allem, weil es sich nur um 8- und 16-Bit-Kanäle handelt.
Ressourcen-Zuteilung
Die Zuweisung der Ressourcen musste früher umständlich von Hand vorgenommen werden. Zunächst mussten sie am Gerät selbst eingestellt werden – anfangs durch Jumper, später per Software. Anschließend wurde dem Betriebssystem mitgeteilt, welche Ressourcen das jeweilige Gerät verwendete. Allzu oft kam es zu Ressourcenkonflikten, vor allem waren chronisch zu wenige IRQs vorhanden.
Besser wurde es erst mit der Einführung von Windows 95, das über – anfangs kein sehr gutes – Plug & Play verfügte, und vor allem mit der Abschaffung der alten ISA-Schnittstellen. »ISA-Plug & Play« ist nämlich im Grunde ein Widerspruch in sich. Es funktionierte so schlecht, dass es allgemein als »Plug & Pray« bezeichnet wurde.
Beim Mac funktioniert die Verwaltung der Hardware-Ressourcen übrigens erheblich einfacher als beim PC. Vor allen Dingen findet sie vollautomatisch statt, ohne dass Sie sich darum kümmern müssen. Dies ist einer der großen Vorteile von Hardware, die aus demselben Haus stammt wie das Betriebssystem – sie ist optimal darauf abgestimmt.
Viele wichtige Peripheriegeräte werden schon seit den Anfangstagen der PCs als Einsteckkarten realisiert. Dies hat vor allen Dingen den Vorteil, dass diese Karten Anschlüsse nach außen führen können: Grafikkarten, Netzwerkkarten oder Soundkarten sind jeweils mit spezialisierten Schnittstellen ausgestattet, an die ein Monitor, ein Netzwerkkabel beziehungsweise Ton-Ein- und Ausgabegeräte angeschlossen werden.
Karten einbauen
Eine Karte verfügt am unteren Rand über eine lange Reihe von Anschlüssen, mit denen sie in den jeweils passenden Slot auf der Mainboard gesteckt wird. Den Abschluss nach außen, zur Geräterückseite, bildet ein Slotblech, auf dem sich die genannten externen Anschlüsse befinden. Der obere Rand des Slotblechs ist nach außen gebogen und wird mit einer Schraube fixiert.
Es gibt folgende verschiedene Arten von Kartenschnittstellen:
| Der PCI-Anschluss (Peripheral Component Interface) ist der Standard-Kartenanschluss für PC und Mac. Der PCI-Bus wird mit einer Takfrequenz von 33 MHz betrieben und besitzt eine Datenbreite von 32 Bits. Die Konfiguration erfolgt bei entsprechend ausgestatteten Betriebssystemen per Plug & Play. |
| Der AGP-Anschluss (Accelerated Graphics Port) ist ein spezieller Anschluss für Grafikkarten. Die Taktfrequenz ist höher als bei PCI, sie beträgt mindestens 66 MHz. Es gibt inzwischen auch Varianten mit 100 und 133 MHz. Die Datenbreite wurde auf 64 Bit verdoppelt. |
| Der veraltete ISA-Anschluss (Industry Standard Architecture) wird auf aktuellen Mainboards nicht mehr eingebaut. Im Vergleich zu heutigen Schnittstellen war er sehr viel langsamer: Seine Datenbreite betrug lediglich 16 Bits, die Taktfrequenz nur 16,7 MHz. |
Notebooks besitzen keine internen Kartenschnittstellen, sind aber häufig mit einem externen Anschluss für spezielle kleine Einsteckkarten ausgestattet, dem PCMCIA-Anschluss (Personal Computer Memory Card International Association3 ) oder auch PC-Card-Anschluss. Ursprünglich handelte es sich um einen Anschluss für Flash-ROM-Speicherkarten, inzwischen wird er für unterschiedliche Peripherie wie Netzwerkkarten, Modems oder externe Laufwerke genutzt.
Für Festplatten, CD-ROM-Laufwerke und andere Massenspeicher gibt es zwei verschiedene wichtige Arten von Anschlüssen: EIDE und SCSI.
EIDE
EIDE (Enhanced Integrated Device Electronics) ist auf den meisten Mainboards integriert. In der Regel sind zwei Anschlüsse für 40-polige Flachbandkabel vorhanden. Mit jedem der beiden Anschlüsse können je zwei Geräte verbunden werden. Eines der beiden Geräte wird als Master bezeichnet, das andere als Slave. Der Master hat beim Datenaustausch Priorität, im Zweifelsfall muss der Slave auf Daten warten. Deshalb sollten CD- und DVD-Brenner niemals als Slave betrieben werden, weil ein Abreißen des Schreibdatenstroms den beschreibbaren Datenträger zerstören kann.
Die Unterscheidung zwischen Master und Slave hat übrigens nichts mit der Reihenfolge am Kabel zu tun, auch wenn es bei manchen Geräten noch die historische Einstellmöglichkeit »Cable Select« gibt. Die Einstellung, ob ein Gerät als Master oder als Slave betrieben wird, erfolgt durch einen Jumper oder DIP-Schalter am Gerät selbst.
Damit die Stecker der Flachbandkabel korrekt eingesteckt werden, besitzt das Kabel eine rote Ader; diese Seite gehört an den Pin mit der Nummer 1. Sowohl die Mainboard als auch die Geräte sind meist entsprechend beschriftet. Bei den Laufwerken befindet sich die 1 meistens neben dem Stromanschluss.
Der wichtigste Vorteil gegenüber SCSI besteht darin, dass EIDE-Geräte erheblich günstiger sind. Im normalen Alltagsbetrieb an PCs ist die Leistungsfähigkeit darüber hinaus vergleichbar; SCSI ist nicht schneller, sondern nur belastbarer, und daher für Server und andere Hochleistungsmaschinen besser geeignet. Der größte Nachteil von EIDE besteht dagegen darin, dass der Anschluss elektrisch instabil ist und die maximale Kabellänge somit nur 60 cm beträgt, weshalb es keine externen EIDE-Geräte gibt. Dies wird sich allerdings in den nächsten Jahren ändern, weil EIDE immer häufiger durch den technisch kompatiblen, aber anders aufgebauten Serial-ATA-Anschluss ersetzt wird.
SCSI
SCSI ist die Abkürzung für Small Computer System Interface. Wie der Name vermuten lässt, wurde diese Schnittstelle ursprünglich nicht für PCs konzipiert, sondern eben für Kleincomputer (die etwa so groß wie Kleiderschränke sind).
Eine SCSI-Schnittstelle bietet die Möglichkeit, 7 Geräte anzuschließen; der neuere Wide-SCSI-Standard erlaubt sogar 15. Bei allen älteren Macs bis zum ersten G3-PowerMac von Mitte 1998 war SCSI integriert und wurde auch für die bereits eingebauten Festplatten und CD-ROM-Laufwerke verwendet. Bei PCs ist SCSI nur sehr selten onboard und wird meist als PCI-Einsteckkarte nachgerüstet. Die meisten dieser SCSI-Karten stammen von der Firma Adaptec.
Ein SCSI-Controller verfügt in der Regel über drei Anschlüsse: zwei interne für 50-polige Flachbandkabel sowie einen externen, an den entweder ein 25-poliges Centronics-Kabel (optisch identisch mit dem klassischen Parallelport eines PCs, aber technisch abweichend) oder ein modernes SUB-D-Kabel angeschlossen werden kann.
Beachten Sie, dass Sie von diesen drei Anschlüssen nur zwei verwenden dürfen! Am SCSI-Controller dürfen Geräte nur busförmig angeschlossen werden, das heißt hintereinander in einer Kette, und nicht etwa sternförmig (mit drei Abzweigungen).
Das erste und das letzte Gerät in der Kette benötigen jeweils einen Abschlusswiderstand, auch Terminator genannt. Dieser sieht je nach Geräteart unterschiedlich aus: Die meisten internen Geräte wie Festplatten oder CD-ROM-Laufwerke verwenden hierfür einen Jumper. Bei externen Geräten (Scanner, externe Festplatten, CD-Brenner und so weiter) gibt es hingegen oft die Möglichkeit, über einen durchgeschleiften Anschluss ein weiteres Gerät anzuschließen. In diesem Fall ist der Terminator oftmals nur ein großer Stecker, der auf diesen Anschluss gesetzt wird, oder manchmal auch ein Dip-Schalter.
Wenn der SCSI-Controller selbst ein Ende der Kette bildet, weil nur einer der drei Anschlüsse genutzt wird, dann muss er ebenfalls terminiert werden: Dies geschieht oft mittels eines Jumpers oder DIP-Schalters, bessere Controller terminieren sich in diesem Fall automatisch selbst.
Damit SCSI-Geräte angesteuert werden können, benötigen sie eine eindeutige Nummer, die als SCSI-ID bezeichnet wird. Diese hat nichts mit der Reihenfolge in der Kette zu tun; wichtig ist nur, dass jede verwendete Nummer einmalig ist. Beim klassischen SCSI existieren die IDs 0 bis 7, bei Wide SCSI dagegen 0 bis 15. Je höher die Nummer eines Gerätes, desto höher ist seine Priorität. Der Controller selbst hat daher meist die ID 7 beziehungsweise 15.
Je nach Gerätesorte wird die ID auf unterschiedliche Weise eingestellt: Bei den meisten externen Geräten gibt es einen Drehschalter mit vielen Auswahlmöglichkeiten oder einen DIP-Schalter, der nur zwei Optionen bietet. Bei internen SCSI-Geräten wird die ID oft durch einen oder zwei Jumper eingestellt. Manchmal besitzen sie auch einfach eine festgelegte ID. Vor dem Kauf eines weiteren Gerätes müssen Sie deshalb darauf achten, dass Sie keines mit derselben festen SCSI-ID kaufen. Bei neueren Geräten erfolgt die Konfiguration meist bequem per Software.
Alle modernen Rechner sind mit neuartigen seriellen Schnittstellen für externe Geräte ausgestattet. Gegenüber dem schwierig einzurichtenden, fehleranfälligen SCSI-Anschluss besitzen sie den Vorteil, dass sie völlig ohne Konfigurationsaufwand benutzt werden können.
Der USB-Anschluss (Universal Serial Bus) existiert in zwei verschiedenen Versionen: USB 1.0 und 1.1 arbeiten mit einer Datenübertragungsrate von 12 MBit/s, USB 2.0 vervielfacht diesen Wert auf 480 MBit/s. An die USB-Anschlüsse eines Rechners können insgesamt 127 Geräte angeschlossen werden, wozu allerdings so genannte USB-Hubs als Verteilungsgeräte notwendig sind.
Die IEEE-1394-Schnittstelle, die von Apple unter dem Namen FireWire vermarktet wird, arbeitet mit einer Übertragungsrate von 400 MBit/s. Die neuere Variante FireWire 800 unterstützt die doppelte Geschwindigkeit. Der Hauptverwendungszweck dieses Anschlusses ist der digitale Videoschnitt, deshalb wird er auch als DV-Schnittstelle bezeichnet. An den FireWire-Port lassen sich bei entsprechender Vervielfältigung bis zu 63 Geräte anschließen.
Hot Plugging
Beide Schnittstellen unterstützen das so genannte Hot-Plugging-Verfahren: Es ist vorgesehen, dass Geräte im laufenden Betrieb ein- und ausgesteckt werden können. Das Betriebssystem lädt dann automatisch die passenden Treiber und sollte sie nach Gebrauch auch wieder entfernen.
USB wird nicht nur für Drucker, Modems, Scanner, Digitalkameras und externe Festplatten oder CD-Brenner eingesetzt, sondern – zumindest beim Mac – auch für Tastatur und Maus. Beim PC werden dagegen in der Regel die so genannten PS/2-Anschlüsse für Tastatur und Maus verwendet. Zu beachten ist, dass PS/2-Kabel niemals im laufenden Betrieb ein- oder ausgestöpselt werden dürfen, dies kann die Mainboard ernsthaft beschädigen!
Viele PCs sind neben USB und FireWire auch heute noch mit den klassischen seriellen und parallelen Schnittstellen ausgestattet. PCs, die diese Anschlüsse nicht aufweisen, werden als »Legacy-free« bezeichnet.
Die alte serielle Schnittstelle (RS-232 oder V.24) wurde ursprünglich für den Anschluss von Terminals an Kleincomputer konzipiert. Beim PC diente sie lange Jahre als Maus- und Modemanschluss. Heute hat ihre praktische Bedeutung dagegen stark nachgelassen. (Am ehesten wird sie vielleicht noch für Messgeräte verwendet, die ihre Daten zur Auswertung an spezielle Software übermitteln. Alte Macs verfügten über eine technisch sehr ähnliche Schnittstelle, die als RS-422 bezeichnet wurde. Optisch war dieser Anschluss allerdings eher mit der PS/2-Schnittstelle eines heutigen PCs vergleichbar.)
Ein weiterer klassischer Anschluss ist der Centronics-Parallelport (benannt nach einem längst vergessenen Druckerhersteller). Er wurde bis vor kurzem vor allem für Drucker eingesetzt, wird aber zunehmend durch USB verdrängt.
Ein moderner Rechner mit seinen zahlreichen Peripheriegeräten verursacht ein kaum zu bändigendes Durcheinander von Kabeln. Aus diesem Grund wächst die Beliebtheit von Lösungen, die den Anschluss von Geräten ohne Kabel ermöglichen. Grundsätzlich gibt es zwei verschiedene Ansätze: Infrarot- und Funkanschlüsse.
Die Infrarot-Technologie ist von der Fernseh-Fernbedienung bekannt. Sie benötigt Sichtkontakt zwischen Gerät und Empfangsstation und arbeitet verhältnismäßig langsam. Andererseits kann es bei Infrarot-Schnittstellen nicht zu den Störungen kommen, denen Funkverbindungen ausgesetzt sein können. Infrarot-Anschlüsse sind vor allem für Tastaturen und Mäuse geeignet. Der verbreitetste Standard für Infrarot-Anschlüsse, der auch bei Handys und PDAs verbreitet ist, wird IrDA genannt.
Bluetooth
Funkanschlüsse arbeiten fast immer mit Mikrowellen im Frequenzbereich von 2,4 GHz – dieses Frequenzband hat den Vorteil, dass es lizenzfrei ist, weil es auch von Mikrowellenöfen genutzt wird. Allmählich kristallisiert sich ein einheitlicher Datenfunk-Standard für den Anschluss von Peripheriegeräten heraus: die Bluetooth-Technologie. Es handelt sich um Funkverbindungen mit einer maximalen Reichweite von etwa 10 Metern und einer Übertragungsrate von 1 MBit/s. Es gibt inzwischen Unmengen von Geräten, die über Bluetooth angeschlossen werden können, beispielsweise Tastaturen, Mäuse, Modems oder Mobiltelefone.
Sowohl Infrarot- als auch Bluetooth-Anschlüsse sind nicht auf allen Mainboards eingebaut, aber inzwischen recht günstig als PCI-Erweiterungskarten oder USB-Stecker erhältlich.
Erheblich höhere Datenübertragungsraten bieten übrigens die drahtlosen Netzwerke, die in Kapitel 13, Netzwerkhardware und -protokolle, ausführlich behandelt werden.
|
| ||||||||||||
| ||||||||||||
| ||||||||||||
| ||||||||||||
| ||||||||||||
Copyright © Galileo Press GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.