labs.wakayama.ninja
データパス
レジスタ、ALU、メモリ、制御信号を、1命令の中でどこが動くかに分けて眺めます。
データパスとは
CPUの中で、値が通る道をまとめてデータパスと呼びます。制御回路が信号を出し、レジスタから値を読み、ALUで計算し、必要ならメモリを読み書きして、最後にレジスタへ戻します。
レジスタ 値を一時的に持つ場所
ALU 加算や減算をする回路
メモリ アドレスで読む/書く場所
命令
R1 ← R2 + R3
R2 と R3 をALUへ送り、足した結果を R1 に書き戻します。
値の流れ
レジスタ
R2 = 7, R3 = 5
加算
7 + 5 = 12
メモリ
今回は使いません
書き戻し
R1 に 12 を入れる
制御信号
レジスタ書込=1, ALU動作=加算
レジスタ
メモリ
眺め方
加算 や 減算 は、レジスタから2つの値を読み、ALUを通って、レジスタへ戻ります。
読込 はALUでアドレスを作ってからメモリを読み、書込 はレジスタの値をメモリへ書きます。