2017-01-18 27 views
0

フェッチ、デコード、実行、および書き込みで構成された4ステージパイプラインのCPUで、各ステージには10,6,8、および8 nsそれぞれ、次のどれですか?平均命令実行時間はCPUのナノ秒(ns)ですか?ここで、実行されるべき命令の数は、十分に大きい( )。さらに、パイプライン処理のためのオーバーヘッドはごくわずかであり、すべての危険からのレイテンシの影響は無視されます。CPUパイプライン:平均命令実行時間の求め方

A)6 B)8 C)10 D)32

回答私はそれが8nsのは、以降の段階を実行するかもしれないと思っ10ns.Butでは

答えて

2

各simply.thanks説明8ns.please取り指示は4つの段階を経なければならない。パイプラインがいっぱいになると、命令の流れの中と外は最長ステージの期間によって決定されます。

   Fetch|Decode|Exec|Write| 
      10ns | 6ns |8ns | 8ns | 
      -----+------+----+-----+ 
I7 I6 I5 --> I4 : I3 : I2 : I1 --> out 
      -----+------+----+-----+ 

I1..I7 are instructions. I1..I4 are in the pipeline, I5..I7 are 
waiting to enter the pipeline. 
  • 6nsのI3は、execするデコードから移動する準備ができているが、できていない段階のため、後Execのはまだ(8nsの合計)より2nsの後I2

    によって
  • を占有され、I1は、書き込みの外に書くExecのからI2の移動を移動させ、I3は最終的に

  • I4がまだブロックしているEXECコマンドへのデコードから移動することができますフェッチするので、I5は入力できません

  • I2が2ns(合計10ns)後にI4がFetchからExecに移動し、I5が入ることができます。

最長のステージが完了するまでパイプラインが停止することがわかります。 1命令が10nsごとにパイプラインに入ります。 (デコードステージは40%のアイドル時間で、ExecとWriteステージは20%の時間で実行されます)。

1

パイプラインの状況では、「出力が生成されるレート」は最も遅いステージ。残りのパイプラインがどのくらい速く動作するかは問題ではありません。したがって、パイプラインが10 nsごとに出力を生成すると期待できます。 「出力が生成される速度」は、平均実行時間と解釈することができます。だからその10 ns。