C60007數(shù)據(jù)訪問ppt課件_第1頁
C60007數(shù)據(jù)訪問ppt課件_第2頁
C60007數(shù)據(jù)訪問ppt課件_第3頁
C60007數(shù)據(jù)訪問ppt課件_第4頁
C60007數(shù)據(jù)訪問ppt課件_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第七講 數(shù)據(jù)訪問與程序控制學(xué)習(xí)內(nèi)容一、定界(alignment)二、操作數(shù)數(shù)據(jù)交叉通路、地址交叉通路、條件交叉通路指針操作數(shù)與循環(huán)緩存區(qū)有限字長效應(yīng)問題三、程序控制子程序調(diào)用與返回程序跳轉(zhuǎn)四、實驗一、定界定界:數(shù)據(jù)或代碼在存儲器內(nèi)的開始地址有一定要求常數(shù)變量代碼數(shù)據(jù)定界原則 數(shù)據(jù)類型決定:定界、存取指令數(shù)據(jù)類型數(shù)據(jù)類型定界定界(開始存放地址開始存放地址)LD/ST指令指令.byte無限制無限制LDB/STB.short/.half2的整數(shù)倍的整數(shù)倍(1 LSB=0)LDH/STH.word/.int4的整數(shù)倍的整數(shù)倍word(2 LSB=00)LDW/STW常數(shù)定界編譯器會根據(jù)常數(shù)類型自動定界

2、為避免存儲器浪費,定義時應(yīng)遵循先大后小的原則v .short 20h變量定界省去省去alignment域域?var_name.usect “sect_name”, #bytes, alignment.bss var_name, #bytes, alignment定界信息可選定界信息可選錯誤定界數(shù)據(jù)類型要與存取指令一致數(shù)據(jù)定界練習(xí)1) 定義一個16位長的short類型變量m.usect “vars”, _, _2) 定義一個word類型數(shù)組,元素個數(shù)20n.usect “vars”, _, _代碼定界 連接器自動按照連接器自動按照256 bits定界定界 代碼的起始存放地址必須是代碼的起始存放地

3、址必須是256的整數(shù)倍,即的整數(shù)倍,即8 LSB = 0。定界小結(jié) 數(shù)據(jù)類型決定定界方式和訪問方式數(shù)據(jù)類型決定定界方式和訪問方式 定義變量時必須填寫定界信息定義變量時必須填寫定界信息 為節(jié)省存儲空間,應(yīng)按照為節(jié)省存儲空間,應(yīng)按照word, short, byte的順序定義數(shù)據(jù)的順序定義數(shù)據(jù) 無需考慮常量的定界問題:無需考慮常量的定界問題: m .byte10 無需考慮代碼的定界問題無需考慮代碼的定界問題二、操作數(shù)操作數(shù):交叉通路Cross Paths 數(shù)據(jù)交叉通路(.L, .S, .M) 地址交叉通路(.D) 條件交叉通路(所有單元) 條件寄存器:A1, A2, B0, B1, B2數(shù)據(jù)交叉通

4、路地址交叉通路CPU內(nèi)部總線地址交叉通路指針寄存器來自對側(cè)寄存器LDW.D1 *A0, A5LDW.D1 *A0, B5地址交叉通路LDW .D1 *PTR, RegSTW .D1 Reg, *PTR數(shù)據(jù)寄存器指令功能單元和指針寄存器必須同側(cè)數(shù)據(jù)寄存器如果與功能單元不同側(cè),即使用了地址交叉通道在并行存取指令中使用地址交叉通路的限制標(biāo)準(zhǔn)并行存取指令使用地址交叉通路的并行存取指令必須同時使用地址交叉通路條件交叉通路 所有指令都可以是條件指令 條件寄存器可以與功能單元不同側(cè),而且不占用數(shù)據(jù)交叉通路或地址交叉通路 例子 B2 ADD.L1x A2, B0, A4 !A1 MPY.M2xB0, A5,

5、B4交叉通路小結(jié) 數(shù)據(jù)交叉通路數(shù)據(jù)交叉通路 只能用于源寄存器只能用于源寄存器 一個執(zhí)行包內(nèi),每側(cè)的數(shù)據(jù)交叉通路只能用一次一個執(zhí)行包內(nèi),每側(cè)的數(shù)據(jù)交叉通路只能用一次 地址交叉通路地址交叉通路 指針寄存器與功能單元必須在同側(cè)指針寄存器與功能單元必須在同側(cè) 只能用于只能用于LD/ST指令的數(shù)據(jù)寄存器指令的數(shù)據(jù)寄存器 并行存取指令:只能都使用或都不使用地址交叉通路并行存取指令:只能都使用或都不使用地址交叉通路 條件交叉通路條件交叉通路 沒有限制沒有限制交叉通路練習(xí)下面的指令中使用了哪些交叉通路?請判斷上面的指令是否能通過編譯?操作數(shù):指針操作數(shù)語法說明指針修改*R指針無*+Rdisp預(yù)偏移無*-Rdi

