応用情報技術者平成28年秋期 午前問8

問8

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

分類

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

正解

解説

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