Skip to main content

2001 | Buch | 6. Auflage

Mikroprozessortechnik

CISC, RISC Systemaufbau Assembler und C

verfasst von: Dr.-Ing. Thomas Flik

Verlag: Springer Berlin Heidelberg

insite
SUCHEN

Über dieses Buch

Dieses Lehrbuch behandelt den Entwurf und die Programmierung von Mikroprozessorsystemen. Es führt von den Grundlagen der Rechnertechnik und der Maschinenprogrammierung über die Erklärung der komplexen Zusammenhänge des Systemaufbaus, der Bussysteme und der Interface-Techniken bis zur Beschreibung der Funktionsweise von Ein-/Ausgabegeräten und Hintergrundspeichern. Die Stoffauswahl orientiert sich an gängigen Prozessoren der PC-Welt. Das für Studenten der Elektrotechnik und Informatik bestimmte Werk versetzt auch Anwender in die Lage, die geeigneten Systemstrukturen zu entwickeln, die passenden Systemkomponenten auszusuchen und die zugehörige Software selbst zu entwerfen. Das Buch setzt den Erfolg seiner Vorgänger fort und berücksichtigt dabei die gewandelten Aufgaben seiner Vorgänger. Neben umfangreichen Korrekturen wurden die Kapitel über serielle Schnittstellen und über serielle Busse umstrukturiert und erweitert.

Inhaltsverzeichnis

