Aufbau und Funktionsweise einer CPU

Slides:



Advertisements
Ähnliche Präsentationen
Vom HW-Automaten zum Prozessor
Advertisements

Der Einfachstrechner in Aktion
Programmierung: Einführung
4.5 Virtueller Speicher Problemsituation: Programme und Daten sind zu groß für den verfügbaren Arbeitsspeicher Frühere Lösung Aufspaltung der Programme.
CPI Der einzelne Befehl braucht immer noch 5 Zyklen (stimmt nicht ganz, einige brauchen weniger!) Was verbessert wird, ist der Durchsatz = #Befehle /
Multiplizierer Gesucht: Schaltkreis zur Multiplikation zweier Binärzahlen , Beispiel: RW-Systemarchitektur Kap. 3.
Befehlssatz und Struktur
Claas J. Cornelius - Ogg-on-a-chip - MDCT MDCT Funktionsweise und Limitierende Faktoren.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Zentraleinheit CPU, Motherbord, RAM
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Agenda Die Hardwearkomponenten und ihre Funktionen - Mikroprozessor
Zentraleinheit CPU, Motherbord, RAM
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
CPU, Programmausführung
Kapitel 3 5 Rechnerorganisation
Neumannrechner.
Das Halteproblem. Gibt es einen Algorithmus, mit dem man für jedes beliebig vorgegebene Programm R und für jede beliebig vorgegebene Eingabe E entscheiden.
Kapitel 1 Die natürlichen und die ganze Zahlen. Kapitel 1: Die natürlichen und die ganzen Zahlen © Beutelspacher/Zschiegner April 2005 Seite 2 Inhalt.
Aufbau und Funktionsweise von Prozessoren
THEMA Prozessoren 1 Grundlagen Hardware Teil II © Dr. G. Hellberg November 2000.
THEMA Prozessoren 1 Grundlagen Hardware © Dr. G. Hellberg November 2000.
von Dennis Braun Till Meyenburg Marvin Barghorn
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
Ablaufsteuerung (Microcode)
Der Simple As Possible Computer
Wichtige Fachausdrücke in C
Programmieren mit MS Small Basic
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Aufbau und Funktionsweise
INTEL Pentium 4 Prozessor
Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober Mikrocomputertechnik Jürgen Walter 8PLUS5-Quickie Einfache Addition 8051-Architektur.
Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober Mikrocomputertechnik Jürgen Walter Indirekte Adressierung- Quickie Beschreibung.
Universelle Registermaschine
3.4 CPU-Chips und Busse CPU-Chips
Grundlagen der Informatik - Prof. Slany 1 Grundlagen der Informatik Prof. Wolfgang SLANY.
Übersicht: Hardware Zentraleinheit EVA-Prinzip
Verzweigungen in Delphi
Programmieren in Assembler
DATEISPEICHER in der S P S
Datenverarbeitung im PC
Seite 1 Technische Informatik II (INF 1211) – Kurzfragenteil (Ohne Unterlagen) Am Prof. W. Adi Zeit: (20 Minuten) Bitte schreiben Sie die Lösung.
Rechnerarchitekturen
Johann Baron von Neumann
Universität Rostock Fachbereich Elektrotechnik und Informationstechnik Institut für Angewandte Mikroelektronik und Datentechnik Eine Prozessorarchitektur.
Central Processing Unit (Zentraleinheit)
Aufbau, Funktion und Grundzusammenhänge
Der Prozessor Von Stephan Blum.
Funktionsweise und Aufbau einer CPU & der zeitliche Ablauf des x86
Medizinische Statistik und Informationsverarbeitung Quade Institut für Medizinische Biometrie, Informatik und Epidemiologie.
Speicher CPU Steuerwerk Rechenwerk 1 Befehlsregister 2 Befehlszähler 3

Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Beispiel Cache-Architektur
Lernfeld 4: Informationstechnische Systeme Bereitstellen
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 Kopieren, Daten, Programme.
Prozessoren (CPU) Ahmet Aktas, HWI I.
Übung zu Grundlagen der Technischen Informatik
Praktische Informatik 1
LCDisplay Anschluss des LCDisplays Aufbau der LCDisplay-Platine
Logische Grundschaltungen
Präsentation Binär.
oder Womit genau ein Prozessor seine Zeit verbringt
Technische Informatik II
Vom HW-Automaten zum Prozessor
Hexadezimale Darstellung von Zahlen
Prof. J. Walter Bitte römische Zahlen im Geschichtsunterricht!
Medizinische Statistik und Informationsverarbeitung
Rechenausdrücke (Terme) – Fachbegriffe - Rechenregeln
 Präsentation transkript:

