流水線中的相關培訓教程[1]
流水線中的相關培訓教程[1]
?學習目標
??? 理解流水線中相關的分類及定義;
??? 掌握結構相關的解決方法;
??? 掌握數據相關的三種類型;
??? 掌握定向技術的主要思想及應用;
??? 掌握指令調度技術;
??? 了解對DLX流水線控制的實現。
?
??? 正文:
?? 3.3流水線中的相關
??? 流水線中的相關是指相鄰或相近的指令因存在某種關聯,后面的指令不能在原指定的時鐘周期開始執行。一般來說,流水線中的相關主要分為如下三種類型:
??? 1. 結構相關:當硬件資源滿足不了指令重疊執行的要求,而發生資源沖突時,就發生了
??? 結構相關。
??? 2. 數據相關:當一條指令需要用到前面指令的執行結果,而這些指令均在流水線中重疊
??? 執行時,就可能引起數據相關。
??? 3. 控制相關:當流水線遇到分支指令和其它能夠改變 PC 值的指令時,就會發生控制相
??? 關。
??? 一旦流水線中出現相關,必然會給指令在流水線中的順利執行帶來許多問題,如果不能很好地解決相關問題,輕則影響流水線的性能,重則導致錯誤的執行結果。消除相關的基本方法是讓流水線暫停執行某些指令,而繼續執行其它一些指令。
??? 在后面的討論中,我們約定:當一條指令被暫停時,在該暫停指令之后發射的所有指令都要被暫停,而在該暫停之前發射的指令則可繼續進行,在暫停期間,流水線不會取新的指令。
?
?3.3.1流水線的結構相關
??? 如果某些指令組合在流水線中重疊執行時,產生資源沖突,則稱該流水線有結構相關。為了能夠在流水線中順利執行指令的所有可能組合,而不發生結構相關,通常需要采用流水化功能單元的方法或資源重復的方法。
??? 許多流水線機器都是將數據和指令保存在同一存儲器中。如果在某個時鐘周期內,流水線既要完成某條指令對數據的存儲器訪問操作,又要完成取指令的操作,那么將會發生存儲器訪問沖突問題 (如圖3.3.1所示),產生結構相關。為了解決這個問題,可以讓流水線完成前一條指令對數據的存儲器訪問時,暫停取后一條指令的操作 (如圖3.3.2所示)。該周期稱為流水線的一個暫停周期。暫停周期一般也稱為流水線氣泡,或簡稱為氣泡。從圖3.3.2可以看出,在流水線中插入暫停周期可以消除這種結構相關。
??? 也可以用如圖3.3.3所示的時空圖來表示上述暫停情況。
? 由上可知,為消除結構相關而引入的暫停將影響流水線的性能。為了避免結構相關,可以考慮采用資源重復的方法。比如,在流水線機器中設置相互獨立的指令存儲器和數據存儲器;也可以將 Cache 分割成指令 Cache 和數據 Cache。
??? 假設不考慮流水線其它因素對流水線性能的影響,顯然如果流水線機器沒有結構相關,那么其 CPI 也較小。然而,為什么有時流水線設計者卻允許結構相關的存在呢?主要有兩個原因:一是為了減少硬件代價,二是為了減少功能單元的延遲。如果為了避免結構相關而將流水線中的所有功能單元完全流水化,或者設置足夠的硬件資源,那么所帶來的硬件代價必定很大。
??? 3.3.2流水線的數據相關
??? 1. 數據相關簡介
??? 當指令在流水線中重疊執行時,流水線有可能改變指令讀/寫操作數的順序,使得讀/寫操作順序不同于它們非流水實現的順序,這將導致數據相關。首先讓我們考慮下列指令在流水線中的執行情況: ADD? R1, R2, R3
??? SUB R4, R5, R1
??? AND? R6, R1, R7
??? OR R8, R1, R9
??? XOR R10, R1,? R11
?
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
相關閱讀:
- [電子說] 淺析OpenVINO 2024.5的新功能 2024-11-25
- [電子說] 工業讀碼器解決方案在自動化流水線上掃描條碼的應用 2024-11-20
- [電子說] SMT流水線布局優化技巧 2024-11-14
- [電子說] 工業流水線的智能助手——智能計數,效率倍增 2024-11-06
- [電子說] 流水線中Half-Buffer與Skid-Buffer的使用 2024-11-05
- [電子說] 使用PVA引擎優化自動駕駛汽車CV開發流水線 2024-11-05
- [電子說] 簡述光電開關在流水線上的應用BR100-DDT如計數等 2024-10-31
- [電子說] 工廠自動化流水線上安裝固定式工業掃描器有什么好處? 2024-10-30
( 發表人:admin )