Frontmatter
1. Einführung in den Aufbau und die Programmierung von Mikroprozessorsystemen
Zusammenfassung
Mikroprozessorsysteme sind universell programmierbare Digitalrechner. Ihre Vorteile liegen in der Miniaturisierung des Systemaufbaus, in den geringen Hardwarekosten und in der Möglichkeit, die Rechnerhardware modular an die Problemstellung anzupassen. Diese Vorteile haben den Mikroprozessorsystemen Anwendungsgebiete geschaffen, die den herkömmlichen Digitalrechnern verschlossen waren oder von Spezialhardware mit hohen Entwicklungs- und Herstellungskosten abgedeckt werden mußte.
Thomas Flik
2. Der Mikroprozessor
Zusammenfassung
In Kapitel 1 wurde schwerpunktmäßig eine Einführung in den Aufbau, die Arbeitsweise und die Assemblerprogrammierung von Rechnersystemen gegeben und dabei ein vereinfachter CISC-Prozessor mit 16-Bit-Verarbeitungsbreite sowie ein einfacher RISC-Prozessor mit 32-Bit-Verarbeitungsbreite vorgestellt. Heutige CISC- und RISC-Prozessoren hoher Leistungsfähigkeit sind als 32-Bit-Prozessoren ausgelegt, jedoch sehr viel komplexer als der RISC aus Kapitel 1. Dies liegt zum einen an einem hohen Grad an Parallelität der Verarbeitung, die sich in Fließbandstrukturen und in der Anzahl und Organisation von parallel arbeitenden Funktionseinheiten ausdrückt. Damit zusammenhängend können diese Prozessoren auch sehr hoch getaktet werden. Zum andern liegt dies an prozessorexternen wie prozessorinternen breiteren Daten- und ggf. Adreßwegen von meist 64 Bit. Erstere ermöglichen eine höhere Übertragungsleistung („Busbandbreite“) für den Transport von Befehlen und Daten unter Nutzung von prozessorinternen Caches. Letztere erlauben es, größere Adressen bereitzustellen und somit den direkt adressierbaren Adreßraum über die sonst vorhandene Begrenzung von 4G Adressen hinaus ausdehnen zu können.
Thomas Flik
3. Assemblerprogrammierung mit C-Entsprechungen
Zusammenfassung
Die Programmierung von Mikroprozessorsystemen ist, wenn diese Systeme in einem technischen Umfeld eingesetzt werden (Steuerung technischer Systeme und Geräte, embedded control), üblicherweise eine hardware-nahe Programmierung und wird entweder ganz in Assemblersprache oder aber in einer „höheren“ Programmiersprache, meist C, ggf. ergänzt um Assemblersequenzen, durchgeführt. Um dabei effiziente Programme erstellen zu können, ist es unabdingbar, grundlegende Techniken zu kennen, mit denen immer wiederkehrende Verarbeitungsabläufe optimal beschrieben werden können. Solche Programmierungstechniken sind zunächst weitgehend unabhängig vom Befehlssatz des eingesetzten Prozessors. Bei ihrer Umsetzung in Befehlsfolgen ergeben sich jedoch prozessorabhängige Unterschiede bezüglich des Bedarfs an Programmspeicherplatz, an Programmausführungszeit und auch hinsichtlich ihrer Unterstützung durch den Befehlssatz und durch andere Programmierspezifika des Prozessors.
Thomas Flik
4. Maschinennahe Programmierung in C
Zusammenfassung
Ein herkömmliches Mikroprozessorsystem, oder allgemeiner eine Rechenmaschine (kurz Maschine genannt), verarbeitet ein Programm, indem es die Befehle als Bitmuster nacheinander liest, decodiert und ausführt. Ein Programm, in dem die Befehle in dieser Weise codiert sind, wird als Maschinenprogramm bezeichnet. Dabei wird nicht zwischen Maschinenprogrammen unterschieden, in denen die Befehle binär, und solchen, in denen die Befehle in einer für den Menschen leichter handhabbaren Form, z.B. als hexadezimale Zahlen codiert sind. Letztere müssen jedoch einen Umsetzungsprozeß durchlaufen, in dem die Zahlen in die durch die Maschine interpretierbare binäre Form überführt werden.
M. Menge
5. Busse und Systemstrukturen
Zusammenfassung
Ein Mikroprozessorsystem umfaßt neben dem Mikroprozessor als dem zentralen Systembaustein eine Reihe weiterer Bausteine, insbesondere Speicher- und Interface-Bausteine sowie verschiedene Zusatzbausteine. In den Speicherbausteinen werden die Programme und Daten für ihre Verarbeitung bereitgestellt; über die Interface-Bausteine wird die Verbindung zur Peripherie des Mikroprozessorsystems hergestellt. Zu den Zusatzbausteinen zählen einfache Funktionseinheiten, wie Zeitgeber (timer), aber auch komplexe Funktionseinheiten, wie Speicherverwaltungseinheiten und DMA-Controller. Verbindendes Medium aller Komponenten ist in Einbussystemen der Systembus, dessen Signale bei einfachster Ausführung durch den Prozessor festgelegt sind, aber auch prozessorunabhängig definiert sein können. In Mehrbussystemen gibt es zusätzlich zum Systembus sog. lokale Busse für den Zusammenschluß von z. B. prozessornahen oder peripherienahen Funktionseinheiten. Hier hat der Systembus als globaler Bus eine übergeordnete Verbindungsfunktion, und zwar sowohl zwischen den lokalen Bussen als auch zu Funktionseinheiten, die unmittelbar an den Systembus angeschlossen sind.
Thomas Flik
6. Speicherorganisation
Zusammenfassung
Die Forderung nach leistungsfähigen Mikroprozessorsystemen setzt neben Prozessoren mit hohen Verarbeitungsgeschwindigkeiten auch Speicher mit großen Kapazitäten und geringen Zugriffszeiten voraus. Diese Forderungen lassen sich allein durch den Hauptspeicher nicht erfüllen. Abhilfe schafft eine hierarchische Anordnung von Speichern mit kurzen Zugriffszeiten auf der einen Seite und großen Kapazitäten auf der anderen Seite. So werden zum einen zwischen den „schnellen“ Registerspeicher des Prozessors und den „langsameren“ Hauptspeicher Pufferspeicher mit kurzen Zugriffszeiten, sog. Caches geschaltet. Zum andern wird die Speicherkapazität des Hauptspeichers durch die Einbeziehung von Hintergrundspeichern, z. B. Magnetplattenspeichern, um Größenordnungen erweitert. — Abschnitt 6.1 beschreibt den Aufbau von Caches und Hauptspeichern mittels statischer und dynamischer RAM-Bausteine sowie strukturelle Maßnahmen zur Erreichung möglichst hoher Datenübertragungsraten zwischen Prozessor, Cache und Hauptspeicher. In Abschnitt 6.2 wird dann auf die prinzipiellen Strukturen von Caches und auf die Verwaltung der in ihnen gespeicherten Daten eingegangen. Dabei geht es insbesondere um die Datenkohärenz, d. h. um das Aktualisieren der Daten in Cache und Hauptspeicher bei Mehrmaster- und Mehrprozessorsystemen. In Abschnitt 6.3 werden schließlich Techniken der Hauptspeicherverwaltung im Zusammenspiel mit Festplatten als Hintergrundspeicher beschrieben. Besonderes Augenmerk liegt hier auf den Strukturen von Speicherverwaltungseinheiten (memory management units, MMUs).
Thomas Flik
7. Ein-/Ausgabeorganisation und Rechnerkommunikation
Zusammenfassung
Mit dem Begriff Ein-/Ausgabeorganisation faßt man die Vorgänge zur Übertragung von Daten zwischen dem Hauptspeicher und der Peripherie eines Mikroprozessorsystems zusammen. Zur Peripherie zählen die Ein/Ausgabegeräte, z.B. Bildschirmterminal, Drucker und Scanner, und die Hintergrundspeicher, z.B. Magnetplattenspeicher, Floppy-Disk-Speicher und Streamer. Hinzu kommen anwendungsbezogene Ein-/Ausgabeeinheiten, z.B. zur Übertragung von Steuer- und Statusinformation bei Systemen mit Steuerungs- und Regelungsaufgaben. Dehnt man den Begriff Ein-/Ausgabeorganisation weiter aus, so sind auch die Datenfernübertragung und die Datenübertragung in Rechnernetzen mit in die Betrachtungen einzubeziehen.
Thomas Flik
8. Ein-/Ausgabesteuereinheiten, Peripheriebusse und Hintergrundspeicher
Zusammenfassung
In Kapitel 7 wurde davon ausgegangen, daß die Übertragung von Daten zwischen Speicher und Interface und die dazu notwendigen Organisationsaufgaben, z.B. die Adreßfortschaltung und die Bytezählung, vom Mikroprozessor durchgeführt werden. Das kann für den Prozessor sehr zeitraubend sein, insbesondere bei Ein-/Ausgabe mit Busy-Waiting. Aber auch wenn die Datenübertragung durch Interrupts synchronisiert wird, beanspruchen das Statusretten, das Ausführen des Interruptprogramms und das abschließende Statusladen immer noch ein Vielfaches der eigentlichen Datenübertragungszeit. Das macht sich vor allem bei hohen Übertragungsgeschwindigkeiten nachteilig bemerkbar, z. B. bei der Ein-/Ausgabe mit einem Magnetplattenspeicher. Dieser Engpaß kann durch zusätzliche Hardwareunterstützung in Form von Ein-/Ausgabesteuereinheiten, wie DMA-Controller, Ein-/Ausgabeprozessoren oder Ein-/Ausgabecomputer, behoben werden.
Thomas Flik
Backmatter
Metadaten
Titel
Mikroprozessortechnik
verfasst von
Dr.-Ing. Thomas Flik
Copyright-Jahr
2001
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-662-08753-4
Print ISBN
978-3-662-08754-1
DOI
https://doi.org/10.1007/978-3-662-08753-4