COMETシミュレート
COMETシミュレートウィンドウでは1つ1つの命令の実行過程,すなわち,命令取り
出しサイクル,命令解読サイクル,アドレス生成サイクル,命令実行サイクルを詳細に
トレースします.
COMETLシミュレートを選択すると,以下のようなウィンドウが現れます.
(この図では,サブウィンドウを最大化しています.)
以下のレジスタやユニットがそれぞれどこにあるか,それらの関係を確認して
おきましょう.
- PC (プログラムカウンタ): 次に実行される命令のアドレスを保存.
- IR (命令レジスタ): 解読,実行する命令を保存.
- GR (汎用レジスタ)
- FR (フラグレジスタ): 演算後の符号の状態を保持.
- MAR (メモリアドレスレジスタ): メモリを読み書きする際に,
アクセスするアドレスを指定するレジスタ.
- MDR (メモリデータレジスタ): メモリとのデータのやり取りをするレジスタ.
メモリを読む場合にメモリの内容がこのレジスタに転送され,
反対にメモリに書き込む場合に内容がこのレジスタに書き込まれます.
メモリの読み書きの制御はコントロールユニットが行います.
- EADR (実効アドレス): 実際には,このようなレジスタはありません.
実効アドレスの内容がわかるように窓を設けたと考えてください.
- adr-adder (アドレス加算器): 命令のアドレス部とインデックスレジスタの内容から有効アドレスを求める加算器.
- ALU (演算装置): 算術,論理,シフト,比較などの演算を行います.
メモリの右側には,ソースコードを表示します.プログラムの先頭は0番地となります.
ステップ実行を行うと,レジスタやバスにおけるデータの転送が赤色で示されます.
また,マクロ以外の命令は一通りトレース可能です.IN, OUT などのマクロ命令は実行はされますが,命令実行サイクル
の詳細な様子はトレースされません.