Die Ausgabe - Status-Signal (das sind nicht die Register R0, R1, R2 - wir sind im Schaltwerk)
ist die Abfrage, PC < R0
Die Abfrage PC < 5
Aber doch ein wenig die Register
Ausgabe:
Enable PC, R0, R1, R2
PC < R0 ist Eingabe für das Steuerwerk
PC < 5 ist Eingabe für das Steuwerk
Enable PC, R0, R1, R2 ist Ausgbae für das Steuerwerk
Und man braucht noch was man da rein schreibt, das heisst, Multiplexer, das muss man kodieren
Also
R0:
1.) In Z0: R0(7:0) <- X(15:8)
R1:
1.) In R1(15:0) wir X(31:16) geschrieben
3.) R1 <- R1+M[PC]
4.) R1 <- R1+2
In PC
1.) Z0: PC(7:0) <- X(7:0)
2.) Z1, Z6: PC <- PC+1
3.) Z4, PC <- 0
Wir haben also Zwei Multiplexer
Für PC einen und für R1 einen.
Sie haben zwischen 3 und 3 Möglichkeiten brauchen als 2 Bit jeweils, insgesamt 4 Bit
Das macht einen Steuervektor von 4 Bit
Dieser heisst
S(3:0)
S3, S2, S1, S0
S3, S2: Für PC
S1, S0: Für R1
Aber wir brauchen Enable, deswegen sind es drei Bits, pro Register, als 2 Bit mehr
S(5:0)
Das Most Significant Bit ist das Enable des jeweiligen Registers
Wir haben den Statusvektor V(1:0)
V1 und V0, stehen für:
PC < R0
und
PC < 5
Aktueller Zustand Eingabe - Status Signal Ausgabe - Status Signal Folgezustand Code-Folgezustand
0 00 100100 1 000001
0 01 100100 1 000001
0 10 100100 1 000001
0 11 100100 1 000001
1 00 0xx0xx 3 000100
1 01 0xx0xx 3 000100
1 10 0xx0xx 2 000010
1 11 0xx0xx 2 000010
2 00 101101 1 000001
2 01 101101 1 000001
2 10 101101 1 000001
2 11 101101 1 000001
3 00 1100xx 4 001000
3 01 1100xx 4 001000
3 10 1100xx 4 001000
3 11 1100xx 4 001000
4 00 0xx0xx 6 100000
4 01 0xx0xx 5 010000
4 10 0xx0xx 6 100000
4 11 0xx0xx 5 010000
5 00 101110 4 001000
5 01 101110 4 001000
5 10 101110 4 001000
5 11 101110 4 001000
6 00 0xx0xx 6 100000
6 01 0xx0xx 6 100000
6 10 0xx0xx 6 100000
6 11 0xx0xx 6 100000