PC-Hardwarebuch · Schnell zwischengespeichert - Caching 199 7.1 Cache-Prinzip und Cache-Strategien...

14
Hans-Peter Messmer, Klaus Dembowski PC-Hardwarebuch Aufbau, Funktionsweise, Programmierung Ein Handbuch nicht nur für Profis 7. Auflage ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam L

Transcript of PC-Hardwarebuch · Schnell zwischengespeichert - Caching 199 7.1 Cache-Prinzip und Cache-Strategien...

Page 1: PC-Hardwarebuch · Schnell zwischengespeichert - Caching 199 7.1 Cache-Prinzip und Cache-Strategien 199 7.2 Cache-Organisation und Assoziativspeicher 202 7.3 Cache-Treffer-Bestimmung

Hans-Peter Messmer, Klaus Dembowski

PC-HardwarebuchAufbau, Funktionsweise, Programmierung

Ein Handbuch nicht nur für Profis

7. Auflage

ADDISON-WESLEY

An imprint of Pearson Education

München • Boston • San Francisco • Harlow, EnglandDon Mills, Ontario • Sydney • Mexico City

Madrid • Amsterdam

L

Page 2: PC-Hardwarebuch · Schnell zwischengespeichert - Caching 199 7.1 Cache-Prinzip und Cache-Strategien 199 7.2 Cache-Organisation und Assoziativspeicher 202 7.3 Cache-Treffer-Bestimmung

Inhaltsverzeichnis

Teil 1: Grundlegendes und Allgemeines 1

1 Die PC-Komponenten 11.1 Das PC-Innenleben 41.1.1 Gehäuse 41.1.2 Netzteü 81.1.3 Mainboard 131.1.4 CMOS-RAM 171.1.5 BIOS 191.1.6 Laufwerke 211.1.7 Grafikadapter 281.1.8 Sound 301.1.9 Netzwerke und LAN-Adapter 411.2 PC-Peripherie 451.2.1 Monitor 451.2.2 Tastatur 501.2.3 Maus 521.2.4 Drucker und die parallele Schnittstelle 531.2.5 Scanner 561.2.6 Modems und die serielle Schnittstelle 581.2.7 ISDN und ADSL 62

Teil 2: Die Mikroprozessoren der Personal Computer 67

2 Grundlagen der Mikroprozessortechnik 672.1 Der Feldeffekttransistor 682.2 Grundlagen maschinennaher Informationsdarstellung 712.2.1 Dezimal- und Binärsystem 722.2.2 ASCII-Code 732.2.3 Negative Ganzzahlen und Zweierkomplement 732.2.4 Hexadezimalzahlen 742.2.5 BCD-Zahlen 752.2.6 Little-Endian- und Big-Endian-Notation 762.3 Logikgatter 762.3.1 Grundlegende Logikelemente 772.3.2 CMOS-Inverter als Low-Power-Elemente 792.3.3 Ein Beispiel: 1-Bit-Addierer 812.4 Die CPU als zentraler Bestandteil aller Computer 81

3 Alles begann mit dem Urvater 8086 853.1 Anschlüsse und Signale des 8086 853.2 8086-Betriebsmodi und der Buscontroller 8288 893.3 Der 8086 Real Mode 903.4 Zugriff auf den Speicher 903.5 Wortgrenzen 933.6 Zugriff auf den I/O-Adressraum 933.7 8086 Reset 943.8 Der 8088 943.9 Der 80186/88 96

Page 3: PC-Hardwarebuch · Schnell zwischengespeichert - Caching 199 7.1 Cache-Prinzip und Cache-Strategien 199 7.2 Cache-Organisation und Assoziativspeicher 202 7.3 Cache-Treffer-Bestimmung

VI Inhaltsverzeichnis

Kompatibilität nach unten - der 80286 , 974.1 Anschlüsse und Signale des 80286 974.2 Die 80286-Register 1004.3 Der 80286 Protected Mode 1004.3.1 Die 80286-Speicherverwaltungsregister 1014.3.2 80286-Segmentdeskriptoren 1024.3.3 80286-Segment- und Zugriffstypen 1024.3.4 Multitasking, 80286 TSS und das 80286-Task-Gate 1044.3.5 80286-Schutz für den I/O-Adressraum 1054.4 80286-Buszyklen und -Pipelining 1054.5 Wortgrenzen 1064.6 80286-Reset 107

