課題4.課題3で作成したプログラムのマイクロプログラム版を作成し、
両者を比較する
- 課題3で作成したMICRO-1の機械語プログラムをマイクロ命令を用いて作成し、
実行をシミュレートする。
- 機械語プログラムとマイクロプログラムのそれぞれの実行ステップ数等を比較し、
考察する。
- どちらの実行ステップ数が少ないか?
(つまり早くプログラムの実行が終了するのはどちらか?)
- 何故そうなるのか?を必ず説明すること。
- (アセンブリコードとシミュレータへの入力内容、および実行結果も示すこと)
課題4での注意点
- マイクロプログラムの書き方については、
サンプルコードを参考にすること。
- マイクロ命令では乗除算の機能が用意されていないので、
マイクロ命令を組み合わせて乗除算を実現する必要がある。
一から作るのは大変なので、
サンプルコードのページに置いてある
「乗除算プログラム例」の中のコードを使用すること。
- マイクロプログラムではレジスタr0〜r7のすべてを使うことができる。
機械語プログラムではr0〜r3だけしか使えない。
(残りのr4〜r7は MICROONE.Oの中で機械命令を処理するために使用しているので、
機械語プログラムからは使えないようになっている)
- マイクロプログラムで使うデータをメモリ上に置く場合、
トレース実行前のデバイスの初期設定で値を設定すること。
その際、どのアドレスにどのデータを配置するかについてはプログラム中に
記述したアドレスと一致させる必要がある。
例えば、サンプルコード SUMOFの場合、
データMの値をアドレス202番地に置いているように、
マイクロプログラム中でアドレスの値を直接記述し、
そのアドレスと同じメモリ上の番地にデバイスの初期設定でデータ値を設定する。
-
メモリ上にデータを置く作業をシミュレータのCHANGEコマンドを用いて行う他に、
機械語プログラムを使う方法もある。
マイクロプログラムを実行する前の初期設定を行う際に、
課題3で作った機械語プログラムをロードすれば、
機械語プログラムと同じデータが主記憶(MM)上に読み込まれる。
文責:大津 (協力:横田)