Skip to main content
Top

2003 | Book

Mikroprozessortechnik

Mikrocontroller, Signalprozessoren, Speicherbausteine und Systeme

Author: Klaus Wüst

Editor: Prof. Dr.-Ing. Otto Mildenberger

Publisher: Vieweg+Teubner Verlag

Book Series : Studium Technik

insite
SEARCH

About this book

Die Mikroprozessortechnik in einem Buch von ca. 250 Seiten - geht das? Kann man einen Bereich der Technik so kompakt darstellen, der sich wie eine Supernova entwickelt und Monat um Monat Zeitschriften füllt? Dieses Buch kann keine flächendeckende Darstellung der Mikroprozessortechnik sein, viele Themen müssen aus Platzgründen ausgeklammert oder sehr kurz behandelt werden. Es kann auch kein Nachschlagewerk sein für technische Daten von Bausteinen, keine Bauanleitung für Bastler und auch keine Kaufberatung für die Anschaffung von Computern. All dies würde zu viel Raum einnehmen und, vor allem, zu schnell veralten. Auch zugehörige Themen, die eigene Fachgebiete darstellen wie z. B. Digitaltechnik oder Assemblerprogrammierung, werden allenfalls gestreift. Das Buch behandelt nach einer Einführung zunächst einige Grundlagen, wie die Darstellung von Informationen, die Halbleitertechnik und den Aufbau von Speicherbausteinen. Es folgen zentrale Themen der Mikroprozessortechnik wie Bussysteme, der Aufbau von Prozessoren, Interrupttechnik und DMA. Danach werden die etwas komplexeren Themen Speicherver­ waltung, RlSe-Technologie und SIMD behandelt. Den Abschluss bilden die Kapitel über Mikrocontroller und Digitale Signalprozessoren. Um die Lernkontrolle zu erleichtern, gibt es zu jedem Kapitel Aufgaben und Testfragen und am Ende des Buches natürlich die Lösungen. Das Buch wendet sich an Studenten und Praktiker der Informatik, Elektrotechnik, Physik und aller anderen Ingenieursdisziplinen aber auch an Schüler und Umschüler. Es soll vor allem diejenigen ansprechen, die bei begrenzter Zeit einen leichten Einstieg in das Thema und einen Überblick darüber suchen. Deshalb kann es auch mit geringen Vorkenntnissen gelesen und verstanden werden. Wir haben versucht, die wesentlichen Begriffe der Mikroprozessortechnik herauszuarbeiten.

Table of Contents

Frontmatter
1. Einführung
Zusammenfassung
Die Geschichte der Computer beginnt lange vor der Geschichte der Mikroprozessoren, die ersten Rechnersysteme waren mechanisch [39], [28], [1]. Die erste funktionierende Rechenmaschine1 wurde von Blaise Pascal im Jahr 1642 erbaut, sie wurde mit einer Handkurbel betrieben und konnte addieren und subtrahieren. Weitere mechanische Rechenmaschinen wurden von Gottfried Wilhelm Leibniz (1672) und Charles Babbage (1833) erbaut; alle diese Maschinen litten an der Fehleranfälligkeit der Mechanik und blieben Einzelstücke. Besser waren die Rechner mit elektromagnetischen Relais, wie der Z3 von Konrad Zuse (ca. 1940) und der MARK I von Howard Aiken (1944). Relais-Rechner waren aber relativ langsam.
Klaus Wüst
2. Informationseinheiten und Informationsdarstellung
Zusammenfassung
Die kleinste Dateneinheit in der Mikroprozessortechnik ist das Bit, die Abkürzung für Binary digit. Ein Bit kann die Werte 0 und 1 annehmen. Diese Werte werden technisch bzw. physikalisch auf unterschiedliche Art dargestellt:
  • durch verschiedene Spannungspegel (Bus- und Schnittstellenleitungen),
  • durch vorhandene oder nicht vorhandene leitende Verbindung (ROM),
  • durch den Ladungszustand eines Kondensators (DRAM),
  • durch den Zustand eines Flipflops (SRAM),
  • durch den leitenden oder gesperrten Schaltzustand eines Transistors (Treiberbaustein),
  • durch die Magnetisierungsrichtung eines Segmentes auf einer magnetisierbaren Schicht (magnetische Massenspeicher),
  • durch die Reflexionseigenschaften einer spiegelnden Oberfläche (optischer Massenspeicher),
  • durch den Polarisationszustand eines Ferroelektrikums (evtl. zukünftiger Speicherbaustein).
