Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Technische Informatik II

Ähnliche Präsentationen


Präsentation zum Thema: "Technische Informatik II"—  Präsentation transkript:

1 Technische Informatik II
(für Bachelor) Vorlesung 13: Grundstruktur des programmgesteuerten Universalrechners , v9 Quellen: Zum Teil aus den Unterlagen „Digitale Systeme“, Prof. Schimmler,

2 Blockdiagramm eines von Neumann-Rechners
Grundarchitektur Blockdiagramm eines von Neumann-Rechners 4 Einheiten (Automaten)

3 Blockdiagramm eines von Neumann-Rechners
Grundarchitektur Blockdiagramm eines von Neumann-Rechners 1. Fetch 2. Execute

4 Flussdiagramm des Befehlswerkes
1. Fetch 2. Execute

5 Struktur von Maschinenbefehlen
Die Anweisungen einer Maschinensprache lassen sich grundsätzlich in vier Gruppen aufteilen: Anweisungen, die eine von der Zentraleinheit (CPU) auszuführende Datenmanipulation spezifizieren (Rechenwerksbefehle) Anweisungen, die den Interpretationsablauf eines Maschinenprogramms steuern (Sprungbefehle) Anweisungen, die den Datenfluss zwischen Hauptspeicher und Zentraleinheit bzw. innerhalb der Zentraleinheit steuern (Transportbefehle) Anweisungen zur Steuerung der Ein-/Ausgabe

6 Struktur von Rechenwerksbefehle
Spezifizierung des ersten Operanden (d.h. seiner Adresse) 2. Spezifizierung des zweiten Operanden (entfällt bei monadischen Operationen) 3. Spezifizierung der Adresse, an die das Ergebnis geschrieben werden soll 4. Spezifizierung der Operation, die auf den beiden Operanden ausgeführt werden soll 5. Spezifizierungen der Adresse derjenigen Anweisung, die als nächste ausgeführt werden soll

7 Beispiel einer Befehlsliste

8 Programmbeispiel für den Mikrorechner

9 Flussdiagramm und das Programm in Maschinensprache

10 Adressen Eine Adresse kennzeichnet einen Platz im Speicher, an dem ein
Operand oder ein Befehl gefunden werden kann. Mehrere Adressen pro Befehl Für die Operation A + B = C müssten drei Operandenadressen angegeben werden.

11 Adressen (b) Eine Adresse pro Befehl
Das Beispiel A + B = C muss dann z. B. in die folgende Sequenz von Ein-Adress-Befehlen aufgelöst werden: 1. Hole A nach AK 2. Addiere B zu AK 3. Speichere AK nach C

12 Adressen (c) Nulladressbefehle
typ. Rechenanweisungen: MOP (monadischer Operator für oberstes Speicherwort) DOP (dyadischer Operator für die beiden obersten Speicherworte) typ. Transportanweisungen: PUSH (auf den Stapel geben) POP (vom Stapel abziehen)

13 Kurzadressen für Registerbefehle
Beispiel: Wortbreite von 22 Bit Speicherbefehlswortstruktur ist: 22 Bits

14 Adressierungsformen 1. Unmittelbare Adressierung
Bei der unmittelbaren Adressierung (immediate) stellt die "Adresse" das Datenwort selbst dar.

15 Beispiel 8 x 4-Bit Speicher
Speichereinheit Beispiel 8 x 4-Bit Speicher 1 1 2 2 3 3 4 4 5 1 1 1 5 6 6 7 7 101=5 1011 3 Bit Adresse Eingabe Ausgabe 3 Bit Adresse Ein/Ausgabe

16 Adressierungsformen 2. Direkte Adressierung

17 Adressierungsformen 3. Relative Adressierungen
a) Adressenänderung I. Art (Basisadressierung) Die im Befehl referierte Adresse stellt eine Adressverschiebung (displacement, auch offset genannt) dar, die additiv einer in einem Register gespeicherten Basisadresse hinzugefügt wird: absolute Adresse (n) = feste Basisadresse (no) + relative Adresse (Δn) 17 Basis n0 Max. Δn = 210 Δn Max= 216 Kennzeichen für Adressenänderung I. Art

