Teil 2: Rechnerorganisation

Ähnliche Dokumente
Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation

F Ein einfacher Modellprozessor

Kontrollpfad der hypothetischen CPU

Kontrollpfad der hypothetischen CPU

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

H Hypothetischer Prozessor

Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

Prinzipieller Aufbau und Funktionsweise eines Prozessors


Von-Neumann-Architektur

H. Modellrechner. H.1. Einordnung

9. Assembler: Der Prozessor Motorola 68000

9. Assembler: Der Prozessor Motorola 68000

Vorlesung Rechnerarchitektur. Einführung

Die Mikroprogrammebene eines Rechners

5.1 Beschreibung des Prozessors M Programmierung in Maschinensprache. 5.1 Beschreibung des Prozessors M 68000

5. Programmierung in Maschinensprache

1 Rechnerstrukturen 1: Der Sehr Einfache Computer

Informatikgrundlagen I Grundlagen der Informatik I

Einführung in die Informatik

Mikroprozessor als universeller digitaler Baustein

Die HAM. Die Hypothetische Akku-Maschine

Rechnerstrukturen 1: Der Sehr Einfache Computer

Einführung in die Informatik

Mikrocomputertechnik. Einadressmaschine

Tutorium Rechnerorganisation

Informatik 12 Kapitel 3 - Funktionsweise eines Rechners

Teil VIII Von Neumann Rechner 1

Aufbau eines Taschenrechners

Mikroprozessoren. Aufbau und Funktionsweise. Christian Richter. Ausgewählte Themen der Multimediakommunikation SS 2005

Datenpfad einer einfachen MIPS CPU

Der von Neumann Computer

b i Ergänzung zu Vollkonjunktionen (ohne Indizierung i = 0... n-1): q = a b a b q = a b q = a b a b a b

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Grundlagen der Rechnerarchitektur

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

Arithmetische und Logische Einheit (ALU)

ARM-Cortex-M4 / Thumb-2-Befehlssatz Adressierungsarten und arithmetische Operationen

Datenpfad einer einfachen MIPS CPU

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

INFORMATIK Oberstufe. Funktionsweise eines Rechners

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 -

Vorwort Teil 1: Grundlagen 1. 1 Einleitung Grundbegriffe Einheiten Geschichte Arten von Computern 8

Mikrocomputertechnik 2.Mikroprozessor

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU

Rechnerorganisation. H.-D. Wuttke `

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9

Rechnerarchitektur Zusammengetragen vom Marc Landolt

Johann Wolfgang Goethe-Universität

Geräteentwurf mit Mikroprozessoren 1

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

Rechnernetze und Organisation

Vorlesung "Struktur von Mikrorechnern" (SMR)

4 Der Von-Neumann-Rechner als Grundkonzept für Rechnerstrukturen

Teil 1: Prozessorstrukturen

Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Arbeitsfolien - Teil 4 CISC und RISC

Informatik I Modul 5: Rechnerarithmetik (2)

3. Grundlagen der Rechnerarchitektur

H E F B G D. C. DLX Rechnerkern

L3. Datenmanipulation

13.2 Übergang zur realen Maschine

Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke `09

RO-Tutorien 3 / 6 / 12

Zusammenhang Interrupt, Befehlszyklus, indirekte Adressierung und Mikroprogramm [Stallings, Kap. 15, S ]

Computer-Architektur Ein Überblick

Fachbereich Medienproduktion

Technische Informatik I, SS 2001

Computersysteme. Fragestunde

Praktikum Mikrorechner 1 (Einführung)

ALU ALU. ALU-Aufbau. Eine ALU (arithmetisch-logische Einheit) besteht in der Regel aus. Addierer. Logischer Einheit. Shifter

32 Bit Konstanten und Adressierung. Grundlagen der Rechnerarchitektur Assembler 78

TI2 Übung 2. Hauptspeicher, 6809-Prozessor. 23. November 2004 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik

Übung Praktische Informatik II

3. Grundlagen der Rechnerarchitektur. Praktische Informatik 2. Wolfgang Effelsberg

Teil 1: Prozessorstrukturen

Die Arithmetisch-Logische Einheit ALU 74181

