/media/sda-magnetic/david/Dok-15-2023-11-27/fernuni-hagen/cs-i-ii/old-cs-2-01/operation-theorie.txt


Ich schreibe jetzt in Worten auf, was Sache ist:

Ich hatte bisher - die Bits s0, s1, s2, s3, ... für die Multiplexer - und für das WRITE-Signal an den Flip-Flops. 

Und wenn man sich genau daran erinnert - habe ich bei einer Aufgabe, geschrieben - wenn ein Steuerbit = 1 war, zum Beispiel

Zustand 2, s7 = 1, s2 = 1

Das schreibt man anders: Man gibt den kompletten Steuervektor an. Steuervektor heißt der!

-> Steuervektor!

Das gibt man so an

s0  s1  s2  s3  s4  s5  s6  s7  s8  s9  s10
0   1   0   0   0   1   1   1   0   0   1

Das ist der Steuervektor. Der gilt natürlich für einen Zustand. Man kann das erklären, wie Karl Marx, mit der relativen Wertform, allgemeinen Wertform, entfalteten Wertform - das ist ja auch eine andere Ausdrucksweise, dafür, was eigentlich das gleiche ist. Jetzt führe ich mal die verschiedenen Formen auf.

Meine wäre:

Gehen wir mal von Zustand 3 aus 

-----------------------------------------------
Zustand 3:
s1 = 1, s5 = 1, s6 = 1, s7 = 1, s10 = 1
-----------------------------------------------

Jetzt die allgemeinere Form:

-----------------------------------------------
Zustand 3:
s0  s1  s2  s3  s4  s5  s6  s7  s8  s9  s10
0   1   0   0   0   1   1   1   0   0   1
-----------------------------------------------

Jetzt in der Lösung steht was anderes. Was man hier sieht, ist "Zustand 3"

Und die nächste Form ist:

    z0  z1  z2  z3  z4  z5  z6
s0          0
s1          1
s2          0
s3          0
s4          0
s5          1
s6          1
s7          1
s8          0
s9          0
s10         1

Das muss man sich für alle Zustände, z0 bis z6 vorstellen und ist der Steuervektor. 

Jetzt lässt sich noch etwas erkennen, bzw. erweitern und so weiter.

Zustände lassen sich entweder

1.) So hinschreiben: z0, z1, z2, z3, ...
2.) Hot-One-Codiert: 000001, 000010, 000100, 001000, 010000, 100000
3.) Binär Codiert: 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, ...

Die letzten beiden sind eine Frage der Kodierung. Und das taucht auf im Mikroprogrammsteuerwerk. Genau darauf hin weißt die Lösung und der Kurstext hin. Wir haben mehr als den reinen Steuervektor. Das ist bei meinen Beispielen auch so. 

Zum Beispiel, auf Zustand 0, folgt Zustand 1, auf Zustand 1, Zustand 2, usw. Schreiben wir das mal so hin

z0 -> z1
z1 -> z2
z2 -> z3
z3 -> z4
...

Das entspricht sowohl dem ASM-Diagramm, als auch meinem Code, mit IF 

Der Witz bei der Geschichte ist - bei IF haben wir zwei Mögliche Folgezustände 

Wir haben 

1.) Ohne IF in linearer Reihenfolge 0, 1, 2, 3, 4, ...
2.) Ohne IF nicht linear, 0, 4, 3, 1, 2, 5, 8
3.) Mit IF (0, 1, 4), 2, 3, (4, 5, 8), ...

Das mit IF drückt im Steuerwerk, ja die beiden Vektoren aus - das sind nicht die Vektoren des Steuervektors, sondern des Folgezustands. Das IF geschieht über einen Multiplexer. 

Und ohne das Mikroprogrammsteuerwerk hin zu schreiben, können wir einfach den Vektor angeben, Beispiel:

nein                        ja                          Steuervektor
z0+1    z1+1    z2+1        z0+1    z1+1    z2+1        SN      SP      SF
0       1       0           0       1       0           1       1       1
0       1       0           0       0       1           0       1       0
1       0       0           1       0       0           0       0       0

Fazit: Was ich bei meinen Aufgaben noch nicht gemacht habe: Ich muss den Steuervektor komplett hinschreiben. Erstens darf das gar nicht fehlen, zweitens muss, das nicht so geschrieben werden

Zustand 3: s0 = 1, s5 = 1
sondern wirklich    Spalte, z3: 1   0   0   0   0   1   0   0   0   

Und so weiter