修了試験 2020-07-26実施分 基本情報技術者試験 問11
全ての命令が5ステージで完了するように設計された,パイプライン制御のコンピュータがある。 20命令を実行するには何サイクル必要となるか。 ここで,全ての命令は途中で停止することなく実行でき,パイプラインの各ステージは1サイクルで動作を完了するものとする。
正答3
解説
正解は3です。 パイプライン処理で、複数の命令を実行するのに必要なサイクル数を求める問題です。 パイプラインでは、各命令のステージを1サイクルずつずらして重ねて実行します。 【計算】 最初の命令は、5ステージを終えるのに5サイクルかかります。 2番目以降の命令は、前の命令より1サイクルずつ遅れて完了します。 残りの19命令は、1サイクルに1命令ずつ完了します。 必要なサイクル数は、5+(20-1)=24サイクルです。 【選択肢別解説】 1:× 20サイクルは命令数そのものです。 最初の命令が完了するまでにかかる、ステージ数分の時間が含まれていません。 2:× 21サイクルは、命令数に1を足しただけの値です。 ステージ数が5であることを正しく反映していません。 3:○ 最初の命令の5サイクルに、残りの19命令分の19サイクルを加えた24サイクルです。 4:× 25サイクルは、ステージ数5と命令数20を足した値です。 最初の命令を二重に数えているので、1サイクル多くなっています。 【ポイント】 ステージ数をk、命令数をnとすると、必要なサイクル数はk+(n-1)で求められます。 パイプラインを使わない場合は、k×n=100サイクルかかります。まとめて解く
修了試験 2020-07-26実施分を通しで解く(80問)→