2003.07.03
WCASL-II
CASLU & COMETU Simulator for Windows
Since 2001
|
|
|
COMETシミュレート
COMETシミュレートウィンドウでは1つ1つの命令の実行過程,すなわち,命令取り
出しサイクル,命令解読サイクル,アドレス生成サイクル,命令実行サイクルを詳細に
トレースします.
COMETLシミュレートを選択すると,以下のようなウィンドウが現れます.
(この図では,サブウィンドウを最大化しています.)
以下のようなレジスタやユニットがどこにあるか,それらの関係を確認しておきましょう.
レジスタ
COMETUは,以下のようなレジスタを持ちます.
レジスタとは,CPUが処理を実行するために、一時的にデータを格納しておくデータの入れ物のようなものです.
これから演算を行なうための数値や,演算実行後の結果,現在実行している命令のメモリアドレス、CPUの状態などを格納しておきます.
- PR (プログラムレジスタ): 次に実行される命令のアドレスを保存.プログラムレジスタの大きさは16ビットです.COMETUのメモリ(記憶装置)のアドレス空間は,2の16乗の大きさです.
- IR (命令レジスタ): 解読,実行する命令を保存.命令レジスタの大きさは32ビットです.これは,COMETUは1語16ビットの計算機で,機械命令が2語から成ると定義されているからです.
- GR (汎用レジスタ) : 0〜7の8つの汎用レジスタがあります.汎用レジスタの大きさは16ビットです.これはCOMETUが1語16ビットと定義されているからです.
- FR (フラグレジスタ): 演算後の符号などの状態を保持します.オーバフローフラグ,符号フラグ,ゼロフラグの3ビットから成ります.
- MAR (メモリアドレスレジスタ): メモリを読み書きする際に,
アクセスするアドレスを指定するレジスタ.16ビットです.
- MDR (メモリデータレジスタ): メモリとのデータのやり取りをするレジスタ.
メモリを読む場合にメモリの内容がこのレジスタに転送され,
反対にメモリに書き込む場合に内容がこのレジスタに書き込まれる.
メモリの読み書きの制御はコントロールユニットが行います. これも16ビットです.
レジスタ以外のモジュール
レジスタ以外には以下のようなモジュール(構成要素のこと)があります.
- ALU (演算装置): 算術,論理,シフト,比較などの演算を行います.
- Decoder (命令解読器): IRの命令を解読するモジュール.
- Controler (制御装置) : 命令の実行のための制御を行うモジュール.
- Bus (バス) : レジスタやALUなどの間をデータが通る道.
- Memory (記憶装置) : プログラムやデータを記憶しておく場所.
- Adder (アドレス加算器): 命令のアドレス部とインデックスレジスタの内容から有効アドレスを求める加算器.
- EADR (実効アドレス): 実際には,このようなレジスタはありません.
実効アドレスの内容がわかるように窓を作りました.
多くのレジスタ及びメモリのアドレスと値は16ビットです.
図では,その値を4個の16進数で表現しています.
トレース
ステップ実行を行うと,レジスタやバスにおけるデータの転送が赤色で示されます.
また,マクロ以外の命令は一通りトレース可能です.IN, OUT などのマクロ命令は実行はされますが,命令実行サイクル
の詳細な様子はトレースされません.
Hiroyoshi Watanabewcasl@ics.teikyo-u.ac.jp