Einstieg in die 32-Bit-Welt- Der 80386 1095.1 Anschlüsse und Signale des 80386 1095.2 Der physikalische Speicher- und Portzugriff 1135.2.1 Der Buszyklus für einen Lesezugriff 1155.2.2 Der Buszyklus für einen Schreibzugriff 1175.2.3 Waitstates oder Wartezyklen 1185.2.4 Adress-Pipelining oder Pipelined- Adressierung 1195.2.5 Doppelwortgrenze 1215.2.6 Sonderzyklen 1235.2.7 Datenbus und Duplizierung von Schreibdaten 1245.2.8 I/O-Adressraum und die Peripherie 1255.2.9 I/O-Adressierung 1255.2.10 I/O-Zyklen 1265.3 Die Register 1275.3.1 Die Register in der Übersicht 1275.3.2 Segmentierung 1295.3.3 Die Vielzweck- und Segmentregister 1315.3.4 Die Flags 1365.3.5 Steuer- und Speicherverwaltungsregister 139

Programmierung und Betriebsarten 1436.1 Codesegment und Befehlszähler 1436.2 Stacksegment und Stack-Zeiger 1456.3 Datensegment DS und Adressierung 1466.4 Adressierungsarten und Befehlskodierung 1476.4.1 Programmierung auf Prozessorebene: Mnemonics und der Assembler 1476.4.2 Adressierungsarten 1486.4.3 Befehlscodierung 1496.4.4 Einlesen von Befehlen und Prefetching 1516.5 Der Real Mode, High-Memory-Area und HIMEM.SYS 1536.6 Interrupts und Exceptions 1556.6.1 Software-Interrupts 1556.6.2 Hardware-Interrupts 1576.6.3 Exceptions 1586.7 Der Protected Mode 1606.7.1 Segmentselektoren, Segmentdeskriptoren und Privilegierungsstufen 1606.7.2 Globale und lokale Deskriptortabelle 1656.7.3 Umschalten in den Protected Mode 168

Page 4: PC-Hardwarebuch · Schnell zwischengespeichert - Caching 199 7.1 Cache-Prinzip und Cache-Strategien 199 7.2 Cache-Organisation und Assoziativspeicher 202 7.3 Cache-Treffer-Bestimmung

Inhaltsverzeichnis VII

6.7.4 Speicheradressierung im Protected Mode 1696.7.5 Steuerungsübergabe und Call Gates 1706.7.6 Die Interrupt-Deskriptortabelle 1746.7.7 Multitasking, TSS und das Task Gate 1756.7.8 Schutz des I/O-Adressraums 1796.7.9 Exceptions und Schutzmechanismen im Protected Mode 1826.8 Paging 1836.8.1 Logische, lineare, physikalische Adressen und Paging 1836.8.2 Page Directory, Page Tables und Page Frames 1856.8.3 Die Testregister TR6 und TR7 1906.9 Der Virtual-8086-Modus ; 1926.9.1 Virtuelle Maschinen und Virtual-8086-Monitor 1926.9.2 Adressen im Virtual-8086-Mode 1936.9.3 Einstieg in den und Ausstieg aus dem Virtual-8086-Mode 1936.9.4 Tasks im Virtual-8086-Mode 194

Schnell zwischengespeichert - Caching 1997.1 Cache-Prinzip und Cache-Strategien 1997.2 Cache-Organisation und Assoziativspeicher 2027.3 Cache-Treffer-Bestimmung und optimale Cache-Größe 2057.4 Ersetzungsstrategien 2077.5 On-Chip und Second-Level-Caches 2087.6 Cache-Kohärenz und das MESI-Protokoll 2097.6.1 Die vier MESI-Zustände 2107.6.2 MESI-Zustandsübergänge 2117.6.3 L2-Cache-Subsysteme und MESI-Cache-Kohärenzprotokoll 2137.7 Pipelined Burst Cache 215

