
Technische Informatik / Technische Informatik II
Mikroprozessor-Hardware und Programmiertechniken
vdf Hochschulverlag AG
2nd Edition
Published on 19. February 2010
Book
240 pages
978-3-7281-3256-7 (ISBN)
Description
Im zweiten Band werden die zwei Themenbereiche Mikroprozessor-Hardware und Software-Entwicklungsmethodik vertieft. Der Hardwareteil behandelt grundlegende Prozessorarchitekturen, den Aufbau des Prozessors 80C186 mit seinem Systembus, die Interrupt-Technik und den Anschluss von Speicher und Peripheriegeräten (Interfacing). Im Softwareteil wird die modulare Programmierung behandelt, im Kapitel State-Event-Technik die SDL-Darstellung eingeführt und an alltäglichen Beispielen wie einem Billetautomaten oder einer Waschmaschine erläutert. In einem weiteren Kapitel wird die Schnittstelle von Assembler zu Hochsprachen besprochen.
More details
Series
Edition
2., Auflage
Language
German
Target group
College/higher education
Edition type
Revised edition
Illustrations
zahlr. Abb., Programmcode, Übungen
zahlr. Abb., Programmcode, Übungen
Dimensions
Height: 24 cm
Width: 17 cm
Weight
524 gr
ISBN-13
978-3-7281-3256-7 (9783728132567)
Schweitzer Classification
Content
Technische Informatik II
1 Rechnerarchitekturen und Systembus
1.1 Rechnerarchitekturen
1.1.1 Von-Neumann-Architektur
1.1.2 Harvard-Architektur
1.1.3 Mehrprozessorsysteme
1.2 Systembus
1.2.1 Busoperationen
1.2.2 Signal-Leitungen und Signalgruppen
1.2.3 Bussignale bei Byte- und Word-Adressierung
1.2.4 Zeitliche Abläufe auf dem Bus
1.2.5 Anpassung der Geschwindigkeit durch Wait States
1.3 Übungen
1.3.1 Rechnerarchitekturen
1.3.2 Leistung von Mehrprozessorsystemen
1.3.3 Mehrprozessorsystem
1.3.4 Ausfallsicherheit
1.3.5 Bus-Zyklen
1.3.6 Erzeugung von Wait States
2 Prozessor
2.1 Leistungsmerkmale
2.1.1 Taktrate
2.1.2 Verarbeitungsbreite
2.1.3 Adressraum
2.2 Prozessor-Architekturen
2.2.1 CISC-Architektur
2.2.2 RISC-Architektur
2.2.3 Co-Prozessoren
2.2.4 Single-Chip-Prozessoren, Mikrokontroller
2.2.5 Ein-/Ausgabe-Prozessoren
2.3 Der Prozessor 80C186
2.3.1 Die wichtigsten Signale des Prozessors 80C186
2.3.2 Zeitlicher Verlauf der Prozessor-Signale
2.3.3 80C186-Prozessoreinheit mit Bus-Anschaltung
2.4 Zeitverhalten von 8086-Programmen
2.4.1 Berechnung von Programmlaufzeiten
2.5 Übungen
2.5.1 Prozessor-Architektur 1
2.5.2 Prozessor-Architektur 2
2.5.3 Programmausführungszeit
2.5.4 Prozessor-Anschaltung
3 Ein-/Ausgabe und Peripherie
3.1 Aufgaben der Schnittstellenbausteine
3.2 Koordination von Prozessor und Ein-/Ausgabe
3.2.1 Interrupt- und Polling-Betrieb
3.2.2 Polling
3.2.3 Interrupt (Programmunterbrechung)
3.3 Datenübertragungsverfahren
3.3.1 Paralleler Datentransfer mit Hand Shaking
3.3.2 Asynchroner, serieller Datentransfer
3.3.3 Synchroner, serieller Datentransfer
3.4 Anschaltung einfacher Ein-/Ausgabe-Ports
3.4.1 Prinzip eines Ausgabe-Ports (ohne Adressdecodierung)
3.4.2 Prinzip eines Eingabe-Ports (ohne Adressdecodierung)
3.4.3 Prinzip eines Ports mit Adressdecodierung
3.5 Ein-/Ausgabe-Ports mit Hand Shaking
3.6 Übungen
3.6.1 Adressdecodierung und Steuersignale
3.6.2 Allgemeine Repetitionsfragen
3.6.3 Serielle asynchrone Übertragung
3.6.4 Serielle synchrone Übertragung
3.6.5 Ein/Ausgabe-Port mit hardwaremässigem Hand Shaking
4 Anschluss von Speichern
4.1 Übersicht der Speicherbausteine
4.1.1 Random Access Memory
4.1.2 Read Only Memory (ROM)
4.2 Aufbau von Speicherbausteinen
4.2.1 Anschlüsse der Speicherbausteine
4.2.2 Interner Aufbau der Speichermatrix
4.2.3 Logische Speicherorganisation
4.3 Anschaltung von Speicherbausteinen
4.3.1 Steuersignale
4.3.2 Adressdecodierung
4.3.3 Adressdecodierung bei Systemen mit 8-Bit-Datenbus
4.3.4 Speicherkonzept für 16-Bit-Datenbus
4.3.5 Adressdecodierung bei Systemen mit 16-Bit-Datenbus
4.4 Übungen
4.4.1 Adressdecodierung für 16-Bit-Datenbus
4.4.2 Speicher-Anschaltung
4.4.3 RAM-Fehlererkennung mit Hardware-Parity-Check
5 Modulare Codierung
5.1 Nachteile von Ein-Modul-Programmen
5.2 Ziele der modularen Codierung
5.3 Prinzip der Realisierung
5.3.1 Prinzip der Zusammenfassung gleichnamiger Segmente mehrerer Module
5.3.2 Prinzip der Verknüpfung von modulübergreifender Symbol-Definition und Verwendung
5.3.3 Verändern der Ladeadresse der Segmente
5.4 Programm-Strukturierung in Assembler 8086
5.5 Assembler Pseudobefehle für die modulare Programmierung
5.5.1 Syntax der Segment-Direktive
5.5.2 Syntax der Extern- und Public-Befehle
5.6 Aufruf des Linkers
5.7 Objekt-Modulbibliotheken
5.8 Aufruf des library managers
5.9 Übungen
6 Interrupt
6.1 Das Prinzip eines Interrupts
6.1.1 Software-Interrupts
6.1.2 Hardware-Interrupts
6.1.3 Exceptions
6.2 Übersicht über das Interrupt-System des 80186
6.2.1 Aufbau des Interrupt-Systems
6.2.2 Initialisierung des Interruptkontrollers
6.2.3 Die Interrupt-Vektor-Tabelle
6.3 Übungen
7 Schnittstelle zu Hochsprachen
7.1 Datenaustausch über globale Daten
7.1.1 Das Prinzip der Datenübergabe über globale Daten
7.1.2 Realisierung
7.2 Datenübergabe in Registern
7.2.1 Das Prinzip der Datenübergabe in Registern
7.2.2 Realisierung
7.3 Datenübergabe im Stack
7.3.1 Gründe für Parametertransfer im Stack
7.3.2 Das Prinzip der Datenübergabe im Stack
7.3.3 Realisierung der Parameterübergabe im Stack
7.4 Aufruf von Assembler-Routinen aus C-Programmen
7.4.1 Assemblerprogramm
7.4.2 C-Programm
7.4.3 Parameter in Borland C
7.4.4 Demonstrationsbeispiel
7.5 Übungen
8 State-Event-Technik
8.1 Das Prinzip der State-Event-Technik
8.2 Anwendungen der State-Event-Technik
8.3 Hilfsmittel zur Beschreibung von Finite State Machines
8.3.1 Zustandsdiagramme
8.3.2 SDL-Diagramme (Specification and Description Language)
8.3.3 Zustandstransitionstabellen (Zustandübergangstabellen)
8.3.4 Umsetzung des Zustands- oder SDL-Diagrammes in ein Programm
8.3.5 Manuelle Umsetzung
8.4 Übungen
9 Assembler-Macros
9.1 Unterschied Macro ? Prozedur
9.1.1 Macro-Beispiele
9.1.2 Prozedur-Beispiel
9.2 Macro-Deklaration und -Aufruf
9.2.1 Macro-Deklaration
9.2.2 Macro-Aufruf
9.2.3 Local-Anweisung
9.2.4 Include-Anweisung
9.2.5 Bedingte Assemblierung
9.3 Übungen
9.4 Beispiel-Files
9.4.1 Quellprogramm MACROEXA.ASM
9.4.2 Listing MACROEXA.LST
9.4.3 Quellenprogramm CONDASM.ASM
9.4.4 Listing CONDASM.LST (proctype = 1)
9.4.5 Listing CONDASM.LST (proctype = 0)
A Digitale Bausteine
A.1 Einleitung
A.2 Tri-State-Ausgänge
A.2.1 Anwendung von Tri-State-Treibern
A.2.2 8-Bit-Bidirektionaler-Tristate-Treiber 74X245
A.3 Decoder
A.3.1 "3 zu 8"-Decoder 74X138
A.3.2 "2 zu 4"-Decoder 74X155
A.4 D-Latch
A.4.1 8-Bit-Latch-/Tristate-Treiber 74X573
A.5 D-Flip-Flop
B Befehlsliste 8086/88 186/188 mit Clock Cycles
C Unterstützende Unterlagen und Kontakte
Literaturverzeichnis
Index
1 Rechnerarchitekturen und Systembus
1.1 Rechnerarchitekturen
1.1.1 Von-Neumann-Architektur
1.1.2 Harvard-Architektur
1.1.3 Mehrprozessorsysteme
1.2 Systembus
1.2.1 Busoperationen
1.2.2 Signal-Leitungen und Signalgruppen
1.2.3 Bussignale bei Byte- und Word-Adressierung
1.2.4 Zeitliche Abläufe auf dem Bus
1.2.5 Anpassung der Geschwindigkeit durch Wait States
1.3 Übungen
1.3.1 Rechnerarchitekturen
1.3.2 Leistung von Mehrprozessorsystemen
1.3.3 Mehrprozessorsystem
1.3.4 Ausfallsicherheit
1.3.5 Bus-Zyklen
1.3.6 Erzeugung von Wait States
2 Prozessor
2.1 Leistungsmerkmale
2.1.1 Taktrate
2.1.2 Verarbeitungsbreite
2.1.3 Adressraum
2.2 Prozessor-Architekturen
2.2.1 CISC-Architektur
2.2.2 RISC-Architektur
2.2.3 Co-Prozessoren
2.2.4 Single-Chip-Prozessoren, Mikrokontroller
2.2.5 Ein-/Ausgabe-Prozessoren
2.3 Der Prozessor 80C186
2.3.1 Die wichtigsten Signale des Prozessors 80C186
2.3.2 Zeitlicher Verlauf der Prozessor-Signale
2.3.3 80C186-Prozessoreinheit mit Bus-Anschaltung
2.4 Zeitverhalten von 8086-Programmen
2.4.1 Berechnung von Programmlaufzeiten
2.5 Übungen
2.5.1 Prozessor-Architektur 1
2.5.2 Prozessor-Architektur 2
2.5.3 Programmausführungszeit
2.5.4 Prozessor-Anschaltung
3 Ein-/Ausgabe und Peripherie
3.1 Aufgaben der Schnittstellenbausteine
3.2 Koordination von Prozessor und Ein-/Ausgabe
3.2.1 Interrupt- und Polling-Betrieb
3.2.2 Polling
3.2.3 Interrupt (Programmunterbrechung)
3.3 Datenübertragungsverfahren
3.3.1 Paralleler Datentransfer mit Hand Shaking
3.3.2 Asynchroner, serieller Datentransfer
3.3.3 Synchroner, serieller Datentransfer
3.4 Anschaltung einfacher Ein-/Ausgabe-Ports
3.4.1 Prinzip eines Ausgabe-Ports (ohne Adressdecodierung)
3.4.2 Prinzip eines Eingabe-Ports (ohne Adressdecodierung)
3.4.3 Prinzip eines Ports mit Adressdecodierung
3.5 Ein-/Ausgabe-Ports mit Hand Shaking
3.6 Übungen
3.6.1 Adressdecodierung und Steuersignale
3.6.2 Allgemeine Repetitionsfragen
3.6.3 Serielle asynchrone Übertragung
3.6.4 Serielle synchrone Übertragung
3.6.5 Ein/Ausgabe-Port mit hardwaremässigem Hand Shaking
4 Anschluss von Speichern
4.1 Übersicht der Speicherbausteine
4.1.1 Random Access Memory
4.1.2 Read Only Memory (ROM)
4.2 Aufbau von Speicherbausteinen
4.2.1 Anschlüsse der Speicherbausteine
4.2.2 Interner Aufbau der Speichermatrix
4.2.3 Logische Speicherorganisation
4.3 Anschaltung von Speicherbausteinen
4.3.1 Steuersignale
4.3.2 Adressdecodierung
4.3.3 Adressdecodierung bei Systemen mit 8-Bit-Datenbus
4.3.4 Speicherkonzept für 16-Bit-Datenbus
4.3.5 Adressdecodierung bei Systemen mit 16-Bit-Datenbus
4.4 Übungen
4.4.1 Adressdecodierung für 16-Bit-Datenbus
4.4.2 Speicher-Anschaltung
4.4.3 RAM-Fehlererkennung mit Hardware-Parity-Check
5 Modulare Codierung
5.1 Nachteile von Ein-Modul-Programmen
5.2 Ziele der modularen Codierung
5.3 Prinzip der Realisierung
5.3.1 Prinzip der Zusammenfassung gleichnamiger Segmente mehrerer Module
5.3.2 Prinzip der Verknüpfung von modulübergreifender Symbol-Definition und Verwendung
5.3.3 Verändern der Ladeadresse der Segmente
5.4 Programm-Strukturierung in Assembler 8086
5.5 Assembler Pseudobefehle für die modulare Programmierung
5.5.1 Syntax der Segment-Direktive
5.5.2 Syntax der Extern- und Public-Befehle
5.6 Aufruf des Linkers
5.7 Objekt-Modulbibliotheken
5.8 Aufruf des library managers
5.9 Übungen
6 Interrupt
6.1 Das Prinzip eines Interrupts
6.1.1 Software-Interrupts
6.1.2 Hardware-Interrupts
6.1.3 Exceptions
6.2 Übersicht über das Interrupt-System des 80186
6.2.1 Aufbau des Interrupt-Systems
6.2.2 Initialisierung des Interruptkontrollers
6.2.3 Die Interrupt-Vektor-Tabelle
6.3 Übungen
7 Schnittstelle zu Hochsprachen
7.1 Datenaustausch über globale Daten
7.1.1 Das Prinzip der Datenübergabe über globale Daten
7.1.2 Realisierung
7.2 Datenübergabe in Registern
7.2.1 Das Prinzip der Datenübergabe in Registern
7.2.2 Realisierung
7.3 Datenübergabe im Stack
7.3.1 Gründe für Parametertransfer im Stack
7.3.2 Das Prinzip der Datenübergabe im Stack
7.3.3 Realisierung der Parameterübergabe im Stack
7.4 Aufruf von Assembler-Routinen aus C-Programmen
7.4.1 Assemblerprogramm
7.4.2 C-Programm
7.4.3 Parameter in Borland C
7.4.4 Demonstrationsbeispiel
7.5 Übungen
8 State-Event-Technik
8.1 Das Prinzip der State-Event-Technik
8.2 Anwendungen der State-Event-Technik
8.3 Hilfsmittel zur Beschreibung von Finite State Machines
8.3.1 Zustandsdiagramme
8.3.2 SDL-Diagramme (Specification and Description Language)
8.3.3 Zustandstransitionstabellen (Zustandübergangstabellen)
8.3.4 Umsetzung des Zustands- oder SDL-Diagrammes in ein Programm
8.3.5 Manuelle Umsetzung
8.4 Übungen
9 Assembler-Macros
9.1 Unterschied Macro ? Prozedur
9.1.1 Macro-Beispiele
9.1.2 Prozedur-Beispiel
9.2 Macro-Deklaration und -Aufruf
9.2.1 Macro-Deklaration
9.2.2 Macro-Aufruf
9.2.3 Local-Anweisung
9.2.4 Include-Anweisung
9.2.5 Bedingte Assemblierung
9.3 Übungen
9.4 Beispiel-Files
9.4.1 Quellprogramm MACROEXA.ASM
9.4.2 Listing MACROEXA.LST
9.4.3 Quellenprogramm CONDASM.ASM
9.4.4 Listing CONDASM.LST (proctype = 1)
9.4.5 Listing CONDASM.LST (proctype = 0)
A Digitale Bausteine
A.1 Einleitung
A.2 Tri-State-Ausgänge
A.2.1 Anwendung von Tri-State-Treibern
A.2.2 8-Bit-Bidirektionaler-Tristate-Treiber 74X245
A.3 Decoder
A.3.1 "3 zu 8"-Decoder 74X138
A.3.2 "2 zu 4"-Decoder 74X155
A.4 D-Latch
A.4.1 8-Bit-Latch-/Tristate-Treiber 74X573
A.5 D-Flip-Flop
B Befehlsliste 8086/88 186/188 mit Clock Cycles
C Unterstützende Unterlagen und Kontakte
Literaturverzeichnis
Index