




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、,第三部分: DSP 硬件結(jié)構(gòu),DSP的硬件結(jié)構(gòu),DSP的硬件結(jié)構(gòu),大體上與通用的微處理器相類似,由CPU、存儲器、總線、外設(shè)、接口、時鐘等部分組成,但又有其鮮明的特點。 對比介紹:,一、DSP芯片的鮮明特點,1.哈佛結(jié)構(gòu) 2.流水線操作 3.專用的硬件乘法器 4.獨立的DMA總線和控制器 5.移位 6.溢出 7.數(shù)據(jù)(程序)地址發(fā)生器(DAG) 8.等待狀態(tài)發(fā)生器(WSGR) 9.特殊的DSP指令,1、改進的哈佛結(jié)構(gòu),馮諾依曼( Von Neuman )結(jié)構(gòu),改進的哈佛( Harvard )結(jié)構(gòu),程序與數(shù)據(jù)存儲空間分開,各有獨立的地址總線和數(shù)據(jù)總線,取指和讀數(shù)可以同時進行,從而提高速度,目前
2、的水平已達到90億次浮點運算/秒(9000MFLOPS) MIPS-Million Instruction Per Second MFLOPS-Million Floating Operation Per Second,采用馮.諾依曼結(jié)構(gòu)的處理器,TMS320C2000器件內(nèi)部有6條16位總線。 (1)PAB(程序地址總線):提供讀、寫程序存儲器的地址。 (2)DRAB(數(shù)據(jù)讀地址總線):提供讀數(shù)據(jù)存儲器的地址。 (3)DWAB(數(shù)據(jù)寫地址總線):提供寫數(shù)據(jù)存儲器的地址。 (4)PRDB(程序讀總線):將指令代碼、立即操作數(shù)和表信息從程序存儲器傳送到CPU。 (5)DRDB(數(shù)據(jù)讀總線):將數(shù)
3、據(jù)從數(shù)據(jù)存儲器傳送到中央算術(shù)邏輯單元(CALU)和輔助寄存器算術(shù)單元(ARAU)。 (6)DWEB(數(shù)據(jù)寫總線):將數(shù)據(jù)寫入程序存儲器和數(shù)據(jù)存儲器。,總線結(jié)構(gòu),ROM/Flash,SARAM,B0DARAM,B1, B2DARAM,Memory-MappedRegisters,External address bus,External data bus,Control Bus,On-ChipPeripherals/Registers,多總線:片內(nèi)多條數(shù)據(jù)、地址和控制總線。,存儲器結(jié)構(gòu) 多數(shù)DSP采用了哈佛結(jié)構(gòu),將存儲器空間劃分成兩個,分別存儲程序和數(shù)據(jù)。它們有兩組總線連接到處理器核,允許同時對
4、它們進行訪問。 這種安排將處理器存貯器的帶寬加倍,更重要的是同時為處理器核提供數(shù)據(jù)與指令。在這種布局下,DSP得以實現(xiàn)單周期的MAC指令。 還有一個問題,即現(xiàn)在典型的高性能MCU實際上已包含兩個片內(nèi)高速緩存,一個是數(shù)據(jù),一個是指令,它們直接連接到處理器核,以加快運行時的訪問速度。 從物理上說,這種片內(nèi)的雙存儲器和總線的結(jié)構(gòu)幾乎與哈佛結(jié)構(gòu)的一樣了。然而從邏輯上說,兩者還是有重要的區(qū)別。,Harvard結(jié)構(gòu),程序與數(shù)據(jù)存儲空間分開,各有獨立的地址總線和數(shù)據(jù)總線,取指和讀數(shù)可以同時進行,從而提高速度,目前的水平已達到90億次浮點運算/秒(9000MFLOPS) MIPS-Million Instru
5、ction Per Second MFLOPS-Million Floating Operation Per Second,2、流水線操作(pipeline)管道,4級流水線,100,指令周期,101,102,103,104,105,106,順序執(zhí)行 ADD SUB ,MCU中采用串行操作,DSP是并行操作,3、專用獨立的硬件乘法器,在卷積、數(shù)字濾波、FFT、相關(guān)、矩陣運算等算法中,都有 A(k)B(nk)一類的運算,大量重復(fù)乘法和累加。,通用微處理器的CPU由ALU和CU組成,其算術(shù)運算和邏輯運算通過軟件來實現(xiàn),如加法需要10個機器周期,乘法是一系列的移位和加法,需要數(shù)十個機器周期。,DSP
6、由輸入定標(biāo),硬件乘法器,CALU和ARLU組成。最主要的是它具有專用的硬件乘法器,乘法可在一個指令周期內(nèi)完成,用MAC指令(取數(shù)、乘法、累加)在單周期內(nèi)完成。,4.獨立的DMA總線和控制器,通用CPU也有DMA,不是DSP所獨有的,但是通用CPU中DMA要占用CPU的數(shù)據(jù)總線,這時CPU實際上也就被掛起來了,CPU也就做不了其它事情了。 而DSP與獨立的DMA總線,完全是兩個概念。 DSP有一組或多組獨立的DMA總線,與CPU的程序、數(shù)據(jù)總線并行工作,在不影響CPU工作(不占用CPU總線)的條件下,DMA速度目前已達800Mbyte/s。 程序運算速度的提高,除了與CPU本身的速率有關(guān),還與需
7、要數(shù)據(jù)的供給快慢相關(guān)。 比如增加數(shù)據(jù)的吞吐率,才能匹配硬件乘法器等的工作速率。 控制器實際是DSP的DMA總線控制用。,5.移位,通用微處理器的移位,每調(diào)用一次移位指令移動1-bit。 DSP可以在一個機器周期內(nèi)左移或右移多個bit(速度更快),可以用來對數(shù)字定標(biāo),使之放大或縮小,以保證精度和防止溢出;還可以用來作定點數(shù)和浮點數(shù)之間的轉(zhuǎn)換(把指數(shù)移出來)。,6.溢出,通用CPU中,溢出發(fā)生后(已經(jīng)發(fā)生溢出了),才設(shè)置溢出標(biāo)志。當(dāng)不帶符號位時回繞。帶符號位時反相,帶來很大的誤差。 DSP把移位輸出的最高位(MSB)存放在一個位檢測狀態(tài)寄存器中,檢測到MSB=1時,(還未發(fā)生,可能將要發(fā)生)就通知
8、下一次會發(fā)生溢出,可以采取措施防止。,7.數(shù)據(jù)地址發(fā)生器(DAG),對于運算,數(shù)據(jù)的吞吐量,供給量快慢很重要,需要尋找數(shù)據(jù)地址。 在通用CPU中,數(shù)據(jù)地址的產(chǎn)生和數(shù)據(jù)的處理都由ALU來完成。 在DSP中,設(shè)置了專門的數(shù)據(jù)地址發(fā)生器(實際上是專門的ALU),來產(chǎn)生所需要的數(shù)據(jù)地址,節(jié)省公共ALU的時間。,8.等待狀態(tài)發(fā)生器(WSGR),對慢速的外部邏輯和存儲器接口訪問時,通過等待狀態(tài)來延遲CPU等待外部存儲器或外部端口的時間以便更好地響應(yīng)。,9、特殊的DSP指令,DMOV延遲操作 LTDLT、DMOV、APAC MACD LT、DMOV、MPY、APAC RPTK重復(fù)執(zhí)行,含有多功能指令,采用M
9、ACD指令,它在一個指令周期內(nèi)就能完成乘法,累加和數(shù)據(jù)移動3項功能,相當(dāng)于執(zhí)行了LT,DMOV,MPY和APAC4條指令。,Program / Data / I/O Buses,CAN,Program Flash 32K words,A/D Converter 10 bits, 16 channels,D(15-0),A(15-0),SPI,SCI,C2xx DSP Core,Data RAM 2.5K words,Peripheral Bus,WD Timer,Boot ROM 256 words,三、TMS320LF2407 : 高集成度的DSP控制器,CPU內(nèi)核,1、中央處理單元(CPU
10、),CPU的輸入定標(biāo)器、中央算術(shù)邏輯單元和乘法單元的功能框圖,輸入定標(biāo)單元 Input scaling section,乘法器單元 Multiplication section,中央算術(shù)邏輯單元 Central arithmetic logic section,(1)輸入定標(biāo)移位器 F240 x器件提供了一個輸入定標(biāo)移位器,該移位器將來自程序存儲器或數(shù)據(jù)存儲器的16位數(shù)據(jù)調(diào)整為32位數(shù)據(jù)送到中央算術(shù)邏輯單元(CALU)。因此其16位輸入與數(shù)據(jù)總線相連,32位輸出與CALU單元相連。由于輸入定標(biāo)移位器作為從程序/數(shù)據(jù)存儲空間到CALU間數(shù)據(jù)傳輸路徑的一部分,因此不會占用時鐘開銷。該移位器在算術(shù)定
11、標(biāo),以及在邏輯操作對屏蔽定位設(shè)置中非常有用。 輸入定標(biāo)移位器對輸入數(shù)據(jù)進行015位左移。左移時,輸出的最低有效位LSB段填0;最高有效位MSB根據(jù)狀態(tài)寄存器STl的SXM(符號擴展方式)位的值來決定是否需要進行符號擴展。當(dāng)SXM位為1時,高位進行符號擴展;當(dāng)SXM位為0時,高位填0。移位量由包含在指令字中的常量或由臨時寄存器TREG指定。由指令字指定的移位量允許用戶用特定的數(shù)據(jù)定標(biāo)或調(diào)整運算來得到特定的代碼?;谂R時寄存器TREG的移位允許動態(tài)調(diào)整數(shù)據(jù)定標(biāo)因子,從而可以適應(yīng)不同的系統(tǒng)要求。,(2)乘法器 F240 x系列DSP采用一個16X16位的硬件乘法器,可以在單個機器周期內(nèi)產(chǎn)生一個32位
12、乘積結(jié)果的有符號或無符號數(shù)。除了MPYU指令(無符號乘法指令),所有的乘法指令都執(zhí)行有符號的乘法操作。即被相乘的兩個數(shù)都作為2的補碼數(shù),而運算結(jié)果為一個32位的2的補碼數(shù)。乘法器接收兩個輸入:一個來自16位臨時寄存器(TREG);另一個通過數(shù)據(jù)讀總線(DRDB)來自數(shù)據(jù)存儲器,或通過程序讀總線(PRDB)來自程序存儲器。兩個輸入值相乘后,32位乘積結(jié)果存放在32位乘積寄存器(PREG)中。PREG的輸出連接到乘積定標(biāo)移位器(PSCALE),通過乘積定標(biāo)移位器,將乘積結(jié)果從PREG送到CALU或數(shù)據(jù)存儲器。,PSCALE乘積位移方式,注:Q31格式是一種二進制小數(shù)格式,該格式在二進制小數(shù)點的后面
13、有31個數(shù)字。,PSCALE對乘積結(jié)果采用4種乘積移位方式,移位方式由狀態(tài)寄存器STl的乘積移位方式位(PM)指定。這些移位方式對于執(zhí)行乘法累加操作,進行小數(shù)運算,或者進行小數(shù)乘積的調(diào)整都是很有用的。,乘積結(jié)果可以進行1位左移,以補償在兩個16位2的補碼數(shù)相乘(MPY指令)時產(chǎn)生的附加符號。在MPY指令中有1個短立即數(shù)(13位或者更少)時,左移4位操作可以消除1個16位數(shù)與1個13位立即數(shù),相乘所產(chǎn)生的4個附加的符號位。右移方式將乘積右移6位,使連續(xù)執(zhí)行128次乘法/累加運算而不會產(chǎn)生溢出。注意,PREG的內(nèi)容一直保持不變,其值被復(fù)制到乘積定標(biāo)移位器中,并在乘積定標(biāo)移位器中進行移位。,硬件乘法
14、器,(3)中央算術(shù)邏輯部分 主要構(gòu)成: 中央算術(shù)邏輯單元(CALU)實現(xiàn)大動態(tài)范圍內(nèi)的算術(shù)和邏輯運算; 32位累加器(ACC)接收來自CALU的輸出,并且可根據(jù)進位位(C)的值實現(xiàn)移位; 輸出定標(biāo)移位器將累加器的高位字和低位字在送入數(shù)據(jù)存儲器之前進行移位。,A、中央算術(shù)邏輯單元 中央算術(shù)邏輯單元實現(xiàn)許多算術(shù)和邏輯運算功能,且大多數(shù)的功能都只需1個時鐘周期。這些運算功能包括:16位加、16位減、布爾運算、位測試以及移位和旋轉(zhuǎn)功能。 由于CALU可以執(zhí)行布爾運算,因此使得控制器具有位操作功能。CALU的位移動和旋轉(zhuǎn)在累加器中完成。CALU之所以被稱為中央算術(shù)邏輯單元,是因為它是一個獨立的算術(shù)單元,
15、與后面要介紹的輔助寄存器算術(shù)單元(ARAU)在程序執(zhí)行時是完全不相關(guān)的兩個模塊。,CALU有兩個輸入:一個由累加器提供,另一個由乘積定標(biāo)移位器或輸人數(shù)據(jù)定標(biāo)移位器提供。當(dāng)CALU執(zhí)行完一次操作后,將結(jié)果送至32位累加器,由累加器對其結(jié)果進行移位。累加器的輸出連至32位輸出數(shù)據(jù)定標(biāo)移位器。經(jīng)過輸出數(shù)據(jù)定標(biāo)移位器,累加器的高、低16位字可分別被移位或存人數(shù)據(jù)寄存器。 對絕大多數(shù)指令,狀態(tài)寄存器STl的第10位符號擴展位(SXM)決定在CALU計算時,是否使用符號擴展:若SXM為0,符號擴展不使能;若SXM為1,則符號擴展使能。,B、32位累加器(ACC) 一旦CALU中的運算完成,其結(jié)果就被送至累
16、加器,并在累加器中執(zhí)行單個移位或循環(huán)操作。累加器的高位字和低位字中的任意一個可以被送至輸出定標(biāo)移位器。在此定標(biāo)移位后,又被存至數(shù)據(jù)存儲器。以下為一些與累加器有關(guān)的狀態(tài)位和轉(zhuǎn)移指令。,與累加器有關(guān)的狀態(tài)位有4個,它們是: 進位位(C)狀態(tài)寄存器STl的第9位。 溢出方式位(OVM)狀態(tài)寄存器ST0的第11位。OVM決定累加器如何反映算術(shù)運算的溢出。當(dāng)累加器處于溢出方式(OVM1)且有溢出發(fā)生時,累加器被填充下列兩個特定值之一:若為正溢出,則累加器被填充最大正數(shù)7FFFFFFFH;若為負溢出,則累加器被填充最大負數(shù)8000 0000H。當(dāng)OVM=0時,累加器中的結(jié)果正常溢出。 溢出標(biāo)志位(OV)狀
17、態(tài)寄存器ST0的第12位。當(dāng)未檢測到累加器輸出時,OV未被鎖存,其值為0;當(dāng)溢出發(fā)生時,OV置l且被鎖存。 測試控制標(biāo)志位(TC)狀態(tài)寄存器STl的第11位。根據(jù)被測試位的值,該位被置0或1。 與累加器有關(guān)的轉(zhuǎn)移指令大都取決于位C、OV、TC的狀態(tài)和累加器的數(shù)值。,C、輸出定標(biāo)移位器 輸出定標(biāo)移位器存儲指令中,指定的位數(shù)將累加器輸出的內(nèi)容左移07位,然后用SACH或SACL指令將移位器的高位字或低位字存至數(shù)據(jù)存儲器中。在此過程中,累加器的內(nèi)容保持不變。,CALU(中心算術(shù)邏輯單元),(4)輔助寄存器算術(shù)單元 CPU中還包括輔助寄存器算術(shù)單元(ARAU),該算術(shù)單元完全獨立于中央算術(shù)邏輯單元。A
18、RAU的主要功能是在CALU操作的同時,執(zhí)行8個輔助寄存器(AR7AR0)上的算術(shù)運算。這8個輔助寄存器提供了強大而靈活的間接尋址能力,利用包含在輔助寄存器中的16位地址,可訪問64K數(shù)據(jù)空間中的任意單元。,為選擇一特定的輔助寄存器,須向狀態(tài)寄存器ST0中的3位輔助寄存器指針(ARP)中裝入07的數(shù)值。可通過MAR指令或LST指令把裝載ARP作為主要操作來執(zhí)行,也可通過任何支持間接尋址的指令把裝載ARP作為輔操作來執(zhí)行。其中MAR指令僅用于修改輔助寄存器和ARP,而LST指令可通過數(shù)據(jù)讀總線DRDB把一個數(shù)據(jù)存儲器的值裝入ST0。,由ARP所指定的寄存器被當(dāng)作當(dāng)前輔助寄存器或當(dāng)前AR。在一條指
19、令的執(zhí)行過程中,當(dāng)前輔助寄存器存放被訪問的數(shù)據(jù)存儲器的地址。若指令需要從數(shù)據(jù)存儲器讀數(shù),則ARAU將該地址送至數(shù)據(jù)讀地址總線DRAB;若指令需要向數(shù)據(jù)存儲器寫數(shù),則ARAU將該地址送至數(shù)據(jù)寫地址總線DWAB。當(dāng)指令使用完該數(shù)據(jù)值以后,當(dāng)前輔助寄存器的內(nèi)容可以被ARAU增加或減小。ARAU可以實現(xiàn)無符號的16位算術(shù)運算。,ARAU和輔助寄存器功能 ARAU可執(zhí)行下述操作: (1)通過執(zhí)行任何1條支持間接尋址的指令,將輔助寄存器值增加或減少1,也可以增加或減少1個變址值。 (2)將1個常數(shù)加至輔助寄存器值(ADRK指令),或從輔助寄存器值中減去1個常數(shù)(SBRK指令)。該常數(shù)取自指令字的8位最低有效位。 (3)比較AR0和當(dāng)前AR的內(nèi)容,然后將比較結(jié)果放至狀態(tài)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024桂林理工大學(xué)輔導(dǎo)員招聘筆試真題
- 9.團體標(biāo)準(zhǔn)《茗冠茶-綠茶加工技術(shù)規(guī)程》意見反饋表
- 2025年TFT-LCD用偏光片合作協(xié)議書
- ABC分類法在食品安全檢測中的高效管理與優(yōu)化策略
- 2025年湖南大學(xué)岳麓書院學(xué)工助理招聘考試筆試試題【答案】
- 2025年嘉興嘉睿人力招聘考試筆試試題【答案】
- 2025年事業(yè)單位招考綜合基礎(chǔ)知識全真模擬考試試題【答案】
- 2025年電火花成型機床項目發(fā)展計劃
- 干部教育培訓(xùn)工作調(diào)研報告
- 消費者購物行為對在線時尚品牌的影響
- 中國LNG加氣站行業(yè)發(fā)展分析及發(fā)展前景與投資研究報告2025-2028版
- 文化禮堂g管理制度
- 順昌縣土地綜合整治項目可行性研究報告
- 樂器演奏團行業(yè)深度調(diào)研及發(fā)展項目商業(yè)計劃書
- 2024年7月遼寧高中學(xué)業(yè)水平合格考地理試卷真題(含答案)
- 2025年中國郵政集團有限公司湖南省分公司人員招聘筆試備考試題參考答案詳解
- 凡幾PomPom設(shè)計生活季招商手冊
- 2025年全國統(tǒng)一高考數(shù)學(xué)試卷(全國一卷)含答案
- 會計領(lǐng)軍人才試題及答案
- 2025年 呼倫貝爾農(nóng)墾集團公司招聘筆試試卷附答案
- 基礎(chǔ)護理學(xué)練習(xí)題庫(含參考答案)
評論
0/150
提交評論