Alles in Einem - Der i486 2178.1 Anschlüsse und Signale des i486 2188.2 Der interne Aufbau des i486 2248.3 RISC oder CISC ? 2268.3.1 Die Mikrokodierung 2268.3.2 Reduzierung auf das Wesentliche 2308.3.3 RISC-Kennzeichen auf Hardware-Ebene 2308.3.4 RISC-Kennzeichen auf Software-Ebene 2368.4 Die Pipeline 2388.5 Der On-Chip-Cache 2408.6 Unterschiede und Gemeinsamkeiten von i486 und 80386/80387 2438.6.1 Unterschiede in Registerstrukturen 2438.6.2 Unterschiede in der Speicherverwaltung 2448.6.3 i486-Reset 2458.6.4 Der i486-Real-Mode 2468.6.5 Der i486-Protected-Mode 2468.6.6 Der i486-Virtual-8086-Mode 2478.6.7 Integer-Core und Gleitkommaeinheit 2478.6.8 FPU-Exceptions 2478.6.9 Der Translation Lookaside Buffer (TLB) 2488.7 Der i486-Bus 2488.7.1 Burst-Zyklen 2488.7.2 Sonderzyklen 2508.7.3 Invalidierungszyklen 250

Page 5: PC-Hardwarebuch · Schnell zwischengespeichert - Caching 199 7.1 Cache-Prinzip und Cache-Strategien 199 7.2 Cache-Organisation und Assoziativspeicher 202 7.3 Cache-Treffer-Bestimmung

VIII Inhaltsverzeichnis

8.8 Testfunktionen 2518.8.1 Der Interne Selbsttest BIST 2518.8.2 Prüfung des TLBs 2518.8.3 Prüfung des On-Chip-Caches 2538.8.4 Tristate-Testmodus 2558.8.5 Der JTAG-Boundary-Scan-Test 2558.9 Der I/O-Adressraum des i486 259

9 Coprozessoren und 386/486-CPU-Derivate 2619.1 Mathematische Coprozessoren 2619.1.1 Zahlenexkurs - die Darstellung von Gleitkommazahlen 2639.1.2 Der Standard - IEEE-Formate 2669.1.3 Funktionsweise und Aufbau 2689.1.4 Die Exceptions des 80387 2759.1.5 Protected Mode und die Speicherabbilder der Befehls- und Datenzeiger . . . . 2769.2 386-Prozessorderivate 2779.2.1 Abmagerungskur - Die SX-Varianten der Prozessoren 2789.2.2 386-CPUs anderer Hersteller 2809.2.3 Cyrix-386-Prozessoren (486xLC) 2829.2.4 386- und 486-CPUs in der Übersicht 2839.3 486-Prozessorderivate 2849.3.1 i486SX und i487SX 2849.3.2 i486SX-Upgrade - der i487SX 2869.3.3 Die i486DX2-Prozessoren mit interner Taktverdopplung 2899.3.4 Der i486DX4 2919.3.5 Weitere 486-CPUs 297

10 Der Pentium 30110.1 Anschlüsse und Signale 30210.2 Interner Aufbau des Pentiums 31510.2.1 Die Integer-Pipelines u und v 31710.2.2 Befehlspaarung in den Integer-Pipelines 32010.2.3 Die Gleitkomma-Pipeline 32310.2.4 Befehlsserialisierung 32510.2.5 Dynamische Verzweigungsvorhersage, Branch Prediction Logic 32610.2.6 Die Pentium-On-Chip-Caches 32810.3 Pentium-Kompatibilität 33210.3.1 Erweiterungen der Pentium-Register 33210.3.2 Modellspezifische Register 33410.3.3 Das Feature-Steuerregister TR12 33510.3.4 Der Pentium-Real-Mode 33610.3.5 Der Pentium-Protected-Mode 33710.3.6 Der Pentium-Virtual-8086-Mode 33710.3.7 Pentium und Paging 33910.3.8 Debug-Erweiterungen 33910.3.9 Pentium-Reset, Pentium-Init und Selbsttest 34010.3.10 CPU-Identifizierung mit CPUID 34210.3.11 Neue Pentium Exceptions 34310.4 Der Pentium-Bus 34310.4.1 Einzeltransferzyklen 34410.4.2 Burst-Zyklen 344

