Becoming Cosmopolitan- Viewing and Reviewing the 1855 Exposition Universelle in Paris
Universelle Registermaschine
description
Transcript of Universelle Registermaschine
![Page 1: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/1.jpg)
Universelle RegistermaschineUniverselle Registermaschine
Klaus Becker2003
![Page 2: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/2.jpg)
2
KB
Sch
alt
syst
em
eProgrammierbare SystemeProgrammierbare Systeme
![Page 3: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/3.jpg)
3
KB
Sch
alt
syst
em
eTeil 1 Teil 1
Universelle Registermaschine als Rechnermodell
![Page 4: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/4.jpg)
4
KB
Sch
alt
syst
em
eRegistermaschineRegistermaschine
0 JMP 3 1 INC 0 2 DEC 1 3 TST 1> 4 JMP 1 5 HLT
0: 51: 32: 03: 04: 0..
Speicher (Registern)
RegisterAdresse BefehlProgr.zähler
Verarbeitungseinheit
![Page 5: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/5.jpg)
5
KB
Sch
alt
syst
em
eRegistermaschinenbefehleRegistermaschinenbefehle
> x INC i Erhöhe Register i um 1.Gehe zu Zeile x+1.
> x DEC i Erniedrige Register i um 1.Gehe zu Zeile x+1.
> x JMP i Gehe zu Zeile i.
> x TST iWenn Register i ungleich 0 ist, dann gehe zu Zeile x+1, sonst zu Zeile x+2.
> x HLT Beende die Bearbeitung.
![Page 6: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/6.jpg)
6
KB
Sch
alt
syst
em
eRegistermaschine in AktionRegistermaschine in Aktion
> 0 JMP 3 1 INC 0 2 DEC 1 3 TST 1 4 JMP 1 5 HLT
0: 51: 32: 03: 04: 0..
0 JMP 3 1 INC 0 2 DEC 1> 3 TST 1 4 JMP 1 5 HLT
0: 51: 32: 03: 04: 0..
0 JMP 3 1 INC 0 2 DEC 1 3 TST 1> 4 JMP 1 5 HLT
0: 51: 32: 03: 04: 0..
0 JMP 3> 1 INC 0 2 DEC 1 3 TST 1 4 JMP 1 5 HLT
0: 51: 32: 03: 04: 0..
0 JMP 3 1 INC 0> 2 DEC 1 3 TST 1 4 JMP 1 5 HLT
0: 61: 32: 03: 04: 0..
0 JMP 3 1 INC 0 2 DEC 1> 3 TST 1 4 JMP 1 5 HLT
0: 61: 22: 03: 04: 0..
![Page 7: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/7.jpg)
7
KB
Sch
alt
syst
em
eEinfache RegistermaschineEinfache Registermaschine
> 0 JMP 3 1 INC 0 2 DEC 1 3 TST 1 4 JMP 1 5 HLT
0: 51: 32: 03: 04: 0..
Registermaschine als programmgesteuertes SystemRegistermaschine als programmgesteuertes System
Programm
Daten
Eine Registermaschine bearbeitet beliebig eingebbare Daten nach einem fest vorgegebenen Programm.
![Page 8: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/8.jpg)
8
KB
Sch
alt
syst
em
eUniverselle RegistermaschineUniverselle Registermaschine
Universelle Registermaschine als programmierbares SystemUniverselle Registermaschine als programmierbares System
Daten
Eine universelle Registermaschine bearbeitet beliebig eingebbare Daten nach einem beliebig vorgegebenen Programm.
0: JMP 3 1: INC 0 2: DEC 1 3: TST 1 4: JMP 1 5: HLT 0: 0 0005
1: 0 0003 .. 0 0000
Programm
Speicher (Registern)
Verarbeitungseinheit
![Page 9: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/9.jpg)
9
KB
Sch
alt
syst
em
eVereinheitlichung von Programm und Vereinheitlichung von Programm und
DatenDaten
CPU
0: JMP 3 1: INC 0 2: DEC 1 3: TST 1 4: JMP 1 5: HLT 0: 0 0005
1: 0 0003 .. 0 0000
Daten
Programm
Daten
Programm
0: 3 0003 1: 1 0007 2: 2 0008 3: 4 0008 4: 3 0001 5: 5 0000 6: 0 0000 7: 0 0005
8: 0 0003 .. 0 0000
KodierungKodierung
INC: 1
DEC: 2
JMP: 3
TST: 4
HLT: 5CPU
![Page 10: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/10.jpg)
10
KB
Sch
alt
syst
em
eRechnerarchitektur (nach von Rechnerarchitektur (nach von
Neumann)Neumann)
Rechenwerk
Datenbus
Adressbus
Akku
PC IR 0: 3 0003 1: 1 0007 2: 2 0008 3: 4 0008 4: 3 0001 5: 5 0000 6: 0 0000 7: 0 0005
8: 0 0003 .. 0 0000
Arbeitsspeicher Steuerwerk
![Page 11: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/11.jpg)
11
KB
Sch
alt
syst
em
eBefehl holenBefehl holen
Rechenwerk
Datenbus
Adressbus
Akku
PC IR 0: 3 0003 1: 1 0007 2: 2 0008 3: 4 0008 4: 3 0001 5: 5 0000 6: 0 0000 7: 0 0005
8: 0 0003 .. 0 0000
Arbeitsspeicher Steuerwerk
0 3 0003
![Page 12: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/12.jpg)
12
KB
Sch
alt
syst
em
eBefehl dekodieren und ausführenBefehl dekodieren und ausführen
Rechenwerk
Datenbus
Adressbus
Akku
PC IR 0: 3 0003 1: 1 0007 2: 2 0008 3: 4 0008 4: 3 0001 5: 5 0000 6: 0 0000 7: 0 0005
8: 0 0003 .. 0 0000
Arbeitsspeicher Steuerwerk
3 3 0003
![Page 13: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/13.jpg)
13
KB
Sch
alt
syst
em
eFundamentalzyklusFundamentalzyklus
Wiederhole
Befehl holen (fetch-Phase)
Befehl dekodieren und ausführen (execute-Phase)
Wiederhole
Befehl holen (fetch-Phase)
Befehl dekodieren und ausführen (execute-Phase)
![Page 14: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/14.jpg)
14
KB
Sch
alt
syst
em
eSteueralgorithmusSteueralgorithmus
WIEDERHOLE PC ABus; PC ABus; RInhalt DBus; DBus IR; op := Operatorteil(IR); adr := Adressteil(IR) FALLS op 1: adr ABus;
adr ABus; RInhalt DBus; DBus Akku; adr ABus; upAkku; adr ABus; Akku DBus; DBus RInhalt; IncPC; 2: // analog 3: adr ABus; ABus PC; 4: adr ABus;
adr ABus; Registerinhalt DBus; WENN DBus = 0 DANN IncPC; IncPC;
BIS op = 5 // HLT
Befehl holen
JMP-Befehl ausführen
TST-Befehl ausführen
INC-Befehl ausführen
Befehl dekodieren
Wiederhole
Befehl holen
Befehl dekodieren und ausführen
Wiederhole
Befehl holen
Befehl dekodieren und ausführen
![Page 15: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/15.jpg)
15
KB
Sch
alt
syst
em
eSteuerung durch ein MikroprogrammSteuerung durch ein Mikroprogramm
WIEDERHOLE PC ABus; PC ABus; RInhalt DBus; Dbus IR; op := Operatorteil(IR); adr := Adressteil(IR) FALLS op 1: adr ABus;
adr ABus; RInhalt DBus; DBus Akku; adr ABus; upAkku; adr ABus; Akku DBus; DBus RInhalt; IncPC; 2: // analog 3: adr ABus; ABus PC; 4: adr ABus;
adr ABus; Registerinhalt DBus; WENN DBus = 0 DANN IncPC; IncPC;
BIS op = 5 // HLT
Befehl holen0 101 10, 3, 112 0, 2
INC ausführen10 1211 12, 3, 712 12, 513 12, 4, 8, 1314 0, 1
DEC ausführen20 1221 12, 3, 722 12, 623 12, 4, 8, 1324 0, 1
JMP ausführen 30 12, 931 0, 1
TST ausführen 40 1241 12, 342 12, 3, 1443 1344 0, 1
![Page 16: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/16.jpg)
16
KB
Sch
alt
syst
em
e
![Page 17: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/17.jpg)
17
KB
Sch
alt
syst
em
eTeil 2 Teil 2
Entwicklung einer universellen Registermaschine
![Page 18: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/18.jpg)
18
KB
Sch
alt
syst
em
eZielsetzungZielsetzung
Mit Hilfe vorgegebener Hardwarebausteinen soll ein einfacher, voll funktionsfähiger (Bonsai) Rechner entwickelt werden.
Mit Hilfe vorgegebener Hardwarebausteinen soll ein einfacher, voll funktionsfähiger (Bonsai) Rechner entwickelt werden.
![Page 19: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/19.jpg)
19
KB
Sch
alt
syst
em
eSchritt 1: Akku-RegisterSchritt 1: Akku-Register
Wir beginnen mit dem Akku-Register. Der hier benutzte Akku soll 8-Bit-Dateneinheiten aufnehmen können. Wir beginnen mit dem Akku-Register. Der hier benutzte Akku soll 8-Bit-Dateneinheiten aufnehmen können.
Akku
![Page 20: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/20.jpg)
20
KB
Sch
alt
syst
em
eRegister-BausteinRegister-Baustein
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
hades.models.rtlib.register.RegRE
![Page 21: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/21.jpg)
21
KB
Sch
alt
syst
em
eRegistertestRegistertest
hades.models.rtlib.io.OpinVector
hades.models.rtlib.io.IpinVector
![Page 22: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/22.jpg)
22
KB
Sch
alt
syst
em
eSchritt 2: RechenwerkSchritt 2: Rechenwerk
Mit Hilfe des Rechenwerkes sollen Inkrementier- und Dekrementieroperationen ausgeführt werdenMit Hilfe des Rechenwerkes sollen Inkrementier- und Dekrementieroperationen ausgeführt werden
Rechenwerk
Akku
![Page 23: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/23.jpg)
23
KB
Sch
alt
syst
em
eRechenwerkRechenwerk
hades.models.rtlib.arith.Decr hades.models.rtlib.arith.Incr
hades.models.rtlib.muxes.Mux21
![Page 24: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/24.jpg)
24
KB
Sch
alt
syst
em
eSchritt 3: ArbeitsspeicherSchritt 3: Arbeitsspeicher
Die im Akku-Register zu verarbeitenden Daten sollen aus einem Arbeitsspeicher geholt und wieder gespeichert werden.
Die im Akku-Register zu verarbeitenden Daten sollen aus einem Arbeitsspeicher geholt und wieder gespeichert werden.
0: 3 0003 1: 1 0007 2: 2 0008 3: 4 0008 4: 3 0001 5: 5 0000 6: 0 0000 7: 0 0005
8: 0 0003 .. 0 0000
Arbeitsspeicher
Rechenwerk
Akku
![Page 25: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/25.jpg)
25
KB
Sch
alt
syst
em
eRAM-BausteinRAM-Baustein
nCS: nCS = 0: (notChipSelect) RAM-Baustein aktiv nWE: nWE = 0: DIN adressiertes Register
nWE = 1: adressiertes Register DOUT
A: Adress-EingangDIN: Daten-Eingang
DOUT: Daten-Ausgang
hades.models.rtlib.memory.RAM
![Page 26: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/26.jpg)
26
KB
Sch
alt
syst
em
eRAM-TestRAM-Test
RAM Akku Akku RAM
![Page 27: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/27.jpg)
27
KB
Sch
alt
syst
em
eSchritt 4: DatenbusSchritt 4: Datenbus
Der Datenaustausch zwischen dem Arbeitsspeicher und dem Akku-Register soll über einen Datenbus erfolgen.
Der Datenaustausch zwischen dem Arbeitsspeicher und dem Akku-Register soll über einen Datenbus erfolgen.
Rechenwerk
Datenbus
Akku
0: 3 0003 1: 1 0007 2: 2 0008 3: 4 0008 4: 3 0001 5: 5 0000 6: 0 0000 7: 0 0005
8: 0 0003 .. 0 0000
Arbeitsspeicher
![Page 28: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/28.jpg)
28
KB
Sch
alt
syst
em
eDatenbusDatenbus
Datenbus Datenbus
RAM Akku Akku RAM
![Page 29: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/29.jpg)
29
KB
Sch
alt
syst
em
eTorsteuerungTorsteuerung
Datenbus
hades.models.rtlib.muxes.TriBuf
![Page 30: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/30.jpg)
30
KB
Sch
alt
syst
em
etri-state-Verhaltentri-state-Verhalten
S
0
0
1
1
E
0
1
0
1
A
0
0
0
1
S
0
0
1
1
E
0
1
0
1
A
Z
Z
0
1
hochohmig
S = 0: passiv
S = 1: aktiv (durchlassen)
![Page 31: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/31.jpg)
31
KB
Sch
alt
syst
em
eSchritt 5: Befehlsregister und Schritt 5: Befehlsregister und
AdressbusAdressbus
Rechenwerk
Datenbus
Adressbus
Akku
IR 0: 3 0003 1: 1 0007 2: 2 0008 3: 4 0008 4: 3 0001 5: 5 0000 6: 0 0000 7: 0 0005
8: 0 0003 .. 0 0000
Arbeitsspeicher
3 0003
![Page 32: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/32.jpg)
32
KB
Sch
alt
syst
em
eBefehlsregisterBefehlsregister
Datenbus
Adressbus
BefehlsregisterBefehlsregister
Speicher
Reset
Bussplitter
![Page 33: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/33.jpg)
33
KB
Sch
alt
syst
em
eBefehlsregisterBefehlsregister
hades.models.rtlib.register.RegREhades.models.rtlib.register.RegRE
![Page 34: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/34.jpg)
34
KB
Sch
alt
syst
em
eBussplitterBussplitter
hades.models.rtlib.io.BusTapBottomhades.models.rtlib.io.BusTapBottom
![Page 35: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/35.jpg)
35
KB
Sch
alt
syst
em
eBussystemBussystem
8-Bit-Datenbus
4-Bit-Adressbus
BefehlsregisterBefehlsregister
Speicher mit 16 8-Bit-Registern
![Page 36: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/36.jpg)
36
KB
Sch
alt
syst
em
eSchritt 6: ProgrammzählerSchritt 6: Programmzähler
Rechenwerk
Datenbus
Adressbus
Akku
IR 0: 3 0003 1: 1 0007 2: 2 0008 3: 4 0008 4: 3 0001 5: 5 0000 6: 0 0000 7: 0 0005
8: 0 0003 .. 0 0000
Arbeitsspeicher
3 0003
PC 0
![Page 37: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/37.jpg)
37
KB
Sch
alt
syst
em
eProgrammzählerProgrammzähler
Adressbus
Datenbus
BefehlsregisterBefehlsregister
Programmzähler
![Page 38: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/38.jpg)
38
KB
Sch
alt
syst
em
eSchritt 7: ProgrammbeendungSchritt 7: Programmbeendung
Rechenwerk
Datenbus
Adressbus
Akku
IR 0: 3 0003 1: 1 0007 2: 2 0008 3: 4 0008 4: 3 0001 5: 5 0000 6: 0 0000 7: 0 0005
8: 0 0003 .. 0 0000
Arbeitsspeicher
3 0003
PC 0
![Page 39: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/39.jpg)
39
KB
Sch
alt
syst
em
eNullentdeckungNullentdeckung
Datenbus
hades.models.rtlib.compare.CompareEqual
![Page 40: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/40.jpg)
40
KB
Sch
alt
syst
em
eSchritt 8: SteuerwerkSchritt 8: Steuerwerk
Rechenwerk
Datenbus
Adressbus
Akku
IR 0: 3 0003 1: 1 0007 2: 2 0008 3: 4 0008 4: 3 0001 5: 5 0000 6: 0 0000 7: 0 0005
8: 0 0003 .. 0 0000
Arbeitsspeicher Steuerwerk
3 0003
PC 0
![Page 41: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/41.jpg)
41
KB
Sch
alt
syst
em
eSteuerwerkSteuerwerk
Steuerwerk
Steuersignal
![Page 42: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/42.jpg)
42
KB
Sch
alt
syst
em
eMikroprogrammMikroprogramm
Mikroprogramm
Befehl holen0 101 10, 3, 112 0, 2
INC ausführen10 1211 12, 3, 712 12, 513 12, 4, 8, 1314 0, 1
...
![Page 43: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/43.jpg)
43
KB
Sch
alt
syst
em
eAusführung des MikroprogrammsAusführung des Mikroprogramms
MikroprogrammzählerMikroprogrammzähler
Befehl holen0 101 10, 3, 112 0, 2
INC ausführen10 1211 12, 3, 712 12, 513 12, 4, 8, 1314 0, 1
...
![Page 44: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/44.jpg)
44
KB
Sch
alt
syst
em
eFunktionseinheitenFunktionseinheiten
Programmzähler Befehlsregister
Rechenwerk
Arbeitsspeicher
Akkumulator
Steuerwerk
Datenbus
Adressbus
![Page 45: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/45.jpg)
45
KB
Sch
alt
syst
em
eFunktionseinheitenFunktionseinheiten
Rechenwerk
Arbeitsspeicher Steuerwerk
Datenbus
Adressbus
Akku
PC IR
![Page 46: Universelle Registermaschine](https://reader036.fdocuments.us/reader036/viewer/2022070406/56814125550346895dacfede/html5/thumbnails/46.jpg)
46
KB
Sch
alt
syst
em
eLiteraturhinweiseLiteraturhinweise
Klaus Merkert, Walter Zimmer: Handbuch zum Bonsai-Lehrcomputer. 1994.
Siehe auchhsg.kaiserslautern.de/faecher/inf/material/bonsai