キャッシュとCPU時間 想定問題 3
クロック周波数2.5GHzのプロセッサで,次の表の命令からなるプログラムを実行する。CPI(1つの命令の実行にかかるクロック数)は命令の種類ごとに表のとおりで,ほかの待ち時間は考えないものとする。このプログラムに関する次の記述の,正誤の組合せとして,最も適切なものはどれか。
命令の種類 / 命令の個数 / CPI
演算命令 / 10,000 / 1
ロード・ストア命令 / 6,000 / 3
分岐命令 / 4,000 / 3
(ア)合計クロック数は40,000で,1命令あたりの平均CPIは2.0である。
(イ)クロック周波数が2.5GHzなので1クロックは2.5nsであり,CPU実行時間は100μsである。
(ウ)このプロセッサのMIPS値(1秒間に何百万個の命令を実行できるかを表す値)は,このプログラムでは1,250となる。
(エ)ロード・ストア命令のCPIを3から2に下げると,ほかの条件が同じなら,CPU実行時間はちょうど半分になる。
アイウエ
解説
ポイント
命令の個数とCPIから,合計クロック数・平均CPI・CPU実行時間・MIPS値を求め,記述の正誤を問う問題です。
考え方と解き方
合計クロック数 = 種類ごとの(個数 × CPI)の合計です。1クロックの時間は 1 ÷ 周波数 = 1 ÷ (2.5×109) = 0.4[ns] です。
ア:正しい。合計クロック数は 10,000 × 1 + 6,000 × 3 + 4,000 × 3 = 40,000。命令は 20,000 個なので,平均CPIは 2.0 です。
イ:誤り。1クロックは 2.5ns でなく 0.4ns です。CPU実行時間は 40,000 × 0.4 = 16,000[ns] = 16[μs] で,100μs ではありません。
ウ:正しい。MIPS値は 2.5×109 ÷ 2.0 ÷ 106 = 1,250 です。
エ:誤り。ロード・ストアのCPIを2にすると 34,000 クロックで,34,000 × 0.4 = 13.6[μs] です。16[μs] の半分(8[μs])にはなりません。答えは ア ○,イ ×,ウ ○,エ ×
覚えておくこと
- CPU 実行時間 =(命令の個数 × CPI を種類ごとに足した合計クロック数)÷ クロック周波数(テキスト・覚えること)
- 2.0GHz は1秒に 2.0×109 回のクロック,1クロックは 0.5ns。1クロックの時間 = 1 ÷ 周波数(2.5GHz なら 0.4ns)(テキスト・覚えること)
- MIPS 値(1秒に何百万個の命令を実行できるか)= クロック周波数 ÷ 平均 CPI ÷ 106(テキスト・覚えること)
- 一部の命令のCPIだけ下げても,全体の時間は同じ割合では減らない(合計クロック数で比べる)(テキスト・ひっかけ)
類似する過去問:平成29年度 基礎科目 I-2-6、平成25年度 基礎科目 I-2-6
テキスト「キャッシュとCPU時間」を読む