Aufbau und Funktionsweise einer CPU 28.03.17 Mikroprozessor-Simulation

Motherboard CPU RAM 28.03.17 Mikroprozessor-Simulation

Motherboard 28.03.17 Mikroprozessor-Simulation CPU RAM Register ... 00000010 00111000 Adresse Inhalt 00000000 10010101 00000001 01100010 ... Register AX BX ... ... Datenbus ... Steuerbus Steuerwerk ALU ... Adressbus 28.03.17 Mikroprozessor-Simulation

Adressbus 28.03.17 Mikroprozessor-Simulation Der Adressbus ist für die Übertragung der Speicheradressen zuständig. Maximal adressierbare Speicherplätze = 2 Anzahl der Adressleitungen Prozessoren (Intel) Adressbus max. RAM Jahr 8080 16 Bit 64 Kbyte 1974 8086/8088 20 Bit 1 MByte 1978 80286 24 Bit 16 MByte 1982 80386 32 Bit 4 GByte 1985 Pentium 36 Bit 64 GByte 1995 und folgende 28.03.17 Mikroprozessor-Simulation

MikrSimD 28.03.17 Mikroprozessor-Simulation Mikroprozessor Simulationsprogramm von Konrad Dammeier nach einem DOS-Programm von Werner Simon. Busbreite 8 Bit  256 Speicherplätze 6 Register AR, DR, AX, BX, IP, OP und ein Flag SF Register und RAM- Plätze fassen jeweils ein Datenwort von 1 Byte = 8 Bit. Darstellung hexadezimal 00 – FF Tore 0 – F zur Steuer- ung des Datenflusses Ausgangstore: ungerade Eingangstore: gerade 28.03.17 Mikroprozessor-Simulation

Tor 28.03.17 Mikroprozessor-Simulation Ein Tor ist ein UND-Gatter. Ein Eingang ist die Steuerleitung, am anderen Eingang liegt das zu steuernde Signal. Steuerleitung Signal 28.03.17 Mikroprozessor-Simulation

1. Rechen- und Transportoperationen 1.) AX := DR DR 08 Tore 0, 9 2.) AX := AX + DR DR 05 Tore 0, 1, 9 Bus-Takt: Ausgangstore Eingangstore ALU-Takt: Beide Bustakte hintereinander 3.) AX := AX – DR Tore 0, 1, 9, D 28.03.17 Mikroprozessor-Simulation

Übungen - 1 28.03.17 Mikroprozessor-Simulation Setzen Sie mit dem Menübefehl ClearRegister alle Register auf 00 und tragen Sie dann in DR „von Hand“ den Wert 09 ein. Ab jetzt dürfen in dieser Übung die Register nicht mehr von Hand beschrieben werden. a) AX := DR, IP := DR b) BX := IP + DR c) IP := -1 d) IP := IP + 1 e) AX := AX - BX f) setzen Sie alle Register auf 0 (nicht mit ClearRegister) 0, 4, 9 2, 5, 9 4, 7, D 4, 5, 7 3, A und dann 0, 1, 9, D 0, 2, 4, 6, A 28.03.17 Mikroprozessor-Simulation

2. Verwendung des MPS 28.03.17 Mikroprozessor-Simulation MPS: Mikroprogrammspeicher Jeder Mikrobefehl ist 24 Bit groß. Die ersten 16 Bit sind über Steuerleitungen (nicht sichtbar) mit den Toren 0 – F verbunden. Die nächsten 8 Bit (hexadezimal dargestellt) liefern die Adresse des, als nächstes auszuführenden Mikrobefehls. Ist die Folgeadresse FA 00, dann Stopp. AX := AX – BX Tore 3, A 0, 1, 9, D FA 00 28.03.17 Mikroprozessor-Simulation

3. RAM - Zugriff 28.03.17 Mikroprozessor-Simulation Der RAM-Speicher ist über den Adressbus und den Datenbus mit der CPU verbunden. Der Datenverkehr erfolgt über AR (Adressregister) und DR (Datenregister). RAD: RAM-Adresse Lesen aus RAM AX := RAM[13] Kommentar Tore DR := RAM[13] C AX := DR 0, 9 FA 00 Schreiben in RAM RAM[BX] := AX Kommentar Tore AR := BX 3, 8 DR := AX 1, A RAM[AR] := DR B FA 00 28.03.17 Mikroprozessor-Simulation

Übungen - 2 28.03.17 Mikroprozessor-Simulation a) Füllen Sie die ersten 3 RAM-Plätze mit 1, 3, 5 ohne das RAM- Fenster direkt zu benutzen und ohne direktes Schreiben in ein Register. b) Die Summe der Zahlen aus RAM[00], RAM[01] und RAM[02] soll nach RAM[03]. 28.03.17 Mikroprozessor-Simulation

4. Realisierung einzelner Maschinenbefehle MPS Eine Zeile im MPS heißt Mikrobefehl. Eine Folge von Mikrobefehlen heißt Mikroprogramm. Mikrobefehle / Mikroprogramme sind prozessorabhängig (Torbezeichnung). Mikroprogramme können grundsätzliche Funktionalitäten der CPU realisieren. Transportbefehl AX := RAM[nn] nn steht im DR AR := DR 8, 9 DR := RAM[AR] C AX := DR 0, 9 FA 00 Maschinenbefehl MOV AX,[nn] Mikroprogramm Ein Maschinenbefehl ist prozessorunabhängig! 28.03.17 Mikroprozessor-Simulation

4. Realisierung einzelner Maschinenbefehle Maschinenbefehl MOV AX,[nn] Operator Operand Die Bezeichnung MOV für diese Operation nennt man Mnemonik. Gibt man Maschinenbefehle mit Hilfe von Mnemoniks an, so spricht man von der Assemblerschreibweise der Maschinenbefehle. Transportbefehl MOV [nn],AX nn steht im DR AR := DR 8, 9 DR := AX 1, A RAM[AR] := DR B FA 00 MOV AX,[nn] im MPS ab Adresse 10, MOV [nn],AX ab 13 eingeben. 28.03.17 Mikroprozessor-Simulation

4. Realisierung einzelner Maschinenbefehle Rechenbefehl ADD AX,[nn] nn steht im DR AR := DR 8, 9 DR := RAM[AR] C AX := AX + DR 0, 1, 9 FA 00 ADD AX,[nn] im MPS ab Adresse 20 eingeben. 28.03.17 Mikroprozessor-Simulation

5. Halbautomatische Ausführung eines Maschinenprogramms Maschinenprogramm zur Berechnung von RAM[0C] := RAM[0A] + RAM[0B] Assembler- Startadresse DR schreibweise im MPS MOV AX,[0A] 10 0A ADD AX,[0B] 20 0B MOV [0C],AX 13 0C Ist Tor F geöffnet, dann gilt für die Folgeadresse FA FA := FA + OP Damit ein Maschinenbefehl halbautomatisch ablaufen kann, muss jeweils die Startadresse des Mikroprogramms in OP und der Operand in DR. Außerdem erste Zeile im MPS: Tor F und FA 00 28.03.17 Mikroprozessor-Simulation

6. Vollautomatische Ausführung eines Maschinenprogramms Von Neumann Prinzip: Daten und Programm im RAM. Dadurch sind Verzweigungen (Sprünge) möglich. Jeder Maschinenbefehl wird durch 2 Bytes dargestellt MOV AX,[nn] 10 nn Diese beiden Bytes stehen im RAM RAD Inhalt 00 10 01 0A 02 20 03 0B 04 13 05 0C 06 4F (HALT) 07 00 Maschinenbefehl HALT in Adresse 4F Tore 4, 6 FA 4F 28.03.17 Mikroprozessor-Simulation

