+ All Categories
Home > Documents > Universelle Registermaschine

Universelle Registermaschine

Date post: 09-Jan-2016
Category:
Upload: alika
View: 31 times
Download: 0 times
Share this document with a friend
Description:
Universelle Registermaschine. Klaus Becker 2003. Programmierbare Systeme. Teil 1. Universelle Registermaschine als Rechnermodell. Registermaschine. Adresse. Register. Progr.zähler. Befehl. 0:5 1:3 2:0 3:0 4:0 ... 0 JMP 3 1 INC 0 2 DEC 1 3 TST 1 > 4 JMP 1 5 HLT. - PowerPoint PPT Presentation
46
Universelle Universelle Registermaschine Registermaschine Klaus Becker 2003
Transcript
Page 1: Universelle Registermaschine

Universelle RegistermaschineUniverselle Registermaschine

Klaus Becker2003

Page 2: Universelle Registermaschine

2

KB

Sch

alt

syst

em

eProgrammierbare SystemeProgrammierbare Systeme

Page 3: Universelle Registermaschine

3

KB

Sch

alt

syst

em

eTeil 1 Teil 1

Universelle Registermaschine als Rechnermodell

Page 4: Universelle Registermaschine

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

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

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

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

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

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

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

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

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

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

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

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

16

KB

Sch

alt

syst

em

e

Page 17: Universelle Registermaschine

17

KB

Sch

alt

syst

em

eTeil 2 Teil 2

Entwicklung einer universellen Registermaschine

Page 18: Universelle Registermaschine

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

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

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

21

KB

Sch

alt

syst

em

eRegistertestRegistertest

hades.models.rtlib.io.OpinVector

hades.models.rtlib.io.IpinVector

Page 22: Universelle Registermaschine

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

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

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

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

26

KB

Sch

alt

syst

em

eRAM-TestRAM-Test

RAM Akku Akku RAM

Page 27: Universelle Registermaschine

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

28

KB

Sch

alt

syst

em

eDatenbusDatenbus

Datenbus Datenbus

RAM Akku Akku RAM

Page 29: Universelle Registermaschine

29

KB

Sch

alt

syst

em

eTorsteuerungTorsteuerung

Datenbus

hades.models.rtlib.muxes.TriBuf

Page 30: Universelle Registermaschine

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

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

32

KB

Sch

alt

syst

em

eBefehlsregisterBefehlsregister

Datenbus

Adressbus

BefehlsregisterBefehlsregister

Speicher

Reset

Bussplitter

Page 33: Universelle Registermaschine

33

KB

Sch

alt

syst

em

eBefehlsregisterBefehlsregister

hades.models.rtlib.register.RegREhades.models.rtlib.register.RegRE

Page 34: Universelle Registermaschine

34

KB

Sch

alt

syst

em

eBussplitterBussplitter

hades.models.rtlib.io.BusTapBottomhades.models.rtlib.io.BusTapBottom

Page 35: Universelle Registermaschine

35

KB

Sch

alt

syst

em

eBussystemBussystem

8-Bit-Datenbus

4-Bit-Adressbus

BefehlsregisterBefehlsregister

Speicher mit 16 8-Bit-Registern

Page 36: Universelle Registermaschine

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

37

KB

Sch

alt

syst

em

eProgrammzählerProgrammzähler

Adressbus

Datenbus

BefehlsregisterBefehlsregister

Programmzähler

Page 38: Universelle Registermaschine

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

39

KB

Sch

alt

syst

em

eNullentdeckungNullentdeckung

Datenbus

hades.models.rtlib.compare.CompareEqual

Page 40: Universelle Registermaschine

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

41

KB

Sch

alt

syst

em

eSteuerwerkSteuerwerk

Steuerwerk

Steuersignal

Page 42: Universelle Registermaschine

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

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

44

KB

Sch

alt

syst

em

eFunktionseinheitenFunktionseinheiten

Programmzähler Befehlsregister

Rechenwerk

Arbeitsspeicher

Akkumulator

Steuerwerk

Datenbus

Adressbus

Page 45: Universelle Registermaschine

45

KB

Sch

alt

syst

em

eFunktionseinheitenFunktionseinheiten

Rechenwerk

Arbeitsspeicher Steuerwerk

Datenbus

Adressbus

Akku

PC IR

Page 46: Universelle Registermaschine

46

KB

Sch

alt

syst

em

eLiteraturhinweiseLiteraturhinweise

Klaus Merkert, Walter Zimmer: Handbuch zum Bonsai-Lehrcomputer. 1994.

Siehe auchhsg.kaiserslautern.de/faecher/inf/material/bonsai


Recommended