18 Adressierungsformen 3. Relative Adressierungen
(b) Seitenadressierung (Paging) Aus technischen Gründen kann es zweckmäßig sein, den logischen Adressraum in eine Anzahl von Unterräumen konstanter Größe einzuteilen. Da die Adressen eines Unterraumes zusammenhängend sind, lassen sich die entsprechenden Speicherplätze relativ adressieren. Diese Unterräume werden Seiten (pages) genannt. Im Gegensatz zur Adressenänderung I. Art wird keine Addition zur Bestimmung der absoluten Adresse benötigt. 25 Seiten je 28 Worte 32 Seiten je 256 Worte mit direkter Seitennummernangabe

19 Adressierungsformen 4. Indirekte Adressierung (Adressenänderung II. Art) Bei der indirekten Adressierung ergibt sich die Adresse des gesuchten Wertes aus dem Inhalt des Speicherwortes der angegebenen Adresse (Adresse von Adresse): Gesuchtes Wort = <<Angegebene Adresse >> 563 Beispiel: Indirekte Adresse n1= 35 => <<35>> = 563 11453 Operand=563 n2 = 11453 Max. Adressgröße = 216 ca 32 bits Max. Adressraum = 232 ca. 4 G Wort 35 Adresse n2=11453 Kennzeichen für Adressenänderung II. Art 16 bits n1= 35

20 Adressierungsformen 4. Indirekte Adressierung (Adressenänderung II. Art) Mögliche technische Ausführung Kennzeichen für Adressenänderung II. Art

21 Adressierungsformen 4. Indirekte Adressierung (Adressenänderung II. Art) Für die Ausführung der Adressenänderung ist das Befehlswerk entsprechend dem Ablaufprogramm wie folgt:

22 Adressierungsformen 5. Indizierte Adressierung (Adressenänderung III. Art) Bei der indizierten Adressierung werden Adressen benutzt, die additiv zu einer in einem Indexregister gespeicherten Adressverschiebung hinzugefügt werden. Im Gegensatz zur Adressierung mit Hilfe einer Basisadresse befindet sich dabei die Adressverschiebung (displacement) in einem im Befehl referierten Indexregister. Ende/Erkennung

23 Adressierungsformen 5. Indizierte Adressierung (Adressenänderung III. Art) Anfangsadresse . Index Reg. Inhalt Hier beenden

24 Beispiel: Indizierte Adressierung. Statistik von Klausurergebnissen
300 Klausuren, Max. Punktenzahl=60 (0 …60) Zähler bilden und löschen Z0 Punktezah. 300 Klausuren Anzahl Z2 Z60 3 6 5 Notenhäufigkeit zählen 11 K1 K2 K300 1 59 60 6 .. 11 5 Drucken

25 Beispiel: Assemblerprogramm dazu
Speicherbelegung Zählerliste Note =0 Bis Note=60 Parameter Konstanten 300 Klausuren markiert II: Adressenänderung 2. Art III: Adressenänderung 3. Art

26 Befehle von Mikrorechnern
Logische und arithmetische Befehle - AND logisches UND - OR logisches ODER - XOR exklusives ODER - NOT Negation Arithmetische Anweisungen für ganzzahlige Operanden Addition Subtraktion Multiplikation Division Arithmetische Anweisungen für Dezimalzahlen Einige Rechner verfügen zusätzlich auch über solche Anweisungen, die eine Manipulation von Dezimalzahlen erlauben.

27 Befehle von Mikrorechnern
Arithmetische Anweisungen für Gleitkomma-Operanden Zum Beispiel für Gleitkomma-Addition Angleichung der Exponenten Addition der Mantissen als ganze Zahlen Abschlussbehandlung: Abhängig von den Vorzeichen der beiden Operanden werden im letzten Schritt Korrekturen am Ergebnis vorgenommen Schiebebefehle Die meisten Rechner verfügen über zwei Arten von Schiebeoperationen (Shift) logische: Hierbei wird der Inhalt eines Registers oder einer Speicherzelle als Bitfolge interpretiert arithmetische: Hierbei wird der Inhalt eines Registers als Binärzahl in 2-Komplement-Darstellung interpretiert

28 Befehle von Mikrorechnern
Logische Verschiebungen Schieben links Schieben rechts Rotieren links Rotieren rechts Doppeltschieben links Analog zur 5. Anweisung gibt es auch die Anweisungen 2 bis 4 für doppeltlange Operanden

29 Befehle von Mikrorechnern
Arithmetische Verschiebungen 1. Schieben links 2. Schieben rechts 3. Doppeltschieben links 4. Doppeltschieben rechts Vergleichsbefehle

