[爆卦]pipeline觀念是什麼?優點缺點精華區懶人包

為什麼這篇pipeline觀念鄉民發文收入到精華區:因為在pipeline觀念這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者Liroy (優白白)看板Army-Sir標題[教學] 計概 管線pipeline時間Fri J...



pipeline觀念建立在,縮短指令間等待時間,並行處理加速整個CPU執行

without pipeline:

┌─┬─┬─┬─┬─┐┌─┬─┬─┬─┬─┐┌─┬─┬─┬─┬─┐
└─┴─┴─┴─┴─┘└─┴─┴─┴─┴─┘└─┴─┴─┴─┴─┘
指令1 指令2 指令3

time├─┼─┼─┼─┼─┤├─┼─┼─┼─┼─┤├─┼─┼─┼─┼─┤

|-------40sec------| |-------40sec------| |-------40sec------|

執行時間:

單個指令所需時間10+5+10+10+5 = 40

執行三個指令所需時間 3 x 40 = 120


----
pipeline
┌─┬─┬─┬─┬─┐ 指令1
└─┴─┴─┴─┴─┘
┌─┬─┬─┬─┬─┐ 指令2
└─┴─┴─┴─┴─┘
┌─┬─┬─┬─┬─┐ 指令3
└─┴─┴─┴─┴─┘

time├─┼─┼─┼─┼─┼─┼─┤
1 2 3 4 5 6 7

單個clock cycle所執行時間,挑最大的 MAX{10,5,10,10,5}=10

一共執行了七個clock cycle,執行時間為10 x 7 =70

----

公式化簡:
n級管線,m個指令,每級管線執行時間為t
總共實行時間為->n x t + (m-1) x t (自己觀察他的方式就可以得知為何了)

加速比:
n x t x m
─────────── ≒ n (if m >> n)
n x t + (m-1) x t

至於n級管線為何無法到達n倍,因為
1.需另外考慮管線暫存器的delay執行時間
2.管線沒有均勻分割
3.指令個數沒有遠大於n (m >> n 不成立)
4.可能產生hazard(違障)

----

管線設計可能會產生三種hazard
1.structure hazard
2.data hazard
3.control hazard

應該不用再下去了,再下去講不完了XXXXXXD


--

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.113.65.87
andy78714:天啊你連pipeline都教 太了不起了= = 01/14 23:09
chingkung:感謝 01/15 02:26
supermicro:念預官中。有看有推! 01/17 11:40
yyqx1128: \⊙▽⊙/~by PTTNOW~ 07/06 19:12

你可能也想看看

搜尋相關網站