Page 6: PC-Hardwarebuch · Schnell zwischengespeichert - Caching 199 7.1 Cache-Prinzip und Cache-Strategien 199 7.2 Cache-Organisation und Assoziativspeicher 202 7.3 Cache-Treffer-Bestimmung

Inhaltsverzeichnis IX

11

12

10.4.3 Pentium-Adress-Pipelining 34710.4.4 Sonderzyklen 34810.4.5 Abfragezyklen und internes Snooping 34910.4.6 Interne Pentium-Buspuffer 35010.5 Der System-Management-Mode des Pentium 35010.5.1 Die SMM-RAM-Struktur 35110.5.2 Programmausführung im System-Management-Mode 35210.5.3 Rückkehr aus dem System-Management-Mode 35310.6 Code-Optimierungen 35310.6.1 Einfache Straight-Forward-Optimierungen 35310.6.2 Optimierung mit dem Performance Monitoring 35510.7 Pentium-Testfunktionen 35810.7.1 Der Pentium JTAG Boundary Scan Test 35810.7.2 Erfassung interner Fehler 35910.7.3 Erfassung von Busfehlern 35910.7.4 Programmausführungsverfolgung oder Execution Tracing 36010.7.5 Hardware-Debug-Unterstützung und Probe Mode 36110.7.6 Die Machine Check Exception 36110.8 Der Pentium-I/O-Adressraum 36210.9 Dual Processing 36210.9.1 Allgemeine Dual-Processing-Struktur mit zwei Pentium-Prozessoren 36210.9.2 Bus-Arbitrierung 36310.9.3 Cache-Konsistenz 36410.9.4 On-Chip-APICs 36510.10 Pentium der dritten Generation - MMX 36610.10.1 Sockel und Signale 36710.11 MMX-Technologie 36810.11.1 SIMD- und MMX-Datentypen 36910.11.2 MMX-Register 37010.11.3 MMX-Befehle 371

Pentium-kompatible Mikroprozessoren 37311.1 CPUs von Cyrix 37311.1.1 Der Cyrix 6x86 37311.1.2 Der Cyrix 6x86MX 39211.2 CPUs von AMD 39311.2.1 Der K5 - 5K86 39411.2.2 Der AMD K6 40511.2.3 AMD-K6-II und AMD K6-ÜI mit Super Sockel 7 40611.3 IDT WinChip C6 40711.4 CPU-Übersicht und Einstellungsdaten 408

Reine 32-Bit-Technologie - Der PentiumPro 41112.1 Anschlüsse und Signale 41212.2 Interner Aufbau 42512.2.1 Die funktionalen Einheiten des PentiumPro 42512.2.2 Befehls-Pool und Micro-Ops 42612.2.3 Die Ll- und L2-Caches 42812.3 PentiumPro-Features 42912.3.1 Befehle 42912.3.2 Steuerfunktionen in CR4 429

Page 7: PC-Hardwarebuch · Schnell zwischengespeichert - Caching 199 7.1 Cache-Prinzip und Cache-Strategien 199 7.2 Cache-Organisation und Assoziativspeicher 202 7.3 Cache-Treffer-Bestimmung

X Inhaltsverzeichnis

12.3.3 Der 36-Bit-Adressbus 43012.3.4 Globale Pages 43312.4 Modellspezifische Register 43312.4.1 Die Bereichsregister für den Speichertyp (MTRR) 43512.4.2 Die Konfigurationsregister 44012.4.3 Die Machine-Check-Architektur 44112.4.4 Performance-Monitoring 44112.4.5 Debug-Unterstützung durch modellspezifische Register 44412.5 Reset und Einschaltkonfiguration 44512.6 Der Bus des PentiumPro 44712.6.1 Busphasen 44712.6.2 Busarbitrierung 44912.6.3 Deferred-Transaktionen 45212.6.4 Bus-Pipelining und PentiumPro-Bursts 45212.7 Multiprozessorbetrieb 45312.8 CPUID 454

13 Pentium II, Pentium III und Celeron 45713.1 Pentium II 45713.1.1 Anschlüsse und Signale 45813.1.2 Pentium II-Bus (GTL+) 46313.2 Celeron 46513.2.1 Anschlüsse und Signale 46613.2.2 Celeron für den Sockel 370 46613.3 Pentium III 46713.3.1 Familienbande 46813.3.2 Pentium III für den Sockel 370 46913.3.3 Anschlüsse und Signale 47013.4 Celeron III und Celeron 4 47313.5 VIA-Prozessoren 47313.6 Einstellungsdaten 475

