修了試験 2011-07-24実施分 基本情報技術者試験 問9
あるプログラムは,命令a〜dを次の順で実行する。 a→c→b→a→c→d 各命令の実行に必要なクロックサイクル数(CPI:Cycles Per Instruction)は,表のとおりである。 CPUの1クロックサイクル時間を10ナノ秒とするとき,この命令列の実行時間は何ナノ秒か。 命令/CPI a/6 b/2 c/4 d/8
正答4
解説
正解は4です。 命令ごとのクロックサイクル数(CPI:Cycles Per Instruction)から、命令列全体の実行時間を求める問題です。 実行時間は、総クロックサイクル数に1クロックの時間を掛けて求めます。 【計算】 命令列はa、c、b、a、c、dの順です。 各CPIを足すと、6+4+2+6+4+8です。 合計は30クロックサイクルになります。 1クロックサイクル時間は10ナノ秒です。 30×10=300ナノ秒となります。 【選択肢別解説】 1:× 30は総クロックサイクル数です。 1クロックサイクル時間の10ナノ秒を掛けていません。 2:× 40は、正しい計算過程からは得られない値です。 命令列ではaとcを2回ずつ実行するので、総クロックサイクル数は30になります。 3:× 200は、a〜dを1回ずつ実行したと考えた場合の20クロック×10ナノ秒です。 aとcの2回目の実行が抜けています。 4:○ 総クロックサイクル数30に10ナノ秒を掛けた300ナノ秒が実行時間です。 【ポイント】 実行時間=Σ(命令の実行回数×CPI)×クロックサイクル時間です。 同じ命令を複数回実行する場合は、その回数分を必ず数えましょう。まとめて解く
修了試験 2011-07-24実施分を通しで解く(80問)→