平成29年度 I-2-6

科目: 基礎科目 / 分野: 情報・論理 / 年度: 平成29年度

I-2-6 問題画像

出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」

10,000命令のプログラムを、クロック周波数2.0GHzのCPUで実行するときのCPU実行時間を、命令ごとの個数とCPI(命令当たりの平均クロックサイクル数)から求める問題。

解説

この問題で問われていること

命令の種類ごとの個数とCPIが与えられたとき、クロック周波数2.0GHzのCPUでの実行時間を求める問題。

解き方

① 実行時間=Σ(命令数×CPI)÷クロック周波数
② 3,500×6+5,000×5+1,500×4=52,000サイクル → 52,000÷(2.0×10⁹)=2.6×10⁻⁵秒
③ 26マイクロ秒(②)

正解が正しい理由

総クロックサイクル数=3,500×6+5,000×5+1,500×4=21,000+25,000+6,000=52,000サイクル。クロック周波数2.0GHz=2.0×10⁹回/秒なので、クロック周期は0.5ナノ秒。実行時間=52,000×0.5ns=26,000ns=26マイクロ秒。あるいは52,000/(2.0×10⁹)=2.6×10⁻⁵秒=26μs。したがって②が正しい。

この問題で必要な基礎

■ CPIとクロック周波数
・CPIは、1つの命令を実行するのに必要なクロックサイクル数(時計の「刻み」の数)です。
・クロック周波数2.0GHzは、1秒間に2.0×10⁹回刻むという意味なので、1刻みの時間は1÷(2.0×10⁹)=0.5ナノ秒です。

■ 時間の単位
ナノ(n)は10⁻⁹、マイクロ(μ)は10⁻⁶、ミリ(m)は10⁻³です。1マイクロ秒=1,000ナノ秒です。

各選択肢について

覚えるべきポイント

CPU実行時間=総クロックサイクル数÷クロック周波数=(Σ命令数×CPI)÷周波数で求める。周波数の単位(GHz=10⁹Hz)と、時間の単位(ナノ秒・マイクロ秒・ミリ秒)の換算に注意する。

キーワード: CPU実行時間、CPI、クロック周波数、性能評価、情報・論理