14 Athlon und Duron 47714.1 Das Busprotokoll 47914.2 Anschlüsse und Signale 47914.3 Interner Aufbau 48714.4 CPUs für den Sockel A 48914.4.1 Anschlüsse und Signale 49014.5 Athlon XP 494

15 Pentium 4 49715.1 Interner Aufbau 49815.1.1 Caches 49815.1.2 Rechenwerke und Pipelines 49915.1.3 SSE2 50015.1.4 Businterface und Speicher 50015.1.5 Hyper Threading 50115.2 Anschlüsse und Signale 50315.3 CPUID-Programm 511

Page 8: PC-Hardwarebuch · Schnell zwischengespeichert - Caching 199 7.1 Cache-Prinzip und Cache-Strategien 199 7.2 Cache-Organisation und Assoziativspeicher 202 7.3 Cache-Treffer-Bestimmung

Inhaltsverzeichnis XI

Teil 3: Speicher, Chipsets und Support-Chips 523

16 Speicherchips - Das Gedächtnis der Computer 52316.1 Dynamic Random Access Memory - DRAM 52416.1.1 Funktionsweise 52516.1.2 Aufbau 52716.1.3 Schichtenstrukturen 53116.1.4 Refresh - Auffrischung 53316.1.5 Organisationsformen 53416.1.6 Betriebsmodi 53616.2 Speichermodule 54116.2.1 Parität 54316.2.2 DIM-Module 54316.2.3 Synchronous Dynamic RAM - SDRAM 54616.2.4 Synchronous Graphic RAM - SGRAM 54816.2.5 Double Data Rate SDRAM - DDR-SDRAM 54816.2.6 RAMBus 55216.3 SPD-PROM 55416.3.1 SPD-Daten auslesen 55716.4 Statisches RAM - SRAM 56116.4.1 Das Flip-Flop 56216.4.2 Der Zugriff auf SRAM-Speicherzellen 56416.4.3 Ein typischer SRAM 56516.5 Langzeitgedächtnis - ROM, EPROM und andere Speicher 56616.5.1 ROM 56616.5.2 EPROM 56716.5.3 EEPROM 56916.5.4 Flash-Speicher 570

17 Chipsets 57917.1 486-PCI-Chipset 57917.2 Intel Pentium-Chipsets für den Sockel 7 58117.3 Alternative Sockel 7-Chipsets 58517.4 PentiumPro- und Pentium II-Chipsets 58717.5 Pentium II/III- und Celeron-Chipsets 59017.5.1 Intel 810-Chipset - Whitney 59217.5.2 Intel 820-Chipset - Camino 59517.5.3 Intel 840-Chipset - Carmel 59717.5.4 Intel 815-Chipset - Solano 59717.5.5 Alternative Chipsets 59917.6 Pentium 4-Chipsets 60217.6.1 Chipsets von Intel 60217.6.2 Chipsets von VIA und SiS 60417.7 Athlon-Chipsets 607

18 Hardware-Interrupts und DMA 61318.1 Hardware-Interrupts und programmierbare Interrupt-Controller 61318.1.1 Interrupt-getriebener Datenaustausch und Polling 61318.1.2 Anschlüsse und Signale des 8259A 61518.1.3 Interner Aufbau und Interrupt-Acknowledge-Sequenz 61618.1.4 Kaskadierung 61918.1.5 Initialisierung und Programmierung 621

Page 9: PC-Hardwarebuch · Schnell zwischengespeichert - Caching 199 7.1 Cache-Prinzip und Cache-Strategien 199 7.2 Cache-Organisation und Assoziativspeicher 202 7.3 Cache-Treffer-Bestimmung

XII Inhaltsverzeichnis

18.1.6 Maskierung des NMI 62718.1.7 Multiprozessor-Interrupt-Subsysteme und APIC-Modus 62918.2 Direkter Speicherzugriff mit Peripherie und Speicher 63418.2.1 Der Standard-DMA-Chip 8237A 636

