管道處理pipeline正確觀念是哪個呢?

這是計算機概論的問題,想麻煩高手幫忙解決。

我上課前後2ㄍ老師告訴我管道處裡的觀念不一樣,我把他先列在下面

假設分成 5個階段,時間如下

第一階段:5ns

第二階段:8ns

第三階段:15ns

第四階段:10ns

第五階段:12ns 然後有100個指令要執行

第一種算法:

(5+8+15+10+12)+(100-1)*15=1535 ns

注:5+8+15+10+12 是第一個指令走完管道花的時間,在家上剩下的99個乘上最花時間的stage,就是15秒,得到1535ns

第二種算法:

(5-1)+100*1=104 (cycle)

104*15=1610 ns (104個cycle,每個cycle要花15ns)

希望大家能告訴我哪個是正確的計算機概念

如果我有寫錯的,麻煩直接指證並告知正確的觀念

4 個解答

評分
  • 2 0 年前
    最佳解答

    小弟我所知道的算法是這樣的:把花費最多時間的階段乘上指令數在加上其餘的時間也就是15*100+(5+8+12+10),這個答案算出來也就是你所說的第一個解法1535,這個解法應該符合所謂pipleline的觀念,至於第二個解法小弟就不懂了。

  • 匿名使用者
    1 0 年前

    關於第二個算法,我想老師的意思應該是,每一個CLOCK的CYCLE TIME要固定。也就是說不可能有一段是8(CYCLE TIME)而下一段變成10(CYCLE TIME),再下一段又變成15(CYCLE TIME)。如果PIPILINE使用變動CYCLE TIME的話,電腦根本做不出來(老師說的)。所以我想應該是第二個解法比較正確。

    我跟你好像是同一個老師喔!!

  • 1 0 年前

    以五個stage(階段) 的pipeline來說

    在一個週期裡最多會有五個指令動作在執行

    所以其它stage的時間需要配合最長的stage

    大大提到的第二種算法:

    (5-1)+100*1=104 (cycle)

    (第一個指令完成是第5個cycle,後面的99個指令每經一個cycle就完成一個指令)

    104*15=1610 ns (104個cycle,每個cycle要花15ns)

  • 1 0 年前

    pipeline

    詳細內容請査"計算機組織與結構"

    原則上解答是第二種...

還有問題?馬上發問,尋求解答。