【正文】
ure, Autumn 2023 ?流水線工作原理 ?流水線的分類 ?線性流水線的性能分析 ?非線性流水線的調(diào)度技術(shù) 流水線技術(shù) Computer Architecture, Autumn 2023 流水線的分類 線性流水線與非線性流水線 流水線的各個(gè)流水段之間是否有反饋信號(hào) 線性流水線 ( Linear Pipelining): 每一個(gè)流水段都流過(guò)一次,而且僅流過(guò)一次。 流水線處理機(jī)的基本時(shí)鐘周期等于時(shí)間最長(zhǎng)的流水段的時(shí)間長(zhǎng)度。 時(shí)間開銷:流水線的執(zhí)行時(shí)間加長(zhǎng), 是流水線中需要增加的主要硬件之一。 對(duì)于指令流水線:要盡量減少因條件分支造成的“斷流” 對(duì)于操作部件:主要通過(guò)編譯技術(shù),盡量提供連續(xù)的相同類型的操作。 為了簡(jiǎn)化,在一般流水線中不畫出流水鎖存器。 在每一個(gè)流水段的末尾或開頭必須設(shè)置一個(gè) (多個(gè) )寄存器,稱為 流水寄存器、流水鎖存器、流水閘門寄存器等 。 通過(guò)增加指令的執(zhí)行階段增強(qiáng)性能 理想的加速比是流水線的段數(shù) . 我們能夠獲得這個(gè)加速比嗎 ? I n s t r u c t i o n f e t c h R e g A L U D a t a a c c e s s R e g 8 n s I n s t r u c t i o n f e t c h R e g A L U D a t a a c c e s s R e g 8 n s I n s t r u c t i o n f e t c h 8 n s T i m e l w $ 1 , 1 0 0 ( $ 0 ) l w $ 2 , 2 0 0 ( $ 0 ) l w $ 3 , 3 0 0 ( $ 0 ) 2 4 6 8 1 0 1 2 1 4 1 6 1 8 2 4 6 8 1 0 1 2 1 4 . . . 程序 執(zhí)行 順序 I n s t r u c t i o n f e t c h R e g A L U D a t a a c c e s s R e g T i m e l w $ 1 , 1 0 0 ( $ 0 ) l w $ 2 , 2 0 0 ( $ 0 ) l w $ 3 , 3 0 0 ( $ 0 ) 2 n s I n s t r u c t i o n f e t c h R e g A L U D a t a a c c e s s R e g 2 n s I n s t r u c t i o n f e t c h R e g A L U D a t a a c c e s s R e g 2 n s 2 n s 2 n s 2 n s 2 n s P r o g r a m e x e c u t i o n o r d e r ( i n i n s t r u c t i o n s ) Computer Architecture, Autumn 2023 基本思想 176。 Mem : 從數(shù)據(jù)存儲(chǔ)器中讀數(shù)據(jù) 176。 Reg /Dec: 獲取寄存器,指令譯碼 176。 理想的流水線機(jī)器 ? 10 ns /cycle x (1 CPI x 100 inst + 4 cycle drain) = 1040 ns Computer Architecture, Autumn 2023 Load指令的五個(gè) 階段 176。 單周期的機(jī)器 ? 45 ns /cycle x 1 CPI x 100 inst = 4500 ns 176。 會(huì)由于依賴而造成阻塞 6 下午 7 8 9 時(shí)間 B C D A 30 30 30 30 30 30 30 任 務(wù) 順 序 Computer Architecture, Autumn 2023 傳統(tǒng)的流水線執(zhí)行表示 IFetch Dcd Exec Mem WB IFetch Dcd Exec Mem WB IFetch Dcd Exec Mem WB IFetch Dcd Exec Mem WB IFetch Dcd Exec Mem WB IFetch Dcd Exec Mem WB 程序流 時(shí)間軸 Computer Architecture, Autumn 2023 為什么采用流水線呢 ? 因?yàn)橛匈Y源空閑 ! 指 令 順 序 時(shí)間 (時(shí)鐘周期 ) Inst 0 Inst 1 Inst 2 Inst 4 Inst 3 ALU Im Reg Dm Reg ALU Im Reg Dm Reg ALU Im Reg Dm Reg ALU Im Reg Dm Reg ALU Im Reg Dm Reg Computer Architecture, Autumn 2023 單時(shí)鐘周期 , 多時(shí)鐘周期 ,同流水線比較 . Clk Cycle 1 多時(shí)鐘周期的實(shí)現(xiàn) : Ifetch Reg Exec Mem Wr Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Cycle 10 Load Ifetch Reg Exec Mem Wr Ifetch Reg Exec Mem Load Store 流水線的實(shí)現(xiàn) : Ifetch Reg Exec Mem Wr Store Clk 單時(shí)鐘周期的實(shí)現(xiàn) : Load Store Waste Ifetch Rtype Ifetch Reg Exec Mem Wr Rtype Cycle 1 Cycle 2 Computer Architecture, Autumn 2023 為什么使用流水線 ? 176。 流水線各段長(zhǎng)度不均會(huì)降低 加速比 176。 可能的加速比 = 流水線的段數(shù) 176。 流水線無(wú)法幫助解決單個(gè)任務(wù) 的 延遲 , 有利于減少整個(gè)工作 全部時(shí)間 176。 如果使用流水線作業(yè) , 將需要多少時(shí)間呢 ? 30 任 務(wù) 順 序 B C D A 時(shí)間 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 6 下午 7 8 9 10 11 12 1 2 上午 Computer Architecture, Autumn 2023 流水線作業(yè) 176。 還要花費(fèi) 30 分鐘的時(shí)間 將衣物放在衣柜里 A B C D Computer Architecture, Autumn 2023 順序操作 176。 甩干要用 30 分鐘 176。 A, B, C, D 均有一些衣務(wù)要清洗,甩干,折疊 176。Computer Architecture, Autumn 2023 北京郵電大學(xué) 計(jì)算機(jī)系科學(xué)與技術(shù)系 流水線基礎(chǔ) (Pipelining Basic) 王春露 ( Prof. Chunlu Wang) Computer Architecture, Autumn 2023 流水線技術(shù) 相關(guān)性分析技術(shù) 超標(biāo)量處理機(jī) 超流水線處理機(jī) 超標(biāo)量超流水線處理機(jī) 流水線技術(shù) Computer Architecture, Autumn 2023 流水線是很自然的 ! 176。 洗衣店的例子 176。 清洗要花 30 分鐘 176。 疊衣物也需要 30 分鐘 176。 洗 4 個(gè)人的衣物,順序操作需要 8 個(gè)小時(shí) 176。 流水線作業(yè)洗 4個(gè)人的衣物只需要 個(gè)小時(shí) ! 任 務(wù) 順 序 12 2 上午 6 下午 7 8 9 10 11 1 時(shí)間 B C D A 30 30 30 30 30 30 30 Computer Architecture, Autumn 2023 流水線 176。 多個(gè) 任務(wù)同時(shí)操作需要不同 的資源 176。 流水線的速率受 速度最慢 的流水段的限制 176。 充滿 流水線所需的時(shí)間和 排空 流水線所需的時(shí)間影響 加速比 176。 設(shè)想我們要執(zhí)行 100 條指令 176。 多周期的機(jī)器 ? 10 ns /cycle x CPI (due to inst mix) x 100 inst = 4200 ns 176。 Ifetch : 獲取指令 ? 從指令存儲(chǔ)器中獲取指令 176。 Exec: 計(jì)算內(nèi)存地址 176。 Wr : 向寄存器文件寫回?cái)?shù)據(jù) Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Ifetch Reg /Dec Exec Mem Wr Load Computer Architecture, Autumn 2023 Pipelining 176。 我們要將數(shù)據(jù)通路分割成不同的階段,需要增加些什么 ? I n s t r u c t i o n m e m o r y A d d r e s s 4 3 2 0 A d d A d d r e s u l t S h i f t l e f t 2 I n s t r u c t i o n M u x 0 1 A d d P C 0 W r i t e d a t a M u x 1 R e g i s t e r s R e a d d a t a 1 R e a d d a t a 2 R e a d r e g i s t e r 1 R e a d r e g i s t e r 2 1 6 S i g n e x t e n d W r i t e r e g i s t e r W r i t e d a t a R e a d d a t a A d d r e s s D a t a m e m o r y 1 A L U r e s u l t M u x A L U Z e r o I F : I n s t r u c t i o n f e t c h I D : I n s t r u c t i o n d e c o d e / r e g i s t e r f i l e r e a d E X : E x e c u t e / a d d r e s s c a l c u l a t i o n M E M : M e m o r y a c c e s s W B : W r i t e b a c k Computer Architecture, Autumn 2023 流水線數(shù)據(jù)通路 I n s t r u c t i o n m e m o r y A d d r e s s 4 3 2 0 A d d A d d r e s u l t S h i f t l e f t 2 I n s t r u c t i o n I F / I D E X / M E M M E M / W B M u x 0 1 A d d P C 0 W r i t e d a t a M u x 1 R e g i s t e r s R e a d d a t a 1 R e a d d a t a 2 R e a d r e g i s t e r 1 R e a d r e g i s t e r 2 1 6 S i g n e x t e n d W r i t e r e g i s t e r W r i t e d a t a R e a d d a t a 1 A L U r e s u l t M u x A L U Z e r o I D / E X D a t a m e m o r y A d d r e s s Computer Architecture, Autumn 2023 流水線技術(shù) 流水線是一種實(shí)現(xiàn)技術(shù) 空間并行性 :設(shè)置多個(gè)獨(dú)立的操作部件 如: 多操作部件處理機(jī)、超標(biāo)量處理機(jī) 時(shí)間并行性 :采用流水線技術(shù) 不增加或只增加少量硬件就能使運(yùn)算速度提高幾倍, 如: 流水線處理機(jī)、超流水線處理機(jī) 流水線工作原理 流水線的分類 線性流水線的性能分析 非線性流水線的調(diào)度技術(shù) Computer Architecture, Autumn 2