19 Mainboard-Peripherieeinheiten 65719.1 CMOS-RAM und Echtzeituhr 65819.1.1 Aufbau und Programmierung 65919.1.2 Der Zugriff über das BIOS 66719.1.3 Der Zugriff über Adress- und Datenregister 66719.2 Timer 66819.2.1 Anschlüsse und Signale 67019.2.2 Programmierung 67219.3 Super I/O-Controller 68119.4 Supervisory-Chips 68219.5 System Management Bus 68619.5.1 Funktionsweise 68619.5.2 Adressen 68919.5.3 Programmierung 690

Teil 4: Personal Computer-Architekturen und -Bussysteme 695

20 Bussysteme im PC 69520.1 Die 8-Bit-Architektur - PC-Bus 69620.2 32-Bit-Architekturen- EISA und MCA 70120.2.1 Extended Industry Standard Architecture - EISA 70220.2.2 Micro Channel Architecture - MCA 70420.3 Local Bus-Systeme 708

21 Die 16-Bit-Architektur - ISA-Bus 71121.1 Interrupts 71421.2 I/O-Ports und Adressen 71521.3 DMA-Architektur 71621.3.1 Speicher-Speicher-Tansfers 71821.4 Busslots und -Signale 71921.4.1 PC-Bus-Signale des ISA-Bus 72021.4.2 Input/Output-Interface 72221.4.3 Signale der ISA-Bus-Erweiterung 72521.4.4 16-Bit-Dekodierung und Programmierung 72621.5 ISA-Plug&Play 72821.5.1 Der Konfigurationsmechanismus 72921.5.2 Linear Feedback Shirt Register 73221.5.3 Isolation-Protokoll 73321.5.4 ISA-Plug&Play-Register 73521.5.5 Der Zugriff auf ISA-Plug&Play-Devices 739

22 Der PCI-Bus 74122.1 PCI-Busstruktur 74222.2 Buszyklen 74422.3 Busarbitrierung 74922.4 DMA und Busmastering 75022.4.1 Scatter Gather Bus Mastering 751

Page 10: PC-Hardwarebuch · Schnell zwischengespeichert - Caching 199 7.1 Cache-Prinzip und Cache-Strategien 199 7.2 Cache-Organisation und Assoziativspeicher 202 7.3 Cache-Treffer-Bestimmung

Inhaltsverzeichnis XIII

22.5 Interrupts 75122.6 I/O-Adressraum 75222.7 Konfigurationsraum - Configuration Space 75422.7.1 PCI-Power Management 76422.8 PCI-Bus-Slots 76722.9 PCI-Bus-Signale 77022.9.1 Standard-32-Bit-Abschnitt 77022.9.2 Die 64-Bit-Erweiterung 77322.9.3 Signalerweiterungen der Spezifikationen 2.2 und 2.3 77522.10 PCI-spezifische BIOS-Routinen 77622.10.1 Das Interface zum BIOS 77822.10.2 Eine universelle PCI-Unit 78322.11 PCI-X 79922.12 Switched Fabrics 80422.12.1 InfiniBand 80522.12.2 PCI-Express 80622.12.3 HyperTransport 810

23 Accelerated Graphics Port 82123.1 AGP-Struktur 82123.2 AGP-Slots 82223.3 AGP-Signale 82423.3.1 Signalbeschreibung 82723.4 AGP-3.0-Standard 83023.5 Register 834

24 Riser-Slots 83924.1 Audio Modem Riser 84024.2 Communication and Networking Riser 84324.3 Advanced Communication Riser 846

Teil 5: Laufwerke und ihre Interfaces - EIDE und SCSI 847

25 Grundlagen der magnetischen Aufzeichnung und Datenorganisation 84725.1 Diamagnetismus und Paramagnetismus 84725.2 Ferromagnetismus 84825.3 Induktion 85125.4 Funktionsprinzip von Disketten 85125.5 Physikalische Organisation und Aufzeichnung 85625.5.1 FM- und MFM-Verfahren 857

' 25.5.2 Synchronisation 860' 25.6 Logische Organisation 862

25.6.1 Der Aufbau von Partitionen 86325.7 Dateizuordnungstabelle - FAT 86725.7.1 Fragmentierung 86925.8 32-Bit- und andere Dateizuordnungstabellen 870

