資料介紹
在航空微電子中心的某預(yù)研項(xiàng)目中,需要開(kāi)發(fā)設(shè)計(jì)某32位浮點(diǎn)通用數(shù)字信號(hào)處理器(DSP)。本系統(tǒng)控制通路部分的設(shè)計(jì)采用超級(jí)哈佛及五級(jí)流水線結(jié)構(gòu)。本文分析了該流水線的設(shè)計(jì)過(guò)程,并對(duì)遇到的數(shù)據(jù)相關(guān)問(wèn)題提出了一種新的解決方法。
1 流水線結(jié)構(gòu)
流水線處理器一般把一條指令的執(zhí)行分成幾個(gè)步驟,或稱為級(jí)(stages)。每一級(jí)在一個(gè)時(shí)鐘周期內(nèi)完成,也就是說(shuō)在每個(gè)時(shí)鐘周期,處理器啟動(dòng)并執(zhí)行一條指令。如果處理器的流水線有m級(jí),則同時(shí)可重疊執(zhí)行的指令總條數(shù)為m。由于每條指令處在不同的執(zhí)行階段,因此,如果分級(jí)分得好,每一級(jí)都沒(méi)有時(shí)間上的浪費(fèi),這就是最理想的情況。流水線處理器在理想情況下與非流水線處理器的性能加速比為:
式中,I為一個(gè)程序被執(zhí)行的總的指令條數(shù),它在流水線處理器和非流水線處理器中是相等的。CPInp是每條指令總體平均所需的時(shí)鐘周期數(shù)。因?yàn)榱魉€處理器把一條指令的執(zhí)行時(shí)間理想地分成了m級(jí),故有m條指令在同時(shí)(重疊)執(zhí)行。T是每個(gè)時(shí)鐘周期的時(shí)間長(zhǎng)度,本例可假設(shè)它在兩種處理器中也是相同的,那么,最后總的加速比為m(即等于流水線的級(jí)數(shù))。并不是說(shuō)把流水線級(jí)數(shù)分得越多,處理器的性能就越好。流水線處理器性能提高的關(guān)鍵在于每個(gè)時(shí)鐘周期處理器都應(yīng)當(dāng)能啟動(dòng)一條指令的執(zhí)行。
2 數(shù)據(jù)相關(guān)問(wèn)題
下面來(lái)討論數(shù)據(jù)相關(guān)(data dependence)問(wèn)題及解決方法,先來(lái)看看下面的程序例子:
在上述程序段中,I1指令把寄存器r2和r3的內(nèi)容相加,并將結(jié)果存人寄存器r1,這樣,它下面的4條指令均與I1相關(guān),其使用I1的結(jié)果如圖1給出的數(shù)據(jù)相關(guān)關(guān)系圖。從圖中可見(jiàn),當(dāng)每個(gè)周期結(jié)束時(shí),在時(shí)鐘上升沿應(yīng)把數(shù)據(jù)打入寄存器。在數(shù)據(jù)沒(méi)被打入之前,任何從該寄存器讀出的數(shù)據(jù)都是過(guò)時(shí)的。圖1中的I2到I4的3條指令就屬于這種情況。它們從r1寄存器讀出的數(shù)據(jù)都是過(guò)時(shí)的,是不能使用的。I5則沒(méi)關(guān)系,當(dāng)它讀r1寄存器時(shí),I1已將結(jié)果寫(xiě)入。
I1下面有3條指令不能從寄存器r1讀出正確的數(shù)據(jù)。為了減少數(shù)據(jù)相關(guān)指令的條數(shù),設(shè)計(jì)時(shí)可以讓寫(xiě)寄存器堆的操作提前半個(gè)周期,即由時(shí)鐘的下降沿打入。實(shí)踐證明這樣做是可行的,因?yàn)榧俣ㄒ粋€(gè)時(shí)鐘周期是10 ns,寄存器堆的訪問(wèn)只需要5 ns。這樣,數(shù)據(jù)相關(guān)的指令條數(shù)就減至兩條,其操作示意圖如圖2所示。
3 數(shù)據(jù)相關(guān)問(wèn)題的解決
在流水線處理器中處理數(shù)據(jù)相關(guān)問(wèn)題有兩種方法:一種是暫停相關(guān)指令的執(zhí)行,即暫停流水線,直到能夠正確讀出寄存器操作數(shù)為止;另一種是采用專門(mén)的數(shù)據(jù)通路,直接把結(jié)果送到ALU的輸入端,也就是把內(nèi)部數(shù)據(jù)前推。描述這兩種方法可參考圖2所示的方案,即把寫(xiě)寄存器堆提前半個(gè)周期,這時(shí),只需考慮兩條相關(guān)指令。下面以ALU指令為例對(duì)暫停流水線的執(zhí)行方法加以分析。
1 流水線結(jié)構(gòu)
流水線處理器一般把一條指令的執(zhí)行分成幾個(gè)步驟,或稱為級(jí)(stages)。每一級(jí)在一個(gè)時(shí)鐘周期內(nèi)完成,也就是說(shuō)在每個(gè)時(shí)鐘周期,處理器啟動(dòng)并執(zhí)行一條指令。如果處理器的流水線有m級(jí),則同時(shí)可重疊執(zhí)行的指令總條數(shù)為m。由于每條指令處在不同的執(zhí)行階段,因此,如果分級(jí)分得好,每一級(jí)都沒(méi)有時(shí)間上的浪費(fèi),這就是最理想的情況。流水線處理器在理想情況下與非流水線處理器的性能加速比為:
式中,I為一個(gè)程序被執(zhí)行的總的指令條數(shù),它在流水線處理器和非流水線處理器中是相等的。CPInp是每條指令總體平均所需的時(shí)鐘周期數(shù)。因?yàn)榱魉€處理器把一條指令的執(zhí)行時(shí)間理想地分成了m級(jí),故有m條指令在同時(shí)(重疊)執(zhí)行。T是每個(gè)時(shí)鐘周期的時(shí)間長(zhǎng)度,本例可假設(shè)它在兩種處理器中也是相同的,那么,最后總的加速比為m(即等于流水線的級(jí)數(shù))。并不是說(shuō)把流水線級(jí)數(shù)分得越多,處理器的性能就越好。流水線處理器性能提高的關(guān)鍵在于每個(gè)時(shí)鐘周期處理器都應(yīng)當(dāng)能啟動(dòng)一條指令的執(zhí)行。
2 數(shù)據(jù)相關(guān)問(wèn)題
下面來(lái)討論數(shù)據(jù)相關(guān)(data dependence)問(wèn)題及解決方法,先來(lái)看看下面的程序例子:
在上述程序段中,I1指令把寄存器r2和r3的內(nèi)容相加,并將結(jié)果存人寄存器r1,這樣,它下面的4條指令均與I1相關(guān),其使用I1的結(jié)果如圖1給出的數(shù)據(jù)相關(guān)關(guān)系圖。從圖中可見(jiàn),當(dāng)每個(gè)周期結(jié)束時(shí),在時(shí)鐘上升沿應(yīng)把數(shù)據(jù)打入寄存器。在數(shù)據(jù)沒(méi)被打入之前,任何從該寄存器讀出的數(shù)據(jù)都是過(guò)時(shí)的。圖1中的I2到I4的3條指令就屬于這種情況。它們從r1寄存器讀出的數(shù)據(jù)都是過(guò)時(shí)的,是不能使用的。I5則沒(méi)關(guān)系,當(dāng)它讀r1寄存器時(shí),I1已將結(jié)果寫(xiě)入。
I1下面有3條指令不能從寄存器r1讀出正確的數(shù)據(jù)。為了減少數(shù)據(jù)相關(guān)指令的條數(shù),設(shè)計(jì)時(shí)可以讓寫(xiě)寄存器堆的操作提前半個(gè)周期,即由時(shí)鐘的下降沿打入。實(shí)踐證明這樣做是可行的,因?yàn)榧俣ㄒ粋€(gè)時(shí)鐘周期是10 ns,寄存器堆的訪問(wèn)只需要5 ns。這樣,數(shù)據(jù)相關(guān)的指令條數(shù)就減至兩條,其操作示意圖如圖2所示。
3 數(shù)據(jù)相關(guān)問(wèn)題的解決
在流水線處理器中處理數(shù)據(jù)相關(guān)問(wèn)題有兩種方法:一種是暫停相關(guān)指令的執(zhí)行,即暫停流水線,直到能夠正確讀出寄存器操作數(shù)為止;另一種是采用專門(mén)的數(shù)據(jù)通路,直接把結(jié)果送到ALU的輸入端,也就是把內(nèi)部數(shù)據(jù)前推。描述這兩種方法可參考圖2所示的方案,即把寫(xiě)寄存器堆提前半個(gè)周期,這時(shí),只需考慮兩條相關(guān)指令。下面以ALU指令為例對(duì)暫停流水線的執(zhí)行方法加以分析。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式_流水線
- 使用FPGA設(shè)計(jì)流水線的資料和程序詳細(xì)概述 3次下載
- 移植到全新的PIC24F流水線ADC和Σ-ΔADC免費(fèi)下載.pdf
- 流水線狀態(tài)機(jī)20進(jìn)制,101序列檢測(cè),8位加法器流水線的程序 0次下載
- 三菱plc裝配流水線課程設(shè)計(jì) 23次下載
- 裝配流水線控制系統(tǒng)設(shè)計(jì) 14次下載
- 電鍍流水線的PLC控制 36次下載
- 流水線ADC的行為級(jí)仿真 21次下載
- YHFT-DX高性能DSP指令控制流水線設(shè)計(jì)與優(yōu)化 36次下載
- 流水線技術(shù)在高速數(shù)字電路設(shè)計(jì)中的應(yīng)用
- FPGA重要設(shè)計(jì)思想及工程應(yīng)用之流水線設(shè)
- 周期精確的流水線仿真模型
- MAX1200中文資料,pdf (流水線結(jié)構(gòu)的模數(shù)轉(zhuǎn)換器)
- 流水線型ADC MAX1200 及其與DSP 的接口
- 流水線型模數(shù)轉(zhuǎn)換器MAX1200及其與DSP的接口
- 新版本Jenkins推薦使用聲明式流水線 604次閱讀
- Google GPipe為代表的流水線并行范式 891次閱讀
- 以Gpipe作為流水線并行的范例進(jìn)行介紹 932次閱讀
- 如何通過(guò)Vivado Synthesis中的URAM矩陣自動(dòng)流水線化來(lái)實(shí)現(xiàn)最佳時(shí)序性能 1436次閱讀
- 一個(gè)典型的流水線設(shè)計(jì) 1094次閱讀
- 報(bào)文解析規(guī)則定義 流水線劃分提取方案 809次閱讀
- CPU流水線優(yōu)缺點(diǎn) 3912次閱讀
- 一文詳細(xì)了解流水線設(shè)計(jì) 4609次閱讀
- FPGA中流水線的原因和方式 5710次閱讀
- 流水線設(shè)計(jì)的思想介紹與設(shè)計(jì)實(shí)例 7896次閱讀
- OYES 200系列PLC在瓶裝流水線中的應(yīng)用 1215次閱讀
- 淺談GPU的渲染流水線實(shí)現(xiàn) 3757次閱讀
- 一文讀懂處理器流水線 2.2w次閱讀
- 處理器功能單元組成與CPU的流水線的詳細(xì)解析 1.2w次閱讀
- 新型流水線實(shí)現(xiàn)高速低功耗ADC的原理及方法 4426次閱讀
下載排行
本周
- 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筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開(kāi)關(guān)電源原理及各功能電路詳解
- 0.38 MB | 9次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7基于單片機(jī)和 SG3525的程控開(kāi)關(guān)電源設(shè)計(jì)
- 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開(kāi)關(guān)電源設(shè)計(jì)實(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é)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論
查看更多