CPUの動きを理解してない奴
■ このスレッドは過去ログ倉庫に格納されています
0855デフォルトの名無しさん
NGNG簡単に言うと、内部のレジスタの出入口の門の開け閉めだけだ、やってるのは。
門の開け閉めをやらせてるのは、命令コードのオペコード部。
で、門の開け閉めをしてるのは、命令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
いまどきのパイプライン処理で、シーケンシャルなマイクロコード、すなはちマイクロプログラムカウンタ方式なぞ使うのか?
■ このスレッドは過去ログ倉庫に格納されています