, 25.8.1 Virtual File Allocation Table - VFAT 87125.8.2 New Technology File System - NTFS 87125.8.3 High Performance File System - HPFS 872

Page 11: PC-Hardwarebuch · Schnell zwischengespeichert - Caching 199 7.1 Cache-Prinzip und Cache-Strategien 199 7.2 Cache-Organisation und Assoziativspeicher 202 7.3 Cache-Treffer-Bestimmung

XIV Inhaltsverzeichnis

26 Festplatten 87326.1 Aufbau und Funktionsweise von Festplatten 87326.1.1 Platten 87526.1.2 Köpfe 87626.1.3 Aktuator mit Schritt- oder Linearmotor 87926.1.4 Luftfilterung und Belüftung 88226.1.5 Interleaving oder Sektorversatz 88326.1.6 Daten von Festplatten 88426.2 Aufzeichnungsformate 88826.2.1 MFM und RLL 88826.2.2 Translation und Zonenaufzeichnung 89026.2.3 High-Level-Formatierung 89126.2.4 Low-Level-Formatierung 89126.3 Traditionelle Festplattenschnittstellen 89226.3.1 ST412/506 89226.3.2 ESDI 89426.4 IDE 89526.4.1 Signale 89626.4.2 Adressen und Register 89926.4.3 Befehlsphasen und Programmierung 90326.5 Enhanced IDE 90726.5.1 Logical Block Addressing 90826.5.2 EIDE-Anschlüsse 90926.5.3 PIO-, DMA- und Ultra-DMA-Modes 90926.6 Serial ATA 911

27 SCSI 91327.1 Funktionsprinzip 91327.2 Signale und Datenübertragung 91427.3 Busphasen und Messages 91727.4 Befehle und Programmierung 92227.4.1 Advanced SCSI Programming Interface - ASPI 92727.4.2 Common Access Method - CAM 92927.5 Die verschiedenen SCSI-Standards 93027.5.1 SCSI-I und der CCS 93027.5.2 SCSI-II 93127.5.3 SCSI-III 93127.5.4 Fast SCSI 93227.5.5 Wide SCSI 93227.5.6 Differential SCSI 93327.5.7 Ultra SCSI 93327.5.8 Ultra 2 SCSI 93427.5.9 Ultra 160 SCSI 93527.5.10 Ultra 320 SCSI 936

28 Optische Laufwerke 93928.1 CD-ROM 93928.1.1 ATAPI 94228.2 CD-R und CD-R/W 94428.2.1 CD-RW und die Phase-Change-Technologie 94428.3 Magnetooptische Laufwerke 94528.4 Digital Versatile Disc 94728.4.1 Realisierungen 949

Page 12: PC-Hardwarebuch · Schnell zwischengespeichert - Caching 199 7.1 Cache-Prinzip und Cache-Strategien 199 7.2 Cache-Organisation und Assoziativspeicher 202 7.3 Cache-Treffer-Bestimmung

Inhaltsverzeichnis XV

Teil 6: Schnittstellen, LANs und Programmierung 953

29 Die parallele Schnittstelle 95329.1 Aufbau und Funktionsweise 95429.2 Direkte Programmierung 956

, 29.2.1 Druckeransteuerung 95729.2.2 Allgemeine Verwendung 95929.3 Der bessere Parallel-Port: IEEE-1284 962

30 Die serielle Schnittstelle 96930.1 Serielle Datenübertragung 96930.1.1 Synchrone und asynchrone Übertragung 96930.1.2 Parität und Baudrate 96930.1.3 Serialisierung und SDU 970

1 30.2 Die RS-232C-Schnittstelle 97230.2.1 Simplex-Verbindung 97430.2.2 Halbduplex-Verbindung 97530.2.3 Vollduplex-Verbindung 97630.2.4 RS-232C-Logikpegel und Übertragungsraten 97830.3 Typische Verbindungen - Nullmodem 97930.4 Universal Asynchronous Receiver and Transmitter - UART 98230.4.1 Anschlüsse und Signale 98230.4.2 Aufbau und Funktionsweise 98630.4.3 Register und Programmierung 989

