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

すべての命令が5サイクルで完了するように設計された、パイプライン制御のコンピュータがある。
20命令を実行するのには何サイクル必要となるか。
ここで、すべての命令は途中で停止することなく実行できるものとする。

 ア  20  イ  21  ウ  24  エ  25


答え ウ


解説
パイプライン処理のときの、命令n 個の処理サイクル数F(n )は、1つの命令の処理に必要なサイクル数をaとすると、下の式になる。
 F(n )=n +a-1

この式に、a=5、n =20を代入すると、F(20)=24(ウ)になる。

現実には、

  • すべての命令を同じサイクル数で完了しない。
  • メモリアクセスが1サイクルで完了しない。
  • 分岐命令でパイプラインの次の命令を実行しない(パイプラインハザード)。
などがあるので、上記の式どおりにはならない。


キーワード
・パイプライン処理

キーワードの解説
  • パイプライン処理
    CPUの実行速度を上げるためのCPU内の処理方法です。
    CPUは1つ命令を F(命令呼出し)→D(解読)→A(アドレス計算)→R(オペランド呼出し)→E(実行)といった順で行っている。
    そのため、1回の命令を行うのに5ステップ(サイクル)かかってしまう。
    パイプラインとは実行ステップ(E)を、毎サイクルで行うために、図のように命令をずらしながら処理する方法である。

もっと、「パイプライン」について調べてみよう。

戻る 一覧へ 次へ