Digitaltechnik
Klaus Becker
2007
2 Digitaltechnik
S
R
SR
&
&
C
SR
&
&
1
QSQM
3 Teil 1
Logische Grundoperationen
4 Aufzugssteuerung
Problem: Ein Aufzug soll sich nur dann nach oben bewegen, wenn der Knopf gedrückt und die Tür zu ist.Problem: Ein Aufzug soll sich nur dann nach oben bewegen, wenn der Knopf gedrückt und die Tür zu ist.
nach H. Bühler: Grundlagen einer Verständigung mit Computern
Lösung: Nur wenn der Stromkreis geschlossen ist, kann der Motor den Aufzug bewegen.
5
Binäre Kodierung mit Schaltvariablen
Schaltvariable
Binäre Kodierung:
Kodierung mit zwei Werten: 0 / 1
Binäre Kodierung:
Kodierung mit zwei Werten: 0 / 1
x1 x2
y
Systemzustände:
Tür ist offen / geschlossen
Schalter ist gedrückt / nicht gedrückt
Motor ist inaktiv / aktiv
Beschreibung von Systemzuständen:
x1 = 0: Tür ist offenx1 = 1: Tür ist geschlossen
x2 = 0: Schalter ist nicht gedrücktx2 = 1: Schalter ist gedrückt
y = 0: Motor ist inaktivy = 1: Motor ist aktiv
6
Beschreibung des Systemverhaltens
x1
0
0
1
1
x2
0
1
0
1
y
0
0
0
1
Schalttabelle / Schaltfunktion
x1 x2
y
„Motor ist aktiv“
genau dann, wenn
„Tür ist geschlossen“ und „Schalter ist gedrückt“
Beschreibung von Systemzuständen:
x1 = 0: Tür ist offenx1 = 1: Tür ist geschlossen
x2 = 0: Schalter ist nicht gedrücktx2 = 1: Schalter ist gedrückt
y = 0: Motor ist inaktivy = 1: Motor ist aktiv
7 Logische Deutung
logische Verknüpfung von Aussagen
x1 x2
y
Logische Deutung
0: falsch 1: wahr
Logische Deutung
0: falsch 1: wahr
y: „Motor ist aktiv“
genau dann, wenn
x1: „Tür ist geschlossen“ und x2: „Schalter ist gedrückt“
21 xxy x1
0
0
1
1
x2
0
1
0
1
y
0
0
0
1
aussagenlog. Formel /
Schaltterm
Wahrheitswerte
8
Technische Lösung – mit Logikgatter
x1 x2
y
Und-Gatter
x1&
x2
y
Kontakt-
schalter
Motor
21 xxy x1
0
0
1
1
x2
0
1
0
1
y
0
0
0
1
UND-Operator
Beschreibung von Systemzuständen:
x1 = 0: Tür ist offenx1 = 1: Tür ist geschlossen
x2 = 0: Schalter ist nicht gedrücktx2 = 1: Schalter ist gedrückt
y = 0: Motor ist inaktivy = 1: Motor ist aktiv
9
Logik-basierte Systembeschreibung
21 xxy
Beschreibung des Systemverhaltens mit einer aussagenlogischen Formel (Schaltfunktion):
Beschreibung des Systemverhaltens mit einer aussagenlogischen Formel (Schaltfunktion):
x1 x2
y
x1: „Tür ist geschlossen“x2: „Schalter ist gedrückt“y: „Motor ist aktiv“
Systemgrößen
„Motor ist aktiv“ genau dann, wenn „Tür ist geschlossen“ und „Schalter ist gedrückt“
Systemverhalten
x1
0
0
1
1
x2
0
1
0
1
y
0
0
0
1
10 Elektronik-Logik-Schichtung
Logik
x1&
x2
yKontaktschalter
KontaktschalterMotor
Logikgatter
21 xxy x1: „Tür ist geschlossen“x2: „Schalter ist gedrückt“y: „Motor ist aktiv“
Systemgrößen
Systemverhalten
Elektronik
11
Problem: Steuerung eines Türöffners
Problem: Die Haustür soll sich öffnen, wenn der Türöffner im ersten oder im zweiten Stock gedrückt wird.Problem: Die Haustür soll sich öffnen, wenn der Türöffner im ersten oder im zweiten Stock gedrückt wird.
nach H. Bühler: Grundlagen einer Verständigung mit Computern
12 Lösung mit ODER-Operator
x1: „Türöffner im 1. Stock ist gedrückt“x2: „Türöffner im 2. Stock ist gedrückt“ y: „Türverriegelung ist deaktiviert“
x1
0
0
1
1
x2
0
1
0
1
y
0
1
1
1
21 xxy
x11
x2
y
Beschreibung der Systemgrößen mit SchaltvariablenBeschreibung der Systemgrößen mit Schaltvariablen
Beschreibung des Systemverhaltens mit logischen Operationen
Beschreibung des Systemverhaltens mit logischen Operationen
ODER-Operator
13 Problem: Kühlschrankbeleuchtung
Problem: Öffnet man den Kühlschrank, so soll das Licht im Kühlschrank automatisch angehen.Problem: Öffnet man den Kühlschrank, so soll das Licht im Kühlschrank automatisch angehen.
nach H. Bühler: Grundlagen einer Verständigung mit Computern
14 Lösung mit NICHT-Operator
x: „Tür ist geschlossen“y: „Licht im Kühlschrank ist an“
x
0
1
y
1
0
xy
x 1 y
Beschreibung der Systemgrößen mit SchaltvariablenBeschreibung der Systemgrößen mit Schaltvariablen
Beschreibung des Systemverhaltens mit logischen Operationen
Beschreibung des Systemverhaltens mit logischen Operationen
xy bzw.
NICHT-Operator
15 Logische Grundoperationen
x1
0
0
1
1
x2
0
1
0
1
x1 x2
0
0
0
1
x1
0
0
1
1
x2
0
1
0
1
x1 x2
0
1
1
1
x
0
1
x
1
0
x11
x2
yx1
&x2
y x 1 y
UND-Gatter
Konjunktion / UND-Operation
Konjunktion / UND-Operation
Disjunktion / ODER-Operation
Disjunktion / ODER-Operation
Negation / NICHT-Operation
Negation / NICHT-Operation
ODER-Gatter NICHT-Gatter
Logik
Elektronik
16 Übung
Aufgabe: Testen Sie die Gatter zu den logischen Grundoperationen mit Hilfe von Hades. Gatter: [rechte Maustaste: create -> gates -> ...]Eingang: [rechte Maustaste: create -> io -> Ipin(switch)] Ausgang: [rechte Maustaste: create -> io -> Opin (LED)] Verbindungen mit der Maus "ziehen".
17 Teil 2
Schaltfunktionen und Schaltnetze
18 Multiplexer – Demultiplexer
Ein Problem der Vermittlungstechnik:
Zwei Teilnehmer sollen wahlweise ihre Daten (in binärer Form kodiert) über eine gemeinsame Leitung senden.
Ein Problem der Vermittlungstechnik:
Zwei Teilnehmer sollen wahlweise ihre Daten (in binärer Form kodiert) über eine gemeinsame Leitung senden.
MUX DEMUX
0 1
19 Funktionale Modellierung
MUX DEMUX
0 1
s
DEMUXd0
d1
b
s
MUXd0
d1
b
Steuersignal
Binäre Daten
Steuersignal
Modellierung des Ein-/Ausgabe-Verhaltens (Black-Box-Modellierung):Modellierung des Ein-/Ausgabe-Verhaltens (Black-Box-Modellierung):
0
11
1
0
Eingaben
Ausgaben
Eingaben
Ausgaben
20 Logische Systembeschreibung
s = 0: b = d0
s = 1: b = d1
s = 0: d0 = b
s = 1: d1 = b
)()( 10 dsdsb sbd 0
sbd 1
Entwicklung von Schalttermen zur Beschreibung des Ein-Ausgabe-Verhaltens bzw. der Schaltfunktionen:Entwicklung von Schalttermen zur Beschreibung des Ein-Ausgabe-Verhaltens bzw. der Schaltfunktionen:
s
DEMUXd0
d1
b
s
MUXd0
d1
b
Eingaben
Ausgaben
Eingaben
Ausgaben
Schaltterm
21 Schaltnetze
)()( 10 dsdsb
sbd 0
sbd 1
1
d0
d1
s
&
&
&
&
d0
d1
b
s
Entwicklung von Schaltungen zu den Schalttermen. Entwicklung von Schaltungen zu den Schalttermen.
s
DEMUXd0
d1
b
s
MUXd0
d1
b
Schaltnetz
Schaltnetz
NOT-Gatter
22 Idee: Funktionale Modellierung
s
MUXd0
d1
b
)()( 10 dsdsb
1
d0
d1
s
&
&
Realisierung des Systems mit Hilfe eines Logik-basierten Schaltnetzes
Realisierung des Systems mit Hilfe eines Logik-basierten Schaltnetzes
Beschreibung des Systemverhaltens mit einer logischen Schaltfunktion
Beschreibung des Systemverhaltens mit einer logischen Schaltfunktion
23 ÜbungAufgabe:
Erstellen und testen Sie mit Hilfe von Hades das entwickelte Schaltnetz.
Aufgabe:
Erstellen und testen Sie mit Hilfe von Hades das entwickelte Schaltnetz.
1
d0
d1
&
&
&
&
d0
d1
b
s s
24 ÜbungAufgabe:
Entwickeln und testen Sie ein Multiplexer-Demultiplexer-System mit 4 Datenleitungen. Benutzen Sie zur Auswahl der Datenleitung 2 Steuerleitungen. Adressieren Sie die Datenleitungen wie unten angezeigt.
Aufgabe:
Entwickeln und testen Sie ein Multiplexer-Demultiplexer-System mit 4 Datenleitungen. Benutzen Sie zur Auswahl der Datenleitung 2 Steuerleitungen. Adressieren Sie die Datenleitungen wie unten angezeigt.
MUX DEMUX
0 0 1 0
d0
d2
d1
d3
d0
d2
d1
d3
s1 s0 s1 s0
b
25 Teil 3
Exkurs: Schaltalgebra
26
Steuerung einer Autoinnenbeleuchtung
Problem: Öffnet man eine der beiden Türen, so soll das Licht im Auto angehen.Problem: Öffnet man eine der beiden Türen, so soll das Licht im Auto angehen.
nach H. Bühler: Grundlagen einer Verständigung mit Computern
27
Steuerung einer Autoinnenbeleuchtung
x1: „Fahrertür ist geschlossen“x2: „Beifahrertür ist geschlossen“
y: „Licht im Auto ist an“
x1
0
0
1
1
x2
0
1
0
1
y
1
1
1
0
Fx1
x2
y
Beschreibung der Systemgrößen mit Schaltvariablen:Beschreibung der Systemgrößen mit Schaltvariablen:
Beschreibung des Systemverhaltens mit einer Schaltfunktion:Beschreibung des Systemverhaltens mit einer Schaltfunktion:
28 Schaltterme und Schaltnetze
x1 x2
y
)()()( 212121 xxxxxxy
&
&
&
11
21 xxy
x1&
x2
y
x1
0
0
1
1
x2
0
1
0
1
y
1
1
1
0
2 Gatter
9 Gatter
Schaltfunktion
Schaltterme
Schaltnetze
29
Steuerung einer Autoinnenbeleuchtung
21 xxy
x1 x2
1
1
1
0
x1
0
0
1
1
x2
0
1
0
1
y
1
1
1
0
x1
0
0
1
1
x2
0
1
0
1
x1 x2
0
0
0
1
Beschreibung der Schaltfunktion mit einem Schaltterm – Version 1Beschreibung der Schaltfunktion mit einem Schaltterm – Version 1
Korrektheitsnachweis mit einer Wertetabelle:Korrektheitsnachweis mit einer Wertetabelle:
30
Steuerung einer Autoinnenbeleuchtung
)()()( 212121 xxxxxxy
x1
0
0
1
1
x2
0
1
0
1
y
1
1
1
0
x1 x2
0
1
0
0
x1
0
0
1
1
x2
0
1
0
1
x1 x2
1
0
0
0
x1 x2
0
0
1
0
(y1 y2) y2
1
1
1
0
y1 y2 y3
Beschreibung der Schaltfunktion mit einem Schaltterm – Version 2Beschreibung der Schaltfunktion mit einem Schaltterm – Version 2
Korrektheitsnachweis mit einer Wertetabelle:Korrektheitsnachweis mit einer Wertetabelle:
31 Finden von Schalttermen
x1 x2
y
&
&
&
11
9 GatterProblem:Wie findet man systematisch Schaltterme zur Repräsentation von vorgegebenen Schaltfunktion?
Problem:Wie findet man systematisch Schaltterme zur Repräsentation von vorgegebenen Schaltfunktion?
x1
0
0
1
1
x2
0
1
0
1
y
1
1
1
0
)()()( 212121 xxxxxxy
32 Minimierung des Schaltnetzes
Problem:Wie gewinnt man möglichst einfache Schaltnetze zur Realisierung der vorgegebenen Schaltfunktion?
Problem:Wie gewinnt man möglichst einfache Schaltnetze zur Realisierung der vorgegebenen Schaltfunktion?
x1
0
0
1
1
x2
0
1
0
1
y
1
1
1
0
21 xxy
x1&
x2
1 y
x1&
x2
yNAND-Gatter
33 Boolesche Algebra / Schaltalgebra
Objekte:
0 (FALSE) 1 (TRUE)
Operationen:
¯ (NOT) (AND) (OR)
x1
0
0
1
1
x2
0
1
0
1
x1 x2
0
0
0
1
x1
0
0
1
1
x2
0
1
0
1
x1 x2
0
1
1
1
x
0
1
x
1
0
Entwickelt 1854 von George Boole (1815-1864)
34 Schaltterme
211 xxt )()()( 2121212 xxxxxxt
Beispiele:
Schaltvariable:
Eine Schaltvariable ist eine Variable, für die nur die Werte 0 und 1 eingesetzt werden können.
Schaltvariable:
Eine Schaltvariable ist eine Variable, für die nur die Werte 0 und 1 eingesetzt werden können.
Schaltterm:
Ein Schaltterm ist aufgebaut aus- den Konstanten 0 (FALSE) und 1 (TRUE)- Schaltvariablen- den Operationen (AND), (OR), ¯ (NOT).
Schaltterm:
Ein Schaltterm ist aufgebaut aus- den Konstanten 0 (FALSE) und 1 (TRUE)- Schaltvariablen- den Operationen (AND), (OR), ¯ (NOT).
35 Aufstellen von Schalttermen
Wert des Minterms y2 ist 1 gdw
Wert(x1) = 0 und Wert(x2) = 1 gdw Wert(x1) = 1 und Wert(x2) = 1
)()()( 212121 xxxxxxy
x1
0
0
1
1
x2
0
1
0
1
y
1
1
1
0
x1 x2
0
1
0
0
x1
0
0
1
1
x2
0
1
0
1
x1 x2
1
0
0
0
x1 x2
0
0
1
0
(y1 y2) y2
1
1
1
0
y1 y2 y3 Minterm
(Elementarkonjunktion)
Wert(y) ist 1 gdw
Wert eines Minterms ist 1Term in
disjunktiver Normalform
(Disjunktion von Mintermen)
36 Äquivalenz von Schalttermen
x1 x2
0
1
0
0
x1
0
0
1
1
x2
0
1
0
1
x1 x2
1
0
0
0
x1
1
1
0
0
x2
1
0
1
0
x1 x2
0
0
1
0
(y1 y2) y2
1
1
1
0
y1 y2 y3
x1 x2
1
1
1
0
x1
0
0
1
1
x2
0
1
0
1
x1 x2
0
0
0
1
211 xxt )()()( 2121212 xxxxxxt
Zwei Schaltterme t1 und t2 sind (logisch) äquivalent gdw gilt:
Der Wert von t1 und t2 ist für alle möglichen Einsetzungen der in t1 und t2 vorkommenden Variablen durch 0 bzw. 1 gleich.
Zwei Schaltterme t1 und t2 sind (logisch) äquivalent gdw gilt:
Der Wert von t1 und t2 ist für alle möglichen Einsetzungen der in t1 und t2 vorkommenden Variablen durch 0 bzw. 1 gleich.
37 Gesetze der Schaltalgebra
x1 x2
0
1
0
0
x1
0
0
1
1
x2
0
1
0
1
x1 x2
1
0
0
0
x1
1
1
0
0
x2
1
0
1
0
x1 x2
0
0
1
0
(y1 y2) y3
1
1
1
0
y1 y2 y3
)()()( 2121212 xxxxxxt
x1 x2
0
1
0
0
x1
0
0
1
1
x2
0
1
0
1
x1 x2
1
0
0
0
x1
1
1
0
0
x2
1
0
1
0
x1 x2
0
0
1
0
y1 (y2 y3)
1
1
1
0
38 Gesetze der Schaltalgebra
a
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
a b
0
0
1
1
1
1
1
1
c
0
1
0
1
0
1
0
1
(a b) c
0
1
1
1
1
1
1
1
b c
0
1
1
1
0
1
1
1
a (b c)
0
1
1
1
1
1
1
1
)()( cbacba Assoziativgesetz für Disjunktionen:Assoziativgesetz für Disjunktionen:
39 Gesetze der Schaltalgebra
Assoziativgesetze:
)()( cbacba
abba Kommutativgesetze:
abba
)()()( cabacba Distributivgesetze:
)()()( cabacba
Gesetze der neutralen Elemente:
aa 1aa 0
)()( cbacba
40 Gesetze der Schaltalgebra
0-1-Gesetze:
Komplementgesetze: aa
baba De Morgansche Gesetze:
00a 11a
0 aa 1 aa
baba
aaa aaa
Adsorptionsgesetze: abaa )(
abaa )(
41 Vereinfachung von Schalttermen
)()()( 212121 xxxxxxy
21 xx
)())()(( 212121 xxxxxx )())(( 21221 xxxxx )())(( 21221 xxxxx
)()1( 211 xxx )( 211 xxx
)()( 2111 xxxx )(1 21 xx
)( 21 xx
)()()( 212121 xxxxxxy
21 xxy Ergebnis:Die Terme sind logisch äquivalent.
Ergebnis:Die Terme sind logisch äquivalent.
42 Vereinfachung der Schreibweise
x1
0
0
1
1
x2
0
1
0
1
x1 x2
0
0
0
1
x1
0
0
1
1
x2
0
1
0
1
x1 + x2
0
1
1
1
x
0
1
x
1
0
x1
0
0
1
1
x2
0
1
0
1
x1 x2
0
0
0
1
x1
0
0
1
1
x2
0
1
0
1
x1 x2
0
1
1
1
x
0
1
x
1
0
43
Termumformung m. Boolescher Algebra
212121 xxxxxxy
21xx
212121 )( xxxxxx
21221 )( xxxxx
21221 )( xxxxx
211 1 xxx
211 xxx ))(( 2111 xxxx
)(1 21 xx
21 xx
)()()( 212121 xxxxxxy
21 xxy
44 Übung
Aufgabe:
Neben der NAND-Operation gibt es als weitere wichtige Operationen die NOR-Operation und die XOR-Operation. Testen Sie diese Operationen mit Hades und ergänzen Sie ihre Wertetabellen. Beschreiben Sie diese Operationen auch mit Schalttermen, in denen nur die drei Grundoperationen vorkommen.
Aufgabe:
Neben der NAND-Operation gibt es als weitere wichtige Operationen die NOR-Operation und die XOR-Operation. Testen Sie diese Operationen mit Hades und ergänzen Sie ihre Wertetabellen. Beschreiben Sie diese Operationen auch mit Schalttermen, in denen nur die drei Grundoperationen vorkommen.
x1
0
0
1
1
x2
0
1
0
1
x1 NAND x2
1
1
1
0
x1 NOR x2 x1 XOR x2
45 Teil 3
Rechensysteme
46 Zahldarstellungen
Problem: Wie viele Blätter sind hier dargestellt?Problem: Wie viele Blätter sind hier dargestellt?
(10010)2 18 (12)16
47 Stellenwertsysteme
23
0000000011111111
22
0000111100001111
21
0011001100110011
20
0101010101010101
100
0123456789012345
101
0000000000111111
160
0123456789ABCDEF
Dualzahlen
Hexadezimalzahlen
48 Addiersystem
112
91
0
0 110
11
0
1 100
0011
11
Summand A
Summand B
Übertrag
Summe
Ziel ist es, ein Addiersystem für Dualzahlen zu entwickeln.Ziel ist es, ein Addiersystem für Dualzahlen zu entwickeln.
Schriftliche Addition im Zehnersystem:Schriftliche Addition im Zehnersystem:
Summand A
Summand B
Übertrag
Summe
Schriftliche Addition im Dualsystem:Schriftliche Addition im Dualsystem:
49 Funktionale Modellierung
0 11
0
11
0
1 10
0
001
11
1
Summand A
Summand BÜbertrag
Summe
HAa
b
s1
1ü
0
1VA
a
c
s0
1ü
1
0b
0
Volladdierer
Halbaddierer
50 Halbaddierer
a
0
0
1
1
b
0
1
0
1
s
0
1
1
0
ü
0
0
0
1
baü
)()( babas
bXORas
HAa
b
s1
1ü
0
1
Halbaddierer
51
c
01010101
Volladdierer
a
00001111
b
00110011
s
01101001
ü
00010111
)()()()( cbacbacbacbaü
VAa
c
s0
1ü
1
0b
0
)()()()( cbacbacbacbas
Volladdierer
52
Volladdierer m. Halbaddierer-Bausteinen
a b
HA
HA
1
c
s
ü
s
ü ü
s
c
01010101
a
00001111
b
00110011
s
01101001
ü
00010111
a
0
0
1
1
b
0
1
0
1
s
0
1
1
0
ü
0
0
0
1
Volladdierer
Halbaddierer
53
4-Bit-Paralleladdierer mit Bausteinen
a3 a2
HA
VA
a1 a0
b3 b2 b1 b0
VA
VA
1 0 0
s0
s1
s2
s3
ü
Beispiel: (1001) + (1011) = 1(0100)
1
1 0 1 1
0
0
1
0
1
54 Übung
Aufgabe:
Erstellen und testen Sie zunächst einen Halb- und Volladdierer.
Entwickeln Sie anschließend einen 4-Bit-Paralleladdierer mit Hilfe geeigneter Bausteine.
Aufgabe:
Erstellen und testen Sie zunächst einen Halb- und Volladdierer.
Entwickeln Sie anschließend einen 4-Bit-Paralleladdierer mit Hilfe geeigneter Bausteine.
55
Hinweise: Erzeugung von Bausteinen
Schritt 1: Schaltnetz erzeugen und abspeichern (z. B.: ha.hds)
Schritt 2: Neues Symbol erzeugen: [Edit][Create symbol]Schritt 3: Neuen Baustein erzeugen: [rechte Maustaste] [Create] [Create Subdesign...]
ha.hds
Schritt 4: Neuen Baustein benutzen: [rechte Maustaste] [Create] [Create Subdesign...]
ha.hds
56 ÜbungAufgabe:
Entwickeln Sie analog zum 4-Bit-Addierer einen 4-Bit-Inkrementierer.
Aufgabe:
Entwickeln Sie analog zum 4-Bit-Addierer einen 4-Bit-Inkrementierer.
Idee:Idee:
1 10
11
0
1 01
0
11
Zahl
Inkrement
Übertrag
Nachfolger
57 Übung
Aufgabe:
Entwickeln Sie einen 4-Bit-Komparator, der überprüft, ob zwei 4-Bit-Dualzahlen gleich sind.
Aufgabe:
Entwickeln Sie einen 4-Bit-Komparator, der überprüft, ob zwei 4-Bit-Dualzahlen gleich sind.
Idee:Idee:
11 1
11
110
011
Zahl A
Zahl B
Hilf
Ergebnis
0
58 Lösung - Addierer
59 Lösung - Inkrementierer
1 10
11
0
1 01
0
11
Zahl
Inkrement
Übertrag
Nachfolger
Idee:Idee:
60 Lösung - Komparator
Idee:Idee:11 1
11
110
011
Zahl A
Zahl B
Hilf
Ergebnis
0
61 Teil 4
Flip-Flops
62 An der Tankstelle
Problem: Steuerung der Kontrolllampe einer ZapfsäuleProblem: Steuerung der Kontrolllampe einer Zapfsäule
nach D. Jonietz: Lehrprobenentwurf
Die Kontrolllampe zeigt an, ob die Zapfsäule bereit ist. Nur wenn sie bereit ist, führt ein Tankversuch zur Aktivierung der Pumpanlage. Durch Einhängen der Zapfpistole wird die Pumpanlage gesperrt. Sie ist erst wieder bereit, wenn sie freigegeben wird.
63
Zapfsäule als zustandsbasiertes System
einhängen
bereit gesperrt
einhängenfreigeben
freigeben Zustand
Anfangszustand
auslösende Aktion
Grundeigenschaft zustandsbasierter Systeme:
Das Verhalten des Systems hängt nicht nur von den auslösenden Aktionen (freigeben / einhängen) ab, das Verhalten hängt auch von internen Zuständen des Systems (bereit / gesperrt) ab.
64 Binäre Kodierung
S
00
00
11
11
R
00
11
00
11
Q‘
01
00
11
Q
01
01
01
01
nichts machennichts machen
freigebenfreigeben
einhängeneinhängen
einhängen und freigebeneinhängen und freigeben
Neuer Zustand
Aktueller Zustand
Zustände:
Q = 0: „bereit“Q = 1: „gesperrt“
Steuersignale:
S: einhängenR: freigeben
einhängen
bereit gesperrt
einhängenfreigeben
freigeben
65 Entwicklung einer Schaltung
S
00
11
R Q‘
01
11
Q
01
01
nichts machennichts machen
freigebenfreigeben
einhängeneinhängen
einhängen und freigebeneinhängen und freigeben
QSQ 'Q
1S
Q‘
66 Entwicklung einer Schaltung
S
00
00
11
R
00
11
00
Q‘
01
00
11
Q
01
01
01
nichts machennichts machen
freigebenfreigeben
einhängeneinhängen
einhängen und freigebeneinhängen und freigeben
RQSQ )('Q
1S
Q‘&R
67 Entwicklung einer Schaltung
RQSQ )('Q
1S
Q‘&R
RQSQ '
Q
1S
Q‘1R
RQSQ '
Q 1S
Q‘1R
68 Überprüfung der Schaltung
1S
Q1R
P
S = 1; R = 0; P = ..; Q = .. P‘ = 0; Q‘ = 1
S = 0; R = 1; P = ..; Q = .. P‘ = 1; Q‘ = 0
S = 0; R = 0; P = 1; Q = 0 P‘ = 1; Q‘ = 0
S = 0; R = 0; P = 0; Q = 1 P‘ = 0; Q‘ = 1
S = 1; R = 1; P = 0; Q = 1 P‘ = 0; Q‘ = 0
S = 1; R = 1; P = 1; Q = 0 P‘ = 0; Q‘ = 0
Bedingung: P = Q
unzulässig
69 Flip-Flop
Funktion S
00
00
11
11
R
00
11
00
11
Q‘
01
00
11
Q
01
01
01
01
Zustandbewahren
Zustand zurücksetzen
Zustandsetzen
1S
Q1R
P = Q
Flip-Flop-System
Systemverhalten
Eine Schaltung, die zwei stabile Zustände besitzt (bistabile Kippschaltung), wird als Flip-Flop bezeichnet.
70 Flip-Flop als Speicherelement
S
0
0
1
1
R
0
1
0
1
Q‘
Q
0
1
Funktion
Bewahren
Rücksetzen
Setzen
S
R
Q
Das entwickelte Flip-Flop-System verhält sich wie ein Speicherelement. Mit Hilfe der Funktionen „Setzen“ und „Rücksetzen“ wird ein Wert in den Speicher geschrieben, mit der Funktion „Bewahren“ wird er im Speicher aufbewahrt.
Schaltsymbol
1S
Q1R
P = Q
Flip-Flop-System Speicherelement
71 Zustandsgraph
S
Q = 0 Q = 1
RS
R
S
0
0
1
1
R
0
1
0
1
Q‘
Q
0
1
Funktion
Bewahren
Rücksetzen
SetzenS = R = 1 vermeide
n
S = 1; R = 0
Q = 0 Q = 1
S = 1; R = 0
S = 0; R = 1
S = 0; R = 1
S = 0; R = 0
S = 0; R = 0
72 Übung
Aufgabe:
Bauen Sie das Flip-Flop-System auf und testen Sie sein Verhalten.
Aufgabe:
Bauen Sie das Flip-Flop-System auf und testen Sie sein Verhalten.
S
0
0
1
1
R
0
1
0
1
Q‘
Q
0
1
Funktion
Bewahren
Rücksetzen
Setzen
1S
Q1R
P = Q
Flip-Flop-System Speicherelement
73 Übung
Funktion S
00
00
11
11
R
00
11
00
11
Q‘Q
01
01
01
01
&S
Q
&R
P
System
Systemverhalten
Aufgabe:
Testen Sie auch das dargestellte System und beschreiben Sie sein Verhalten.
Aufgabe:
Testen Sie auch das dargestellte System und beschreiben Sie sein Verhalten.
74 Übung
Funktion S
00
00
11
11
R
00
11
00
11
Q‘Q
01
01
01
01
&S
Q
&R
P
System
Systemverhalten
Aufgabe:
Testen Sie, ob man mit der oben dargestellten Schaltung ebenfalls ein Speicherelement erhält.
Aufgabe:
Testen Sie, ob man mit der oben dargestellten Schaltung ebenfalls ein Speicherelement erhält.
75 Teil 5
Von taktgesteuerten Flip-Flops zu Registern
76 Synchronisation von Flip-Flops
In der Regel müssen bei Speichervorgängen mehrere Bits gleichzeitig übernommen werden.
Hierzu ist es notwendig, die Flip-Flops zu synchronisieren, d. h., eine am Eingang vorliegende Information darf erst auf ein bestimmtes Signal hin übernommen werden.
Man verwendet hierzu i. a. ein periodisches Taktsignal.
Fallende Flanke
Steigende Flanke
1-Zustand 0-Zustand
77 Taktgesteuertes Flip-Flop
S
*
0
0
1
1
R
*
0
1
0
1
Q‘
Q
Q
0
1
C
0
1
1
1
1
S
Q
R
S
R
&
&
C
Nur wenn der Takt den Wert 1 hat, kann ein Setzen oder Rücksetzen des Flip-Flops erfolgen.
C S
Q = 0 Q = 1
C RC S
C R
S = R = 1 vermeide
n
78 Übung
C
S
Q
R
S
Q
R
S
R
&
&
C
Aufgabe:
Testen Sie das entwickelte Flip-Flop mit Hades.
Ergänzen Sie anschließend das unten dargestellte Impulsdiagramm.
Aufgabe:
Testen Sie das entwickelte Flip-Flop mit Hades.
Ergänzen Sie anschließend das unten dargestellte Impulsdiagramm.
Impulsdiagramm
79 Master-Slave-Flip-Flop
S
R
SR
&
&
C
SR
&
&
1
QSQM
Master
Die Belegungen der Eingänge wirken sich hier erst um eine halbe Taktperiode verzögert am Ausgang aus. Master- und Slave-Flip-Flop sind abwechselnd zum (Rück-)Setzen bereit bzw. gesperrt.
C SC S
QM = 0QS = 0
C R
C R
C S
C R
QM = 1QS = 0
QM = 1QS = 1
QM = 0QS = 1
C SC S
CC
Slave
80 Übung
Aufgabe:
Testen Sie die Flip-Flop-Schaltung (siehe msff.hds) und ergänzen Sie das Impulsdiagramm.
Aufgabe:
Testen Sie die Flip-Flop-Schaltung (siehe msff.hds) und ergänzen Sie das Impulsdiagramm.
C
S
QM
R
QS
81 Flankengesteuertes D-Flip-Flop
&D Q
& P = Q
&
&
&
&
C
Ein Zustandswechsel erfolgt hier nur bei einer steigenden Taktflanke.
82 Übung
C
D
Q
Aufgabe: Erstellen Sie zunächst eine D-Flip-Flop-Testschaltung. Erzeugen Sie dann die im Impulsdiagramm dargestellten Eingangssignale und ergänzen Sie das Q-Ausgangssignal.
Aufgabe: Erstellen Sie zunächst eine D-Flip-Flop-Testschaltung. Erzeugen Sie dann die im Impulsdiagramm dargestellten Eingangssignale und ergänzen Sie das Q-Ausgangssignal.
C D
CC
C D
CC
CC C DC D
Z0
Q = 0
Z3
Q = 0
Z2
Q = 1
Z1
Q = 1
83 SchieberegisterEin 4-Bit-Schieberegister ist eine Einheit mit folgenden Eigenschaften:Ein 4-Bit-Schieberegister ist eine Einheit mit folgenden Eigenschaften:
/1/ Das Register kann 4 Bit mit Hilfe von Flip-Flops speichern.
/2/ Das Register hat einen Dateneingang, über den es neue Werte aufnehmen kann.
/3/ Mit jeder steigenden Taktflanke werden die gespeicherten Werte um eine Einheit nach rechts verschoben. Das erste Flip-Flop übernimmt den Wert am Dateneingang, der Wert des letzten Flip-Flops geht (hier) verloren.
0 1 00 1
84 Übung
Entwerfen und testen Sie ein 4-Bit-Schieberegister, das mit Hilfe von D-Flip-Flops aufgebaut ist. Entwerfen und testen Sie ein 4-Bit-Schieberegister, das mit Hilfe von D-Flip-Flops aufgebaut ist.
85 Schieberegister-Baustein
Eingang zum Laden
Takt
Shift-Eingang
Umschalten: Laden/Shift
Reset
Hades stellt einen vordefinierten Schieberegisterbaustein zur Verfügung: [rechte Maustaste] [create] [create by name] [hades.models.register.ShiftRegister]
Hades stellt einen vordefinierten Schieberegisterbaustein zur Verfügung: [rechte Maustaste] [create] [create by name] [hades.models.register.ShiftRegister]
86 Übung
hades.models.register.ShiftRegister
Testen Sie den vordefinierten Schieberegister-Baustein von Hades. Testen Sie den vordefinierten Schieberegister-Baustein von Hades.
87 Addierwerk
0
00 0 1 1 VA
Ein serielles 4-Bit-Addierwerk lässt sich wie dargestellt mit Hilfe eines Volladdierers und Schieberegisterbausteinen aufbauen.Ein serielles 4-Bit-Addierwerk lässt sich wie dargestellt mit Hilfe eines Volladdierers und Schieberegisterbausteinen aufbauen.
0 1 1 0 0
1
88 ÜbungEntwickeln Sie ein serielles 4-Bit-Addierwerk. Benutzen Sie vordefinierte Schieberegisterbausteine, um die Dualzahlen zwischenzuspeichern.
Entwickeln Sie ein serielles 4-Bit-Addierwerk. Benutzen Sie vordefinierte Schieberegisterbausteine, um die Dualzahlen zwischenzuspeichern.
89 Register
Ein Register soll als Speichereinheit wie folgt arbeiten:Ein Register soll als Speichereinheit wie folgt arbeiten:
/1/ Das Register kann 1 Bit speichern.
/2/ Das Register hat einen Dateneingang D und einen Datenausgang Q.
/3/ Mit Hilfe eines Steuereingang ENA (enable) kann das Register aktiviert bzw. deaktiviert werden.
/4/ Mit Hilfe eines Steuereingangs NR (negated reset) kann das Register initialisiert werden: Das Register wird mit 0 belegt, wenn NR = 0 ist.
/5/ Das Register reagiert nur bei steigender Taktflanke.
ENA
NR
D
clk
Q
90 Übung
Testen Sie folgende Realisierung des Registers. Testen Sie folgende Realisierung des Registers.
wenn QFF = 1 und ENA = 0
wenn ENA = 1 und NR = 1 und D = 1
1oder
ENANRD
Q
clk
91 Übung
hades.models.rtlib.io.OpinVector
hades.models.rtlib.io.IpinVector
Testen Sie auch den von Hades vordefinierten Register-Baustein: [create] [Create By Name] [hades.models.rtlib.register.RegRE]
Stellen Sie den Baustein auf die Größe "8 Bit" ein: [rechte Maustaste] [Edit] [...]. Benutzen Sie eine hexadezimale Darstellung des Registerinhalts.
Testen Sie auch den von Hades vordefinierten Register-Baustein: [create] [Create By Name] [hades.models.rtlib.register.RegRE]
Stellen Sie den Baustein auf die Größe "8 Bit" ein: [rechte Maustaste] [Edit] [...]. Benutzen Sie eine hexadezimale Darstellung des Registerinhalts.
hades.models.rtlib.register.RegRE
92 Lösung - Taktsteuerung
S
*
0
0
1
1
R
*
0
1
0
1
Q‘
Q
Q
0
1
C
0
1
1
1
1
C S
Q = 0 Q = 1
C RC S
C R
S = R = 1 vermeiden
C
S
Q
R
Nur wenn der Takt auf "1" ist, kann ein Setzen oder Rücksetzen des Flip-Flops erfolgen.
93 Lösung - MS-Flip-Flop
C
S
QM
R
QS
S
R
SR
&
&
C
SR
&
&
1
QSQM
C S
C SC S
QM = 0QS = 0
C R
C R
C S
C R
QM = 1QS = 0
QM = 1QS = 1
QM = 0QS = 1
C S
CC
Ein Zustandswechsel erfolgt beim MS-Flip-Flop um eine halbe Taktperiode verzögert.
94 Lösung - D-Flip-Flop
C D
CC
C D
CC
CC C DC D
Z0
Q = 0
Z3
Q = 0
Z2
Q = 1
Z1
Q = 1
C
D
Q0 3 0 3 0 1 2 3 0 3 0 1 2 1 2 3
Ein Zustandswechsel kann nur bei einer steigenden Taktflanke erfolgen.
95 Teil 6
Registermaschine
96 Zielsetzung
Mit Hilfe vorgegebener Hardwarebausteinen soll ein einfacher, voll funktionsfähiger Rechner entwickelt werden. Wir orientieren uns hier am Konzept des Bonsai-Rechners. (vgl. http://www.hsg-kl.de/faecher/inf/material/bonsai/index.php)
Mit Hilfe vorgegebener Hardwarebausteinen soll ein einfacher, voll funktionsfähiger Rechner entwickelt werden. Wir orientieren uns hier am Konzept des Bonsai-Rechners. (vgl. http://www.hsg-kl.de/faecher/inf/material/bonsai/index.php)
97 Registermaschine
> 0 JMP 3 1 INC 0 2 DEC 1 3 TST 1 4 JMP 1 5 HLT
0: 51: 32: 03: 04: 0..
Programm
Daten
Eine Registermaschine bearbeitet beliebig eingebbare Daten nach einem fest vorgegebenen Programm.
> 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.
98 Universelle Registermaschine
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
Codierung:Codierung:
INC: 1
DEC: 2
JMP: 3
TST: 4
HLT: 5CPU
99 Rechnerarchitektur (von 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
100 Befehlszyklus
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
Wiederhole
Befehl holen
Befehl dekodieren und ausführen
Wiederhole
Befehl holen
Befehl dekodieren und ausführen
Befehlszyklus
101 Schritt 1: Akku-RegisterWir beginnen mit dem Akku-Register. Der hier benutzte Akku soll 8-Bit-Dateneinheiten aufnehmen können.
Benutzen Sie den von Hades vordefinierten Register-Baustein: [create] [Create By Name] [...]
Stellen Sie den Baustein auf die Größe "8 Bit" ein: [rechte Maustaste] [Edit] [...]. Benutzen Sie eine hexadezimale Darstellung des Registerinhalts.
Wir beginnen mit dem Akku-Register. Der hier benutzte Akku soll 8-Bit-Dateneinheiten aufnehmen können.
Benutzen Sie den von Hades vordefinierten Register-Baustein: [create] [Create By Name] [...]
Stellen Sie den Baustein auf die Größe "8 Bit" ein: [rechte Maustaste] [Edit] [...]. Benutzen Sie eine hexadezimale Darstellung des Registerinhalts.
Akku
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
102 Registertest
hades.models.rtlib.io.OpinVector
hades.models.rtlib.io.IpinVector
Testen Sie den Registerbaustein. Benutzen Sie geeignete Eingabe- und Ausgabe-Einheiten (die auf die Größe "8 Bit" angepasst werden müssen). Schreiben Sie einen Wert in das Register und lesen Sie ihn wieder aus.
Testen Sie den Registerbaustein. Benutzen Sie geeignete Eingabe- und Ausgabe-Einheiten (die auf die Größe "8 Bit" angepasst werden müssen). Schreiben Sie einen Wert in das Register und lesen Sie ihn wieder aus.
103 Schritt 2: RechenwerkMit Hilfe des Rechenwerkes sollen einfache Inkrementier- und Dekrementieroperationen ausgeführt werden.
Mit Hilfe des Rechenwerkes sollen einfache Inkrementier- und Dekrementieroperationen ausgeführt werden.
Rechenwerk
Akku
Das Rechenwerk wird hier mit vordefinierten Incr- bzw. Decr-Bausteinen realisiert. Zur Auswahl der Datenleitungen werden geeignete Multiplexer benötigt.
Das Rechenwerk wird hier mit vordefinierten Incr- bzw. Decr-Bausteinen realisiert. Zur Auswahl der Datenleitungen werden geeignete Multiplexer benötigt.
104 Test des Rechenwerks
hades.models.rtlib.arith.Decr
hades.models.rtlib.arith.Incr
hades.models.rtlib.muxes.Mux21
Bauen Sie die Schaltung auf und testen Sie diese, indem Sie eine zweistellige Hexadezimalzahl (8-Bit-Einheit) in den Akku schreiben und diese Zahl dann inkrementieren / dekrementieren.
Bauen Sie die Schaltung auf und testen Sie diese, indem Sie eine zweistellige Hexadezimalzahl (8-Bit-Einheit) in den Akku schreiben und diese Zahl dann inkrementieren / dekrementieren.
105 Schritt 3: ArbeitsspeicherDie im Akku-Register zu verarbeitenden Daten sollen aus einem Arbeitsspeicher geholt und nach der Bearbeitung im Akku wieder in den Arbeitsspeicher geschrieben werden.
Die im Akku-Register zu verarbeitenden Daten sollen aus einem Arbeitsspeicher geholt und nach der Bearbeitung im Akku wieder in den Arbeitsspeicher geschrieben werden.
0: 3 3 1: 1 7 2: 2 8 3: 4 8 4: 3 1 5: 5 0 6: 0 0 7: 0 5 8: 0 3 .. 0 0
Arbeitsspeicher
Rechenwerk
Akku
106 RAM-Baustein
nCS: nCS = 0: (notChipSelect) RAM-Baustein aktiv
nWE: nWE = 0: DIN adressiertes RegisternWE = 1: adressiertes Register DOUT
A: Adress-Eingang
DIN: Daten-Eingang
DOUT: Daten-Ausgang
hades.models.rtlib.memory.RAM
Erzeugen Sie einen RAM-Baustein und legen Sie die Speichergröße wie angezeigt fest.
Erzeugen Sie einen RAM-Baustein und legen Sie die Speichergröße wie angezeigt fest.
Hades zeigt die Speicherinhalte zunächst nicht korrekt als zweistellige Hexadezimalzahlen an. Benutzen Sie folgenden "Trick": Speichern Sie die Schaltung ab. Öffnen Sie diese Datei mit einem Texteditor. Ergänzen Sie die Zeile zur Beschreibung des RAM-Bausteins um eine Datei-Angabe. In dieser Datei sollen die gewünschten Speicherinhalte stehen. [components]...hades.models.rtlib.memory.RAM i1 -18300 33900 @N 1001 16 8 RP1.rom...[end components]
Hades zeigt die Speicherinhalte zunächst nicht korrekt als zweistellige Hexadezimalzahlen an. Benutzen Sie folgenden "Trick": Speichern Sie die Schaltung ab. Öffnen Sie diese Datei mit einem Texteditor. Ergänzen Sie die Zeile zur Beschreibung des RAM-Bausteins um eine Datei-Angabe. In dieser Datei sollen die gewünschten Speicherinhalte stehen. [components]...hades.models.rtlib.memory.RAM i1 -18300 33900 @N 1001 16 8 RP1.rom...[end components]
107 RAM-Test
RAM Akku
Testen Sie das bisher entwickelte System. Der Inhalt von Register 7 soll aus dem Speicher gelesen und im Akku zwischengelagert werden. Anschließend soll dieser Wert inkrementiert werden.
Testen Sie das bisher entwickelte System. Der Inhalt von Register 7 soll aus dem Speicher gelesen und im Akku zwischengelagert werden. Anschließend soll dieser Wert inkrementiert werden.
108 RAM-Test
Akku RAM
Testen Sie das bisher entwickelte System. Der im Akku zwischengelagerte Wert soll zurück in das Register 7 geschrieben werden.
Testen Sie das bisher entwickelte System. Der im Akku zwischengelagerte Wert soll zurück in das Register 7 geschrieben werden.
109 Schritt 4: DatenbusDer 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 3 1: 1 7 2: 2 8 3: 4 8 4: 3 1 5: 5 0 6: 0 0 7: 0 5 8: 0 3 .. 0 0
Arbeitsspeicher
110 Datenbus
Datenbus Datenbus
RAM Datenbus Akku Akku Datenbus RAM
111 Torsteuerung
Datenbus
hades.models.rtlib.muxes.TriBuf
Bei der Realisierung des Busses muss darauf geachtet werden, dass nicht mehrere Quellen ihre Daten gleichzeitig auf den Bus schreiben. Der Datenfluss soll mit Hilfe von Toren, die durch Tristate-Gatter realisiert werden, geregelt werden.
Bei der Realisierung des Busses muss darauf geachtet werden, dass nicht mehrere Quellen ihre Daten gleichzeitig auf den Bus schreiben. Der Datenfluss soll mit Hilfe von Toren, die durch Tristate-Gatter realisiert werden, geregelt werden.
112 Tristate-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)
UND-Gatter
Tristate-Gatter
113
Schritt 5: Befehlsregister und Adressbus
Rechenwerk
Datenbus
Adressbus
Akku
IR 0: 3 3 1: 1 7 2: 2 8 3: 4 8 4: 3 1 5: 5 0 6: 0 0 7: 0 5 8: 0 3 .. 0 0
Arbeitsspeicher
3 3
JMP 3
114 Befehlsregister
Datenbus
Adressbus
BefehlsregisterBefehlsregister
Speicher
Reset
Bussplitter
Die hexadezimal kodierten Befehle werden im Befehlsregister in ihre Bestandteile zerlegt.Die hexadezimal kodierten Befehle werden im Befehlsregister in ihre Bestandteile zerlegt.
115 Befehlsregister und Bussplitter
hades.models.rtlib.register.RegREhades.models.rtlib.register.RegRE
hades.models.rtlib.io.BusTapBottomhades.models.rtlib.io.BusTapBottom
116 Bussystem
8-Bit-Datenbus
4-Bit-Adressbus
BefehlsregisterBefehlsregister
Speicher mit 16 8-Bit-Registern
117 Schritt 6: Programmzähler
Rechenwerk
Datenbus
Adressbus
Akku
IR 0: 3 3 1: 1 7 2: 2 8 3: 4 8 4: 3 1 5: 5 0 6: 0 0 7: 0 5 8: 0 3 .. 0 0
Arbeitsspeicher
3 3PC 0
118 Programmzähler
Adressbus
Datenbus
BefehlsregisterBefehlsregister
Programmzähler
119 Schritt 7: Programmbeendung
Rechenwerk
Datenbus
Adressbus
Akku
IR 0: 3 3 1: 1 7 2: 2 8 3: 4 8 4: 3 1 5: 5 0 6: 0 0 7: 0 5 8: 0 3 .. 0 0
Arbeitsspeicher
3 3PC 0
120 Nullentdeckung
Datenbus
hades.models.rtlib.compare.CompareEqual
121 Schritt 8: Steuerwerk
Rechenwerk
Datenbus
Adressbus
Akku
IR 0: 3 3 1: 1 7 2: 2 8 3: 4 8 4: 3 1 5: 5 0 6: 0 0 7: 0 5 8: 0 3 .. 0 0
Arbeitsspeicher Steuerwerk
3 3PC 0
122 Steuerwerk
Steuerwerk
Steuersignal
123 Mikroprogramm
Mikroprogramm
Befehl holen0 101 10, 3, 112 0, 2
INC ausführen10 1211 12, 3, 712 12, 513 12, 4, 8, 1314 0, 1
...
124 Ausfü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
...
125 Funktionseinheiten
Programmzähler Befehlsregister
Rechenwerk
Arbeitsspeicher
Akkumulator
Steuerwerk
Datenbus
Adressbus
126 Funktionseinheiten
Rechenwerk
Arbeitsspeicher Steuerwerk
Datenbus
Adressbus
Akku
PC IR
127 Literaturhinweise
F. Gasper, I. Leiß, M. Spengler, H. Stimm: Technische und theoretische Informatik. Bsv 1992.
Eckhart Modrow: Automaten Schaltwerke Sprachen. Dümmler Verlag 1988.
H. Bühler: Grundlagen einer Verständigung mit Computern. Skript.
Heinz-Dietrich Wuttke, Karsten Henke: Schaltsysteme. Pearson Studium 2003.
...