DSP-芯片的原理與開發(fā)應用-課件-第4章-2-DSP的定點運算PPT文檔_第1頁
DSP-芯片的原理與開發(fā)應用-課件-第4章-2-DSP的定點運算PPT文檔_第2頁
DSP-芯片的原理與開發(fā)應用-課件-第4章-2-DSP的定點運算PPT文檔_第3頁
DSP-芯片的原理與開發(fā)應用-課件-第4章-2-DSP的定點運算PPT文檔_第4頁
DSP-芯片的原理與開發(fā)應用-課件-第4章-2-DSP的定點運算PPT文檔_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

DSP芯片原理與應用第6講DSP的定點運算1引言1定點DSP的數(shù)據(jù)存儲1引言目錄2定點DSP的加減法1引言CONTENTS3定點DSP的乘法4定點DSP的除法(option)1定點DSP的數(shù)據(jù)存儲TMS320C54/55x的兩個累加器:A、B主要功能:存放運算結果40位=8位保護位+高16位+低16位A(B)GA(B)HA(B)L8bit16bit16bit1定點DSP的數(shù)據(jù)存儲乘累加單元:MAC乘法器T:17*17乘法專用寄存器:17位T寄存器,存1個乘數(shù)乘累加單元內(nèi)部專用累加器:40位C54x的乘累加單元功能框圖1定點DSP的數(shù)據(jù)存儲RAM(SARAM、DARAM)ROM片內(nèi)、片外一般存儲器:16位地址000000000000000016bit1引言1定點DSP的數(shù)據(jù)存儲1引言目錄2定點DSP的加減法1引言CONTENTS3定點DSP的乘法4定點DSP的除法(option)2定點DSP的加減法001011014543+)0010101101011000882定點DSP的加減法0010110145+)10101011-8511011000-402定點DSP的加減法ADDA,B(A+BB)SUBA,B(A-BB)2定點DSP的加減法DADDA,B功能同ADD指令,對32位操作數(shù)進行運算DSUBA,B功能同SUB指令,對32位操作數(shù)進行運算2定點DSP的加減法溢出00111101+)01011011619110011000-1042定點DSP的加減法溢出計算結果超出數(shù)值表示范圍上溢出下溢出2定點DSP的加減法溢出處理將參與計算的數(shù)值統(tǒng)一減小一定倍數(shù),即用負Q值定標方式進行計算?結果的Q值怎樣確定2定點DSP的加減法溢出處理Q-1000111101+)0010110116191010010111502定點DSP的加減法溢出處理可以通過測試OVA或OVB位確定計算結果是否溢出。可自己確定處理方法。BC3240h,AOV2定點DSP的加減法溢出保護下溢出時,結果設定為負最大值在上溢出時,結果設定為正最大值;計算結果精度下降較大2定點DSP的加減法溢出保護001111016191+)010110111001100001111111-1271042定點DSP的加減法溢出保護TMS320C54/55x系列芯片中都有自動溢出保護功能SSBXRSBXOVMOVMOVM=1OVM=0注意:保護針對ALU中的低32位數(shù)據(jù)進行2定點DSP的加減法溢出保護OVM=10x7071h+0x7071h=0x0000E0E2h0x70710000h+0x70710000h=0xFFFFFFFFh需在AH部分進行16位數(shù)據(jù)相加,才能進行溢出保護2定點DSP的加減法溢出保護指令SATB執(zhí)行前執(zhí)行后B7123456789B007FFFFFFFOVBXOVB12定點DSP的加減法溢出處理DSP提供處理幫助溢出保護DSP提供功能指令溢出保護DSP提供功能2定點DSP的加減法小數(shù)相加?2.54+)13.36115.9012定點DSP的加減法小數(shù)點對齊00101101.00101011.22.5(Q1)4510.75(Q2)43+)33.252定點DSP的加減法小數(shù)點對齊左移00101101.022.5(Q1)22.5(Q2)+)00101011.10.75(Q2)11000000101111111..31.75(Q2)33.252定點DSP的加減法小數(shù)點對齊右移00101101.22.5(Q1)10.5(Q1)10.75(Q2)+)00101010.101000010.33(Q1)2定點DSP的加減法小數(shù)點對齊兩個進行加/減運算的數(shù)必須具有相同的Q值(小數(shù)點對齊)。若兩數(shù)的Q值不等,其中的一個必須進行轉換。高->低:結果精度降低,溢出風險減小低->高:結果精度高,容易溢出2定點DSP的加減法移位循環(huán)移位多移位ROARL每次帶進位位(C)循環(huán)位移一位對32位數(shù)據(jù)進行執(zhí)行后8bit的A(B)G位清02定點DSP的加減法移位循環(huán)移位算術移位多移位SFTAA,x,B-16<=x<=15x小于0,右移,否則左移運算對累加器A或B的40位數(shù)據(jù)進行受SXM位影響2定點DSP的加減法移位多移位算術移位邏輯移位SFTAAL,x,B-16<=x<=15x小于0,右移,否則左移運算對累加器A或B的40低32位數(shù)據(jù)進行位數(shù)據(jù)進行受空位補SXM位影響02定點DSP的加減法16位加減法32位加減法手動溢出處理自動溢出保護指令溢出保護Q值調(diào)整移位指令2定點DSP的加減法ADDDADDSUBDSUBSATROL(R)SFTASFTLOVMOVA(B)1引言1定點DSP的數(shù)據(jù)存儲1引言目錄2定點DSP的加減法1引言CONTENTS3定點DSP的乘法4定點DSP的除法(option)3定點DSP的乘法001023×)001100100010000000000000011063定點DSP的乘法11010101-35×)11111111011111110111111110001-153定點DSP的乘法1哈佛總線結構2流水線操作3456硬件乘法器無開銷循環(huán)高效的指令浮點/定點運算3定點DSP的乘法DSP中可用單指令進行乘法運算指令:MPY缺省的乘數(shù)放在輔助寄存器T中3定點DSP的乘法6006X000002A02A0007有效數(shù)值3定點DSP的乘法結果的符號由于補碼的最高位都為符號位,因此計算結果為32位,其低30位為有效數(shù)值位。運算后,將結果的數(shù)值左移1位,Q值加1,使得只有最高位為符號位,以提高計算結果的保存精度。3定點DSP的乘法結果的符號SSBXFRCTRSBXFRCTFRCT=1FRCT=0FRCT=1,乘法結果自動左移1位3定點DSP的乘法00000540546006XXFRCT=0000002A02A00072FRCT有效數(shù)值3定點DSP的乘法乘累加運算MACMACSmem,src(Smem)×(T)+(src)src結果受FRCT位的影響3定點DSP的乘法乘累加運算MAC*AR5+,A0000001000A000048E0000400T04000FRCT00100AR501011234010012343定點DSP的乘法乘累加運算MAC*AR5+,A0000001000A000091B000000048E0000400T040010FRCT100100AR501011234010012343定點DSP的乘法MASSQURSQURA3定點DSP的乘法00.10001.100102(Q2)3(Q1)0.51.5×)00100000000000001106(Q3)0.75.3定點DSP的乘法QQyXXD2xYYD2ZXYQxQyXD2YD2XDYD2(QxQy)QzZD23定點DSP的乘法截尾與舍入00110100101110001100001010010110?3定點DSP的乘法截尾與舍入00110100101110001100001010010110?3定點DSP的乘法截尾與舍入舍入001101001011100000110100101110011100001010010110+1MPYR3定點DSP的乘法80006006X000002A02A+0007000003202A00003定點DSP的乘法截尾與舍入完成截尾或舍入后,計算結果的Q值應減去163定點DSP的乘法定點整數(shù)的乘法定點小數(shù)的乘法結果左移1位MPYMPYRFRCT截尾與舍入T1引言1定點DSP的數(shù)據(jù)存儲1引言目錄2定點DSP的加減法1引言CONTENTS3定點DSP的乘法4定點DSP的除法(option)4定點DSP的除法7.87516)126112140128120112808004定點DSP的除法010000000001000001111110------101111100-----.1------101111000Q0Q201110000------1------1------1------001100000010000000000000001111110.------7.8754定點DSP的除法小數(shù)點定位問題4定點DSP的除法整數(shù)除法將被除數(shù)與除數(shù)的最高有效數(shù)值位對齊結果的Q值調(diào)整為:Q14+Q被除數(shù)-Q除數(shù)4定點DSP的除法整數(shù)除法有效位對齊EXPNORM對累加器操作,將累加器中將累加器中的數(shù)左移,移位數(shù)的擴展符號位數(shù)寫入寄存器數(shù)為寄存器T中的數(shù)T4定點DSP的除法1111111111111111111111111111111111001011EXPAAFFFFFFFFCB-53FFFFFFFFCB-53T0000001925NORMAATFFFFFFFFCB-53FF960000000019001911111111100101100000000000000000000000004定點DSP的除法整數(shù)除法1數(shù)值調(diào)整2移位試減3結果保存4Q值調(diào)整4定點DSP的除法整數(shù)除法0100000001111110------1.除數(shù)<被除數(shù)01.1111104定點DSP的除法整數(shù)除法0100000001111110------1.0.除數(shù)<>被除數(shù)01.11111000.100000010004定點DSP的除法整數(shù)除法進一步提高結果的精度:數(shù)值位對齊后,若被除數(shù)大于除數(shù),則被除數(shù)右移一位,結果前不添加符號位0。此時結果的Q值變?yōu)椋篞15+Q被除數(shù)-Q除數(shù)4定點DSP的除法整數(shù)除法問題:能否直接進行負數(shù)的除法計算?計算負數(shù)除法前應做哪些工作?4定點DSP的除法除法的C實現(xiàn)shortdiv_s(shortvar1,shortvar2){shortvar_out=0;shorti;IntL_num,L_denom;L_num=var1;L_denom=var2;for(i=0;i<15;i++){var_out<<=1;L_num<<=1;if(L_num>=L_denom){L_num=L_num-L_denom;var_out+=1;}}return(var_out);}4定點DSP的除法除法的C實現(xiàn)參與運算的數(shù)應為正數(shù),結果符號在除法計算前需判斷除數(shù)為0的情況;當除數(shù)與被除數(shù)相等時,結果直接為1;當被除數(shù)為0時,結果直接為0計算完成后再判斷加上4定點DSP的除法除法的DSP實現(xiàn)SUBC?SUBCSmem,AA-(Smem<<15)ALU若ALU>=0(ALU<<1)+1src否則(src<<1)src4定點DSP的除法除法的DSP實現(xiàn)????????SSBXSXMSTM#d-Qout,AR2LDd-Den,16,AMPYAd-NumABSASTHA,d-RemLDd-Num,AABSA??

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論