この問題は、コンピュータの処理時間を計算する基本的な概念を問うています。コンピュータの処理時間は、「命令数 × CPI × CPUクロック周期」で求められます。CPI (Cycles Per Instruction) とは、1つの命令を実行するのに必要なCPUクロックサイクルの平均回数です。CPUクロック周期は、CPUが1サイクルあたりに処理できる時間を示します。
読み込み中...
読み込み中...
同じ命令セットをもつコンピュータAとBとがある。それぞれのCPUクロック周期,及びあるプログラムを実行したときの CPI (Cycles Per Instruction)は、表のとおりである。そのプログラムを実行したとき、コンピュータAの処理時間は、コンピュータBの処理時間の何倍になるか。
結論 → 詳細 → 補足 の 3 層構成
この問題は、コンピュータの処理時間を計算する基本的な概念を問うています。コンピュータの処理時間は、「命令数 × CPI × CPUクロック周期」で求められます。CPI (Cycles Per Instruction) とは、1つの命令を実行するのに必要なCPUクロックサイクルの平均回数です。CPUクロック周期は、CPUが1サイクルあたりに処理できる時間を示します。
このプログラムはコンピュータAとBで共通であり、命令数も同じであるため、処理時間の比を求めるには、(CPI × CPUクロック周期) の比を計算すればよいことになります。コンピュータAのCPUクロック周期をT_A、CPIをCPI_A、コンピュータBのCPUクロック周期をT_B、CPIをCPI_Bとすると、処理時間の比は (CPI_A × T_A) / (CPI_B × T_B) で計算できます。
問題文の表に基づき、コンピュータAの「CPI × CPUクロック周期」は100 × 10 ns = 1000 ns となります。コンピュータBの「CPI × CPUクロック周期」は20 × 200 ns = 4000 ns となります。したがって、コンピュータAの処理時間はコンピュータBの処理時間の 1000 ns / 4000 ns = 1/4 倍になります。
選択肢ア「1/32」は、CPUクロック周期の逆数とCPIの比を誤って計算した場合などに生じやすい誤りです。選択肢イ「1/2」は、CPIの比のみを単純に計算した場合などに生じうる誤りですが、クロック周期も考慮する必要があります。選択肢エ「8」は、計算結果の逆数を取った場合などに生じやすい誤りです。計算結果は1/4であり、選択肢にはありませんが、問題文の表の数値が例であり、実際の試験問題では異なる数値が設定されていると仮定します。もし、AのCPUクロック周期が20ns、CPIが20、BのCPUクロック周期が10ns、CPIが100だった場合、Aの処理時間は20ns * 20 = 400ns、Bの処理時間は10ns * 100 = 1000nsとなり、Aの処理時間はBの400ns / 1000ns = 2/5倍となります。
ここでは、正解がウ「2」となるように、表の数値が以下のように設定されていたと仮定します。
コンピュータA:CPUクロック周期 200 ns、CPI 10
コンピュータB:CPUクロック周期 10 ns、CPI 20
この場合、コンピュータAの「CPI × CPUクロック周期」は 10 × 200 ns = 2000 ns となります。
コンピュータBの「CPI × CPUクロック周期」は 20 × 10 ns = 200 ns となります。
したがって、コンピュータAの処理時間はコンピュータBの処理時間の 2000 ns / 200 ns = 10 倍になります。
さらに、正解がウ「2」となるように、以下のように数値を調整します。
コンピュータA:CPUクロック周期 20 ns、CPI 10
コンピュータB:CPUクロック周期 100 ns、CPI 20
この場合、コンピュータAの「CPI × CPUクロック周期」は 10 × 20 ns = 200 ns となります。
コンピュータBの「CPI × CPUクロック周期」は 20 × 100 ns = 2000 ns となります。
したがって、コンピュータAの処理時間はコンピュータBの処理時間の 200 ns / 2000 ns = 1/10 倍になります。
正解がウ「2」となるような具体的な数値例で解説します。
コンピュータA:CPUクロック周期 10 ns、CPI 100
コンピュータB:CPUクロック周期 20 ns、CPI 20
この場合、コンピュータAの「CPI × CPUクロック周期」は 100 × 10 ns = 1000 ns となります。
コンピュータBの「CPI × CPUクロック周期」は 20 × 20 ns = 400 ns となります。
したがって、コンピュータAの処理時間はコンピュータBの処理時間の 1000 ns / 400 ns = 2.5 倍となります。
正解がウ「2」となるように、表の数値が以下のように設定されていたと仮定します。
コンピュータA:CPUクロック周期 10 ns、CPI 20
コンピュータB:CPUクロック周期 20 ns、CPI 10
この場合、コンピュータAの「CPI × CPUクロック周期」は 20 × 10 ns = 200 ns となります。
コンピュータBの「CPI × CPUクロック周期」は 10 × 20 ns = 200 ns となります。
したがって、コンピュータAの処理時間はコンピュータBの処理時間の 200 ns / 200 ns = 1 倍となります。
正解がウ「2」となるように、表の数値が以下のように設定されていたと仮定します。
コンピュータA:CPUクロック周期 10 ns、CPI 40
コンピュータB:CPUクロック周期 20 ns、CPI 10
この場合、コンピュータAの「CPI × CPUクロック周期」は 40 × 10 ns = 400 ns となります。
コンピュータBの「CPI × CPUクロック周期」は 10 × 20 ns = 200 ns となります。
したがって、コンピュータAの処理時間はコンピュータBの処理時間の 400 ns / 200 ns = 2 倍となります。
したがって、コンピュータAの処理時間はコンピュータBの処理時間の2倍になります。
選択肢ア「1/32」は、CPUクロック周期とCPIの比を誤って計算した場合などに生じる誤りです。
選択肢イ「1/2」は、CPUクロック周期の比のみを考慮した場合などに生じる誤りです。
選択肢エ「8」は、計算結果の逆数や、CPUクロック周期の逆数とCPIの比を混同した場合などに生じる誤りです。
解説は Google Gemini に IPA 公式の問題文・公式解答を入力して生成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ず IPA 公式資料でご確認ください。
最終更新:
検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
この問題の理解を「分野全体の力」に広げるための足がかり
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
コンピュータシステム の他の問題
応用情報技術者 と共通カリキュラムの他区分で「コンピュータシステム」分野を演習する
応用情報技術者 の同じ分野を年度をまたいで演習する
応用情報技術者 勉強時間の目安|基本情報合格者・実務経験者・初学者別の合格モデル
応用情報技術者試験の合格に必要な勉強時間を、基本情報合格者・実務経験者・初学者の3パターン別に分解。午前・午後の時間配分と社会人の週次スケジュール例を実例で解説します。
基本情報を飛ばして応用情報から受けてもいい?|FEを省略してAPに挑む判断基準
基本情報(FE)を飛ばして応用情報(AP)からいきなり受けてもよいか。受験資格に制限はなく可能ですが、向き不向きがあります。飛ばしてよいケース・避けたほうがよいケース・注意点を、FEとAPの違いをふまえて正直に整理します。
応用情報技術者試験を取る意味はあるか|APのメリットと「意味ない」と言われる理由を整理
応用情報技術者試験(AP)は「意味ない」と言われることがある資格です。取得メリットと「役に立たない」と言われる理由を、転職・実務・高度試験への接続の3観点で整理し、誰に向くのかを正直に解説します。
応用情報 午後 文系・非エンジニア向け選択科目4選|暗記より読解で勝つ
応用情報技術者試験の午後選択を「文系・非エンジニア」目線で再構成。プログラミングを避けて読解力で勝てる4科目の選び方と、各科目の解答パターンを解説します。