Lösung für Übung 4

Musterlösung 4
Mikroprozessor & Eingebettete Systeme 1
WS2014/2015
Hinweis:
Dieses Skript dient nur zum Gebrauch neben der Vorlesung. Der Inhalt der
Vorlesung folgt den Darstellungen in den Lehrbüchern (siehe
Literaturangaben). Die folgenden Aufgaben erheben nicht den Anspruch, eine
tiefergehende Kenntnis zu vermitteln; sie sollen lediglich den Einstieg in
weiterführende Literatur erleichtern.
Thema: Mikroprozessor System und Mikroprogrammierung
Lösungsblatt Nr.:
4
Datum:
24.11.2015
1
Aufgabe 1 (Mikroprozessorsystem)
1.1 Zeichen Sie den schematischen Aufbau einer Von-Neumann- und einer HarvardArchitektur.
Lösung:
1.1 Von-Neumann:
Steuerwerk
Rechenwerk
Dekoder
ALU
Statusregister
Befehlszähler
Register (Zwischenspeicher)
Befehlsregister
Befehle
Daten
Speicherwerk
Ein-/Ausgabe
Speicher für
Daten und Programme
Harvard:
Adressbus
Prozessor
Datenspeicher
Programmspeicher
Datenbus (Daten, Befehle)
1.2. Erläutern Sie die Vor- und Nachteile der Von-Neumann-Architektur und der HarvardArchitektur.
Lösung:
Harvard
-Befehlsspeicher
und
Datenspeicher
getrennt.
-Datenbus, Befehlsbus und Adressbus
getrennt.
Von-Neumann
- Befehlsspeicher und Datenspeicher in
einem gemeinsamen Speicherplatz
-Datenbus
und
Befehlsbus
gemeinsam(Mltiplexbetrieb)
2
-Parallelverarbeitungsmöglichkeit
-sequentiell Verarbeitungskonzept
(Instruktion holen,
Data holen,
Ausführen)
1.3 Geben Sie für beide Architekturen an, zu welcher Klasse die jeweilige Architektur nach der
Flyn‘schen Klassifikation gehört.
Lösung:
Von-Neumann SISD
Harvard  SISD
Aufgabe 2
2.1 Was versteht man unter einer mikroprogrammierten Steuerung?
Lösung:
Die Mikroprogrammierte Steuerung ist eine Sammlung der Funktionen, die sich in einem
Speicher befinden z.B. RAM, ROM, EEPROM... und ermöglichen durch die Änderungen
dieser Speicherinhalte beliebige Funktionalität.
2.2 Vergleichen Sie die festverdrahtete Steuerung mit der mikroprogrammierten Steuerung
und nennen Sie jeweils die Vor- und Nachteile.
Vorteil
Festverdrahtete Steuerung
-Realisiert in Logik(Schaltung)
-schnelle Steuerung
Nachteil
-Nicht flexibel
Mikroprogrammierte Steuerung
-Realisiert in Speicher
-Hardware sparend: neue Funktionalitäten nur
mit der Programmänderung
-flexibel: kann relativ schnell angepasst werden
-langsame Steuerung: muss für jeden Befehl
einige Schritten gemacht werden
2.3 Erklären Sie anhand einer Skizze die Begriffe „vertikale Mikroprogrammierung“,
„horizontale Mikroprogrammierung“ und „quasi-horizontale Mikroprogrammierung“.
In der horizontalen Mikroprogrammierung werden die Ausgänge der Steuermatrix die
entsprechenden Schaltkreise aktivieren, ohne nochmals durch einen Decoder entschlüsselt
werden zu müssen.
Steuermatrix
Picoanweisungen
...
3
In der Quasi-horizontalen Mikroprogrammierung werden einige Mikrobefehle(z. B. ein
Rechts-Shift und ein Links-Shift) zusammengefast. Allerdings dies führt zu verwenden des
Decoders zu Entschlüsselung dieser Befehle. Z.B sind es vier Befehle zusammengefasst,
wird 2 Bits Decoder gebraucht.
Steuermatrix
2 Bit
verschlüsselt
Nanoanweisungen
Decoder
...
Picoanweisungen
In der vertikalen Mikroprogrammierung besteht ein Mikrobefehl aus einem Operations- und
einem Adressteil. Um diese Verfahren umzusetzen, verwendet man eine zweistufige
Verschlüsselung. Zuerst wird der Operationsteil entschlüsselt und dieser gibt dann, je nach
Bedarf, die einzelnen Adress-Decoder frei.
Steuermatrix
Operationsteil
Mikroanweisungen
Adressteil
...
Decoder
&
Nanoanweisungen
&
Picoanweisungen
2.4 Nennen Sie die wichtigsten Vor- und Nachteile der oben genannten Arten von
Mikroprogrammierung.
Lösung:
Vertikale
Horizontale
Quasi-horizontalen
4
Mikroprogrammierung
-Kleines Memory Control
-kleine Wortbreite
-Platz sparendes
-übersichtliches Routing
Vorteil
Nachteil
-kein Parallelismus
-Längere
Mikroprogramme
-Stark Kodiert
-langsame
Arbeitsgeschwindigkeit
Mikroprogrammierung
-Wenig Kodierung
-Kürzere Mikroprogramme
-Hoher Parallelismus
-Einfache
Hardwareimplementierung
-Breite Wortformate
-Längere
Arbeitszeit(zusätzliche
Decoder)
Mikroprogrammierung
-geringere Wortbreite
-Wenig Kodierung
- Einfache
Hardwareimplementierung
-Längere
Arbeitszeit(zusätzliche
Decoder)
-Wenig Kodierung
2.5 Welche Art der Mikroprogrammierung benötigt nicht unbedingt einen zusätzlichen
Decoder?
Lösung:
Horizontale Mikroprogrammierung
Aufgabe 3
3.1 Beschreiben Sie, welche Aufgaben das Leitwerk erfüllt.
Lösung:
Das Leitwerk (Steuerwerk )





