勝手にインターフェースの連動企画をやります。

CPUの動作をMico8で見る!

CPUの3つの動作「命令フェッチ」「デコード」「実行」を、それぞれMico8プロセッサのシミュレーションで中身を見てみます。

命令フェッチ

fetch.png

プログラムメモリにアクセスし、命令を取り込みます。

デコード

idec1.png

命令を分解し、各計算機への指示信号を生成します。

たとえば、レジスタへの代入を示すmov命令を受けると、mov計算機への指示信号、加算を示すadd命令を受けると、add計算機への指示信号を生成します。


idec2.png

同時にオペランドを分解します。

Mico8プロセッサは固定命令長のため、特定のビットを無条件に切り出し、オペランドを生成します。

左図の場合、「08110」という命令を分解すると、

  • レジスタbだとすると「02」
  • レジスタdだとすると「01」
  • イミディエイト(即値)だとすると「10」
  • ジャンプするアドレスだとすると「110」

という意味になります。

それぞれどのデータを使うかは、計算機が選択します(add計算機はジャンプするアドレスは使わない)。

実行

alu.png

命令内容は、左から

12000レジスタ0に0x00を代入
12101レジスタ1に0x01を代入
12102レジスタ0に0x00を代入

という内容です。

演算結果(代入なので、即値そのまま)が出力されます。


wb.png

演算結果がレジスタに代入されます。

この記事は役に立ちましたか?

選択肢 投票
役に立った 0  
役に立たなかった 0  
コレジャナイ! 0  

(画像の文字列を入力して下さい)

添付ファイル: filewb.png 634件 [詳細] fileidec2.png 686件 [詳細] fileidec1.png 585件 [詳細] filefetch.png 673件 [詳細] filealu.png 669件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-06-09 (木) 18:28:12 (3084d)