2011-11-03 15 views
1

CPUは5段階のパイプラインを持ち、1GHzの周波数で動作します。命令フェッチ はパイプラインの最初の段階で発生します。条件付き分岐命令 は、パイプラインの の第3ステージで目標アドレスを計算し、条件を評価します。プロセッサは、分岐結果がわかるまで、条件付き ブランチの後に新しい命令のフェッチを停止します。プログラムは10^9命令を実行します。その内の20%は条件分岐です。 各命令は平均完全 1つのサイクルを取る場合、プログラムの総実行時間は次のとおり5段階パイプラインで条件付き分岐を持つプログラムの合計実行時間

(A)1.0秒

(B)1.2秒

(C)1.4秒

(D)1.6秒

+0

はこの宿題ですか? –

+0

いいえ、その宿題がありません –

答えて

0
Total_execution_time = (1+stall_cycle*stall_frequency)*exec_time_each_inst 

exec_time_each_inst = 1s [i.e @1ghz need to execute 10^9 inst => 1 inst = 1 sec] 

stall_frequency = 20% = .20 

stall_cycle = 2 

[すなわち、パイプラインの第三段階では、我々は分岐結果を知っているので、2つのストールサイクルが存在します]

のでTotal_execution_time =(1 + 2 * 0.20)* 1 = 1.4秒

私はより良いそれを説明する方法を知っているが、それは少し役に立てば幸いません:)

関連する問題