植物 植物
直前対策講座:計算機システムの性能

AOBA's Information Processing Education



1997/08/24

注意1:このページは、回線を切断した後でゆっくりご覧になってください(テキストを印刷する場合は、その取り扱いに注意してください)。

注意2:背景が白地の画面を長時間見つめていると頭が痛くなってしまいますので、ここは背景をグレーにしています。


「平成元年 特種 午前 問1」

問1 計算機システムの性能に関する次の記述中の(   )に入れるべき最も適切な数値を、解答群の中から選べ。

(1) ある計算機システムの平均命令実行時間が0.4マイクロ秒であるとき、このシステムの性能は( a )MIPSである。

(2) ある計算機システムにおける命令ごとの実行時間と出現比率が、次の表のとおりであるとき、このシステムの性能は約( b )MIPSである。

命令の種類平均命令実行時間出現比率
ロード/ストア0.8マイクロ秒35%
加減算/比較/分岐1.0マイクロ秒50%
乗除算8.0マイクロ秒5%
その他2.5マイクロ秒10%

(3) (2)のシステムに付加機能をつけたところ、乗除算の平均命令実行時間は半分の4.0マイクロ秒になった。このときのシステム性能は約( c )MIPSである。

(4) あるオンラインシステムがあり、必要なトランザクション処理能力は10万件/時間である。トランザクション1件当たりのプログラム走行ステップ数は、制御プログラム部25,000ステップ、業務プログラム部5,000ステップである。
 これを1台の中央処理装置で処理させ、その最大使用率を70%とするとき、最小限( d )MIPSの性能を持つ計算機システムが必要である。
 ただし、プログラム中の走行ステップ数は機械語の命令実行数を表すものとする。

解答群

ア 0.5  イ 0.7  ウ 0.8  エ 1.0  オ 1.2
カ 1.3  キ 1.5  ク 2.0  ケ 2.2  コ 2.5


解説

 計算機の中央処理装置の性能を表す、MIPS値に関する計算問題です。

 MIPSは(Million Instructions Per Second)の略で、1秒間当たりの平均命令実行回数(百万単位)を表します。つまり、1MIPSの計算機は1秒間当たり、平均100万回の命令を実行できるのです。
 MIPSは主に汎用機やワークステーションの性能表現に用いられています。

 ところで、命令の種類によって命令実行時間が異なりますので、命令実行時間の短い命令で計算した場合と、それが長い命令で計算した場合とで、MIPS値が変化してしまいます。

 そこで計算機のMIPS値を公表する際、命令の種類の組み合わせモデル(問題文の表のようなもの)を作り、それに基づいてMIPS値を算出します。
 このモデルを命令ミックス(インストラクションミックス)といい、これには、事務処理計算(分野の計算機)用のコマーシャルミックスや、科学技術計算(分野の計算機)用のギブソンミックスなどがあります。

 この問題には出てきませんでしたが、ついでにFLOPSについても覚えておいてください。

 FLOPSは(FLoating Operations Per Second)の略で、1秒間当たりの浮動小数点演算(の平均実行)回数を表します。FLOPSはMIPSと違って、百万単位ではないことに注意しましょう(MIPSと同じように百万を単位とするのに、MFLOPSがあります)。
 FLOPS(またはMFLOPS)は主にスーパーコンピュータの性能表現に用いられています。

 なお、MIPS,FLOPS共に、単に中央処理装置の性能を表すための一つの指標に過ぎず、計算機そのものの性能を表現する値ではありません。

aについて

 平均0.4マイクロ秒で1回の命令を実行します。ここから、1秒間当たりに平均何回の命令を実行するかを求めます。

 1秒間当たりの平均命令実行回数=1/(0.4*10-6)=2.5*106

 したがって、2.5MIPS

bについて

 問題文の表から加重平均をとり、このモデルにおける1命令の平均命令実行時間(x)を求めます。

 x=0.8*10-6*0.35+1.0*10-6*0.50+8.0*10-6*0.05+2.5*10-6*0.10
  =1.43*10-6

 後は設問aと同じように考えればOKです。

 1秒間当たりの平均命令実行回数=1/(1.43*10-6)=0.699・・・*106

 したがって、約0.7MIPS

cについて

 設問bでは乗除算の平均命令実行時間は8.0マイクロ秒で計算していましたが、これを4.0マイクロ秒として計算すればよいだけです。

 x=0.8*10-6*0.35+1.0*10-6*0.50+4.0*10-6*0.05+2.5*10-6*0.10
  =1.23*10-6

 1秒間当たりの平均命令実行回数=1/(1.23*10-6)=0.813・・・*106

 したがって、約0.8MIPS

dについて

 以下の式を順に参照してください。

 1秒間当たりに必要なトランザクション処理件数=(10*104)/3600

 トランザクション1件当たりの走行ステップ数=25000+5000=30000

 1秒間当たりに必要な平均命令実行回数=1秒間当たりに必要なトランザクション処理件数*トランザクション1件当たりの走行ステップ数
                  =(10*104)*30000/3600=0.833・・・*106

 つまり、もしCPU使用率(CPU利用率)が100%ならば、約0.833MIPSのCPUで間に合います。
 ところが本問ではCPU使用率が70%ですので、これよりもっと高いMIPS値を持つCPUが必要になります(100%の性能を発揮できないので、実際はもっと高い性能のCPUが必要である、と考えるとよいでしょう)。

 最小限必要とするMIPS値=CPU使用率が100%のときのMIPS値/CPU使用率
              =0.833/0.7=1.19

 したがって、約1.2MIPSのCPUが必要です。


解答

a−コ  b−イ  c−ウ  d−オ