Universelle%20Registermaschine - PowerPoint PPT Presentation

About This Presentation
Title:

Universelle%20Registermaschine

Description:

Title: Schaltsysteme 3 Last modified by: Klaus Becker Document presentation format: Bildschirmpr sentation Other titles: Arial Tahoma Wingdings Courier New Times New ... – PowerPoint PPT presentation

Number of Views:81
Avg rating:3.0/5.0
Slides: 47
Provided by: bild1
Category:

less

Transcript and Presenter's Notes

Title: Universelle%20Registermaschine


1
Universelle Registermaschine
  • Klaus Becker
  • 2003

2
Programmierbare Systeme
3
Teil 1
Universelle Registermaschine als Rechnermodell
4
Registermaschine
Register
Adresse
Befehl
Progr.zähler
0 JMP 3 1 INC 0 2 DEC 1 3 TST 1gt 4 JMP
1 5 HLT
0 51 32 03 04 0..
Speicher (Registern)
Verarbeitungseinheit
5
Registermaschinenbefehle
Erhöhe Register i um 1.Gehe zu Zeile x1.
gt x INC i
Erniedrige Register i um 1.Gehe zu Zeile x1.
gt x DEC i
gt x JMP i
Gehe zu Zeile i.
Wenn Register i ungleich 0 ist, dann gehe zu
Zeile x1, sonst zu Zeile x2.
gt x TST i
gt x HLT
Beende die Bearbeitung.
6
Registermaschine in Aktion
gt 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 1gt 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 1gt 4 JMP
1 5 HLT
0 51 32 03 04 0..
0 JMP 3gt 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 0gt 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 1gt 3 TST 1 4 JMP
1 5 HLT
0 61 22 03 04 0..
7
Einfache Registermaschine
Registermaschine als programmgesteuertes System
Programm
Daten
gt 0 JMP 3 1 INC 0 2 DEC 1 3 TST 1 4 JMP
1 5 HLT
0 51 32 03 04 0..
Eine Registermaschine bearbeitet beliebig
eingebbare Daten nach einem fest vorgegebenen
Programm.
8
Universelle Registermaschine
Universelle Registermaschine als programmierbares
System
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
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 0 0
0005 1 0 0003 .. 0 0000
Programm
Kodierung
CPU
INC 1 DEC 2 JMP 3 TST 4 HLT 5
Daten
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
Programm
CPU
Daten
10
Rechnerarchitektur (nach von Neumann)
Adressbus
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
PC
IR
Arbeitsspeicher
Steuerwerk
Datenbus
Akku
Rechenwerk
11
Befehl holen
Adressbus
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
PC
IR
0
3 0003
Arbeitsspeicher
Steuerwerk
Datenbus
Akku
Rechenwerk
12
Befehl dekodieren und ausführen
Adressbus
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
PC
IR
3
3 0003
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 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 dekodieren
INC-Befehl ausführen
JMP-Befehl ausführen
TST-Befehl ausführen
15
Steuerung durch ein Mikroprogramm
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
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
16


17
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
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 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
Akku
Rechenwerk
25
RAM-Baustein
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
Der Datenaustausch zwischen dem Arbeitsspeicher
und dem Akku-Register soll über einen Datenbus
erfolgen.
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
Datenbus
Akku
Rechenwerk
28
Datenbus
Datenbus
Datenbus
RAM ? Akku
Akku ? RAM
29
Torsteuerung
hades.models.rtlib.muxes.TriBuf
Datenbus
30
tri-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)
31
Schritt 5 Befehlsregister und Adressbus
Adressbus
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
IR
3 0003
Arbeitsspeicher
Datenbus
Akku
Rechenwerk
32
Befehlsregister
Adressbus
Bussplitter
Speicher
Befehlsregister
Befehlsregister
Datenbus
Reset
33
Befehlsregister
hades.models.rtlib.register.RegRE
hades.models.rtlib.register.RegRE
34
Bussplitter
hades.models.rtlib.io.BusTapBottom
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 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
IR
PC
3 0003
0
Arbeitsspeicher
Datenbus
Akku
Rechenwerk
37
Programmzähler
Adressbus
Programmzähler
Befehlsregister
Befehlsregister
Datenbus
38
Schritt 7 Programmbeendung
Adressbus
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
IR
PC
3 0003
0
Arbeitsspeicher
Datenbus
Akku
Rechenwerk
39
Nullentdeckung
Datenbus
hades.models.rtlib.compare.CompareEqual
40
Schritt 8 Steuerwerk
Adressbus
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
IR
PC
3 0003
0
Arbeitsspeicher
Steuerwerk
Datenbus
Akku
Rechenwerk
41
Steuerwerk
Steuersignal
Steuerwerk
42
Mikroprogramm
Befehl holen0 101 10, 3, 112 0, 2 INC
ausführen10 1211 12, 3, 712 12, 513 12, 4, 8,
1314 0, 1 ...
Mikroprogramm
43
Ausführung des Mikroprogramms
Befehl holen0 101 10, 3, 112 0, 2 INC
ausführen10 1211 12, 3, 712 12, 513 12, 4, 8,
1314 0, 1 ...
Mikroprogrammzähler
Mikroprogrammzähler
44
Funktionseinheiten
Programmzähler
Befehlsregister
Adressbus
Arbeitsspeicher
Datenbus
Rechenwerk
Steuerwerk
Akkumulator
45
Funktionseinheiten
Adressbus
PC
IR
Arbeitsspeicher
Steuerwerk
Datenbus
Akku
Rechenwerk
46
Literaturhinweise
Klaus Merkert, Walter Zimmer Handbuch zum
Bonsai-Lehrcomputer. 1994. Siehe
auchhsg.kaiserslautern.de/faecher/inf/material/bo
nsai
Write a Comment
User Comments (0)
About PowerShow.com