2023年 春期 応用情報技術者 午前 問9

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

 ア  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)を、毎サイクルで行うために、図のように命令をずらしながら処理する方法である。
     

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

戻る 一覧へ 次へ