ソフトウェア開発技術者平成19年春期 午前問16

問16

すべての命令が5サイクルで完了するように設計された,パイプライン制御のコンピュータがある。20命令を実行するには何サイクル必要となるか。ここで,すべての命令は途中で停止することなく実行できるものとする。
  • 20
  • 21
  • 24
  • 25
  • [出題歴]
  • 応用情報技術者 R5春期 問9
  • 応用情報技術者 H28秋期 問8
  • 基本情報技術者 H17秋期 問17
  • ソフトウェア開発技術者 H16春期 問19

分類

テクノロジ系 » コンピュータ構成要素 » プロセッサ

正解

解説

パイプライン制御は、CPUが実行する命令を、命令読出し(フェッチ)、解読(デコード)、アドレス計算、オペランド呼出し、実行 というような複数のステージに分け、各ステージを少しずつずらしつつ独立した処理機構で並列に実行することで、処理時間全体を短縮させるCPUの高速化技法です。
16_1.png/image-size:455×279
本問では5サイクルとあるので、1命令が5つのステージに分割されているとわかります。下図のようにそれぞれのサイクルは並列実行されるため、20命令を実行するのに必要なサイクル数は24サイクルとなります。
16_2.png/image-size:538×415
また、パイプラインの処理時間を求める公式(I+D-1)×Pを用いても計算することができます。
パイプラインの処理時間を求める公式
(I+D-1)×P
I:命令数
D:パイプラインの深さ(命令の分割数)
P:パイプラインのピッチ(各ステージの実行時間)
本問だと、命令数(I)が20、パイプラインの深さ(D)が5、パイプラインのピッチが1サイクルなので、

 (20+5-1)×1=24サイクル

したがって「ウ」が正解です。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop