Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Aufbau und Funktionsweise einer CPU

Ähnliche Präsentationen


Präsentation zum Thema: "Aufbau und Funktionsweise einer CPU"—  Präsentation transkript:

1 Aufbau und Funktionsweise einer CPU
Mikroprozessor-Simulation

2 Motherboard CPU RAM Mikroprozessor-Simulation

3 Motherboard 28.03.17 Mikroprozessor-Simulation CPU RAM Register ...
Adresse Inhalt ... Register AX BX ... ... Datenbus ... Steuerbus Steuerwerk ALU ... Adressbus Mikroprozessor-Simulation

4 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 Bit 64 Kbyte 1974 8086/ Bit 1 MByte Bit 16 MByte Bit 4 GByte Pentium 36 Bit 64 GByte und folgende Mikroprozessor-Simulation

5 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 Mikroprozessor-Simulation

6 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 Mikroprozessor-Simulation

7 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 Mikroprozessor-Simulation

8 Ü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 (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 Mikroprozessor-Simulation

9 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 , 1, 9, D FA 00 Mikroprozessor-Simulation

10 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, DR := AX 1, A RAM[AR] := DR B FA 00 Mikroprozessor-Simulation

11 Ü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]. Mikroprozessor-Simulation

12 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! Mikroprozessor-Simulation

13 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. Mikroprozessor-Simulation

14 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. Mikroprozessor-Simulation

15 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] A ADD AX,[0B] B MOV [0C],AX C 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 Mikroprozessor-Simulation

16 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] nn Diese beiden Bytes stehen im RAM RAD Inhalt A B C F (HALT) Maschinenbefehl HALT in Adresse 4F Tore 4, FA 4F Mikroprozessor-Simulation

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

18 Ü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 Mikroprozessor-Simulation

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

20 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 Ende von JS 48 4, weiter mit nn Mikroprozessor-Simulation

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

22 Ü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 Mikroprozessor-Simulation

23 Multiplikation 28.03.17 Mikroprozessor-Simulation
RAD E SUB AX,AX MOV [1C],AX C MOV AX,[1A] A D DEC AX MOV [1A],AX A 0A 46 JS 0B C 10 MOV AX,[1C] 0D 1C 0E 20 ADD AX,[1B] 0F 1B MOV [1C],AX C JMP F HALT 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, 7, D FA 00 Mikroprozessor-Simulation

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


Herunterladen ppt "Aufbau und Funktionsweise einer CPU"

Ähnliche Präsentationen


Google-Anzeigen