31 PCMCIA und Card-Bus 99931.1 Grundsätzliche Funktionsweise und Aufbau 99931.2 Card- und Socket-Services 100131.3 Card Information Structure - CIS 100631.4 Configuration-Register 100831.5 Anschlussbelegung 1008

• 31.6 Card-Bus 1011

33 Universal Serial Bus 101532.1 Anschlüsse und Signale 101732.2 Identifizierung und Kommunikation 1019

i, 32.3 Pakete und Transfers 1021V 32.4 USB 2.0 1023

33 Firewire 1025' 33.1 Architektur und Topologie 1025'- 33.2 Protokoll 1027?, 33.3 Controller und PHY 1029

34 Lokale Netzwerke 10331 34.1 Netztopologien 1033H' ' 34.1.1 Bustopologie 1035c 34.1.2 Ringtopologie 1035a r 34.1.3 Sterntopologie 1035ü" 34.2 Zugriffsverfahren 1036'• ' 34.2.1 CSMA/CD 1036

- r' 34.2.2 Token-Passing 103834.2.3 Token-Bus 1039

Page 13: PC-Hardwarebuch · Schnell zwischengespeichert - Caching 199 7.1 Cache-Prinzip und Cache-Strategien 199 7.2 Cache-Organisation und Assoziativspeicher 202 7.3 Cache-Treffer-Bestimmung

XVI Inhaltsverzeichnis

35

34.2.4 lOOBaseVG-Any-LAN 103934.2.5 Asynchronous Transfer Mode 104034.3 Kopplungselemente für Netzwerke 104034.3.1 Das OSI-Schichtenmodell 104134.3.2 Repeater 104334.3.3 Hubs 104334.3.4 Switches 104334.3.5 Bridges 104434.3.6 Router 104534.3.7 Brouter 104534.3.8 Gateways 104534.4 Token-Ring 104634.5 FDDI und CDDI 104734.6 Ethernet 104934.6.1 Kollisionsdomänen und maximale Ausdehnungen 105034.6.2 Kupferbasierte Netzwerkverbindungen 105134.6.3 Thick-Ethernet 105434.6.4 Cheapernet oder Thin-Ethernet 105534.6.5 Ethernet mit Twisted-Pair-Kabel 105534.6.6 Fast-Ethernet 105634.6.7 Gigabit-Ethernet 105934.6.8 Lichtwellenleiter 106434.6.9 10-Gigabit-Ethernet- 10GE 106934.7 Aufbau und Programmierung von Netzwerkeinheiten 107134.7.1 Ethernet im OSI-Modell 107134.7.2 Ethernet-Frames 107434.7.3 LAN-Controller 107634.7.4 Programmierung 108334.8 Bluetooth und Wireless LANs 109534.8.1 Bluetooth 109534.8.2 IEEE-Wireless LANs 1098

Hardware-Programmierung unter Windows 110735.1 Übergang von DOS- zu Windows-Programmen 110735.1.1 Der Portbaustein 8255 110935.1.2 Windows-Programm 111235.2 Erstellung von DLLs 111435.2.1 A/D-Umsetzung 111935.2.2 DLLs für 32-Bit-Betriebssysteme 112335.2.3 Aufruf der DLL mit Visual BASIC 112535.2.4 Aufruf der DLL mit Delphi 112735.2.5 Ein paar Worte zu Assembler 112835.3 Direkter Hardwarezugriff unter Windows NT 112935.3.1 Windows-NT-I/O-Treiber 113135.4 Windows-Plug&Play 113635.5 Programmieren mit dem Windows Driver Model 113735.5.1 IO Request Packets 113935.5.2 Driver Stack 114035.5.3 Installation Information File 114135.5.4 WDM-Beispieltreiber 1143

Page 14: PC-Hardwarebuch · Schnell zwischengespeichert - Caching 199 7.1 Cache-Prinzip und Cache-Strategien 199 7.2 Cache-Organisation und Assoziativspeicher 202 7.3 Cache-Treffer-Bestimmung

Inhaltsverzeichnis XVII

Anhang 1157

A ASCII- und Tastencodes 1157A.1 ASCII-Tabelle 1157A.2 Tastencodes (deutsche Tastaturbelegung) 1160

Glossar 1163

Stichwortverzeichnis 1215