next up previous
: マイクロプロセッサ演習 : [SPIM] SPIM を用いたシミュレーション

参考文献

1
なおアセンブリ言語には疑似命令と呼ばれるものがあり、この中にはアセンブラによって機械語に変換されるときに複数の命令に展開されるものがあるが、本文中ではそれらは考慮していない。

2
一命令の実行にかかるクロック数は命令ごとに異なるが、 その目安は教科書の 5.4 章で解説される。 また、教科書 (下) の 6 章「パイプラインを用いた性能向上」では、全ての命令を 実質 1 クロックで処理する手法について解説されている。

3
マシン M1 と マシン M2 は、例えば「Intel Pentium 4 を搭載した Windows マシン と PowerPC を搭載した Macintosh」や「AMD Athlon を搭載した Windows マシンと Ultra Sparc を搭載したワークステーション」などを想像すればよい。 つまり「アーキテクチャの異なる CPU を搭載したマシン」を 2 つ考えるということである。

あるいは「Intel Pentium 4 を搭載した Windows マシンと AMD Athlon を搭載した Windows マシン」を考えても良い。こちらの場合は「命令セットには互換性があるが実装が異なる CPU を搭載したマシン」を 2 つ考えることになる。

4
「Pentium と PowerPC」のように命令セットが異なる CPU であれば、 この問題のように同じプログラムでも命令数が異なるのは自然である。

一方、「Pentium と Athlon」のように命令セットに互換性がある場合は 通常命令数は一致するはずである。この場合、この問題 2 は 「M1 (Pentium) と M2 (Athlon) とでコンパイル時の最適化レベルを変えたので 命令数が変化した」と解釈すれば良いだろう。



平成16年10月8日