Klaus Wüst
3. Halbleiterbauelemente
Zusammenfassung
Halbleiter sind Stoffe, die den elektrischen Strom besser leiten als Nichtleiter aber schlechter als Leiter. Es gibt Halbleiter, die nur aus einem Element bestehen, wie Silizium, Germanium und Selen; andere Halbleiter sind Verbindungen, wie Galliumarsenid, Indiumphosphid oder Zinksulfid. Halbleiter haben Kristallstruktur, d.h. die Atome sitzen an regelmäßigen Plätzen eines gedachten räumlichen Gitters. Hat der ganze Halbleiter eine einzige, durchgehende Gitterstruktur, spricht man von einem Einkristall. Reine Halbleiter sind allerdings für elektronische Bauelemente wenig interessant.
Klaus Wüst
4. Speicherbausteine
Zusammenfassung
Speicherbausteine stellen sozusagen das Gedächtnis eines Computers dar. Manche Informationen müssen für Jahre gespeichert bleiben, wie z.B. die Laderoutinen im BIOS eines PC, andere nur für Millionstel Sekunden, wie die Schleifenvariable eines Anwendungsprogrammes. Massenspeicher wie Disketten, Festplatten, CD-Recorder u.ä. können riesige Datenmengen aufnehmen, haben aber wegen der Massenträgheit ihrer bewegten Teile eine hohe Zugriffszeit. Wir wollen hier die Halbleiterspeicher besprechen, die es in vielen verschiedene Bauarten gibt. Sie unterscheiden sich in der physikalischen Technik der Datenabspeicherung, was wiederum Unterschiede in der Dauer des Datenerhalts, der maximalen Anzahl der Schreib- und Lese-Zyklen sowie der Zugriffs- und Zykluszeit bedingt. Eine Übersicht über die Halbleiterspeicher ist in Abb. 4.1 gegeben.
Klaus Wüst
5. Ein- und Ausgabe
Zusammenfassung
Der zentrale Bereich eines Rechnersystems ist das Prozessor-Hauptspeicher-Cache-System. Alle anderen Komponenten werden über Eingabe und Ausgabe (Input und Output) angesprochen. Mit Ein-/Ausgabe werden z.B. alle externen Geräte, wie Tastatur, Maus, Laufwerke, Digitizer usw. erreicht. Aber auch die wichtigen Systembausteine auf der Hauptplatine, wie Interruptcontroller, DMA-Controller, Zeitgeberbaustein und die verschiedenen Schnittstellen werden mit Ein-/Ausgabe angesprochen. Diese Geräte und Bausteine haben zum Teil sehr spezifische Signale und Zeitsteuerungen. Die Ein-/Ausgabebausteine haben also die Funktion einer Übergabestelle zwischen dem Systembus und dem externen Gerät oder Baustein. Daher kommt auch die Bezeichnung I/O-Ports (port = Hafen). Andere Bezeichnungen für Ein-/Ausgabebausteine sind E/A-Bausteine, I/O-Devices, I/O-Kanäle oder einfach Ports.
Klaus Wüst
6. Systembus und Adressverwaltung
Zusammenfassung
In einem Rechnersystem werden intern fast pausenlos Daten zwischen Bausteinen übertragen. Dazu wandelt man die abstrakten Daten (0/1) in elektrische Pegel (LOW/HIGH) um und leitet sie über elektrische Leitungen. Allerdings gibt es einige Faktoren, die die Situation ziemlich kompliziert machen. Zunächst soll in jedem Schritt mehr als nur ein Bit übertragen werden, man benutzt daher mehrere Leitungen parallel. Sodann gibt es nicht nur einen Sender und einen Empfänger, sondern viele Bausteine, die sowohl Sender als auch Empfänger sein können: Prozessor, Speicher, E/A-Bausteine. Man könnte nun jeden Baustein mit jedem anderen durch ein eigenes Bündel von Leitungen verbinden, und zwar getrennt für jede Richtung. Das Ergebnis wäre eine hochkomplizierte (und teure) Hauptplatine, die trotzdem keinen Platz für Erweiterungskarten bietet. Man geht also einen anderen Weg: Es gibt nur ein Bündel von Leitungen, an das alle Teilnehmer parallel angeschlossen sind, den Bus (lat. omnibus = alle). An diesem Bus fließen nun die Daten von wechselnden Sendern zu wechselnden Empfängern in wechselnden Richtungen. Dies alles stellt bestimmte Anforderungen an die Ein- und Ausgänge der angeschlossenen Bausteine und ihre Ansteuerung:
  • Am Bus darf immer nur maximal ein Baustein als Ausgang d.h. Sender aktiv sein.
  • Nicht aktive Ausgänge dürfen die Busleitungen nicht beeinflussen.
  • Es muss für alle Operationen einen streng definierten Ablauf geben, das Busprotokoll.
  • Der Eingangslastfaktor der Empfängerbausteine darf nicht zu groß und der Ausgangslastfaktor der Senderbausteine nicht zu klein sein.
