CPUの動き?簡単だ。
簡単に言うと、内部のレジスタの出入口の門の開け閉めだけだ、やってるのは。
門の開け閉めをやらせてるのは、命令コードのオペコード部。
で、門の開け閉めをしてるのは、命令2進コードをデコードして門の開け閉め信号をばら撒く制御回路。
例えば条件分岐命令(Zフラグが1なら分岐、0なら非分岐)で、このオペコードが111なら
分岐する時の動作は、
�@分岐先のアドレスを得る、すなはち、次のアドレスを指示、すなはちプログラムカウンタ(以下PC)を+1して、PCの値をアドレスレジスタに投入、アドレスレジスタの内容をボードのアドレスバスに流し、
データバス上のオペランドすなはち分岐先アドレスをデータレジスタにキープ。
�Aデータレジスタの内容をPCに投入。
�BPCの内容をアドレスレジスタに投入。
�Cコントロールレジスタ(CPUのコントロール信号PINの入出力を扱う)のREAD信号のビットを立てる。
�Cアドレスレジスタの内容とREAD信号をボード上のアドレスバスとコントロールバスに流す。
�D分岐先の命令、すなはちデータバス上の内容をデータレジスタにキープ。
�Eデータレジスタの内容をデコード回路に流し込み、命令処理。
ーA
ーNーーーーA
ーD  ーーNーーーー→PCを+1
   |  D |
Z−−|    −−□ーーー→PCの出口と
          ↑  | アドレスレジスタの入口
         clock |   を開ける
             −□→コントロールレジ
               |スタ上にREAD信号
               |のビットを立てる。
               □
               ↓
              アドレスレジスタの出口とコントロールレジスタの出口を開け、ボードのバス上にアドレスとREAD信号を流す。
以下続く。
>>852
いまどきのパイプライン処理で、シーケンシャルなマイクロコード、すなはちマイクロプログラムカウンタ方式なぞ使うのか?