Technische Informatik I - HS 18

Inhaltsangabe. 2.1 DieCPU Der Speicher Die Busse Klassifikation der von-neumann-rechner... 37

Einstieg imperative Programmierung auf Von-Neumann-Rechnern

Praktikum Rechnerstrukturen Bogen 2

Assembler am Beispiel der MIPS Architektur

Teil 2: Rechnerorganisation

Teil 2: Rechnerorganisation

05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur

C. BABBAGE ( ): Programmgesteuerter (mechanischer) Rechner

ZENTRALEINHEITEN GRUPPE

Praktikum ASP Blatt 2 1. LEHRSTUHL FÜR RECHNERARCHITEKTUR UND PARALLELE SYSTEME Aspekte der systemnahen Programmierung bei der Spieleentwicklung

... Adressierung und Befehlsfolgen (1) Speicherbelegung. Hauptspeicheradressen. Inhalt von Speicherbelegungen: Operanden - Zahlen - Zeichen Befehle

Transkript:

Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation Mikroprogrammierung Entwurf einer hypothetischen CPU Prozessor = CPU ( Central Processing Unit ) Mikroprozessor = CPU auf einem Chip CPU = Steuerwerk + Rechenwerk Von Neumann Prinzip: Programme und Daten sind im gleichen Speicher E/A-Werk hier nicht weiter behandelt 2

Entwurf einer hypothetischen CPU (Forts.) Wieso zunächst Betrachtung einer hypothetischen CPU? hypothetische CPU: einfacher, übersichtlicher Aufbau aus bereits bekannten Komponenten einheitlicher Speicherzugriff kompakter Befehlssatz (ca. 25 Instruktionen) reale CPU: detaillierter Aufbau des Prozessors nicht dokumentiert verwirrende Vielzahl unterschiedlicher Speicherzugriffsmöglichkeiten sehr großer Befehlssatz (ca. 25 Instruktionen) viele neue, hier nicht betrachtete Architekturkonzepte (z.b. Instruktionspipelining, Parallelität, Out-of-Order Befehlsausführung) 3 Aufbau der hypothetischen CPU CPU besteht aus Datenpfad: Datenregister, ALU und MBR Adreßpfad: Programmzähler ( Program Counter, PC), Inkrementer und Adreßregister (MAR) Kontrollpfad: Instruktionsregister (IR), Kontrolleinheit ( Control Unit ) und Statusregister ( Condition Code Register, CCR) Speicher nicht Teil der CPU! 4 2

Speicherorganisation SRAM ( Static Random Access Memory ) mit 2 b Speicherzeilen allgemeiner Aufbau: 2 b n D-Flip-Flops je Zeile ein n-bit Wort Steuersignale E (Enable) und R/W (Read/Write) 5 RTL ( Register Transfer Language ) Arbeitsweise eines Prozessors läßt sich einfach durch Transfers von Registerinhalten beschreiben Notationen: [Di] [M(x)] [Y] [X] Beispiele: [D] [D] [D] [M(3)] [M(5)] [D] [D] [D]+ Inhalt von Datenregister D i Inhalt des Speichers M an Adresse x Transfer des Inhalts von Register X nach Register Y Registerinhalt von D nach D kopieren Speicherinhalt von Adresse 3 nach D kopieren Registerinhalt von D nach Speicheradresse 5 kopieren Registerinhalt von D inkrementieren [D] [M(AR)] Speicherinhalt von Adresse, die in einem Register AR enthalten ist, nach D kopieren RTL ist keine Programmiersprache! 6 3

Adreßpfad der hypothetischen CPU Adresse a ist eine b-bit Zahl, die die a-te Zeile eines Speichers aus 2 b Speicherzeilen auswählt jede n-bit Speicherzeile enthält eine Instruktion oder eine Zahl PC enthält die Speicheradresse der nächsten auszuführenden Instruktion Holen der nächsten Instruktion ( Fetch Phase) in RTL: FETCH: [MAR] [PC] [PC] [PC]+ [MBR] [M(MAR)] [IR] [MBR] CU [IR(Opcode)] 7 Adreßpfad der hypothetischen CPU (Forts.) Execute Phase: Ausführung der Instruktion in IR n-bit Instruktion besteht aus 8-Bit Befehlscode ( Operation Code oder Opcode ) und b-bit Adresse Ausführung jeder Instruktion unterschiedlich Beispiel: Execute Phase für die Instruktion MOVE 7,D in RTL: MOVE: [MAR] [IR(Addr)] [MBR] [M(MAR)] [D] [MBR] 8 4

