クロック周波数 2 GHz のプロセッサにおいて一つの命令が 5 クロックで実行できるとき, 1 命令の実行に必要な時間は何ナノ秒か。
平成22年度 秋期 ITパスポート試験 問57
この問題の解説と、これまでの解答の記録です。
問 57クロック周期 = 1 ÷ クロック周波数
不正解ア
0.1 ナノ秒は、クロック周期 0.5 ナノ秒を 5 クロックで割ってしまった値 (0.5 ÷ 5 = 0.1)。クロック数は所要時間を増やす方向に働くので、掛けるべきところを割ってしまった誤り。1 命令が 5 クロックかかるなら、1 クロック分より短くなることはありえない。
不正解イ
0.5 ナノ秒は 1 クロック分の時間 (クロック周期) そのもの。2 GHz から 1 ÷ 2×10^9 = 0.5 ナノ秒までは正しく計算できているが、そこで止まっており、1 命令が 5 クロックを要するという条件を掛けていない。設問が問うのは 1 クロックではなく 1 命令の実行時間である。
- ウ
正解 正解は ウ (2.5)。まず 1 クロックに要する時間 (クロック周期) を求める。クロック周波数 2 GHz とは 1 秒間に 2×10^9 回のクロックが刻まれるという意味なので、クロック周期 = 1 ÷ 2×10^9 = 0.5×10^-9 秒、すなわち 0.5 ナノ秒である。次に、1 命令は 5 クロックで実行できるとあるので、1 命令の実行時間 = クロック周期 × クロック数 = 0.5 ナノ秒 × 5 = 2.5 ナノ秒となる。単位のイメージをつかむと速い。1 GHz ならクロック周期はちょうど 1 ナノ秒なので、2 GHz はその半分の 0.5 ナノ秒、それを 5 回分で 2.5 ナノ秒、と暗算できる。
不正解エ
10.0 ナノ秒は、周波数の数値 2 とクロック数 5 を単純に掛けた 2 × 5 = 10 という誤りや、クロック周期を 2 ナノ秒と取り違えて 2 × 5 = 10 とした誤りに対応する。2 GHz は 1 秒あたりのクロック回数であって時間ではないため、周波数の数値をそのまま時間として使ってはいけない。時間を得るには必ず逆数 (1 ÷ 周波数) を取る必要がある。
- クロック周期 = 1 ÷ クロック周波数。周波数と時間は逆数の関係にあり、1 GHz → 1 ナノ秒、2 GHz → 0.5 ナノ秒、500 MHz → 2 ナノ秒のように換算する (1 GHz = 10^9 Hz、1 ナノ秒 = 10^-9 秒)。
- 1 命令の実行時間 = クロック周期 × 1 命令あたりのクロック数。周波数が高いほどクロック周期が短くなり同じ命令を速く実行できる、という関係を押さえる。