Durch den vielfältigen Einsatz von Mikroprozessoren wurde die Digitaltechnik zu einer Mischung aus Hard- und Software, bei der ein Entwickler nicht nur die geeignete Hardware auswählen und aufbauen, sondern auch ihre Programmierung übernehmen muß. Somit wird die historische Trennung zwischen Hard- und Software immer weiter aufgehoben, und von Studenten der Informatik und der Elektrotechnik wird vertieftes Wissen auf beiden Gebieten verlangt. Thema dieses Buches sind die Mikrorechner-Systeme, aus Mikroprozessoren aufgebaute universell programmierbare Digitalrechner, deren Leistungsfähigkeit bis in den Minicomputerbereich hineinreicht. Während ihre Architektur weitgehend den Grundprinzipien von Großrechenanlagen entspricht, sind sie im wesentlichen aus kostengünstigen, hoch- und höchstintegrierten Halbleiterbausteinen aufgebaut. Da sie modular an verschiedenste Problemstellungen anpaßbar sind, haben sie die Realisierung vieler elektronischer Anwendungen vereinfacht oder erst ermöglicht. In allen Kapiteln werden in Fallstudien spezielle Mikroprozessoren und Bausteine beschrieben, z.B. die gängigen Mikroprozessorfamilien von Intel und Motorola. Im Vordergrund der Darstellung steht dabei das allen Realisierungen Gemeinsame: die verschiedenen Konzepte und Entwicklungsstrategien, aber auch wesentliche Unterschiede sowie Vor- und Nachteile der beschriebenen Lösungsmöglichkeiten. Das Buch entstand aus einem Kurs an der Fernuniversität Hagen. Es richtet sich hauptsächlich and Studenten der Fachrichtungen Informatik und Elektrotechnik an wissenschaftlichen Hochschulen und Fachhochschulen. Durch die gründliche Darstellung mit regelmäßig eingestreuten Selbsttestaufgaben ist das Buch auch zum Selbststudium besonders geeignet.
Reihe
Sprache
Verlagsort
Verlagsgruppe
Zielgruppe
Illustrationen
54 s/w Tabellen
54 black & white tables
Maße
Höhe: 23.5 cm
Breite: 15.5 cm
Gewicht
ISBN-13
978-3-540-53489-1 (9783540534891)
DOI
10.1007/978-3-642-97300-0
Schweitzer Klassifikation
1. Mikroprozessoren.- 1.1 Aufbau eines Digitalrechners.- 1.2 Erklärung wichtiger Begriffe.- 1.3 Entwicklungsgeschichte der Mikroprozessor-Technik.- 1.4 Prinzipieller Aufbau eines Mikroprozessors.- 1.4.1 Gehäuse und Anschlüsse.- 1.4.2 Exkurs: Zur Beschreibung der Signale.- 1.4.2.1 Zum Begriff TTL-Pegel.- 1.4.2.2 Zur Bezeichnung der Signale.- 1.4.3 Interner Aufbau eines Mikroprozessors.- 1.5 Das Steuerwerk.- 1.5.1 Funktion und Aufbau.- 1.5.2 Ein-/Ausgangssignale des Steuerwerks.- 1.5.3 Das Steuerregister.- 1.5.4 Fallstudie: Das Steuerwerk des Motorola 68000.- 1.5.5 Fallstudie: Das Steuerwerk des Intel 80386.- 1.5.6 Exkurs: Open-Collector-Eigenschaft.- 1.6 Das Rechenwerk.- 1.6.1 Prinzipieller Aufbau.- 1.6.2 Das Statusregister.- 1.6.3 Der Operationsvorrat.- 1.7 Der Registersatz.- 1.7.1 Registertypen.- 1.7.2 Der Stack.- 1.7.3 Fallstudie: Das Programmiermodell des Intel 80386/80486.- 1.7.4 Fallstudie: Das Programmiermodell des Motorola 68020.- 1.7.5 Fallstudie: Das Programmiermodell des NS 32332.- 1.8 Das Adreßwerk.- 1.8.1 Vereinfachter Aufbau.- 1.8.2 Skalierung.- 1.9 Das interne Bussystem.- 1.9.1 Prinzipieller Aufbau.- 1.9.2 Varianten.- 1.9.3 Fallstudie: Zur Befehlsverarbeitung verschiedener Prozessoren.- 1.10 Die Systembus-Schnittstelle.- 1.10.1 Die Register der Systembus-Schnittstelle.- 1.10.1.1 Der Datenbus-Puffer.- 1.10.1.2 Der Programmzähler.- 1.10.1.3 Der Adreßpuffer.- 1.10.2 Zeitverhalten der Systembus-Signale.- 1.10.2.1 Synchroner Systembus.- 1.10.2.2 Semi-synchroner Systembus.- 1.10.2.3 Asynchroner Systembus.- 1.10.3 Adressierung von Peripherie-Bausteinen.- 1.10.4 Multiplex-Bus.- 1.10.5 Steuerung der Datenbusbreite.- 1.11 Die Abarbeitung eines Befehls.- 1.11.1 Einteilung in Phasen.- 1.11.2 Beispiel zur Befehlsabarbeitung.- 1.12 Die Behandlung von Ausnahme-Situationen.- 1.12.1 Vergleich zwischen Unterprogramm und Ausnahmeroutine.- 1.12.2 Prozessorexterne Ursachen für Ausnahme-Situationen.- 1.12.3 Prozessorinterne Ursachen für Ausnahme-Situationen.- 1.12.4 Ermittlung der Startadresse für die Ausnahmeroutinen.- 1.12.5 Die Behandlung mehrerer Interruptquellen.- 1.12.5.1 Das Polling-Verfahren.- 1.12.5.2 Die Ausnahmevektor-Tabelle.- 1.12.6 Prioritäten bei mehrfachen Unterbrechungs-Anforderungen.- 1.12.7 Fallstudie: Interrupt-Kontrolle der Prozessoren 680X0.- 1.13 Datentypen und Datenformate.- 1.13.1 Datentypen und Datenformate bei 8-bit-Prozessoren.- 1.13.2 Datentypen und Datenformate von 16/32-bit-Prozessoren.- 1.13.3 Bit- und blockorientierte Datentypen und ihre Formate.- 1.13.4 Weitere Datentypen.- 1.14 Befehlssätze.- 1.14.1 Begriffe und Definitionen.- 1.14.2 Darstellung der verschiedenen Befehlsgruppen.- 1.15 Adressierungsarten.- 1.15.1 Voraussetzungen und Begriffe.- 1.15.2 Beschreibung der Adressierungsarten.- 1.16 Realisierung eines Befehlssatzes auf Maschinensprache-Ebene.- 1.16.1 Allgemeiner Aufbau eines Maschinenbefehls.- 1.16.2 Fallstudie: Der Befehlsaufbau des 80386.- 1.16.3 Fallstudie: Der Befehlsaufbau des 68020.- 1.17 Exkurs: RISC-Prozessoren.- 1.17.1 Motivation.- 1.17.2 Charakteristische Eigenschaften von RISC-Prozessoren.- 1.17.3 Aufbau eines RISC-Prozessors.- 1.17.4 Der Registersatz.- 1.17.5 Befehlssatz und Adressierungsarten bei RISC-Prozessoren.- 1.17.6 Befehlsverarbeitung in RISC-Prozessoren.- 2. Arithmetik-Prozessoren.- 2.1 Allgemeines über Hilfsprozessoren.- 2.1.1 Aufgabenbereiche für Hilfsprozessoren.- 2.1.1.1 Hilfsprozessoren zur Erweiterung der ?P-Hardware.- 2.1.1.2 Hilfsprozessoren zur Steuerung der Peripherie.- 2.1.2 Verschiedene Typen von Hilfsprozessoren.- 2.1.2.1 Slave-Prozessoren.- 2.1.2.2 Coprozessoren.- 2.2 Gleitpunkt-Arithmetik.- 2.2.1 Allgemeine Grundlagen der Gleitpunktdarstellung.- 2.2.2 Gleitpunktdarstellung in Arithmetik-Prozessoren.- 2.3 Architektur von Arithmetik-Prozessoren.- 2.3.1 Prinzipieller Aufbau.- 2.3.2 Das Steuerwerk.- 2.3.2.1 Kommunikation über Status- und Steuersignale.- 2.3.2.2 Die Register des Steuerwerks.- 2.3.3 Der Registersatz.- 2.3.4 Das Operationswerk.- 2.3.4.1 Prinzipieller Aufbau.- 2.3.4.2 Die Statusbits des Operationswerkes.- 2.3.5 Die Systembus-Schnittstelle.- 2.3.5.1 Ankopplung an den Mikroprozessor.- 2.3.5.2 Befehls- und Operanden-Adreßregister.- 2.3.5.3 Fallstudie: Die Systembus-Schnittstelle des 8087.- 2.4 Datentypen und Befehlssätze von Arithmetik-Prozessoren.- 2.4.1 Gepackte BCD-Zahlen.- 2.4.2 Darstellung von Arithmetikbefehlen.- 2.4.3 Abarbeitung von Arithmetikbefehlen.- 2.4.4 Die verschiedenen Befehlsgruppen.- 2.4.5 Die Ausführungszeiten einiger Gleitpunktoperationen.- 3. Aufbau und Organisation des Arbeitsspeichers.- 3.1 Wichtige Begriffe.- 3.2 Klassifizierung von Halbleiterspeichern.- 3.2.1 Festwertspeicher.- 3.2.2 Schreib-/Lese-Speicher.- 3.2.3 Nicht-flüchtige RAMs.- 3.3 Einfache Grundlagen über Halbleiter-Bauelemente.- 3.3.1 Die Diode.- 3.3.2 Der bipolare Transistor.- 3.3.3 Der MOS-Transistor.- 3.4 Aufbau von Speicherzellen.- 3.4.1 Festwert-Speicherzellen.- 3.4.1.1 Speicherzellen für maskenprogrammierte ROMs.- 3.4.1.2 Speicherzellen für programmierbare ROMs.- 3.4.1.3 EPROM-Speicherzellen.- 3.4.1.4 EEPROM-Speicherzellen.- 3.4.2 Schreib-/Lese-Speicherzellen.- 3.4.2.1 Statische bipolare Speicherzellen.- 3.4.2.2 Statische MOS-Speicherzellen.- 3.4.2.3 NVRAM-Speicherzellen.- 3.4.2.4 Dynamische MOS-Speicherzellen.- 3.5 Organisation von Speicherbausteinen.- 3.5.1 Prinzipieller Aufbau eines Speicherbausteins.- 3.5.2 Festwert-Speicherbausteine.- 3.5.2.1 ROM-Bausteine.- 3.5.2.2 PROM- und EPROM-Bausteine.- 3.5.2.3 EEPROM-Bausteine.- 3.5.3 Schreib-/Lese-Speicherbausteine.- 3.5.3.1 Statische RAM-Bausteine.- 3.5.3.2 NVRAM-Bausteine.- 3.5.3.3 Dynamische RAM-Bausteine und ihre Controller.- 3.5.3.4 Pseudo-statische RAMs.- 3.6 Organisation des Arbeitsspeichers.- 3.6.1 Speicher-Belegungsplan.- 3.6.2 Adreßauswahl.- 3.6.3 Modularer Speicheraufbau.- 3.6.4 Beispiel eines Speichermoduls.- 3.7 Direkter Speicherzugriff.- 3.7.1 Einleitung.- 3.7.2 Das Prinzip des direkten Speicherzugriffs.- 3.7.3 Der Aufbau eines DMA-Controllers.- 3.7.3.1 Das Steuerwerk.- 3.7.3.2 Die Ausführungs-Einheit.- 3.7.4 Verschiedene DMA-Übertragungsarten.- 3.7.5 Unterschiedliche Datenbreite in Target und Requester.- 3.7.6 Die Register des Steuerwerks.- 3.8 Cache-Speicher.- 3.8.1 Funktionsweise eines Caches.- 3.8.2 Aufbau eines Cache-Speichers.- 3.8.2.1 Der Direct Mapped Cache.- 3.8.2.2 Fallstudie: Der Befehls-Cache des Motorola 68020.- 3.8.2.3 Der n-Way Set Associative Cache.- 3.8.3 Anbindung des Caches an den Systembus.- 3.8.4 Fallstudie: Der Cache-Controller 82385 von Intel.- 3.8.4.1 Aufbau des Controllers.- 3.8.4.2 Zeitdiagramme der Cache-Zugriffe.- 3.8.4.3 Überwachung des Systembusses.- 3.8.4.4 Weitere Steuer- und Statussignale des Cache-Controllers.- 4. Speicher- und Prozeßverwaltung.- 4.1 Einleitung.- 4.1.1 Definitionen des Begriffs "Betriebssystem".- 4.1.2 Ziele von Betriebssystemen.- 4.1.2.1 Benutzerfreundlichkeit.- 4.1.2.2 Effizienz und Zuverlässigkeit.- 4.1.2.3 Portabilität.- 4.1.3 Spezielle Aufgaben von Betriebssystemen.- 4.1.3.1 Auftragsverwaltung.- 4.1.3.2 Speicherverwaltung.- 4.1.3.3 Betriebsmittelverwaltung.- 4.2 Einführung in die Speicherverwaltung.- 4.2.1 Virtuelle Speicher.- 4.2.2 Segmentierungs- und Seitenwechsel-Verfahren.- 4.2.2.1 Probleme der virtuellen Speicherverwaltung.- 4.2.2.2 Segmentierung versus Seitenaufteilung.- 4.2.2.3 Virtuelle Speicherverwaltung in der ?P-Technik.- 4.2.2.4 Zusammenspiel zwischen Cache und MMU.- 4.3 Segmentorientierte Speicherverwaltung.- 4.3.1 Segmente.- 4.3.1.1 Berechnung physikalischer Adressen.- 4.3.1.2 Fallstudie: Speicherverwaltung beim Intel 80286.- 4.3.1.3 Adressierungs-Modi.- 4.3.2 Segment-Deskriptoren und Deskriptor-Tabellen.- 4.3.2.1 Segment-Deskriptoren.- 4.3.2.2 Deskriptor-Tabellen.- 4.3.2.3 Selektoren.- 4.4 Seitenorientierte Speicher-Verwaltung.- 4.4.1 Seitenverwaltungskonzept des Intel 80386.- 4.4.1.1 Berechnung physikalischer Adressen aus virtuellen Adressen.- 4.4.1.2 Berechnung physikalischer Adressen aus linearen Adressen.- 4.4.1.3 Beschleunigung der Adreßberechnung durch einen Cache.- 4.4.1.4 Vorgehensweise bei Seitenfehlern.- 4.4.2 Seitenverwaltungskonzept des MMU-Bausteins NS32382.- 4.4.2.1 Berechnung physikalischer Adressen aus virtuellen Adressen.- 4.4.2.2 Kommunikation zwischen CPU und MMU.- 4.4.2.3 Durch die CPU initiierte Buszyklen.- 4.4.2.4 Durch die MMU initiierte Buszyklen.- 4.4.2.5 MMU-Instruktionen.- 4.5 Schutzmechanismen.- 4.5.1 Schutzebenen.- 4.5.2 Zugriffsrechte.- 4.5.2.1 Schutzmaßnahmen bei Segmentverwaltung.- 4.5.2.2 Schutzmaßnahmen bei Seitenverwaltung.- 4.5.3 Fallstudie: Kontroll-Transfer beim Intel 80286/80386.- 4.5.3.1 Conforming Code Segment.- 4.5.3.2 Call Gates.- 4.6 Prozeßwechsel.- 4.6.1 Einleitung.- 4.6.2 Fallstudie: Prozeßverwaltung beim Intel 80286.- 4.6.2.1 Das Task State Segment.- 4.6.2.2 Der TSS-Deskriptor.- 4.6.2.3 Ursachen für einen Prozeßwechsel.- 4.6.2.4 Zugriffsschutz beim Prozeßwechsel.- 4.6.2.5 Der Dispatcher.- 4.7 Kommunikation zwischen Prozessen.- 4.7.1 Kommunikation beim Segmentierungsverfahren.- 4.7.2 Kommunikation beim Seitenwechselverfahren.- 4.8 Ausnahmebehandlung.- 4.8.1 Interrupt-Deskriptor-Tabelle.- 4.8.2 Prozeßorientierte Ausnahme-Behandlung.- 4.8.3 Prozedurorientierte Ausnahme-Behandlung.- 4.8.4 Fallstudie: Behandlung der Traps beim Intel 80386.- 4.8.5 Fallstudie: Fehlercode des 80386 bei einem Seitenfehler.- 5. System-Steuerbausteine und Schnittstellen-Bausteine.- 5.1 Einleitung.- 5.1.1 Nicht programmierbare System-Steuerbausteine.- 5.1.2 Programmierbare System-Steuerbausteine.- 5.1.3 Schnittstellen-Bausteine.- 5.1.4 Speicherbezogene und isolierte Adressierung.- 5.1.5 Anschluß der Schnittstellen-Bausteine an den µP.- 5.1.6 Aufbau der Systembausteine.- 5.1.6.1 Die Steuerung.- 5.1.6.2 Die Ausführungseinheit.- 5.1.6.3 Die Schnittstelle zum Peripheriegerät.- 5.1.7 Die verschiedenen Ein-/Ausgabe-Verfahren.- 5.1.8 Synchronisation der Datenübertragung.- 5.2 Bus-Arbiter.- 5.2.1 Einleitung.- 5.2.2 Verschiedene Systembus-Zuteilungsverfahren.- 5.2.3 Prinzipieller Aufbau eines Bus-Arbiters.- 5.2.4 Weitere spezielle Arbiter-Funktionen.- 5.3 Interrupt-Controller.- 5.3.1 Einleitung.- 5.3.2 Prinzipieller Aufbau eines Interrupt-Controllers.- 5.3.3 Einsatz mehrerer Interrupt-Controller.- 5.3.3.1 Daisy Chaining.- 5.3.3.2 Kaskadierung.- 5.3.4 Das Programmiermodell eines Interrupt-Controllers.- 5.3.4.1 Die Steuerregister.- 5.3.4.2 Die Befehlsregister.- 5.3.4.3 Die Statusregister.- 5.4 Zeitgeber-/Zähler-Bausteine.- 5.4.1 Prinzipieller Aufbau eines Zeitgeber-/Zähler-Bausteins.- 5.4.2 Die verschiedenen Zählmodi.- 5.4.3 Das Programmiermodell.- 5.4.4 Die Timer-Funktionen.- 5.4.4.1 Der Timer als Impulsgenerator.- 5.4.4.2 Der Timer als Taktgenerator.- 5.4.4.3 Der Timer als Ereigniszähler.- 5.4.4.4 Der Timer als Zeitmesser.- 5.4.5 Fallstudie: Der Echtzeit-Uhren-Baustein HD146818.- 5.5 Bausteine für parallele Schnittstellen.- 5.5.1 Prinzipieller Aufbau.- 5.5.2 Aufbau der Ausführungseinheit.- 5.5.2.1 Datenausgabe.- 5.5.2.2 Dateneingabe.- 5.5.2.3 Eine Variante.- 5.5.3 Fallstudie: Der PPI-Baustein 8255 von Intel.- 5.5.3.1 Modus 0.- 5.5.3.2 Modus 1.- 5.5.3.3 Modus 2.- 5.5.4 Anwendungsbeispiel: Centronics-Schnittstelle.- 5.6 Bausteine für asynchrone, serielle Schnittstellen.- 5.6.1 Einleitung.- 5.6.2 Synchronisations-Verfahren.- 5.6.3 Aufbau eines Bausteins für asynchrone Schnittstellen.- 5.6.3.1 Der Sender.- 5.6.3.2 Der Empfänger.- 5.6.3.3 Modem-Steuerung.- 5.6.4 Die V24-Schnittstelle.- 5.6.5 Das Programmiermodell des ACIA-Bausteins.- 5.7 Bausteine für synchrone, serielle Schnittstellen.- 5.7.1 Zeichenorientierte Übertragung.- 5.7.1.1 Bausteine für die zeichenorientierte Übertragung.- 5.7.1.2 Das Programmiermodell zeichenorientierter Bausteine.- 5.7.2 Bitorientierte Übertragung.- 5.7.2.1 Bausteine für die bitorientierte Übertragung.- 5.7.2.2 Das Programmiermodell bitorientierter Bausteine.- 5.8 Bausteine zur Analog/Digital- und Digital/Analog-Wandlung.- 5.8.1 Digital/Analog-Wandlung.- 5.8.1.1 Prinzip.- 5.8.1.2 Bausteine für die Digital/Analog-Wandlung.- 5.8.2 Analog/Digital-Wandlung.- 5.8.2.1 Prinzip.- 5.8.2.2 Bausteine für die Analog/Digital-Wandlung.- 5.8.2.3 Das Programmiermodell.- 5.8.3 Signalprozessoren.- 6. Plattenspeicher-Systeme.- 6.1 Einleitung.- 6.2 Format und Verwaltung einer Speicherplatte.- 6.2.1 Format einer Speicherplatte.- 6.2.2 Plattenverwaltung durch das Betriebssystem MS-DOS.- 6.2.3 Die verschiedenen Plattenbereiche.- 6.2.3.1 Der Urladerbereich.- 6.2.3.2 Die Dateizuordnungstabelle.- 6.2.3.3 Das Dateiverzeichnis.- 6.2.3.4 Der Datenbereich.- 6.2.3.5 Zusammmenfassende Darstellung der Diskettenverwaltung.- 6.3 Die Aufzeichmingsverfahren.- 6.3.1 Zum Begriff Flußwechsel.- 6.3.2 Beschreibung der Verfahren.- 6.3.2.1 NRZ-Verfahren.- 6.3.2.2 Frequenzmodulations-Verfahren.- 6.3.2.3 Modifiziertes Frequenzmodulations-Verfahren.- 6.3.2.4 RLL-Verfahren.- 6.3.3 Verbesserung der Aufzeichnungstechnik bei Festplatten-Systemen.- 6.4 Aufbau eines Floppy-Disk-Systems.- 6.4.1 Prinzipieller Aufbau einer Diskette.- 6.4.2 Schematischer Aufbau eines Floppy-Disk-Laufwerkes.- 6.4.3 Schnittstellen und Komponenten eines Floppy-Disk-Controllers.- 6.4.4 Registersatz und Befehlssatz eines Floppy-Disk-Controllers.- 6.4.4.1 Der Registersatz.- 6.4.4.2 Der Befehlssatz.- 6.4.4.3 Das Statusregister.- 6.5 Aufbau eines Festplatten-Speichersystems.- 6.5.1 Prinzipieller Aufbau einer Festplatte.- 6.5.1.1 Allgemeines.- 6.5.1.2 Aufbau eines Festplatten-Laufwerks.- 6.5.1.3 Verschachtelter Sektorzugriff.- 6.5.2 Prinzipieller Aufbau eines Festplatten-Controllers.- 6.5.3 Schnittstellen zum Anschluß von Festplatten-Systemen.- 6.5.3.1 Controller-Schnittstellen.- 6.5.3.2 Systembus-Schnittstellen.- 6.6 Fehlerbehandlung bei Plattenspeicher-Systemen.- 6.6.1 Zyklische Redundanzprüfung.- 6.6.2 Fehlererkennende und -korrigierende Codes.- 6.6.3 Fehlerraten.- 6.6.4 Verfahren zur Wiederherstellung der Daten.- 7. Bildschirm-Geräte.- 7.1 Der Bildaufbau.- 7.1.1 Funktionsweise des Standardbildschirms.- 7.1.2 Anschlußnormen für Monitore.- 7.2 Aufbau eines Graphiksystems.- 7.2.1 Allgemeines.- 7.2.2 Fallstudie: Der CRT-Controller SY6545.- 7.23 Bildschirmspeicher für graphische Anwendungen.- 7.2.4 Verfahren zum Speicherzugriff.- 7.2.5 Verschiedene Darstellungsmodi.- 7.3 Fallstudie: Der Graphik-Controller HD63484.- 7.3.1 Einleitung.- 7.3.2 Unterstützung verschiedener Bildschirmbereiche.- 7.3.3 Der Aufbau des HD63484.- 7.3.4 Das Programmiermodell des HD63484.- 7.3.4.1 Register mit direktem µP-Zugriff.- 7.3.4.2 Register mit Zugriff über die Warteschlangen.- 7.3.4.3 Der Befehlssatz des HD63484.- 7.4 D/A-Wandler für Bildschirm-Geräte.- 7.5 Realisierung eines Bildschirmspeichers.- 7.5.1 Hochintegrierte Video-RAMs.- 7.5.2 Die Farb-Zuordnungs-Tabelle.- Lösungen der Selbsttestaufgaben.