Angenommen ich habe einen Opcode:
Einschalten--> Fetch: Der PC zählt um 1 hoch. Dieser Adresswert wird am
CPU internen Bus gelegt und über den Puffer in den Speicher befördert.
Daraufhin bekomme ich meinen ersten Befehl (in dem Fall sei) ins
Instruktionsregister(IR).
Dieser Befehlssatz besteht genau aus einem Wort. Also wird er von dem
Steuerwerk als diesen erkannt, der PC wird um 1 erhöht und der Befehl
wird ausgeführt (execute). Daraufhin beginnt die nächste Fetch Phase...
Was ist aber wenn ich einen Befehl habe:
(A...Akku)
hier besteht der Befehl aus 2 weiteren Wörtern.
Also wird ein OP-Code generiert indem neben der Funktionalität steht,
das die nächsten 2 Wörter noch zum Befehl gehören. Also kommt der Befehl
in das IR und dort wird das nun erkannt.
Nun wird der PC um eins erhöht und holt das erste Wort, indem Fall "A"
(Frage: Wo kommt das jetzt hin? In das Steuerwerk=? Muss ja da sonst
nicht erkannt wird ob ein anderes Register addiert werden soll oder
nicht oder?
Nun wird der PC wieder um eins erhöht und holt den Wert oder Adresse von
der Zahl? (Ich bin mir da nicht sicher...)
Hier kommt das ZR Register ins Spiel. Am Ende steht dann die Adresse der
zu Addierenden Zahl drinnen und diese wird dann auch auf den internen
Adressbus gelegt. Dann kommt auch der Wert in den Datenbus zur ALU und
der Wert von A zur ALU und die Addition wird ausgeführt und in A wieder
ausgegeben.
Eins verstehe ich aber nicht: Wie genau ließt die CPU die 2 Worte ein?
Sprich wann wird das ZR Register mit der Adresse des zweiten Wortes
eingesetzt und wann wird der erste Summand erkannt?
Befinden sich die 2 Worte zu irgendeinem Zeitpunkt im Steuerwerk?
Wenn nicht, wie kann dann die Adresse von der zu addierenden Zahl
automatisch ins ZR Register kommen? Das verstehe ich irgendwie nicht..