資料介紹
在航空微電子中心的某預(yù)研項(xiàng)目中,需要開發(fā)設(shè)計某32位浮點(diǎn)通用數(shù)字信號處理器(DSP)。本系統(tǒng)控制通路部分的設(shè)計采用超級哈佛及五級流水線結(jié)構(gòu)。本文分析了該流水線的設(shè)計過程,并對遇到的數(shù)據(jù)相關(guān)問題提出了一種新的解決方法。
1 流水線結(jié)構(gòu)
流水線處理器一般把一條指令的執(zhí)行分成幾個步驟,或稱為級(stages)。每一級在一個時鐘周期內(nèi)完成,也就是說在每個時鐘周期,處理器啟動并執(zhí)行一條指令。如果處理器的流水線有m級,則同時可重疊執(zhí)行的指令總條數(shù)為m。由于每條指令處在不同的執(zhí)行階段,因此,如果分級分得好,每一級都沒有時間上的浪費(fèi),這就是最理想的情況。流水線處理器在理想情況下與非流水線處理器的性能加速比為:

式中,I為一個程序被執(zhí)行的總的指令條數(shù),它在流水線處理器和非流水線處理器中是相等的。CPInp是每條指令總體平均所需的時鐘周期數(shù)。因?yàn)榱魉€處理器把一條指令的執(zhí)行時間理想地分成了m級,故有m條指令在同時(重疊)執(zhí)行。T是每個時鐘周期的時間長度,本例可假設(shè)它在兩種處理器中也是相同的,那么,最后總的加速比為m(即等于流水線的級數(shù))。并不是說把流水線級數(shù)分得越多,處理器的性能就越好。流水線處理器性能提高的關(guān)鍵在于每個時鐘周期處理器都應(yīng)當(dāng)能啟動一條指令的執(zhí)行。
2 數(shù)據(jù)相關(guān)問題
下面來討論數(shù)據(jù)相關(guān)(data dependence)問題及解決方法,先來看看下面的程序例子:

在上述程序段中,I1指令把寄存器r2和r3的內(nèi)容相加,并將結(jié)果存人寄存器r1,這樣,它下面的4條指令均與I1相關(guān),其使用I1的結(jié)果如圖1給出的數(shù)據(jù)相關(guān)關(guān)系圖。從圖中可見,當(dāng)每個周期結(jié)束時,在時鐘上升沿應(yīng)把數(shù)據(jù)打入寄存器。在數(shù)據(jù)沒被打入之前,任何從該寄存器讀出的數(shù)據(jù)都是過時的。圖1中的I2到I4的3條指令就屬于這種情況。它們從r1寄存器讀出的數(shù)據(jù)都是過時的,是不能使用的。I5則沒關(guān)系,當(dāng)它讀r1寄存器時,I1已將結(jié)果寫入。

I1下面有3條指令不能從寄存器r1讀出正確的數(shù)據(jù)。為了減少數(shù)據(jù)相關(guān)指令的條數(shù),設(shè)計時可以讓寫寄存器堆的操作提前半個周期,即由時鐘的下降沿打入。實(shí)踐證明這樣做是可行的,因?yàn)榧俣ㄒ粋€時鐘周期是10 ns,寄存器堆的訪問只需要5 ns。這樣,數(shù)據(jù)相關(guān)的指令條數(shù)就減至兩條,其操作示意圖如圖2所示。

3 數(shù)據(jù)相關(guān)問題的解決
在流水線處理器中處理數(shù)據(jù)相關(guān)問題有兩種方法:一種是暫停相關(guān)指令的執(zhí)行,即暫停流水線,直到能夠正確讀出寄存器操作數(shù)為止;另一種是采用專門的數(shù)據(jù)通路,直接把結(jié)果送到ALU的輸入端,也就是把內(nèi)部數(shù)據(jù)前推。描述這兩種方法可參考圖2所示的方案,即把寫寄存器堆提前半個周期,這時,只需考慮兩條相關(guān)指令。下面以ALU指令為例對暫停流水線的執(zhí)行方法加以分析。
1 流水線結(jié)構(gòu)
流水線處理器一般把一條指令的執(zhí)行分成幾個步驟,或稱為級(stages)。每一級在一個時鐘周期內(nèi)完成,也就是說在每個時鐘周期,處理器啟動并執(zhí)行一條指令。如果處理器的流水線有m級,則同時可重疊執(zhí)行的指令總條數(shù)為m。由于每條指令處在不同的執(zhí)行階段,因此,如果分級分得好,每一級都沒有時間上的浪費(fèi),這就是最理想的情況。流水線處理器在理想情況下與非流水線處理器的性能加速比為:

式中,I為一個程序被執(zhí)行的總的指令條數(shù),它在流水線處理器和非流水線處理器中是相等的。CPInp是每條指令總體平均所需的時鐘周期數(shù)。因?yàn)榱魉€處理器把一條指令的執(zhí)行時間理想地分成了m級,故有m條指令在同時(重疊)執(zhí)行。T是每個時鐘周期的時間長度,本例可假設(shè)它在兩種處理器中也是相同的,那么,最后總的加速比為m(即等于流水線的級數(shù))。并不是說把流水線級數(shù)分得越多,處理器的性能就越好。流水線處理器性能提高的關(guān)鍵在于每個時鐘周期處理器都應(yīng)當(dāng)能啟動一條指令的執(zhí)行。
2 數(shù)據(jù)相關(guān)問題
下面來討論數(shù)據(jù)相關(guān)(data dependence)問題及解決方法,先來看看下面的程序例子:

