スポンサーリンク

AND命令

識別番号

01001

 

IR2の値の使い方

メモリ回路の読込み先アドレス番号

 

動作の詳細

AND命令では「WR」の値とメモリ回路の「IR2」で指定されたアドレスの内容を各ビット間でAND計算した結果を出力します。(例:00001110と00111100のANDは00001100)計算の結果は再び「WR」へと書き込まれます。またこの時フラグの書き換えも同時に行われます。フラグの値は計算の結果が0の時は「1」、0以外の時は「0」になります。

 

実際の回路の詳細動作

RAM読込1 ※全命令共通動作 JUMP命令の詳細動作ページを参照

IR1読込 ※全命令共通動作 JUMP命令の詳細動作ページを参照

RAM読込2 ※全命令共通動作 JUMP命令の詳細動作ページを参照

 

IR2読込

「IR2」レジスタへクロック信号を送り、命令の8ビット分(読込み先アドレス番号)を「IR2」へ記憶する。同時に今後の動作に備えて「M1」と「M3」は上側の経路に接続された状態にしておき、ALUのコントロール端子はAND計算の結果が出力されるよう設定しておく。

 

スポンサーリンク

実行1

この段階では「HR」レジスタの値と「IR2」レジスタの値が連結した状態で16ビットのアドレス番号となり、「M3」を通して「RAM」のアドレス入力端子へと接続されている。この状態で「RAM」へ読出し用クロック信号を送り、指定されたアドレス番号の内容が出力端子へ読み出されるようにしておく。さらにこの段階では「PC」の値に+1だけカウントアップされた値が「M2」を通して「PC」の入力端子へと接続されている。この状態で「PC」へクロック信号を送り、「PC」の値を+1だけカウントアップする。

 

実行2

この段階では「RAM」の出力信号がB端子へ、「WR」の値がA端子へと接続されている。この状態で「ALU」へクロック信号を送り、A端子とB端子のAND計算の結果が「ALU」の出力端子へ出力された状態にしておく。

 

実行3

この段階では「ALU」の出力信号が「M1」を通して「WR」の入力端子へと接続されている。この状態で「WR」へクロック信号を送り、「ALU」の出力信号が「WR」へ記憶されるようにする。さらに次の命令に備えて「M3」は下側の経路に接続された状態に戻しておく。

 

CPUの設計図

 

<戻る       次へ>

 

スポンサーリンク