Klaus Wüst
7. Einfache Mikroprozessoren
Zusammenfassung
Auf Grund seines Hardwareaufbaus kann jeder Mikroprozessor eine ganz bestimmte Menge von Aktionen ausführen, diese Aktionen werden Maschinenbefehle genannt. Beispiele für Maschinenbefehle sind das Schreiben in den Hauptspeicher oder die Invertierung eines Bitmusters. Ein Maschinenbefehl wird im ausführbaren Code durch ein Bitmuster dargestellt, den Operationscode, meist kurz Opcode genannt. Der Opcode wird vom Prozessor unmittelbar eingelesen und interpretiert. Viele Maschinenbefehle erfordern zusätzlich zum OpCode einen oder mehrere Operanden, die den Opcode näher spezifizieren. Zum Beispiel braucht ein Maschinenbefehl, der in den Speicher schreibt, einen Operanden: Die Adresse, auf die geschrieben werden soll. Die Operanden-Bitmuster folgen dem OpCode auf unmittelbar anschließenden Speicherplätzen. Der Maschinencode ist die Sequenz von zusammenhängenden Maschinenbefehlen, die das ablaufende Programm darstellen. Maschinencode besteht also aus einer (meist ziemlich großen) Anzahl von Maschinenbefehlen, d.h. einer langen Folge aus Opcodes und Operanden (Abb. 7.1).
Klaus Wüst
8. Besondere Betriebsarten
Zusammenfassung
Ein Mikroprozessor arbeitet mit zahlreichen Bausteinen auf der Systemplatine und mit zahlreichen externen Geräten zusammen. Diese Bausteine und Geräte müssen in bestimmten Situationen Daten mit dem Prozessor austauschen, und zwar in beide Richtungen. Einige typische Beispiele:
  • Eine Taste auf der Tastatur wurde gedrückt,
  • die Maus wurde bewegt,
  • der Festplattencontroller sendet (zuvor angeforderte) Daten,
  • auf der Netzwerkschnittstelle treffen Zeichen aus dem Netzwerk ein,
  • der Zeitgeberbaustein meldet, dass die Systemzeit aktualisiert werden muss,
  • der Drucker hat in seinem internen Pufferspeicher wieder Platz für weitere Daten des Druckauftrags.
