KUE-CHIP2シミュレータについて

以下はすべて,科研報告書からの抜粋です. 詳しくはそちらをご覧ください.

本シミュレータの特徴

本シミュレータの特徴として, 以下の2点が挙げられる.

  1. ブロック図の表示や実行履歴の記録などハードウェアでは実現の困難な 機能を持ち, GUIベースのソフトウェアであるためその操作も簡単である.
  2. Java言語で記述することにより, マルチプラットホームでの実行, インタネットを通じての利用が可能である.

ソフトウェアシミュレータの利点

本シミュレータは, 前述したようなユーザインタフェースを備え KUE-CHIP2を用いた実験を円滑に進めることができる.

実験ではまずプログラムの入力を行う. プログラムの入力は, 前述したメモリエディタ・ウィンドウを 起動しプログラムを直接入力する方法と, Fileメニューから プログラムファイルを読み込む方法のどちらかを選択することができる. プログラムファイルは, テキスト形式で指定のフォーマットで 記述されている必要がある.

次にプログラムの実行はSS, SI, SPボタンを用いて行う. 実行中はメインウィンドウに各レジスタの値, およびフラグの状態が表示 され, ブロック図のウィンドウを表示しておけばプロセッサ内部の 動作を随時確認できる.

また, プログラムの実行を中断している間には, 各レジスタの値, およびフラグの状態を自由に変更することができる. レジスタの値を 変更する場合, 値を変更したい7セグメントをマウスでクリックし, 16進数で値を入力する. フラグの場合, 変更したいLEDを マウスでクリックすることで状態が反転する.

さらに, ユーザはブレークポイントを設定することができる. 各レジスタが, ユーザの設定した値になった時にプログラムの実行を停止する. 各レジスタの値が表示されている7セグメントのすぐ横にある, 小さな 7セグメントをクリックして値を入力することで設定できる.

プログラム実行中の履歴は, 前述したログ・ウィンドウを開き LogメニューからStart Logの項目を選択することで, その時点から の実行履歴を記録することができる.

プログラムの実行が終了後, 現在のメモリの内容, および ログ・ウィンドウに表示されている実行履歴をテキスト形式で 保存することができる.

以上のように, ウィンドウシステム環境でのGUIベースの ソフトウェアとして開発されて いるため, プログラムの入力, 実行, レジスタの値およびフラグの変更, ブレークポイントの設定などを簡単に行うことができ, またメモ リの内容, 実行履歴の保存が可能であるためプログラムの評価, 再利用などが 簡単に行える. また, ブロック図を用いてプロセッサ内部の動作の様子をリアルタイムで 観測することができる. これらの機能をハードウェアで実現することは 困難であると考えられる.

マルチプラットホーム環境下での実行

本シミュレータはJava言語で記述されている.

Javaのソースコードをコンパイルすることによって バイト・コードと呼ばれる中間ファイルが生成される. このバイト・コードはJava Virtual Machine (Java仮想マシン, 以下JVMと略記) のオブジェクトコードである. 本シミュレータの実行は 各プラットホームに実装されたJVM上で行われる. このバイト・コードは 異なるプラットホーム間で共有することができる.

さらに, インタネットを通じてこのオブジェクトコードを送ることができる. 現在主なWWWブラウザにはJVMが実装されておりアプレットと呼ばれる形式で 実行することができる. 実際に, Solaris2.5, Windows95(NT), MacOS, IRIXなどで 動作確認済みである.