資料介紹
在航空微電子中心的某預研項目中,需要開發設計某32位浮點通用數字信號處理器(DSP)。本系統控制通路部分的設計采用超級哈佛及五級流水線結構。本文分析了該流水線的設計過程,并對遇到的數據相關問題提出了一種新的解決方法。
1 流水線結構
流水線處理器一般把一條指令的執行分成幾個步驟,或稱為級(stages)。每一級在一個時鐘周期內完成,也就是說在每個時鐘周期,處理器啟動并執行一條指令。如果處理器的流水線有m級,則同時可重疊執行的指令總條數為m。由于每條指令處在不同的執行階段,因此,如果分級分得好,每一級都沒有時間上的浪費,這就是最理想的情況。流水線處理器在理想情況下與非流水線處理器的性能加速比為:
式中,I為一個程序被執行的總的指令條數,它在流水線處理器和非流水線處理器中是相等的。CPInp是每條指令總體平均所需的時鐘周期數。因為流水線處理器把一條指令的執行時間理想地分成了m級,故有m條指令在同時(重疊)執行。T是每個時鐘周期的時間長度,本例可假設它在兩種處理器中也是相同的,那么,最后總的加速比為m(即等于流水線的級數)。并不是說把流水線級數分得越多,處理器的性能就越好。流水線處理器性能提高的關鍵在于每個時鐘周期處理器都應當能啟動一條指令的執行。
2 數據相關問題
下面來討論數據相關(data dependence)問題及解決方法,先來看看下面的程序例子:
在上述程序段中,I1指令把寄存器r2和r3的內容相加,并將結果存人寄存器r1,這樣,它下面的4條指令均與I1相關,其使用I1的結果如圖1給出的數據相關關系圖。從圖中可見,當每個周期結束時,在時鐘上升沿應把數據打入寄存器。在數據沒被打入之前,任何從該寄存器讀出的數據都是過時的。圖1中的I2到I4的3條指令就屬于這種情況。它們從r1寄存器讀出的數據都是過時的,是不能使用的。I5則沒關系,當它讀r1寄存器時,I1已將結果寫入。
I1下面有3條指令不能從寄存器r1讀出正確的數據。為了減少數據相關指令的條數,設計時可以讓寫寄存器堆的操作提前半個周期,即由時鐘的下降沿打入。實踐證明這樣做是可行的,因為假定一個時鐘周期是10 ns,寄存器堆的訪問只需要5 ns。這樣,數據相關的指令條數就減至兩條,其操作示意圖如圖2所示。
3 數據相關問題的解決
在流水線處理器中處理數據相關問題有兩種方法:一種是暫停相關指令的執行,即暫停流水線,直到能夠正確讀出寄存器操作數為止;另一種是采用專門的數據通路,直接把結果送到ALU的輸入端,也就是把內部數據前推。描述這兩種方法可參考圖2所示的方案,即把寫寄存器堆提前半個周期,這時,只需考慮兩條相關指令。下面以ALU指令為例對暫停流水線的執行方法加以分析。
1 流水線結構
流水線處理器一般把一條指令的執行分成幾個步驟,或稱為級(stages)。每一級在一個時鐘周期內完成,也就是說在每個時鐘周期,處理器啟動并執行一條指令。如果處理器的流水線有m級,則同時可重疊執行的指令總條數為m。由于每條指令處在不同的執行階段,因此,如果分級分得好,每一級都沒有時間上的浪費,這就是最理想的情況。流水線處理器在理想情況下與非流水線處理器的性能加速比為:
式中,I為一個程序被執行的總的指令條數,它在流水線處理器和非流水線處理器中是相等的。CPInp是每條指令總體平均所需的時鐘周期數。因為流水線處理器把一條指令的執行時間理想地分成了m級,故有m條指令在同時(重疊)執行。T是每個時鐘周期的時間長度,本例可假設它在兩種處理器中也是相同的,那么,最后總的加速比為m(即等于流水線的級數)。并不是說把流水線級數分得越多,處理器的性能就越好。流水線處理器性能提高的關鍵在于每個時鐘周期處理器都應當能啟動一條指令的執行。
2 數據相關問題
下面來討論數據相關(data dependence)問題及解決方法,先來看看下面的程序例子:
在上述程序段中,I1指令把寄存器r2和r3的內容相加,并將結果存人寄存器r1,這樣,它下面的4條指令均與I1相關,其使用I1的結果如圖1給出的數據相關關系圖。從圖中可見,當每個周期結束時,在時鐘上升沿應把數據打入寄存器。在數據沒被打入之前,任何從該寄存器讀出的數據都是過時的。圖1中的I2到I4的3條指令就屬于這種情況。它們從r1寄存器讀出的數據都是過時的,是不能使用的。I5則沒關系,當它讀r1寄存器時,I1已將結果寫入。
I1下面有3條指令不能從寄存器r1讀出正確的數據。為了減少數據相關指令的條數,設計時可以讓寫寄存器堆的操作提前半個周期,即由時鐘的下降沿打入。實踐證明這樣做是可行的,因為假定一個時鐘周期是10 ns,寄存器堆的訪問只需要5 ns。這樣,數據相關的指令條數就減至兩條,其操作示意圖如圖2所示。
3 數據相關問題的解決
在流水線處理器中處理數據相關問題有兩種方法:一種是暫停相關指令的執行,即暫停流水線,直到能夠正確讀出寄存器操作數為止;另一種是采用專門的數據通路,直接把結果送到ALU的輸入端,也就是把內部數據前推。描述這兩種方法可參考圖2所示的方案,即把寫寄存器堆提前半個周期,這時,只需考慮兩條相關指令。下面以ALU指令為例對暫停流水線的執行方法加以分析。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式_流水線
- 使用FPGA設計流水線的資料和程序詳細概述 3次下載
- 移植到全新的PIC24F流水線ADC和Σ-ΔADC免費下載.pdf
- 流水線狀態機20進制,101序列檢測,8位加法器流水線的程序 0次下載
- 三菱plc裝配流水線課程設計 23次下載
- 裝配流水線控制系統設計 14次下載
- 電鍍流水線的PLC控制 36次下載
- 流水線ADC的行為級仿真 21次下載
- YHFT-DX高性能DSP指令控制流水線設計與優化 36次下載
- 流水線技術在高速數字電路設計中的應用
- FPGA重要設計思想及工程應用之流水線設
- 周期精確的流水線仿真模型
- MAX1200中文資料,pdf (流水線結構的模數轉換器)
- 流水線型ADC MAX1200 及其與DSP 的接口
- 流水線型模數轉換器MAX1200及其與DSP的接口
- 新版本Jenkins推薦使用聲明式流水線 604次閱讀
- Google GPipe為代表的流水線并行范式 891次閱讀
- 以Gpipe作為流水線并行的范例進行介紹 932次閱讀
- 如何通過Vivado Synthesis中的URAM矩陣自動流水線化來實現最佳時序性能 1436次閱讀
- 一個典型的流水線設計 1094次閱讀
- 報文解析規則定義 流水線劃分提取方案 809次閱讀
- CPU流水線優缺點 3912次閱讀
- 一文詳細了解流水線設計 4609次閱讀
- FPGA中流水線的原因和方式 5710次閱讀
- 流水線設計的思想介紹與設計實例 7896次閱讀
- OYES 200系列PLC在瓶裝流水線中的應用 1215次閱讀
- 淺談GPU的渲染流水線實現 3757次閱讀
- 一文讀懂處理器流水線 2.2w次閱讀
- 處理器功能單元組成與CPU的流水線的詳細解析 1.2w次閱讀
- 新型流水線實現高速低功耗ADC的原理及方法 4426次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1489次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 91次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 9次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 3次下載 | 免費
- 8基于單片機的紅外風扇遙控
- 0.23 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30319次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多