• ベストアンサー

CPUの高速化技法

CPUの高速化技法のパイプライン制御の動作中に分岐命令があった場合の計算問題です パイプライン制御を行うと高速に命令を実行できる反面、分岐命令を行うと、前もって取り出しておいた命令を破棄して再度命令の取り出しからやり直さなければならない。 もし、分岐命令がないとき1つのステージを処理するのに5ナノ秒かかるとすると、6個の命令を実行するのに( )ナノ秒かかる。 この問題が分かりません。 答えは55ナノ秒となってます。

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.3

パイプラインが6ステージということなので、 6個の命令を命令1~命令6、 各命令の処理ステージをステージA~ステージF とします。 「命令1のステージAを処理」することを「1-A」という表記で示すと、 5ナノ秒単位で各ステップで行われる処理は、 ステップ1: 1-A ステップ2: 2-A、1-B ステップ3: 3-A、2-B、1-C ステップ4: 4-A、3-B、2-C、1-D ステップ5: 5-A、4-B、3-C、2-D、1-E ステップ6: 6-A、5-B、4-C、3-D、2-E、1-F ステップ7:     6-B、5-C、4-D、3-E、2-F ステップ8:        6-C、5-D、4-E、3-F ステップ9:            6-D、5-E、4-F ステップ10:               6-E、5-F ステップ11:                  6-F という流れになり、11ステップ×5ナノ秒=55ナノ秒で6命令の処理が終わります。

その他の回答 (2)

  • mrkato
  • ベストアンサー率47% (1006/2119)
回答No.2

きっと問題の記述が悪い。 「6個の分岐が連なっている命令文」ではないでしょうか。 そうすると分岐1つごとに手戻りが起きてしまうから、 すべて2つ分の動作をして、12手。に間違えるはず。 それが11手で終わるとしているのは直近=最後の命令が 処理を抜けた段階では、手戻りに陥る次の命令文が無い。

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

問題文はそれが全てですか?パイプラインのステージ数がないのですけどね。

RITSUNEKO
質問者

補足

パイプラインのステージは6ステージです

関連するQ&A