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

10億個の命令を実行するプログラムを、平均CPIが2、クロック周波数が2 GHzのCPUで実行した。実行時間はいくらか。

  1. A4秒
  2. B0.25秒
  3. C1秒
答えと解説を見る

正解:C. 1秒

必要なサイクルの数は、命令数×CPI=10億×2=20億サイクルです。2 GHzのCPUは1秒に20億サイクル進むので、実行時間は20億÷20億=1秒です。同じプログラムでも、キャッシュのミスなどでCPIが3になれば1.5秒に、周波数を3 GHzに上げれば約0.67秒になります。この式を使うと、改善の効果を数字で見積もれます。

  • A. 周波数で割らずに掛けています。
  • B. CPIで割っています。
  • C. 正しい。10⁹×2÷(2×10⁹)=1です。
この分野を解く 分野ページへ

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

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