基本情報技術者試験 - 令和7年1月修了 - 問8

あるプログラムは,命令 a~d を次の順で実行する。


各命令の実行に必要なクロックサイクル数(CPI:Cycles Per Instruction)は,表のとおりである。CPUのクロック周波数を100MHzとするとき,この命令列の実行時間は何ナノ秒か。ここで,命令の実行はオーバラップしないものとする。

命令CPI
a6
b2
c4
d8
ア30
イ40
ウ200
エ300
答え : エ
分野 : テクノロジ系 › コンピュータシステム › コンピュータ構成要素 › プロセッサ
同一問題 : 〔令6修1問8〕〔平23修7問9〕
解説 :
CPU(中央処理装置)が命令を実行するのにかかる時間を計算する問題です。命令の実行時間は「1命令あたりに必要なクロックサイクル数(CPI)」と「クロック周波数」から求めることができます。CPUのクロック周波数が100MHzということは,1秒間に1億回のクロック(拍子のようなもの)を刻むという意味で,クロック1回あたりの時間は1秒を1億で割った10ナノ秒になります。

命令a,b,c,d,a,cを実行する(画像1で示された命令列)とすると,それぞれのCPIはaが6,cが4,bが2という表の値をもとに,必要なクロックサイクルの合計を求め,それに1クロックあたりの時間(10ナノ秒)を掛け合わせることで実行時間を計算します。

命令列がa,c,b,a,c,dの順で実行される場合,CPIの合計は6+4+2+6+4+8=30サイクルとなり,30サイクル×10ナノ秒で300ナノ秒となります。したがって正解は「エ」です。他の選択肢は,クロック周波数とクロックサイクル時間の関係を取り違えたり,命令の回数を数え間違えたりした場合に導かれる誤った値です。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる