SkillStack
テクノロジ系9 / 80問

応用情報技術者試験 令和5年度 春期 午前 問9

全ての命令が 5 ステージで完了するように設計された、パイプライン制御の CPU がある。20 命令を実行するには何サイクル必要となるか。ここで、全ての命令は途中で停止することなく実行でき、パイプラインの各ステージは 1 サイクルで動作を完了するものとする。

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】ウ

5ステージのパイプラインでは、最初の命令が全ステージを通過して完了するまでに5サイクル必要です。しかし、各ステージを1サイクルで処理でき、途中で停止しないので、2番目以降の命令は1サイクルずつずらして投入できます。したがって、最初の命令の完了後は、毎サイクル1命令ずつ完了します。20命令の実行に必要なサイクル数は、「ステージ数+命令数-1」で求められ、5+20-1=24サイクルです。よって、ウが正解です。

アの20サイクルは誤りです。これは最初から毎サイクル1命令が完了すると考えた値であり、最初の命令が5段の処理を通るためのパイプライン充塡時間を考慮していません。

イの21サイクルは誤りです。初期の遅れを1サイクル分しか加えていません。5ステージでは、1命令目の投入から完了まで5サイクル掛かります。

エの25サイクルは誤りです。「5+20」としている値ですが、最初の命令は5サイクル目に完了するため、20命令目はそこから19サイクル後に完了します。したがって1サイクル多く数えています。

【ポイント】 停止のないk段パイプラインでn命令を処理する時間は、k+n-1サイクルです。 分岐やデータ依存による停止がある場合は、そのペナルティーをさらに加算します。

出典:令和5年度 春期 応用情報技術者試験 午前 問9
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の80問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める