版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、BIT/TI,第七講 連接器,1,第七講 數(shù)據(jù)訪問與程序控制,BIT/TI,第七講 連接器,2,學(xué)習(xí)內(nèi)容,一、定界(alignment)二、操作數(shù)數(shù)據(jù)交叉通路、地址交叉通路、條件交叉通路指針操作數(shù)與循環(huán)緩存區(qū)有限字長(zhǎng)效應(yīng)問題三、程序控制子程序調(diào)用與返回程序跳轉(zhuǎn)四、實(shí)驗(yàn),,,,,BIT/TI,第七講 連接器,3,一、定界,定界:數(shù)據(jù)或代碼在存儲(chǔ)器內(nèi)的開始地址有一定要求常數(shù)變量代碼,BIT/TI,第七講 連接器,4,數(shù)
2、據(jù)定界原則,數(shù)據(jù)類型決定:定界、存取指令,數(shù)據(jù)類型定界(開始存放地址)LD/ST指令.byte無(wú)限制LDB/STB.short/.half2的整數(shù)倍(1 LSB=0)LDH/STH.word/.int4的整數(shù)倍word(2 LSB=00)LDW/STW,BIT/TI,第七講 連接器,5,常數(shù)定界,編譯器會(huì)根據(jù)常數(shù)類型自動(dòng)定界,為避免存儲(chǔ)器浪費(fèi),定義時(shí)應(yīng)遵循先大后小的原則,,v .short 20h
3、,BIT/TI,第七講 連接器,6,變量定界,省去alignment域?,,var_name.usect“sect_name”, #bytes, alignment.bss var_name, #bytes, alignment,定界信息可選,,,BIT/TI,第七講 連接器,7,錯(cuò)誤定界,BIT/TI,第七講 連接器,8,數(shù)據(jù)類型要與存取指令一致,BIT/TI,第七講 連接器,9,數(shù)據(jù)定界練習(xí),1) 定義一個(gè)16位長(zhǎng)的s
4、hort類型變量m.usect“vars”, __, __2) 定義一個(gè)word類型數(shù)組,元素個(gè)數(shù)20n.usect“vars”, __, __,BIT/TI,第七講 連接器,10,代碼定界,連接器自動(dòng)按照256 bits定界代碼的起始存放地址必須是256的整數(shù)倍,即8 LSB = 0。,,BIT/TI,第七講 連接器,11,定界小結(jié),數(shù)據(jù)類型決定定界方式和訪問方式定義變量時(shí)必須填寫定界信息為節(jié)省存儲(chǔ)空間,應(yīng)按
5、照word, short, byte的順序定義數(shù)據(jù)無(wú)需考慮常量的定界問題:m.byte10無(wú)需考慮代碼的定界問題,,BIT/TI,第七講 連接器,12,二、操作數(shù),BIT/TI,第七講 連接器,13,操作數(shù):交叉通路-Cross Paths,數(shù)據(jù)交叉通路(.L, .S, .M)地址交叉通路(.D)條件交叉通路(所有單元)條件寄存器:A1, A2, B0, B1, B2,BIT/TI,第七講 連接器,14,BIT/TI,
6、第七講 連接器,15,數(shù)據(jù)交叉通路,BIT/TI,第七講 連接器,16,地址交叉通路,CPU內(nèi)部總線,地址交叉通路-指針寄存器來(lái)自對(duì)側(cè)寄存器,LDW.D1 *A0, A5LDW.D1 *A0, B5,BIT/TI,第七講 連接器,17,地址交叉通路,LDW .D1 *PTR, RegSTW .D1 Reg, *PTR,,,數(shù)據(jù)寄存器,指令功能單元和指針寄存器必須同側(cè)數(shù)據(jù)寄存器如果與功能單元不同側(cè),即使用了地址交叉通道,BIT
7、/TI,第七講 連接器,18,在并行存取指令中使用地址交叉通路的限制,BIT/TI,第七講 連接器,19,條件交叉通路,所有指令都可以是條件指令條件寄存器可以與功能單元不同側(cè),而且不占用數(shù)據(jù)交叉通路或地址交叉通路例子[B2] ADD.L1xA2, B0, A4[!A1] MPY.M2xB0, A5, B4,BIT/TI,第七講 連接器,20,交叉通路-小結(jié),數(shù)據(jù)交叉通路只能用于源寄存器一個(gè)執(zhí)行包內(nèi),每側(cè)的數(shù)據(jù)交
8、叉通路只能用一次地址交叉通路指針寄存器與功能單元必須在同側(cè)只能用于LD/ST指令的數(shù)據(jù)寄存器并行存取指令:只能都使用或都不使用地址交叉通路條件交叉通路沒有限制,BIT/TI,第七講 連接器,21,交叉通路-練習(xí),下面的指令中使用了哪些交叉通路?,請(qǐng)判斷上面的指令是否能通過(guò)編譯?,,BIT/TI,第七講 連接器,22,操作數(shù):指針操作數(shù),偏移地址disp是5bit常量或寄存器 若基地址寄存器為B14/B15, 則偏移地址可
9、以是15bit常量 指針按照線性尋址修改,或采用循環(huán)尋址修改,BIT/TI,23,循環(huán)尋址,在卷積、相關(guān)、FIR等應(yīng)用中用來(lái)實(shí)現(xiàn)一個(gè)或兩個(gè)滑動(dòng)窗。,BIT/TI,第七講 連接器,24,一個(gè)采樣周期后,BIT/TI,第七講 連接器,25,兩個(gè)采樣周期后,BIT/TI,第七講 連接器,26,循環(huán)尋址指針的修改,8個(gè)寄存器可以用于循環(huán)尋址A4-A7,B4-B7指針的使用與線性尋址指針相似,只是地址修改稍有不同只能在循環(huán)緩存區(qū)的地址范
10、圍內(nèi)修改若指針修改后超出循環(huán)緩存區(qū),則地址指針“繞回”起始地址,循環(huán)尋址:地址指針的修改限制在一個(gè)存儲(chǔ)區(qū)域,超出范圍后指針內(nèi)的地址繞回起始地址,BIT/TI,第七講 連接器,27,循環(huán)尋址的使用-AMR低16位設(shè)置尋址模式,模式說(shuō)明00線性(默認(rèn))01循環(huán)(BK0說(shuō)明循環(huán)緩存區(qū)長(zhǎng)度)10循環(huán)(BK0說(shuō)明循環(huán)緩存區(qū)長(zhǎng)度)11保留,BIT/TI,第七講 連接器,28,循環(huán)尋址的使用-AMR高16位設(shè)置循環(huán)
11、緩存區(qū)長(zhǎng)度,循環(huán)緩存區(qū)長(zhǎng)度(字節(jié))=2N+1N循環(huán)緩存區(qū)長(zhǎng)度00000200111256(27+1=256)111114G(231+1=4G),BIT/TI,第七講 連接器,29,設(shè)置寄存器AMR-例子,MVC-在控制寄存器與通用寄存器之間傳遞數(shù)據(jù),使用功能單元.S2,BIT/TI,第七講 連接器,30,循環(huán)尋址-練習(xí),.sect“myData”.align16.int1111111
12、1,22....sect“myCode”MVK .S10001h, A2MVKLH .S10003h, A2MVC .S2x A2, AMRMVK .S1 100h, A4LDW .D1 *A4++[2], A1LDW .D1 *A4++[3], A1,,,,設(shè)置AMR,,BIT/TI,第七講 連接器,31,操作數(shù):有限字長(zhǎng)效應(yīng)問題,采用Q15表示操作數(shù),乘法不會(huì)有溢出問題
13、加法有溢出問題,BIT/TI,第七講 連接器,32,加性溢出的解決方法,1. 選擇飽和運(yùn)算指令(Saturation),并檢查運(yùn)算結(jié)果是否發(fā)生運(yùn)算結(jié)果飽和。2. 使用警戒位(guard bits)。3. 使用非增益系統(tǒng)(系統(tǒng)增益<1),BIT/TI,第七講 連接器,33,1.飽和運(yùn)算,,1) 使用飽和運(yùn)算指令編程2) 檢查結(jié)果是否發(fā)生飽和,BIT/TI,第七講 連接器,34,檢查運(yùn)算結(jié)果是否發(fā)生飽和-SAT位的提取和清除
14、,BIT/TI,第七講 連接器,35,飽和運(yùn)算小結(jié),飽和運(yùn)算造成非線性結(jié)果使用指令SADD, SSUB, SAT, SMPY時(shí),如果結(jié)果發(fā)生飽和,則控制狀態(tài)寄存器CSR的SAT位被置位飽和位SAT置位后,在下次使用前要清零,BIT/TI,第七講 連接器,36,2.使用警戒位,BIT/TI,第七講 連接器,37,用long 40實(shí)現(xiàn)警戒位,BIT/TI,第七講 連接器,38,如何使用40bit結(jié)果?,結(jié)果存入存儲(chǔ)器(40位結(jié)果無(wú)法直接
15、作乘法器輸入)指令SAT把40bits結(jié)果轉(zhuǎn)換為32bits(轉(zhuǎn)換結(jié)果可能會(huì)發(fā)生飽和),BIT/TI,第七講 連接器,39,3.使用非增益系統(tǒng),如果系統(tǒng)有界,并且是線性的,則最后結(jié)果不會(huì)發(fā)生溢出。y=H.x假設(shè):|x|<1, |H|<1則:|y|<1,BIT/TI,第七講 連接器,40,非增益系統(tǒng)例子,BIT/TI,第七講 連接器,41,三、程序控制-子程序調(diào)用與返回,調(diào)用-CALL,返回-RE
16、T,,,BIT/TI,第七講 連接器,42,跳轉(zhuǎn)指令,共有兩個(gè)跳轉(zhuǎn)指令B 標(biāo)號(hào)-相對(duì)跳轉(zhuǎn)-標(biāo)號(hào)與當(dāng)前地址的偏移限制在+/-220B 寄存器-絕對(duì)跳轉(zhuǎn)-只能在.S2上執(zhí)行跳轉(zhuǎn)指令及其延遲間隙不可中斷5個(gè)延遲間隙,BIT/TI,第七講 連接器,43,實(shí)驗(yàn),實(shí)驗(yàn)?zāi)康模壕C合掌握4,5,6,7章知識(shí),了解完整的匯編語(yǔ)言編程實(shí)驗(yàn)內(nèi)容30點(diǎn)點(diǎn)積的完整匯編語(yǔ)言編程:包括數(shù)據(jù)結(jié)構(gòu)和算法,以及程序復(fù)位、數(shù)據(jù)初始化,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 綠化程序控制
- 3程序控制邏輯
- 天車程序控制
- 質(zhì)量程序控制表
- +機(jī)程序控制系統(tǒng)
- 程序設(shè)計(jì)程序控制結(jié)構(gòu)與算法基礎(chǔ)
- 改變程序執(zhí)行方向程序控制結(jié)構(gòu)
- 繼電器程序控制(2)
- 質(zhì)量程序控制附表
- 質(zhì)量程序控制附表
- java-程序控制語(yǔ)句
- 第3章 程序控制結(jié)構(gòu)
- cnc程序控制管理辦法
- 秘密偵查程序控制研究.pdf
- 程序控制梯形圖.dwg
- 程序控制梯形圖.dwg
- 微程序控制器實(shí)驗(yàn)
- 程序控制梯形圖.dwg
- 實(shí)驗(yàn)2-程序控制結(jié)構(gòu)
- 程序控制梯形圖.dwg
評(píng)論
0/150
提交評(píng)論