Klaus Wüst
9. Speicherverwaltung
Zusammenfassung
Der Mangel an Arbeitsspeicher ist eines der ältesten Probleme der Computertechnik und er hat Generationen von Programmierern und Anwendern geplagt. In manchen Fällen muss sich der Programmierer dieses Problems annehmen und beim Entwurf seines Programmes auf den begrenzten Speicher Rücksicht nehmen. Vielleicht wird er beispielsweise statt eines schnellen Algorithmusses einen langsameren mit geringem Speicherbedarf verwenden. Diese Situation findet man häufig bei Embbedded Systems, die in großen Stückzahlen produziert werden. Wenn ein Laufwerk vorhanden war, arbeitete man früher oft mit Overlays: Programmteile wurden nach Vorgabe des Programmierers zeitweilig ausgelagert. Bei PCs, Workstations und Großrechnern dagegen kann bei der Programmerstellung keine Rücksicht auf die Speichergröße genommen werden. Ein Programm wird auf vielerlei Rechnern mit völlig unterschiedlicher Speichergröße ausgeführt, ein evtl. Speichermangel muss beim Anwender behoben werden. Das bedeutet aber nicht unbedingt, dass mehr physikalischer Speicher installiert werden muss, vielmehr arbeitet das Betriebssystem mit virtuellem Speicher. Das Konzept des virtuellen Speichers bedeutet, dass aus der Sicht des Programmes immer genügend Speicher vorhanden ist und der Adressraum scheinbar (fast) unbegrenzt ist. Der Programmierer arbeitet mit virtuellen Adressen (logischen Adressen), die er völlig frei vergeben kann. Er muss keine Rücksicht darauf nehmen, ob diese Adressen im real vorhandenen physikalischen Arbeitsspeicher wirklich existieren. Das Betriebssystem löst diese Aufgabe mit der vorübergehenden Auslagerung von Speicherbereichen auf einen Massenspeicher, meistens die Festplatte.
Klaus Wüst
10. RISC-Technologie
Zusammenfassung
In Abschn. 7.2.2 wurde die Methode der Mikroprogrammierung vorgestellt. Dabei werden Sequenzen, die für die Steuerung des Prozessors gebraucht werden, einfach aus einem ROM-Baustein, dem Mikrocode-ROM, abgerufen. Ein Teil dieser Signale ist an die Adresseingänge des Mikrocode-ROMs zurückgeführt (Abb. 7.5), so dass über den Inhalt des ROMs auch die nächste Adresse vorgegeben wird. Auf diese Art lassen sich beliebige Steuersequenzen samt Verzweigungen und Wiederholungen erzeugen. Das Mikroprogramm wird in binären Mikrocode übersetzt, der im Mikrocode-ROM gespeichert ist. Der Befehlsdekoder wählt nach der Identifizierung des Befehles den richtigen Einsprungpunkt in den Mikrocode. Das Mikrocode-ROM liegt innerhalb des Prozessors und hat typischerweise eine Größe von einigen Kbyte. Die Einzelschritte des Mikroprogramms heißen auch Mikrooperationen (μOps).
Klaus Wüst
11. Single Instruction Multiple Data (SIMD)
Zusammenfassung
Bei Single Instruction Multiple Data wirkt ein Befehl nicht nur auf ein, sondern auf mehrere voneinander unabhängige Operandenpaare. Solche Aufgabenstellungen ergeben sich oft in der Wissenschaft und Technik. Ein Beispiel dafür wäre das Skalarprodukt zweier Vektoren:
$$\vec x\vec y = \sum\limits_{i = 1}^N {{x_i}{y_i} = {x_1}{y_1} + {x_2}{y_2} + {x_3}{y_3} + \ldots + {x_N}{y_N}} $$
Ein Prozessor, der dieses Produkt auf mehreren ALUs parallel berechnen kann, wird Vektorprozessor genannt.1 Ein SIMD-Befehl würde einen Vektorprozessor anweisen, auf der ersten ALU xly1, auf der zweiten ALU x2y2 usw. parallel zu berechnen. Ein Vektorrechner ist bei wissenschaftlichen Programmen mit vielen Berechnungen, die ähnlich dem SkalarproduktBeispiel sind, natürlich klar im Vorteil. Ein bekannter Computer mit Vektorprozessor ist die Cray-1 aus dem Jahr 1976, die tatsächlich überwiegend im wissenschaftlichen Bereich eingesetzt wurde. Vektorprozessoren waren zunächst teuren Supercomputern vorbehalten.
Klaus Wüst
12. Mikrocontroller
Zusammenfassung
Bei einem Mikrocontroller (Abk. MC oder μC) sind die CPU, Speicher, Peripheriekomponenten und Interruptsystem auf einem Chip integriert. Ein Mikrocontroller kann also mit sehr wenigen externen Bausteinen betrieben werden, man nennt sie daher auch Single-ChipComputer oder Einchip-Computer. Im Gegensatz zum Mikroprozessor steht beim Mikrocontroller nicht die hohe Verarbeitungsleistung im Vordergrund, sondern eine hohe funktionelle Integration: Je mehr Funktionen schon auf dem Mikrocontroller-Chip sind, um so weniger Zusatzbausteine braucht man. Dies hat viele Vorteile für die Herstellung vollständiger Systeme:
  • Der Schaltungsentwurf wird einfacher,
  • das vollständige System wird kompakter,
  • die Verlustleistung ist geringer,
  • durch die geringere Anzahl von Leitungen, Sockeln und Steckern verringert sich auch das Risiko von mechanischen Verbindungsstörungen,
  • die Fertigung und das Testen der Schaltungen kostet weniger.
Klaus Wüst
13. Digitale Signalprozessoren
Zusammenfassung
In der Technik wird an vielen Stellen mit Signalen gearbeitet, das heißt mit zeitabhängigen physikalischen Größen, die eine Information transportieren. Die Rauchzeichen der Indianer stellen ebenso ein Signal dar, wie der Luftdruck, der eine Barometerdose zusammendrückt oder der Strom, der in unserem Telefonhörer den Ton hörbar macht. Wenn das Signal zeit-und wertkontinuierlich vorliegt spricht man von analogen Signalen. Oft ist es notwendig, diese Signale zu verarbeiten, um
  • das Signal zu verändern, z.B. bei einer Rauschunterdrückung,
  • Eigenschaften des Signals zu ermitteln, z.B. Frequenzanteile,
  • Reaktionen aus dem Signal abzuleiten, z.B. in einer Regelung.
Klaus Wüst
Backmatter
Metadata
Title
Mikroprozessortechnik
Author
Klaus Wüst
Editor
Prof. Dr.-Ing. Otto Mildenberger
Copyright Year
2003
Publisher
Vieweg+Teubner Verlag
Electronic ISBN
978-3-322-92875-7
Print ISBN
978-3-528-03932-5
DOI
https://doi.org/10.1007/978-3-322-92875-7