性能評価・プロファイリング

プログラムのCPUでの実行時間を表す基本の式として正しいものはどれか。

  1. A実行時間 = 命令数 + CPI + クロック周波数
  2. B実行時間 = クロック周波数 × 命令数
  3. C実行時間 = 命令数 × CPI(1命令あたりの平均サイクル数) × 1サイクルの時間
答えと解説を見る

正解:C. 実行時間 = 命令数 × CPI(1命令あたりの平均サイクル数) × 1サイクルの時間

実行時間は、実行する命令の数、1命令あたりに平均何サイクルかかるか(CPI)、1サイクルの時間(クロックの周期=1÷周波数)の掛け算で決まります。命令の数はアルゴリズムやコンパイラ、ISAで、CPIはマイクロアーキテクチャやキャッシュのミスで、サイクルの時間は回路や製造の技術で主に決まります。性能を良くするには、3つのうちどれをどれだけ改善するかを考えます。

  • A. 足し算ではなく掛け算です。
  • B. 周波数が高いほど時間は短くなるので、掛けるのではなく割ります。
  • C. 正しい。3つの要素の掛け算で決まります。
この分野を解く 分野ページへ

性能評価・プロファイリングのほかの問題

  1. 10億個の命令を実行するプログラムを、平均CPIが2、クロック周波数が2 GHzのCPUで実行した。実行時間はいくらか。
  2. CPUの設計の変更で、クロックの周波数は1.5倍になったが、CPIも1.2倍に増えた(命令数は同じ)。実行の速さは元の何倍になるか。
  3. コンパイラの新しい最適化で、実行する命令の数は20%減ったが、平均CPIが10%増えた(周波数は同じ)。この最適化の効果として正しいものはどれか。
  4. あるプログラムの命令の割合が、整数の演算50%(CPI 1)、ロードとストア30%(CPI 2)、分岐20%(CPI 5)だった。平均CPIはいくらか。
  5. CPUの性能を「1秒あたりに実行できる命令の数(百万命令毎秒)」で比べるときの注意点として正しいものはどれか。