30 Befehle von Mikrorechnern
Befehle zur Steuerung des Programmablaufs Sprungbefehle - Springe, falls Ergebnis gleich null - Springe, falls Ergebnis kleiner null - Springe, falls erster Operand kleiner als zweiter - Springe, falls Anzeige mit Maske xxx übereinstimmt etc. Unterprogrammsprünge Realisierungsmöglichkeiten: Die Rücksprungadressen werden auf einem Stapelspeicher abgelegt, wodurch geschachtelte Unterprogrammaufrufe sehr leicht möglich sind. Die Rücksprungadresse wird in einem allgemeinen oder speziellen Register abgelegt. Bei geschachtelten Unterprogrammaufrufen wäre dann vom Programmierer eine entsprechende Aufbewahrung aller alten Rücksprungadressen notwendig. Am Anfang eines Unterprogramms wird eine Speicherzelle reserviert, in die die Rücksprungadresse automatisch eingetragen wird.

31 Unterbrechungen (Interrupt)
Ein Interrupt ist eine Art impliziter Unterprogrammaufruf, der unter bestimmten Bedingungen erfolgt. Ursachen für das Eintreten von Unterbrechungsbedingungen a) Interne Unterbrechungsursachen: Programmfehler 􀂃 Division durch Null 􀂃 Bereichsüberschreitung bei arithmetischen Operationen 􀂃 Missachtung von Schutzmechanismen (z.B. Schreiben in eine Seite, auf die nur lesender Zugriff erlaubt ist) 􀂃 Undefinierter Operationscode 􀂃 Unzulässige Hauptspeicheradresse 􀂃 Stack-Überlauf 􀂃 Ansprechen eines nicht vorhandenes E/A-Gerätes Hardware-Fehler: Stromausfall, Ausfall eines Speichermoduls … Generierte Unterbrechungen: z.B. für Testzwecke

32 Unterbrechungen (Interrupt)
b) Externe Unterbrechungsursachen:: werden von Ein-/Ausgabegeräten verursacht … wie "Controller bereit", "Fehler" u.ä. c) Programmierte Unterbrechungen: Systemaufrufe

33 Unterbrechungen (Interrupt)
Bei allen Unterbrechungen müssen in einem Prozessor prinzipiell folgende Schritte realisiert werden: Der Prozessor wird durch ein Unterbrechungssignal veranlasst, nach Abarbeiten der gerade interpretierten Anweisung nicht zur sequentiell folgenden Anweisung über zu gehen. 2. Die Adresse dieser Anweisung, die im Befehlszähler steht, muss an einer vereinbarten Stelle im Hauptspeicher bzw. auf einem Stack (falls ein solcher vorhanden ist) gespeichert werden, um ein späteres Fortsetzen des unterbrochenen Programms zu ermöglichen. 3. Die Anfangsadresse der Unterbrechungsbearbeitungsroutine muss an einer fest vereinbarten Stelle im Hauptspeicher verfügbar sein. 4. Für diese Routine müssen Hinweise über die Unterbrechungsursache im Hauptspeicher oder in speziellen Registern zur Verfügung stehen. 5. Es sollte möglich sein, die Annahme von Unterbrechungssignalen für eine gewisse Zeit zu unterbinden (maskieren). (Dies ist allerdings nicht in allen Prozessoren möglich.)

34 Die Heutigen Personal Computers*

35 Die Heutigen Personal Computers

36 Pentium Motherboard CPU D-RAM I/O Slots Busse Drucker Audio
USB Tastatur CPU Vorlesung TI-1 & TI-II - C-MOS Transistoren - Leitungen - Gatter, Flip-Flops Automaten Speicher D-RAM Anschlusse Plattenspeicher DVD, Floppy

37 Busstruktur heutiger PCs
CPU D-RAM

38 Assembler Befehlssatz

39 Intel 80x86-Prozessor Befehle

40 Kategorien der Assembler Befehle

41 Pentium-4 Befehlsumfang-1
SRC: Source (Quelle) DST: Destination (Ziel)

42 Pentium-4 Befehlsumfang-2
SRC: Source (Quelle) DST: Destination (Ziel)

43 Pentium-4 Befehlsumfang-3

44 Pentium-4 Befehlsumfang-4

45 Pentium-4 Befehlsumfang-5

46 Pentium-4 Befehlsumfang-6


Herunterladen ppt "Technische Informatik II"

Ähnliche Präsentationen


Google-Anzeigen