修了試験 2024-01-28実施分 基本情報技術者試験 問8
あるプログラムは,命令a〜dを次の順で実行する。 a → c → b → a → c → d 各命令の実行に必要なクロックサイクル数(CPI:Cycles Per Instruction)は,表のとおりである。 CPUのクロック周波数を100MHzとするとき,この命令列の実行時間は何ナノ秒か。 ここで,命令の実行はオーバラップしないものとする。 命令|CPI a|6 b|2 c|4 d|8
正答4
解説
正解は4です。 命令ごとのCPI(Cycles Per Instruction:1命令の実行に必要なクロック数)から、命令列全体の実行時間を求める問題です。 まず必要な総クロック数を求め、次に1クロックの時間を掛けます。 【計算】 実行順はa、c、b、a、c、dなので、総クロック数は6+4+2+6+4+8=30クロックです。 クロック周波数100MHzの1クロックの時間は、1÷(100×10^6)秒=10×10^-9秒=10ナノ秒です。 実行時間は、30クロック×10ナノ秒=300ナノ秒です。 【選択肢別解説】 1:× 30は総クロック数であり、時間ではありません。 1クロックの時間10ナノ秒を掛ける必要があります。 2:× 40は、正しい手順では得られない値です。 総クロック数30に1クロックの時間10ナノ秒を掛けると、300ナノ秒になります。 3:× 200は、CPIを1回ずつ足した20クロックに10ナノ秒を掛けた値です。 aとcがそれぞれ2回実行されることを考慮していません。 4:○ 総クロック数30に1クロック10ナノ秒を掛けた300ナノ秒が実行時間です。 【ポイント】 実行時間は「総クロック数×1クロックの時間」で求めます。 1クロックの時間はクロック周波数の逆数で、100MHzなら10ナノ秒、1GHzなら1ナノ秒です。まとめて解く
修了試験 2024-01-28実施分を通しで解く(60問)→