PC-Hardwarebuch
Unser Online-Tipp für noch mehr Wissen …
... aktuelles Fachwissen rund um die Uhr – zum Probelesen, Downloaden oder auch auf Papier.
www.InformIT.de
II
Hans-Peter Messmer, Klaus Dembowski
PC-Hardwarebuch Aufbau, Funktionsweise, Programmierung Ein Handbuch nicht nur für Profis
7. Auflage
eBook Die nicht autorisierte Weitergabe dieses eBooks an Dritte ist eine Verletzung des Urheberrechts!
ADDISON-WESLEY An imprint of Pearson Education München • Boston • San Francisco • Harlow, England Don Mills, Ontario • Sydney • Mexico City Madrid • Amsterdam
III
Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.ddb.de abrufbar. Die Informationen in diesem Produkt werden ohne Rücksicht auf einen eventuellen Patentschutz veröffentlicht. Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt. Bei der Zusammenstellung von Texten und Abbildungen wurde mit größter Sorgfalt vorgegangen. Trotzdem können Fehler nicht vollständig ausgeschlossen werden. Verlag, Herausgeber und Autoren können für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Für Verbesserungsvorschläge und Hinweise auf Fehler sind Verlag und Herausgeber dankbar. Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Die gewerbliche Nutzung der in diesem Produkt gezeigten Modelle und Arbeiten ist nicht zulässig. Fast alle Hardware- und Softwarebezeichnungen, die in diesem Buch erwähnt werden, sind gleichzeitig auch eingetragene Warenzeichen oder sollten als solche betrachtet werden. Umwelthinweis: Dieses Produkt wurde auf chlorfrei gebleichtem Papier gedruckt. 10 9 8 7 6 5 4 3 2 1 07 06 05 04 03 ISBN 3-8273-2014-3 © 2003 by Addison-Wesley Verlag, ein Imprint der Pearson Education Deutschland GmbH, Martin-Kollar-Straße 10–12, D-81829 München/Germany Alle Rechte vorbehalten Einbandgestaltung: Barbara Thoben, Köln Lektorat: Rolf Pakendorf,
[email protected] Korrektorat: Friederike Daenecke,
[email protected] Herstellung: Elisabeth Egger,
[email protected] Satz: mediaService, Siegen (www.media-service.tv) Druck und Verarbeitung: Bercker, Kevelaer Printed in Germany
IV
Inhaltsverzeichnis
V
Inhaltsverzeichnis Teil 1: Grundlegendes und Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Die PC-Komponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Das PC-Innenleben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 Gehäuse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2 Netzteil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.3 Mainboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.4 CMOS-RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.5 BIOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.6 Laufwerke. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.7 Grafikadapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.8 Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.9 Netzwerke und LAN-Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 PC-Peripherie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 Tastatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3 Maus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.4 Drucker und die parallele Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.5 Scanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.6 Modems und die serielle Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.7 ISDN und ADSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 4 4 8 13 17 19 21 28 30 41 45 45 50 52 53 56 58 62
Teil 2: Die Mikroprozessoren der Personal Computer . . . . . . . . . . . . . . . . . . . . . . . . .
67
2
Grundlagen der Mikroprozessortechnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Der Feldeffekttransistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Grundlagen maschinennaher Informationsdarstellung . . . . . . . . . . . . . . . . . . . 2.2.1 Dezimal- und Binärsystem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 ASCII-Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.3 Negative Ganzzahlen und Zweierkomplement . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.4 Hexadezimalzahlen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.5 BCD-Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.6 Little-Endian- und Big-Endian-Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Logikgatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Grundlegende Logikelemente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 CMOS-Inverter als Low-Power-Elemente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.3 Ein Beispiel: 1-Bit-Addierer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Die CPU als zentraler Bestandteil aller Computer . . . . . . . . . . . . . . . . . . . . . . . .
67 68 71 72 73 73 74 75 76 76 77 79 81 81
3
Alles begann mit dem Urvater 8086 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Anschlüsse und Signale des 8086 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 8086-Betriebsmodi und der Buscontroller 8288 . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Der 8086 Real Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Zugriff auf den Speicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Wortgrenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Zugriff auf den I/O-Adressraum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 8086 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8 Der 8088 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9 Der 80186/88 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85 85 89 90 90 93 93 94 94 96
1
VI
Inhaltsverzeichnis
4
Kompatibilität nach unten – der 80286 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Anschlüsse und Signale des 80286 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Die 80286-Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Der 80286 Protected Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Die 80286-Speicherverwaltungsregister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 80286-Segmentdeskriptoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.3 80286-Segment- und Zugriffstypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.4 Multitasking, 80286 TSS und das 80286-Task-Gate . . . . . . . . . . . . . . . . . . . . . . . . 4.3.5 80286-Schutz für den I/O-Adressraum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 80286-Buszyklen und -Pipelining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Wortgrenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 80286-Reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97 97 100 100 101 102 102 104 105 105 106 107
5
Einstieg in die 32-Bit-Welt – Der 80386. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Anschlüsse und Signale des 80386 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Der physikalische Speicher- und Portzugriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Der Buszyklus für einen Lesezugriff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 Der Buszyklus für einen Schreibzugriff. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.3 Waitstates oder Wartezyklen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.4 Adress-Pipelining oder Pipelined-Adressierung . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.5 Doppelwortgrenze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.6 Sonderzyklen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.7 Datenbus und Duplizierung von Schreibdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.8 I/O-Adressraum und die Peripherie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.9 I/O-Adressierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.10 I/O-Zyklen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Die Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Die Register in der Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2 Segmentierung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.3 Die Vielzweck- und Segmentregister. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.4 Die Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.5 Steuer- und Speicherverwaltungsregister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
109 109 113 115 117 118 119 121 123 124 125 125 126 127 127 129 131 136 139
6
Programmierung und Betriebsarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Codesegment und Befehlszähler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Stacksegment und Stack-Zeiger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Datensegment DS und Adressierung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Adressierungsarten und Befehlskodierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.1 Programmierung auf Prozessorebene: Mnemonics und der Assembler . . . . . . 6.4.2 Adressierungsarten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.3 Befehlscodierung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.4 Einlesen von Befehlen und Prefetching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5 Der Real Mode, High-Memory-Area und HIMEM.SYS . . . . . . . . . . . . . . . . . . . . 6.6 Interrupts und Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.1 Software-Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.2 Hardware-Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.3 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7 Der Protected Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.1 Segmentselektoren, Segmentdeskriptoren und Privilegierungsstufen . . . . . . . 6.7.2 Globale und lokale Deskriptortabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.3 Umschalten in den Protected Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
143 143 145 146 147 147 148 149 151 153 155 155 157 158 160 160 165 168
Inhaltsverzeichnis
6.7.4 6.7.5 6.7.6 6.7.7 6.7.8 6.7.9 6.8 6.8.1 6.8.2 6.8.3 6.9 6.9.1 6.9.2 6.9.3 6.9.4
VII
Speicheradressierung im Protected Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Steuerungsübergabe und Call Gates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Die Interrupt-Deskriptortabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multitasking, TSS und das Task Gate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schutz des I/O-Adressraums . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exceptions und Schutzmechanismen im Protected Mode . . . . . . . . . . . . . . . . . Paging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logische, lineare, physikalische Adressen und Paging. . . . . . . . . . . . . . . . . . . . Page Directory, Page Tables und Page Frames . . . . . . . . . . . . . . . . . . . . . . . . . . Die Testregister TR6 und TR7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Virtual-8086-Modus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Virtuelle Maschinen und Virtual-8086-Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . Adressen im Virtual-8086-Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Einstieg in den und Ausstieg aus dem Virtual-8086-Mode . . . . . . . . . . . . . . . . Tasks im Virtual-8086-Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
169 170 174 175 179 182 183 183 185 190 192 192 193 193 194
7
Schnell zwischengespeichert – Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 Cache-Prinzip und Cache-Strategien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Cache-Organisation und Assoziativspeicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Cache-Treffer-Bestimmung und optimale Cache-Größe. . . . . . . . . . . . . . . . . . . 7.4 Ersetzungsstrategien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5 On-Chip und Second-Level-Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.6 Cache-Kohärenz und das MESI-Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.6.1 Die vier MESI-Zustände . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.6.2 MESI-Zustandsübergänge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.6.3 L2-Cache-Subsysteme und MESI-Cache-Kohärenzprotokoll . . . . . . . . . . . . . . 7.7 Pipelined Burst Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
199 199 202 205 207 208 209 210 211 213 215
8
Alles in Einem – Der i486. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1 Anschlüsse und Signale des i486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Der interne Aufbau des i486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3 RISC oder CISC ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.1 Die Mikrokodierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.2 Reduzierung auf das Wesentliche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.3 RISC-Kennzeichen auf Hardware-Ebene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.4 RISC-Kennzeichen auf Software-Ebene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4 Die Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.5 Der On-Chip-Cache. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6 Unterschiede und Gemeinsamkeiten von i486 und 80386/80387 . . . . . . . . . . . 8.6.1 Unterschiede in Registerstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6.2 Unterschiede in der Speicherverwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6.3 i486-Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6.4 Der i486-Real-Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6.5 Der i486-Protected-Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6.6 Der i486-Virtual-8086-Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6.7 Integer-Core und Gleitkommaeinheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6.8 FPU-Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.6.9 Der Translation Lookaside Buffer (TLB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.7 Der i486-Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.7.1 Burst-Zyklen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.7.2 Sonderzyklen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.7.3 Invalidierungszyklen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
217 218 224 226 226 230 230 236 238 240 243 243 244 245 246 246 247 247 247 248 248 248 250 250
VIII
Inhaltsverzeichnis
8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9
Testfunktionen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Interne Selbsttest BIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prüfung des TLBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prüfung des On-Chip-Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tristate-Testmodus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der JTAG-Boundary-Scan-Test. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der I/O-Adressraum des i486 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
251 251 251 253 255 255 259
9
Coprozessoren und 386/486-CPU-Derivate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1 Mathematische Coprozessoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.1 Zahlenexkurs – die Darstellung von Gleitkommazahlen . . . . . . . . . . . . . . . . . . 9.1.2 Der Standard – IEEE-Formate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.3 Funktionsweise und Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.4 Die Exceptions des 80387 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.5 Protected Mode und die Speicherabbilder der Befehls- und Datenzeiger . . . . 9.2 386-Prozessorderivate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.1 Abmagerungskur – Die SX-Varianten der Prozessoren . . . . . . . . . . . . . . . . . . . . 9.2.2 386-CPUs anderer Hersteller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.3 Cyrix-386-Prozessoren (486xLC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.4 386- und 486-CPUs in der Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3 486-Prozessorderivate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.1 i486SX und i487SX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.2 i486SX-Upgrade – der i487SX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.3 Die i486DX2-Prozessoren mit interner Taktverdopplung . . . . . . . . . . . . . . . . . . 9.3.4 Der i486DX4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.5 Weitere 486-CPUs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
261 261 263 266 268 275 276 277 278 280 282 283 284 284 286 289 291 297
10
Der Pentium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1 Anschlüsse und Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Interner Aufbau des Pentiums . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.1 Die Integer-Pipelines u und v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.2 Befehlspaarung in den Integer-Pipelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.3 Die Gleitkomma-Pipeline. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.4 Befehlsserialisierung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.5 Dynamische Verzweigungsvorhersage, Branch Prediction Logic. . . . . . . . . . . . 10.2.6 Die Pentium-On-Chip-Caches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3 Pentium-Kompatibilität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.1 Erweiterungen der Pentium-Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.2 Modellspezifische Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.3 Das Feature-Steuerregister TR12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.4 Der Pentium-Real-Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.5 Der Pentium-Protected-Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.6 Der Pentium-Virtual-8086-Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.7 Pentium und Paging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.8 Debug-Erweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.9 Pentium-Reset, Pentium-Init und Selbsttest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.10 CPU-Identifizierung mit CPUID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.11 Neue Pentium Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4 Der Pentium-Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4.1 Einzeltransferzyklen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4.2 Burst-Zyklen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
301 302 315 317 320 323 325 326 328 332 332 334 335 336 337 337 339 339 340 342 343 343 344 344
Inhaltsverzeichnis
10.4.3 10.4.4 10.4.5 10.4.6 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.7.3 10.7.4 10.7.5 10.7.6 10.8 10.9 10.9.1 10.9.2 10.9.3 10.9.4 10.10 10.10.1 10.11 10.11.1 10.11.2 10.11.3
IX
Pentium-Adress-Pipelining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sonderzyklen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abfragezyklen und internes Snooping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interne Pentium-Buspuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der System-Management-Mode des Pentium . . . . . . . . . . . . . . . . . . . . . . . . . . . Die SMM-RAM-Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programmausführung im System-Management-Mode . . . . . . . . . . . . . . . . . . . Rückkehr aus dem System-Management-Mode. . . . . . . . . . . . . . . . . . . . . . . . . . Code-Optimierungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Einfache Straight-Forward-Optimierungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Optimierung mit dem Performance Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . Pentium-Testfunktionen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Pentium JTAG Boundary Scan Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erfassung interner Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erfassung von Busfehlern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programmausführungsverfolgung oder Execution Tracing . . . . . . . . . . . . . . . Hardware-Debug-Unterstützung und Probe Mode . . . . . . . . . . . . . . . . . . . . . . Die Machine Check Exception. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Pentium-I/O-Adressraum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dual Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Allgemeine Dual-Processing-Struktur mit zwei Pentium-Prozessoren . . . . . . Bus-Arbitrierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cache-Konsistenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . On-Chip-APICs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pentium der dritten Generation – MMX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sockel und Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MMX-Technologie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SIMD- und MMX-Datentypen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MMX-Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MMX-Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
347 348 349 350 350 351 352 353 353 353 355 358 358 359 359 360 361 361 362 362 362 363 364 365 366 367 368 369 370 371
11
Pentium-kompatible Mikroprozessoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 CPUs von Cyrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.1 Der Cyrix 6x86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2 Der Cyrix 6x86MX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 CPUs von AMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.1 Der K5 – 5K86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.2 Der AMD K6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.3 AMD-K6-II und AMD K6-III mit Super Sockel 7 . . . . . . . . . . . . . . . . . . . . . . . . . 11.3 IDT WinChip C6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4 CPU-Übersicht und Einstellungsdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
373 373 373 392 393 394 405 406 407 408
12
Reine 32-Bit-Technologie – Der PentiumPro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1 Anschlüsse und Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2 Interner Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2.1 Die funktionalen Einheiten des PentiumPro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2.2 Befehls-Pool und Micro-Ops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2.3 Die L1- und L2-Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3 PentiumPro-Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3.1 Befehle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3.2 Steuerfunktionen in CR4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
411 412 425 425 426 428 429 429 429
X
Inhaltsverzeichnis
12.3.3 12.3.4 12.4 12.4.1 12.4.2 12.4.3 12.4.4 12.4.5 12.5 12.6 12.6.1 12.6.2 12.6.3 12.6.4 12.7 12.8
Der 36-Bit-Adressbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Globale Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modellspezifische Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Die Bereichsregister für den Speichertyp (MTRR). . . . . . . . . . . . . . . . . . . . . . . . . Die Konfigurationsregister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Die Machine-Check-Architektur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Performance-Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Debug-Unterstützung durch modellspezifische Register . . . . . . . . . . . . . . . . . . Reset und Einschaltkonfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Bus des PentiumPro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Busphasen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Busarbitrierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deferred-Transaktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bus-Pipelining und PentiumPro-Bursts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multiprozessorbetrieb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CPUID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
430 433 433 435 440 441 441 444 445 447 447 449 452 452 453 454
13
Pentium II, Pentium III und Celeron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1 Pentium II. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1.1 Anschlüsse und Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1.2 Pentium II-Bus (GTL+) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2 Celeron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2.1 Anschlüsse und Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2.2 Celeron für den Sockel 370 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3 Pentium III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3.1 Familienbande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3.2 Pentium III für den Sockel 370 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3.3 Anschlüsse und Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.4 Celeron III und Celeron 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.5 VIA-Prozessoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.6 Einstellungsdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
457 457 458 463 465 466 466 467 468 469 470 473 473 475
14
Athlon und Duron. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1 Das Busprotokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2 Anschlüsse und Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3 Interner Aufbau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.4 CPUs für den Sockel A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.4.1 Anschlüsse und Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5 Athlon XP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
477 479 479 487 489 490 494
15
Pentium 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1 Interner Aufbau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1.1 Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1.2 Rechenwerke und Pipelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1.3 SSE2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1.4 Businterface und Speicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1.5 Hyper Threading. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2 Anschlüsse und Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3 CPUID-Programm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
497 498 498 499 500 500 501 503 511
Inhaltsverzeichnis
XI
Teil 3: Speicher, Chipsets und Support-Chips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
523
16
Speicherchips – Das Gedächtnis der Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1 Dynamic Random Access Memory – DRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.1 Funktionsweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.2 Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.3 Schichtenstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.4 Refresh – Auffrischung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.5 Organisationsformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.1.6 Betriebsmodi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2 Speichermodule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2.1 Parität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2.2 DIM-Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2.3 Synchronous Dynamic RAM – SDRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2.4 Synchronous Graphic RAM – SGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2.5 Double Data Rate SDRAM – DDR-SDRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2.6 RAMBus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.3 SPD-PROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.3.1 SPD-Daten auslesen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.4 Statisches RAM – SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.4.1 Das Flip-Flop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.4.2 Der Zugriff auf SRAM-Speicherzellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.4.3 Ein typischer SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.5 Langzeitgedächtnis – ROM, EPROM und andere Speicher . . . . . . . . . . . . . . . . 16.5.1 ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.5.2 EPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.5.3 EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.5.4 Flash-Speicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
523 524 525 527 531 533 534 536 541 543 543 546 548 548 552 554 557 561 562 564 565 566 566 567 569 570
17
Chipsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1 486-PCI-Chipset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2 Intel Pentium-Chipsets für den Sockel 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.3 Alternative Sockel 7-Chipsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.4 PentiumPro- und Pentium II-Chipsets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.5 Pentium II/III- und Celeron-Chipsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.5.1 Intel 810-Chipset – Whitney. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.5.2 Intel 820-Chipset – Camino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.5.3 Intel 840-Chipset – Carmel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.5.4 Intel 815-Chipset – Solano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.5.5 Alternative Chipsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.6 Pentium 4-Chipsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.6.1 Chipsets von Intel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.6.2 Chipsets von VIA und SiS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.7 Athlon-Chipsets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
579 579 581 585 587 590 592 595 597 597 599 602 602 604 607
18
Hardware-Interrupts und DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.1 Hardware-Interrupts und programmierbare Interrupt-Controller . . . . . . . . . . 18.1.1 Interrupt-getriebener Datenaustausch und Polling . . . . . . . . . . . . . . . . . . . . . . . 18.1.2 Anschlüsse und Signale des 8259A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.1.3 Interner Aufbau und Interrupt-Acknowledge-Sequenz . . . . . . . . . . . . . . . . . . . 18.1.4 Kaskadierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.1.5 Initialisierung und Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
613 613 613 615 616 619 621
XII
Inhaltsverzeichnis
18.1.6 18.1.7 18.2 18.2.1 19
Maskierung des NMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multiprozessor-Interrupt-Subsysteme und APIC-Modus . . . . . . . . . . . . . . . . . . Direkter Speicherzugriff mit Peripherie und Speicher . . . . . . . . . . . . . . . . . . . . . Der Standard-DMA-Chip 8237A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
627 629 634 636
Mainboard-Peripherieeinheiten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.1 CMOS-RAM und Echtzeituhr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.1.1 Aufbau und Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.1.2 Der Zugriff über das BIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.1.3 Der Zugriff über Adress- und Datenregister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.2 Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.2.1 Anschlüsse und Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.2.2 Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.3 Super I/O-Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.4 Supervisory-Chips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.5 System Management Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.5.1 Funktionsweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.5.2 Adressen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19.5.3 Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
657 658 659 667 667 668 670 672 681 682 686 686 689 690
Teil 4: Personal Computer-Architekturen und -Bussysteme . . . . . . . . . . . . . . . . . . . . 695 20
Bussysteme im PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.1 Die 8-Bit-Architektur – PC-Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.2 32-Bit-Architekturen – EISA und MCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.2.1 Extended Industry Standard Architecture – EISA . . . . . . . . . . . . . . . . . . . . . . . . . 20.2.2 Micro Channel Architecture – MCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.3 Local Bus-Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
695 696 701 702 704 708
21
Die 16-Bit-Architektur – ISA-Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 I/O-Ports und Adressen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 DMA-Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3.1 Speicher-Speicher-Tansfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4 Busslots und -Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4.1 PC-Bus-Signale des ISA-Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4.2 Input/Output-Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4.3 Signale der ISA-Bus-Erweiterung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4.4 16-Bit-Dekodierung und Programmierung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.5 ISA-Plug&Play. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.5.1 Der Konfigurationsmechanismus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.5.2 Linear Feedback Shift Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.5.3 Isolation-Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.5.4 ISA-Plug&Play-Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.5.5 Der Zugriff auf ISA-Plug&Play-Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
711 714 715 716 718 719 720 722 725 726 728 729 732 733 735 739
22
Der PCI-Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.1 PCI-Busstruktur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.2 Buszyklen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.3 Busarbitrierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.4 DMA und Busmastering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.4.1 Scatter Gather Bus Mastering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
741 742 744 749 750 751
Inhaltsverzeichnis
22.5 22.6 22.7 22.7.1 22.8 22.9 22.9.1 22.9.2 22.9.3 22.10 22.10.1 22.10.2 22.11 22.12 22.12.1 22.12.2 22.12.3
XIII
Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I/O-Adressraum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Konfigurationsraum – Configuration Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI-Power Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI-Bus-Slots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI-Bus-Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Standard-32-Bit-Abschnitt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Die 64-Bit-Erweiterung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Signalerweiterungen der Spezifikationen 2.2 und 2.3 . . . . . . . . . . . . . . . . . . . . . PCI-spezifische BIOS-Routinen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Das Interface zum BIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eine universelle PCI-Unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI-X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Switched Fabrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InfiniBand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI-Express . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HyperTransport. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
751 752 754 764 767 770 770 773 775 776 778 783 799 804 805 806 810
23
Accelerated Graphics Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.1 AGP-Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.2 AGP-Slots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.3 AGP-Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.3.1 Signalbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.4 AGP-3.0-Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.5 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
821 821 822 824 827 830 834
24
Riser-Slots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.1 Audio Modem Riser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.2 Communication and Networking Riser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24.3 Advanced Communication Riser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
839 840 843 846
Teil 5: Laufwerke und ihre Interfaces – EIDE und SCSI . . . . . . . . . . . . . . . . . . . . . . . .
847
Grundlagen der magnetischen Aufzeichnung und Datenorganisation . . . . . . . . . . . . 25.1 Diamagnetismus und Paramagnetismus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.2 Ferromagnetismus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.3 Induktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.4 Funktionsprinzip von Disketten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.5 Physikalische Organisation und Aufzeichnung . . . . . . . . . . . . . . . . . . . . . . . . . . 25.5.1 FM- und MFM-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.5.2 Synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.6 Logische Organisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.6.1 Der Aufbau von Partitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.7 Dateizuordnungstabelle – FAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.7.1 Fragmentierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.8 32-Bit- und andere Dateizuordnungstabellen. . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.8.1 Virtual File Allocation Table – VFAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.8.2 New Technology File System – NTFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.8.3 High Performance File System – HPFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
847 847 848 851 851 856 857 860 862 863 867 869 870 871 871 872
25
XIV
Inhaltsverzeichnis
26
Festplatten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.1 Aufbau und Funktionsweise von Festplatten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.1.1 Platten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.1.2 Köpfe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.1.3 Aktuator mit Schritt- oder Linearmotor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.1.4 Luftfilterung und Belüftung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.1.5 Interleaving oder Sektorversatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.1.6 Daten von Festplatten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.2 Aufzeichnungsformate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.2.1 MFM und RLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.2.2 Translation und Zonenaufzeichnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.2.3 High-Level-Formatierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.2.4 Low-Level-Formatierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.3 Traditionelle Festplattenschnittstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.3.1 ST412/506. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.3.2 ESDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.4 IDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.4.1 Signale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.4.2 Adressen und Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.4.3 Befehlsphasen und Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.5 Enhanced IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.5.1 Logical Block Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.5.2 EIDE-Anschlüsse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.5.3 PIO-, DMA- und Ultra-DMA-Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26.6 Serial ATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
873 873 875 876 879 882 883 884 888 888 890 891 891 892 892 894 895 896 899 903 907 908 909 909 911
27
SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.1 Funktionsprinzip. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.2 Signale und Datenübertragung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.3 Busphasen und Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.4 Befehle und Programmierung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.4.1 Advanced SCSI Programming Interface – ASPI . . . . . . . . . . . . . . . . . . . . . . . . . . 27.4.2 Common Access Method – CAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.5 Die verschiedenen SCSI-Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.5.1 SCSI-I und der CCS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.5.2 SCSI-II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.5.3 SCSI-III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.5.4 Fast SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.5.5 Wide SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.5.6 Differential SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.5.7 Ultra SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.5.8 Ultra 2 SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.5.9 Ultra 160 SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27.5.10 Ultra 320 SCSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
913 913 914 917 922 927 929 930 930 931 931 932 932 933 933 934 935 936
28
Optische Laufwerke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.1 CD-ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.1.1 ATAPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.2 CD-R und CD-R/W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.2.1 CD-RW und die Phase-Change-Technologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.3 Magnetooptische Laufwerke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.4 Digital Versatile Disc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.4.1 Realisierungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
939 939 942 944 944 945 947 949
Inhaltsverzeichnis
XV
Teil 6: Schnittstellen, LANs und Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
953
29
Die parallele Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.1 Aufbau und Funktionsweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.2 Direkte Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.2.1 Druckeransteuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.2.2 Allgemeine Verwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29.3 Der bessere Parallel-Port: IEEE-1284 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
953 954 956 957 959 962
30
Die serielle Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.1 Serielle Datenübertragung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.1.1 Synchrone und asynchrone Übertragung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.1.2 Parität und Baudrate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.1.3 Serialisierung und SDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.2 Die RS-232C-Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.2.1 Simplex-Verbindung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.2.2 Halbduplex-Verbindung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.2.3 Vollduplex-Verbindung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.2.4 RS-232C-Logikpegel und Übertragungsraten. . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.3 Typische Verbindungen – Nullmodem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.4 Universal Asynchronous Receiver and Transmitter – UART. . . . . . . . . . . . . . . 30.4.1 Anschlüsse und Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.4.2 Aufbau und Funktionsweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.4.3 Register und Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
969 969 969 969 970 972 974 975 976 978 979 982 982 986 989
31
PCMCIA und Card-Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999 31.1 Grundsätzliche Funktionsweise und Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999 31.2 Card- und Socket-Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001 31.3 Card Information Structure – CIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006 31.4 Configuration-Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008 31.5 Anschlussbelegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008 31.6 Card-Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1011
32
Universal Serial Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1 Anschlüsse und Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Identifizierung und Kommunikation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.3 Pakete und Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.4 USB 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
Firewire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025 33.1 Architektur und Topologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025 33.2 Protokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027 33.3 Controller und PHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1029
34
Lokale Netzwerke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34.1 Netztopologien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34.1.1 Bustopologie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34.1.2 Ringtopologie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34.1.3 Sterntopologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34.2 Zugriffsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34.2.1 CSMA/CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34.2.2 Token-Passing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34.2.3 Token-Bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1015 1017 1019 1021 1023
1033 1033 1035 1035 1035 1036 1036 1038 1039
XVI
Inhaltsverzeichnis
34.2.4 34.2.5 34.3 34.3.1 34.3.2 34.3.3 34.3.4 34.3.5 34.3.6 34.3.7 34.3.8 34.4 34.5 34.6 34.6.1 34.6.2 34.6.3 34.6.4 34.6.5 34.6.6 34.6.7 34.6.8 34.6.9 34.7 34.7.1 34.7.2 34.7.3 34.7.4 34.8 34.8.1 34.8.2 35
100BaseVG-Any-LAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Asynchronous Transfer Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kopplungselemente für Netzwerke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Das OSI-Schichtenmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Repeater . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hubs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bridges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Brouter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gateways . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Token-Ring. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FDDI und CDDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kollisionsdomänen und maximale Ausdehnungen . . . . . . . . . . . . . . . . . . . . . . . Kupferbasierte Netzwerkverbindungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Thick-Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cheapernet oder Thin-Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ethernet mit Twisted-Pair-Kabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fast-Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gigabit-Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lichtwellenleiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-Gigabit-Ethernet – 10GE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aufbau und Programmierung von Netzwerkeinheiten . . . . . . . . . . . . . . . . . . . . Ethernet im OSI-Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ethernet-Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LAN-Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bluetooth und Wireless LANs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IEEE-Wireless LANs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1039 1040 1040 1041 1043 1043 1043 1044 1045 1045 1045 1046 1047 1049 1050 1051 1054 1055 1055 1056 1059 1064 1069 1071 1071 1074 1076 1083 1095 1095 1098
Hardware-Programmierung unter Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.1 Übergang von DOS- zu Windows-Programmen . . . . . . . . . . . . . . . . . . . . . . . . . . 35.1.1 Der Portbaustein 8255 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.1.2 Windows-Programm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.2 Erstellung von DLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.2.1 A/D-Umsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.2.2 DLLs für 32-Bit-Betriebssysteme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.2.3 Aufruf der DLL mit Visual BASIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.2.4 Aufruf der DLL mit Delphi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.2.5 Ein paar Worte zu Assembler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.3 Direkter Hardwarezugriff unter Windows NT . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.3.1 Windows-NT-I/O-Treiber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.4 Windows-Plug&Play . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.5 Programmieren mit dem Windows Driver Model. . . . . . . . . . . . . . . . . . . . . . . . . 35.5.1 IO Request Packets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.5.2 Driver Stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.5.3 Installation Information File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.5.4 WDM-Beispieltreiber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1107 1107 1109 1112 1114 1119 1123 1125 1127 1128 1129 1131 1136 1137 1139 1140 1141 1143
Inhaltsverzeichnis
XVII
Anhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157 A
ASCII- und Tastencodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1 ASCII-Tabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2 Tastencodes (deutsche Tastaturbelegung) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1157 1157 1160
Glossar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1163
Stichwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1215
Teil 1: Grundlegendes und Allgemeines In diesem Teil werden die grundlegenden Komponenten eines Personal Computer sowie verschiedene Peripheriegeräte vorgestellt, die heutzutage eigentlich zu einem PC dazugehören. Damit sollen Sie zunächst in die Begriffe der PC-Welt und den grundsätzlichen Aufbau eines PC eingeführt werden. Dieser Teil des Buches wendet sich an Einsteiger, aber auch Fortgeschrittene werden auf die nachfolgenden, technisch anspruchsvolleren Teile des Buches vorbereitet.
1 Die PC-Komponenten Die Bezeichnung Personal Computer oder kurz PC besagt, dass jeder Benutzer mit seinem eigenen, d.h. persönlichen Computer, arbeiten kann. Als der Original-PC von IBM im Jahre 1981 erschien, verfügte er über einen 16-Bit-Mikroprozessor (8088), der mit 4,7 MHz getaktet wurde, und über einen RAM-Speicher von 64 KByte. Es gab außerdem ein Diskettenlaufwerk mit einer Kapazität von 360 KByte, und optional war ein Kassettenrekorder als Massenspeicher anschließbar. Die Monitore flimmerten oft grün oder auch orange, und eine der hauptsächlichen PC-Anwendungen war die Textverarbeitung; der PC fungierte also oft nur als »intelligente Schreibmaschine«. Monitor
Drucker
PC Maus
Tastatur Abb. 1.1: Die PC-Grundausstattung in der 80er Jahren
Wenn Sie sich heute einen PC im Geschäft oder Prospekt ansehen, werden Sie feststellen, dass die eben genannten Daten meilenweit von einem aktuellen PC entfernt sind, auch wenn die Textverarbeitung immer noch ein wichtiges Einsatzgebiet ist. Aber dies ist eben längst noch nicht alles:
2
Kapitel 1
Der PC als Spielplattform mit immer realistischerer wirkender 3D-Grafik, der PC als »Rechenknecht«, der PC als Steuerungscomputer für industrielle Anwendungen, der PC als Musik-Kompositionsmaschine, der PC als Videoschnittplatz, der PC als »Internet-Surfbrett« – und Ihnen wird sicher auch noch die eine oder andere (Lieblings-)Anwendung einfallen. Ein PC lässt sich vom Konstruktionsprinzip her mittels unterschiedlicher Hard- und Software derart zusammenzustellen, dass er eben zu einem persönlichen PC werden kann. Im Grunde genommen war ein PC aber jahrelang ein Gerät für Spezialisten mit dem nötigen Kleingeld von anfangs ca. 5.000 €, und erst im Laufe der Zeit ist er zu dieser universell einsetzbaren Maschine geworden. Aufgrund der sich im rasanten Tempo entwickelnden Halbleitertechnologie ist heutzutage die Anschaffung eines Universalgenies zu einem moderaten Preis möglich. Nicht nur die Vorstellungen über die inneren Werte eines PC haben sich im Laufe der Zeit stark geändert, sondern auch die Vorstellungen darüber, was ein PC mindestens an Funktionalität bieten muss, was sich dementsprechend auch in zusätzlichen Peripheriegeräten niederschlägt. Unter Peripheriegeräten oder kurz Peripherie versteht man im Übrigen alle Einheiten, die sich außerhalb des PC-Gehäuses befinden. Zunächst ist aber ein Gehäuse mit dem Netzteil für die Versorgung der Elektronik vorhanden, die sich auf einer Hauptplatine (Mainboard, Motherboard) befindet und als wichtigste Komponenten den Mikroprozessor sowie den Speicher enthält. Das interne Netzteil versorgt außerdem die jeweiligen Laufwerke (Diskettenlaufwerk, Festplatte) mit Strom, und über Einsteckkarten, die in Steckfassungen (Slots) auf dem Mainboard gesteckt werden, wird der (Minimal-)PC mit einer Grafikkarte für die Ansteuerung eines Monitors sowie mit Schnittstellen für den Anschluss von Peripheriegeräten komplettiert. Für die Bedienung ist noch eine Tastatur notwendig, und spätestens seit es Windows gibt (ca. 1988), gehört auch eine Maus dazu. Als wichtigstes Peripheriegerät gilt dann immer noch ein Drucker. An diesem prinzipiellen Aufbau eines PC hat sich im Grunde genommen über die Jahre nichts geändert, und man erhält damit einen typischen PC-Arbeitsplatz. Gleichwohl bietet ein moderner PC heutzutage weit mehr Möglichkeiten, als diese Minimal-Auslegung zu leisten vermag, wie es oben bereits angesprochen wurde, und daher gehören zu einem aktuellen PC außerdem noch ein DVD-Laufwerk, und ein CD-Writer (Brenner) sowie eine Festplatte mit einer Kapazität von typischerweise 80 GByte und mehr, während in den allerersten PCs die Festplatte eine Kapazität von lediglich 10 MByte besaß. Vom obligatorischen Diskettenlaufwerk hat man sich bei den neueren PC-Modellen mittlerweile verabschiedet, weil seine maximale Kapazität von 1,4 MByte ohnehin schon seit einiger Zeit nicht mehr für Programme ausreicht. Als Verbindung zu anderen Computern ist eine Netzwerkkarte üblich sowie ein Modem für den Internetzugang. Eine Soundkarte mit extern angeschlossenen Lautsprechern sorgt für die akustische »PC-Begleitung«, und eine TV-Radio-Karte rundet die Multimedia-Ausstattung dann meist noch ab. Neben den althergebrachten Schnittstellen, die vorwiegend für den Anschluss eines Druckers (Parallel-Port) und einer Maus (serieller Port) zum Einsatz kommen, gibt es nunmehr wesentlich leistungsfähigere wie den Universal Serial Bus (USB), der diese traditionellen Schnittstellen immer überflüssiger zu machen scheint, da sich hierüber auch recht unterschiedliche Peripheriegeräte wie Drucker, Scanner oder Digital-Kameras mit dem PC verbinden lassen. Daneben ist Firewire (IEEE-1394) prädestiniert für den Anschluss von Video-Kameras und generell von Einheiten, die möglichst rasch relativ große Datenmengen mit dem PC austauschen sollen. Die genannten einzelnen PC-Einheiten sind für heutige PCs nichts Besonderes mehr und daher schon als Standard zu betrachten.
Die PC-Komponenten
A: C: E: G: I: K: M: O: Q: S:
240 V-Netzanschluss PS/2-Tastaturanschluss COM-Port (RS232) Audioeingang (digital) 2x USB-Anschluss 2x Firewire-Anschluss Audioeingang (Line) TV-Out, Composite 2x Monitoranschluss TV-Antenneneingang
3
B: D: F: H: J: L: N: P: R: T:
Stromnetztrennender Schalter PS/2-Mausanschluss Parallel-Port (LPT1) Audioausgang(digital) Netzwerkanschluss (TP) Audioausgänge (6-Kanal) Mikrofoneingang TV-Out, S-Video Modemanschluss Radio-Antenneneingang
Abb. 1.2: Ein aktueller PC bietet an der Rückseite eine Fülle von Anschlussmöglichkeiten.
Entsprechende Komplett-PCs – allerdings meist ohne Monitor und Lautsprecher, die daher separat zu erwerben sind – werden insbesondere durch die bekannten (Lebensmittel-)Discounter in regelmäßigen Zeitabständen auf den Markt gebracht, und diese PCs und auch Notebooks bestechen meist durch ein (sehr) gutes Preis-/Leistungsverhältnis. Dass es hier und da eine Schwachstelle bei den verwendeten Komponenten dieser Komplett-PCs gibt, wie etwa ein eher unterdimensioniertes Netzteil oder einen relativ langsam arbeitenden Speicher oder vielleicht auch eine Grafikkarte, die bei neueren Spielen nicht das Optimum bieten kann, liegt dabei auf der Hand. Letztendlich sind diese PCs aber auch durch das mitgelieferte Betriebssystem und die Software als Rundum-Paket zu verstehen, mit dem auch der PC-Einsteiger sofort die unterschiedlichsten Anwendungen ausführen kann. Obendrein bieten derartige PCs mitunter noch ganz nützliche Optionen, die man bei PCs der so genannten Markenhersteller wie beispielsweise Acer, Dell, Compaq oder HP vergeblich sucht; etwa, dass wichtige Peripherieanschlüsse auch leicht zugänglich auf der Frontplatte angebracht oder Lesegeräte für unterschiedliche Flash-Speicherkarten integriert sind.
A: C: E: G: I:
Kartenleseschächte Firewire-Anschluss Audio-Ausgang(Line-Out) Audio-Eingang (Line-In) S-Video (Eingang/Ausgang)
B: D: F: H:
3x USB-Anschluss Gameport-Anschluss (Joystick) Mikrofoneingang Video-Eingang Composite
Abb. 1.3: Recht praktisch sind an der PC-Frontplatte angebrachte Anschlüsse, sowie Lesegeräte für Speicherkarten.
4
Kapitel 1
Gleichwohl sind nach wie vor speziellere und mehr oder weniger individuell ausgestattete PCs mit unterschiedlichster Peripherie für Anwendungen in Handel, Industrie, Bank- und Versicherungsgewerbe, Wissenschaft und Forschung etc. notwendig. Die dort gewünschten PCs sind möglichst optimal auf die jeweiligen Einsatzgebiete zugeschnitten und stellen nicht derartige »Allrounder« dar, wie die oben kurz beschriebenen PCs, die eher als Standard für den privaten und somit universelleren Einsatz ausgelegt sind. Es spielt eigentlich keine Rolle, was man im Einzelnen mit einem PC an Aufgaben bewältigen will, denn er ist letztendlich aufgrund des vor über 20 Jahren von IBM zugrunde gelegten (modularen) Konzeptes (fast) beliebig mit einer Vielzahl von unterschiedlichen Einheiten aufund im Bedarfsfall auch umzubauen, was neben der durchgängigen Software-Kompatibilität der zweite Grund für den damals ungeahnten Erfolg des PC ist. Sie werden in diesem Buch an einigen Stellen den Ausdrücken PC, XT und AT begegnen, was in der Entwicklungsgeschichte des Original-IBM-PC begründet liegt. Das erste Gerät war der PC, von dem ich oben die wichtigsten Daten genannt habe, dann folgte der so genannte XT (eXtended Technology), der gegenüber dem PC als wesentliche Neuerung auch über ein Festplattenlaufwerk verfügte. Darauf folgte der AT (Advanced Technology), der den ersten vollwertigen 16-Bit-Prozessor (80286) einsetzte, und dann wurde es langsam müßig, sich neue Kürzel auszudenken, denn es ging fortan in der Entwicklung Schlag auf Schlag: 386, 486, Pentium usw. bis zum mit über 2 GHz getakteten Pentium 4 von Intel oder auch dem Athlon XP der Firma AMD, um nur einige Typen zu nennen. Heute firmieren die persönlichen Computer alle unter dem ursprünglichen Begriff PC zur Abgrenzung gegenüber anderen Computerarchitekturen wie denen von den Firmen Apple oder auch Sun, deren Computer eben nicht zum gewachsenen PC-Standard kompatibel sind. So unterschiedlich leistungsfähig die PCs der verschiedenen Generationen auch sein mögen, wer die immer schneller fortschreitende PC-Technologie eine Zeit lang verfolgt (hat), wird feststellen, dass sich die Aufgaben und Problemstellungen in der PC-Technik im Kern nicht wesentlich verändern. Neuere Betriebssysteme, die quasi von sich aus immer leistungsfähigere Hardware verlangen, ohne dass man auch nur ein einziges Programm gestartet hat, sollten nicht darüber hinwegtäuschen, dass im PC »nur« eine Vielzahl von elektronischen Schaltkreisen am Werke ist. Die typischen Fehlerquellen und Ansatzpunkte für PC-Reparaturen, -Umbauten und -Aufrüstmaßnahmen sind aus diesem Grunde (fast) unabhängig von der jeweiligen PC-Generation. Zum genauen Verständnis der PC-Funktion ist jedoch ein fundiertes Maß an Hardware-Kenntnissen notwendig, was dann sogar eigene Hardware- und hierfür passende Software-Entwicklungen ermöglicht.
1.1 Das PC-Innenleben In diesem Kapitel werden die verschiedenen Bestandteile des PC näher vorgestellt, die Ihnen nicht unmittelbar zugänglich sind, da sie schließlich in einem geschlossenen Gehäuse untergebracht sind. Da dem Gehäuse insbesondere in Bezug auf eine Erweiterbarkeit eine besondere Bedeutung zukommt, ist es zunächst an der Reihe.
1.1.1
Gehäuse
Die einzelnen Einheiten für einen PC können prinzipiell in unterschiedliche Gehäusetypen eingebaut werden. Größe und Bauform hängen zum einen davon ab, welchem Formfaktor das Mainboard entspricht, und zum anderen davon, wie viele Laufwerke vorgesehen sind, für die im vorderen Teil eines Gehäuses in der Regel passende Metallrahmen angebracht sind. Der klas-
Die PC-Komponenten
5
sische Typ ist das Desktop-Gehäuse (vg. Abbildung 1.1), auf das sich auch der Monitor platzieren lässt. In den letzen Jahren sind allerdings die Tower-Gehäuse gebräuchlicher, bei denen des Mainboard nicht waagerecht wie bei einem Desktop-Gehäuse eingebaut ist, sondern senkrecht. Von diesen beiden Grundtypen gibt es nun eine Reihe von Ablegern, die unterschiedlich hoch sind und dann beispielsweise als Super-Slim-Line-, Slim-Line-Desktop bzw. Mini-, Midi- oder auch Big-Tower bezeichnet werden.
Abb. 1.4: Verschiedene Gehäusetypen, wobei insbesondere die Tower-Modelle recht verbreitet sind.
Jahrelang herrschte dabei das Einheitsgrau als Farbe bei den Gehäusen vor, und erst in letzter Zeit wird etwas verstärkt Farbe ins Spiel gebracht. Dieses »Farbspiel« scheint dabei eine ganz neue Disziplin initiiert zu haben, die als Case Modding bezeichnet wird. Dabei geht es darum, in das möglichst große Tower-Blechgehäuse mit der Stichsäge Löcher hinzuschneiden, die später, mit farbigem oder gar leuchtendem Einfassband und Plexiglas versehen, als Sichtfenster in das PC-Innere dienen. Damit dies nicht zu langweilig aussieht, wird dann am besten eine Wasserkühlung für die speziellen Kühlerkörper, die zumindest auf der CPU und der Grafikkarte sitzen, mit Plastikschläuchen und einer Aquarienpumpe eingebaut, und das Kühlwasser ist natürlich eingefärbt. Kleine Neonröhren werden dann auch noch im Inneren an imposanten Stellen angeschraubt, und fertig ist der wirklich persönliche Computer. Im Zubehörhandel sind mittlerweile alle einzelnen Komponenten für das Case Modding zu finden, und wer schon keine Wasserkühlung einbauen will, weil er bereits ein Aquarium hat, der kann zumindest ein fertiges Gehäuse mit Sichtfenster nehmen, Kühler mit blauen LEDs einbauen und das langweilige Lüftergitter des Netzteils an der Gehäuserückseite durch ein »kultiges« BiohazzardModell ersetzen. Daneben gibt es aber noch relevantere Gehäuseaspekte, wobei ich mich allerdings nur auf typische PC-Gehäusetypen beziehe und demnach weder spezielle Mini- noch Server-Gehäuse betrachten werde. Wenn Sie einen Komplett-PC erworben haben, verfügt dieser PC natürlich über dasjenige Gehäuse, das der Hersteller für diese Serie ausgewählt hat, und Sie haben hierfür keinerlei Wahlmöglichkeit. Falls Sie einen PC komplett aus Einzelkomponenten selbst oder auch vom PC-Händler Ihres Vertrauens zusammenbauen lassen wollen, gibt es durchaus Wahlmög-
6
Kapitel 1
lichkeiten. Unter Beachtung des jeweiligen Formfaktors (BAT, ATX) des Mainboards und persönlicher Vorlieben bleibt im Grunde genommen nur noch als Auswahlkriterium übrig, was hier im Einzelnen an Laufwerken eingebaut werden soll, damit diese dann ihren Platz in einem Einbauschacht finden können. Dabei sollte man ruhig etwas großzügiger kalkulieren, damit später auch noch eine Aufrüstung möglich ist.
Abb. 1.5: Ein Tower-Gehäuse aus Aluminium mit Sichtfenster und interner Beleuchtung als Grundlage für das Case Modding
Es kann außerdem davon ausgegangen werden, dass je größer das Gehäuse ist, desto leistungsfähiger auch das integrierte Netzteil dimensioniert ist, weil PC-Gehäuse und Netzteil meist als Einheit verkauft werden. Bei einem Tower-Gehäusetyp ist das Netzteil demnach für eine höhere Leistung ausgelegt, als dies in einem Mini-Tower- oder Slim-Line-Gehäuse der Fall ist. Zusätzliche Komponenten wie Laufwerke oder auch eine neue »stromhungrigere« Grafikkarte erfordern natürlich einen höheren Strom aus dem Netzteil, so dass diese Komponente bei Aufrüst- und Umbaumaßnahmen besondere Aufmerksamkeit verlangt. Näheres hierzu ist im Kapitel 1.1.2 zu finden. Gehäusetyp
Höhe Breite
Tiefe Netzteil
Mainboards
Super Slim Line Slim Line Desktop Mini-Tower Midi-Tower Tower Big Tower
76 110 160 350 480 620 680
390 420 420 430 400 430 450
Mini-Baby, NLX, LPX Mini-Baby, NLX, LPX AT, BAT, ATX, mini ATX, micro ATX BAT, ATX, mini ATX, micro ATX BAT, ATX, mini ATX, micro ATX AT, BAT, ATX, mini ATX, micro ATX AT, BAT, ATX, mini ATX, micro ATX
406 435 430 180 170 190 230
150 W 180-200 W 200-230 W 180-230 W 180-230 W 200-230 W 230-300 W
Tab. 1.1: Typische Maße von Gehäusetypen und dazu passende Mainboards sowie Netzteile
Unter den oben erwähnten persönlichen Vorlieben möchte ich hier einmal kein Case Modding oder farbliche Aspekte verstehen, sondern die Überlegung, ob das Gehäuse auch servicefreundlich sein soll. Idealerweise ist es auch schallgedämmt, so dass nicht zu viel (Lüfter-)Lärm oder Brummen der Festplatte nach außen dringen kann. Im PC-Zubehörhandel gibt es Schalldämmmaterial in Form von speziellen Matten (Noiseblocker) sowie auch schwingungsgedämpfte Fest-
Die PC-Komponenten
7
plattenrahmen (NoVibes), allerdings zu verhältnismäßig hohen Preisen. Wer entsprechende Umbaumaßnahmen scheut, plant eine Schalldämmung gleich von vornherein mit ein, damit der Händler diese vielleicht gleich mit vorsieht.
Abb. 1.6: Bei diesem Tower-Gehäuse ist die Frontplatte nur aufgeschnappt, und das Mainboard lässt sich auf einem Blechschlitten nach hinten herausziehen.
Bei den Desktop-Gehäusen ist es möglich, dass hier ein Klappdeckel vorhanden ist, der wie die PKW-Motorhaube geöffnet werden kann, so dass man das PC-Innenleben ohne Schrauberei unmittelbar vor sich hat. Wie erwähnt, sind heutzutage jedoch eher die verschiedenen TowerVarianten üblich, und hier gibt es Typen mit aufzuschiebenden oder auch aufzuklappenden Seitenteilen, wofür zum Öffnen ebenfalls kein Schraubendreher benötigt wird. Das Mainboard kann zudem auf einem herausziehbaren Blech montiert sein, was sich als ganz praktisch für Montage- und Servicezwecke erweisen kann. Andererseits sind einige Gehäusetypen mit einer Vielzahl von nicht immer leicht zu entdeckenden Schrauben versehen, die sich mitunter sogar unter der »aufgeschnappten« PC-Frontplatte befinden. Daher ist diese erst einmal nach vorn abzuziehen, bevor überhaupt die Schrauben sichtbar werden. Gefährlich können im Übrigen scharfe und nicht sauber entgratete Blechkanten werden, an denen man sich schon einmal verletzen kann, so dass man vielleicht auch auf diese Dinge achten sollte, wenn nach einem servicefreundlichen PC-Gehäuse Ausschau gehalten wird. Ob nun beispielsweise ein Desktop-Gehäuse ein paar Millimeter höher oder tiefer ist, spielt für die Montage eines Mainboards nicht die ausschlaggebende Rolle. Vielmehr ist unbedingt darauf zu achten, dass das Mainboard auch problemlos in das Gehäuse hineinpasst und zu befestigen ist. Falls etwa zusätzliche Löcher gebohrt und Öffnungen im Gehäuse hergestellt werden müssen, sollte man von einem Umbau Abstand nehmen, denn es werden mit großer Wahrscheinlichkeit weitere Probleme auftreten, wie etwa, dass die Laufwerke nicht befestigt werden können. Außerdem können dabei die Gehäusestabilität sowie die elektrische Sicherheit (Erdung) auf der Stecke bleiben.
8
Kapitel 1
Abb. 1.7: Aufklappbare Seitentüren erlauben ein einfachen Zugang zum PC-Inneren.
1.1.2
Netzteil
Das PC-Netzteil versorgt das Mainboard und die weiteren Komponenten wie die Laufwerke mit den notwendigen Spannungen, wobei verschiedene Netzteiltypen existieren, die sich im Wesentlichen in ihrer Bauform und ihrer Leistung voneinander unterscheiden. Dies wird spätestens dann relevant, wenn ein defektes Netzteil ausgetauscht werden muss. Es sollte natürlich versucht werden, das defekte Netzteil durch ein möglichst identisches zu ersetzen, was jedoch bei älteren PCs zum Problem werden kann, da der betreffende Typ nicht mehr erhältlich ist. Der jeweilige Hersteller des Netzteils spielt dabei keine große Rolle, denn es gibt davon eine Vielzahl. Es darf aber keines mit einer geringeren Leistung als das ursprünglich im PC vorhandene eingebaut werden, und es muss auch genau so wie das alte in den PC passen und entsprechend eingebaut werden können.
Abb. 1.8: Zwei BAT-Netzteile unterschiedlicher Bauform. Das rechte Netzteil besitzt den üblichen externen Netzschalter, der meist an der PC-Gehäusefront montiert ist, während der Schalter beim linken Netzteil, das in älteren PCs zu finden ist, direkt angebracht ist.
Die PC-Komponenten
9
Temperaturgesteuerte Lüfter, die sich erst dann einschalten, wenn eine bestimmte Temperatur im Netzteil überschritten worden ist, und einem nicht ständig auf die Nerven fallen, sind leider immer noch nicht standardmäßig vorgesehen. Aus diesem Grunde kann man davon ausgehen, dass bei größeren (leistungsfähigeren) Netzteilen eher mit störenden Lüftergeräuschen zu rechnen ist als bei kleineren. Ist der Austausch des Netzteils notwendig, sollte daher – wenn möglich – gleich eines gewählt werden, das über einen temperaturgesteuerten Lüfter verfügt. Ein typisches Standard-Netzteil liefert 150-200 Watt und findet in den Gehäusetypen Desktop, Slim-Line und Mini-Tower seine Anwendung. Problematisch beim Ersatz eines Netzteils sind stets herstellerspezifische PCs, wie beispielsweise von den Firmen Compaq, SNI oder auch Hewlett-Packard, bei denen die Netzteile zum einen meist überteuert und zum anderen auch nicht immer leicht zu beschaffen sind. Eine weitere Unterteilung der Netzteiltypen ergibt sich dadurch, ob sie für BAT-, ATX- oder auch NLX-Gehäuse vorgesehen sind. Diese Standards legen in erster Linie mechanische Abmessungen für Gehäuse, Mainboards sowie Netzteile und zudem elektrische Werte für die beiden letztgenannten Einheiten fest. AT steht bekanntlich für Advanced Technology und weist Mainboards in der ursprünglichen Größe aus, wie sie damals von IBM begründet wurde. Dazu gesellten sich im Laufe der Zeit kleinere Typen, wobei insbesondere die Baby-AT-Form (BAT) sehr lange Zeit sehr gebräuchlich war und daher statt AT meist die Bezeichnung BAT für diesen Standard zu finden ist. In Tabelle 1.2 sind die wichtigsten Daten angegeben. Das Maß der Breite bezieht sich dabei auf die Seite mit dem Tastaturanschluss, der damit auch die Lage des Mainboards im PC-Gehäuse eindeutig bestimmt. Mainboard-Typ
Abmessungen in mm (Breite x Länge)
Übliche Anwendungen (PC-Typen)
AT-Board Baby-Board ¾ Baby Mini-Baby
305 x 335 220 x 330 220 x 275 220 x 220
alte 8088-486-PCs, EISA-PCs ISA-, EISA-, PCI-PCs ISA-, PCI-, VLB-PCs ISA-, VLB-PCs
Tab. 1.2: Die Abmessungen der üblichen Mainboards nach dem (B)AT-Standard
Von einem Netzteil nach dem BAT-Standard werden generell die Spannungen +5 V, -5 V, +12 V und -12 V geliefert. Wie viel Strom die einzelnen Ausgänge abgeben können, hängt von der angegebenen Watt-Zahl (W) des Netzteils ab. Sie errechnet sich aus der Multiplikation der jeweiligen Spannung mit dem entsprechenden Strom und der Addition aller Watt-Angaben (vgl. Tabelle 1.3). Ein BAT-Netzteil weist zwei Stecker (P8, P9) für das Mainboard auf, über die es mit Strom versorgt wird. Die schwarzen Kabel des Netzteils sind stets die Masseleitungen (GND, Ground). Für die Laufwerke und möglicherweise auch das Anzeige-/Bedien-Panel sind die anderen Kabel des Netzteils mit den Leitungsfarben gelb, schwarz und rot vorgesehen. Sie sind zusammengefasst an großen und kleinen Steckern befestigt. Die Anschlüsse sind dabei so konfektioniert, dass Verwechslungen eigentlich ausgeschlossen sind und nur dann mit Gewalt hervorgerufen werden können, wenn versucht wird, den Verpolungsschutz zu überwinden. Es empfiehlt sich daher, an diesen Kabeln keine Änderungen vorzunehmen. Adapterkabel, die von einem großen Anschluss, der für 5,25"-Disketten- und Festplattenlaufwerke vorgesehen ist, den Übergang zu einem kleinen schaffen, der vorwiegend für 3,5"-Disketten- und CD-ROM-Laufwerke eingesetzt wird, sind im Handel für ein paar Euro zu haben.
10
Kapitel 1
Spannung
Strom
Watt
Kabelfarbe
+5 V -5 V +12 V -12 V
20 A 0,5 A 8A 0,5 A
100 2,5 96 6
rot weiß gelb blau
Tab. 1.3: Die Daten und die Farbkennzeichnung eines 200 W-BAT-Netzteils
Der Spannungsanschluss für ein BAT-Mainboard besteht, wie es auch in Abbildung 1.9 erkennbar ist, aus den beiden Steckern P8 und P9, die nie vertauscht werden dürfen, da dies die Mainboardelektronik zerstören würde. Entweder merkt man sich, dass sich die schwarzen Leitungen der beiden Stecker immer innen gegenüberstehen müssen. oder man bringt hier einfach eine Markierung an.
Abb. 1.9: Der Spannungsanschluss bei BAT-Mainboards
Eine weitere Leitung des Mainboard-Anschlusskabels (Pin 1 an P8), die üblicherweise orange ist, führt das so genannte Power-Good-Signal. Auf dem Mainboard wird das Power-Good-Signal üblicherweise ausgewertet, und die Adress- und Datenleitungen werden ab- bzw. erst gar nicht eingeschaltet, falls das Signal nicht in Ordnung ist, was anhand eines Low-Pegels erkannt wird. Seit dem Jahre 1995 gibt es den ATX- (AT eXtended) und LPX- (Low Profile eXtended) und seit 1996 den NLX-Standard (New Low Profile eXtended). Alle drei Versionen definieren neue Formfaktoren für Mainboards, Gehäuse und Netzteile, was bedeutet, dass diese Einheiten weder untereinander noch zum BAT-Standard kompatibel sind. Immerhin sind die ATX- und NLXNetzteile sowohl in elektrischer als auch mechanischer Hinsicht meist identisch, und LPX spielt auf dem Markt keine große Rolle mehr, denn es wurde im Prinzip von NLX ersetzt. Eine geschaltete Netzbuchse für den Anschluss eines Monitors gibt es weder bei ATX noch bei NLX. Der Netzschalter ist stets im Netzteil selbst eingebaut und befindet sich auf der Gehäuserückseite. Leider gibt es aber auch ATX-Systeme, die über keinen netztrennenden Schalter auf der PC-Rückseite verfügen, was dazu führt, dass der PC ständig Strom verbraucht, auch wenn er von der PC-Frontplatte her als ausgeschaltet erscheint. Der Ein/Ausschalter an der PC-Frontplatte ist bei ATX nämlich ein Taster und kein Schalter.
Die PC-Komponenten
11
Abb. 1.10: Der Spannungsanschluss bei ATX-Mainboards
Der Stecker für die Spannungsversorgung des Mainboards wurde neu definiert, während die Stecker für die Laufwerke bei ATX und dessen Ablegern dieselben wie beim BAT-Standard sind. Den nicht vertauschungssicheren Mainboard-Anschluss, der aus den beiden Steckern P8 und P9 besteht, gibt es bei ATX nicht mehr, sondern nur noch einen (siehe Abbildung 1.10), der auf Grund seiner Auslegung auch nicht falsch herum aufgesteckt werden kann. Neben den üblichen Spannungen +5 V, -5 V, +12 V, -12 V, mehreren Masseleitungen (COM=common=gemeinsam) und dem Power-Good-Signal (PW-OK) sind nunmehr auch 3,3 V vorhanden sowie die Signale Power-On (PS-ON) und 5 V-Standby (5 VSB). Das Signal PS-ON dient der An- und Abschaltung des Netzteils und befindet sich üblicherweise mit Hilfe einer Zusatzschaltung auf dem Mainboard auf High-Potenzial. Wird das Signal durch einen Tastendruck auf Masse gezogen, werden damit die Spannungen des Netzteils aktiviert. Ein ATX-Netzteil ist deswegen auch nicht völlig abgeschaltet, wenn nicht der netztrennende Schalter auf der Gehäuserückwand ausgeschaltet ist. Das PS-ON-Signal wird vielfach dazu genutzt, den PC, etwa nach dem Herunterfahren von Windows, automatisch abzuschalten. Kontakt Nr.
Belegung
Farbe
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
3,3 V 3,3 V COM, Masse 5V COM, Masse 5V COM, Masse PW-OK 5 VSB 12 V 3,3 V -12 V COM, Masse PS-ON COM, Masse COM, Masse COM, Masse -5 V 5V 5V
orange orange schwarz rot schwarz rot schwarz grau lila gelb orange blau schwarz grün schwarz schwarz schwarz weiß rot rot
Tab. 1.4: Die Belegung des ATX-Mainboard-Anschlusses mit den üblichen Farben der einzelnen Leitungen.
12
Kapitel 1
Die 5 V-Standby-Leitung (5 VSB) ist ebenfalls nicht spannungslos, wenn der PC nicht per Netzschalter oder schaltbarer Steckdosenleiste, die sehr empfehlenswert ist, falls der Schalter am PC nicht vorhanden sein sollte, ausgeschaltet ist. Die 5 VSB-Leitung wird unterschiedlich oder auch gar nicht verwendet. Eine typische Anwendung ist das Einschalten des PC mit Hilfe eines FaxModems, das eingehende Rufe auch bei ausgeschaltetem PC erkennen und das Hochfahren des PC dadurch initiieren kann. Entsprechendes kann auch mit einer Netzwerkkarte praktiziert werden, die hierfür ebenfalls einen entsprechenden Anschluss besitzen muss, der dort auch als Wake On LAN bezeichnet wird. Der Vollständigkeit halber sei erwähnt, dass neben den BAT- und ATX-Netzteilen, die die größte Verbreitung haben, noch einige speziellere existieren, die in der Mehrzahl der Fälle in Servern eingebaut werden. Es gibt Mainboards – meist Dual- oder Multiprozessor-Boards –, für die ganz bestimmte Netzteiltypen explizit vorgeschrieben sind. Diese Mainboards benötigen u.U. zusätzliche Spannungsanschlüsse für die Versorgung der CPU(s), für erweitertes Power-Management oder auch für redundant ausgelegte Netzteile. Von derartigen Typen existiert eine ganze Reihe von Hersteller-spezifischen Lösungen.
Abb. 1.11: Der zusätzliche ATX12 V-Anschluss für die Spannungsversorgung des Pentium 4
Für den ersten Pentium 4-Prozessor im 423-poligen Gehäuse wurde ein neues ATX-Netzteil mit zusätzlichem ATX12 V- und AUX-Anschluss für 3,3 V und 5 V eingeführt, und es wird hierfür auch ein neues ATX-Gehäuse benötigt. Ab dem neueren Pentium 4 im 478-poligen Gehäuse, der sich im Stromverbrauch genügsamer zeigt als der ältere Pentium 4, sind diese zusätzlichen Power-Connectoren nicht mehr zwingend vorgeschrieben. Einige aktuelle Mainboards stellen diese Anschlüsse daher auch nicht mehr zur Verfügung, und diese Boards sollten dann auch mechanisch in übliche ATX-Gehäuse passen. Die neuere Pentium 4-CPU soll nunmehr allein aus der 12 V-Spannung gespeist werden, die auf dem Mainboard mithilfe eines Spannungsreglers auf die jeweilige CPU-Spannung (z.B. 1,6 V) umgesetzt wird, so dass der AUX-Anschluss mit 3,3 V und 5 V eigentlich nicht mehr notwendig ist. Der übliche ATX-Spannungsanschluss ist aber nur für maximal 6 A spezifiziert, so dass es doch sicherer erscheint, wenn zumindest der ATX12 V-Anschluss vorhanden ist, weil eine Pentium 4-CPU durchaus einen Strom von bis zu 8 A ziehen kann. Die Kabel selbst vertragen allerdings durchaus noch 8 A und mehr.
Die PC-Komponenten
1.1.3
13
Mainboard
Standard ist bei PCs heutzutage ATX, und hiervon ausgehend sind im Laufe der Zeit einige »Ableger« entstanden. Tabelle 1.5 gibt die Maße (in mm) der verschiedenen ATX-Standards an, für die entsprechende Mainboards erhältlich sind. Für ein ATX-Mainboard sind auch ein ATXGehäuse und ein entsprechendes ATX-Netzteil nötig, wobei man das Gehäuse meist zusammen mit einem bereits eingebauten Netzteil erwirbt. Üblicherweise lassen sich in allen heutzutage gebräuchlichen ATX-Gehäusen durchaus die verkleinerten Mainboard-Versionen einbauen. Der umgekehrte Weg – etwa der Einbau eines ATX-Mainboards in ein Micro-ATX-Gehäuse – ist natürlich nicht möglich. Standard
Breite
Länge
ATX Mini-ATX Micro-ATX Flex-ATX
305 284 244 229
244 208 244 191
Tab. 1.5: Maße der verschiedenen ATX-Mainboard-Varianten in Millimeter
Der Einbau eines Baby-AT-Boards in ein ATX-Gehäuse ist, von einigen Ausnahmen abgesehen, in der Regel nicht möglich, und nur wenige ATX-Netzteile und Mainboards bieten einen PowerAnschluss in zwei Varianten (P8, P9 und ATX), und es sind auch entsprechende Adapterkabel erhältlich. Es empfiehlt sich jedoch generell, keine Kombination von Baby-AT- und ATX-Komponenten vorzusehen. Trotz aller möglichen Variationen der Standards stellt ATX in seiner ursprünglichen Auslegung (305 x 244 mm) für die verschiedenen Mainboards und Gehäusetypen die gebräuchlichste Realisierung dar. Andere Gehäuse, beispielsweise für Flex-ATX, sind im einschlägigen PC-Handel eher selten zu finden. Auf die verkleinerten ATX- sowie auch die LPX/NLX-Versionen trifft man daher eher bei (preisgünstigen) Komplett-PCs, die im Inneren vielfach keine Standard-Karten aufnehmen können und sich generell als problematisch für PCErweiterungen und -Umbauten erweisen. Mit ATX wurde ein Baby-AT-Board mechanisch um 90º gedreht, und die Anschlüsse für den Drucker (IEEE-1284), die beiden RS232-Schnittstellen und die Maus (PS/2) sind nun direkt auf dem Mainboard platziert, wodurch keine Flachbandkabel vom betreffenden MainboardAnschluss zu den jeweiligen Slotblechbuchsen mehr geführt werden müssen, wie es bei BATBoard der Fall ist. Bei älteren (BAT-)Boards sind die Schnittstellen-Controller außerdem nicht auf dem Mainboard selbst vorhanden, so dass diese dann über (ISA-)Einsteckkarten im System integriert werden müssen, was ebenfalls für die Laufwerkscontroller gilt. Bei ATX-Boards sind alle üblichen Controller, sei es für die Laufwerke oder auch für die üblichen Schnittstellen, mit auf dem Mainboard untergebracht. Weitere Anschlüsse wie für den Universal Serial Bus (USB), Firewire (IEEE-1394), Netzwerk oder auch Audioverbindungen sind hier ebenfalls üblich. Sie liegen allesamt auf der Gehäuserückseite im so genannten I/O-Bereich (vgl. Abbildung 1.2, Kennzeichnungen C-N). Demnach sind all diejenigen Einheiten unmittelbarer Bestandteil des Mainboards (On-Board-Einheiten), deren Anschlüsse sich in diesem I/O-Bereich befinden.
14
Kapitel 1
Abb. 1.12: Ein ATX-Mainboard mit den üblichen Komponenten und Schnittstellen zu Peripheriegeräten, die mit den Anschlüssen im I/O-Bereich verbunden werden. Der I/O-Bereich ist auf der linken oberen Seite des Boards erkennbar und im unteren Bildteil noch einmal gesondert abgebildet.
In der Praxis geht mit dem ATX-Standard allerdings ein mechanisches Problem einher, da es mittlerweile mehrere Versionen davon gibt und der I/O-Bereich (158 x 44 mm), wo sich die Anschlüsse für die auf dem Board integrierten Schnittstellen befinden, zwar definiert ist, es zunächst aber versäumt wurde, die notwendigen Ausschnitte im Gehäuse hierfür festzulegen. Die Folge davon ist, dass die Gehäuse- und Mainboardhersteller verschiedene Abdeckbleche für unterschiedliche Mainboards bereitstellen müssten. Mit der ATX-Spezifikation 2.1 wurde zwar eine universell verwendbare I/O-Blende definiert, allerdings ist mittlerweile eine Vielzahl unterschiedlicher Anschlüsse (Onboard-Sound, -Grafik, -LAN) auf Mainboards üblich, und einige traditionelle Schnittstellen (IEEE-1284, RS232, PS/2 für Maus und Tastatur) werden schon gar nicht vorgesehen, wie es auch der Abbildung 1.12 erkennbar ist. Für den Anschluss von Tastatur und Maus ist dann der USB vorgesehen. Trotz der ATX-Standardisierung kann man daher keineswegs davon ausgehen, dass die I/OBlende eines Gehäuses tatsächlich für die Onboard-Anschlüsse eines bestimmten Mainboards passend ausgeführt ist, so dass das Blech möglicherweise entsprechend mechanisch zu bearbei-
Die PC-Komponenten
15
ten ist (Durchbrüche herstellen). Da dies nicht jedermanns Sache ist, wird die Blende dann oftmals weggelassen, was zwar keine negativen mechanischen Einflüsse hat, allerdings entspricht der PC dann nicht mehr den EMV-Vorschriften, und er staubt von der Rückseite her zu. Die passenden Abdeckbleche sollten daher eigentlich immer zum Mainboard gehören, denn einzeln sind sie nur schwer zu beschaffen.
Abb. 1.13: Für unterschiedliche ATX-Mainboards sind auch unterschiedliche Abdeckbleche für den I/O-Bereich notwendig.
Ausgehend von einem typischen (ATX-)Mainboard, wie in Abbildung 1.12 zu sehen, möchte ich noch als Überblick die wichtigsten hier vorhandenen Einheiten erläutern, die in den folgenden Kapiteln noch genauer beschrieben werden. Zentraler Bestandteil ist der Prozessor, auch als CPU (Central Processing Unit) bezeichnet. Dieser Prozessor stellt gewissermaßen das »Herz« des Computers dar, in ihm finden alle Datenverarbeitungsvorgänge statt. Der CPU unmittelbar zugeordnet ist der Hauptspeicher oder RAM (Random Access Memory), den der Prozessor zum Abspeichern und Lesen von Zwischenergebnissen der Datenverarbeitung oder von Programmen benötigt. CPU und RAM bilden die wesentlichen Bestandteile eines Mainboards. Die einzelnen RAM-Bausteine sind auf Modulen untergebracht, die in die passenden Speicherslots des Mainboards einzustecken sind. Die CPU gehört in einen Sockel, oder es kommt hier ebenfalls ein spezieller Slot (Slot 1, Slot A) zum Einsatz, wie es eine Zeitlang für Pentium II/III und AthlonCPUs praktiziert wurde; doch heutzutage ist man nach diesem Umweg wieder zu CPU-Sockeldesigns zurückgekehrt. Sowohl für die Speicher als auch für die CPUs gibt es mittlerweile eine Vielzahl unterschiedlicher Realisierungen, und es ist genauestens zu beachten, für welche Typen ein Mainboard geeignet ist, was dem Handbuch zum Board zu entnehmen sein sollte.
Abb. 1.14: Eine Athlon-CPU der Firma AMD ist für einen Sockel A bestimmt und benötigt einen relativ großen Kühlkörper mit Lüfter.
16
Kapitel 1
Um größere Datenmengen einzulesen oder dauerhaft zu speichern, sind für einen PC verschiedene Laufwerke notwendig, mindestens jedoch ein Diskettenlaufwerk, das mit einem 34-poligen Flachbandkabel an den Floppy Connector des Mainboards angeschlossen wird. Außerdem benötigt ein Diskettenlaufwerk, wie jedes andere Laufwerk auch, noch eine Stromversorgung, die mit dem bei den Netzteilen erläuterten Stecker des Netzteils zu verbinden ist. Festplatten- und CD/DVD-Laufwerke entsprechen in der Regel EIDE-Einheiten (Enhanced Integrated Disc Electronic), und Mainboards bieten hierfür mindestens zwei EIDE-Anschlüsse (EIDEPorts). Pro Port – der erste wird mit Primary, der zweite mit Secondary ausgewiesen – können jeweils zwei Laufwerke angeschlossen werden, wobei ein Gerät dabei immer als Master und das zweite an dem jeweiligen Port als Slave zu konfigurieren ist, was meist über kleine Steckbrücken (Jumper) an den Laufwerken erfolgt. Bei dem Mainboard in Abbildung 1.12 sind die EIDE-Ports mit Ultra ATA 133 bezeichnet, was eine von mehreren möglichen Betriebsarten ist, mit denen EIDE-Laufwerke ganz allgemein arbeiten können. Der EIDE-Controller dieses Boards bietet eine maximale Transferrate von 133 MByte/s, woher dann eben auch die Bezeichnung herrührt. Es spielt letztendlich aber keine Rolle, auf welche Bezeichnung (es ist auch IDE üblich) Sie bei den EIDE-Ports treffen, sie sind stets 40-polig ausgeführt und unterscheiden sich somit von allen anderen Anschlüssen auf einem Mainboard.
Abb. 1.15: Die beiden IDE-Ports für den Anschluss von Festplatten und CD/DVD-Laufwerken auf einem üblichen Mainboard. Darunter erkennen Sie den Anschluss für das Diskettenlaufwerk.
Außerdem gibt es bei dem als Beispiel herangezogenen Mainboard aus Abbildung 1.12 zusätzlich noch vier Ultra ATA 133 RAID-Connectoren. RAID steht für Redundant Array of Independent Discs, und es lassen sich hier maximal acht Festplatten anschließen, die dann zusammengenommen ein Disc Array bilden. Üblicherweise kennen derartige EIDE-Disc-Array-Controller mindestens zwei verschiedene RAID-Betriebsarten mit den Bezeichnungen RAID-0 (Disk Stripping) und RAID-1 (Mirroring), in denen die Festplatten nach vorheriger Konfiguration betrieben werden können. Bei RAID-0 werden die Daten ohne Redundanz über die vorhandenen Festplatten verteilt, wodurch ein schnellerer Zugriff möglich ist, weil alle Festplatten quasi gleichzeitig nutzbar sind. Allerdings wird die Fehlertoleranz hiermit nicht geringer, sondern höher, weil die Wahrscheinlichkeit, dass eine von acht Festplatten ausfällt, höher ist, als wenn nur eine einzige zum Einsatz kommen würde. RAID-1 ist die einfachste Form für eine erhöhte Sicherheit, die durch Redundanz realisiert werden kann. Dabei werden die Festplatten als »Spiegelplatten« (mirror = Spiegel) verwendet, und daher ist RAID-1 auch unter der Bezeichnung Disk Mirroring bekannt. Die Daten werden immer gleichzeitig auf mindestens zwei Festplatten gespeichert. Fällt eine aus, läuft das System weiter,
Die PC-Komponenten
17
da die Daten noch auf der zweiten vorhanden sind. Die effektive Kapazität des Arrays wird dabei um die Hälfte reduziert, weil die Daten exakt dupliziert werden müssen.
Abb. 1.16: Die gebräuchlichsten Typen von Busslots auf einem Mainboard: AGP (oben), 3x PCI und unten ISA
Für die Erweiterbarkeit von PCs spielt die Anzahl der auf dem Mainboard vorhandenen Slots eine Rolle, die entsprechende Einsteckkarten aufnehmen können. Das Mainboard in Abbildung 1.12 verfügt lediglich über drei PCI-Slots und einen AGP-Slot, der für die Aufnahme einer AGPGrafikkarte gedacht ist. Da das Board jedoch auch einen USB-, einen Sound-, einen LAN-, einen Firewire- und sogar einen Card-Reader-Controller On-Board hat, mag dies nicht weiter von Bedeutung sein, da damit eigentlich bereits alle wichtigen Einheiten vorhanden sind. Gleichwohl erweisen sich insbesondere die Sound-, LAN- und möglicherweise auch die integrierten Grafikadapter oftmals gegenüber den Typen, die als Einsteckkarten angeboten werden, leistungstechnisch gesehen als unterlegen, so dass man ggf. eine On-Board-Einheit durch eine bessere Kartenlösung ersetzen möchte. Außerdem kann auch noch ein SCSI- oder ein spezieller Controller notwendig werden, so dass es immer gut ist, wenn noch ein paar Einsteckplätze für Erweiterungen zur Verfügung stehen. Problematisch können allerdings ISA-Karten sein, da viele aktuelle Mainboards hierfür keine passenden Slots mehr bieten. Entschärft wird die Erweiterungsproblematik jedoch wieder dadurch, dass es für USB oder Firewire eigentlich alle üblichen Peripheriegeräte gibt, also Drucker, Scanner, Modems, ISDN-Adapter und auch extern anzuschließende Disketten-, ZIP- und Festplattenlaufwerke, so dass auf die eher traditionellen Schnittstellen und Slots immer häufiger verzichtet werden kann.
1.1.4
CMOS-RAM
Ein PC kann prinzipiell mit einer Vielzahl unterschiedlicher Komponenten ausgestattet sein. Beim Einschalten müssen der Speicher, die Laufwerke und alle weiteren Komponenten, die für die grundsätzliche Funktion notwendig sind, initialisiert, d.h. in einen definierten Anfangszustand versetzt werden. In den ersten PCs konnte durch verschiedene Stellungen so genannter DIP-Schalter die Konfiguration eingestellt werden. Beim Einschalten liest der Prozessor die Schalterstellungen und ermittelt somit beispielsweise, welche Laufwerke installiert sind und wie viel Hauptspeicher zur Verfügung steht. Ab den PCs mit 286-CPU werden diese Informationen in einem bestimmten Baustein auf dem Mainboard abgelegt: dem CMOS-RAM. Das Besondere an ihm ist, dass er im Vergleich zu einem normalen Speicherbaustein sehr wenig Strom benötigt. Daher befindet sich in PCs eine Batterie oder ein Akku, die bzw. der diesen CMOS-RAM mit Strom versorgt. Als Batterie wird meist eine Knopfzelle verwendet, die sich mitunter auch im CMOS-RAM-Chip selbst
18
Kapitel 1
befindet. Alle Einstellungen, die Sie mit Hilfe des BIOS-Setups vornehmen, landen als Eintrag im CMOS-RAM, und diese Daten werden nach dem Einschalten des PC dann automatisch aktiviert. Demnach sind für die Festlegung, ob und welche Diskettenlaufwerke vorhanden sind, welche Schnittstellen aktiviert sein sollen oder welchem Typ die Festplatte entspricht, keine Schalter zu betätigen, sondern dies wird bequem per Software mittels BIOS-Setup durchgeführt. Der CMOS-Baustein besitzt aber noch eine weitere Funktion: Er stellt eine Echtzeituhr dar. Auch während der PC ausgeschaltet ist, wird diese Uhr von der Batterie bzw. dem Akku mit Strom versorgt und zählt Uhrzeit und Datum weiter. Sie brauchen heutzutage beim Einschalten des PC also weder Uhrzeit noch Datum einzugeben. Stattdessen liest der Computer den CMOS-RAM aus (in dem neben den Konfigurationsdaten auch Uhrzeit und Datum abgespeichert werden) und setzt die Systemuhr automatisch. Eine korrekte Systemzeit ist notwendig, da jedes Betriebssystem alle Dateien mit einer Zeitmarke versieht, die beispielsweise angibt, wann die letzte Änderung der Daten stattgefunden hat.
Abb. 1.17: Für die Pufferung des CMOS-RAMs wird hier eine Knopfzellenbatterie verwendet. Der CMOS-RAM befindet sich dabei hier im Bridge-Baustein (links oben) des Mainboard-Chipsets.
Bei aktuellen Mainboards werden Sie keinen speziellen Chip mehr erkennen können, der das CMOS-RAM nebst Echtzeituhr beherbergt, denn diese Einheiten sind wie viele andere auch (z.B. DMA- und Interrupt-Controller) mittlerweile funktionell im Chipset des Mainboards integriert. Genaueres zu den Chipsets erfahren Sie in Kapitel 17. Was bleibt, ist der Akku bzw. die (Knopfzellen-)Batterie, die man auch bei aktuellen Mainboards ausmachen kann, und falls der PC einmal sein Gedächtnis verloren hat, ist dies ein Indiz dafür, dass die Batterie für die Pufferung des CMOS-RAM-Inhaltes zu schwach ist und demnach zu ersetzen ist. In der Regel muss sie eine Spannung von ca. 3 V liefern können. Wie Sie in Abbildung 1.18 erkennen können, können sich auch auf aktuellen Mainboards DIPSchalter oder alternativ Steckbrücken (Jumper) befinden, die aber eine andere Aufgabe haben als in früheren Zeiten. Sie sind für die Einstellung der CPU-Taktfrequenz und der jeweiligen Versorgungsspannung vorgesehen. Hiermit wird einmal der Takt für das Mainboard (der Systemtakt, z.B. 100 MHz) festgelegt und des Weiteren ein Multiplikationsfaktor wie etwa x5, wenn Sie eine 500-MHz-CPU verwenden. Außerdem ist mitunter auch die CPU-Spannung per DIP-Schalter zu bestimmen. Je nach Mainboard- und BIOS-Typ sind diese Einstellungen ebenfalls oder ausschließlich im BIOS-Setup festzulegen, wie es ab dem Pentium II möglich ist, denn er kann seine benötigten Einstellungsdaten dem Chipset und somit dem CMOS-RAM automatisch mitteilen.
Die PC-Komponenten
19
Abb. 1.18: Der DIP-Schalter dient der Festlegung der CPU-Taktfrequenz, die mit Hilfe der darüber befindlichen Schaltung erzeugt wird.
1.1.5
BIOS
Die Abkürzung BIOS steht für Basic Input Output System, was so viel wie grundlegendes Eingabe/Ausgabe-System heißt. Was sich zunächst sehr allgemein anhört, ist jedoch neben dem Mikroprozessor letztendlich das wichtigste Teil in einem Personal Computer, ohne das der Mikroprozessor und damit auch der PC überhaupt nicht funktionieren kann. In dem zunächst als ROM (Read Only Memory) ausgeführten Chip ist eine Software abgespeichert, die sich aus einer Vielzahl von einzelnen Programmroutinen zusammensetzt und eben für die grundlegende Kommunikation mit der gesamten PC-Hardware zuständig ist.
Abb. 1.19: Das Zusammenspiel von Hard- und Software mithilfe des BIOS
Da sich die Hardware von PC zu PC stark unterscheiden kann – es kommen beispielsweise unterschiedliche Prozessoren, Speichertypen und Chipsets zum Einsatz –, obliegt es der im BIOS abgespeicherten Software, die Kompatibilität zur Software-Seite hin herzustellen, was im einfachsten Fall DOS (Disk Operating System) bedeutet. DOS setzt also auf die BIOS-Routinen auf. Nach unten – zur Hardware-Seite – hin sind die BIOS-Routinen entsprechend an die mehr oder weniger individuelle Hardware angepasst und kommunizieren mit den dazugehörigen Registern der CPU,
20
Kapitel 1
des Chipsets, den Controllern und allen anderen grundlegenden Hardware-Einheiten. Ein DOSProgramm funktioniert daher mit einem 8086 genauso wie mit einem Pentium 4, obwohl die Hardware eben recht unterschiedlich ist. Andere Betriebssysteme wie aktuelle Windows-Versionen benötigen die BIOS-Routinen nur für die grundsätzliche Initialisierung und teilweise auch für den Boot-Vorgang, um beim Laden dann eigene, leistungsfähigere Software ins Spiel zu bringen. Das BIOS erledigt jedoch noch einige weitere, wichtige Funktionen, und zusammengefasst sind die wichtigsten im Folgenden dargestellt:
: : : :
Durchführung des Power on Self Test (POST, Selbsttest): System zurücksetzen und die Hardware überprüfen. BIOS-Routinen für die Kommunikation mit der Hardware initialisieren. Bereitstellung des BIOS-Setups: Aufblenden der Meldung und Anwendereingriff zulassen. Implementierung von Diagnose- und Testfunktionen: Beispielsweise die automatische Detektierung der Festplatten-Typen sowie die fortlaufende Kontrolle von Betriebsspannungen und Temperaturen (Hardware-Monitoring)
Womit Sie als Anwender auf jeden Fall unmittelbar in Kontakt treten werden, ist das BIOSSetup, während die anderen Funktionen mehr oder weniger unauffällig ihre Arbeit verrichten. Ein korrekter BIOS-Setup ist die erste Voraussetzung für einen ordentlich funktionierenden PC, und wenn im BIOS-Setup womöglich ein Laufwerk nicht korrekt eingeschaltet worden ist, wird es auch von Windows nicht erkannt und steht somit nicht zur Verfügung, da kann man noch so viele Windows-Konfigurationsversuche unternehmen. Mithilfe des BIOS-Setup-Programms, das durch eine bestimmte Taste oder auch Tastenkombination aufgerufen wird, sind die entsprechenden Hardware-Einstellungen vorzunehmen, die dann im CMOS-RAM abgespeichert werden. Die dabei einzustellenden Daten müssen stets mit der tatsächlichen Hardware-Ausstattung des PC übereinstimmen. Bevor das Betriebssystem bootet, wird üblicherweise ein Monitorbild aufgeblendet, das den Hersteller des BIOS anzeigt und angibt, mit welcher Taste man in den BIOS-Setup gelangt. Hierfür ist üblicherweise die (Entf)
bzw. (Del)-Taste zu betätigen. Bei einer anders lautenden Taste oder auch Tastenkombination wird diese in der Regel kurzzeitig aufgeblendet.
Abb. 1.20: Auf dieser BIOS-Setup-Seite werden die Onboard-Einheiten (Integrated Peripherals) eingeschaltet und konfiguriert.
Die PC-Komponenten
21
Das BIOS-Setup erstreckt sich über mehrere Seiten, auf denen Sie – je nach PC-Typ – unterschiedlich viele Optionen finden, wobei leider nicht immer deutlich wird, was sie eigentlich bewirken. Üblicherweise kennt das BIOS-Setup auch eine gewisse Automatik, d.h., hier werden bestimmte Voreinstellungen getroffen, die einerseits zwar dafür sorgen, dass der PC immerhin rudimentär funktioniert, andererseits jedoch nie die optimale Einstellung bieten. Mittlerweile ist es (fast) zur Routine geworden, einen BIOS-Update ausführen zu müssen. Durch diesen Vorgang werden Teile der internen BIOS-Routinen durch aktualisierte und fehlerbereinigte Versionen ersetzt. Dies mag an den immer kürzeren Zeitabständen liegen, in denen neue Mainboards auf den Markt kommen, so dass sich bei den Herstellern hier und da einfach Fehler einschleichen, oder es gibt neue CPU-Versionen oder auch neuere IDE-Modi (Ultra ATA, UDMA), die die Hardware – der Chipset – zwar prinzipiell unterstützt, gleichwohl muss das BIOS hierfür noch programmtechnisch angepasst werden. Programme für den BIOS-Update und die passenden BIOS-Dateien findet man auf den Internetseiten der Mainboard-Hersteller. Ein BIOS-Update sollte generell aber nur dann durchgeführt werden, wenn es auch einen triftigen Grund dafür gibt, denn falls bei diesem Vorgang etwas schief gehen sollte, hat man es mit einem »zerschossenen« BIOS zu tun, und der PC verweigert jegliche Arbeit.
Abb. 1.21: Unterschiedliche Flash-Speicher, die das BIOS enthalten
Ein BIOS-Update ist technisch bei (fast) jedem aktuellen PC möglich, da sich das BIOS heutzutage nicht mehr in einem ROM-Baustein befindet, dessen Inhalt sich nach der Programmierung (durch den Hersteller) nicht mehr verändern lässt, sondern es wird hierfür meist ein Flash-Speicher verwendet, der sich elektrisch löschen und auch wieder beschreiben lässt.
1.1.6
Laufwerke
Unter dem Begriff Laufwerke möchte ich hier kurz auf die üblichen Laufwerke bei einem PC eingehen; zumindest eines davon wird auch in Ihrem PC eingebaut sein. Wird der PC ausgeschaltet oder fällt der Strom auch nur kurzzeitig aus, sind alle Daten im RAM verloren. Damit ist der RAM zur Langzeitspeicherung von Daten und Programmen völlig ungeeignet. Schon sehr früh wurden daher magnetische Speicher entwickelt. Vor der Erfindung und dem Siegeszug der Halbleitertechnologie und der integrierten Speicherchips bestand sogar der Hauptspeicher aus Magnettrommeln. Später wurden diese durch Magnetkernspeicher ersetzt, winzige Magnetringe, durch die Schreib- und Lesedrähte laufen.
22
Kapitel 1
Der ursprüngliche IBM-PC verfügte über ein Diskettenlaufwerk (5¼”) mit einer maximalen Kapazität von 360 KByte, und für größere Speichermengen konnte zusätzlich ein Cassettenrecorder (!) angeschlossen werden. Erst einige Jahre später (ca. 1984) war für den IBM-AT auch eine Festplatte mit einer Kapazität von 10 MByte verfügbar. Diskettenlaufwerke gehören zu den so genannten Laufwerken mit wechselbarem Datenträger, da in ein Laufwerk verschiedene Disketten (Datenträger) eingelegt und wieder herausgenommen werden können. Demgegenüber kann bei üblichen Festplatten der Datenträger nicht ausgetauscht werden, er ist also fest im Laufwerk untergebracht. Außerdem sind die Datenträger nicht mehr flexible Scheiben, sondern starre (feste) Platten. Daneben gibt es die so genannten Wechselplatten, bei denen das Speichermedium – im Gegensatz eben zur üblichen einen Festplatte – gewechselt, also aus dem eigentlichen Laufwerk herausgenommen werden kann. Wird eine Festplatte derart modifiziert, dass sich das Speichermedium – die Magnetscheibe – in einer Cartridge befindet und die Schreib-/Leseköpfe sowie die wesentliche Mechanik im Laufwerk, hat man – vereinfacht dargestellt – den Prototyp einer Wechselplatte (auf der Basis der Festplattenspeichertechnologie), wobei hier insbesondere Modelle der Firma Syquest (SparQ), Iomega (Jaz) und Castlewood (Orb) recht beliebt waren. Mittlerweile haben diese Systeme jedoch durch CD- und DVD-RW an Bedeutung verloren. Die eigentliche Diskette besteht aus einer runden, flexiblen Scheibe, die mit einem magnetisierbaren Material beschichtet ist und sich in einer schützenden Hülle befindet. Die größeren Disketten im 5¼”-Format sind von den kleineren im 3½”-Format, die maximal 1,44 MByte an Daten fassen, abgelöst worden. Entsprechende Diskettenlaufwerke wurden seit 1986 bevorzugt in PCs eingebaut, und es mag erstaunlich sein, dass dieser Typ bis heute als das Standard-Diskettenlaufwerk gilt. Erst seit dem Jahre 2001 wird dieses Diskettenlaufwerk nicht mehr bei allen PCs serienmäßig eingebaut; die üblichen Mainboards unterstützen es allerdings weiterhin mit dem entsprechenden Controller und dem 34-poligen Anschluss, so dass es bei Bedarf auch nachgerüstet werden kann. Der Controller unterstützt stets zwei Diskettenlaufwerke, wobei es mehrere Möglichkeiten gibt, die Reihenfolge der Laufwerke (welches ist A: welches ist B: ?) zu bestimmen.
Abb. 1.22: Ein übliches Verbindungskabel für Diskettenlaufwerke
Am einfachsten ist es, alle an den Laufwerken vorhandenen Jumper – soweit überhaupt vorhanden – in der von der Fabrik festgelegten Position zu belassen, denn die Laufwerke sind meist so eingestellt, dass sie als erstes Laufwerk (also A:) angesprochen werden können. In diesem Fall wird für den Anschluss ein Datenkabel benötigt, bei dem die Leitungen 10 bis 16 gedreht sind (siehe Abbildung 1.22), und hier findet das Diskettenlaufwerk A: dann seinen Anschluss, das
Die PC-Komponenten
23
Laufwerk B: wird am nicht gedrehten Kabelende angeschlossen. Es ist auch möglich, diese Zuordnung im BIOS-Setup zu vertauschen und dann ein nicht gedrehtes Kabel für das einzige Diskettenlaufwerk A: zu verwenden, was aber im Gegensatz zur erstgenannten Methode nicht immer funktioniert. Mit den Jumpern an den Diskettenlaufwerken sollte man sich lieber nicht näher beschäftigen, weil hier fast jeder Hersteller eine andere Bedeutung festgelegt hat.
Abb. 1.23: Ein mit Laufwerken gut ausgestatteter PC, von unten nach oben sind dies: übliches Diskettenlaufwerk, ZIP-Laufwerk, DVD-Writer und DVD-Laufwerk.
Im Laufe der Zeit sind von den Herstellern zahlreiche Versuche unternommen worden, das 3½”Diskettenlaufwerk durch andere Modelle zu ersetzen, die eine höhere Kapazität bieten. Diese Versuche können im Nachhinein alle als gescheitert bezeichnet werden. Bis auf wenige unbedeutende Ausnahmen werden diese »besseren« Laufwerke mit wechselbarem Datenträger, die sich an der Ablösung des traditionellen Diskettenlaufwerkes versucht haben, wie das LS120/240(Panasonic), das HiFD- (Sony) oder auch das ZIP-Laufwerk (IOMEGA), nicht an den Diskettenlaufwerkscontroller (den 34-poligen Anschluss) angeschlossen, sondern an einen IDE-Port (siehe Kapitel 1.1.3). Sie firmieren unter ATAPI-Wechselplatten, auch wenn sie, wie das LS120/240- und das HiFDLaufwerk, neben ihren eigenen Medien die übliche Floppy lesen und beschreiben können. ATAPI steht für AT Attachment Packet Interface, was eine softwaretechnische Standardisierung – einen verbindlichen Kommandosatz – für CD/DVD-Laufwerke und eben auch für Wechselplatten darstellt, die an den IDE-Controller angeschlossen werden. ATAPI gilt als Ergänzung zu ATA, dem Befehlssatz für IDE-Festplatten, und stellt keine hardwaretechnische Änderung gegenüber dem IDE-Anschluss (ATA) dar, sondern lediglich eine softwaretechnische. ATAPI-Befehle sind im Übrigen nichts anderes als SCSI-Kommandos, die eben über die IDE-Schnittstelle und nicht über den SCSI-Bus abgewickelt werden, was im SCSI-Kapitel noch näher erläutert wird. Von der ursprünglichen Intention eines Diskettenlaufwerkes her soll es unmittelbar nach dem Anschluss und der Einschaltung im BIOS-Setup funktionieren und nicht erst einen mehr oder weniger aufwändigen Konfigurationsvorgang mit Treiberinstallation etc. nach sich ziehen, wie
24
Kapitel 1
es bei den ATAPI-Wechelplatten durchaus der Fall sein kann, obwohl zumindest das LS120- und auch das ZIP-Laufwerk von den meisten BIOS-Versionen ebenfalls direkt unterstützt werden. Ob das BIOS allerdings derart »schlau« ist, dass diese Laufwerke dann statt des herkömmlichen Diskettenlaufwerkes auch als übliches A:-Bootlaufwerk funktionieren, ist keineswegs allgemein sichergestellt. Außerdem kann auch das Betriebssystem für Probleme sorgen, weil es eben ein Diskettenlaufwerk und keine ATAPI-Wechselplatte unter A: erwartet. Allein das ZIP-Laufwerk, das es in unterschiedlichen Ausführungen mit verschiedenen Schnittstellen (IDE, SCSI, Parallel-Port, USB) gibt und – je nach Typ – mit Medien von 100 MByte, 200 MByte und 750 MByte umgehen kann, hat es auf einen recht hohen Verbreitungsgrad als »hochkapazitive Diskette« gebracht. Und dies, obwohl die Medien verhältnismäßig teuer sind und ein ZIP-Laufwerk keine traditionelle 3,5-Zoll-Diskette lesen kann. Jeder herkömmliche PC verfügt mindestens über eine Festplatte, und Standard sind, wie bereits oben (in Kapitel 1.1.3) erwähnt, die IDE-Festplatten, die unterschiedliche Kapazitäten und Betriebsarten kennen, was im Kapitel über die Festplatten genau erläutert wird. Die Festplatte ist im Gegensatz zu den Laufwerken mit wechselbarem Datenträger, wozu gewissermaßen auch CD- und DVD-Laufwerke zu rechnen sind, nicht von außen zu erkennen, denn sie befindet sich hinter der Abdeckung des Gehäuses in einem Einbauschacht, wo auch die anderen Laufwerke montiert sind.
Abb. 1.24: Die Festplatte ist bei diesem PC mit Metallwinkeln in einem 5,25-Zoll-Ausschnitt unter dem CD-ROMLaufwerk montiert und normalerweise vom Gehäuse oder einem separaten Abdeckrahmen abgedeckt.
Da ein typisches Standard-Mainboard lediglich zwei IDE-Ports bietet und damit maximal vier IDE-Einheiten angeschlossen werden können, kann dies bereits eine Limitierung für die Erweiterung eines PC darstellen, wenn auch noch ein LS120- oder ZIP-Laufwerk und zwei CD/DVDLaufwerke bzw. »Brenner« (CD/DVD-Writer) im PC zum Einsatz kommen sollen. In Abbildung 1.23 ist ein PC gezeigt, bei dem mit den drei ATAPI-Laufwerken (ZIP, DVD-Writer, DVD-Laufwerk) und der internen Festplatte alle vier IDE-Ports belegt sind. In solchen Fällen bietet sich als Zusatz eine separate IDE-Controllerkarte in PCI-Bus-Ausführung an, die am besten auch noch schnellere Betriebsarten als der (ältere) Controller auf dem Mainboard bietet, so dass hier idealerweise auch eine neue und damit schnellere (zusätzliche) Festplatte angeschlossen wird. Der PC muss dabei natürlich noch genügend Platz für die Laufwerke haben, d.h., sie sollten in einem Rahmen zu montieren sein, und das Netzteil muss zudem über eine entsprechende Leistung verfügen. Wer sein PC-Gehäuse mit dem Netzteil mit Bedacht ausgewählt hat (siehe Kapitel 1.1.1 und 1.1.2), sollte dann auf keine Schwierigkeiten stoßen, und das entstehende »Kabelwirrwarr« wird überschaubar bleiben, wenn das Gehäuse dementsprechend großzügig ausgelegt ist.
Die PC-Komponenten
25
Abb. 1.25: Eine IDE-Controllerkarte für vier zusätzliche Laufwerke
Generell ist bei den IDE-Geräten nicht nur der Master/Slave-Konstellation Rechnung zu tragen, sondern auch den unterschiedlichen Betriebsarten, die im BIOS-Setup entsprechend zu aktivieren sind (z.B. verschiedene PIO- und UDMA-Modi). Als Orientierung sollten schnellere Laufwerke an einem Port und die langsameren am anderen Port zusammengeschlossen werden. In der Abbildung 1.26 erkennen Sie die Anzeige der IDE-Geräte beim Boot des PC und die jeweilige Betriebsart, die verwendet wird. Am ersten IDE-Port befindet sich als Master eine 20 GByte-Festplatte, die im UDMA-Mode-66 arbeitet, und als Slave ist hier ein DVD-Laufwerk angeschlossen, das UDMA-33 verwendet. Der zweite IDE-Port bedient ein CD-ROM-Laufwerk (PIO Mode 4) als Master und ein LS-120-Laufwerk (PIO Mode 3) als Slave.
Abb. 1.26: Die Anzeige der IDE-Laufwerke beim PC-Boot
In den letzten Jahren ist eine Vielzahl weiterer Laufwerke und zugehöriger Datenträger auf den Markt gekommen. Hier sind in erster Linie optische Datenträger zu nennen. Zur Verbreitung großer und unveränderlicher Datenmengen eignet sich besonders die CD-ROM und die Weiterentwicklung davon, die DVD (Digital Versatile Disc), die insbesondere für Videos zum Einsatz kommt. Der Name CD-ROM leitet sich vom bekannten CD-Player (Compact Disc) ab, nur werden hier keine Musiksignale an den PC übertragen, sondern Daten. Im Prinzip ist dies natürlich dasselbe, da auch Musik abstrakt betrachtet eine Datenmenge darstellt. Auf einer üblichen CD-ROM lassen sich üblicherweise maximal 74 Minuten Audio oder 650 MByte (genauer 680 MByte, wenn 1 KByte als 1024 Byte angesehen werden) an Dateninformationen unterbringen, was die CD-ROM daher schnell zum adäquaten Speichermedium für die immer rasanter wachsende PC-Software machte. Es sind verschiedene Bauformen von CD-ROM-Laufwerken möglich. Die gebräuchlichsten lassen sich in einen 5,25-Zoll-Ausschnitt im PC-Gehäuse einbauen und verfügen über einen IDE- oder auch einen SCSI-Anschluss, wofür dann ein SCSI-Controller (Hostadapter) benötigt wird.
26
Kapitel 1
Ein CD-ROM-Laufwerk arbeitet mit einem optischen Leseverfahren, wofür ein Laser mit einiger Optik zum Einsatz kommt. Die Dateninformation einer CD wird durch so genannte Pits und Lands (Vertiefungen und Erhöhungen) repräsentiert. Jeder Übergang vom Pit zum Land und umgekehrt wird dabei als Eins interpretiert und eine bestimmte Strecke (300 nm) ohne Zustandsänderung als Null. CD-Writer – auch lax als CD-Brenner bezeichnet – sind in den letzten Jahren drastisch im Preis gefallen. Ein CD-Writer ist ideal zur Anfertigung eigener CDs, die danach auf jedem üblichen CD-ROM-Laufwerk gelesen werden können. Selbst erstellte Audio-CDs können darüber hinaus auch auf jedem CD-Player einer Stereoanlage wiedergegeben werden. Der Aufbau eines Rohlings (CD-R, Compact Disc Recordable) ähnelt dem einer industriell gefertigten CD-ROM, denn beide bestehen aus Polycarbonat und besitzen eine Schutzschicht. Allerdings sind bei der CD-R noch keine Pits und Lands eingepresst, denn diese Dateninformation soll bei einer CD-R ja erst noch geschrieben werden, was durch einen Schreiblaser erfolgt, der mit einer wesentlich höheren Energie als ein Laser arbeitet, der zum Lesen einer CD verwendet wird. Auf einer CD-R ist bereits eine Spur eingeprägt, die den Strahl des Schreiblasers führt und auch Zeitinformationen enthält, damit die Elektronik feststellen kann, an welcher Stelle auf der CD-R sich der Laser gerade befindet, und die Umdrehungsgeschwindigkeit beeinflussen kann, die von der Position des Lese- oder Schreiblasers auf der CD abhängig ist. Die eingeprägte Spur ist mit einer organischen Farbschicht (z.B. Cyanin) überdeckt und stellt die Informationsschicht dar, denn hier werden die Pits und Lands durch den Schreiblaser eingeprägt. Die gegen äußere Einwirkungen (Druck, Kratzer) empfindlichere Seite einer CD ist nicht die Unterseite, wo die Laserabtastung stattfindet, sondern die obere, wo sich der Labelaufdruck befindet, was insbesondere auf »selbst gebrannte« CDs zutrifft. Bei Beschriftungen muss man daher äußerst vorsichtig zu Werke gehen und darf hier keinesfalls starken Druck ausüben, wie etwa mit einem Kugelschreiber. Eine CD-R ist aufgrund der Farbschicht wesentlich empfindlicher als eine industriell gepresste CD, so dass man mit diesen CDs besonders vorsichtig umgehen und sie weder extremer Wärme und noch starker Sonneneinstrahlung aussetzen sollte. Verschiedene Untersuchungen haben zwar gezeigt, dass eine beschriebene CD-R einen Datenerhalt von Jahrzehnten garantieren soll, allerdings sollte man nichts herausfordern. Zumindest sind die CD-R empfindlicher gegen Kratzer als die industriell gefertigten CDs, was ich aus eigener Erfahrung bestätigen kann. Ursprünglich für den Backup von Daten vorgesehen, haben die Firmen Sony und Philips Compact Disc Read and Writeable oder CD ReWritable entwickelt. Hierfür sind dementsprechend auch CD-RW-Schreiber notwendig, und jeder aktuelle CD-Brenner kann sowohl mit CD-R- als auch mit CD-RW-Medien umgehen. Die CD-RW-Scheiben lassen sich wieder löschen und erneut beschreiben, was laut Herstellerangaben mehrere 100.000mal durchführbar sein soll. Aus den Erfahrungen mit der CD-R ist es sicherlich angebracht, eine CD-RW mindestens mit der gleichen Sorgfalt zu behandeln. Ursprünglich als Digital Video Disc angetreten, wird die DVD mittlerweile als Digital Versatile Disc bezeichnet und als nahezu universelles Speichermedium angesehen. Die DVD-ROM-Laufwerke haben die üblichen CD-ROM-Laufwerke vielfach bereits abgelöst und sind bei aktuellen PCs standardmäßig eingebaut, weil die DVD-ROM-Laufwerke auch die üblichen CDs, ob industriell gefertigt oder selbst beschrieben, lesen können (sollten). Insbesondere als DVD-Player für Videos kommen die DVD-Laufwerke zum Einsatz. Eine DVD kann typischerweise – je nach Typ – 4,7 GByte bis hin zu 17 GByte an Daten fassen, wobei der erste Typ der bisher gebräuchlichste ist, und zumindest auf den ersten Blick unterscheidet sich eine DVD nicht von einer CD.
Die PC-Komponenten
27
Abb. 1.27: Das Plextor-Combo-Laufwerk ist ein CD-Brenner mit 20x/10x/40x und ein DVD-Laufwerk mit 12x.
Für (wieder-)beschreibbare DVDs gibt es unterschiedliche Realisierungen (DVD-R, DVD+RW, DVD-RAM), und die Hersteller haben sich hier noch immer nicht auf einen gemeinsamen Standard einigen können, obwohl nun schon seit Jahren unterschiedliche Verfahren und Geräte angeboten werden. Gemeinsam ist den verschiedenen Varianten allerdings, dass sie alle auf dem Phase-Change-Verfahren wie bei der CD-RW beruhen, und einige neuere DVD-Brenner (z.B. von Sony) können mit den beiden konkurrierenden Verfahren DVD-Minus und DVD-Plus umgehen, was aber leider nichts daran ändert, dass es mit der Kompatibilität der selbst beschriebenen DVDs noch nicht weit her ist, weil es immer wieder zu Leseproblemen mit den üblichen DVD-Laufwerken im PC oder auch im DVD-Player der Stereoanlage kommt. Die Ursachen hierfür sind vielfältiger Natur und liegen im Schichtmaterial, dem Aufzeichnungsformat, der optischen Laser-Wellenlänge und sogar der Writer-Software begründet. Auf Details werde ich im Kapitel über die optischen Massenspeicher noch näher eingehen. DVD-RAM verwendet ein zur DVD-ROM inkompatibles Format und hat seine Bestimmung in erster Line als Backup-Lösung gefunden, so dass dieses System im Konkurrenzkampf um das optimale wiederbeschreibbare DVD-Format im Grunde genommen keine Rolle mehr spielt. Der maßgebliche Hersteller von DVD-Writern für das DVD-Minus-Format (-R, -RW) ist die Firma Pioneer, die zwar in Japan dominiert, in Deutschland und Europa werden jedoch meist DVD-Brenner für das DVD-PlusFormat (+R, +RW) beispielsweise von den Firmen Ricoh und Hewlett-Packard verwendet.
Abb. 1.28: Die Firma Pioneer ist der maßgebliche Hersteller von DVD-Writern für das DVD-Minus-Format (-R, -RW).
28
Kapitel 1
Beim Einbau und der Konfigurierung eines DVD-Laufwerks, das in der Regel als ATAPI-Typ ausgeführt ist, sind die gleichen Dinge (IDE-Kabel, Master/Slave) zu beachten wie bei einem gewöhnlichen CD-ROM-Laufwerk, was auch für die Writer – egal, ob für CD oder DVD – gilt. Diese Laufwerke erscheinen beispielsweise unter Windows bei den CD-ROM-Laufwerken, und die jeweilige Schreibfunktionalität des Laufwerks wird nicht durch Windows, sondern durch die zum Brenner dazugehörige Writer-Software zur Verfügung gestellt.
1.1.7
Grafikadapter
Ein für den Benutzer wesentlicher Bestandteil eines Personal Computers ist der Monitor, (Bildschirm) zusammen mit dem dazugehörigen Grafikadapter, der üblicherweise als AGP-Grafikkarte ausgeführt ist und seinen Platz daher im AGP-Slot des Mainboards findet. Nach Grafikadaptern für PCI und erst recht für die noch älteren Slots wie ISA oder VLB wird man im Handel meist vergeblich suchen, denn diese Grafikkadapter sind quasi ausgestorben, auch wenn eine PCIGrafikkarte keineswegs schlechter sein muss als eine AGP-Grafikkarte, insbesondere dann, wenn keine Spiele als Hauptanwendung vorgesehen sind. Bei einigen Mainboards ist der Grafikadapter auch in der Mainboard-Elektronik, dem Chipset, integriert, was sich in der Praxis jedoch als weniger flexibel erweist und zudem eine PC-Umrüstung erschweren oder sogar unmöglich machen kann. Insbesondere Anwender aktueller Spiele (»Gamer«) profitieren von der rasanten Fortentwicklung der Grafiktechnologie, die Anwendern, die damit eher weniger im Sinn haben und vielleicht bevorzugt Office-Applikationen einsetzen, programmieren oder auch das Internet nutzen, oftmals verborgen bleibt.
Abb. 1.29: Grafikkarten gibt es von zahlreichen Herstellern mit unterschiedlicher Ausstattung.
Ein Gamer wird aber nicht umhinkommen, seine Grafikkarte des Öfteren zu ersetzen, damit die aktuellen Spiele mit optimaler dreidimensionaler Grafik dargestellt werden können. Dies kann durchaus dazu führen, dass gleich ein neuer PC notwendig wird, weil die neue Grafikkarte etwa
Die PC-Komponenten
29
mit AGP8x laufen soll, das Mainboard jedoch nur den AGP-2.0-Standard unterstützt, was eben ein neues Mainboard erfordert, das auch nicht mehr mit SDRAM, sondern ausschließlich mit DDR-SDRAM funktioniert. Außerdem muss die CPU von ihrer Leistung her mit der Grafikkarte gut harmonieren (skalieren), damit von dieser Seite hier keine »Bremse« im System vorhanden ist. Weil es leider üblich ist, dass eine neuere Grafikkarte auch meist mehr Strom verbraucht als eine ältere, ist zudem die maximale Leistung, die das Netzteil bietet, zu beachten, und u.U. ist dann auch ein neues Netzteil fällig, am besten gleich in einem schallgedämmten Gehäuse, weil die Lüfter der CPU, des Chipsets und der Grafikkarte doch einen ganz gehörigen Lärm verursachen können. Wer dann auch noch gern eine größere und schnellere Festplatte hätte, ist tatsächlich meist besser beraten, wenn der PC mit der älteren Grafikkarte dann gar nicht erst umgerüstet wird, sondern ein gleich ein neuer PC auf den Wunschzettel gesetzt wird. Bei genauerer Betrachtung aktueller Grafikkarten fällt auf, dass zwar eine beachtliche Anzahl von Herstellern unterschiedliche Grafikkarten anbietet, die verwendeten Chips jedoch zumeist von den Firmen Nvidia oder ATI stammen. Variationen entstehen dabei dadurch, dass die Chips unterschiedlich schnell getaktet werden und auch unterschiedliche Speicherchips zum Einsatz kommen. Unter Beachtung dieser Punkte wird es nicht verwundern, dass aktuelle Grafikkarten unterschiedlicher Hersteller sich leistungstechnisch gesehen kaum voreinander unterscheiden, wenn eben das wesentliche Bauteil – der Grafikbeschleuniger – der gleiche ist. Deshalb lohnt es, die einzelnen Features der Grafikkarten verschiedener Hersteller gründlich miteinander zu vergleichen, weil sich dadurch bares Geld sparen lässt. Bei dieser Betrachtung sollten aber auch optionale Funktionen, auf die man vielleicht Wert legt, mit ins Kalkül gezogen werden. In erster Linie gehören dazu Dinge wie Dual-Monitor-Betrieb, digitaler Monitoranschluss (DVI, für ein TFT-Display) und ein TV-Out-Anschluss, damit die Videos auch am heimischen Fernseher betrachtet werden können. Außerdem kann sich im Lieferumfang der Grafikkarten auch unterschiedliche Software befinden, beispielsweise DVD-Player-Software oder diverse Spiele, was ebenfalls mit zur Kaufentscheidung beitragen kann.
Abb. 1.30: Grafikkarten mit unterschiedlichen Anschlüssen
Die dreidimensionale Bildschirmdarstellung stellt an eine Grafikkarte besonders hohe Anforderungen. Aus diesem Grunde ist auf einer 3D-Karte ein spezieller 3D-Beschleunigerchip (Accelerator) im Einsatz. Ältere Grafikkarten besitzen lediglich einen 2D-Accelerator, der die CPU des PC von Aufgaben wie Verschieben von Fensterinhalten (Bit-Blit), Zeichnen von Linien oder Füllen von Polygonen (Polygon Fill) entlastet. Alle neueren Grafikkarten enthalten neben dem 2D- auch einen 3DBeschleunigerchip, oder beide Bausteine sind in einem Gehäuse kombiniert untergebracht, was
30
Kapitel 1
dem allgemeinen Stand der Technik entspricht. Um eine dreidimensionale Szenerie auf einem zweidimensionalen Monitor möglichst gut wiedergeben zu können, sind geradezu ein Unmenge an mathematischen Berechnungsschritten notwendig, und die 3D-Chips enthalten – je nach Typ – mehr oder weniger Funktionen für die dreidimensionale Darstellung in »Silizium gegossen«.
1.1.8
Sound
Jeder aktuelle PC verfügt über die Möglichkeit, Sound auszugeben. Den Begriff Sound verwende ich hier als Oberbegriff für Sprache, Musik und Geräusche aller Art, die ein PC mithilfe einer Soundkarte auf die Lautsprecher geben kann. Diese befinden sich meist nicht im Lieferumfang eines PCs, sondern sind separat zu beschaffen. Wer keine besonderen Ansprüche an die Klangqualität stellt und vielleicht nur Windows-Systemklänge zu Gehör bringen will, ist zumeist mit den kleinen Lautsprechern zufrieden, die als Paar mit Steckernetzteil bereits für ca. 10 Euro zu haben sind. Diese sehen oftmals auch etwas primitiv aus und machen zumindest auf dem (Büro-) Schreibtisch nichts her, so dass es sich möglicherweise empfiehlt, einen Monitor mit integrierten Lautsprechern zu verwenden. Anschlüsse Die Anschlüsse der Sound-Elektronik befinden sich im ATX-I/O-Bereich, wie es auch in der Abbildung 1.2 zu erkennen ist, wenn es sich um Onboard-Sound handelt – diese Elektronik also mit auf dem Mainboard integriert ist. Idealerweise sind auch einige Anschlüsse nach vorn geführt (Abbildung 1.3), was ebenfalls möglich ist, wenn eine separate Soundkarte verwendet wird, die typischerweise als PCI-Karte ausgeführt ist. Der auffälligste Soundkartenanschluss mag zunächst die 15-polige Gameport-Verbindung sein, die auf den ersten Blick erst einmal nichts mit Sound zu tun hat. Im Abschnitt MIDI-Standard in diesem Kapitel erfahren Sie Näheres hierzu. In Abbildung 1.31 sind zunächst die gebräuchlichen Soundkartenanschlüsse zu erkennen, wie sie bei einfachen On-Board- und bei Einsteckkarten-Sound-Lösungen zu finden sind.
Abb. 1.31: Die typischen Soundkartenanschlüsse
Etwas schwieriger als der Gameport sind die Audioanschlüsse zu identifizieren, was schon an den nicht immer klar erkennbaren Symbolen liegt. Diese Anschlüsse sind seit einiger Zeit jedoch oftmals farbig gekennzeichnet, was den jeweiligen Anschluss deutlich machen soll. Line-Out (grüne Buchse) wird an die Stereoanlage (Line-In) oder an Lautsprecher mit integriertem Verstärker, so genannte aktive Lautsprecher, angeschlossen. Es sei erwähnt, dass es Sound-Realisierungen gibt, die auch explizit über einen Lautsprecheranschluss (Speaker-Out) verfügen, und
Die PC-Komponenten
31
hier können dann auch einfache Lautsprecher ohne integrierten Verstärker angeschlossen werden, weil sich der NF-Endverstärker eben auf der Soundkarte selbst befindet. Der Mikrofoneingang (rote Buchse), der meist nur in Mono ausgeführt ist, eignet sich in der Regel lediglich für einfachste dynamische Mikrophone und liefert eher schlechte Ergebnisse, was in erster Linie daran liegt, dass die hierfür zuständige Verstärkerschaltung der Soundkarte von minderwertiger Qualität ist, was zu starkem Rauschen und Störgeräuschen bei Signalaufnahmen führt. Die Line-In-Buchse (blau oder auch schwarz) der Soundkarte kann mit einer Stereoanlage (LineOut) oder mit anderen Audio-Geräten, von denen man aufnehmen möchte, verbunden werden. Die Audio-Buchsen der Soundkarten sind in der Regel für die kleinen 3,5-mm-Stecker (Mini-Klinke) vorgesehen, während sich an Stereoanlagen oder anderen Audiogeräten meist die Cinch- oder auch 5-poligen DIN-Buchsen befinden. Demnach sind entsprechende Adapter oder Adapterkabel vonnöten, die im HiFi- und Elektronik-Fachhandel zu erwerben sind. Einige Soundkarten verfügen über zusätzliche Anschlüsse, die nicht am Slotblech anliegen, sondern direkt auf der Platine als Stiftleisten oder mit Buchsen ausgeführt sind. Hier handelt es sich meist um den Audioanschluss für ein CD-ROM-Laufwerk, um einen zusätzlichen Aux-Eingang, um die Anschlüsse für die PC-Lautsprecherverbindung oder auch um Eingänge, die mit MODEM oder TV bezeichnet und dann meist in Mono ausgeführt sind. Was beim Anschluss der Audioquellen immer wieder gern vergessen wird, ist die Audioverbindung vom CD-ROM-Laufwerk zur Soundkarte. Die Wiedergabe von CD-ROM-Audio-Files, wie es mit dem üblichen CD-Player der Stereoanlage ebenfalls praktiziert wird, ist zwar auch ohne diese Verbindung möglich, jedoch keine Wiedergabe von WAV- oder MIDI-Files. Die Audioverbindung vom CD-ROM-Laufwerk zur Soundkarte wird über ein relativ dünnes Kabel hergestellt, und ältere Laufwerke sowie Soundkarten können hierfür unterschiedliche Buchsen aufweisen. Im Elektronikfachhandel gibt es eine Reihe von speziellen Audio-Adapterkabeln, die verschiedene CD-ROM-Laufwerke und Soundkarten miteinander verbinden können. Generell werden aber drei Signale (links, rechts und Masse) geführt. Mit dem Multimedia-Standard der dritten Revision (MPC-Level 3) ist die Belegung dieses Audio-Anschlusses standardisiert worden, und die beiden inneren Kontakte liegen auf Massepotenzial.
Abb. 1.32: Die wichtigsten Elemente einer einfachen Soundkarte
Neben diesen analogen Ein- und Ausgängen einer Soundkarte gibt es auch digitale Verbindungsmöglichkeiten, so dass die Signale nicht erst mit Qualitätsverlusten aufgenommen – von analog in digital umgesetzt – werden müssen, wenn Sie etwa Musik von Ihrem MiniDisc-Player auf den PC überspielen möchten. Standard ist hierfür ein SPDIF-Anschluss (Sony Philips Digital
32
Kapitel 1
InterFace), der beispielsweise ab der Soundblaster Live! üblich ist. SPDIF kann in zwei unterschiedlichen Varianten ausgeführt sein: koaxial oder optisch. Der Koaxialanschluss sieht zwar aus wie ein üblicher Cinch-Anschluss, ist jedoch nicht mit diesem kompatibel. Für die optische Verbindung kommen spezielle Glasfaserverbindungsleitungen zum Einsatz. Dies ist mit dem Vorteil der galvanischen Trennung der verschiedenen Geräte verbunden, so dass durch diese Verbindungsart keine Brummschleifen entstehen können. Mehrkanal-Sound Insbesondere für Spiele legt man oftmals Wert auf einen Mehrkanal-Sound, d.h., es sind nicht nur zwei Lautsprecher für Stereo, sondern dann mindestens vier notwendig. Diese Möglichkeit firmiert zuweilen ganz allgemein unter dem Begriff 3D-Sound oder auch Raumklang. Hierfür gibt es verschiedene Standards wie A3D von Aureal, EAX von Creative Labs und Direct Sound 3D von Microsoft, um nur einige zu nennen. Die Soundkartenhersteller unterstützen oftmals mehrere dieser 3D-Sound-Implementierungen, so dass man sich selbst das optimale Verfahren aussuchen kann, was letztendlich davon abhängig ist, welches Verfahren vom jeweiligen Spiel unterstützt wird. Environmetal Audio Extension (EAX) stellt dabei den Standard im Spielesektor dar und ist als Vierkanal-System ausgelegt. Bei DVD-Videos ist ebenfalls eine Form von 3D-Sound möglich, denn auf den üblichen Video-DVDs ist Audio meist sowohl im Dolby Surround- als auch im Dolby AC-3-Format abgespeichert. Dolby Surround ist vom Kino und auch bereits von Videocassetten her bekannt. Es ist auf einer DVD im PCM-Format (Pulse Code Modulation) abgelegt. Aus der stereophonen Audioinformation werden mit Hilfe eines Dolby Prologic-Decoders sechs Kanäle generiert: vorne links, vorne rechts, Mitte, Tiefbass (Subwoofer) und hinten, wobei die Informationen für die hinteren beiden Lautsprecher identisch sind. Demgegenüber enthält Dolby AC-3 »von Hause aus« bereits die getrennte Information für sechs Kanäle, und zwar als Bitstream, d.h. als digitale, serielle Dateninformation, die ähnlich wie MP-3 dekodiert wird und trotz Datenreduktion ein besseres Klangergebnis als das analog arbeitende Dolby Prologic liefern kann. Für beide Verfahren werden zusätzliche Decoder benötigt, die in den DVD-Geräten der HiFi-Industrie – je nach Modell – bereits enthalten sind.
Abb. 1.33: Ein Raumklangsystem (Dolby Prologic) der Firma Video Logic
Die PC-Komponenten
33
EAX-unterstützende Soundkarten der Firma Creative Labs (z.B. Live! Player) bieten neben der entsprechenden Spieleunterstützung auch Surround-Sound für DVD-Filme, jedoch keinen echten 5.1-Sound, der für DVD-Filme zur Zeit als das Maß der Dinge gilt. Um diesen sechs-KanalSound etwa auf vier Lautsprechern nachzubilden – zu emulieren – oder auch Stereo-Signale in 5.1-Sound umzusetzen, gibt es wiederum verschiedene Verfahren wie beispielsweise QMSS (QSound Multispeaker System) oder Sensaura, was sich mehr oder weniger »gut anhört«, jedoch klanglich sowie vom räumlichen Eindruck her nicht an eine richtige Dolby-Lösung heranreicht. Für die Übermittlung von 5.1-Sound sind mehrere Möglichkeiten gegeben. Falls die Soundkarte selbst über einen entsprechenden Decoder verfügt, können die drei stereophonen Ausgänge (meist Mini-Klinke) der Soundkarte direkt an das 5.1-Boxenset gegeben werden, das dementsprechend keinen Decoder benötigt. Bei einer Soundkarte mit digitalem SPDIF-Ausgang (optisch oder koaxial) wird entweder ein Boxenset mit Decoder oder ein HiFi-Surround-Verstärker benötigt, an dem die sechs Boxen angeschlossen sind und der einen integrierten Decoder besitzt. Ein HiFi-Surround-Verstärker verfügt in der Regel aber auch über analoge Eingänge, so dass eine Soundkarte ohne Decoder – aber mit sechs Ausgängen – ihn entsprechend ansteuern kann. Eine relativ neue Möglichkeit bietet der USB, denn es gibt Surround-Verstärker (z.B. von Yamaha), die die Audiodaten per USB empfangen und auf die Lautsprecher geben können. Für diese Lösung wird demnach noch nicht einmal eine Soundkarte im PC benötigt. Obwohl 5.1-Surround bisher als das gebräuchlichste Raumklangsystem gilt, das auch von HiFi-Geräten unterstützt wird, gibt es daneben noch einige andere wie 6.1- oder 7.1-Surround (8-Kanal), wobei hierfür stets passendes (DVD-)Klangmaterial sowie auch entsprechende Decoder-Software notwendig ist, die bisher allerdings noch nicht allgemein zur Verfügung steht. Soundkarten-Funktionen im Überblick Den Onboard-Sound-Lösungen wird oftmals ein eher mäßiger Klang bescheinigt, der jedoch nicht schlechter als der von preisgünstigen Sound-Einsteckkarten ausfallen muss. Grundsätzlich gibt es zwei verschiedene Möglichkeiten für die Soundverarbeitung, und zwar mithilfe von CODECs oder mit einem Synthesizer-Chip, wobei diese beiden Disziplinen von allen gebräuchlichen Standard-Soundkarten beherrscht werden. Ein typischer CODEC (Coder/Decoder, Signalumsetzer) enthält mindestens einen A/D- und einen D/A-Wandler sowie einen Mixerchip für das Mischen verschiedener Audiosignale. Die üblichen Soundkarten verwenden einen CODEC, der eine Auflösung von 16 Bit bietet und den Duplex-Mode (Enhanced) unterstützt, womit gleichzeitige Signalwiedergabe und -aufnahme möglich ist, was für die Erstellung eigener Klangkreationen und auch von Voice-ModemAnwendungen notwendig ist. Das Standardformat für Daten, die von einem CODEC verarbeitet werden, ist das Wave-Format (*.wav). Der Synthesizer-Chip einer Soundkarte erzeugt demgegenüber Klänge auf elektronischem – synthetischem – Wege, und hierfür ist das MIDI-Format als Standard anzusehen. In einer MIDI-Datei (*.mid) steckt lediglich die Information über den Instrumententyp, Note An/Aus, Lautstärke usw. und kein Instrumentenklang, der eben erst aus diesen Informationen vom Synthesizer-Chip erzeugt wird. Aus diesem Grunde sind MIDI-Dateien von ihrer Größe her auch wesentlich kleiner als Wave-Dateien bei vergleichbarer Spieldauer. Je nach Qualität des jeweiligen Synthesizer-Chips hören sich die Instrumente dann mehr oder weniger natürlich an. Weiterführende Informationen finden Sie hierzu in diesem Kapitel im Abschnitt Synthesizer.
34
Kapitel 1
Wer mit den Möglichkeiten, den der Onboard-Sound oder auch übliche preisgünstige Soundkarten bieten, zufrieden ist, wird dem Thema Sound nicht viel mehr abgewinnen können, wenn es primär um rudimentäre Wiedergabefunktionen geht. Anders sieht es jedoch bei PC-Anwendern aus, die musikalische Ambitionen haben, oder Musikern, die den PC als Basis für ein (semiprofessionelles) Tonstudio ansehen. Auch wenn die so genannten High-End-Soundkarten sich in ganz anderen Preisregionen bewegen (ca. 200 – 600 Euro), bieten sie bei genauerer Betrachtung jedoch Studiotechnik zu verhältnismäßig günstigen Preisen. Zunächst werden mehr Kanäle als für (einkanaliges) Stereo benötigt, und für die typischerweise vier bis acht analogen Ein- und Ausgänge kommen keine Miniklinken-Stecker als Anschluss in Frage, sondern Cinch- oder auch XLR-Connectoren, wie man sie von den Stereoanlagen bzw. aus der Studiotechnik her kennt. Auf den üblichen Slot-Blechen sind diese Anschlüsse mechanisch nicht mehr unterzubringen, so dass dann entweder Kabelpeitschen mit den notwendigen Anschlüssen zum Einsatz kommen oder auch Panels, die sich in einem 5,25-Zoll-Ausschnitt des PC montieren lassen. Professioneller erscheinen externe, so genannte Break-Out-Boxen, die sogar als 19”-Einschübe ausgelegt sein können. Über spezielle Kabel werden diese Anschlusssysteme dann mit der Soundkarte verbunden. Dabei ist zu beachten, dass der CODEC am besten im externen System untergebracht sein sollte, so dass über das Kabel zur Soundkarte die bereits digitalisierten Daten fließen, denn die Kabellängen haben einen negativen Einfluss auf die analogen Signale.
Abb. 1.34: Ein Profisoundsystem der Firma Terratec
Parametern wie Störabstand, Linearität und Dynamikumfang wird bei derartigen Soundsystemen wesentlich stärker Rechnung getragen, als dies bei den Standard-Soundkarten der Fall ist. Die Auflösungen der Wandler betragen dann typischerweise maximal 20 bis 24 Bit bei Abtastraten von 48 oder auch 96 kHz. Im folgenden Abschnitt wird auf das Sampling noch etwas näher eingegangen, wobei ich an dieser Stelle jedoch noch auf einen wichtigen Parameter für Profi-Soundkarten hinweisen möchte: die Latenz, die quasi diejenige Zeit beschreibt, in der ein analoges Signal durch den PC »wandert«. Diese Latenz beträgt bei Standardkarten bestenfalls 50 ms, und bei Profikarten sollte sie idealerweise bei ca. 10 ms liegen, weil dies meist nicht mehr als störende Verzögerung wahrgenommen wird. Wichtig ist die Latenz, wenn gleichzeitig Sounds aufgenommen und wiedergegeben werden sollen, was praktisch ein Muss bei Musikeranwendungen ist. Wenn zu einer bereits fertig gestellten Tonspur eines Sequencer-Programms (MIDI oder Wave) weitere Tonspuren live eingespielt werden sollen, dürfen die Töne der einzelnen Spuren eben nicht »auseinander laufen«, sondern müssen möglichst exakt gleichzeitig erklingen. Neben der Hardware muss dabei die Software, d.h. Windows, ebenfalls mitspielen, das aufgrund seiner Architektur aber selbst eine kaum vorhersagbare Latenz mit sich bringt. Die hierfür in Windows zuständige Software-Schnittstelle MME (MultiMedia Extensions) ist schlicht zu langsam. Direct Sound aus DirectX kann hier
Die PC-Komponenten
35
zwar prinzipiell Abhilfe schaffen, wobei für »Profikarten« jedoch bereits seit ca. 1995 eigene Software-Interfaces für latenzarmes Sampeln existieren. Audio Streaming Input Output – kurz ASIO – der Firma Steinberg gilt hier als Standard-Software-Schnittstelle, und eine »bessere« Soundkarte sollte hierfür die entsprechende Unterstützung in Form geeigneter Treiber mitbringen. Einen »ordentlichen« Mikrofoneingang in (Stereo) und/oder die Möglichkeit auch ElektretMikrofone anschließen zu können, die ihre Versorgungsspannung aus dem Mikrofonanschluss beziehen, sollten diese besseren Soundkarten ebenfalls bieten können. Richtige MID-Interfaces mit 5-poligen DIN-Anschlüssen sowie SPDIF-Anschlüsse gehören dann meist auch noch dazu. Sampling Mit einer Soundkarte ist es möglich, Sprache, Musik oder Geräusche über ein Mikrofon oder auch einen Line-In-Eingang der Stereoanlage aufzunehmen, wofür auf der Karte ein Analog/DigitalWandler verwendet wird, der diese analogen Signale in eine digitale und damit in eine durch den PC zu verarbeitende Form bringt. Zur Umsetzung eines analogen Signals in ein digitales, was auch Sampling genannt wird, wird das analoge Signal zu bestimmten Zeitpunkten abgetastet, was durch die Sampling-Rate oder die Sampling-Frequenz zu bestimmen ist. Mit den üblichen Programmen (z.B. WaveStudio) zur Signalaufnahme, die den Soundkarten üblicherweise beiliegen, kann dieser Parameter neben der Auflösung für eine Aufnahme festgelegt werden. Je höher diese Einstellungen gewählt werden, desto unverfälschter ist die digitale Abbildung des analogen Signals. Mit welchen Parametereinstellungen man arbeitet und ob ein Komprimierungsverfahren wie beispielsweise MPEG, ADPCM, A-Law oder µ-Law eingesetzt wird, die prinzipiell für eine Verschlechterung der Klangergebnisse sorgen, hängt von der jeweiligen Anwendung ab. Das somit digitalisierte Analogsignal wird nachfolgend im RAM oder auf der Festplatte des PCs gespeichert. Wie viel Speicher hierfür nötig ist, wird durch die für den Wandler festgelegte Abtastfrequenz und Auflösung bestimmt. Für eine einfache Sprachverarbeitung (in Mono) kommt man mit einer 8-Bit-Auflösung und mit einer Abtastfrequenz von 11,025 kHz aus, wenn man nicht mehr als Telefonqualität verlangt. Sollen hingegen Musikstücke in relativ guter Qualität aufgenommen werden, ist eine 16-Bit-Auflösung mit einer Abtastfrequenz von 44,1 kHz typisch, was einen Speicherplatzbedarf von ca. 10 MByte/min für ein Stereosignal bedeutet. Wichtig für eine gelungene Signalaufnahme ist der optimale Aussteuerungspegel, der entweder direkt im Sample-Programm oder aber separat mit Hilfe eines extra Tools, wie beispielsweise dem Creative Mixer bei Soundblaster-Karten, einzustellen ist. Nicht verwendete Eingänge sollten dabei stumm geschaltet werden, weil sie nur unnötige Störungen und Rauschen mit in das Signal einbringen können. Das Sampling ist eine Aufgabe, die bei Soundkarten die Spreu vom Weizen trennt, denn die Wiedergabe von Wave-Dateien, die sich im Lieferumfang von Windows oder auch (Multimedia-) Applikationen befinden, ist im Grunde genommen eine demgegenüber simple Aufgabe. In der Praxis stellt sich oftmals heraus, dass die Eingangsverstärker, die das Signal zum A/D-Wandler leiten, von minderer Qualität sind, was sich in Störgeräuschen und Verzerrungen bei der Aufnahme bemerkbar machen kann, und insbesondere der Mikrofoneingang neigt oftmals zu starkem Rauschen. Wer also nicht nur Signale wiedergeben, sondern auch in guter Qualität aufnehmen möchte, wird daher zumindest an den Onboard-Lösungen vielfach keine rechte Freude haben. Speichern, verändern, Teile löschen, Teile kopieren und Klangdateien zusammenfügen sind Funktionen, die mit der entsprechenden Software in digitaler Form auf das aufgenommene Signal – den Sample – angewendet werden können.
36
Kapitel 1
Abb. 1.35: Die Aufnahme und Bearbeitung von Audiosignalen erfolgt mit einem Wave-Recorder/Editor, der über Funktionen wie Schneiden und Kopieren verfügt sowie das Einfügen von Effekten (Echo, Wellenform invertieren) ermöglicht. Diese Funktionen werden auf digitaler Ebene ausgeführt.
Damit man das Signal hören kann, muss es wieder zurückübersetzt, also in eine analoge Form gebracht werden, was durch einen auf der Karte eingebauten Digital-Analog-Wandler erfolgt. Ein Audio-Verstärker auf der Karte »hebt« das analoge Signal dabei nachfolgend an, damit die Verbindung zu einer Stereoanlage über die Line-Anschlüsse herzustellen oder auch direkt ein Lautsprecher anzuschließen ist. MIDI-Standard Oben wurden bereits die MIDI-Dateien erwähnt, also Daten, die von einem Synthesizer-Chip verarbeitet werden. Korrekterweise muss man hinzufügen, dass es für diese Soundchips auch eine ganze Reihe herstellerspezifischer Formate (SBI, INS, CMF) zur Anwendung kommen können, auf die ich allerdings nicht weiter eingehen möchte, denn MIDI ist hierfür ein allgemein gebräuchliches Format. MIDI steht für Musical Instrument Digital Interface und beschreibt zunächst ein serielles Interface, das aus dem Musik- und nicht etwa aus dem PC-Bereich stammt. Durch die Soundkarten der Firma Creative Labs (Soundblaster) ist es üblich geworden, dass eine Soundkarte auch über ein MID-Interface verfügt, das aus zwei seriellen Signalen, MIDI-In und MIDI-Out, besteht, die am Gameport anliegen. Der Gameport ist am PC als 15-polige Buchse ausgeführt und wird auch als Joystickinterface bezeichnet. Demnach wird hier vorwiegend ein Joystick, ein Gamepad oder auch eine Fahrkonsole angeschlossen. Üblicherweise lassen sich mithilfe eines Adapters maximal zwei Joysticks am Gameport verwenden.
Die PC-Komponenten
37
Pin Nr.
Funktion-Standard (PC-Schnittstellenkarte)
Funktion mit MIDI (Soundkarte)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
5V Joystick 1, Fire Button 1 Joystick 1, X-Richtung GND GND Joystick 1, Y-Richtung Joystick 1, Fire Button 2 5V 5V Joystick 2, Fire Button 1 Joystick 2, X-Richtung GND Joystick 2, Y-Richtung Joystick 2, Fire Button 2 5V
5V Joystick 1, Fire Button 1 Joystick 1, X-Richtung GND GND Joystick 1, Y-Richtung Joystick 1, Fire Button 2 5V 5V Joystick 2, Fire Button 1 Joystick 2, X-Richtung MIDI-TXD (MIDI-Out) Joystick 2, Y-Richtung Joystick 2, Fire Button 2 MIDI-RXD (MIDI-In)
Tab. 1.6: Die Belegung des Joystickinterface-Anschlusses mit und ohne MIDI-Signale
Die üblichen MIDI-Anschlüsse an Musikinstrumenten wie Keyboards oder Drum-Machines sind jedoch als 5-polige DIN-Buchsen ausgeführt, wie man sie von HiFi-Geräten und auch vom ursprünglichen PC-Tastaturanschluss her kennt, so dass auch ein übliches Audio-DIN-Kabel als MIDI-Verbindung zum Einsatz kommen kann. Zum Anschluss dieser zwei MIDI-Kabel (MidiIn, Midi-Out) an einen Gameport wird demnach ein Adapter benötigt. Fast jeder Soundkartenhersteller bietet zur Herstellung eines richtigen MID-Interfaces entsprechende Geräte an, die beispielsweise als MIDI-Box oder MIDI-Mate bezeichnet werden. Die Joysticks können dann meist ebenfalls hier angeschlossen werden. Mithilfe der beiden MIDI-Leitungen wären jedoch nur zwei Geräte miteinander zu koppeln, und aus diesem Grunde gibt es vielfach noch einen dritten Anschluss: MIDI-Thru. Das MIDI-In-Signal wird im jeweiligen Gerät einfach über diesen Anschluss durchgeschleift und dient dann als MIDI-In für ein drittes Gerät. Der MIDI-Leitungsweg ist als Bussystem zu verstehen, das jedoch nicht mit Spannungspegel arbeitet, sondern als Stromschnittstelle ausgeführt ist, damit relativ lange Kabelwege möglichst verlustfrei überbrückt werden können. Ein einzelnes MIDI-Kabel darf üblicherweise nicht länger als 15 Meter sein. Aus diesem Grunde ist eine Schaltung nötig, die das MIDI-RXD- und das -TXDSpannungssignal, die an der Anschlussbuchse der Soundkarte zur Verfügung stehen, in Stromschleifensignale umsetzt und auf einzelne DIN-Anschlussbuchsen führt. In den oben erwähnten MIDI-Boxen befindet sich daher eine Converter-Schaltung, die dies bewerkstelligt. Außerdem sind die MIDI-Eingänge vom MIDI-Bus jeweils über Optokoppler »galvanisch« getrennt, es gibt somit keine direkte elektrische MIDI-Verbindung zwischen den einzelnen Geräten. Dies ist deshalb vorgesehen, damit nicht etwa ein MIDI-Gerät mit einer defekten Isolierung die Netzspannung auf den Bus geben kann und die MIDI-Geräte dadurch beschädigt werden oder – was weitaus schlimmer wäre – der Musiker einen (tödlichen) Stromschlag erleiden könnte. Des Weiteren wird durch die Potenzialtrennung generell das Auftreten von Brummschleifen vermieden. In den meisten Fällen befindet sich aber kein Optokoppler mit der weiteren MIDI-Elektronik auf einer Soundkarte. Der notwendige Optokoppler für den MIDI-In-Anschluss ist dann eben nicht vorhanden, und er muss sich demnach in einer MIDI-Box oder auch einem aktiven MIDI-Kabel befinden. Diese aktiven Adapter sind demnach auch teurer als etwa simple Adapterkabel ohne jegliche Elektronik. Zu der Soundblaster AWE 32 wird beispielsweise ein aktives MIDI-Kabel mitgeliefert, dem von außen nicht anzusehen ist, dass sich hier ein Teil der MIDI-Elektronik ver-
38
Kapitel 1
birgt, denn es sieht genauso aus wie ein passives MIDI-Kabel. Ein passives MIDI-Kabel darf aber nur dann verwendet werden, wenn sich der Optokoppler auf der Soundkarte selbst befindet. Da aktuelle Joysticks, Gamepads etc. auch den USB unterstützen, erscheint der Gameport mittlerweile hierfür als überholt, so dass er bei neueren PCs und auch auf Soundkarten nicht mehr zu finden ist, womit auch das Soundkarten-MID-Interface verschwunden ist, das nach Herstellermeinung in der Vergangenheit ohnehin nur von ambitionierten (Hobby-)Musikern verwendet wurde. Stattdessen werden USB-MIDI-Converter angeboten, die zudem den Vorteil haben, dass sie auch mit Notebooks zu verwenden sind, denn einen Gameport hat man hier eigentlich schon immer vergeblich gesucht. Der MIDI-Standard definiert zwar das elektrische Interface und auch, wie die Daten aufgebaut sein müssen, allerdings kann es durchaus passieren, dass das eine MIDI-Gerät einen PianoKlang erschallen lässt, und bei der Übertragung auf ein anderes MIDI-Gerät wird daraus der Klang eines Glockenspiels. Deshalb wurde zur weiteren Standardisierung im Jahre 1991 die General MIDI-Spezifikation (GM) definiert. GM legt eine Reihe von Anforderungen fest, die von einem GM-kompatiblen Gerät unterstützt werden müssen.
Tab. 1.7: Die mit General MIDI festgelegten allgemeinen Klänge
Das Wichtigste ist dabei eine Instrumenten-Zuordnungstabelle (Patch Map), die 128 verschiedenen Klängen jeweils eine bestimmte Nummer zuordnet. Dies bedeutet beispielsweise, dass zwei General MIDI-konforme Geräte unter der Nummer (Patch Number) 56 immer einen Trompetenklang
Die PC-Komponenten
39
erzeugen. Dieser Trompetenklang kann sich dennoch recht unterschiedlich anhören, denn dieser Sound wird eben vom jeweiligen Synthesizer-Chip erzeugt, und MIDI übermittelt lediglich die Daten anhand genau definierter Messages. Fast jeder Hersteller hat nun Sounds definiert, die über GM hinausgehen, so dass General MIDI quasi als der kleinste gemeinsame Nenner der Klänge gilt. Im Zusammenhang mit MIDI stößt man des Öfteren auf die Bezeichnung MPU-401. Zu Beginn des »MIDI-Zeitalters« stellte die Firma Roland eine so genannte MIDI Processing Unit, die MPU401, in Form einer PC-Einsteckkarte vor. Dieses Interface erfuhr von Programmierern eine breite Unterstützung, was auch daran lag, dass damals andere Standards fehlten. Die Original MPU401 kann in zwei Betriebsarten arbeiten. Im »eigenintelligenten« Modus übernimmt sie selbst einige der MIDI-Aufgaben wie die Erzeugung von Timing-Daten, die Nachrichtenfilterung und die Zwischenspeicherung der MIDI-Daten. Sie entlastet somit die CPU des Computers, was in den achtziger Jahren durchaus sinnvoll war, da die PCs noch nicht die heute übliche Leistungsfähigkeit besaßen. In einem zweiten Modus, der als UART- (Universal Asynchronous Receiver Transmitter) oder auch als »Pass Through« bezeichnet wird, werden die MIDI-Daten hingegen nicht von der Einheit in irgendeiner Weise selbst verarbeitet, sondern einfach nur weitergeleitet, und die Dateninterpretation und Manipulation wird der CPU überlassen. Dieses ist die heute allgemein übliche Betriebsart der MIDI-Schnittstelle für die Kommunikation mit externen MIDIGeräten. Als verlässliche Angabe dafür, dass auch MIDI-Musikinstrumente problemlos mit der MIDI-Schnittstelle einer Soundkarte kommunizieren können, gilt jedoch weiterhin die Bezeichnung MPU-401-kompatibel, auch wenn diese Funktionalität (softwaretechnisch) nachgebildet wird. Eine ganze Reihe von Soundkarten erfüllt diese Disziplin in der Praxis allerdings nicht, wozu auch einige Soundblaster-Karten gehören. Synthesizer Die ersten Synthesizer-Chips auf Soundkarten wie der OPL2 oder der OPL3 der Firma Yamaha, die beispielsweise auf den älteren Soundblaster-Karten von Creative Labs zum Einsatz kommen, verwenden als Grundlage für die Klangerzeugung die Frequenzmodulationssynthese (FM), und Klangvariationen werden durch die Manipulation von Hüllkurvenparametern erreicht, was sich für heutige Verhältnisse recht künstlich und quäkig anhört. Der Trend ging jedoch auch bei den Soundkarten-Einstiegsmodellen in Richtung der Klangerzeugungschips, die nach dem Wavetableoder auch als PCM bezeichneten Prinzip (Pulse Code Modulation) arbeiten. Die Grundlage des Wavetable-Verfahrens sind relativ kurze Samples, also aufgenommene Töne, die von echten Instrumenten stammen. Sie sind in der Regel in einem ROM abgelegt und können dann elektronisch – per Software – manipuliert werden, woraus sich die verschiedenen Tonhöhen und Klangvariationen ergeben.
Abb. 1.36: Der OPL3 (YMF262) und der dazugehörige D/A-Wandler (YAC512)
40
Kapitel 1
Eine Wave-Table- oder PCM-Soundkarte verfügt oftmals über ein spezielles RAM. Dieser als Sample- oder auch Wave-RAM bezeichnete Speicher kann selbst kreierte Wave-Sounds speichern, die dann vom Synthesizerchip, wie dem im ROM standardmäßig vorhandenen, verarbeitet werden können. Übliche Kapazitäten des Sample-RAMs sind 512 KByte bis hin zu 16 MByte, wie es beispielsweise die AWE64-Soundkarte von Creative Labs ermöglicht. Seitdem der PCI-Bus auch für Soundkarten als Standard gilt, muss das Sample-RAM nicht mehr mit separaten Speicherchips auf der ISA-Soundkarte, wie etwa der AWE-64, realisiert werden, sondern hierfür kann der übliche Arbeitsspeicher angezapft werden, wie es beispielsweise Creative Labs ab der Soundblaster Live! praktiziert. Die »Klangdaten« können per PCI-Bus-Transfer schnell genug vom PCSpeicher zum Synthesizer-Chips auf der Soundkarte transportiert werden, ohne dass dies mit akustischen Verzögerungen oder ähnlichen Effekten verbunden wäre.
Abb. 1.37: Diese Soundkarte verwendet ein übliches Speicher-SIMM als Sample- RAM.
Das bekannteste Programm, das die Erstellung und Bearbeitung eigener Sounds für das SampleRAM von Creative Labs-Karten ermöglicht, die den Emu-Synthesizer-Chip verwenden, ist Vienna. Mithilfe von so genannten MIDI-Sequencer-Programmen wie Steinbergs Cubasis oder auch Cakewalks Pro Audio lässt sich dann auf der Basis der mitgelieferten MIDI-Soundbänke oder eben auch der selbst erstellten am PC komponieren. Typische Onboard-Sound-Chips unterstützen in der Regel kein Sample-RAM, zumindest mangelt es an der entsprechenden Software-Unterstützung, um hiermit selbst kreativ werden zu können. Der OPL4 (Abbildung 1.38) der Firma Yamaha unterstützt beispielsweise auch ROMund RAM-Samples und wurde auch auf einigen Mainboards wie dem Intel AL4440LX verbaut, die sich in den Aldi-PCs aus dem Jahre 1999 wiederfinden. Vergleichbare Software wie etwa Vienna sucht man hierfür jedoch vergeblich.
Abb. 1.38: On-Board-Sound mit Chips von Yamaha
Eine andere Möglichkeit der Klangerzeugung, die im Grunde genommen auch die WavetableKarten vom Markt verdrängt hat (wenn man einmal von den Profi-Varianten wie von Yamaha oder Roland absieht), ist das Verfahren des virtuellen Synthesizers, bei dem man sich die hohe Rechenleistung der heutigen CPUs zunutze macht, was dann auch unter AC-97-Sound firmiert.
Die PC-Komponenten
41
Per spezieller Algorithmen errechnet die CPU während der Klangausgabe den typischen Klangverlauf der Instrumente und gibt die Signale über einen D/A-Umsetzer (CODEC) aus, wodurch quasi der Synthesizer-Chip eingespart wird. Der Klang steht und fällt somit auch mit der Rechenleistung der CPU, der Anzahl der verwendeten Stimmen und der Effektivität der mathematischen Instrumentenmodelle. Bei den üblichen Anwendungen reicht aber selbst noch ein Pentium 133 aus, um hiermit MIDI-Klänge produzieren zu können. Mithilfe des virtuellen Synthesizers erhöhen die Hersteller auch die Stimmenanzahl ihrer Soundkarten für MIDI. Beispielsweise wird so aus einer Soundblaster AWE32 (32 MIDI-Stimmen) eine AWE64, die insgesamt 64 MIDI-Stimmen bietet, wovon 32 eben per Softwaresynthesizer und nicht per MIDI-Chip generiert werden. Bei den Soundkarten von Creative Labs werden ab der Soundblaster AWE32 und somit auch bei der Soundblaster Live! sowie bei der Soundblaster Audigy unterschiedliche Synthesizer-Chips verwendet, die als EMU (8000, 10K, 20K) bezeichnet werden. Bereits vor einigen Jahren hat Creative Labs die Firma EMU, die in Musikerkreisen einen ausgezeichneten Ruf für ihre elektronischen Musikinstrumente genoss, aufgekauft, was dazu geführt hat, dass die genannten Soundkarten über ausgezeichnete MIDI-Klangeigenschaften mit zahlreichen optionalen Funktionen verfügen, die man bei anderen Soundkarten in dieser Form – zu derart günstigen Preisen – nicht findet. Allerdings kann die analoge Audio-Sektion dieser Karten den Profi eher nicht überzeugen, was an den vergleichsweise eher mäßigen Sampling-Eigenschaften, der begrenzten Anzahl von Analogeingängen und der relativ hohen Latenz liegt.
1.1.9
Netzwerke und LAN-Adapter
Netzwerke oder LANs – Local Area Networks – gab es natürlich bereits, bevor der PC die gesamte Computerwelt revolutionierte. Damals waren Netzwerke allerdings fast ausschließlich im professionellen Einsatz wie bei Banken, Versicherungen und größeren Firmen vorzufinden, und mit der Installation sowie mit der Wartung der Hard- und Software waren vorwiegend spezialisierte Ingenieure und Informatiker beschäftigt. Ein damaliges klassisches LAN setzte sich im Wesentlichen aus einem Zentralcomputer und Terminals zusammen, die über Netzwerkkabel mit ihm verbunden waren. Der Zentralcomputer – LAN-Server – , über den sämtliche Kommunikation im LAN ablief, konnte auf der anderen Seite auch eine Verbindung zu einem Host-System und außerdem zum Weitbereichsnetz (WAN) herstellen, was zumeist firmeneigene Netze waren. Auch die Anbindung von Druckern und anderen Peripherie-Geräten, die den ArbeitsPCs im LAN zur Verfügung stehen sollten, erfolgte dabei über den LAN-Server. Zunächst hat der PC die Terminals ersetzt, die ohne jegliche Speichereinheiten ausgestattet waren, und heutzutage kann auch ein Server in PC-Technologie realisiert sein. Das hierarchisch organisierte LAN von damals, in dem die Intelligenz allein im Server untergebracht war, hat allerdings auch heute noch Vorteile, denn der Datenbestand ist dabei an zentraler Stelle lokalisiert, wodurch sich Datensicherungen (Backups) relativ leicht organisieren lassen, und jeder Benutzer muss dem System mit Namen und Passwort eindeutig bekannt sein. Aus diesem Grunde ist ein Server nach wie vor – zumindest in etwas größeren Netzen – ein immanenter Bestandteil –, um die Daten und Benutzer unter Kontrolle zu haben. Dieses Prinzip bezeichnet man gemeinhin als Client-Server. Daneben gibt es aber auch Netze nach dem Peer-to-Peer-Prinzip, in denen kein zentraler Server existiert, sondern gleichberechtigte Computer zum Einsatz kommen, die entweder momentan als Server oder als Workstation arbeiten, je nachdem, ob sie Ressourcen (Verzeichnisse, Daten, Peripherie) zur Verfügung stellen oder Ressourcen von anderen Computern benötigen. Insbesondere mit den Microsoft-Implementierungen ab Windows for Workgroups hat dieses Prinzip eine weite Verbreitung gefunden.
42
Kapitel 1
Host-System
LAN-Server
LAN-Drucker
Arbeits-PC (Netzknoten) Abb. 1.39: Aufbau eines klassischen LANs
Beide Prinzipien (Client-Server oder Peer-to-Peer) sind dabei ungeachtet der jeweiligen Netzwerktopologie (Bus, Ring, Stern) oder ganz allgemein der verwendeten Hardware verwendbar. Es ist letztendlich nur eine Software- bzw. Netzwerk-Betriebssystem-technische Zuordnung der Computer und Benutzer. Ob Client-Server oder Peer-to-Peer das richtige Netzwerk ist, hängt maßgeblich von der Anzahl der Arbeitsstationen und der Frage ab, ob viele unterschiedliche Anwendungen auf den einzelnen Stationen stattfinden sollen. Peer-to-Peer ist vorwiegend für Anwendungen geeignet, die sich in Workgroups zusammenfassen lassen und unter denen ein reger Datenaustausch sinnvoll erscheint. Also werden beispielsweise alle Arbeitsplätze, die sich mit Textverarbeitung, und alle, die sich mit Grafikanwendungen beschäftigen, jeweils zu einer eigenständigen Workgroup (softwaretechnisch) zusammengeschlossen. Die Einrichtung der Zugriffsrechte erfolgt derart, dass ein PC einem anderen oder mehreren PCs den Zugriff auf einzelne Verzeichnisse gewährt – die Verzeichnisse werden freigegeben. Den anderen PCs muss, ebenfalls per Konfiguration, diese Zugriffsmöglichkeit erst gegeben werden – das Verzeichnis wird verbunden. Mit Peripheriegeräten funktioniert es prinzipiell auf die gleiche Art und Weise. Es ist sicher vorstellbar, dass man bereits bei drei oder mehr PCs, die die unterschiedlichsten Verzeichnisse nur zum Lesen oder nur zum Schreiben oder für beides freigeben oder verbinden dürfen, sehr leicht den Überblick darüber verliert, welche Station welche Rechte wo innehat. Peer-to-Peer-Netzwerke sind daher eher für relativ kleine Gruppen geeignet und generell schwer zu warten. Das ist bei Client-Server-Netzen aufgrund der strengen Hierarchie einfacher und auch für 100 und mehr Stationen noch überschaubar.
Die PC-Komponenten
43
In einigen Fällen kann es durchaus sinnvoll sein, in einem Netzwerk sowohl Peer-to-Peer als auch Client-Server walten zu lassen. Die einzelnen Gruppen arbeiten untereinander Peer-toPeer, belasten somit nicht den Server für ihren Datenaustausch untereinander, und erst wenn ein Datenaustausch mit einer anderen Gruppe notwendig ist, erfolgt dies über den Server. Die Administration derartiger Netzwerke ist jedoch sehr aufwändig und sicherheitstechnisch gesehen äußerst problematisch, zumal PCs ja meist auch über eigene (lokale) Laufwerke verfügen und die Anwender somit unerwünschte Programme und Viren zwischen lokalen Netzwerken und Netzwerklaufwerken im Firmennetz austauschen könnten. Ein LAN ist heutzutage mit einfachsten und preiswerten Mitteln zu realisieren und damit auch für private Anwendungen geeignet, wobei Peer-to-Peer hier auf jeden Fall die günstigste Methode ist, da eben kein zentraler Server benötigt wird. Ganz allgemein bieten sich mit Netzwerken die folgenden Möglichkeiten:
: : : : : : : : : : :
Zentrale Verwaltung und Speicherung von Datenbeständen. Für die Benutzer eines Netzwerkes können individuelle Reglementierungen für die jeweiligen Rechte (z.B. Speicherplatz, Gerätebenutzung) getroffen werden. Es lassen sich Sicherheitsmechanismen (gegen Vireneinschleusung, Benutzung nicht erwünschter Programme etc.) für ein Netzwerk zentral bestimmen. Die Computer können eine unterschiedliche Ausstattung (z.B. verschiedene Betriebssysteme) und Funktionalität haben und sich im Netzwerk dennoch als kompatibel zu anderen darstellen. Gemeinsame Nutzung unterschiedlicher Ressourcen wie einzelner Geräte oder auch Laufwerke oder Daten (Verzeichnisse). Ein Computer mit einem Modem oder einem ISDN-Adapter kann anderen PCs im LAN einen Internetzugang zur Verfügung stellen. Prinzipiell ist es möglich, eine (fast) beliebige Anzahl von Computern miteinander kommunizieren zu lassen. Bei den vernetzten Computern muss es sich nicht zwangsläufig um Personal Computer handeln, sondern es können auch völlig unterschiedliche Rechnerarchitekturen (Apple, Sun, Hewlett-Packard, DEC/Compaq) zum Einsatz kommen. Die Netzwerkfunktionalität ist räumlich nicht beschränkt und kann sich prinzipiell als weltumspannend (Internet) darstellen. Es ist möglich, Computerspiele im Netzverbund mit mehreren Partnern zu spielen, sei es nur im LAN oder auch im weltweiten Netz (WAN), dem Internet. In der Netzwerktechnik existieren zahlreiche definierte Standards (z.B. Protokolle, Übertragungsmechanismen), die somit herstellerunabhängige Kommunikationsmöglichkeiten eröffnen.
Im Kapitel Lokale Netzwerke wird insbesondere auf den letzten Punkt der Aufzählung noch sehr ausführlich eingegangen, so dass ich in diesem einführenden Kapitel nur noch kurz auf LANAdapter eingehen möchte. Der klassische Netzwerkadapter ist eine Netzwerkkarte, die als ISAKarte oder vorzugsweise als PCI-Karte ausgeführt ist und somit ihren Platz in einem PCI-Slot findet. Bei den meisten aktuellen PCs ist ein LAN-Adapter auch gleich mit OnBoard. Er ist für Fast-Ethernet (100 MBit/s) ausgelegt, und der Anschluss ist als RJ45-Buchse für ein TwistedPair-Kabel (TP) ausgeführt.
44
Kapitel 1
Abb. 1.40: Die grundlegende Einheit für den Aufbau von Netzwerken ist eine Netzwerkkarte.
Für die Kopplung von lediglich zwei PCs können diese PCs mithilfe eines TP-Cross-Kabels verbunden werden. Es unterscheidet sich von einem üblichen TP-Kabel (Link- oder Patch-Kabel) dadurch, dass hier – wie es die Bezeichnung bereits andeutet – die Signalleitungen gekreuzt verdrahtet sind, damit die Sendeleitung des einen PC der Empfangsleitung des anderen PC entspricht und umgekehrt. Um mehr als zwei PCs in einem LAN verbinden zu können, wird ein Hub oder ein Switch benötigt, und die Verbindungen werden dabei sternförmig mit üblichen TP-Kabeln realisiert. Ob so oder so können sich durch den Einsatz »richtiger« Netzwerkkarten und der entsprechenden Konfigurierung der Clients (Protokoll, Dienste usw.) die oben in der Aufzählung angegebenen Möglichkeiten ergeben. Für einfache 1:1-Kopplungen, etwa für den Datentransfer zwischen Notebook und Desktop-PC, lassen sich prinzipiell auch die serielle (RS232), die parallele Schnittstelle oder die InfrarotSchnittstelle einsetzen, was unter Windows mit der PC-Direktverbindung zu bewerkstelligen ist. Eine Netzwerkfunktionalität ergibt sich dadurch allerdings nicht. Dies kann aber wiederum durch den Einsatz des USB oder auch von Firewire möglich werden. Für den USB wird jedoch ein spezielles Kabel (z.B. USB Link oder USB Net Cable) mit integriertem Controller benötigt, denn in einem USB-System darf es immer nur einen Host-Controller geben, so dass es mit einem einfachen USB-Kabel nicht möglich ist, zwei oder sogar mehrere PCs miteinander zu koppeln. Außerdem hängt es vom jeweiligen »USB-Controller-Kabel« ab, ob sich hiermit tatsächlich eine Netzwerkfunktionalität in dem Sinne realisieren lässt, dass hier etwa TCP/IP verwendet werden kann und dieses USB-System dann auch unter den Netzwerkeinheiten und nicht unter einem Spezialadapter firmiert. Es existieren jedoch auch ausgesprochene USB-Ethernet-Adapter, die diese Bedingungen erfüllen, demgegenüber jedoch teurer sind, weil hier ein »richtiger« LAN-Controller am Werke ist, der eben nicht an den ISA- oder den PCI-Bus, sondern an den USB gekoppelt ist. Dabei ist jedoch die maximale Übertragungsrate des USB mit zu beachten, die laut der USB 1.1-Spezifikation lediglich 12 MBit/s beträgt. Erst mit USB 2.0 sind im High-Speed-Modus maximal 480 MBit/s möglich, was daher auch kein »Ausbremsen« der Netzwerkdaten zur Folge hat. Bei einigen neueren Mainboards ist die Firewire-Elektronik gleich mit integriert (vgl. Abbildung 1.2), so dass dann noch nicht einmal eine entsprechende Erweiterungskarte benötigt wird. Firewire (IEEE-1394) ist ein etablierter Standard, der insbesondere für die Übertragung von Videodaten zwischen Kameras und PCs sowie auf Notebooks zum Einsatz kommt und von vornherein mindestens 400 MBit/s an Datenübertragungsrate bietet. Das Besondere ist in diesem Zusammenhang, dass Windows Me sowie Windows XP hierfür auch automatisch einen Netz-
Die PC-Komponenten
45
werktreiber zur Verfügung stellen, so dass sich hiermit problemlos – nur mithilfe üblicher Firewire-Kabel – ein Netzwerk mit einer Datenübertragungsrate von rasanten 400 MBit/s realisieren lässt. Für Windows 2000 und die älteren Windows-Versionen wird diese Funktion von Microsoft allerdings nicht automatisch (Treiber für NDIS 1394 Netzwerkadapter) geboten, so dass dann vom Hersteller der Firewire-Karte ein entsprechender Treiber benötigt wird.
Abb. 1.41: Der Firewire-Adapter (NDIS 1394 Netzwerkadapter) wird unter den Netzwerkkarten geführt, und es wird hierfür das TCP/IP-Protokoll verwendet.
1.2 PC-Peripherie Nachdem wir uns mit dem Innenleben eines PC auseinander gesetzt haben, geht es in diesem Abschnitt um die Einheiten, die extern an den PC angeschlossen werden. Ein Muss sind dabei ein Monitor sowie eine Tastatur und eine Maus. Ein Drucker und ein Scanner sind meist die nächsten Einheiten, die sich ein PC-Anwender wünscht. Dazu kommt ein Modem oder ein ISDN-Adapter für die Verbindung zum Internet. Auch wenn ein Modem bereits als Schaltung auf dem Mainboard oder per Einsteckkarte im System integriert sein kann, lasse ich es hier einmal unter der Peripherie laufen, zumal der Einsatzweck der gleiche ist wie bei einem ISDNAdapter, der in der Regel eben nicht Bestandteil eines Standard-PC ist. Thematisch gehören Modem und ISDN-Adapter jedenfalls zusammen.
1.2.1
Monitor
Bei der Betrachtung von Abbildung 1.30 in Kapitel 1.1.7 mag auffallen, dass die Grafikkarten zwar über unterschiedliche Anschlüsse verfügen, alle haben jedoch einen 15-poligen DSUBAnschluss, der die bisher üblichste Verbindung mit einem Monitor darstellt. Die Bezeichnung hierfür lautet VGA-Anschluss, und VGA steht für Video Graphics Array.
46
Kapitel 1
Wie vieles in der PC-Technik so stammt auch diese Bezeichnung aus grauer Vorzeit. In den 80er Jahren gab es zunächst monochrome Grafikadapter, später dann welche, die auch Farbe auf den jeweils hierfür geeigneten Monitor abbilden konnten. Es begann mit dem MDA (Monochrome Display Adapter) mit 25 Zeilen x 80 Zeichen über CGA (Color Graphic Adapter) mit 320 x 200 Bildpunkten (Pixeln) in vier Farben und fand zunächst einen Höhepunkt mit dem Enhanced Graphics Adapter (EGA), der 640 x 350 Pixel in 16 Farben auf einem EGA-Monitor darstellen konnte. Gemein ist diesen Lösungen, neben der Tatsache, dass sie allesamt als veraltet anzusehen sind, dass die Informationen zwischen Grafikadapter und Monitor in digitaler Form ausgetauscht werden und hierfür üblicherweise eine 9-polige DSUB-Verbindung zum Einsatz kommt. Die erste VGA-Lösung wurde von IBM (ca. 1987) für die PCs mit MicroChannel Architecture (MCA) präsentiert. Das Besondere an der VGA-Karte war nun, dass sie den Monitor nicht wie die Vorläufer mit digitalen Signalen ansteuert, sondern mit analogen. Der Grund für diese analoge Signalübergabe ist die auf diese Art und Weise erheblich verbesserte Darstellung der Farbinformation. Ein Monitor mit digitalem Eingang, wie es bis EGA üblich ist, kann jedoch nichts mit den analogen Signalen von VGA anfangen, was dementsprechend auch für die umgekehrte Konfiguration gilt. Die Farben werden auf einer alten VGA-Karte von einem Digital/Analog-Wandler – auch als Digital Analog Converter bezeichnet, DAC – in 64 verschiedene Stufen für jeweils rot, grün und blau umgesetzt. Damit sind theoretisch 643 = 262.144 Farben möglich. Natürlich muss der Monitor für die analogen Eingangssignale vorgesehen sein. Wird kein VGA-Farbmonitor verwendet, sondern ein VGA-Schwarzweiß-Monitor, werden die Farben über eine Formel im BIOS so verändert, dass auf dem Monitor 64 verschiedene Graustufen entstehen. Der Monitor darf dann also nicht vom einfachen Typ monochrom sein, sondern muss explizit auch Graustufen unterstützen. Auf den VGA-Karten befindet sich wie beim Vorläufer – der EGA-Karte – ein Speicherbaustein, der das BIOS der VGA-Karte enthält, das die Registerkompatibilität zu EGA wahrt. Im Grafikmodus sind 256 Farben gleichzeitig darstellbar, mit einer Auflösung von 640 x 480 Bildpunkten. Der Speicher der VGA-Karte muss hierfür mindestens 512 KByte bieten, und die Bildwiederholfrequenz beträgt 50 Hz. Obwohl aktuelle Grafiksysteme (Adapter plus Monitor) demgegenüber weit höhere Auflösungen und Bildwiederholfrequenzen bieten, hat sich die VGA-Bezeichnung mit dem damals definierten 15-poligen VGA-Anschluss bis heute gehalten. Der Monitor wird oftmals mit dem PC als Komplettsystem erworben, wobei ihm nicht immer die Aufmerksamkeit geschenkt wird, die er eigentlich verdient. Ähnlich wie bei einer Stereoanlage, die mit relativ schlechten Lautsprecherboxen ausgestattet ist, verhält es sich mit einem PC und seinem Ausgabemedium – dem Monitor. Die beste 3D-Grafikkarte ist herausgeschmissenes Geld, wenn der Monitor die gelieferten Daten nicht adäquat weiterverarbeiten kann. Aktuelle Grafikkarten sind den meisten gebräuchlichen Monitoren technisch überlegen, dennoch gibt der Monitor und nicht die Grafikkarte die machbare Bildqualität vor.
Abb. 1.42: Monitorgrößen im Vergleich
Die PC-Komponenten
47
Das augenscheinlichste Merkmal eines Monitors, das im Wesentlichen auch für die Preisunterschiede der verschiedenen Modelle verantwortlich ist, ist die Größe des Bildschirms, dessen Bildschirmdiagonale in Zoll (") oder in cm (1 Zoll = 1 Inch = 2,54 cm) angegeben wird. Die kleinste übliche Monitorgröße ist 14", die größte liegt zurzeit bei 28". Dass sich diese Angaben immer auf die Bildschirmdiagonale beziehen, sollte man nie außer Acht lassen. So hat beispielsweise ein 14"-Monitor eine Bildröhrenbreite von ca. 27 cm, was demnach lediglich ca. 10" in der Breite entspricht. Ein relativ kleiner Monitor (14" oder 15") reicht für Standardanwendungen allein unter DOS wie Textverarbeitung oder Tabellenkalkulation sicher aus. Für Windows und andere grafische Oberflächen stellt ein VGA-Monitor, der mit einer Auflösung von 640 x 480 (Spaltenanzahl x Zeilenanzahl) Bildpunkten (Pixel) und einer Bildwiederholfrequenz von mindestens 70 oder auch 75 Hz arbeitet, den absolut unteren Standard dar. Eine sinnvolle Auflösung orientiert sich immer an der Bildschirmgröße des Monitors. Ein 17"-Monitor stellt sich vielfach als guter Kompromiss zwischen Preis und Größe heraus, wobei hier eine typische Auflösung von 1024 x 768 Bildpunkten gewählt wird. Auflösungen von 1600 x 1280 und mehr Bildpunkten sind erst bei einem 21"-Monitor sinnvoll, wobei diese Angaben auf einen universellen Einsatz abzielen, und außerdem gibt es hierfür natürlich auch noch persönliche Vorlieben.
Abb. 1.43: Die prinzipielle Anordnung der Zeilen und Spalten auf einem Monitor
Neben der Bildschirmgröße sind die Bildwiederholfrequenz und die Zeilenfrequenz die weiteren entscheidenden Größen eines Monitors, die seine mögliche Auflösung bestimmen. Die Bildwiederholfrequenz (vertikale Frequenz) gibt an, wie oft das Bild pro Sekunde aufgebaut wird. Sie sollte mindestens 75 Hz betragen, was üblicherweise nicht mehr als Bildflackern wahrgenommen wird. Es gibt jedoch auch Anwender, die erst ab 85 Hz, also bei einem 85maligen Bildaufbau pro Sekunde, das Bild als angenehm empfinden und damit auch über längere Zeit ohne Kopfschmerzen arbeiten können. Die folgende Liste zeigt die wichtigsten Daten, die einen Monitor beschreiben, und diese sollten mit den Angaben zur jeweiligen Grafikkarte verglichen werden.
: : : : : : :
Bildschirmdiagonale (typisch: 14–21 Zoll) Auflösung (typisch: 640 x 480 bis 1280 x 1024 Bildpunkte) maximale Horizontalfrequenz (typisch: 31,5–130 kHz) maximale Vertikalfrequenz (typisch: 60–120 Hz) maximale Pixelrate (typisch: 25–160 MHz) Größe der Lochmaske (typisch: 0,31–0,21 mm) Standard für Strahlungsarmut und Ergonomie (MPR, TCO)
48
Kapitel 1
Alle aktuellen Monitore unterstützen Plug&Play, d.h., Grafikkarte und Monitor können sich selbstständig über die möglichen Betriebsarten einigen, was mithilfe spezieller Leitungen (Monitor-Identifikations-Bits) des VGA-Anschlusses erfolgt. Außerdem gibt es in jedem aktuellen Betriebssystem eine Vielzahl von speziellen Monitortreibern, die auch manuell zu selektieren sind. Dabei kann es aber insbesondere mit älteren Monitoren durchaus passieren, dass eine zu optimistisch gewählte Auflösung oder Frequenz den Monitor ernsthaft beschädigen kann, weil er mit den Signalen der Grafikkarte überfordert ist. Daher ist es wichtig zu wissen, mit welchen Daten sich ein Monitor maximal betreiben lässt, um ihn nicht zu überfordern. Was die Grafikkarte zu leisten vermag, muss ein Monitor eben nicht unbedingt gleichermaßen können. Typische Monitore arbeiten wie Fernseher mit einer Kathodenstrahlröhre – auch Braun‘sche Röhre genannt –, deren Oberfläche als Bildschirm sichtbar ist. Dies sind also Röhrenmonitore, und die Hersteller setzen hier unterschiedliche Röhrentypen (Delta, Trinitron, In-Line, Chromaclear) ein, wobei hier jeder Typ mit gewissen Vor- und Nachteilen behaftet ist. Wichtiger erscheint hingegen ein optimaler Abgleich des Monitors, was in der Praxis einen deutlicheren Einfluss auf die optimale Bildqualität hat. Ist der Monitor optimal eingestellt – auch vom Werk her, was leider nicht immer der Fall ist –, ist es vielfach nur eine Geschmacksfrage, welchem Typ der Vorzug zu geben ist, was man am besten selbst in Augenschein nimmt. Generell gilt jedoch, dass ein Bildflimmern bei größeren Monitoren eher wahrgenommen wird, als wenn die gleiche Frequenz bei einem kleineren Monitor verwendet wird. Einige hochauflösende Grafikkarten mit 1280 x 1024 Bildpunkten und mehr steuern entsprechend leistungsfähige Monitore durch ein analoges Signal an, das aus technischen Gründen über mehrere BNC-Kabel übertragen wird. Damit soll verhindert werden, dass einerseits die Ansteuerungssignale bei der Übertragung verwischt werden und andererseits das Übertragungskabel wie eine Sendeantenne wirkt und andere Geräte stört. Die einzelnen BNC-Leitungen führen die Signale rot, grün, blau, horizontale und vertikale Synchronisation. Üblicherweise wird nur ein Synchronisierungssignal (meist horizontal) verwendet, was allerdings vom jeweiligen Monitor abhängig ist, der unter Umständen die Information für die vertikale Synchronisation aus einem Farbsignal (meist rot) gewinnt. Aktuelle Standard-Grafikkarten verfügen nicht über BNC-Anschlüsse, und wer im Besitz eines Monitors ist, der ausschließlich diese Verbindung nutzen kann, muss sich ein entsprechendes Adapterkabel (BNC auf VGA) im Computerzubehörhandel beschaffen. Zu beachten ist bei der Verwendung der BNC-Anschlüsse, dass hiermit kein Plug&Play möglich ist, d.h., Sie müssen genau wissen, mit welchen Daten der Monitor zu betreiben ist.
Abb. 1.44: Dieser Monitor besitzt gleich drei verschiedene Anschlussmöglichkeiten: zwei unterschiedliche DSUB 15und fünf einzelne BNC-Anschlüsse. Über das Bedien-Panel des Monitors wird festgelegt, welcher der Anschlüsse zum Einsatz kommen soll.
Ein erfreulicher Nebeneffekt bei Monitoren, die sowohl einen DSUB-Anschluss als auch BNCAnschlüsse besitzen, ist der, dass sich zwei PCs einen Monitor teilen können. Falls der betreffende Monitor diese Funktion unterstützt, befindet sich meist an der Frontplatte – manchmal
Die PC-Komponenten
49
auch versteckt auf der Monitorrückseite – eine Taste oder ein Schalter, der zwischen dem DSUBAnschluss und den BNC-Anschlüssen als Eingangssignal umschalten kann. Der eine Monitor ist daher über DSUB, der andere über BNC – eventuell mit Adapterkabel – zu verbinden. Das gleiche Prinzip lässt sich meist auch mit einem TFT-Display anwenden, wenn es sowohl über einen VGA- als auch einen digitalen Eingang verfügt. Neben den Monitoren, die mit einer Kathodenstrahlröhre arbeiten, werden die so genannten »Flachbildschirme« (TFT-Displays) immer beliebter, obwohl sie gegenüber vergleichbaren konventionellen analogen Monitoren (wesentlich) teurer sind. Als Vorteile gelten, dass sie auf der gesamten Darstellungsfläche gleich scharf sind und dass sie weder geometrische Verzerrungen noch Konvergenzprobleme kennen und auch generell unempfindlich gegen magnetische Felder sind. Die LC-Displays (Liquid Crystal), wie sie auch allgemein genannt werden, sind zudem recht flach und können prinzipiell wie ein Bild an die Wand gehängt werden. Sie sind energiesparender, sie geben längst nicht so viel Wärme ab wie die Röhrenmonitore, und Bildflackern gibt es hier prinzipiell auch nicht, obwohl die LCD-Monitore typischerweise nur mit 60 Hz arbeiten. Falls ein LCD-Monitor dennoch einmal »flimmern« sollte, hat dies einem anderen Grund als bei Röhrenmonitoren, und es liegt an einer nicht korrekten Synchronisierung zwischen der Grafikkarte und der im Display befindlichen Ansteuerelektronik begründet. Einige LCD-Monitore bieten hierfür eine Auto-Adjust-Option, vielfach muss die passende Einstellung jedoch manuell hergestellt werden. Bei der Verwendung einer digitalen Schnittstelle (DVI o.ä., siehe unten) gibt es diese Probleme allerdings nicht. Diese Flachbildschirme, die ebenfalls in Notebooks verwendet werden, werden auch als Flüssigkeitskristall-Bildschirme bezeichnet, und es gibt hier verschiedene Typen, wobei die aktuellen als Thin-Film-Transistor Liquid Crystal Displays (TFT-LCD) realisiert werden, die auch unter der Bezeichnung Aktiv-Matrix-LCDs firmieren. Neben dem höheren Preis gegenüber den analogen Monitoren gibt es jedoch einige Dinge, die als Nachteile der LCDs angesehen werden können. »Können« deshalb, weil der jeweilige Einsatzzweck letztlich bestimmt, welche Art von Monitor am besten geeignet ist. Nach wie vor kann die Darstellung bei Spielen und die Betrachtung von Videos mitunter doch enttäuschen, weil das Display zu träge wirkt, und durch die Bewegungen führt dies auch zu lästigen Unschärfeeindrücken. Ein Maß für die Umschaltgeschwindigkeit zwischen Hell und Dunkel der Pixel, das eben für diese Eindrücke verantwortlich ist, wird als Response Time (Reaktionszeit) bei den TFT-Monitoren ausgewiesen. Je niedriger dieser Wert ausfällt, desto optimaler kommt ein TFT-Monitor an die Reaktionszeit eines analogen Monitors heran, der keine Reaktionszeit in diesem Sinne kennt. Typischerweise verfügen TFT-Monitore über eine Response Time von 50-40 ms, und aktuelle Displays schaffen hier sogar bis zu 25 ms, was auch von »Gamern« als akzeptabel angesehen wird, damit die Bilddarstellung bei ActionSpielen gegenüber einem konventionellen Monitor bei schnellen Bildwechseln nicht abfällt. Wer vorhat, ein TFT-Display für derartige Anwendungen einzusetzen, ist daher gut beraten, es vor dem Kauf daraufhin zu testen. Es ist also ein sorgfältiges Abwägen der einzelnen Vor- und Nachteile bezogen auf die bevorzugten Anwendungen notwendig. Für die Ansteuerung eines TFT-Monitors, der rein digital arbeitet, empfiehlt sich die Verwendung einer digitalen Schnittstelle. Es macht im Prinzip keinen Sinn, das Signal auf der Grafikkarte per RAMDAC in analoge Signale umzusetzen und per Kabel zum TFT-Monitor zu übertragen, der das analoge Signal dann intern wieder in ein digitales umsetzt. Diese Signalumsetzung könnte man sich also sparen, wobei eine Grafikkarte, die sowohl den analogen VGA- als auch einen digitalen Anschluss besitzt, mit beiden Monitortypen (Röhre, TFT) umgehen kann. Diese hierfür notwendigen digitalen Signale haben jedoch nichts mit den digitalen Signalen der uralten Grafikadapter und Monitore (MDA, EGA) zu tun.
50
Kapitel 1
Abb. 1.45: Ein moderner PC-Arbeitsplatz mit Flachbildschirm, drahtloser Tastatur und Maus
Für die digitale Kopplung von aktuellen Grafikadaptern und TFT-Monitoren gibt es (leider) verschiedene Standards, die jedoch alle auf dem Transition Minimized Differential Signaling-Protokoll (TMDS) basieren. Als Digitalverbindung zwischen Grafikkarte und digitalem Monitor kommen hierfür spezielle Panel-Link-ICs zum Einsatz. Der Sender erzeugt aus den 24-Bit-Signalen drei serielle Signale, die differenziell (+/- 0,5 V) auf je zwei Leitungen (RGB) übertragen werden, und zwei weitere Leitungen transportieren das Taktsignal. Im Monitor befindet sich ein Panel-LinkEmpfänger, der dann wieder die ursprünglichen Grafik- und Steuersignale generiert. In Abbildung 1.30 verfügt die untere Grafikkarte auch über einen so genannten DVI-Connector. Das Digital Visual Interface ist rein digital ausgeführt und besitzt einen 24-poligen Anschluss, was als DVI-D (D für digital) gekennzeichnet wird. Daneben gibt es auch einen 29-poligen DVIAnschluss, der auch analoge Signale für einen üblichen Monitor führt, der sich über einen DVIVGA-Adapter anschließen lässt. Die beiden anderen Realisierungen der Digital Flat Panel (DFP) mit 20-poliger Schnittstelle sowie der Plug&Display-Port haben sich dagegen nicht auf breiter Front durchsetzen können. Letzterer (P&D-Port) führt neben den digitalen Signalen, die im Prinzip denen des DFP entsprechen, auch analoge Monitorsignale und des Weiteren USB- und IEEE1394-Signale an einem gemeinsamen 34-poligen Molex-Anschluss, der als Enhanced Video Connector (EVC) bezeichnet wird. Im Grunde genommen hat bisher aber nur IBM den teureren Plug&Display-Port verwendet, und die Firma ATI hat zunächst bevorzugt auf DFP gesetzt, ist jetzt aber auch auf DVI umgeschwenkt, so dass der DVI-Anschluss sich mittlerweile als Standard etabliert hat.
1.2.2
Tastatur
Die Tastatur ist trotz der grafisch orientierten Benutzeroberflächen das wichtigste Eingabemedium überhaupt. Bei älteren PCs wird das Tastaturkabel mit der 5-poligen DIN-Anschlussbuchse verbunden, die sich auf dem Mainboard befindet und hinten am Gehäuse zugänglich ist.
Die PC-Komponenten
51
Mittlerweile sind die meisten Tastaturen mit einem PS/2-Stecker ausgestattet, und über entsprechende Adapter, die im Übrigen nicht zwangsläufig auch für eine Maus (siehe Kapitel 1.2.3) funktionieren müssen, lassen sich entsprechende Übergänge zwischen diesen beiden Anschlussvarianten schaffen. Der DIN- und der PS/2-Anschluss für eine Tastatur unterscheiden sich lediglich mechanisch, nicht jedoch elektrisch voneinander. Außerdem verfügen neuere Tastaturen möglicherweise auch über einen USB-Anschluss, und da der USB völlig anders funktioniert als die klassische Tastaturschnittstelle, kann es hierfür keine simple Adapterlösung geben. Der in der Tastatur vorhandene Controller ist bei derartigen Tastaturen, je nach Anschluss, eben in der Lage, beide Protokolle ausführen zu können. Das grundlegende Funktionsprinzip einer PC-Tastatur hat sich über die Jahre nicht geändert, auch wenn es – abhängig vom jeweiligen Modell – spezielle Tasten geben kann, die der dazugehörige Treiber im Betriebssystem entsprechend auswertet. Falls dieser Treiber aus irgendeinem Grunde nicht geladen ist oder nicht funktioniert, verhält sich diese speziellere Tastatur wie eine herkömmliche und unterstützt nur die üblichen Tasten. Zentraler Bestandteil einer Tastatur ist ein Mikrocontroller, beispielsweise ein 8048 bei den einfacheren Tastaturmodellen. Er überwacht die so genannte Scan-Matrix der Tastatur. Diese wird von sich kreuzenden Leitungen gebildet, die jeweils mit dem Tastaturprozessor verbunden sind. An den Kreuzungspunkten befinden sich kleine Schalter. Auf jedem dieser Schalter sitzt eine Taste. Wenn Sie nun eine Taste betätigen, schließt der Schalter einen Kontakt zwischen zwei sich kreuzenden Leitungen der Scan-Matrix. Die Tastaturschnittstelle wirkt unmittelbar auf den Prozessor des PC ein (für kundigere Leser: löst einen Hardware-Interrupt aus) und teilt diesem mit, dass ein Zeichen eingegeben worden ist. Die CPU kann das Zeichen dann einlesen und entsprechend bearbeiten, d.h., es werden die Koordinaten des gedrückten Schalters und damit die betätigte Taste ermittelt, was in Form eines Scan-Codes geschieht. Dieser Scan-Code wird über einen Puffer an die Tastaturschnittstelle auf dem Mainboard übergeben, und die CPU weiß, welche Taste betätigt worden ist. Die Umwandlung des Scan-Codes in das zugehörige Zeichen erfolgt durch ein Programm, den Tastaturtreiber (im Falle von DOS: keyb.com). Hierdurch lässt sich eine Vielfalt möglicher Tastenbelegungen realisieren. Ohne die Hardware der Tastatur und insbesondere die Scan-Matrix verändern zu müssen, können Tastaturen für verschiedenste Sprachen allein durch einen anderen, der jeweiligen Sprache angepassten Tastaturtreiber realisiert werden.
Tastaturschnittstelle
Mainboard
Tastatur
Tastaturprozessor Puffer
ScanMatrix
Abb. 1.46: Prinzipschaltbild einer Tastatur: Eine Tastatur weist einen Tastaturprozessor zur Überwachung der ScanMatrix und einen Puffer für die Zeichen auf. Die Zeichen werden zur Tastaturschnittstelle auf dem Mainboard übergeben. Die üblichen programmierbaren Tastaturen können auch Daten vom Mainboard empfangen.
52
1.2.3
Kapitel 1
Maus
Durch die grafischen Benutzeroberflächen haben sich neben der Tastatur die so genannten Zeigeeinrichtungen (engl. Pointing Devices) durchgesetzt. Die älteste Zeigeeinrichtung ist die Maus, deren Bezeichnung sich unschwer aus der runden Form und dem langen Schwanz ableiten lässt. Mäuse werden meist entweder an eine der seriellen Schnittstellen (RS232) des PC, an einen PS/2Mausport oder auch an den USB angeschlossen. Wie bereits bei den Tastaturen erwähnt wurde, gibt es auch hierfür verschiedene Adapterlösungen. Dabei ist jedoch zu beachten, dass eine Maus, die etwa für den RS232-Anschluss ausgelegt ist, nicht einfach per PS/2-Adapter (oder gar USB) verwendet werden kann. Alle drei Schnittstellen arbeiten auf verschiedene Art und Weise, und die Mauselektronik (der Controller) muss explizit für die jeweilige Anschlussart ausgelegt sein. Wenn sich im Lieferumfang einer RS232- oder auch einer USB-Maus ein PS/2-Adapter befindet, kann man davon ausgehen, dass diese Maus mit diesen beiden Schnittstellen sowohl vom Controller als auch vom Treiber her unterstützt wird. Allgemein funktioniert dies jedoch nicht. Um den Mauszeiger (meist ein Pfeil oder ein Viereck auf dem Bildschirm) bewegen zu können, benötigt jede Maus einen Maustreiber. Dieser wandelt die von der Maus kommenden Signale in Anweisungen an die CPU auf dem Mainboard um, die dann wiederum den Grafikadapter so ansteuert, dass sich der Zeiger auch tatsächlich bewegt. Wie Sie bereits von außen erkennen können, befindet sich in der Maus eine gummierte Kugel. In Abbildung 1.47 sehen Sie das Innenleben einer Maus. Die Kugel steht mit zwei kleinen Walzen in Kontakt. Wird die Maus verschoben, dreht sich die Kugel entsprechend. Die Bewegung überträgt sich auf die kleinen Walzen. Am anderen Ende der Walzenachse befindet sich eine Scheibe mit kleinen Öffnungen in regelmäßigem Abstand. Auf den beiden Seiten der Scheibe befinden sich Sender und Empfänger einer Lichtschranke. Werden die Walzen von der Kugel gedreht, unterbricht die Scheibe die Lichtschranke bzw. gibt sie frei, wenn sich zwischen Sender und Empfänger der Lichtschranke eine Öffnung der Scheibe befindet. Die Zahl dieser Unterbrechungen ist dabei proportional zur Zahl der Umdrehungen der Kugel und damit zu der Strecke, die Sie die Maus verschieben. Da die beiden Walzen senkrecht zueinander angeordnet sind, wird eine beliebige, schräge Bewegung der Maus von der Steuerelektronik in zwei Zahlen umgesetzt, die die Zahl der Freigaben der Lichtschranke für jede der beiden Scheiben angeben. Damit weiß die Maus genau, wie weit sie verschoben worden ist, nicht aber die absolute Position. Diese Werte werden nun wie eventuelle Tastenbetätigungen an der Maus zur jeweiligen Schnittstelle übertragen und von dieser an die CPU übergeben. Des Weiteren sind Maus- und auch Tastaturmodelle (vg. Abbildung 1.45) erhältlich, die keine Kabelverbindung benötigen, was dann unter drahtloser Maus bzw. kabelloser Tastatur firmiert. Drahtlos bedeutet jedoch, dass gleichwohl eine Kabelverbindung zum PC (an RS232, PS/2, USB) notwendig ist, die allerdings zu einem kleinen Kästchen führt, das die Signale von der Maus per Infrarotlicht oder auch per Funk empfängt. Demnach muss sich in der Maus eine Batterie oder ein Akku befinden, um die notwendige Spannung für den Sender zur Verfügung stellen zu können. Die Datenübertragung per Funk (typisch sind 27 MHz) hat gegenüber der Übertragung per Infrarotlicht den Vorteil, dass die Reichweite dabei größer ist (ca. 2 m) und dass keine direkte »Sichtverbindung« zwischen Sender und Empfänger notwendig ist. Wichtig erscheint in diesem Zusammenhang, dass sich bei Funkmäusen am besten auch der Übertragungskanal umschalten lassen sollte, damit sich etwa im Büro, wo mehrere derartiger Mäuse zum Einsatz kommen, keine Phänomene der Art ergeben, dass der Kollege mit seiner Maus den Mauszeiger auf Ihrem Monitor bewegt.
Die PC-Komponenten
53
Abb. 1.47: Die geöffnete Maus lässt die Kugel und die beiden Lichtschranken zur Erfassung der Mausbewegung erkennen.
In den letzten Jahren sind so genannte optische Mäuse verstärkt auf den Markt gekommen, die es für unterschiedliche Schnittstellen (auch drahtlos) gibt. Diese Mäuse besitzen in ihrem Inneren keine Kugel mehr, sondern ermitteln Richtung und Umfang ihrer Verschiebung mithilfe einer Bildverarbeitungselektronik sowie einer Beleuchtungsoptik, die die Bewegung sehr genau detektieren kann. Die hierfür notwendigen (Bild-)Sensoren (CCDs) sind dabei im Gegensatz zu den Walzen einer normalen Maus keinerlei Abnutzung mehr ausgesetzt, und durch die fehlende Stahlkugel sind diese Maus-Typen (z.B. Microsoft Intelli Mouse) auch leichter. Allerdings ist diese Umsetzung recht kompliziert und erfordert einen höheren Aufwand an Elektronik. Ältere optische Mäuse orientieren sich anhand des Musters einer besonderen Unterlage (Maus-Pad), auf der sie bewegt werden, was bei den erläuterten aktuellen Typen nicht notwendig ist. Gleichwohl funktionieren diese nicht (gut) auf extrem glatten oder auch spiegelnden Oberflächen. Wenn Sie Ihre Maus auf den Rücken legen, so haben Sie fast schon einen Trackball vor sich. Tatsächlich ist das Innenleben eines Trackballs dem einer Maus sehr ähnlich. Im Allgemeinen ist der Ball aber erheblich größer als die Kugel einer Maus. Mit den Fingern können Sie diesen Ball in verschiedene Richtungen drehen und damit wie durch die Verschiebung einer Maus auf einer glatten Fläche den Mauszeiger auf dem Bildschirm bewegen. In manchen Tastaturen ist der Trackball bereits integriert.
1.2.4
Drucker und die parallele Schnittstelle
Für die Ausgabe von Texten und Bildern wird ein Drucker benötigt, der üblicher Bestandteil eines PC-Arbeitsplatzes ist. Auch wenn ein Drucker meist an die parallele Schnittstelle angeschlossen wird, gibt es im Aufbau von Druckern natürlich recht große Unterschiede, was davon abhängt, welches Druckverfahren zur Anwendung kommt, und letztendlich auch die Qualität der Ausdrucke bestimmt. Die bekanntesten Druckerarten sind die folgenden:
: :
Typenraddrucker: Dieser Drucker arbeitet im Prinzip wie eine Schreibmaschine mit einem Typenrad. Er ist nicht grafikfähig und mittlerweile als veraltet anzusehen. Nadeldrucker: Ein Nadeldrucker arbeitet mit einzelnen Nadeln im Druckkopf (typischerweise mit 9 oder 24 Stück), die in Form einer Matrix angeordnet sind, woher auch die Bezeichnung Matrixdrucker rührt. Die Nadeln schlagen wie bei einer Schreibmaschine gegen ein Farbband, und daher wird dieser Druckertyp meist dort eingesetzt, wo Durchschläge
54
:
:
:
:
Kapitel 1
benötigt werden, etwa in Behörden und Werkstätten. Nadeldrucker sind im Unterhalt unerreicht preiswert und nahezu unverwüstlich. Thermodrucker: Entweder ist dies ein Drucker, der mit einem speziellen wärmeempfindlichen Papier arbeitet, wie es bei Kassen oder Fax-Geräten der Fall ist. Diese Ausdrucke sind von relativ schlechter Qualität. Oder es handelt sich um einen hochwertigen Drucker, der sich insbesondere für fotorealistische Ausdrucke eignet. Diese Typen werden als Thermotransfer- oder Thermosublimationsdrucker bezeichnet und arbeiten mit speziellen Folien und Wachsen. Sie liefern brillante Farben, sind jedoch in der Anschaffung und im Verbrauch vergleichsweise teuer. Tintenstrahldrucker: Dies sind die beliebtesten Drucker überhaupt, und sie werden von zahlreichen Herstellern recht preisgünstig angeboten. Sie arbeiten typischerweise auch mit Farbpatronen und eignen sich demnach für kostengünstige Farbausdrucke. Die Drucktechnik beruht ebenfalls im Wesentlichen auf einer Matrixanordnung zur Zeichendarstellung. Die Zeichen gelangen jedoch nicht mit Hilfe von Nadeln über ein Farbband auf das Papier, sondern über kleine Düsen, die die Tinte direkt auf das Papier spritzen. Optimale Ausdrucke ergeben sich vielfach nur durch die Verwendung spezieller Papiere (des Druckerherstellers), die genau auf den Typ der Tinte abgestimmt sein müssen. Laserdrucker: Laserdrucker arbeiten nach dem Prinzip eines Fotokopierers mit einer Bildtrommel, die das Druckbild elektrisch (durch Aufladung) aufzeichnet, wobei das giftige Ozon entstehen kann. Ihr Vorteil besteht vor allem in der hohen Druckqualität. Der Anschaffungspreis liegt zwar meist über dem von Tintenstrahldruckern, allerdings sind die Kosten für die Verbrauchsmaterialien (Toner) bei einem relativ hohen Druckvolumen weitaus geringer. Farblaserdrucker: Sie funktionieren ähnlich wie die üblichen Laserdrucker, arbeiten demgegenüber jedoch nicht nur mit der Tonerfarbe Schwarz, sondern außerdem mit den Farben Cyan, Magenta und Yellow (CMY), die entsprechend mit der Farbe Schwarz gemischt werden. Es sind keine speziellen Papiersorten zur Erlangung einer guten Druckqualität notwendig, und es ist ein vollflächiger Farbdruck ohne Qualitätseinbußen möglich. Die Farben können nicht eintrocknen, und das Mischungsverhältnis der Farben ist stets konstant. Für Ausdrucke in Fotoqualität ist ein Farblaserdrucker allerdings nicht optimal, so dass ein guter Tintenstrahler hier meist die bessere Qualität bietet.
Für private Anwendungen stellt ein Farbtintenstrahldrucker den preisgünstigsten Druckertyp dar, der universell einsetzbar ist und sowohl Texte als auch Grafiken und Fotos ausdrucken kann. Diese Vielseitigkeit geht jedoch zu Lasten der Druckqualität, die als Kompromiss aus diesen drei verschiedenen Druckdisziplinen verstanden werden muss. Ein Schwarz-Weiß-Laserdrucker bietet demgegenüber für Texte ein besseres Schriftbild, ist auch wesentlich schneller, und ein spezieller Fotodrucker liefert einen fotorealistischeren Ausdruck. Bei einem Tintenstrahldrucker wird die optimale Druckqualität meist nur mit den speziellen Papiersorten – passend zum jeweiligen Drucker – erreicht, die nicht immer besonders preiswert erscheinen. Das Gleiche trifft auf die Patronen zu, und mitunter übersteigt der Preis für eine neue Schwarz- und Farbpatrone den Anschaffungspreis des Druckers, der bei Auslieferung auch nur über halb gefüllte Patronen verfügt. Demnach sollten nicht nur der Anschaffungspreis des Druckers, sondern auch die Verbrauchsmaterialien (Papier, Patronen) mit ins Kalkül gezogen werden, um keine böse Überraschung zu erleben. Unabhängig vom Typ wird ein Drucker zumeist an den Parallel-Port des PC angeschlossen. Daneben kann ein Drucker (zusätzlich) auch über eine RS232-Schnittstelle, einen USB-Anschluss oder auch ein Netzwerkinterface verfügen. Der Parallel-Port wird auch als LPT-Port (Line-Printer) oder als Centronics-Schnittstelle bezeichnet, wobei diese Bezeichnung vom Druckerhersteller Centronics stammt, der diese Druckerschnittstelle ursprünglich eingeführt hat.
Die PC-Komponenten
55
Parallele Schnittstelle In einem PC ist der Parallel-Port 25-polig als Buchse ausgeführt, was bei älteren PCs des Öfteren zu Verwechslungen mit dem Anschluss der seriellen Schnittstelle (RS232) führte, die nicht wie heute üblich einen 9-poligen, sondern ebenfalls einen 25-poligen Anschluss aufwies. Beide Anschlüsse (25-polig RS232 und Parallel-Port) besitzen die gleichen mechanischen Abmessungen, allerdings ist der Parallel-Port mit Buchsen- und RS232 mit Steckkontakten am PC ausgeführt.
Abb. 1.48: Der Parallel-Port ist am PC als 25-polige Buchse ausgeführt und dient dem Druckeranschluss. Darunter erkennen Sie die zwei seriellen Schnittstellen.
Am Drucker ist bei der Centronics-Schnittstelle ein 36-poliger Anschluss als Buchse eingebaut. Das Verbindungskabel zwischen PC und Drucker sollte nicht länger als 5 m sein, doch auch bei kürzeren Kabeln kann es durchaus Übertragungsprobleme geben, was an einer minderwertigen Qualität des Verbindungskabels liegt. Da ein passendes Kabel meist weder dem Drucker noch dem PC beiliegt, ist es einzeln zu erwerben, und man sollte unbedingt darauf achten, dass es dem IEEE1284-Standard entspricht, der eine vollständige Verdrahtung aller notwendigen Signalleitungen garantiert. Das ist bei den besonders preiswert erscheinenden Druckerkabeln eben nicht der Fall und hat zur Folge, dass der Drucker nicht korrekt funktioniert. Die parallele und die seriellen Schnittstellen sind in den meisten Fällen als Onboard-Einheit ausgeführt, und es sollte nicht vergessen werden, die entsprechenden Controller im BIOS-Setup auch einzuschalten. Die Daten für die parallele Schnittstelle werden in Einheiten zu Bytes übertragen. Die Busschnittstelle einer parallelen Schnittstelle ist aus diesem Grund immer ein Byte (oder acht Bit) breit. Das bedeutet, dass auf einmal stets ein Byte bzw. acht Bit an die Schnittstelle übergeben werden. Das gilt prinzipiell auch für Controller und andere Einsteckkarten. Diesen können Daten in Portionen zu einem Byte übergeben werden. Einer Grafikkarte für den 32-PCIBus können also z.B. vier solcher Portionen auf einmal übergeben werden, während zu einer Karte für den 8-Bit-Bus vier solcher Portionen hintereinander übertragen werden müssen. Der I/O-Chip der parallelen Schnittstelle nimmt diese acht Bit auf einmal an und überträgt sie auf einmal, d.h. parallel zum angeschlossenen Gerät (meistens einem Drucker), so dass acht Datenleitungen vorhanden sind. Neben diesem Datenbyte werden ferner auch Steuersignale übertragen, die anzeigen, ob die Daten auch angekommen sind, was auch als Handshake-Verfahren bezeichnet wird. Das heißt, der Empfänger bestätigt dem Sender den Erhalt eines jeden Datenbytes, und außerdem wird ein Taktsignal (Strobe) zusammen mit den Datensignalen übertragen.
56
Kapitel 1
Busschnittstelle
Parallelschnittstelle (LPT1, ...)
I/O-Chip
Centronics-Stecker
(Computer)
(Drucker)
Abb. 1.49: Prinzip einer parallelen Schnittstelle: Die Schnittstellenkarte oder das Mainboard weist einen I/O-Chip oder eine äquivalente Schaltung auf, die Daten an einen Drucker abgibt oder von ihm entgegennimmt.
Der Drucker nimmt die übertragenen Daten entgegen und druckt einen Text oder eine entsprechende Grafik aus. Dabei reagiert er im Allgemeinen auf bestimmte Datenmuster im empfangenen Datenstrom. Genauer gesagt überprüft er, ob so genannte Druckersteuerzeichen oder Escape-Sequenzen auftreten, die eine Steueranweisung an den Drucker darstellen, und reagiert entsprechend. Beispielsweise bedeutet die Zeichenfolge 0dh 0ah einen Wagenrücklauf (CR = Carriage Return, dt. Wagenrücklauf; LF = Line Feed, dt. Zeilenvorschub). An eine parallele Schnittstelle können neben Druckern auch andere Peripheriegeräte (Scanner, ZIP-Laufwerk) angeschlossen werden, vorausgesetzt, dass die Schnittstelle und das jeweilige Peripheriegerät dem gleichen Standard entsprechen. Dabei gibt die traditionelle parallele Schnittstelle normalerweise nur Daten ab, empfängt aber keine. Aktuelle Versionen dieser Chips können jedoch auch Daten empfangen, und es ist z.B. möglich, über die parallele Schnittstelle (und geeignete Software) Daten zwischen zwei Computern auszutauschen oder eben auch Daten von einem Scanner zu empfangen. Der Standard, der den alten (nur unidirektionalen Modus) ablöst, firmiert unter der Bezeichnung IEEE-1284 und ist in Teil 6 näher erläutert.
1.2.5
Scanner
Texte und ganz allgemein Bilder ausdrucken zu können ist die eine Seite. Auf der anderen Seite möchte man auch Bilder und Texte auf den PC transferieren. So genannte Scanner dienen der Übertragung verschiedener Vorlagen wie Grafiken, Pläne, Fotos oder auch Texte auf den PC. Die Vorlagen werden durch einen Scanner in eine digitale Form gebracht und können daraufhin in einer Datei (*.BMP, *.TIF) gespeichert und mit den PC-üblichen Bildbearbeitungsprogrammen weiterverarbeitet werden. Falls es sich um Texte handelt, müssen diese vom Bildformat mittels eines OCR-Programms (Optical Character Recognition) in eine Textdatei umgesetzt werden, was Ihnen mühseliges Abtippen von Texten ersparen kann. Scanner gibt es prinzipiell in vier Bauformen: Handscanner, Einzugsscanner, Trommelscanner und Flachbettscanner, wobei der letztgenannte Typ am weitesten verbreitet ist. Bei diesem wird die Vorlage wie auf einen Fotokopierer gelegt. Dies können daher einzelne Blätter, Zeitungen, Bücher oder auch flache Gegenstände sein, wie beispielsweise auch eine Platine oder eine Festplatte. Im Inneren fährt ein Schlitten mit der Optik und der Umsetzerelektronik unter einer Glasscheibe hindurch.
Die PC-Komponenten
57
Abb. 1.50: Bei einem Flachbettscanner wird mit der Vorlage wie bei einem Fotokopierer umgegangen.
Die Flachbettscanner sind heute bereits sehr günstig und bieten dann mindestens Auflösungen von 600 x 1200 dpi. Beim Kauf eines Scanners sollte diese maximale physikalische (tatsächliche) Auflösung beachtet werden, denn je höher sie ist, desto feiner kann die Vorlage abgetastet – gescannt – werden. Die Hersteller geben vielfach jedoch wesentlich höhere Auflösungen an, wobei es sich dann um interpolierte Werte handelt. Höhere Auflösungen als die durch den Scanner physikalisch machbaren werden eben durch Interpolation gewonnen, wobei diese Funktionalität im Softwaretreiber des Scanners oder auch der Scannersoftware implementiert ist. Diese Interpolation bedeutet nichts anderes, als dass die Software von den gescannten Punkten auf weitere schließt: Es wird also nur vermutet, dass sich zwischen zwei tatsächlichen Punkten einer bestimmten Intensität ein weiterer befindet, der in seiner Farbe und Intensität dem Mittelwert der beiden vorhandenen Punkte entspricht. Durch Interpolation wächst also nicht der Informationsgehalt des Bildes, sondern es ist gewissermaßen ein Softwaretrick, dem man in der Praxis aber keine große Beachtung schenken sollte. Die Standard-Schnittstelle für Scanner war eine Zeit lang SCSI, was viele Leute abgeschreckt haben mag, da ein üblicher SCSI-Hostadapter immer schon recht teuer war. Aus diesem Grund sind die Hersteller dazu übergegangen, ihren Scannern entsprechende SCSI-Controllerkarten mit beizulegen, wobei diese allerdings oftmals mit Vorsicht zu betrachten sind. Sie entsprechen nicht immer dem genormten SCSI-Standard, was in der Praxis zu Konfigurationsproblemen führen kann, und andere SCSI-Geräte, außer dem dazugehörigen Scanner, lassen sich hiermit auch nicht immer verwenden. Eine Kostenersparnis ergibt sich bei Scannern für die Hersteller, wenn überhaupt keine Einsteckkarte mitzuliefern ist, sondern der Scanner für den Anschluss an die parallele Schnittstelle (Druckerport, Centronics, s.o.) ausgelegt wird. Dies führt gegenüber SCSI jedoch meist zu schlechteren Datenübertragungsraten, und die gesamte Scanprozedur kann zum Geduldsspiel ausarten. Noch schlimmer sieht es allerdings bei Scannern mit USB der Version 1.0 aus, insbesondere dann, wenn noch andere USB-Geräte angeschlossen sind, die sich den USB quasi teilen müssen. Aus diesem Grunde verfügen die besseren Modelle über eine Firewire-Schnittstelle oder über den USB der Version 2.0, was sich in schnelleren Scan-Prozeduren bemerkbar macht.
58
Kapitel 1
Abb. 1.51: Der Anschluss eines Parallel-Port-Scanners erfolgt derart, dass der Scanner mit dem PC (Host-Anschluss) und der Drucker mit dem Scanner (Printer-Anschluss) verbunden wird.
Probleme mit einem Parallel-Port-Scanner ergeben sich vielfach, wenn der PC nur über einen einzigen Parallel-Port verfügt, denn hier ist meist der Drucker angeschlossen. Die Signale des Parallel-Ports müssen dann durch den Scanner zum Drucker durchgeschleift werden. Es kommt leider vor, dass das Durchschleifen der Parallel-Port-Signale beim Scanner entweder gar nicht vorgesehen ist oder der Drucker dann nicht mehr korrekt funktioniert, wie es auch beim ZIP-Laufwerk vorkommt, wenn es mit dem Drucker zusammen am Parallel-Port betrieben wird. Einmal vorausgesetzt, dass der Scanner über einen Druckeranschluss verfügt, muss der Scanner ebenfalls eingeschaltet sein, auch wenn nur der Drucker verwendet werden soll. Für den Betrieb eines Scanners an der Druckerschnittstelle muss des Weiteren der optimale IEEE1284-Mode im BIOS-Setup eingestellt werden. Welche Betriebsart für das jeweilige Scannermodell die richtige ist, kann leider nicht allgemein festgestellt werden, doch das Handbuch zum Scanner sollte die entsprechende Information preisgeben.
1.2.6
Modems und die serielle Schnittstelle
Heutzutage will wohl jedermann ins Internet, sei es wegen der elektronischen Post (EMail), zur Erledigung von Bankgeschäften per heimischem PC (Homebanking), zur Informations- und Treiberbeschaffung oder auch einfach nur zum Spaß (zum »Surfen«). Viele aktuelle PCs bringen daher auch gleich die notwendigen Voraussetzungen hierfür mit. Dies sind in der Regel ein Modem und die spezielle Software eines Providers, der einem den Internetzugang mittels Telefonleitung ermöglicht. Neben der Verbindung zum Internet über einen Provider lässt sich ein übliches Modem auch als Fax-Gerät und Anrufbeantworter (voice/fax-Modem) sowie für die Kommunikation mit Mailboxen – beispielsweise mit Hilfe des Windows-Programms Hyperterminal – verwenden, was im Internet-Zeitalter jedoch kaum noch praktiziert wird, zumal auch nur noch relativ wenige Mailboxen existieren.
Die PC-Komponenten
59
Modems Die Bezeichnung Modem setzt sich aus den beiden Begriffen Modulator und Demodulator zusammen. Die vom PC gelieferten digitalen Informationen werden vom Modem in Schwingungen umgesetzt, wodurch die Spannung, mit der das analoge Telefonnetz arbeitet, moduliert wird. Beispielsweise entspricht eine »0« der Frequenz 2100 Hz und eine »1« der Frequenz 1200 Hz. Auf der Empfängerseite erfolgt dementsprechend der umgekehrte Vorgang – die Demodulation –, wo gewissermaßen aus den »Tönen« wieder digitale Signale erzeugt werden. Die Modems arbeiten, im Gegensatz etwa zum ADSL-Verfahren (siehe weiter unten), im Sprachband des üblichen Telefonnetzes. Für die Datenübertragung in öffentlichen Fernsprechnetzen sind eine Reihe von Standards definiert worden, die auf amerikanischen, europäischen und auch herstellerspezifischen Festlegungen beruhen. Des Weiteren existiert ein Quasi-Standard für Modem-Befehle (Hayes).
: : : : :
Allgemeine Übertragungsarten (Bell, V.21, V.34, V.90) Fehlerkorrekturprotokolle (V.42, V.42bis, MNP) Fax-Standards (Klasse 1 bis 4) Modem-Befehle (Hayes Commands) Voice-Betrieb (Modem als Anrufbeantworter)
Im Handbuch zum Modem sollte angegeben sein, welche Funktionen im Einzelnen nach welchen Standards unterstützt werden. Leider ist dies nicht immer klar ersichtlich, und einige Optionen lassen sich nur dann verwenden, wenn sich an beiden Seiten der Modem-Verbindung identische Modems desselben Herstellers befinden. Dies kommt insbesondere dann vor, wenn die Hersteller bereits Funktionen in ihren Modems implementiert haben, die noch nicht in einem allgemein verbindlichen Standard festgeschrieben worden sind und die über die bis dato spezifizierten hinausgehen. Tabelle 1.8 zeigt einige Beispiele von anerkannten US- und europäischen Standards sowie auch einige herstellerspezifische Implementierungen. Bezeichnung
Typ
Maximale Geschwindigkeit
Bell 103 Bell 212A HST Dynamic Duo K56 Flex
US-Standard US-Standard Eigenes Protokoll der Firma US Robotics Eigenes Protokoll der Firma Boca Eigenes Protokoll der Firma Hayes
PEP Shotgun Turbo PEP V.21 V.22 V.22bis V.23 V.32 V.32bis V.32ter V.34 Fast V.34 Fast Class
Eigenes Protokoll der Firma Telebit Eigenes Protokoll der Firma Diamond Eigenes Protokoll der Firma Telebit Internationaler Standard Europäischer Standard Internationaler Standard Europäischer Standard Internationaler Standard Internationaler Standard V.32bis-Erweiterung der Firma AT&T Europäischer Standard Herstellerspezifisch, Vorstufe zu V.34 Fast
300 BPS 1200 BPS unterschiedlich 112 kBPS (2 Kanäle) 56000 BPS (download) 33600 BPS (upload) 14400 BPS 112 kBPS (Multichannel-Protokoll) 23000 BPS 300 BPS 1200 BPS 2400 BPS 1200/75 BPS 9600 BPS 14400/1200 BPS 23300 BPS 28800 BPS 28800 BPS
Tab. 1.8: Datenfernübertragungsprotokolle in der Übersicht
60
Kapitel 1
Bezeichnung
Typ
Maximale Geschwindigkeit
V.34 (V.Fast) X2
Internationaler Standard Eigenes Protokoll der Firma US Robotics
V.90
Internationaler Standard
V.92
Internationaler Standard
33600 BPS 56000 BPS (download) 33600 BPS (upload) 56000 BPS (download) 33600 BPS (upload) 56000 BPS (download) 48000 BPS (upload)
Tab. 1.8: Datenfernübertragungsprotokolle in der Übersicht (Forts.)
Ein Modem sollte mindestens dem V.90-Standard entsprechen. V.90 löst den jahrelang gültigen V.34-Standard ab, der maximal 33600 BPS (Bits Per Second) in beiden Richtungen bietet. Für V.34 gibt es genau genommen unterschiedliche Implementierungen (+, Fast Class, V.Fast), wobei man heutzutage darunter jedoch den internationalen Standard mit 33600 BPS versteht. An der Ablösung dieses Standards haben sich zunächst zwei verschiedene Verfahren konkurrierender Firmen versucht, und zwar K56Flex (Rockwell, Motorola, Lucent) sowie X2 (3COM, US Robotics). Im Jahre 1998 wurde als Kompromiss beider, nicht zueinander kompatiblen Verfahren der V.90Standard von der ITU (International Telecommunication Union) verabschiedet. Allen drei Verfahren (K56Flex, X2, V.90) ist gemeinsam, dass die theoretisch möglichen 56000 Bit/s nur in der Richtung vom Host – dem Internet-Provider – zum Anwender möglich sind. Wegen des eingeschränkten Frequenzbereichs (300–4000 Hz) des Fernsprechnetzes funktioniert dies ohne weiteres weder in umgekehrter Richtung, noch können sich zwei V.90-Modems mit dieser Bitrate »unterhalten«. In beiden Richtungen physikalisch machbar sind lediglich die 33600 BPS des V.34-Standards. Die V.90-Modems basieren auf der Voraussetzung, dass der Internet-Provider einen digitalen Anschluss zum Internet verwendet und die Vermittlungsstelle, mit der der Anwender ganz allgemein kommuniziert, ebenfalls digitalisiert ist, was laut Telekom überall in Deutschland der Fall sein sollte. Der Provider überträgt die Daten komplett in digitaler Form bis zur Vermittlungsstelle der Telekom. Hier werden sie dann in analoge Signale (die Sprache ist bekanntlich immer noch ein analoges Signal) umgesetzt, was im Grunde bedeutet, dass die Vermittlungsstelle einem vorgelagerten V.90-Sender-Interface entspricht. Es wird nun davon ausgegangen, dass der (analoge) Weg von der Vermittlungsstelle zum Anwender so kurz ist, dass die Dateninformation als einzelne Spannungswerte zu senden ist und keine Modulation (wie bei V.34) notwendig ist, wodurch sich, da hierfür eben keine Demodulierung nötig ist, die höhere Geschwindigkeit ergeben kann. In der anderen Richtung – vom Anwender zum Provider – funktioniert dies nicht, und daher sind hier nach wie vor die 33600 BPS laut dem V.34-Standard das Maximum, was für die Kommunikation mit einem Internet Provider meist jedoch nicht gravierend ist, da man (relativ große) Datenmengen eher aus dem Internet lädt, als dass man sie dorthin sendet. Der Standard V.92 bietet als wesentliche Verbesserungen gegenüber V.90, dass nunmehr in Upstream-Richtung 48 KBit/s möglich sein sollen, in Downstream-Richtung bleibt es allerdings bei maximal 56 KBit/s. Möglich ist die höhere Datentransferrate, da das letzte Stück der Strecke (zum Anwender) nun ebenfalls digital kodiert wird und hier keine analogen Werte mehr zu transportieren sind. Des Weiteren ist mit V.92 die Möglichkeit gegeben, dass bei einer aktiven Modemverbindung ein einkommender Telefonanruf angenommen werden kann; das Modem gibt die Leitung frei, und nach beendetem Gespräch wird die Modem-Kommunikation an derjenigen Stelle weitergeführt, wo sie zuvor unterbrochen worden war (Modem on Hold). Die dritte neue Funktion führt die Bezeichnung Quick Connect und sorgt dafür, dass der Verbindungsaufbau zum Provider wesentlich schneller vonstatten gehen soll, da sich das Modem die Verbindungsparameter für den jeweiligen Provider »merken« kann und eine erneute Anwahl deshalb
Die PC-Komponenten
61
schneller abläuft, weil diese Parameter nicht erneut ausgehandelt werden müssen. Der Übergang von V.90 zu V.92 verläuft bei den Providern eher etwas zögerlich, und vielfach ist lediglich der abwärtskompatible V.90-Modus nutzbar.
Abb. 1.52: Ein extern anzuschließendes Modem bietet zur Anzeige einige Leuchtdioden, auf denen sich der Status des Gerätes direkt ablesen lässt, was sich insbesondere für die Fehlersuche bewährt hat.
Ein Modem kann entweder als Einsteckkarte oder als eigenständiges, extern anzuschließendes Gerät ausgeführt sein. Bei einigen PCs ist die Modemschaltung auch gleich mit auf dem Mainboard integriert, was aber nichts am Prinzip ändert und daher ebenfalls als Einsteckkarte angesehen werden kann. Ob intern oder extern macht zunächst keinen Unterschied, denn in beiden Fällen kann ein Modem eine serielle Schnittstelle des PC verwenden. Ein externes Modem wird üblicherweise an COM2 angeschlossen, wenn die Maus den anderen Port – COM1 – belegt. Ein Modem als Einsteckkarte bringt demgegenüber eine eigene serielle Schnittstelle mit, die üblicherweise als COM3 oder COM4 für den PC konfiguriert wird. Für Notebooks gibt es außerdem PCMCIAEinsteckkarten (Card-Bus) mit Modemfunktion, die mitunter auch mit einer Netzwerkkarte kombiniert sind. Sowohl externe als auch interne Modems haben durchaus ihre Vor- und Nachteile. Die auf der Frontplatte eines externen Modems angebrachten Leuchtdioden bieten hilfreiche Informationen zum aktuellen Status des Gerätes, was insbesondere bei der Analyse von Kommunikationsproblemen äußerst nützlich sein kann. Dieses Feature gibt es bei einem internen – als Einsteckkarte ausgeführten – Modem hingegen nicht. Vielfach sind die internen Modems jedoch preiswerter als die externen. Der Anschluss eines Modems erfolgt auf der anderen Seite üblicherweise an die TAE-N-Dose (der Telekom) mithilfe eines Adapterkabels, denn an einem Modem finden Sie in der Regel hierfür eine Buchse für einen Western-Stecker vom Typ RJ11. Diese Buchse ähnelt dem RJ45Anschluss, wie er für LAN- und auch ISDN-Verbindungen verwendet wird, ist jedoch mechanisch kleiner und verfügt nur über vier statt acht Kontakte. Serielle Schnittstelle Neben einer parallelen Schnittstelle weist ein PC meist auch eine oder mehrere serielle Schnittstellen (vgl. Abbildung 1.48) auf. In Abbildung 1.53 ist das Prinzipschaltbild einer seriellen Schnittstelle angegeben.
62
Kapitel 1
Busschnittstelle
Serielle Schnittstelle (COM1, ...)
UART: 8250 16450 16550
Modem
RS-232C-Stecker
25-Pin
9-Pin
Abb. 1.53: Prinzip einer seriellen Schnittstelle: Sie besteht im Wesentlichen aus einem UART, der die Umwandlung von oder in serielle Daten ausführt. An eine serielle Schnittstelle lässt sich z.B. ein Modem zur Datenkommunikation anschließen.
Zentraler Bestandteil ist ein so genannter UART (Universal Asynchronous Receiver Transmitter). Über die Busschnittstelle kann die CPU auf ihn zugreifen und verschiedene Daten lesen und übertragen. Auch im Fall einer seriellen Schnittstelle werden Daten in Form eines Bytes zur Busschnittstelle und von dieser zum UART übertragen. Der UART leitet die Daten aber im Gegensatz zur parallelen Schnittstelle nicht parallel an ein Peripheriegerät weiter, sondern wandelt das Byte in einen seriellen Strom einzelner Bits um. Dieser »Datenstrom« wird über eine einzige Datenleitung und nicht wie bei der parallelen Schnittstelle über acht Datenleitungen übertragen. Außerdem fügt der UART ggf. weitere Bits hinzu: Start-, Stop- und Paritätsbit. Dadurch entsteht ein Datenpaket aus acht Datenbits und den zusätzlichen Steuerbits vom UART. Die Zahl der Änderungen des Signals pro Sekunde wird als Baudrate bezeichnet. Das Paritätsbit dient einer einfachen Gültigkeitsprüfung der übertragenen Daten. Damit sind wesentlich größere Übertragungsdistanzen als bei der parallelen Schnittstelle möglich. Serielle Schnittstellen in PCs genügen den (minimalen) Anforderungen des RS232C-Standards, der die Belegung und Bedeutung der Anschlüsse festlegt. Dieser Standard fordert insgesamt 25 Anschlüsse. Bei seriellen Schnittstellen für Personal Computer sind von diesen 25 jedoch maximal 14 belegt, auch wenn der zugehörige Stecker 25 Stifte aufweist. Ferner gibt es noch eine Version mit neun Stiften, die für die festgelegte Verwendung in PCs ausreicht und heute die übliche PC-Implementierung darstellt. Das Besondere am UART und damit an der seriellen Schnittstelle ist, dass Ausgabe und Empfang der Daten völlig asynchron erfolgen können: Laufen Daten ein, wird der UART ohne Einwirkung der CPU aktiv und nimmt die Daten entgegen. Anschließend teilt er dem Prozessor mit, dass er Daten empfangen hat und diese weitergeben möchte. Das funktioniert natürlich nur dann korrekt, wenn die Übertragungsparameter (Baudrate, Zahl und Wert der Start-, Stop- und Paritätsbits) der beiden seriellen Schnittstellen, von PC und Peripherie bzw. von den beiden über den COM-Port gekoppelten PCs, übereinstimmen.
1.2.7
ISDN und ADSL
Neben den klassischen analogen Modems (siehe Kapitel 1.2.6) und ISDN gibt es eine Reihe weiterer Technologien, die für den Internetzugang verwendet werden können. Möglich ist die Datenübertragung durch Energieversorgungsleitungen (Powerline), über Satelliten oder auch
Die PC-Komponenten
63
über Breitbandkabel (TV), wofür so genannte Kabelmodems zum Einsatz kommen, die mit dem bekannten Modem nicht viel gemeinsam haben, außer dass die Signale hier ebenfalls moduliert und demoduliert werden. In diesem Kapitel möchte ich mich allerdings auf ISDN und ADSL, die beiden gebräuchlichsten Alternativen zu einem klassischen Modem, beschränken. ISDN Ein Modem arbeitet, wie erläutert, auf analoger Basis, während das Integrated Services Digital Network (ISDN) für die digitale Datenübertragung vorgesehen ist und eine schnellere (64 KBit/s), störungssicherere Übertragung sowie eine Reihe spezieller Dienste bietet, die von den unterschiedlichsten ISDN-Geräten sowie auch von einem Telefon oder Faxgerät verwendet werden können. Um ISDN nutzen zu können, wird ein (digitaler) ISDN-Hausanschluss benötigt, wobei die gleichen Leitungen (der Telekom) verwendet werden, wie es bei der analogen Übertragung der Fall ist. Die Telekom schaltet lediglich den entsprechenden Kundenanschluss in der Vermittlungsstelle auf den digitalen Betrieb um. ISDN bietet drei verschiedene, gleichzeitig nutzbare Informationskanäle, und zwar zwei so genannte B-Kanäle (B1, B2) für Wählverbindungen mit 64 KBit/s und einen D-Kanal mit 16 KBit/s für Steuerinformationen. Dem Anwender stehen die beiden B-Kanäle zur Verfügung, und mit geeigneter Software ist es auch möglich, eine Kanalbündelung vorzunehmen, wodurch eine Transferrate von maximal 128 KBit/s zur Verfügung steht, was jedoch mit doppelten Kosten verbunden ist. Die Gegenstelle muss allerdings ebenfalls diese Option zur Verfügung stellen. Oftmals ist es sogar nötig, dass auf beiden Seiten die gleichen Geräte verwendet werden. Ein ISDN-Adapter für den PC ist vielfach als Einsteckkarte (ISA, PCI) ausgeführt, wobei es mittlerweile aber auch externe Geräte für den USB gibt, was eine entsprechende PC-Erweiterung vereinfacht. Außerdem sind ISDN-Einheiten für Bluetooth in Form einer Basisstation und kleinen USB-Bluetooth-Adaptern erhältlich, womit typischerweise bis zu sieben PCs mit einer drahtlosen ISDN-Verbindung versorgt werden können. Die ISDN-Verbindungen werden mit Western-Steckern (RJ45) hergestellt, wie sie auch bei Netzwerkkarten üblich sind, daher kann es schon einmal passieren, dass man aus Versehen die falsche Buchse für den Anschluss der ISDN-Leitung erwischt.
Abb. 1.54: Insbesondere die ISDN-Karten (Fritz!) der Firma AVM sind für PCs sehr verbreitet.
Die Leitungen der Telekom werden üblicherweise an einen Network Terminator (NT) geführt, was gewissermaßen dem Anschlusskasten entspricht. Hier befindet sich der für den Anwender wichtige Anschlusspunkt, der aus vier Leitungen besteht und als S0-Bus bezeichnet wird. Für
64
Kapitel 1
den Anschluss von Endgeräten sind prinzipiell mehrere Möglichkeiten gegeben: Entweder werden sie direkt mit dem S0-Bus verbunden, wobei maximal zwölf Dosen (Mehrgeräteanschluss) installiert und gleichzeitig acht Geräte betrieben werden können, oder es wird nur eine S0-Dose für den Anschluss einer Telekommunikationsanlage (TK) verwendet. Für den S0-Bus gilt, wie generell für Bussysteme, dass das erste und das letzte Gerät am Bus zu terminieren ist. Hierfür werden in den entsprechenden IAE-Dosen (ISDN-Anschluss-Einheit) jeweils zwei Widerstände von 100 Ohm eingesetzt. Die eingeschalteten ISDN-Geräte identifizieren sich am S0-Bus mit einer Diensterkennung. Das auf dem D-Kanal arbeitende D-Kanal-Protokoll sorgt dann beispielsweise dafür, dass ein Anruf immer zum richtigen Endgerät geleitet wird. Das Telefon klingelt bei einem Sprachdienst, und bei einem eintreffenden Fax wird das Faxgerät aktiv. Das D-Kanal-Protokoll ist allgemein für die Verarbeitung der Steuerinformationen zuständig und auch für die Limitierung auf maximal acht Endgeräte verantwortlich. ADSL ADSL steht für Asymmetrical Digital Subscriber Line. ADSL, das bei der Telekom als T-DSL bezeichnet wird, beruht auf dem Prinzip, dass man die analoge Signalübertragung – für die Sprache und die konventionelle Modemübertragung – unverändert lässt (im Bereich von 300– 4000 Hz) und darüber (ab ca. 130 kHz) ein spezielles Modulationsverfahren (QAM, QuadraturAmplituden-Modulation) einsetzt, das im Prinzip ebenfalls in einer analogen Datenübertragung auf den Leitungen resultiert, wie es auch bei einem konventionellen Modem der Fall ist. In Abbildung 1.55 sind die Frequenzbänder angegeben, wie sie für POTS (Plain Old Telephone System, das herkömmliche Telefon), ISDN und ADSL laut dem ITU-Standard verwendet werden.
POTS
ISDN
4 kHz
130 kHz
ADSL ..... Upstream
275 kHz
ADSL ..... Downstream
1 MHz
Abb. 1.55: Die genutzten Frequenzbänder für die Sprachübertragung, ISDN und ADSL
Aus diesem Grunde ist es durchaus möglich, ADSL an einem herkömmlichen analogen Anschluss zu verwenden, der von der Telekom entsprechend eingerichtet wurde. Die Telekom kombiniert ADSL meist mit ISDN, was dann unter T-ISDN firmiert. Die andere Variante, ADSL mit der Anschlussmöglichkeit für analoge Endgeräte (Telefon, Fax), wird demgegenüber als T-Net bezeichnet. ADSL ist aber nur eine (asymmetrische) Variante des Digital Subscriber Line-Verfahrens. Asymmetrisch deshalb, weil die Datenübertragungsrate in Kundenrichtung (downstream) und aus Kundenrichtung (upstream) unterschiedlich ist. Es gibt eine ganze Reihe anderer DSL-Implementierungen, was dann in allgemeiner Form als xDSL bezeichnet wird, und das »x« kennzeichnet dabei die jeweilige DSL-Technologie. Was der jeweilige Anbieter für Datenübertragungsraten anbietet, liegt in seinem Ermessen, und in Tabelle 1.9 ist angegeben, was zurzeit technisch machbar erscheint.
Die PC-Komponenten
65
Kürzel
Bezeichnung
max. Datenrate
max. Reichweite
HDSL ADSL
High Bitrate DSL Asymmetrical DSL
5 km 5 km
SDSL VDSL
Single Pair DSL Very High Bitrate DSL
2 MBit/s 8 MBit/s (downstream) 0,8 MBit/s (upstream) 2 MBit/s 52 MBit/s (downstream) 2,3 MBit/s (upstream)
3,5 km 300 m
Tab. 1.9: Die bekannten xDSL-Varianten mit den wichtigsten Kenndaten
Zur Trennung der Telefon- von den Datenfrequenzen kommt ein so genannter Splitter zum Einsatz. Die Amtsleitung (Amt) führt in den Splitter hinein, und als Anschlüsse stehen auf der Frontplatte des Splitters meist drei TAE-Buchsen für ISDN- oder aber analoge Geräte zur Verfügung sowie eine RJ45-Buchse, von der aus mit einem entsprechenden Kabel die Verbindung zum ADSL-Modem hergestellt wird. Die möglicherweise vorhandenen ISDN-Geräte werden mit diesem Anschluss genauso betrieben, wie es zuvor erläutert wurde. Ironie des Schicksals ist bei ISDN, dass die mit Macht vorangetriebene Digitalisierung und Verlegung von Glasfaserleitungen für ADSL eigentlich gar nicht notwendig und teilweise sogar hinderlich ist, weil das gesamte ISDN-Leistungsspektrum sich mit in ADSL unterbringen lässt, das vereinfacht gesagt wie ein übliches Modem arbeitet, mit der wichtigen Neuerung eben, dass für die Modulation nicht das Sprachband, sondern höhere Frequenzen verwendet werden.
Splitter TAE: ISDN/Analog Sprache
Amtsanschluss
Telefon ISDN
RJ11 RJ45 Daten RJ45
ADSLModem RJ45
LAN TCP/IP
PPPoE RJ45
RJ45
LAN-Karte 1
LAN-Karte 2
Personal Computer Abb. 1.56: Die prinzipielle Geräteanordnung mit ADSL
Ein ADSL-Modem verfügt zumeist über RJ45-Buchsen, wie sie auch bei Netzwerkkarten gebräuchlich sind, und demnach passt hier auch ein gewöhnliches Twisted Pair-Kabel hinein, mit dem die Verbindung zur Netzwerkkarte eines PC hergestellt wird. Bei der Netzwerkkarte
66
Kapitel 1
kann es sich um eine übliche 10-MBit-Karte handeln, denn Fast-Ethernet wird vom ADSLModem nicht unterstützt und wäre auch gar nicht notwendig. Die Datenübertragungsrate beträgt bei T-ISDN dsl 768 KBit/s zum Kunden (downstream) und 128 KBit/s (upstream) in der Gegenrichtung. Neben der Telekom bieten auch andere Firmen, mitunter auf eine bestimmte Region beschränkt, einen ADSL-Anschluss an, der teilweise höhere Datenübertragungsraten bietet als T-DSL, und es sind dann auch andere Leistungsklassen wie etwa mit 1,5 MBit/s downstream und 192 KBit/s upstream möglich. Für den Einsatz von ADSL muss lediglich die Netzwerkkarte korrekt im System eingebunden sein, und für die software-technische ADSL-Anbindung kommt zumeist das Point-to-Point-Protocol over Ethernet (PPPoE) zum Einsatz. Wenn der PC über zwei Netzwerkkarten verfügt, also eine für den Anschluss des ADSL-Modems und eine für ein LAN, kann dieser PC als Router zwischen dem LAN und dem ADSL-Internet-Anschluss fungieren. Mit Hilfe der Internet-Freigabe (ab Windows 98) ist es auch möglich, die ADSL-Verbindung in einem LAN für die gemeinsame Nutzung freizugeben.
Abb. 1.57: Ein xDSL-Router kann in einem LAN auch als Switch fungieren und zudem noch weitere Aufgaben übernehmen (Firewall, DHCP, DNS), was vom jeweiligen Typ abhängig ist.
Für die gemeinsame Nutzung eines ADSL-Zugangs ist ein eigenständiger ADSL-Router empfehlenswert, der verhältnismäßig günstig von allen bekannten Herstellern von Netzwerkeinheiten, wie etwa 3Com, D-Link, Netgear oder auch Allied Telesyn angeboten wird. Dadurch ist es nicht nötig, einen extra PC für das Routing einsetzen zu müssen. Ein ADSL-Router fügt sich nahtlos in eine bereits bestehende Netzwerkinfrastruktur ein und kann – je nach Modell – zudem auch noch die Funktion eines Switch, eines DHCP- und eines DN-Servers im LAN mit übernehmen. Bei den einzelnen PCs im Netzwerk, die lediglich einen gewöhnlichen Router/Gateway sehen, was bei den Eigenschaften für TCP/IP jeweils festzulegen ist, ist dann weder eine spezielle Software zu installieren, noch sind sonstige Änderungen notwendig. Auf der LAN-Seite kann dann komplett (weiter) mit TCP/IP-Adressen gearbeitet werden, ohne irgendwelche speziellen ADSL-Anpassungen vorzunehmen.
Teil 2: Die Mikroprozessoren der Personal Computer Prozessor und Speicher sind üblicherweise neben dem Chipset die wesentlichen Bestandteile des Mainboards. Dieses enthält alle Komponenten, die man gemeinhin als Computer bezeichnet. Auf dem Mainboard und insbesondere zwischen Prozessor und Speicher finden alle wesentlichen Vorgänge statt, die einen Computer ausmachen. Der Prozessor – häufig auch als CPU bezeichnet – bildet dabei das Herzstück oder das Gehirn des PC. In ihm findet die gesamte Datenverarbeitung statt, die wenigstens ein Minimum an Intelligenz erfordert. Alle anderen und teilweise recht kompliziert anmutenden Chips sind nur die Sklaven des Prozessors. Er gehört neben den Speicherchips zu den höchstintegrierten Bauteilen des PC, und seine Intelligenz schöpft er letztendlich aus einer Vielzahl von Feldeffekttransistoren, auf die ich im Folgenden kurz eingehen möchte, gefolgt von den Grundlagen der maschinennahen Informationsdarstellung und den Logikgattern, was alles in Kombination zu einem Mikroprozessor führt.
2 Grundlagen der Mikroprozessortechnik Bekanntermaßen gibt es mittlerweile zahlreiche unterschiedlich leistungsfähige CPUs für PCs, und wenn Sie sich heute einen neuen PC kaufen, wird sich die darin vorhandene CPU von ihren Leistungsdaten her gesehen von einem »Uralt-Mikroprozessor« wie dem 8086 drastisch unterscheiden. Dies gilt ebenfalls für die damit einhergehende Elektronik auf dem Mainboard wie etwa Speicher, Chipset und Bussysteme. Da mag man sich berechtigterweise fragen, ob ältere Systeme überhaupt noch von Bedeutung sind. Ich möchte behaupten ja, und zwar gleich aus mehreren Gründen. Zum einen erscheint der Einstieg in die Technik etwa anhand eines Pentium IV ohne entsprechende Vorkenntnisse kaum ernsthaft zu bewältigen zu sein; man wird von den Features geradezu erschlagen, ohne wirklich zu verstehen, was da im Einzelnen vor sich geht. Zum anderen kann auch ein Pentium 4 wie eine 8086-CPU arbeiten, wie sinnvoll dies auch immer sein mag. Gleichwohl bleiben die Programme hierfür überschaubar und sind ideal als Einstieg, um sich dann an die Weiterentwicklungen zu wagen, die von CPU- zu CPU-Generation eingeführt worden sind. Sie werden feststellen, dass einige Dinge wie die Speicherverwaltung oder die recht knapp bemessenen PC-Ressourcen (z.B. die Anzahl der möglichen Interrupt-Kanäle) als »Altlasten« des ursprünglichen PC-Designs zu sehen sind, was auch so manches aktuelles PC-Problem erklärt. Des Weiteren werden diejenigen CPUs, die in aktuellen PCs nicht mehr zu finden sind, weiterhin eingesetzt, und zwar in industriellen Steuerungen und Regelungen und auch auf PC-Einsteckkarten wie ISDN-Adaptern oder auch in Einheiten für die Messdatenerfassung, um nur einige Beispiele zu nennen. Die PC-Technik gilt ganz allgemein als »Triebfeder« der (Halbleiter-)Technologie, und im Nu wird aktuelle PC-Technik – zumindest aus der Sicht der PC-Hersteller – zum alten
68
Kapitel 2
Eisen. Aus den genannten Gründen wird es daher zunächst um die ganz grundlegenden Dinge der Mikroprozessor-Technik gehen, und nachfolgend wird konsequent eine CPU nach der anderen behandelt.
2.1 Der Feldeffekttransistor Für hochintegrierte Schaltkreise wie Mikroprozessoren oder Speicherchips eignet sich der MOSFeldeffekttransistor (oder kurz MOSFET) besonders, da er einerseits klein und einfach herzustellen ist und andererseits eine geringe Leistungsaufnahme besitzt. Die Leistungsaufnahme ist dabei die Differenz zwischen zugeführter Leistung (beispielsweise durch eine Batterie) und der vom Schaltkreis abgegebenen Leistung (z.B. zum Betreiben einer Glühlampe). Diese Differenz wird vollständig in Wärme umgewandelt und heizt den Schaltkreis auf. Bei einer Million Transistoren, die jeweils nur ein hunderttausendstel Watt verbrauchen, fallen z.B. bereits 10 W Gesamtverlustleistung an. In diesem Zusammenhang möchte ich anmerken, dass nicht primär ein hoher Strom den Schaltkreis zerstört, sondern die durch den Überstrom verursachte Aufheizung lässt die Bausteine »durchbrennen«. In Abbildung 2.1 finden Sie ein Diagramm eines n-Kanal- und eines p-Kanal-MOSFETs. Kennlinie ID
ID Vst Vth
Vst
Vth
UGS
UGS
Halbleiterschichten Source
Gate
Drain
Source
n+
p+
Kanal
n+
p+
n
ID
+ -
Drain
Kanal
p
Schaltbild
Gate
ID
+ -
n-Kanal-MOSFET
+
+
p-Kanal-MOSFET
Abb. 2.1: Die Kennlinien von n-Kanal- und p-Kanal-MOSFET sind komplementär. Ein Feldeffekttransistor besteht aus zwei dotierten Bereichen, Source und Drain, in einem schwach dotierten Substrat. Die Leitfähigkeit des Kanals zwischen Source und Drain wird durch die Spannung am Gate verändert.
Der n-Kanal-MOSFET besteht aus einem p-dotierten Siliziumsubstrat, in dem in geringem Abstand (in ICs etwa 0,5-5 µm) zwei n+-dotierte Bereiche, die Source bzw. Drain, gebildet sind. p-Dotierung bedeutet, dass im Substrat als Ladungsträger für den Stromfluss mehr positive Ionen als negative Elektronen vorhanden sind. Dies wird durch die Einlagerung von Fremd-
Grundlagen der Mikroprozessortechnik
69
atomen oder Störstellen erreicht, die als Atom weniger (p-Dotierung mit Bor u.a.) oder mehr (nDotierung mit Phosphor, Arsen u.a.) Elektronen als das Siliziumatom aufweisen. Das + deutet an, dass die Bereiche sehr stark dotiert sind (d.h., dass eine hohe Konzentration dieser Störstellen vorliegt). Zwischen den beiden Bereichen befindet sich der so genannte Kanal. Die Leitfähigkeit des Kanals (und somit der Widerstand des MOSFET) wird durch ein aus Metall oder polykristallinem Silizium gebildetes Gate gesteuert, das vom Substrat durch eine Oxidschicht getrennt (und damit auch isoliert) ist. Von oben nach unten lautet die Schichtfolge somit Metall-Oxid-Halbleiter, daher die Bezeichnung MOS-Transistor (engl. Semiconductor = dt. Halbleiter). Wird an das Gate eine Steuerspannung angelegt, so bilden sich im Kanal durch einen »Saugeffekt« freie Ladungsträger. Je kräftiger die Spannung ist, desto mehr Ladungsträger stehen zur Verfügung, d.h. desto geringer ist der Widerstand des Kanals. Man beachte in diesem Zusammenhang, dass Transistor die Abkürzung für Transfer Resistor, dt. Übertragung des Widerstands, ist. Legt man zwischen Gate und Source eine Spannung UGS an, so ist der Strom ID zwischen Source und Drain (und daher natürlich auch die vom MOSFET abgegebene Spannung) von der Spannung des Gates abhängig. Erst wenn die Schwellenspannung Vth (Theshold-Spannung) überschritten ist, beginnt der Stromfluss. Wird der Sättigungswert Vst überschritten, so erhöht sich der Strom durch den MOSFET auch bei erheblich steigender Spannung UGS zwischen Source und Gate nicht mehr. Der MOSFET arbeitet dann im Sättigungsbereich. Der eben beschriebene MOSFET wird genauer gesagt als n-Kanal-Anreicherungs-MOSFET mit isoliertem Gate bezeichnet (Abbildung 2.1, links). In gleicher Weise kann ein p-Kanal-Anreicherungs-MOSFET konstruiert werden, wenn man die n- und p-Schichten austauscht (siehe Abbildung 2.1, rechts). Ein sehr bedeutender Unterschied zwischen diesen besteht im konträren Verlauf der Leitfähigkeit mit der Spannung UGS zwischen Gate und Source: Mit wachsendem UGS steigt die Leitfähigkeit des n-Kanal-MOSFET an, die des p-Kanal MOSFET fällt jedoch auf Null ab. Bildlich gesprochen bedeutet dies, dass die Spannung des Gates die Ladungsträger aus dem Kanal »verdrängt« und somit dessen Widerstand erhöht. Aus der Kennlinie ist ersichtlich, dass zwischen der Schwellenspannung Vth und der Sättigungsspannung Vst ein (nahezu) linearer Zusammenhang zwischen der angelegten Spannung und dem Strom durch den MOSFET (und damit auch der vom MOSFET abgegebenen Spannung) besteht. In diesem Proportionalbereich wird der MOSFET betrieben, wenn er in analogen Schaltkreisen eingesetzt werden soll. Dies ist beispielsweise in einem Radio- oder Fernsehempfänger der Fall. Damit steht eine unendliche Zahl von Zwischenabstufungen zwischen Minimal- und Maximalwert (beispielsweise minimaler und maximaler Lautstärke eines Musikstücks) zur Verfügung. Da aber der Strom über den MOSFET (und damit dessen Widerstand) nur bis auf eine endliche, d.h. unscharfe Messgenauigkeit bestimmt werden kann, verwischen sich die Zwischenabstufungen. Damit kann kein absolut exakter Wert der Zwischenabstufung, sondern nur ihr Bereich angegeben werden. In einem digitalen Schaltkreis wird der MOSFET hingegen völlig anders betrieben. Hier liegt die Spannung UGS zwischen Gate und Source entweder unterhalb (oder im Bereich) der Schwellenspannung Vth oder über (oder im Bereich) der Sättigungsspannung Vst. Damit sind zwei stabile und eindeutige Zustände des Transistors definiert: der Sperr- bzw. der Durchlasszustand. Im Sperrzustand ist der MOSFET vollständig gesperrt (weist einen unendlichen Widerstand auf), und es besteht eine maximale Spannung zwischen Source und Drain. Im Durchlasszustand lässt er den maximalen Strom durch (weist den Widerstand Null auf), und die Spannung zwischen Source und Drain ist minimal (nämlich gleich der Schwellenspannung Vth). Der Transistor wird
70
Kapitel 2
somit als Schalter mit zwei Stellungen (ein/aus) benutzt. Durch die zwei klar definierten und unterscheidbaren Schaltzustände (und damit durch die abgegebenen Ströme und Spannungen) erhalten wir digitale Schaltkreise mit dualer oder binärer (d.h. zweiwertiger) Logik. Der Vollständigkeit halber sei noch erwähnt, dass bei besonders schnellen Schaltkreisen statt Silizium ein Substrat aus Galliumarsenid (GaAs) verwendet wird. Außerdem verwendet man manchmal auch Bipolartransistoren in z.B. ECL- oder BiCMOS-Schaltungen, um die Arbeitsgeschwindigkeit zu erhöhen, allerdings um den Preis einer mindestens dreifachen Leistungsaufnahme gegenüber einer Implementierung in reiner CMOS-Technologie. Anwendungen sind der Pentium (BiCMOS) oder R6000 (ECL). Die Logikzustände ein/aus des MOS-Transistors werden durch entsprechende Vorspannungen, Widerstandskombinationen etc. auf bestimmte Spannungswerte abgebildet. In Tabelle 2.1 sind die Spannungen für eine logische 1 bzw. logische 0 für die NMOS- und CMOS-Familie sowie drei weitere Bipolarfamilien angegeben. Familie
U0 [V]
U1 [V]
NMOS CMOS TTL ECL IIL
-1...+1 1...2 0...0,5 ca. 3 ca. 1
5...10 4...15 2,5...5 4...5 2...5
NMOS: Logik mit n-Kanal-MOS-Transistoren CMOS: Logik mit komplementären MOS-Transistoren TTL: (bipolare) Transistor-Transistor-Logik ECL: (bipolare) emittergekoppelte Logik IIL: (bipolare) integrierte Injektionslogik
Tab. 2.1: Logikpegel für verschiedene Logikfamilien
Im Laufe der Jahre hat sich die Halbleitertechnologie und damit auch der Aufbau eines MOSFETs zwar verändert, aber er funktioniert prinzipiell nach wie vor so, wie es oben erläutert ist. Weniger Stromverbrauch und kleinere Strukturen sind dabei die beiden maßgeblichen Faktoren der Weiterentwicklungen. So regelmäßig wie eine physikalische Grenze für diese beiden Parameter vorhergesagt wurde, genauso regelmäßig wurden neue Konzepte und Materialien gefunden, um die Grenze wieder weiter hinauszuschieben. Bereits Mitte der sechziger Jahre postulierte der Intel-Gründer Gordon Moore, dass sich alle 18 Monate die Anzahl der Bauelemente in den integrierten Schaltungen verdoppeln lassen wird (Moores Law), was bis heute gültig ist und somit beispielsweise alle drei Jahre eine neue Generation von Speicherchips erscheinen lässt. Die erste CPU von Intel aus dem Jahre 1971 besaß 2300 integrierte MOS-Tansistoren und bot eine Rechenleistung wie der legendäre ENIAC-Rechner von 1946 mit 18.000 Röhren. Ein 4k-BitDRAM-Speicher wurde in den siebziger Jahren mit einer Strukturgröße von 10 µm realisiert, in den Achtzigern 1 MBit-RAMs mit unter 1 µm, während wir uns heute bei 1 GBit-DRAMs mit einer Strukturgröße von um 100 nm bewegen. Entsprechend stieg die Integrationsdichte bei den Mikroprozessoren, was Sie auch anhand der Tabelle 2.2 erkennen können, wobei bei den aktuellen CPUs eine Strukturbreite von 0,13 µm der Standard ist.
Grundlagen der Mikroprozessortechnik
Prozessor
Anzahl der Transistoren
8086 80286 80386DX 80386SX 486DX 486SX 486DX2 Pentium 486DX4 PentiumPro Pentium MMX Pentium II AMD K6 Celeron Pentium III AMD Athlon (K7) AMD Athlon (Thunderbird) Pentium 4 (Willamette) Pentium 4 (Northwood) 64-Bit-CPUs (Itanium, Hammer)
29.000 130.000 280.000 275.000 1,2 Mio 1,185 Mio 1,2 Mio 3,2 Mio 1,6 Mio 5 Mio 4,5 Mio 7,5 Mio 8,8 Mio 7,5 Mio 9,5 Mio 22 Mio 37 Mio 42 Mio 55 Mio ca. 50-200 Mio
71
Erscheinungsjahr 1980 1982 1985 1987 1989 1991 1992 1993 1994 1995 1996 1997 1997 1998 1999 1999 2001 2001 2002 2001
Tab. 2.2: Die Anzahl der verwendeten Transistoren in den Prozessoren verdeutlicht die rasante technologische Weiterentwicklung der Mikroprozessoren.
2.2 Grundlagen maschinennaher Informationsdarstellung Ein wesentlicher Punkt im vorigen Abschnitt war die Aussage, dass ein Transistor in einer digitalen Schaltung (und hierzu gehören Prozessor, Speicher, Controller etc. Ihres PC) nur in den beiden Zuständen ein/aus betrieben wird. Damit ergibt sich in natürlicher Weise eine binäre (zweiwertige) Darstellung der Information. Jegliche Art von Information muss somit in einer Folge der Zustände ein/aus oder 1/0 ausgedrückt werden. Dies erscheint auf den ersten Blick vielleicht etwas abstrakt. Aber auch im täglichen Leben begegnet uns diese Denkweise ständig. Nur haben wir uns so stark daran gewöhnt, dass uns dies nicht mehr bewusst wird. Beispielsweise wird in diesem Buch die Information über PCHardware durch eine Folge von Buchstaben und Satzzeichen ausgedrückt. Der Unterschied besteht lediglich darin, dass 26 verschiedene Buchstaben (a bis z) und sechs Satzzeichen (.,:;?!) zur Verfügung stehen, wohingegen die Elektronikchips Ihres PC eben nur die beiden Zustände ein/aus oder 1/0 kennen. Dies bedeutet, dass die Buchstaben und Satzzeichen in 1/0-Zustände umgewandelt werden müssen. Diese Umwandlung geschieht mittels eines Codes. Wenn Sie die folgende Zeile betrachten
5 so vermuten Sie wahrscheinlich, dass zwei völlig verschiedene Dinge gemeint sind: einmal die Zahl fünf und das andere Mal ein Kringel. Je nach Blickwinkel ist dies jedoch nicht richtig. Der »Kringel« stellt das arabische Zeichen für die Zahl fünf dar. Damit bedeuten die beiden Zeichen dasselbe, werden aber verschieden dargestellt. Auch bei einem Geheimcode gilt dies. Der Text bedeutet nach der Verschlüsselung dasselbe wie vorher, nur hat sich die Darstellung so verändert, dass er für die meisten Leute völlig unverständlich wird. Natürlich existieren auch im Com-
72
Kapitel 2
puterbereich verschiedene Codes. Der am weitesten verbreitete Code ist der ASCII-Code. Er ordnet bestimmten Zeichen eine Nummer oder Zahl (nämlich den Code) zu.
2.2.1
Dezimal- und Binärsystem
Neben Zeichen sollen auch Zahlen dargestellt werden. Verwechseln Sie dabei nicht die Begriffe Ziffer und Zahl. Ziffer bedeutet eines der Zeichen 0 bis 9, wohingegen eine Zahl einen Wert angibt. Die uns geläufigen Dezimalzahlen werden mit Hilfe der (zehn, daher Dezimalzahlen) Ziffern 0 bis 9 dargestellt. Mit anderen Worten können zehn verschiedene Zustände, 0 bis 9, unterschieden werden. Für den Computer stehen aber nur zwei solche Zustände zur Verfügung: 0 und 1. Um die Zahlendarstellung in einem Computer zu verstehen, müssen wir zuerst die Interpretation einer Dezimalzahl analysieren. Unser Zahlensystem wird auch als Stellensystem bezeichnet, da jede Stelle einer Dezimalzahl einem bestimmten Wert entspricht. Allgemein weist die von rechts gesehen erste Stelle den Wert eins, die zweite Stelle von rechts den Wert zehn, die dritte Stelle von rechts den Wert hundert etc. auf. Die Anzahl solcher Werte je Stelle wird durch die betreffende Ziffer angegeben. Beispiel: Die Interpretation der Zahl 318 lautet 3x100+1x10+8x1 oder in Potenzen ausgedrückt 3x102+1x101+8x100
Dieses Schema lässt sich natürlich zu beliebig hohen Zahlen fortsetzen. Die Zehn stellt dabei die Basis des Zahlensystems dar und stimmt mit der Zahl unterscheidbarer Ziffern überein. Im Computer stehen nun aber nicht zehn, sondern nur zwei solche Ziffern als Basis zur Verfügung. Daher muss die Zehn durch die Zwei ersetzt werden. Dies führt zum Binär- oder Dualsystem. Zahlen im Binärsystem werden durch ein nachgestelltes b gekennzeichnet. Beispiel: Die Zahl 100111110b bedeutet 1x28+0x27+0x26+1x25+1x24+1x23+1x22+1x21+1x20 oder ausführlicher geschrieben 1x256+0x128+0x64+1x32+1x16+1x8+1x4+1x2+0x1 = 318
Wir erhalten somit zwei verschiedene Darstellungen des dezimalen Wertes 318: 318 im Dezimalsystem und 100111110b im Binär- oder Dualsystem. Auch das binäre Schema lässt sich wie bei den Dezimalzahlen zu beliebig großen Werten fortsetzen. Man erkennt aber sofort einen großen Nachteil des Binär- gegenüber dem Dezimalsystem: die Zahlen werden erheblich länger, d.h. man benötigt mehr Platz, um sie niederzuschreiben. In der Computertechnologie hat sich eingebürgert, acht solche Stellen oder Bits (von Binary Digit, dt. binäre Ziffer oder Stelle) zu einem Byte zusammenzufassen. Ein halbes Byte oder vier Bits werden als Nibble, zwei Bytes als Wort (oder engl. Word) und vier Bytes als Doppelwort (bzw. Double Word) bezeichnet. Damit lassen sich mit einem Byte insgesamt 28 = 256 verschiedene Zahlen von 0 bis 255 darstellen. Durch die Gruppierung von mehreren Bytes lassen sich auch größere Zahlen darstellen. Beispielsweise liefert die Gruppierung von zwei Bytes zu einem Wort Zahlen im Bereich von 0 bis 65.535 (216-1), die als vorzeichenlose Ganzzahlen (engl. unsigned integer oder kurz unsigned) bezeichnet werden. Mit einem Doppelwort zu vier Bytes lassen sich Zahlen von 0 bis 4.294.967.295 (232-1) ausdrücken. Diese Gruppierung führt zu vorzeichenlosen langen Ganzzahlen (engl. unsigned long integer oder kurz unsigned long).
Grundlagen der Mikroprozessortechnik
2.2.2
73
ASCII-Code
Im ASCII-Code wird nun jedem dieser 256 verschiedenen Werte eines Bytes ein Zeichen zugeordnet, d.h. es werden 256 ausgewählte Zeichen durchnummeriert. Streng genommen definiert der ASCII-Code nur 128 Zeichen, von denen die ersten 32 so genannte Steuercodes darstellen. Diese dienen dazu, dem Empfänger Mitteilungen über die gesendeten Daten zu machen. Beispielsweise gibt das Steuerzeichen End of Transmission (EOT=04h) das Ende der Datenübertragung an. Im PC-Bereich hat sich der von IBM eingeführte erweiterte ASCII-Code eingebürgert, bei dem auch die Codes 128 bis 255 mit festgelegten Zeichen belegt sind und den ersten 32 Codes (0 bis 31) bestimmte Symbole zugewiesen werden. Es sei bemerkt, dass diese Zuordnung von Nummern und Zeichen völlig willkürlich vorgenommen wurde. Über praktische Erwägungen (man benötigt nun einmal Buchstaben und Zahlen) hinaus gibt es keinen tieferen Sinn, weshalb beispielsweise dem Code 65 der Großbuchstabe A zugeordnet wird. Beispiel: ASCII-Code 65: erweiterter ASCII-Code 203: ASCII-Code 10 (LF):
Großbuchstabe A Grafikzeichen Steuercode für Zeilenvorschub
Der ASCII-Code eignet sich also ausgezeichnet zur Darstellung von Texten (tatsächlich werden Textdateien zuweilen auch als ASCII-Dateien bezeichnet). Bildet man eine Kette aus mehreren aufeinander folgenden ASCII-Codes oder, anders ausgedrückt, eine Kette aufeinander folgender Zeichen, so erhält man eine Zeichenkette oder einen String. Da Zeichenketten (die beispielsweise einem Satz entsprechen) unterschiedlich lang sein können, muss üblicherweise noch die Länge der Zeichenkette angegeben werden.
2.2.3
Negative Ganzzahlen und Zweierkomplement
In der Arithmetik sind neben den positiven auch die negativen ganzen Zahlen von großer Bedeutung. Man könnte versucht sein, negative ganze Zahlen einfach durch ein vorangestelltes Bit einzuführen, das angibt, ob das Vorzeichen positiv (Vorzeichenbit = 1) oder negativ (Vorzeichenbit = 0) ist. In der Computertechnik hat sich aus praktischen Gründen jedoch die Zweierkomplementdarstellung durchgesetzt. Eine negative ganze Zahl wird dargestellt, indem bei der entsprechenden positiven ganzen Zahl alle Nullen durch Einsen und alle Einsen durch Nullen ersetzt werden (das Komplement gebildet wird) und zu dem so gewonnenen Ergebnis eins addiert wird. Beispiel: positive ganze Zahl 256: negative ganze Zahl -256 komplementieren: eins addieren: Ergebnis:
0000 0001 0000 0000b +
1111 1110 1111 1111b 1b 1111 1111 0000 0000b
Zu beachten ist, dass vorzeichenbehaftete Ganzzahlen (engl. signed integer oder kurz integer) Werte von -32.768 (-215) bis 32.767 (215-1) annehmen können. Ist das höchstwertige (das am weitesten links stehende) Bit gleich 1, so ist die dargestellte vorzeichenbehaftete Zahl negativ. Die Interpretation solcher vorzeichenbehafteter Ganzzahlen ist dabei von der Interpretation vorzeichenloser Ganzzahlen sehr verschieden.
74
Kapitel 2
Beispiel: Binärzahl: 1111 1111 1111 1111b Interpretation als vorzeichenlose Ganzzahl: 1*215+1*214+...+1*21+1*20 = 65.535
Interpretation als vorzeichenbehaftete Ganzzahl: höchstwertiges Bit ist 1, daher ist die Zahl negativ; somit muss die Prozedur des obigen Beispiels umgekehrt werden: binär: eins subtrahieren: komplementieren: Ergebnis:
1111 1111 1111 1111b 1111 1111 1111 1110b 0000 0000 0000 0001b -1
Zwar ist bei der Zweierkomplementdarstellung vorzeichenbehafteter Ganzzahlen eine Art Vorzeichenbit (das höchstwertige Bit) vorhanden. Der Rest der Zahl darf aber nicht als Betrag der Zahl interpretiert werden (dies würde im oben angeführten Beispiel zum Wert -32.766 führen). Die Zweierkomplementdarstellung wird in gleicher Weise auch bei vorzeichenbehafteten langen Ganzzahlen angewandt. Diese weisen damit einen Wertebereich von -2.147.483.648 (-231) bis +2.147.483.647 (231-1) auf. Der Grund für die Verwendung der Zweierkomplementdarstellung für negative Zahlen ist, dass die Subtraktion einer Zahl (dem Subtrahenden) von einer anderen Zahl (dem Minuenden) auf die Addition des Zweierkomplements des Subtrahenden und des Minuenden zurückgeführt werden kann. Ein eventuell auftretender Übertrag wird ignoriert. Streng mathematisch gesehen ist dies in ähnlicher Form auch bei der normalen Addition der Fall: die Subtraktion einer Zahl wird auf die Addition ihres Inversen (ausgedrückt als -Zahl) zurückgeführt. Damit lautet die Subtraktionsregel für Binärzahlen: Minuend – Subtrahend = Minuend + Zweierkomplement (Subtrahend) Beispiel: Differenz 15 - 1 berechnen: 15d 1d 2er-Komplement(1d) damit ist 15 - 1
= = = =
0000 0000 1111 0000 +1111 1 0000
0000 0000 1111 0000 1111 0000
0000 0000 1111 0000 1111 0000
1111b 0001b 1111b 1111b 1111b 1110b
Die führende 1 (Übertrag) wird ignoriert; damit lautet das Ergebnis 0000 0000 0000 1110b oder 14 dezimal.
2.2.4
Hexadezimalzahlen
Die Darstellung von Zahlen durch eine Folge von Nullen und Einsen erscheint nicht nur Ihnen sehr umständlich. Bei längeren Folgen verliert man schnell den Überblick. Es hat sich daher eingebürgert, jeweils vier Bits (ein Nibble) zusammenzufassen und daher ein Zahlensystem zur Basis 16 einzuführen. Mit vier Bits lassen sich nämlich 16 Zahlen (0 bis 15) darstellen. Das Nibble bildet somit die Grundlage des Hexadezimalsystems oder Sedezimalsystems. Alle Informationsmengen (Byte, Wort, Doppelwort) sind ein Vielfaches eines Nibbles. Da unser geläufiges Dezimalsystem nur die Ziffern 0 bis 9 kennt, müssen für die Hexadezimalziffern 10 bis 15 neue Symbole hinzugefügt werden. Hierzu verwendet man die (Groß- oder Klein-)Buchstaben a (10) bis f (15). Um eine Hexadezimalzahl zu kennzeichnen, wird ihr entweder ein h oder H (für hexadezimal) nach- (z.B. 2Fh) oder ein
Grundlagen der Mikroprozessortechnik
75
0x vorangestellt (z.B. 0x2F in C). Die Umwandlung in das Dezimalsystem geschieht wie die Umwandlung von Binärzahlen, nur dass als Basis jetzt 16 statt 2 auftaucht. Beispiel: vorzeichenlose dezimale Ganzzahl: 65.535 Binärzahl: 1111 1111 1111 1111b Hexadezimalzahl: ffffh
Beispiel: Hexadezimalzahl: Binärzahl: Dezimalzahl: vorzeichenlose Ganzzahl vorzeichenbehaftete Ganzzahl
9BE7h 1001 1011 1110 0111b 9*163+11*162+14*161+7*160 = 39.911 oder = -25.625
Somit ist eine wesentlich kompaktere Schreibweise möglich, ohne den Bezug zur Computerhardware zu verlieren (die ja nur in Nullen und Einsen »denkt«), da sich jede Stelle einer Hexadezimalzahl durch ein Nibble (vier Bits, ein halbes Byte) ausdrücken lässt. Daher kann eine Hexadezimalzahl einfach und schnell in eine Binärzahl (und damit beispielsweise in den Inhalt eines Registers) umgewandelt werden. Zu beachten ist dabei, dass eine Hexadezimalzahl wie ihr binäres Pendant vorzeichenlos ist. Es existiert kein Minuszeichen; erst die Interpretation einer Binär- oder Hexadezimalzahl entscheidet, ob sie positiv oder negativ ist.
2.2.5
BCD-Zahlen
Eine weitere Darstellung von Zahlen mit großer Bedeutung sind die so genannten binärcodierten Dezimalzahlen oder kurz BCD(-Zahlen). Bei diesen stellt der Wert eines Bytes den Wert der entsprechenden Dezimalstelle dar. Beispiel: Dezimalzahl: 28 BCD: 0000 0010
0000 1000
Das erste Byte 0000 0010 gibt hierbei die Ziffer 2, das zweite Byte 0000 1000 die Ziffer 8 an.
Der große Vorteil binärcodierter Dezimalzahlen besteht darin, dass keine Umwandlung von Dezimal- in Binärzahlen erfolgen muss, da jede Ziffer durch ein eigenes Byte dargestellt wird. Man beachte, dass die Bytes den binären Wert der Ziffer und nicht deren ASCII-Code angeben. Der große Nachteil springt natürlich sofort ins Auge: Mit einem Byte lassen sich 256 verschiedene Zahlen (oder Ziffern) darstellen, BCD-Zahlen verwenden jedoch nur zehn davon. Um diese Verschwendung zu verringern, werden häufig gepackte BCD-Zahlen verwendet. Bei diesen gibt jedes Nibble (zu je vier Bits) eines Bytes eine Ziffer an. Beispiel: Dezimalzahl: 28 (vergleiche das vorangegangene Beispiel) gepackte BCD: 0010 1000 Das erste Nibble 0010 des Bytes gibt hierbei die Ziffer 2, das zweite Nibble 1000 die Ziffer 8 an.
Man beachte auch hier, dass die Nibbles den binären Wert der jeweiligen Ziffer angeben. Mit einem Byte lassen sich hier 100 Zahlen (von 0 bis 99) darstellen. Dabei ist natürlich selbstverständlich, dass die Interpretation eines Bytes als (gepackte) binärcodierte Dezimalzahl einen völlig anderen Wert liefert als die Interpretation als Binärzahl (im Beispiel ergäbe sich 24).
76
Kapitel 2
In einem kurzen Vorgriff sei angemerkt, dass natürlich noch andere Interpretationen von Bytes, Worten und anderen Informationseinheiten existieren. Von besonderer Bedeutung sind die Befehlscodes an den Prozessor. Ein Befehlscode setzt sich aus einem oder mehreren Bytes zusammen, die den Prozessor anweisen, einen bestimmten Vorgang auszuführen (Daten übertragen, vergleichen, addieren etc.). Sie erkennen, dass ein paar »nackte« Bytes in Abhängigkeit von ihrer Interpretation sehr unterschiedliche Bedeutungen und Auswirkungen haben können.
2.2.6
Little-Endian- und Big-Endian-Notation
Die Intel-Prozessoren verwenden das so genannte Little-Endian-Format. Das bedeutet, dass ein Wort oder Doppelwort stets mit dem niederwertigen Byte beginnt und mit dem höchstwertigen endet. Mit anderen Worten wird das höherwertige Byte einer Mehr-Byte-Größe an einer höheren Adresse gespeichert als das niederwertigere Byte. Wenn wir ein Wort oder Doppelwort niederschreiben, so setzen wir das höchstwertige Byte an die am weitesten links stehende Position und das niederwertigste Byte an die am weitesten rechts liegende Stelle. Niedergeschriebene Speicheradressen steigen aber von links nach rechts an. Daher scheinen die Intel-Prozessoren und die hierzu kompatiblen CPUs die einzelnen Bytes im Vergleich zu ihrer »natürlichen Reihenfolge« in Worten oder Doppelworten zu vertauschen. Weil der Prozessor Daten in derselben Weise im Hauptspeicher oder auf der Festplatte abspeichert, erscheinen sie auch hier vertauscht zu sein (wie Sie leicht mit einem Hex-Editor bestätigen können). Das hat aber nur Auswirkungen, wenn das Wort oder Doppelwort eine Zahl darstellt und Sie diese Zahl in die einzelnen Ziffern aufspalten möchten, da nur hier die Reihenfolge wesentlich ist (erinnern Sie sich daran, dass alle benutzten Zahlensysteme so genannte Stellensysteme sind). Beispiel: hexadezimales Wort 1234h (dezimal 4660) wird im Speicher und auf Diskette/Festplatte abgelegt als 3412h; hexadezimales Doppelwort 12345678h (dezimal 405.419.896) wird abgelegt als 78563412h.
Im Gegensatz dazu beginnt ein Wort oder Doppelwort im Big-Endian-Format stets mit dem HighByte und endet mit dem niederwertigsten Byte. Mit anderen Worten wird das High-Byte einer Mehr-Byte-Größe an einer niedrigeren Adresse gespeichert als das niederwertigere Byte. Die 68000er-Familie von Motorola verwendet beispielsweise das Big-Endian-Format, und dies ist auch der Grund dafür, warum die Daten im BIOS für eine PCI-Karte für einen PC und für einen Apple-Computer unterschiedlich abgelegt werden müssen, obwohl PCI als systemübergreifendes Bussystem ausgelegt ist, einmal abgesehen davon, dass eine Intel-CPU nicht den Befehlssatz von Motorola und umgekehrt verstehen kann.
2.3 Logikgatter Mikroprozessoren und vor allem Speicherchips sind heute die am höchsten integrierten Schaltkreise. Man benötigt für sie möglichst kleine elektronische Bauelemente. Das Wichtigste davon haben wir schon kennen gelernt: den MOS-Feldeffekttransistor. Aber ein solches Element reicht für die komplexen Logikoperationen natürlich noch nicht aus. Vielmehr wird eine sehr große Menge solcher MOSFETs zusammengeschaltet, um die gewünschten Logikschaltungen aufzubauen, so z.B. UND-Gatter oder Volladdierer.
Grundlagen der Mikroprozessortechnik
2.3.1
77
Grundlegende Logikelemente
Gegenstand dieses Abschnitts sind die zwei grundlegenden Elemente von elektronischen Logikschaltungen: das UND- und das ODER-Gatter. Sie implementieren die abstrakte UND- bzw. ODER-Verknüpfung zweier Eingangsgrößen E1 und E2 durch eine elektronische Schaltung mit zwei Signalen und erzeugen eine Ausgangsgröße A, die ebenfalls als Signal (oder genauer gesagt: als dessen Pegel) ausgedrückt wird. Tabelle 2.3 zeigt zunächst die Wahrheitstafeln für die UND- und für die ODER-Verknüpfung. E1
E2
0 0 1 1
0 1 0 1
UND-Wert A
ODER-Wert A
0 0 0 1
0 1 1 1
Tab. 2.3: Wahrheitstafel für UND- und ODER-Verknüpfung
Die ODER-Operation ist also das Abbild des logischen ODER und nicht unseres umgangssprachlichen Entweder-Oder (das wird von der XODER-Operation implementiert). Aus den UND- und ODER-Operationen und unter Hinzunahme des Inverters lassen sich sämtliche Logikoperationen aufbauen. UND und ODER übernehmen dadurch dieselbe Rolle wie 0 und 1 bei den natürlichen Zahlen. In der folgenden Beschreibung nehme ich an, dass eine logische 1 durch ein Signal mit hohem Pegel und eine logische 0 durch ein Signal mit niedrigem Pegel dargestellt wird. Für die UNDOperation muss man also eine Schaltung konstruieren, die nur für zwei hohe Signalpegel an beiden Eingängen E1 und E2 einen hohen Signalpegel am Ausgang A liefert, für die ODER-Operation dagegen eine, die bereits bei einem hohen Signalpegel an einem Eingang E1 oder E2 einen hohen Signalpegel am Ausgang A bereitstellt. In Abbildung 2.2 sehen Sie eine einfache Implementierung dieser Forderung mit MOSFETs. Die beiden n-Kanal-MOSFETs Tr1 und Tr2 in Abbildung 2.2 (links) schalten nur dann die Versorgungsspannung Vcc zum Ausgang A durch, wenn beide Eingangssignale E1 und E2 auf einem hohen Pegel liegen, also eine logische 1 angeben. Ist auch nur eines der Signale E1 und E2 gleich 0, dann sperrt der Transistor Tr1 oder Tr2, und der Ausgang A gibt ein Signal mit niedrigem Pegel ab, das eine logische 0 darstellt. Die Schaltung von Abbildung 2.2 (links) implementiert also eine UND-Operation für die Eingangssignale E1 und E2. E1 E2
E1
UND
A
E1 Tr1
ODER
Tr2
E2
A
Tr1 A
A Vcc
Vcc E2
E1 E2
Tr2
Abb. 2.2: Implementierung von UND und ODER mit MOSFETs
In Abbildung 2.2 (rechts) realisieren die beiden n-Kanal-MOSFETs Tr1 und Tr2 ein ODER-Gatter, weil es genügt, dass einer der zwei MOSFETs durchgeschaltet wird, um dem Ausgang A ein Signal mit hohem Pegel zuzuführen. Es reicht also aus, dass E1 oder E2 auf einem hohen Pegel liegt.
78
Kapitel 2
Die dargestellten Logikgatter sind 2-Eingangs-UND- bzw. 2-Eingangs-ODER-Gatter. Die Schaltungen lassen sich aber ohne Problem auf n-Eingangs-UND- sowie n-Eingangs-ODER-Gatter erweitern, indem man einfach n MOSFETs zwischen Vcc und dem Ausgang A in Reihe (UND) oder parallel (ODER) schaltet. Eingang
Ausgang
E1
E2
AND
NAND
OR
NOR
EXOR
EXNOR
0 0 1 1
0 1 0 1
0 0 0 1
1 1 1 0
0 1 1 1
1 0 0 0
0 1 1 0
1 0 0 1
Tab. 2.4: Wahrheitstafel für die logischen Verknüpfungen
Wie erwähnt lassen sich durch das UND, das ODER und den Inverter (siehe folgendes Kapitel) sämtliche Logikoperationen realisieren, wie es einmal zusammengefasst in der Tabelle 2.4 dargestellt ist. Abbildung 2.3 zeigt die hierfür üblichen Logiksymbole, wobei nach wie vor sowohl die Normsymbole, wie sie für Europa gültig sind, als auch die Symbole laut amerikanischem Standard zur Anwendung kommen.
Abb. 2.3: Die üblichen Symboldarstellungen
Grundlagen der Mikroprozessortechnik
2.3.2
79
CMOS-Inverter als Low-Power-Elemente
Der bereits mehrfach erwähnte MOSFET hat zwar im Vergleich zu einem Bipolartransistor (dessen Leitfähigkeit nicht durch eine Gate-Spannung, sondern einen Basisstrom gesteuert wird) eine sehr geringe Leistungsaufnahme. Durch die Integration von mittlerweile mehreren Millionen Transistoren auf einem Chip ist die Leistungsaufnahme dennoch ganz beachtlich. Ganz besonders gilt das für schnell getaktete Prozessoren, weil dort die MOSFETs schnell und häufig umgeschaltet werden. Es besteht also ein Bedarf, den Stromverbrauch weiter zu reduzieren. Dazu dient die so genannte CMOS-Technik mit dem CMOS-Inverter als grundlegendem Bauelement. Ein CMOS-Inverter wird einfach durch Parallelschalten von einem p-Kanal- und einem n-Kanal-MOSFET gebildet, so wie es in Abbildung 2.4 gezeigt ist. Schaltbild
Kennlinie Vcc
UA
p-Kanal MOSFET
E
A
Vcc
Vcc/2
n-Kanal MOSFET Vcc-Vth
Vth
Vcc/2
Vcc UE
Abb. 2.4: Der CMOS-Inverter besteht aus zwei zwischen Masse und Vcc geschalteten MOSFETs mit entgegengesetzter Leitfähigkeit. Dadurch erhält man eine Kennlinie mit scharfem Übergang.
Die beiden MOSFETs sind zwischen Masse und Versorgungsspannung Vcc in Reihe geschaltet. Das Gate des p- oder n-Kanal-MOSFET ist durch eine dünne Oxidschicht vom Substrat und damit von Source und Drain getrennt, so dass über das Gate kein Strom fließen kann. Für einen Stromfluss wäre es erforderlich, dass beide Transistoren gleichzeitig leitend sind, um einen Strompfad zwischen Masse und der Versorgungsspannung zu schaffen. Wenn Sie die beiden Kennlinien der Abbildung 2.1 betrachten, so erkennen Sie, dass es keine Überschneidung der Leitfähigkeit von p- und n-Kanal-MOSFETs gibt. Mit anderen Worten: Es ist stets einer der beiden MOSFETs gesperrt. Ist die Spannung UE am Eingang E ausreichend positiv (d.h. größer als die Schwellenspannung Vthn des n-Kanal-MOSFET Trn), dann leitet der n-KanalMOSFET Trn, der p-Kanal-MOSFET Trp aber sperrt. Bei ausreichend negativer Spannung UE (kleiner als die Schwellenspannung Vthp des p-Kanal-MOSFET Trp) leitet stattdessen der p-Kanal-MOSFET Trp und der n-Kanal-MOSFET Trn sperrt. Zwischen Vthn und Vthp sperren beide Transistoren. Entscheidend für die Verwendung in der (digitalen) Computertechnik ist, dass sich die Spannung UA am Ausgang A mit einer Schwankung der Eingangsspannung UE im Bereich zwischen der Versorgungsspannung Vcc und der Masse ändert. MOSFETs werden ja nicht durch einen Gate-Strom, sondern durch die Gate-Spannung gesteuert. Man kann die am Ausgang A abgegebene Spannung UA dann dazu benutzen, MOSFETs in nachfolgenden Stufen der Logikschaltung zu steuern und dadurch Signale (oder Daten) zu verarbeiten:
: :
Ist UE ausreichend negativ, dann leitet Trp und Trn sperrt; der Ausgang A liegt auf Vcc, und der CMOS-Inverter gibt eine logische 1 aus (oder logische 0 bei negativer Logik). Ist UE genügend positiv, so leitet stattdessen Trn und Trp sperrt; der Ausgang A liegt auf Masse, und der CMOS-Inverter gibt eine logische 0 aus (oder logische 1 bei negativer Logik).
80
Kapitel 2
Für den Einsatz in Computern mit zwei klar definierten Zuständen ist es sehr günstig, dass der Übergangsbereich zwischen Vcc und Masse der Kennlinie außerordentlich scharf ist (siehe Abbildung 2.4). Computer mit CMOS-Bausteinen arbeiten deshalb sehr zuverlässig. Ein großer Vorteil von CMOS-Bausteinen gegenüber normalen MOS-Chips ist der geringere Stromverbrauch. Nur beim Umschalten zwischen Vcc und Masse fließt ein Strom, um die jeweiligen Schichten des CMOS-Transistors entsprechend ihrer Kapazität aufzuladen oder zu entladen. Die sehr geringe statische Leistungsaufnahme ergibt sich hauptsächlich aus den Leckströmen durch die (niemals vollständig) isolierende Oxidschicht unter dem Gate hindurch. Klappt die Spannung UA am Ausgang A durch einen schnellen Wechsel der Eingangsspannung UE um, so führt das Umklappen aufgrund der Umladung der Halbleiterschichten zu einer zusätzlichen dynamischen Leistungsaufnahme. Da mit jedem Umklappen die Halbleiterschichten einmal aufgeladen bzw. entladen werden, ist die dynamische Leistungsaufnahme proportional zur Umklappfrequenz (P~v). Schnell getaktete CMOS-Bausteine verbrauchen also mehr Strom als niedriger getaktete. Die simpelste Form eines Stromsparverfahrens ist es daher, dass man im Power-down-Mode einfach die Taktfrequenz auf Null absenkt, wie es etwa bei Notebooks praktiziert wird. Dadurch bleibt nur noch die sehr geringe statische Leistungsaufnahme übrig. Die Stromeinsparung kann bis zu 99,99% (kein Druckfehler!) betragen. Die CPU muss hierfür über keinen speziellen Stromsparmodus verfügen, obwohl alle aktuellen CPUs einen solchen Modus besitzen, und andere Komponenten im PC (z.B. Display, Festplatten) können mit Hilfe des BIOS (ACPI) ebenfalls in einen Stromsparmodus umgeschaltet werden. Ein großes Problem bei der Realisierung immer größerer Packungsdichten und damit beispielsweise größerer Kapazität von Speicherchips ist neben der Miniaturisierung der Bauelemente der Anstieg der Leistungsaufnahme. Die Größe und in der Folge die Leistungsaufnahme der einzelnen Elemente auf dem Chip nimmt zwar ab; da die Zahl der Elemente aber gewaltig angestiegen ist, ergibt sich im Endeffekt eine größere Leistungsaufnahme. Beispielsweise braucht ein 80386 etwa 3 W, der Standard-Pentium trotz modernerer Technologie 13 W und ein Athlon XP (2800+) sogar über 70 W. Die aufgenommene Leistung wird zu 100% in Wärme umgesetzt und heizt den Chip auf. Wahre Arbeitstiere und somit auch Stromfresser. Kann die in einem Chip entstehende Wärme nicht mehr abgeführt werden, so »verschluckt« sich der Prozessor zunächst durch Rechenfehler aufgrund überhitzter Transistoren: Der Computer stürzt ab und ist erst nach Abkühlung wieder betriebsbereit. Ein weiterer Temperaturanstieg kann schließlich zur Zerstörung der Halbleiterschichten und damit des gesamten Chips führen. Natürlich hat auch die CMOS-Technik Nachteile: Ein CMOS-Inverter weist stets zwei MOSFETs auf, ein MOS-Transistor aber nur einen (nämlich sich selbst). Die Integrationsdichte von CMOSInvertern gegenüber MOS-Transistoren ist also geringer. Durch eine geschickte Anordnung der verschiedenen Schichten auf dem Substrat erreicht man aber fast gleich hohe Zahlen, nur ist der technologische Aufwand größer. Außerdem schalten CMOS-Elemente nicht so schnell wie Bipolartransistoren. Ab dem Pentium wird daher aus Geschwindigkeitsgründen wieder von der reinen CMOS-Implementierung abgewichen. Damit diese Prozessoren die hohen Taktraten verkraften, werden sie teilweise (Pentium: BiCMOS) oder ganz (R6000: ECL) mit Bipolartransistoren realisiert. Das steigert zwar die Rechenleistung, macht aber die Kühlung wieder zu einem zentralen Problem.
Grundlagen der Mikroprozessortechnik
2.3.3
81
Ein Beispiel: 1-Bit-Addierer
Im Folgenden möchte ich Ihnen eine Anwendung der UND-, ODER- und XODER-Gatter vorstellen, nämlich einen 1-Bit-Addierer mit Übertrag. Er dient zur Addition zweier Binärzahlen. Abbildung 2.5 zeigt als Beispiel die Verknüpfung von UND-, ODER- und XODER-Gattern, um die Summe und den Übertrag zu ermitteln, die sich aus zwei Summanden Ax und Bx sowie einem Eingangsübertrag Übx ergeben. Ax Ax Bx
XODER XODER
Übx
UND
Bx
UND
Übx
UND
ODER
Übertrag
Cx
Abb. 2.5: 1-Bit-Addierer mit Übertrag
Zur Summenbildung werden zunächst die beiden Summandenbits Ax und Bx einem XODERGatter zugeführt. Das Ausgangssignal dieses ersten XODER-Gatters und das Übertragbit Übx von einer vorherigen Stufe werden dann an ein zweites XODER-Gatter angelegt. Das resultierende Ausgangssignal gibt dann das entsprechende Summenbit Cx an. Das Übertragbit kann z.B. durch drei UND-Gatter, die ermitteln, ob von den zugeführten Bits Ax, Bx und Übx mindestens zwei gleich 1 sind, und die Kombinierung in einem ODER-Gatter bestimmt werden. Wenn Sie die Schaltung nach ihrem Logikverhalten auswerten, erhalten Sie die Verknüpfung von Tabelle 2.5 der Addiererwahrheitstafel. Ax
Bx
1. Summand 0 0 0 0 1 1 1 1
2. Summand 0 0 1 1 0 0 1 1
Übx
Cx
Übertrag
Eingangsübertrag 0 1 0 1 0 1 0 1
Summe 0 1 1 0 1 0 0 1
0 0 0 1 0 1 1 1
Tab. 2.5: Verknüpfung von Summanden- und Übertragbit im 1-Bit-Addierer
Um einen 32-Bit-Volladdierer mit Parallelübertrag zu konstruieren, müssen Sie »lediglich« 32 dieser 1-Bit-Addierer in Reihe schalten und jeweils den Übertragausgang des vorherigen mit dem Übertrageingang des nachfolgenden Addierers verbinden.
2.4 Die CPU als zentraler Bestandteil aller Computer Die CPU stellt den wesentlichsten Teil eines PC dar. In ihr werden alle logischen und arithmetischen Operationen ausgeführt. Generell liest der Prozessor Daten aus dem Speicher, bearbeitet sie in der von einem Befehl vorgeschriebenen Weise und speichert das Ergebnis wieder ab. Im Folgenden möchte ich kurz den allgemeinen Aufbau eines Mikroprozessors beschreiben.
82
Kapitel 2
Um die oben erwähnten logischen und arithmetischen Operationen (Prozesse) auszuführen, besitzt ein Mikroprozessor (siehe Abbildung 2.7) eine Busschnittstelle (BU = Bus Unit), eine Befehlseinheit (IU = Instruction Unit), eine Ausführungseinheit (EU = Execution Unit) sowie eine Adressierungseinheit (AU = Addressing Unit).
Abb. 2.6: Mit dem Prozessor 8088 begann der Siegeszug des PC. In die untere leere Fassung lässt sich zusätzlich noch ein mathematischer Coprozessor (8087) einsetzen.
Neben anderen Bestandteilen weist die Busschnittstelle eine so genannte Prefetch-Queue auf. Die Ausführungseinheit ist für die Datenverarbeitung (addieren, vergleichen etc.) zuständig und umfasst zu diesem Zweck eine Steuereinheit (CU = Control Unit), eine arithmetische und logische Einheit (ALU) und verschiedene Register. Die Adressierungseinheit besitzt häufig noch eine Speicherverwaltungseinheit (MMU = Memory Management Unit). Sie umfasst z.B. beim 80386 eine Segmentierungs- (SU) und eine Paging-Einheit (PU = Paging Unit). Die Busschnittstelle bildet die Verbindung zur Außenwelt, d.h. zum Daten-, Adress- und Steuerbus. Sie liest Befehle aus dem Speicher in die Prefetch-Queue, die diese an die Befehlseinheit weitergibt. Die IU wiederum steuert die Ausführungseinheit an, damit die eingelesenen Befehle von der ALU auch tatsächlich ausgeführt werden. Hier überwacht die Steuereinheit CU die Register sowie die ALU, um einen reibungslosen Ablauf zu gewährleisten. Mikroprozessor
Adressierungseinheit Addressing Unit (AU)
Ausführungseinheit Execution Unit (EU)
Bus
Busschnittstelle Bus Unit (BU)
Speicher
Adresse Daten
Prefetch-Queue
ALU Register
Steuereinheit Control Unit (CU)
Befehlseinheit Instruction Unit (IU)
Abb. 2.7: Ein Mikroprozessor weist eine Busschnittstelle zum Einlesen und Ausgeben von Daten und Befehlen mit einer Prefetch-Queue, eine Befehlseinheit zur Ansteuerung der Ausführungseinheit mit den Registern und eine Adressierungseinheit für die Erzeugung von Speicher- und I/O-Adressen auf.
Der Mikroprozessor kann über den Datenbus die Daten aus dem Speicher lesen oder in den Speicher schreiben. Die auszulesende oder zu beschreibende Speicherstelle wird dabei über eine Adresse angesprochen, die der Prozessor in der Adressierungseinheit berechnet und über den Adressbus an die Speicherbausteine übermittelt. Das Lesen und Schreiben erfolgt dabei über die
Grundlagen der Mikroprozessortechnik
83
Busschnittstelle. Hierzu gibt die BU die Adresse und die zu schreibenden Daten aus bzw. liest die zu lesenden Daten ein. In gleicher Weise wird der Speicher adressiert, um einen Befehl zu lesen. Nur wandern die gelesenen Daten (die Befehle) in die Prefetch-Queue und nicht in eines oder mehrere der Register der Ausführungseinheit. Die Befehlseinheit liest den Befehl aus der Prefetch-Queue, dekodiert ihn und reicht den dekodierten Befehl an die Ausführungseinheit weiter. Ein wesentlicher Punkt hierbei ist, dass sich Befehle und Daten im selben Speicher befinden. Dies bedeutet, dass es keine strikte Trennung zwischen Befehls- und Datenspeicher gibt: Jeder Speicherbaustein kann sowohl als Daten- als auch als Befehlsspeicher dienen. Dies ist nicht selbstverständlich. Die Z4 von Konrad Zuse (der erste frei programmierbare elektromechanische Computer für numerische Anwendungen) besaß einen Programm- und einen Datenspeicher, die streng voneinander getrennt waren). Im Befehlsspeicher können nur Befehle, im Datenspeicher nur Daten abgelegt werden, was unter dem Stichwort Harvard-Architektur bekannt ist. Nach diesem Prinzip arbeiten zahlreiche Mikrocontroller und digitale Signalprozessoren (DSP), während der Mathematiker John von Neumann das Konzept von gemischtem Daten- und Programmspeicher entwickelte, wie es bei den PCs zur Anwendung kommt. In Tabelle 2.6 erhalten Sie vorab schon einmal einen Überblick über die wichtigsten Daten der einzelnen PC-Prozessoren. Die Tabelle gibt den Prozessortyp, die interne Registerbreite, die Breite von Adress- und Datenbus, den maximal möglichen Adressraum und die typischen Taktfrequenzen an. Prozessor
Registerbreite
Adressbusbreite
Datenbusbreite
Adressraum
Taktfrequenzen
8088 8086 80188 80186 80286 386SX 386DX 486 486DX2 486DX4 486SX/487SX Pentium, 1. Generation Pentium, 2. Generation Pentium, 3. Generation Pentium Pro Pentium II Pentium III Athlon Pentium 4
16 Bits 16 Bits 16 Bits 16 Bits 16 Bits 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits
20 Bits 20 Bits 20 Bits 20 Bits 24 Bits 24 Bits 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits 36 Bits 36 Bits 36 Bits 43 Bits 36 Bits
8 Bits 16 Bits 8 Bits 16 Bits 16 Bits 16 Bits 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits 64 Bits 64 Bits 64 Bits 64 Bits 64 Bits 64 Bits 64 Bits 64 Bits
1 MByte 1 MByte 1 MByte 1 MByte 16 MByte 16 MByte 4 GByte 4 GByte 4 GByte 4 GByte 4 GByte 4 GByte 4 GByte 4 GByte 64 GByte 64 GByte 64 GByte 8 TByte 64 GByte
4,7...8 MHz 4,7...10 MHz 5...16 MHz 5...16 MHz 12...25 MHz 12...20 MHz 16...40 MHz 25...50 MHz 50...80 MHz 50...133 MHz 16...33 MHz 60...66 MHz 75...200 MHz 166...233 MHz 150...200 MHz 233...400 MHz 500...1400 MHz 500...2000 MHz 1400...3000 MHz
Tab. 2.6: Kennzeichen der verschiedenen Prozessoren für PC
Ab dem PentiumPro beträgt die Adressbusbreite bei Intel-CPUs 36 Bits, womit sich prinzipiell 64 GByte adressieren lassen, was sich in der Praxis als Theorie herausstellt, genauso wie die 8 TByte, die ein Athlon von AMD zu adressieren vermag. Die physikalisch adressierbare Speichergröße wird durch den Chipset (Memory-Controller, Northbridge) begrenzt. Einige Ableger der in der Tabelle genannten CPUs realisieren außerdem auch nur einen 32-Bit-Adressbus, was somit zu maximal 4 GByte führt, was prinzipiell bereits ab dem 386DX möglich ist. Aber selbst diese Speichergröße lässt sich bei üblichen PCs (noch) nicht bestücken.
3 Alles begann mit dem Urvater 8086 Der 8086 wurde als Nachfolger des erfolgreichen 8-Bit-Prozessors 8080 vorgestellt und war mit seiner 16-Bit-Architektur 1978 dieselbe Sensation wie fast zehn Jahre später der i386. Der Befehlssatz für den 8086 umfasste bereits 123 Befehle. Hierunter befinden sich auch sehr leistungsfähige Anweisungen wie die Übertragung einer ganzen Zeichenkette mit Hilfe des Source- und Destination-Index, der Aufruf einer Unterfunktion mit CALL oder der explizite Aufruf eines SoftwareInterrupts mit INT. Zwei Besonderheiten des 8086 sind der gemultiplexte Daten/Adressbus und die beiden Betriebsmodi Maximum und Minimum. Intel hat beides mit dem 80286 aufgegeben, weil sie Relikte aus den Zeiten einfacher 8-Bit-Prozessoren darstellen.
3.1 Anschlüsse und Signale des 8086 Im Folgenden möchte ich Ihnen die Anschlüsse des 8086 und die Bedeutung der entsprechenden Signale erläutern. Zuerst sollen die Pins behandelt werden, die sowohl im Maximum- als auch im Minimummodus dieselbe Bedeutung besitzen. Abbildung 3.1 zeigt das Anschlussschema des 8086. Er wird in einem DIP-Gehäuse mit 40 Anschlüssen ausgeliefert. Maximummodus GND
40
1
Vcc
AD14
AD15
AD13
A16/S3
AD12
A17/S4
AD11
A18/S5
AD10
A19/S6
AD9
BHE/S7
AD8
MN/MX
AD7
Minimummodus
RD
8086 CPU
RQ/GT0
(HOLD)
RQ/GT1
(HLDA)
AD4
LOCK
(WR)
AD3
S2
(IO/M)
AD2
S1
(DT/R)
AD1
S0
(DEN)
AD0
QS0
(ALE)
NMI
QS1
(INTA)
AD6 AD5
TEST
INTR
READY
CLK GND
20
21
RESET
Abb. 3.1: Der 8086 ist in einem Standard-DIP-Gehäuse mit 40 Pins untergebracht. Manche Anschlüsse geben im Minimummodus andere Signale ab als im Maximummodus.
86
Kapitel 3
AD15–AD0 (I/O) Anschlüsse 2–16, 39 Diese 16 Anschlüsse bilden die 16 Datenbits beim Lesen und Schreiben von Daten sowie die 16 niederwertigen Adressbits zum Adressieren von Speicher und Peripherie. Zuerst werden immer die Adresssignale ausgegeben und zu einem späteren Zeitpunkt die Datensignale bereitgestellt oder eingelesen. Die 16 Anschlüsse bilden also einen zeitlich gemultiplexten Adress- und Datenbus. A19–A16/S6–S3 (O) Anschlüsse 35–38 Die vier Signale bilden die vier höherwertigen Bits des Adressbusses sowie vier Statussignale, die Auskunft über die Prozessoraktivität geben. Auch diese vier Leitungen bilden einen zeitlich gemultiplexten Adress- und Steuerbus. Geben die Pins Statusinformationen aus, so geben S5 (Pin 36) den Wert des Interrupt Flags im Flag-Register des Prozessors und S4/S3 das Segmentregister, das für den Zugriff verwendet wird, entsprechend der folgenden Liste an: A17/S4
A16/S3
0 0 0 1 1 0 1 1 S5: Status des IE-Flags (Interrupt Enable) S6: stets gleich 0
Register für den Datenzugriff ES SS CS oder keines DS
BHE/S7 (O) Anschluss 34 Das Bus-High-Enable-Signal gibt zusammen mit A0 an, ob ein ganzes Wort (2 Byte) oder nur ein Byte übertragen wird. Für die Kombinationen (BHE/S7, A0) gelten folgende Bedeutungen:
: : : :
(00)
ein ganzes Wort (2 Byte) wird über D15–D0 übertragen
(01)
ein Byte auf D15–D8 wird von/zu ungerader Byte-Adresse übertragen
(10)
ein Byte auf D7–D0 wird von/zu gerader Byte-Adresse übertragen
(11)
ungültig
CLK (I) Anschluss 19 Dem CLK-Anschluss wird das Taktsignal für den Prozessor zugeführt.