Datenpfad der hypothetischen CPU n-bit ALU kann A) einstellige Operation auf Inhalt von Datenregister D ausführen (Beispiel: NOT D) B) zwei Operanden aus D und aus Speicheradresse a verknüpfen (Beispiel: ADD a,d) Auswahl der ALU-Funktion mittels Opcode und Steuerwerk Ergebnis einer arithmetischen oder logischen Operation in D Beispiel: Execute Phase für die Instruktion ADD 7,D in RTL: ADD: [MAR] [IR(Addr)] [MBR] [M(MAR)] ALU [D]; ALU [MBR] [D] ALU 9 Eine einfache n-bit ALU Arithmetische und Logische Einheit zur Addition, Multiplikation und bitweisen logischen Verknüpfung zweier n-bit Zahlen Aufbau: Auswahl von Addierer, Multiplexer oder Logikeinheit über zwei Multiplexer-Steuersignale ALU, ALU 2 5

Eine einfache n-bit ALU (Forts.) entweder die n höherwertigen oder die n niedrigwertigen Bits des 2n Bit breiten Produktes y = a b können ausgegeben werden bei Wahl von NOT= und CIN= kann Addierer auch y = a b berechnen Funktionen der Logikeinheit: F 2 F F Bedeutung y i = a i b i y i = a i + b i y i = a i b i y i = a i y i = a i y i = a i+ für i < n, y n = CIN, C = a y i = a i+ für i < n, y n = a n, C = a y i = a i für i >, y = CIN, C = a n Eine einfache n-bit ALU (Forts.) ALU generiert vier Statussignale: N=, wenn Ergebnis y negativ ist, d.h. wenn y n = Z=, wenn y = ist ( Zero ), d.h. wenn y n +... + y + y = V=, wenn im Addierer bei c n+ c n = ein Überlauf generiert wird ( overflow ) C=, wenn bei Addition oder Subtraktion zweier n-bit Zahlen das Carry-Bit c n+ gesetzt ist, oder: C=, wenn bei Linksschieben einer n-bit Zahl a das Bit a n = ist, bzw. wenn bei Rechtsschieben von a das Bit a = ist 2 6

Befehlssatz der hypothetischen CPU arithmetische und logische Befehle: AND a,d bitweise UND-Verknüpfung von [M(a)] und [D] OR a,d bitweise ODER-Verknüpfung von [M(a)] und [D] XOR a,d bitweise XOR-Verknüpfung von [M(a)] und [D] NOT D Negation (er-komplement) von [D] LSR D Logisches Rechtsschieben von [D], Bit nach C ASR D Arithmetisches Rechtsschieben von [D], Bit nach C ROR D Rechtsrotieren von [D], C nach Bit n, Bit nach C LSL D Logisches Linksschieben von [D], Bit n nach C ROL D Linksrotieren von [D], C nach Bit, Bit n nach C ADD a,d Addition von [M(a)] und [D] ADDC a,d Addition von [M(a)] und [D] und C SUB a,d Subtraktion [D]-[M(a)] MUL a,d Bits n,..., der Multiplikation von [M(a)] und [D] MULH a,d Bits 2n,...,n der Multiplikation von [M(a)] und [D] 3 Befehlssatz der hypothetischen CPU (Forts.) Lade- und Speicherbefehle: MOVE a,d MOVE D,a MOVE #x,d Laden von [D] mit Inhalt von Speicheradresse a Speichern von [D] in Speicheradresse a Laden einer Konstanten x in D beim Befehl MOVE #x,d befindet sich die Konstante x im Adreßfeld der Instruktion: zur Kodierung von x stehen nur b < n Bits zur Verfügung beim Transfer [D] [IR(Addr)] wird durch Ergänzung führender Bits mit Wert x b ein n-bit Operand generiert 4 7