1

M5が5段階のパイプライン実装であると仮定します。

5段階のパイプラインには次の手順があることを知っています。

    IF -- instruction fetch (and PC update)
    ID -- instruction decode (and get operands from registers)
    EX -- ALU operation (can be effective address calculation)
    MA -- memory access
    WB -- write back (results written to register(s))

次の命令ミックスを持つ100個のMIPS命令があると仮定します。

Loads 23%, Stores 12%, Conditional Branches 12%, Jumps
8% and R-type instructions 45%.

The CPU clock frequency is 1.2 GHz

100個の命令を実行する時間を計算しようとしています。この式を使用して非パイプラインの時間を計算する方法を理解しています

ExTime = Instruction count * CPI * Clock period in seconds

を使用して頻度を期間に変換しますが1/f = 8.33 * 10^-10 seconds 、このパイプラインの実行時間を計算する方法がわかりません。パイプラインの実装のサイクルを知る必要がありますか?

オンラインでまともな例を見つけることができないので、私を助けてください。ありがとう

編集

私は答えを見つけたと思います!

私はいくつかの情報を見つけました

INSTRUCTION LATENCY = 5 time units THEREFORE
INSTRUCTION THROUGHPUT = 5 * (1 / 5) = 1 instruction per time unit
So in this case it would be: 
ExTime in seconds = Number of instructions * clock cycle period in seconds
4

1 に答える 1

0

ブランチ/ジャンプでのフラッシュにかかる時間を無視:

指定された命令ミックス内の命令が使用する平均サイクル数 =

(0.23)*5 + (0.12)*4 + (0.12)*4 + (0.08)*4 + (0.45)*4 = 4.23 クロック サイクル

(ロード5サイクル、ストア:4、R:4、ジャンプ/ブランチ:4)

今、

平均で 1 命令にかかるサイクル数 = 4.23

=> 平均で 100 命令にかかるサイクル数 = 423

クロック周波数 = 1.2Ghz

=> 1 サイクルにかかる時間 = 8.33 * 10^-10

=> 423 サイクルにかかった時間 = 3.5236 * 10^-7 = Ans

于 2014-10-07T17:55:12.120 に答える