Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Universelle Registermaschine
Klaus Becker 2003
2
Programmierbare Systeme
3
Universelle Registermaschine als Rechnermodell
Teil 1 Universelle Registermaschine als Rechnermodell
4
Verarbeitungseinheit
Registermaschine Adresse Register Progr.zähler Befehl 0: 5 1: 3 2: 0 3: 0 4: 0 .. 0 JMP INC DEC TST 1 > 4 JMP HLT Speicher (Registern) Verarbeitungseinheit
5
Registermaschinenbefehle
Erhöhe Register i um 1. Gehe zu Zeile x+1. > x INC i Erniedrige Register i um 1. Gehe zu Zeile x+1. > x DEC i > x JMP i Gehe zu Zeile i. Wenn Register i ungleich 0 ist, dann gehe zu Zeile x+1, sonst zu Zeile x+2. > x TST i > x HLT Beende die Bearbeitung.
6
Registermaschine in Aktion
0: 5 1: 3 2: 0 3: 0 4: 0 .. > 0 JMP INC DEC TST JMP HLT 0: 5 1: 3 2: 0 3: 0 4: 0 .. 0 JMP INC DEC 1 > 3 TST JMP HLT 0: 5 1: 3 2: 0 3: 0 4: 0 .. 0 JMP INC DEC TST 1 > 4 JMP HLT 0: 5 1: 3 2: 0 3: 0 4: 0 .. 0 JMP 3 > 1 INC DEC TST JMP HLT 0: 6 1: 3 2: 0 3: 0 4: 0 .. 0 JMP INC 0 > 2 DEC TST JMP HLT 0: 6 1: 2 2: 0 3: 0 4: 0 .. 0 JMP INC DEC 1 > 3 TST JMP HLT
7
Einfache Registermaschine
Registermaschine als programmgesteuertes System Daten Programm 0: 5 1: 3 2: 0 3: 0 4: 0 .. > 0 JMP INC DEC TST JMP HLT Eine Registermaschine bearbeitet beliebig eingebbare Daten nach einem fest vorgegebenen Programm.
8
Universelle Registermaschine
Universelle Registermaschine als programmierbares System Programm 0: JMP 3 1: INC 0 2: DEC 1 3: TST 1 4: JMP 1 5: HLT : : Daten Speicher (Registern) Verarbeitungseinheit Eine universelle Registermaschine bearbeitet beliebig eingebbare Daten nach einem beliebig vorgegebenen Programm.
9
Vereinheitlichung von Programm und Daten
0: JMP 3 1: INC 0 2: DEC 1 3: TST 1 4: JMP 1 5: HLT : : Kodierung CPU INC: 1 DEC: 2 JMP: 3 TST: 4 HLT: 5 Daten Programm 0: : : : : : : : : CPU Daten
10
Rechnerarchitektur (nach von Neumann)
Adressbus 0: : : : : : : : : PC IR Arbeitsspeicher Steuerwerk Datenbus Akku Rechenwerk
11
Befehl holen PC IR Akku Adressbus 3 0003 Arbeitsspeicher Steuerwerk
0: : : : : : : : : PC 3 0003 IR Arbeitsspeicher Steuerwerk Datenbus Akku Rechenwerk
12
Befehl dekodieren und ausführen
Adressbus 0: : : : : : : : : PC 3 3 0003 IR Arbeitsspeicher Steuerwerk Datenbus Akku Rechenwerk
13
Fundamentalzyklus Wiederhole Befehl holen (fetch-Phase)
Befehl dekodieren und ausführen (execute-Phase)
14
Steueralgorithmus Wiederhole Befehl holen
Befehl dekodieren und ausführen Befehl holen WIEDERHOLE PC ABus; PC ABus; RInhalt DBus; DBus IR; op := Operatorteil(IR); adr := Adressteil(IR) FALLS op : adr ABus; adr ABus; RInhalt DBus; DBus Akku; adr ABus; upAkku; adr ABus; Akku DBus; DBus RInhalt; IncPC; : // analog : adr ABus; ABus PC; : adr ABus; adr ABus; Registerinhalt DBus; WENN DBus = 0 DANN IncPC; IncPC; BIS op = 5 // HLT Befehl dekodieren INC-Befehl ausführen JMP-Befehl ausführen TST-Befehl ausführen
15
Steuerung durch ein Mikroprogramm
Befehl holen , 3, , 2 INC ausführen , 3, , , 4, 8, , 1 DEC ausführen , 3, , , 4, 8, , 1 JMP ausführen 30 12, , 1 TST ausführen , , 3, , 1 WIEDERHOLE PC ABus; PC ABus; RInhalt DBus; Dbus IR; op := Operatorteil(IR); adr := Adressteil(IR) FALLS op : adr ABus; adr ABus; RInhalt DBus; DBus Akku; adr ABus; upAkku; adr ABus; Akku DBus; DBus RInhalt; IncPC; : // analog : adr ABus; ABus PC; : adr ABus; adr ABus; Registerinhalt DBus; WENN DBus = 0 DANN IncPC; IncPC; BIS op = 5 // HLT
17
Entwicklung einer universellen Registermaschine
Teil 2 Entwicklung einer universellen Registermaschine
18
Zielsetzung Mit Hilfe vorgegebener Hardwarebausteinen soll ein einfacher, voll funktionsfähiger (Bonsai) Rechner entwickelt werden.
19
Schritt 1: Akku-Register
Wir beginnen mit dem Akku-Register. Der hier benutzte Akku soll 8-Bit-Dateneinheiten aufnehmen können. Akku
20
Register-Baustein hades.models.rtlib.register.RegRE CLK: Takt-Eingang (Register reagiert b. steigender Taktflanke) NR: Reset-Eingang (NR = 0: Reset) ENA: Enable-Eingang (ENA = 1: Register bereit zum Lesen) D: Daten-Eingang Q: Daten-Ausgang
21
Registertest hades.models.rtlib.io.IpinVector
hades.models.rtlib.io.OpinVector
22
Schritt 2: Rechenwerk Akku
Mit Hilfe des Rechenwerkes sollen Inkrementier- und Dekrementieroperationen ausgeführt werden Akku Rechenwerk
23
Rechenwerk hades.models.rtlib.arith.Decr hades.models.rtlib.arith.Incr
hades.models.rtlib.muxes.Mux21
24
Schritt 3: Arbeitsspeicher
Die im Akku-Register zu verarbeitenden Daten sollen aus einem Arbeitsspeicher geholt und wieder gespeichert werden. 0: : : : : : : : : Arbeitsspeicher Akku Rechenwerk
25
RAM-Baustein nCS: nCS = 0: (notChipSelect) RAM-Baustein aktiv
hades.models.rtlib.memory.RAM nCS: nCS = 0: (notChipSelect) RAM-Baustein aktiv nWE: nWE = 0: DIN adressiertes Register nWE = 1: adressiertes Register DOUT A: Adress-Eingang DIN: Daten-Eingang DOUT: Daten-Ausgang
26
RAM-Test RAM Akku Akku RAM
27
Schritt 4: Datenbus Akku
Der Datenaustausch zwischen dem Arbeitsspeicher und dem Akku-Register soll über einen Datenbus erfolgen. 0: : : : : : : : : Arbeitsspeicher Datenbus Akku Rechenwerk
28
Datenbus Datenbus Datenbus RAM Akku Akku RAM
29
Torsteuerung hades.models.rtlib.muxes.TriBuf Datenbus
30
tri-state-Verhalten S 1 E 1 A 1 S 1 E 1 A Z 1 S = 0: passiv
1 E 1 A 1 S 1 E 1 A Z 1 hochohmig S = 0: passiv S = 1: aktiv (durchlassen)
31
Schritt 5: Befehlsregister und Adressbus
0: : : : : : : : : 3 0003 IR Arbeitsspeicher Datenbus Akku Rechenwerk
32
Befehlsregister Adressbus Bussplitter Speicher Befehlsregister
Datenbus Reset
33
Befehlsregister hades.models.rtlib.register.RegRE
34
Bussplitter hades.models.rtlib.io.BusTapBottom
35
Bussystem 4-Bit-Adressbus Speicher mit 16 8-Bit-Registern
Befehlsregister Befehlsregister 8-Bit-Datenbus
36
Schritt 6: Programmzähler
Adressbus 0: : : : : : : : : PC 3 0003 IR Arbeitsspeicher Datenbus Akku Rechenwerk
37
Programmzähler Adressbus Programmzähler Befehlsregister
Datenbus
38
Schritt 7: Programmbeendung
Adressbus 0: : : : : : : : : PC 3 0003 IR Arbeitsspeicher Datenbus Akku Rechenwerk
39
Nullentdeckung Datenbus hades.models.rtlib.compare.CompareEqual
40
Schritt 8: Steuerwerk PC IR Akku Adressbus 3 0003 Arbeitsspeicher
0: : : : : : : : : PC 3 0003 IR Arbeitsspeicher Steuerwerk Datenbus Akku Rechenwerk
41
Steuerwerk Steuersignal Steuerwerk
42
Mikroprogramm Mikroprogramm Befehl holen 0 10 1 10, 3, 11 2 0, 2
INC ausführen , 3, , , 4, 8, , 1 ... Mikroprogramm
43
Ausführung des Mikroprogramms
Befehl holen , 3, , 2 INC ausführen , 3, , , 4, 8, , 1 ... Mikroprogrammzähler Mikroprogrammzähler
44
Funktionseinheiten Programmzähler Befehlsregister Adressbus
Arbeitsspeicher Datenbus Rechenwerk Steuerwerk Akkumulator
45
Funktionseinheiten PC IR Akku Adressbus Arbeitsspeicher Steuerwerk
Datenbus Akku Rechenwerk
46
Literaturhinweise Klaus Merkert, Walter Zimmer: Handbuch zum Bonsai-Lehrcomputer Siehe auch hsg.kaiserslautern.de/faecher/inf/material/bonsai
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.