[教學] 計概 管線pipeline

看板Army-Sir作者 (優白白)時間13年前 (2011/01/14 21:47), 編輯推噓3(301)
留言4則, 4人參與, 最新討論串1/1
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

01/14 23:09, , 1F
天啊你連pipeline都教 太了不起了= =
01/14 23:09, 1F

01/15 02:26, , 2F
感謝
01/15 02:26, 2F

01/17 11:40, , 3F
念預官中。有看有推!
01/17 11:40, 3F

07/06 19:12, , 4F
\⊙▽⊙/~by PTTNOW~
07/06 19:12, 4F
文章代碼(AID): #1DC5G1uD (Army-Sir)