6. Vollautomatische Ausführung eines Maschinenprogramms Holphase (eines Maschinenbefehls) Operator und Operand werden aus dem RAM geholt MOV AX,[1A] 10 1A ADD AX,[1B] 20 1B MOV [1C],AX 13 1C HALT 4F 00 Ausführungsphase (eines Maschinenbefehls) bis HALT Holphase (Start mit IP 00) OP := RAM[IP] INC IP DR := RAM[IP] do command 28.03.17 Mikroprozessor-Simulation

Übungen - 3 28.03.17 Mikroprozessor-Simulation RAM[1D] := RAM[1A] + RAM[1B] – RAM[1C] Dazu Maschinenbefehl SUB AX,[nn] ab Adresse 23 (nn steht in DR) SUB AX,[nn] AR := DR DR := RAM[AR] AX := AX - DR 8, 9 C 0, 1, 9, D FA 00 28.03.17 Mikroprozessor-Simulation

7. Unbedingter Sprung - JMP nn Unbedingter Sprung JMP an die RAD nn (nn steht im DR) JMP nn Tore 4, 9 FA 00 ab 42 Übung: Fortlaufende Addition wiederhole immer a := a + b RAM[1A] := RAM[1A] + RAM[1B] 3 2 Maschinenprogramm Assemblerschreibweise Maschinensprache MOV AX,[1A] 10 1A ADD AX,[1B] 20 1B MOV [1A],AX 13 1A JMP 00 42 00 28.03.17 Mikroprozessor-Simulation

8. Bedingter Sprung - JS nn Bei einem bedingten Sprung wird die Ausführung vom Zustand des Flags SF (Sign Flag) abhängig gemacht. SF = 1, wenn AX eine negative Zahl enthält, sonst SF = 0 Ist Tor E geöffnet, dann wird der Inhalt von SF zur Berechnung der FA verwendet. FA := FA + SF Sprung JS an die RAD nn (nn steht im DR), wenn SF = 1 ist.. JS nn ab 46 AD Tore FA 46 E 47 wenn SF=1 dann sonst 47 00 Ende von JS 48 4, 9 00 weiter mit nn 28.03.17 Mikroprozessor-Simulation

MiSiInt.mpd 28.03.17 Mikroprozessor-Simulation   Die Datei MiSiInt.mpd enthält einen Interpreter für einen sinnvollen Befehlssatz für MikrSimD. 28.03.17 Mikroprozessor-Simulation

Übungen – 4 c := a * b (a >= 0) RAM[1C] := RAM[1A] * RAM[1B] c a b c := a * b = b + b + ... + b Start SUB AX,AX MOV [1C],AX (ab 2E) (ab 3D) c := 0 c := 0 MOV AX,[1A] DEC AX MOV [1A],AX a := a - 1 a := a - 1 a < 0 JS c := c + b nein MOV AX,[1C] ADD AX,[1B] MOV [1C],AX c := c + b Ende ja JMP HALT 28.03.17 Mikroprozessor-Simulation

Multiplikation 28.03.17 Mikroprozessor-Simulation RAD 00 2E SUB AX,AX 01 00 02 13 MOV [1C],AX 03 1C 04 10 MOV AX,[1A] 05 1A 06 3D DEC AX 07 00 08 13 MOV [1A],AX 09 1A 0A 46 JS 0B 14 0C 10 MOV AX,[1C] 0D 1C 0E 20 ADD AX,[1B] 0F 1B 10 13 MOV [1C],AX 11 1C 12 42 JMP 13 04 14 4F HALT 15 00 SUB AX,AX (ab 2E) DR := AX 1, A AX := AX – DR 0, 1, 9, D FA 00 DEC AX (ab 3D) AX := AX – 1 0, 1, 7, D FA 00 28.03.17 Mikroprozessor-Simulation

Übungen - 5 28.03.17 Mikroprozessor-Simulation 1.) a : b = c Rest d 2.) ggT (a,b) Bsp.: ggt (52,20) 52 – 20 = 32 32 – 20 = 12 12 – 20 < 0 20 – 12 = 8 8 – 12 < 0 12 – 8 = 4 4 – 8 < 0 8 – 4 = 4 4 – 4 = 0 ggt (52,20) = 4 28.03.17 Mikroprozessor-Simulation