Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.