Technische Informatik II

Slides:



Advertisements
Ähnliche Präsentationen
Programmierung: Einführung
Advertisements

CPI Der einzelne Befehl braucht immer noch 5 Zyklen (stimmt nicht ganz, einige brauchen weniger!) Was verbessert wird, ist der Durchsatz = #Befehle /
Zahlendarstellung in den Rechnern Z1 und Z3
Befehlssatz und Struktur
1 Was ist ein klassischer Prozess? A eine exe-Datei B log. Adressraum, Ablaufumgebung für genau einen Thread C log. Adressraum, Ablaufumgebung für eine.
Variablen und Datentypen
4. Schaltalgebra, Rechneraufbau
Zentraleinheit CPU, Motherbord, RAM
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
Formale Sprachen – Mächtigkeit von Maschinenmodellen
Kapitel 3 5 Rechnerorganisation
Neumannrechner.
Dynamischer Speicher. In einer Funktion wird z.B. mit der Deklaration int i; Speicher auf dem sogenannten Stack reserviert. Wenn die Funktion verlassen.
W. Oberschelp G. Vossen Kapitel 7.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 8.1.
Aufbau und Funktionsweise von Prozessoren
Imperative Programmierung
2.5. Mikrocontroller-Komponenten
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
4. Mikrocontroller-Komponenten
EDO-RAM,SDRAM,RDRAM,DDR2-SDRAM.
So arbeitet ein PC.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Aufbau eines von-Neumann- Rechners Marcel Waldvogel.
Grundlagen der Informatik - Prof. Slany 1 Grundlagen der Informatik Prof. Wolfgang SLANY.
Siemens 2002 • Kernspeicher Kernspeicher
Technische Informatik II Übung 2: Konvertieren von Zahlen
DATEISPEICHER in der S P S
PHP: Operatoren und Kontrollstrukturen
Datenverarbeitung im PC
Technische Informatik II
Technische Informatik II
Seite 1 Technische Informatik II (INF 1211) – Kurzfragenteil (Ohne Unterlagen) Am Prof. W. Adi Zeit: (20 Minuten) Bitte schreiben Sie die Lösung.
Seite 1 Technische Informatik II (INF 1211) – Kurzfragenteil (Ohne Unterlagen) Am Prof. W. Adi Zeit: (20 Minuten) Bitte schreiben Sie die Lösung.
Rechnerarchitekturen
Verarbeitung und Computerinneres
Johann Baron von Neumann
Aufbau, Funktion und Grundzusammenhänge
Technische Informatik II (INF 1211) Aufgabenteil (Mit Unterlagen)

Prozessoren (CPU) Ahmet Aktas, HWI I.
Vertiefungsstoff zum Thema „Darstellung von Zahlen“
X. Übungsblatt – Aufgabe X Die Zahlendarstellung im IEEE Standard 754 (single precision): Allgemein gilt: Z = (-1) V * (1 + M) * 2 (E - BIAS) a)Welche.
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
Hardware und Software Was macht einen Computer zum Computer?
ETI-Praktikum: Mikroprogrammierung Vorzeichenlose 32-Bit-Division Gruppe 27: Jakob Klein Arne Wirtz Gerrit Blöss SS 2006.
Hardware.
Wiederholte Programmausführung
Hardware.
Hardware Ordne die Begriffe den Bildern zu!
Praktische Informatik 1
oder: wie Computer die Welt sehen
Aufbau und Funktionsweise einer CPU
Präsentation Binär.
Grundlagen der Informationsverarbeitung
Datentypen: integer, char, string, boolean
Programmieren in C Wie speichert C
DATEN (INFORMATIONEN) KENNTNISSE ÜBER EINE BESTIMMTE ERSCHEINUNG
oder Womit genau ein Prozessor seine Zeit verbringt
Datentypen: integer, char, string, boolean
Technische Informatik II
CPU Furkan Dogan.
Vom HW-Automaten zum Prozessor
Vom Transistor zum HW-Automaten
Grundlagen der Rechnerarchitektur [CS ]
Unterschiedliche Kontrollstrukturen
Prof. J. Walter Bitte römische Zahlen im Geschichtsunterricht!
Die Komponenten Von einem PC.
Hardware.
 Präsentation transkript:

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

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

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

Flussdiagramm des Befehlswerkes 1. Fetch 2. Execute

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

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

Beispiel einer Befehlsliste

Programmbeispiel für den Mikrorechner

Flussdiagramm und das Programm in Maschinensprache

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.

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

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)

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

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

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

Adressierungsformen 2. Direkte Adressierung

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

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

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. 64 000 32 bits Max. Adressraum = 232 ca. 4 G Wort 35 Adresse n2=11453 Kennzeichen für Adressenänderung II. Art 16 bits n1= 35

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

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

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

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

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 0. 3 6 .. 11 5 Drucken

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

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.

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

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

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

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.

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

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

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.)

Die Heutigen Personal Computers*

Die Heutigen Personal Computers

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

Busstruktur heutiger PCs CPU D-RAM

Assembler Befehlssatz

Intel 80x86-Prozessor Befehle

Kategorien der Assembler Befehle

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

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

Pentium-4 Befehlsumfang-3

Pentium-4 Befehlsumfang-4

Pentium-4 Befehlsumfang-5

Pentium-4 Befehlsumfang-6