6、sp預(yù)偏移無*+Rdisp預(yù)偏移有*-Rdisp預(yù)偏移有*R+disp后偏移有*R- disp后偏移有 偏移地址disp是5bit常量或寄存器 若基地址寄存器為B14/B15, 則偏移地址可以是15bit常量 指針按照線性尋址修改,或采用循環(huán)尋址修改循環(huán)尋址在卷積、相關(guān)、FIR等應(yīng)用中用來實現(xiàn)一個或兩個滑動窗。x(N-1)x(N-2).x(1)x(0)a(0)a(1)a(2).a(N-1)輸入數(shù)據(jù)x(n)循環(huán)尋址指針開始位置新樣本替換x(N-1)濾波器系數(shù)線性尋址舊新10)()()(Nmmnamxny一個采樣周期后x(0)x(N-1)x(N-2).x(1)a(0)a(1).a(N-2)a(N-

7、1)指針開始位置舊新兩個采樣周期后指針開始位置x(1)x(0)x(N-1).x(2)a(0)a(1).a(N-2)a(N-1)舊新循環(huán)尋址指針的修改 8個寄存器可以用于循環(huán)尋址 A4A7,B4B7 指針的使用與線性尋址指針相似,只是地址修改稍有不同 只能在循環(huán)緩存區(qū)的地址范圍內(nèi)修改 若指針修改后超出循環(huán)緩存區(qū),則地址指針“繞回起始地址循環(huán)尋址:地址指針的修改限制在一個存儲區(qū)域,超出范圍后指針內(nèi)的地址繞回起始地址循環(huán)尋址的使用AMR低16位設(shè)置尋址模式方式闡明00線性(默許)01循環(huán)(BK0說明循環(huán)緩存區(qū)長度)10循環(huán)(BK0說明循環(huán)緩存區(qū)長度)11保管循環(huán)尋址的使用AMR高16位設(shè)置循環(huán)緩存區(qū)

8、長度循環(huán)緩存區(qū)長度循環(huán)緩存區(qū)長度(字節(jié)字節(jié))2N+1N循環(huán)緩存區(qū)長度循環(huán)緩存區(qū)長度00000200111256(27+1=256)111114G(231+1=4G)設(shè)置寄存器AMR例子MVC在控制寄存器與通用寄存器之間傳遞數(shù)據(jù),使用功能單元.S2循環(huán)尋址練習(xí).sect“myData”.11111111,22.sect“myCode”MVK .S10001h, A2MVKLH .S10003h, A2MVC .S2x A2, AMRMVK .S1 100h, A4LDW .D1 *A4+2, A1LDW .D1 *A4+3, A1設(shè)置AMR操作數(shù):有限字長效應(yīng)問題 采用Q1

9、5表示操作數(shù),乘法不會有溢出問題 加法有溢出問題加性溢出的解決方法1. 選擇飽和運算指令(Saturation),并檢查運算結(jié)果是否發(fā)生運算結(jié)果飽和。2. 使用警戒位(guard bits)。3. 使用非增益系統(tǒng)(系統(tǒng)增益1)1.飽和運算1) 使用飽和運算指令編程2) 檢查結(jié)果是否發(fā)生飽和檢查運算結(jié)果是否發(fā)生飽和SAT位的提取和清除提取去除飽和運算小結(jié) 飽和運算造成非線性結(jié)果 使用指令SADD, SSUB, SAT, SMPY時,如果結(jié)果發(fā)生飽和,則控制狀態(tài)寄存器CSR的SAT位被置位 飽和位SAT置位后,在下次使用前要清零2.使用警戒位用long 40實現(xiàn)警戒位如何使用40bit結(jié)果? 結(jié)果存入存儲器(40位結(jié)果無法直接作乘法器輸入) 指令SAT把40bits結(jié)果轉(zhuǎn)換為32bits(轉(zhuǎn)換結(jié)果可能會發(fā)生飽和)3.使用非增益系統(tǒng)如果系統(tǒng)有界,并且是線性的,則最后結(jié)果不會發(fā)生溢出。y=H.x假設(shè):|x|1, |H|1那么:|y|1非增益系統(tǒng)例子中間結(jié)果產(chǎn)生溢出正確的最后結(jié)果三、程序控制子程序調(diào)用與返回調(diào)用CALL前往RET跳轉(zhuǎn)指令 共有兩個跳轉(zhuǎn)指令 B 標(biāo)號 -相對跳轉(zhuǎn)-標(biāo)號與當(dāng)前地址的偏移限制在+/-220 B 寄存器-絕對跳轉(zhuǎn)-只能在.S2上執(zhí)行 跳轉(zhuǎn)指令及其延遲間隙不可中斷 5個延遲間隙實驗 實驗?zāi)?/p>

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論