Schaltwerk
Schaltwerk arbeitet in Schritten
Zustandsgraph
Knoten des Graphen
Knoten des Graphen sind die Zustände des Schaltwerks
Gerichtete Kanten
Eingehende Kanten
Ausgehende Kanten
Kanten sind mit i/o markiert
Eingabe: i
Ausgabe: o
Eine Ampel zeigt normalerweise auf rot. Drückt man den Knopf geht sie auf grün und verbleibt dort für 3s und wechselt wieder auf rot
Signal: eingabe: Knopf
Signal: Ausgabe: Farbe Wert 0 rot, 1 grün
Beliebige Eingabe: *
Signal, Taktsignal
Taktdauer: Länge jedes Schrittes
Frequenz: Kehrwert der Taktdauer
Takt
Taktdauer
Taktsignal
z0->z0
z0->z1
z1->z0
Ein Schaltwerk arbeitet normalerweise mit Takten fester Taktdauer
z0->z0
z0->z1
z1->z2
z2->Z0
z0+ := z0 AND NOT Knopf OR z2
z1+ := z0 AND Knopf
z2+ := z1+
Farbe := z0 AND Knopf OR z1 OR z2
Eine Ampel steht auf rot für 2s
Wechselt auf Gelb für 1s
Verbleibt auf Grün für 2s
Verlängbar auf 5s
ro: rot
ge: geld
gr: grün
Ein n-Bit-Register
n Dateneingänge
n Datenausgänge
Steuereingang CLK oder Taktsignal
Übergangsschaltnetz für z0+ -> n-Bit-Register -> z0
Übergangsschaltnetz für z1+ -> n-Bit-Register -> z1
Übergangsschaltnetz für z2+ -> n-Bit-Register -> z2
z0, z0+
z1, z1+
z2, z2+
zw, zw+
Folgezustand
z0+
z1+
z2+
zw+
Flip Flop
x NOR 0 = NOT x
x NOR 1 = 0
Q := R NOR Q'
Q' := S NOR Q
S, R, Q, NOT Q
CLK, D, Q, NOT Q
Wirkintervall: Setzzeit + Haltezeit
Kippintervall: Die Zeit in der das Datensignal frühestens oder spätestens am Ausgang des FF erscheint
Setzzeit: Setup Time: Die Zeit vor dem Taktsignal bei der das Datensignal stabil sein muss
Haltezeit: Hold Time: Die Zeit nach dem Taktsignal bei der das Datensignal stabil sein muss
MS FF: Wirk und Kippintervall überalappen sich nicht
S, R, Q, NOT Q
CLK, D, Q, NOT Q
ENABLE, CLK, D, Q, NOT Q
Steuerkwerk
Statusvektor V
Steuervektor S
Operationswerk:
Eingabevektor X
Ausgabevektor Y
Steuervektor S
Statusvektor V
R: Allzweckregister
R2(7:0)
Randbits
2^0: Least Significant Bit - Rechtes Bit
2^7: Most Significant Bit - Linkes Bit
AR: Addressregister
PC: Programm Counter
IR: Instruction Register
IR <- M [PC], PC <- PC + 4
RTL-Notation
Logisch
AND
OR
NOT
EXOR
Arithmetisch
Addition +
Inkrement ++
Subtraktion -
Dekrement --
Einerkomplement
Schiebe und Rotation
Schiebe um n bit nach links >> n
Schiebe um n bit nachts << n
Schiebe um n bit °> n
Schiebe um n bit <° n
Konkatenation ||
ASM-Diagramm: Algorithmic State Machine
Flussdiagramm
Eingehende Kante
Eingehende Kante führt von Zustand Za in Zustand Zb
Eingehende Kante ist mit i/o Markiert
Eingehende Kante, di mit i/o markiert ist führt von Zustand Za in Zustand Zb
Korrespondierender Moore Automat
Zb
Zbo
Zbo1, Zbo2, Zbo3
Za, Zb
o1, o2, o3
i o
i/o
Operationswerk
Steuerkwerk
Rechenwerk: Universalles Operationswerk
Leitwerk: Steuerbares Steuerwerk
Rechenwerk
ALU
Registerblock
Auf der Linken Seite, der Zuweisung: Variable
Auf der rechten Seite: Funktionsausdruck
Funktionsausdruck: Schaltnetz
Variable: Register
Registerblock: Mehrere Register können zu einem zusammen gefasst werden
Verschiedene Ausdrücke mit verschiedenen Variablen können parallel ausgeführt werden
Beispiel 1en Zähler
Da weiss ich die Sprüche nicht
John v. Atanasov mit Clifford Berry
Charles Babagge
John von Neumann
Alan Turing
Konrad Zuse
1.) Befehl holen (fetch )
2.) Befehl ausführen (execute)
Blockschaltbild eines Computers
Rechenwerk
ALU
Registerblock
Schiebemultiplexer
Statusbits
Leitwerk
Programmzähler PC
Instruction Register IR
OpCode
Addressfeld
Ablaufsteuerung
Holen
Ausführen
Speicher
Befehl Datum Befehl Datum Befehl
Ein und Ausgabe
1.) REST
Initialisiere Prozessoregister, z.B. Programmcounter <- xxxx
2.) Befehlszyklus
Solange betriebsspannung vorhanden
Hole Operationscode
IR <- M [PC++]
Hole Operanden
Operandenaddresse <- M [PC++]
Führe Operation gemäss OpCode aus
Verknüpfung
Transfer
Register <-> Speicher
Sprung