在上述程序段中,I1指令把寄存器r2和r3的內(nèi)容相加,并將結(jié)果存人寄存器r1,這樣,它下面的4條指令均與I1相關(guān),其使用I1的結(jié)果如圖1給出的數(shù)據(jù)相關(guān)關(guān)系圖。從圖中可見,當(dāng)每個周期結(jié)束時,在時鐘上升沿應(yīng)把數(shù)據(jù)打入寄存器。在數(shù)據(jù)沒被打入之前,任何從該寄存器讀出的數(shù)據(jù)都是過時的。圖1中的I2到I4的3條指令就屬于這種情況。它們從r1寄存器讀出的數(shù)據(jù)都是過時的,是不能使用的。I5則沒關(guān)系,當(dāng)它讀r1寄存器時,I1已將結(jié)果寫入。

I1下面有3條指令不能從寄存器r1讀出正確的數(shù)據(jù)。為了減少數(shù)據(jù)相關(guān)指令的條數(shù),設(shè)計時可以讓寫寄存器堆的操作提前半個周期,即由時鐘的下降沿打入。實(shí)踐證明這樣做是可行的,因?yàn)榧俣ㄒ粋€時鐘周期是10 ns,寄存器堆的訪問只需要5 ns。這樣,數(shù)據(jù)相關(guān)的指令條數(shù)就減至兩條,其操作示意圖如圖2所示。

3 數(shù)據(jù)相關(guān)問題的解決
在流水線處理器中處理數(shù)據(jù)相關(guān)問題有兩種方法:一種是暫停相關(guān)指令的執(zhí)行,即暫停流水線,直到能夠正確讀出寄存器操作數(shù)為止;另一種是采用專門的數(shù)據(jù)通路,直接把結(jié)果送到ALU的輸入端,也就是把內(nèi)部數(shù)據(jù)前推。描述這兩種方法可參考圖2所示的方案,即把寫寄存器堆提前半個周期,這時,只需考慮兩條相關(guān)指令。下面以ALU指令為例對暫停流水線的執(zhí)行方法加以分析。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式_流水線
- 使用FPGA設(shè)計流水線的資料和程序詳細(xì)概述 3次下載
- 移植到全新的PIC24F流水線ADC和Σ-ΔADC免費(fèi)下載.pdf
- 流水線狀態(tài)機(jī)20進(jìn)制,101序列檢測,8位加法器流水線的程序 0次下載
- 三菱plc裝配流水線課程設(shè)計 28次下載
- 裝配流水線控制系統(tǒng)設(shè)計 14次下載
- 電鍍流水線的PLC控制 36次下載
- 流水線ADC的行為級仿真 21次下載
- YHFT-DX高性能DSP指令控制流水線設(shè)計與優(yōu)化 36次下載
- 流水線技術(shù)在高速數(shù)字電路設(shè)計中的應(yīng)用
- FPGA重要設(shè)計思想及工程應(yīng)用之流水線設(shè)
- 周期精確的流水線仿真模型
- MAX1200中文資料,pdf (流水線結(jié)構(gòu)的模數(shù)轉(zhuǎn)換器)
- 流水線型ADC MAX1200 及其與DSP 的接口
- 流水線型模數(shù)轉(zhuǎn)換器MAX1200及其與DSP的接口
- 流水線中Half-Buffer與Skid-Buffer的使用 422次閱讀
- 新版本Jenkins推薦使用聲明式流水線 708次閱讀
- Google GPipe為代表的流水線并行范式 1061次閱讀
- 如何通過Vivado Synthesis中的URAM矩陣自動流水線化來實(shí)現(xiàn)最佳時序性能 1843次閱讀
- 一個典型的流水線設(shè)計 1430次閱讀
- 報文解析規(guī)則定義 流水線劃分提取方案 1023次閱讀
- CPU流水線優(yōu)缺點(diǎn) 4482次閱讀
- 一文詳細(xì)了解流水線設(shè)計 5032次閱讀
- FPGA中流水線的原因和方式 6190次閱讀
- 流水線設(shè)計的思想介紹與設(shè)計實(shí)例 8101次閱讀
- OYES 200系列PLC在瓶裝流水線中的應(yīng)用 1300次閱讀
- 淺談GPU的渲染流水線實(shí)現(xiàn) 3842次閱讀
- 一文讀懂處理器流水線 2.2w次閱讀
- 處理器功能單元組成與CPU的流水線的詳細(xì)解析 1.2w次閱讀
- 新型流水線實(shí)現(xiàn)高速低功耗ADC的原理及方法 4522次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1489次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 91次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 9次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計
- 0.23 MB | 3次下載 | 免費(fèi)
- 8基于單片機(jī)的紅外風(fēng)扇遙控
- 0.23 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30319次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評論