3.2 Die Zentraleinheit
Die Zentraleinheit besteht bei einem modernen PC im Wesentlichen aus den Komponenten der Hauptplatine, die auch Mainboard oder Motherboard genannt wird. Im Einzelnen gehören die folgenden wesentlichen Bestandteile dazu:
- Der Mikroprozessor (Central Processing Unit, kurz CPU) ist das eigentliche Herzstück des Computers, das für die Ausführung der Programme sowie für die zentrale Steuerung und Verwaltung der Hardware zuständig ist. Die meisten Desktop-PCs besitzen nur einen Mikroprozessor, maximal sind es in diesem Bereich zwei. Die neueren PC-Mikroprozessoren von Intel und AMD sind im Übrigen Dualcore- oder auch Multicore-Prozessoren, die zwei oder mehr komplette CPU-Kerne in einem Gehäuse vereinen. Wichtig ist in diesem Fall, dass das verwendete Betriebssystem und die Anwendungsprogramme die Verteilung der Arbeit auf mehrere Prozessoren überhaupt unterstützen.
- Der Arbeitsspeicher (das Random Access Memory, kurz RAM) enthält während der Laufzeit die Programme, die gerade ausgeführt werden, sowie die von ihnen verwendeten Daten. Die meisten modernen Betriebssysteme unterstützen die virtuelle Speicheradressierung, die die von Programmen verwendeten Speicheradressen von den physikalischen Adressen abstrahiert und auf diese Weise das Auslagern nicht benötigter Inhalte auf die Festplatte ermöglicht.
- Das ROM (für »Read-only Memory«, also Nur-lese-Speicher) ist bei modernen PCs nicht mehr
so wichtig wie früher. Statt des gesamten Betriebssystems und anderer Programme enthält
es heutzutage in der Regel nicht viel mehr als ein Programm, das beim Einschalten
die wichtigsten Hardwarekomponenten überprüft und dann das Booten des Betriebssystems
von einem Datenträger in Gang setzt. Dieses Programm wird bei Intel-PCs traditionell BIOS genannt, bei älteren Macintosh-Rechnern einfach ROM. Inzwischen kommt jedoch auf beiden Plattformen eine modernere Firmware namens UEFI (United Extensible Firmware Interface) zum Einsatz.
Bei 80er-Jahre-Heimcomputern war das ROM erheblich wichtiger: Fast alle hatten ein einfaches Betriebssystem sowie einen Editor und einen Interpreter für die Programmiersprache BASIC fest im ROM eingebaut. Der Vorteil solcher Systeme war, dass sie unmittelbar nach dem Einschalten verfügbar waren. Der Nachteil bestand natürlich darin, dass es kaum möglich war, ein anderes Betriebssystem zu verwenden als das eingebaute.
Fest ins ROM eingebaute Betriebssysteme oder Anwendungsprogramme besitzen heute nur noch Spezialcomputer: kleine, leicht konfigurierbare Router-Boxen, Industrie-PCs, die aufgrund der unwirtlichen Umgebung ohne mechanische Teile auskommen müssen, oder auch die weitverbreiteten Embedded Systems, also die eingebauten Computer etwa in Automotoren, Spülmaschinen oder Produktionsanlagen.
- Der Chipsatz (englisch: chipset) ist in der Regel fest auf dem Mainboard verlötet. Es handelt sich um eine Gruppe von Schaltkreisen, die spezielle Steuerungsaufgaben übernehmen. Sie enthalten vor allem die Steuerfunktionen für sämtliche Anschlüsse, die das Mainboard zu bieten hat. Die Qualität der unterschiedlichen Chipsätze hat einen erheblichen Einfluss auf die Performance eines Rechners.
- Die verschiedenen Busse und Schnittstellen dienen zum einen der Kommunikation zwischen den Bestandteilen des Mainboards, zum anderen dem Anschluss aller Arten von Peripheriekomponenten, angefangen bei den diversen Steckkarten wie Sound-, Grafik- oder Netzwerkkarten über verschiedene Arten von Laufwerken bis hin zu Druckern, Scannern oder Digitalkameras.
Bitte beachten Sie, dass die auf vielen Mainboards enthaltenen Onboard-Komponenten, also die fest verlöteten Grafik-, Sound- oder Netzwerkanschlüsse samt Steuerchips, formal kein Bestandteil der Zentraleinheit sind; sie gehören trotz ihrer Unterbringung auf der Hauptplatine zur Peripherie.
In älterer Literatur werden die Begriffe Zentraleinheit und Central Processing Unit (CPU) manchmal synonym gebraucht; laut einer solchen Begriffsverwendung besteht diese »CPU« aus Mikroprozessor und Arbeitsspeicher. Der Fehler kommt zustande, weil die Autoren die Verhältnisse bei Großrechenanlagen der 60er- und 70er-Jahre des 20. Jahrhunderts vor Augen hatten. Diese Geräte besaßen noch keine Mikroprozessoren, das Rechenwerk und der Arbeitsspeicher (Core) ließen sich tatsächlich nicht ohne Weiteres voneinander trennen.
3.2.1 Aufbau und Aufgaben des Prozessors
Mikroprozessoren sind komplexe integrierte Schaltkreise, die anfangs aus einigen Tausend Transistoren bestanden. Heute setzen sie sich sogar aus mehreren Millionen Transistoren zusammen, sind aber nicht viel größer als die ursprünglichen Prozessoren. Wegen des Fortschritts der fotolithografischen Verfahren, mit denen die Schaltungen auf die Siliziumscheiben aufgebracht werden, wird die Integrationsdichte immer höher.
Der Mikroprozessor wird auf die Hauptplatine aufgesteckt. Es gibt zahlreiche verschiedene Bauformen und Prozessorsockel, die sich im Laufe der Jahre stark verändert haben. Selbst innerhalb der Welt der Intel-kompatiblen PCs passt bei Weitem nicht jeder Prozessor auf jedes Mainboard.
Bis zum Pentium Pro steckten alle Intel-Prozessoren waagerecht in einem Sockel; sie waren rechteckig (bis zum 386er-Prozessor) und später quadratisch und besaßen unterschiedliche Anzahlen von Pins (Anschlüssen). Der Pentium II, die ersten Pentium III-Modelle und manche ältere AMD-Athlon-CPUs waren erheblich größer und wurden senkrecht in einen Slot gesteckt. Das liegt daran, dass bei diesen Prozessoren der Level-2-Cache, ein schneller Zwischenspeicher, in das Prozessorgehäuse integriert wurde.
Da die Integrationsdichte der Transistoren auf dem Prozessor jedoch immer noch weiter gesteigert werden konnte, gelang es, spätere Pentium-III-Modelle, den Pentium 4, den AMD Athlon XP und neuere Modelle mitsamt L2-Cache wieder in die klassische Sockelform zu bringen, die weniger Strom verbraucht und besser zu kühlen ist.
Technischer Überblick
Schematisch gesehen besitzt ein Mikroprozessor die folgenden Bestandteile:
- Die ALU (Arithmetic-Logical Unit oder auf Deutsch arithmetisch-logische Einheit) ist die moderne Verwirklichung eines
Rechenwerks. Dieser Teil des Prozessors führt mathematische Operationen und logische
Verknüpfungen durch. Heutige Prozessoren besitzen in der Regel getrennte ALUs oder
ALU-Teile für ganzzahlige Operationen und für Fließkommaoperationen; die Fließkommakomponente
wird dabei als Floating Point Unit (FPU) bezeichnet. Bei früheren Prozessoren mussten die Fließkommaoperationen durch komplexe Ganzzahlberechnungen
simuliert werden; später verwendete man externe Fließkommaeinheiten, die als arithmetische Koprozessoren bezeichnet wurden.
Bei den Intel-Prozessoren besaß erst der 486 DX eine eingebaute Fließkommaeinheit, das Vorgängermodell 486 SX konnte optional durch den Koprozessor 487 ergänzt werden. Dieses Verfahren hatte Intel bereits ab dem 8086-Prozessor und dem separat erhältlichen Koprozessor 8087 verwendet.
- Die Register sind einzelne, spezialisierte Speicherstellen innerhalb des Prozessorkerns. Die ALU rechnet vor allem mit Werten, die innerhalb der Register abgelegt sind. Verwechseln Sie die Register nicht mit dem Arbeitsspeicher; ein typischer Prozessor besitzt nur relativ wenige Register (zum Beispiel 32 Stück) und verwendet sie nicht zur längerfristigen Ablage von Informationen.
- Das Steuerwerk (Control Unit) übernimmt die Kontrolle über die Ausführung des Programmcodes und
initiiert andere Steuerungsfunktionen. Der Befehlszeiger, ein spezielles Register, verweist auf die Speicheradresse, aus der der nächste Programmbefehl
gelesen wird. Bei einem Sprung im Programm muss der Befehlszeiger auf die richtige,
neue Adresse gesetzt werden. Ein weiteres Register, das vom Steuerwerk verwaltet wird,
ist der Stack-Zeiger (Stack Pointer), der die aktuelle Position auf dem Stack anzeigt.
Heutzutage sind Steuerwerke recht komplizierte Bauteile, weil bereits auf Prozessorebene Unterstützung für die abwechselnde, scheinbar gleichzeitige Ausführung mehrerer Prozesse (Multitasking) eingebaut ist. Aus diesem Grund genügt es nicht, dass das Steuerwerk sich um den Gang eines linear ablaufenden, höchstens durch Sprünge verzweigenden Programms kümmert, sondern es muss in Zusammenarbeit mit Mechanismen des Betriebssystems dafür sorgen, dass ein sauberer Wechsel zwischen den verschiedenen Prozessen stattfindet. Das Konzept wird in Kapitel 5, »Betriebssystemgrundlagen«, genauer erläutert.
- Die Befehlstabelle (Instruction Table) ermöglicht die Decodierung der verschiedenen Maschinenbefehle in einem Computerprogramm: Jeder Befehl, der aus dem laufenden Programm gelesen wird, besitzt einen bestimmten numerischen Wert. Je nach Befehlsnummer werden unterschiedliche Schaltungen aktiviert, die für ein bestimmtes Verhalten des Prozessors sorgen.
- Über verschiedene Busse (Datenleitungen) ist der Prozessor mit der Außenwelt, also mit den anderen Komponenten des Mainboards, verbunden: Der Datenbus dient dem Austausch von Dateninhalten mit dem Arbeitsspeicher, der Adressbus überträgt die zugehörigen Speicheradressen, und der Steuerbus kümmert sich um die Ansteuerung der Peripherieanschlüsse.
In heutigen Prozessoren sind darüber hinaus die sogenannten Caches 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 Caches 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:
- Der Level-1-Cache ist unmittelbar im Prozessorkern untergebracht und wird mit derselben Taktrate (siehe den nächsten Unterabschnitt, »Leistungsmerkmale von Prozessoren«) betrieben wie der Prozessor selbst. Er ist sehr klein; beim Intel Pentium 4 war er beispielsweise nur 16 KByte (12 KByte für Befehle, 4 KByte für Daten) groß, beim AMD Athlon 128 KByte (je 64 KByte für Befehle und Daten), und beim aktuellen Intel i7 sind es 4 x 64 KByte (jeder der vier Kerne hat einen eigenen L1-Cache mit je 32 KByte für Befehle und Daten). Den L1-Cache verwendet der Prozessor vornehmlich bei der Ausführung sehr kurzer Schleifen aus wenigen Befehlen.
- Der Level-2-Cache war bis zum ursprünglichen Pentium-Prozessor außerhalb des eigentlichen
Prozessorgehäuses auf dem Mainboard untergebracht. Seit dem Pentium II befindet er
sich im Prozessorinneren, ohne zu dessen Kern zu gehören. Er wird mit einem Vielfachen
der Geschwindigkeit des normalen Arbeitsspeichers betrieben, aber mit einem Bruchteil
der Prozessorgeschwindigkeit. Dafür ist er erheblich größer als der L1-Cache, beispielsweise
256, 512 oder gar 1.024 KByte.
Ein erheblich kleinerer Level-2-Cache war übrigens der wichtigste Unterschied zwischen den vor einigen Jahren vorherrschenden »normalen« Prozessoren Intel Pentium 4 und AMD Athlon auf der einen Seite und den abgespeckten Varianten Intel Celeron und AMD Duron auf der anderen. Dies führte zu CPUs, die langsamer arbeiten, aber erheblich billiger sind, darüber hinaus Strom sparen und deshalb gut für den Ausbildungsbereich oder für Notebooks geeignet sind.
- Einige Systeme verfügen auch über einen Level-3-Cache, der entsprechend noch weiter vom Prozessorkern entfernt ist und wiederum langsamere Speicherbausteine verwendet als der L2-Cache.
- Der eigentliche Arbeitsspeicher (RAM) dient der normalen Speicherung der Programme, die aktuell ausgeführt werden, und der von ihnen verarbeiteten Daten. Die RAM-Bausteine, aus denen der Arbeitsspeicher zusammengesetzt ist, arbeiten bei älteren PCs mit derselben Taktrate wie das Mainboard, bei modernen Computern dagegen mit dem 2-, 4- oder sogar 8-Fachen davon.
- Falls auch der normale Arbeitsspeicher nicht mehr ausreicht, um alle Daten der aktuell geladenen Programme aufzunehmen, werden Inhalte aus dem RAM, die nicht besonders dringend benötigt werden, auf die Festplatte ausgelagert. Dieser Vorgang wird je nach Prozessorarchitektur und Betriebssystem als Swapping oder Paging bezeichnet und in Kapitel 5, »Betriebssystemgrundlagen«, näher beschrieben. Moderne Prozessoren unterstützen eine solche virtuelle Speicherverwaltung durch eine eingebaute Komponente namens Memory Management Unit (MMU).
Programmierer haben übrigens so gut wie keinen Einfluss darauf, welche Daten der Prozessor in einem der Caches 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. Anhand dieser Daten kann der Prozessor jeweils entscheiden, ob es sich lohnt, bestimmte Programmteile oder Daten im Cache abzulegen oder nicht.
Leistungsmerkmale von Prozessoren
Dass Prozessoren im Lauf der Jahre immer leistungsfähiger wurden, dürfte allgemein bekannt sein und ist für technische Geräte fast selbstverständlich. Als Maßstab bei Prozessoren – oder allgemein bei integrierten Schaltkreisen – gilt hier das Mooresche Gesetz, das Gordon Moore, einer der Gründer von Intel, 1965 formulierte. Danach verdoppelt sich die Integrationsdichte von ICs alle 18 bis 24 Monate. Bisher trifft dies in etwa zu. Die Integrationsdichte ist allerdings nicht der einzige Faktor, der die Leistungsfähigkeit eines Prozessors bestimmt. Daher ist es 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. Dies beeinflusst unter anderem die Größe des direkt adressierbaren Arbeitsspeichers, die Größe von Ganzzahlen und die Genauigkeit von Fließkommazahlen. Verschiedene Komponenten eines Prozessors können unterschiedliche Wortbreiten aufweisen (auch wenn dies seit Langem unüblich geworden ist):
- Die Wortbreite der Register betrifft die Rechenfähigkeiten der ALU, nämlich die mögliche Größe von Ganzzahlen und die Genauigkeit von Fließkommawerten.
- Die Breite des Datenbusses bestimmt, wie viele Bits gleichzeitig aus dem Arbeitsspeicher gelesen oder in ihn geschrieben werden können. Da dieser Wert also den Datenaustausch mit Programmen betrifft, ist er für Programmierer relevant und wird deshalb als Wertangabe für die Datenbreite des Prozessors selbst verwendet.
- Die Breite des Adressbusses regelt die maximale Größe von Speicheradressen und bestimmt deshalb, wie viel Arbeitsspeicher ein Prozessor überhaupt adressieren kann.
- Die Breite des Steuerbusses ist schließlich relevant dafür, mit welchen Arten von Peripherieanschlüssen ein Prozessor umgehen kann. Erst die Einführung der 32-Bit-Prozessoren ermöglichte deshalb die Entwicklung leistungsfähiger Peripherieschnittstellen wie PCI und AGP.
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.[Anm.: Der Intel 80386 SX besaß zwar 32 Bit breite Register, aber nur einen 16-Bit-Datenbus. Er konnte also schneller rechnen, aber nach außen nicht anders programmiert werden als ein 16-Bit-Prozessor. Aufgehoben wurde dies erst beim 386 DX.]
Neben der Wortbreite gibt es 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 dem Mainboard befindet sich eine Steckbrücke (Jumper) oder ein DIP-Schalter, mit dem der Multiplikator eingestellt wird. Er gibt an, mit dem Wievielfachen der FSB-Taktrate der Prozessor arbeitet.
Ist das 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 aufwendiger, 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 Inhalte verbrauchen sehr viel Zeit. Beispielsweise ist es vollkommen unsinnig, ein speicherhungriges Programm wie die Bildbearbeitung Adobe Photoshop auf einem Rechner mit nur 512 oder 1.024 MByte RAM zu verwenden und zu erwarten, es würde in einigermaßen erträglicher Geschwindigkeit arbeiten.
Die tatsächliche Effizienz von Prozessoren lässt sich übrigens durch andere Werte besser angeben als durch die Taktrate:
- Die Anzahl der Befehle, die in einer Sekunde ausgeführt werden können, wird als MIPS (Million Instructions per Second) bezeichnet. Dieser Wert wird durch Benchmark-Tests (möglichst an realistische Anwendungen angelehnte Abfolgen von Befehlen) gemessen. Wichtig ist, dass für einen realistischen Vergleich unabhängige Benchmark-Programme verwendet werden und nicht diejenigen der Prozessorhersteller.
- Insbesondere für die Multimedia-Fähigkeiten eines Prozessors liefert die Anzahl der pro Sekunde durchführbaren Fließkommaoperationen, FLOPS (Floating Point Operations per Second), einen guten Anhaltspunkt: 3D-Grafik, Audio- und Videoperformance sind auf die Fähigkeit zu möglichst schnellen Fließkommaberechnungen angewiesen.
Prozessorarchitekturen
Es lassen sich zwei grundlegende Prozessorarchitekturen voneinander unterscheiden. Der Unterschied besteht in der Ausstattung der Befehlstabelle:
- Das klassische Modell, das auf Entwicklungen aus den 70er-Jahren basiert, versucht tendenziell, immer mehr und immer komplexere Anweisungen unmittelbar durch einzelne Prozessorinstruktionen zu verwirklichen. Aus diesem Grund wurde es – zur Unterscheidung vom später entwickelten zweiten Modell – nachträglich als CISC (Complex Instruction Set Computer), also als Rechner mit komplexem Befehlssatz, bezeichnet.
- Ein modernerer, in den 80er-Jahren entwickelter Ansatz versucht im Gegenteil, die Struktur des Prozessors zu vereinfachen. Dazu wird der Befehlssatz auf wenige, besonders schnell und einfach auszuführende Befehle vermindert. Komplexere Funktionen lassen sich durch mehrere solcher einfachen Instruktionen verwirklichen. Dieser Konstruktionsansatz beschleunigt die Ausführung der einfachen Befehle erheblich. Sie lassen sich durch ihre simple Struktur in Pipelines (Warteschlangen) anordnen. Dadurch kann auf effiziente Weise ein Befehl nach dem anderen ausgeführt werden. Beim klassischen Prozessordesign konnte dagegen selbst das Lesen des folgenden Befehls erst beginnen, wenn der vorherige vollständig abgeschlossen war. Diese Architektur wird als RISC (Reduced Instruction Set Computer) bezeichnet.
Die Hauptvertreter der CISC-Architektur sind die Prozessoren von Intel und dazu kompatible CPUs wie der AMD Athlon. Allerdings wurden bereits in den im Jahre 1993 vorgestellten Pentium-Prozessor einige Funktionen eingebaut, die bis dahin nur in RISC-Prozessoren verwirklicht worden waren, beispielsweise die zuvor genannten Pipelines.
Dennoch verfolgen Intel und AMD den Weg des komplexen Befehlssatzes konsequent weiter: Der 1995 erschienene Pentium Pro wurde als erster Prozessor 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 mit 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.
Die aktuellen 64-Bit-Desktopprozessoren von Intel und AMD basieren auf der AMD64-Architektur. Diese wurde unter dem Namen Intel64 auch von Intel übernommen. Intels eigene IA64-Architektur wird dagegen nur für Serverprozessoren verwendet.
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 bis 2005 das Herzstück der PowerMacs bildeten. Auch die Prozessoren der Sun-SPARC-, Digital-Alpha- oder MIPS-Baureihen sind RISC-CPUs. Trotz ihres unbestreitbaren Performancevorteils 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 arbeiten
Nach 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:
- Der aktuelle Befehl wird aus dem Programm gelesen; die Stelle wird durch den Befehlszeiger des Prozessors angezeigt.
- Der Prozessor schlägt die Nummer des erhaltenen Befehls in der Befehlstabelle nach und liest je nach Befehl die passende Anzahl darauffolgender Bytes als Parameter dieses Befehls. Dabei rückt der Befehlszeiger hinter das letzte Parameter-Byte, um für das Lesen des nächsten Befehls bereit zu sein.
- Der Befehl wird ausgeführt. Dies ist der komplexeste Teil der Prozessortätigkeit, denn je nach konkretem Befehl können das Lesen von Daten aus dem Arbeitsspeicher, die Ansteuerung von Peripherieschnittstellen, das Rechnen in der ALU oder die Durchführung eines Sprungs im Programm dazugehören.
- Falls ein Sprung stattfindet, wird der Befehlszeiger an die entsprechende neue Position gesetzt. Andernfalls geht es an der nach dem Lesen der Parameter ermittelten Stelle weiter.
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 Pointer.
Ein weiterer Grund, warum Programme nicht immer linear nacheinander ausgeführt werden, sind die zuvor 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.
Der gefürchtete Stack Overflow
Der Stack sorgt übrigens für eines der häufigsten Sicherheitsprobleme, das von Crackern oder Virenprogrammierern beim Einbruch in Computersysteme genutzt wird: Rekursiver Programmcode (der sich selbst als Unterprogramm aufruft, um verschachtelte Probleme zu lösen) enthält mitunter keine korrekte Abbruchbedingung, sodass der Stack irgendwann voll ist – es kommt zum Stack Overflow (Stapelüberlauf). In diesem Moment kann ein Angreifer die oberste Adresse auf dem Stack durch die Startadresse seines schädlichen Programms ersetzen, sodass der nächste Rücksprungbefehl direkt in die Katastrophe führt.
In manchen schlecht abgesicherten Programmen können auch andere Umstände für einen Stack Overflow oder andere Speicherüberläufe sorgen. Beispielsweise überprüfen die String-Funktionen der C-Standardbibliothek (siehe Kapitel 9, »Grundlagen der Programmierung«) nicht, ob der Speicherplatz zur Aufnahme einer Zeichenfolge genügt, sodass ungeprüfte Benutzereingaben den Stack überschreiben könnten.
Im Zusammenhang mit Ein- und Ausgabevorgängen werden darüber hinaus sogenannte 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 eine 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.
Maschinenbefehle
Die 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:
- Hole den Wert aus der Speicherstelle mit der Nummer 9A33 und lege ihn im Rechenregister BX ab. In Intel-Assembler lautet diese Anweisung übrigens folgendermaßen: MOV BX, $9A33.
- Addiere den Wert 10 zum Inhalt des Rechenregisters BX: ADD BX, 10.
- Vergleiche das Register BX mit dem Wert 20: CMP BX, 20.
- Falls der Vergleichsbefehl »gleich« ergeben hat (ein bestimmtes Flag enthält den Wert 0), springe zur Programmadresse C9A4: JE $C9A4 (JE steht für »jump if equals«, also »Sprung, falls gleich«).
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 kein 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 wohldefinierte 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. Allerdings funktioniert dieses Programm 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. Zahlreiche Funktionen, etwa zur Ein- und Ausgabe, werden durch Routinen des Betriebssystems bereitgestellt, die das Programm durch sogenannte Systemaufrufe anspricht. Dieser Mechanismus wird in den nächsten Kapiteln über Betriebssysteme und Programmierung noch genauer erläutert.
3.2.2 Der Arbeitsspeicher
Der Arbeitsspeicher eines Computers enthält die Programme, die aktuell ausgeführt werden, und die Daten, die von ihnen aktuell verarbeitet werden. Eingangs wurde bereits die mehrstufige Speicherarchitektur angesprochen, die vom Prozessor in Zusammenarbeit mit dem Betriebssystem verwaltet wird. In diesem Abschnitt geht es dagegen konkret um den Arbeitsspeicher als Hardwarekomponente.
Der Arbeitsspeicher besteht aus Speicherbausteinen, die als RAM bezeichnet werden; die Abkürzung steht für Random Access Memory (Speicher mit wahlfreiem Zugriff). Der Begriff Random Access bedeutet in diesem Zusammenhang zweierlei:
- Die Inhalte dieses Speichers können sowohl gelesen als auch verändert werden. Den Gegenbegriff bildet das ROM (Read-only Memory), das in Abschnitt »ROM«, näher 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.
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 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 nicht zur Realisation des ganzen Arbeitsspeichers eingesetzt, sondern nur für die Caches.
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 in Kapitel 5, »Betriebssystemgrundlagen«, kurz erläutert.
Der eigentliche Arbeitsspeicher wird in Slots senkrecht auf dem 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 DDR-RAM (oder auch schon für das ältere SD-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:
- Das etwas unglücklich bezeichnete DDR-RAM (die Abkürzung steht für »Double Data Rate«) besteht aus DIMM-Modulen (Double Inline Memory Module), die 168 Kontakte besitzen. Die Besonderheit besteht – wie der Name schon sagt – darin, dass diese Speicherbausteine mit der doppelten Datenrate gegenüber herkömmlichen 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. Inzwischen ist die dritte Generation dieser Bausteine üblich, das DDR3-RAM.
- Das inzwischen aussterbende SD-RAM (Synchronous Dynamic RAM) wird ebenfalls in Form von DIMM-Modulen geliefert, ist äußerlich also baugleich mit dem DDR-RAM. Der Zugriff auf diesen Speicher erfolgt mit der Taktfrequenz des Mainboards. 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ärtskompatibel: Werden sie auf einem langsamerem Mainboard aufgesteckt, passen sie sich dessen Taktrate an.
- Noch etwas schneller als SD-RAM und das ursprüngliche DDR-RAM ist das RD-RAM oder
Rambus-RAM. Es wird in Form sogenannter 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 es erheblich schneller arbeitet 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 auch sie selbst erheblich teurer ist als ein DDR-RAM-Modul mit der gleichen Kapazität.
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 4 GByte RAM ein tolerierbarer Wert. Falls Sie dagegen Multimedia- oder DTP-Anwendungen benutzen oder neuere Spiele spielen möchten, sollten es mindestens 8 GByte sein. Moderne Serversysteme brauchen sogar noch erheblich mehr Arbeitsspeicher. Denken Sie daran, dass all diese Werte einem sehr starken Wandel unterworfen sind – die vorliegenden Angaben gelten für Mitte 2013 und werden bald überholt sein.
3.2.3 Das BIOS
Ein besonderer Baustein, der sich seit dem ursprünglichen IBM-PC auf dem 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.
Inzwischen wird das BIOS bei Intel-Rechnern immer häufiger durch EFI (Enhanced Firmware Interface) oder die standardisierte Variante UEFI (Unified EFI) ersetzt. Bei Apple-Rechnern kommt diese moderne Alternative schon seit dem Umstieg auf Intel-Prozessoren im Jahr 2005 zum Einsatz, und auch die neuesten PCs werden immer häufiger mit UEFI geliefert. Die aktuellen Versionen der Betriebssysteme Mac OS X, Windows und Linux unterstützen die Zusammenarbeit mit UEFI problemlos.
ROM
Der BIOS-Baustein ist ein ROM (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.
Im Laufe der Zeit wurden verschiedene Arten von ROM-Bausteinen entwickelt. Die Entwicklung 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 genau einmal programmiert werden und bleibt dann für immer unverändert erhalten. Technisch gesehen enthalten alle Speicherbits im Auslieferungszustand den Wert 1, und eine besonders hohe Programmierspannung verdampft das Metall an den Schaltstellen zu denjenigen Bits, die 0 werden sollen.
- Das EPROM (Erasable PROM) ist wiederbeschreibbar: Der Inhalt kann mit einem EPROM-Brenner geschrieben und durch Ultraviolettlicht-Einwirkung auch wieder gelöscht werden.
- Das EEPROM (Electronically Erasable PROM) ist eine Weiterentwicklung des EPROMs, bei dem auch die Löschung elektronisch erfolgen kann. Gegenüber RAM besitzt es aber immer noch den Vorteil, dass der Inhalt nicht verloren geht, wenn es nicht mit Strom versorgt wird.
- Die modernste Form ist das Flash-EEPROM, auch Flash-EPROM genannt. Wie beim EEPROM kann sein Inhalt mithilfe von Software verändert werden, es ist jedoch kostengünstiger und verbraucht weniger Strom. Dafür ist der Zugriff etwas langsamer als beim Standard-EEPROM. Heutzutage werden nicht nur BIOS-Bausteine meist als Flash-EPROMs realisiert. Verschiedene Arten von Flash-ROMs sind auch beliebt als Speicherkarten für Digitalkameras, und sie arbeiten in den allgegenwärtigen USB-Sticks sowie den modernen SSDs (Solid State Disks), die allmählich beginnen, die klassische Festplatte zu verdrängen.
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 fast von Anfang an vom Datenträger (damals einer 5 ¼-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 klassische BIOS eines PCs
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 werden 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 Ihres Mainboards entnehmen oder im Internet recherchieren, indem Sie Ihre BIOS-Version oder die Bezeichnung Ihres Mainboards in eine Suchmaschine eingeben.
- Das BIOS bietet grundlegende Funktionen zur Kommunikation mit der Hardware an; Betriebssysteme oder Anwenderprogramme können auf diese Funktionen zugreifen. 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: Das im Master Boot Record (Startsektor) des Laufwerks enthaltene Programm wird gestartet. Hier befindet sich in der Regel ein Bootloader für ein bestimmtes Betriebssystem oder ein Bootmanager, der Ihnen die Auswahl zwischen verschiedenen Systemen und/oder Konfigurationen überlässt.
Das BIOS-Setup
Beim Einschalten des Rechners können Sie durch einen speziellen Tastendruck (je nach BIOS meist oder ) 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).
Alle Setup-Einstellungen werden im sogenannten 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 jedes RAM in CMOS-Technik hergestellt, sodass der Name eigentlich unpräzise ist. Dieses RAM wird durch eine Batterie gepuffert, die 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.
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- oder BIOS-Herstellers wiederherzustellen. Beachten Sie aber, dass das Resultat fast immer viel zu konservativ und vorsichtig ausfällt und so den Rechner ausbremst.
Die folgenden Beschreibungen gelten für das Award BIOS eines Pentium-4-PCs. In anderen BIOS-Versionen oder bei älteren oder aktuelleren 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 vornimmt, 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 bei der Beschreibung der Schnittstellen noch genauer 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 der
schnellere Test jedoch.
Die wichtigste Einstellung in diesem Bereich ist die Bootsequenz, 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 oder DVD starten lassen, sollten Sie das Diskettenlaufwerk weglassen, weil dies den Start erheblich beschleunigt – sofern Sie eine solche Antiquität überhaupt noch besitzen.
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 Ihres Mainboards 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 freimachen. Darüber hinaus wird in diesem Dialog eventuell vorhandene Onboard-Peripherie konfiguriert.
- Mithilfe des Power Management Setups 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 Plug & Play-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- oder PC-Herstellers.
- Set Supervisor Password ermöglicht es, ein Passwort einzustellen, das eingegeben werden muss, um wieder ins BIOS-Setup zu gelangen.
- Mit Set User Password dagegen legen Sie ein Passwort für den normalen Start des Rechners fest.
- 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 drücken, weil das BIOS-Setup keinen deutschen Tastaturtreiber lädt; auf einer englischen Tastatur sind Z und Y vertauscht.
BIOS-Updates
Wie bereits erwähnt, sind BIOS-Chips sogenannte 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 erst 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.
In einigen BIOS-Setups haben Sie direkt die Möglichkeit, eine Update-Datei von einem Datenträger auszuwählen und zu laden. Ansonsten läuft das BIOS-Update folgendermaßen ab:
- Ermitteln Sie die genaue Bezeichnung des Mainboards und des bisherigen BIOS.
- Suchen Sie die Website des Board-Herstellers oder des PC-Herstellers oder -Händlers auf, und laden Sie das passende BIOS-Update-Programm herunter.
- Wenn Sie noch einen PC mit Diskettenlaufwerk und Windows XP (oder älter) haben, können Sie leicht eine DOS-Bootdiskette herstellen, von der das BIOS-Update-Programm gestartet wird. 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. Bei einem neueren Rechner können Sie statt der Diskette einen USB-Stick verwenden. Unter Windows können Sie ihn etwa mit dem Drittanbietertool PeToUSB (zum Beispiel http://www.pcwelt.de/downloads/PeToUSB-1235159.html) bootfähig machen, und unter http://masterbootrecord.de/deutsch/bootdisketten.php erhalten Sie ein DOS-Bootdisketten-Image samt Anleitung.
- Entpacken Sie das heruntergeladene Programm, und kopieren Sie es auf die Diskette oder den USB-Stick.
- Booten Sie den Rechner von dem vorbereiteten Datenträger (eventuell müssen Sie im BIOS-Setup zunächst das Booten von Diskette beziehungsweise USB aktivieren; siehe den vorherigen Abschnitt, »Das BIOS-Setup«). Geben Sie an der Eingabeaufforderung den Namen des Update-Programms ein – heißt es beispielsweise UPDATE.EXE, müssen Sie hier update eingeben.
- Leisten Sie den Anweisungen des Programms ganz genau Folge.
- 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.
- 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.
3.2.4 Bus- und Anschlusssysteme
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.
Serielle und parallele Datenübertragung
Das relevanteste Unterscheidungsmerkmal zwischen den verschiedenen Arten von Anschlüssen ist die Frage, ob diese Daten seriell oder parallel übertragen.
Bei der seriellen Datenübertragung werden die einzelnen Bits nacheinander übertragen, bei der parallelen Übertragung dagegen auf mehreren nebeneinanderliegenden Leitungen gleichzeitig (je nach Anschlussart sind es 8, 16, 32 oder 64 Bit).
Auf der untersten Ebene muss zwischen »Sender« und »Empfänger« zunächst einmal Einigkeit darüber herrschen, wie die transportierten Ströme 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 von »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 aufeinanderfolgenden Einsen und Nullen 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 aufeinanderfolgende Datenbits übertragen, sondern dazwischen zusätzliche Kontrollbits. Es existieren 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 Einsen
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 Einsen ergibt.
Falls die Paritätsprüfung beim Empfänger einen Fehler ergibt (beispielsweise drei
empfangene Einsen, Parity 0), liegt auf jeden Fall ein Übertragungsfehler vor. Andererseits
bedeutet ein korrektes Parity-Bit nicht unbedingt, dass die Übertragung fehlerfrei
funktioniert hat. Aus diesem Grund verwenden die meisten Übertragungsverfahren Prüfsummen
auf einer höheren Ebene.
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 aufeinanderfolgende 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 ursprünglich für Modemverbindungen entwickelte 8N1 (8 Datenbits, kein Parity, 1 Stoppbit). Eine Sequenz, die mithilfe 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.
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 oder internes SCSI werden nach und nach durch ihre seriellen Varianten Serial ATA beziehungsweise SAS (Serial Attached SCSI) 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 oder in den entsprechenden höheren Einheiten (Kilobyte/s, Megabyte/s und so weiter) angeben. Diese Einheiten werden jeweils mit 210 (1.024) multipliziert, um zur nächsthöheren zu gelangen – 1 Kilobyte ist also 1.024 Byte, 1 Megabyte 1.024 Kilobyte und so weiter.
Serielle Leitungen verwenden, wie zuvor 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 1.024, sondern mit der (dezimalen) 1.000 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, muss dieser Wert durch 9 geteilt werden, um auf die maximal transportierbaren Bytes zu kommen: Es sind etwa 6.289 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 7.075 Byte beziehungsweise 6,91 Kilobyte.
Hardwareressourcen
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 um sogenannte DMA-Kanäle für die direkte Übertragung von Daten in den Arbeitsspeicher und zurück.
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 benutzt 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 mithilfe 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 war 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 Ü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 |
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 mussten früher umständlich von Hand zugewiesen 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 Hardwareressourcen ü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.
Steckplätze für Erweiterungskarten
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 oder Ton-Ein- und -Ausgabegeräte angeschlossen werden.
Eine Karte verfügt am unteren Rand über eine lange Reihe von Anschlüssen, mit denen sie in den jeweils passenden Slot auf dem 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 Taktfrequenz von 33 MHz betrieben und besitzt eine Datenbreite von 32 Bit; neuere PCI-Varianten bieten sogar 64 Bit. Die Konfiguration erfolgt bei entsprechend ausgestatteten Betriebssystemen per Plug & Play.
- Das neu entwickelte PCI Express (PCIe) bietet noch eine erheblich höhere Leistung. Die eigentliche Besonderheit ist hier jedoch, dass es sich hier nicht mehr um einen Shared Bus für alle Geräte, sondern um einzelne Punkt-zu-Punkt-Verbindungen handelt. Das heißt, PCIe-Geräte können mit dem Prozessor, dem RAM oder miteinander kommunizieren, ohne die Geschwindigkeit anderer Geräte zu beeinflussen.
- Der AGP-Anschluss (Accelerated Graphics Port) war vor der Einführung von PCI Express ein spezieller Anschluss für Grafikkarten. Die Taktfrequenz ist höher als bei klassischem 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 seit vielen Jahren nicht mehr auf Mainboards 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. Dafür waren sie früher häufig mit einem externen Anschluss für spezielle kleine Einsteckkarten ausgestattet, dem PCMCIA-Anschluss (Personal Computer Memory Card International Association[Anm.: Die Langform dieses Akronyms kann sich kein Mensch merken; ich habe ehrlich gesagt ebenfalls bei Google recherchiert. Aus diesem Grund wird die Abkürzung häufig mit »People Can’t Memorize Computer Industry Acronyms« – »die Leute können sich die Abkürzungen der Computerindustrie nicht merken« – aufgelöst.]) oder auch PC-Card-Anschluss. Ursprünglich handelte es sich um einen Anschluss für Flash-ROM-Speicherkarten; später wurde er für unterschiedliche Peripherie wie Netzwerkkarten, Modems oder externe Laufwerke genutzt und inzwischen zugunsten von USB aufgegeben.
Laufwerksanschlüsse
Für Festplatten, CD-ROM-Laufwerke und andere Massenspeicher gibt es zwei wichtige Arten von Anschlüssen: EIDE und SCSI.
EIDE (Enhanced Integrated Device Electronics) wird auch ATA (Advanced Technology Attachments) genannt und war bis vor einiger Zeit auf den meisten Mainboards integriert. In der Regel sind zwei Anschlüsse (Primary und Secondary IDE) für 40-polige Flachbandkabel vorhanden; ein neuerer Standard namens Ultra DMA ermöglicht höhere Datenraten, benötigt aber spezielle 80-polige Kabel. 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 zu beschreibenden 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 das 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.
Vor einigen Jahren begann man mit der Entwicklung einer seriellen Variante des EIDE-Anschlusses, genannt Serial ATA (S-ATA). Um Verwechslungen vorzubeugen, wurde das herkömmliche ATA inzwischen in Parallel ATA (P-ATA) umbenannt.
Hauptvorteile der neuen Version sind die Möglichkeit längerer Kabel (bis zu einem Meter), eine vereinfachte Anschlusstechnik mit dünneren, flexibleren Kabeln und kleineren Steckern sowie die von USB oder FireWire bekannten Hot-Plugging-Fähigkeiten (Gerätewechsel im laufenden Betrieb, siehe im Folgenden).
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, sieben 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 mithilfe 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. Sie 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.
Auch SCSI steht inzwischen in einer seriellen Variante namens SAS (Serial Attached SCSI) zur Verfügung. Die Kabel sind identisch mit den S-ATA-Anschlüssen, und die Konfiguration erfolgt im Gegensatz zum herkömmlichen SCSI weitgehend automatisch.
USB, FireWire und Light Peak
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 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. Die neue Version USB 3.0 unterstützt sogar Datenraten von mindestens 4,8 GBit/s. An die USB-Anschlüsse eines Rechners können insgesamt 127 Geräte angeschlossen werden, wozu allerdings sogenannte USB-Hubs als Verteilungsgeräte erforderlich sind.
Die IEEE-1394-Schnittstelle, die (zunächst nur 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.
Eine neue Schnittstelle für externe Geräte ist das von Intel und Apple entwickelte Light Peak, das bis zu 10 Gigabyte pro Sekunde erreicht. Apple hat die neuesten MacBooks mit solchen Anschlüssen ausgestattet, die hier den Namen Thunderbolt tragen.
Alle modernen externen Schnittstellen unterstützen das sogenannte 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, externe Festplatten und DVD-Brenner sowie für die allgegenwärtigen USB-Sticks eingesetzt, sondern auch für Tastatur und Maus. Bei Apple ist dies schon länger der Fall; bei PCs wurden dagegen bis vor wenigen Jahren die sogenannten 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 das Mainboard ernsthaft beschädigen!
Früher waren PCs sind neben USB und FireWire noch mit den klassischen seriellen und parallelen Schnittstellen ausgestattet. Die ersten PCs, die diese Anschlüsse sowie PS/2 nicht aufwiesen, wurden 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 runde Anschluss allerdings eher mit der PS/2-Schnittstelle eines PCs vergleichbar.)
Ein weiterer klassischer Anschluss ist der Centronics-Parallelport (benannt nach einem längst vergessenen Druckerhersteller). Er wurde bis vor einigen Jahren vor allem für Drucker eingesetzt, inzwischen aber zugunsten von USB völlig aufgegeben.
Drahtlose Schnittstellen
Ein moderner Rechner mit seinen zahlreichen Peripheriegeräten verursacht ein kaum zu bändigendes Durcheinander von Kabeln. Aus diesem Grund – sowie für die immer weiter verbreiteten Mobilgeräte – 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 Fernsehfernbedienung her 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.
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. Inzwischen gibt es fast nur noch einen einheitlichen Datenfunkstandard für den Anschluss von Peripheriegeräten: die Bluetooth-Technologie. Es handelt sich um Funkverbindungen mit einer maximalen Reichweite von etwa zehn 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 4, »Netzwerkgrundlagen«, ausführlich behandelt werden.
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.