Verbindet Hardware mit Software
Wandelt das im Speicher vorhandene Programm in eine Reihe von Mikrobefehlen
Ermittlung der aktuell richtigen Adresse
Überwachung und Synchronisation aller zu einem Prozess gehörenden Komponenten
Auswahl und Abarbeitung von Befehlen (Mikroprogrammen)
3.2 Geben Sie an, welche Befehlsarten es gibt und geben Sie Beispiele für jede Befehlsart an.
Lösung:
1. Transportbefehle
 Interne Transporte (Register zu Register)
 Schiebebefehle
 Externe Transporte (Arbeitsspeicher, E/A-Systeme)
2. Verknüpfungsbefehle
 Arithmetische Befehle
 Logische Befehle
5
3. Ablaufbefehle
 Sprungbefehle
 Systembefehle (Interrupts = Unterbrechungsbefehle, Speicherverwaltung)
Aufgabe 4
4.1 Zeichnen Sie den prinzipiellen Aufbau eines Mikroprozessorsystems. Erklären Sie die
Begriffe: Daten-, Steuer- und Adressbus.
Lösung:
Steuerwerk
Datenbus
Interner Bus
Operationswerk
Registersatz
Adresswerk
Systembusschnittstelle
Adressbus
Steuerbus
Datenbus: Dient Zur Datenübertragung zwischen dem Prozessor, dem Arbeitsspeicher
und den Peripherien. Die Datenfreigabe erfolgt durch den Prozessor jeweils nur für einen
Komponenten.
Steuerbus: Der Steuerbus dient zur Übertragung der Steuersignale an die einzelnen
Komponenten. Z.B. die Leitungen für die Lese/Schreib-Steuerung (Richtung auf dem
Datenbus), Interrupt-Steuerung, Buszugriffssteuerung, Reset- und Statusleitungen.
Adressbus: Auf dem Adressbus wird die Adresse angelegt, aus der die Daten gelesen
oder wohin sie geschrieben werden sollen. Die Anzahl der Adressleitungen bestimmt
wieviel Speicherstellen direkt adressierbar sind. z.B. Adressbus mit n Adressleitungen,
kann bis zu 2n Speicherstellen adressieren. Maximal adressierbar Speicherplätze= 2
°Anzahl der Adressbusleitungen.
4.2 Wie groß ist der Speicherbereich, welcher mit 16, 24 oder 32 Adressleitungen
angesprochen werden kann, wenn hinter jeder Adresse ein Byte steht? Drücken Sie die
Ergebnisse in KiByte bzw. MiByte aus.
Lösung:
Hinweis:
210= 1024 =1KB (Kilo)
6
220 = 1MB (Mega)
230 = 1GB (Giga)
240 = 1TB (Terra)
250 = 1PB (Peta)
Adressleitungen (Adressbusbreite):
16 = A0-A15
24=A0-A23
32=A0-A31
Wie können über 16 (24, 32) verschiedene Adressleitung zu den 2 16 (224,232)
verschiedenen Adressen zugreifen.
216 = 2 10 * 26 = 1K * 64 = 64KB (64 Kilobyte)
224 = 220 * 24 = 1M * 16 = 16MB (Megabyte)
232 = 230 * 22 = 1G * 4 = 4GB (Gigabyte)
Aufgabe 5
Erklären Sie die folgenden Begriffe:
- MSB (Most Significant Bit) und LSB (Least Significant Bit)
- Big- und Little-Endian-Format
Lösung:
- MSB (Most Significant Bit) und LSB (Least Significant Bit)
Das höchstwertige Bit ist das Bit, das innerhalb der Zahl an der Stelle mit dem höchsten
Stellenwert steht. Bei einer n-stelligen Binärzahl ist also dasjenige Bit das höchstwertige
Bit, das an der n-ten Stelle steht.
Das niedrigstwertige Bit ist das Bit, das innerhalb der Zahl an der Stelle mit dem
niedrigsten Stellenwert steht. Bei einer n-stelligen Binärzahl ist also dasjenige Bit das
niedrigstwertige Bit, das an der niedrigsten Stellenwert 1 steht.
- Big- und Little-Endian-Format
7
Den Begriff „Big- und Little-Endian“ verwendet man in der Regel wenn man über mehr als
ein Byte z.B. 2Bytes(Word) oder 4Bytes(Double Word) spricht, weil sie nicht vollständig in
einer Speicherzelle des Computer-Prozessors gespeichert werden können. Dabei
bezeichnet man die Reihenfolge der Bearbeitung der Bytes.
Wenn das MSB an der niedrigsten Speicheradresse sich befindet, spricht man das BigEndian-Format.
Wenn das LSB an der niedrigsten Speicheradresse sich befindet, spricht man das LittleEndian-Format.
Speicher Adresse
+0
+1
+2
+3
Big- Endian
Byte 0
Byte 1 Byte 2 Byte 3 MSB an der niedrigsten
Speicheradresse
Little- Endian
Byte 3
Byte 2 Byte 1 Byte 0 LSB an der niedrigsten
Speicheradresse
z.B.: Es sei Datei h’12345678 im Speicher.
Big-Endian-Format.
12
Adresse
34
Adresse+1
56
Adresse+2
78
Adresse+3
Wenn das LSB an der niedrigsten Speicheradresse sich befindet, spricht man das Little –
Little-Endian-Format.
78
Adresse
56
Adresse+1
34
Adresse+2
12
Adresse+3
8