: マイクロプロセッサ演習
: マルチサイクルのデータパス
[問 1]
単一サイクルマシンの性能について以下の値を求めなさい。ただし、主要なデータパス回路の
実行時間は以下の値とし、これ以外のマルチプレクサなどの遅延は無視する。
命令メモリ |
5ns |
レジスタ読み出し |
4ns |
ALU 演算 |
3ns |
データメモリ |
5ns |
レジスタ書き込み |
4ns |
- R 形式命令、lw、sw、分岐、ジャンプの各命令の実行時間はいくらになるか。このマシンは単一サイクルマシンであると考えよ (すなわち、前回の復習)。
- 命令に R 形式命令、lw、sw、分岐、ジャンプしかない場合、この単一サイクルマシンのクロック周期は最短でいくらにできるか。
[問 2]
マルチサイクルマシンの性能について以下の値を求めなさい。ただし、データパス回路の各ステップの実行時間は以下の値とする。
命令フェッチ |
5ns |
命令デコードとレジスタフェッチ |
5ns |
実行、メモリアドレスの計算、 または分岐の完了 |
4ns |
メモリアクセス、または R 形式命令完了 |
4ns |
メモリ読み出し完了 |
4ns |
なおこの値は、ALU やメモリアクセスにかかる時間は問 1 と同等とし、
PC、IR、MDR、A、B、ALUOut 等の読み出し/書き込みの遅延を無視して算出したものである。(すなわち、問 1 と 問 2 は対応している)
- このマルチサイクルマシンのクロックサイクル時間は最短いくらにできるか。
- あるプログラムにおける命令の割合は、R 形式 50 %、ロード 20 %、ストア 10 %、分岐 18%、ジャンプ 2 % であるという。この時、 1 命令あたりの平均クロック数 (CPI) はいくらになるか。さらに、1 命令あたりの平均実行時間はいくらになるか。また、この結果と問 1 の単一サイクルマシンの結果を比較して論ぜよ。
[問 3]
「add $t0, $t1, $s2」を実行する時に働くデータパスに○をつけ、
どのステップで動作するか脇に以下の番号を付けなさい。
図が不鮮明な部分は教科書 351 ページの図 5.32 を参照。
- 命令フェッチ
- 命令デコードとレジスタフェッチ
- 実行、メモリアドレスの計算または分岐の完了
- メモリアクセス、または R 形式命令完了
- メモリ読み出し完了
平成17年1月17日