MICRO-1シミュレータの使い方

マイクロプログラムの実行方法

実行するマイクロプログラムのオブジェクトコードファイル (.oファイル)をZ:\m1simの下に置く。
(ここでは説明の都合上、ex8.oという名前とする)

注意:長いファイル名を使用しないこと!
シミュレータがファイルを読み込んでくれない場合がある。

m1simフォルダの図

Z:\m1simの下にある m1sim.exeをダブルクリックして MICRO-1シミュレータを起動する。
(注:エクスプローラの設定でファイル拡張子を表示していない場合は、 m1simと表示されている)
以下のようなウィンドウが開く。

m1simの起動画面

マイクロプログラムの実行に必要な操作は以下のものである。

  1. マイクロプログラムのロード
  2. レジスタやメモリ等の初期設定
  3. レジスタやメモリ等の内容表示
  4. トレース実行中に観察するデバイス名の設定
  5. トレース実行開始の指示

m1sim マイクロプログラム全体実行画面

先ず最初に、 "LOAD"コマンドを使ってマイクロプログラムをCM(Control Memory: 制御記憶)にロードする。
以下の例では、ex8.oをロードしている。

次に、"CHANGE"コマンドを使って レジスタ、PC(Program Counter: プログラムカウンタ)、MM(Main Memory: 主 記憶)等の初期設定を行なう。
以下の例では、PCの値を120に設定し、MMのアドレス120の内容を9105に設定 している。
"DEVICE ?"と表示され、設定するデバイス名を聞いてくるので、 "PC"と入力し、つづいて設定する値(この場合は120)を入力する。
さらに、"DEVICE ?"と表示されるので、 "MM"と入力し、MMの値を変更する。 MMの設定を行なう場合は、 "FROM ADR ?"と聞いてくるので、 値を設定するアドレスの先頭アドレス(この場合は120)を入力する。
先頭アドレスを入力した後は、各アドレスの値を順次設定していく。 MMの値の設定を終了する場合は、"." (ピリオド)を入力する。
"DEVICE ?"と表示されるので、 再度"." (ピリオド)を入力して、"CHANGE"コマンドの入力モー ドから抜ける。
(もし他のデバイスを設定する場合は、"DEVICE ?"のところでデバイス 名を入力して値を設定する作業を繰り返す)

初期設定を行なった後、 "DUMP"コマンドを使って きちんと初期設定されているかを確認する。
D?と表示されたところで値を表示したいデバイス名を入力する。
例では、"reg"でレジスタ値を表示し、"mm"でMMの内容を表示 している。
MMの場合は、表示する領域の先頭アドレスと終了アドレスを聞いてくるので、 それぞれ入力する。

きちんと初期設定されていることを確認できたら、 "TRACE"コマンドを使って シミュレーション中に表示するデバイス名を指定する。
その後、マイクロプログラムの実行開始番地と最大ステップ数を指定すると トレースが開始される。
以下の例では、表示するデバイス名として、 abus,sbus,lbus,rbus,pc,r4,mar,ir,flagを指定した後、 実行開始番地100から最大ステップ数500でトレースを開始している。

トレース実行が進むにしたがって、表示するように設定したデバイスの値が 表示されていく。
例では、"3 STEPS USED"と表示されてトレース実行が終了している。
(3ステップで実行を完了したという意味である)

トレースが完了した後、実行結果を確認するために、 "DUMP"コマンドを使って、各種レジスタやMMの内容を表示する。

機械語プログラムの実行方法

Z:\m1simの下にMICROONE.Oというファイルがあることを確認する。
(MICROONE.OはMICRO-1機械命令セットのマイクロプログラムの オブジェクトコードファイルである)

「マイクロプログラムの実行方法」の場合と同様に、 Z:\m1simの下にある m1sim.exeをダブルクリックして MICRO-1シミュレータを起動する。

機械語プログラムの実行に必要な操作は以下のものである。

  1. 機械命令セットマイクロプログラムのロード
  2. 機械語プログラムのロード
  3. レジスタやメモリ等の初期設定
  4. レジスタやメモリ等の内容表示
  5. トレース実行中に観察するデバイス名の設定
  6. トレース実行開始の指示

m1sim 機械語プログラム全体実行画面

先ず最初に、 "LOAD"コマンドを使ってMICRO-1機会命令セットのマイクロプログラム "MICROONE.O"を制御記憶CMにロードする。

機械語プログラムの実行する際は必ず"MICROONE.O"を ロードすること。

次に、 もう一度"LOAD"コマンドを使って今度は機械語プログラムを主記憶MM にロードする。
以下の例では、adsbm.bをロードしている。

次に、"CHANGE"コマンドを使って レジスタ、PC(Program Counter: プログラムカウンタ)、MM(Main Memory: 主 記憶)等の初期設定を行なう。
以下の例では、PCの値を10に設定している。

PCに設定すべき値は機械語プログラムによって異なるので、 実行しようとしている機械語プログラムの実行開始アドレスがどうなっている かを必ず確認すること。

初期設定が済んだ後、(マイクロプログラムの実行の場合と同様に) "TRACE"コマンドを使って シミュレーション中に表示するデバイス名を指定する。
このとき、0番地のマイクロ命令(命令サイクルの最初のマイクロ命令)を実行 したときだけ表示するように設定することで、一つの機械命令の実行に対して 1回だけ表示するようにできる。
(アドレスを指定しない場合、各機械命令を実行するごとに複数のマイクロ命令の 実行状況が表示されことになり、大量に表示されるため却って機械語プログラ ムのデバッグがしにくくなる)

マイクロプログラムの実行開始番地と最大ステップ数を指定すると トレースが開始される。
MICRO-1機械命令セットマイクロプログラム(MICROONE.O)の実行開始 アドレスは101であるので、その値を設定してトレースを開始する。

機械語プログラムを実現するマイクロプログラム"MICROONE.O"の 開始アドレスは 101なので、実行開始番地として必ず 101を指定すること。

トレースが完了した後、実行結果を確認するために、 "DUMP"コマンドを使って、各種レジスタやMMの内容を表示する。

シミュレータコマンド一覧

MICRO-1シミュレータで使用可能なコマンドは以下の通りである。

コマンド名 機能
INITIAL レジスタ、メモリ等の内容をすべて0に初期設定
MENU コマンドのリストを表示
LOAD マイクロプログラムや機械語プログラム、データの格納されているファイルを 指定し、制御記憶や主記憶領域にロード
CHANGE レジスタ、メモリ等の内容の変更
BREAK ブレークポイントの設定
FILE TRACEやDUMPコマンドの出力先ファイル指定
RUN マイクロプログラムの実行シミュレーション
TRACE 特定のCMARアドレスでの表示や、表示するリソース名を指定し、トレースを開始。
DUMP レジスタ、メモリ等の内容を表示
SAVE LOADコマンドと逆に、記憶領域の内容をファイルにセーブ
END 終了


文責:大津