




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Two main goals of software optimisation Faster execution time. Small code size Trade off between the two goals第1頁(yè)/共46頁(yè)第一頁(yè),共46頁(yè)。Basic knowledge To implement efficient software, the programmer must be familiar with: Processor architecture. Programming language (C, assembly or linear assembly). The cod
2、e generation tools (compiler, assembler and linker).第2頁(yè)/共46頁(yè)第二頁(yè),共46頁(yè)。Code Optimisation ProcedureO ptim ise A lgorithmP rogram in C and com pile w ithoutany optim isationC odeF unctioning?M ake thenecessarycorrection(s)P rofile C odeR esultS atisfactory?U se intrinsicsP rofile C odeR esultS atisfacto
3、ry?S et n=0 (-O n)C om pile code w ith-O n optionC odeF unctioning?M ake thenecessarycorrection(s)P rofile C odeR esultS atisfactory?N 3?NNNYNNNN o furtheroptim isation isrequiredYN o furtheroptim isation isrequiredYP ass to nextstep ofoptim isaion(N =N +1)yN o furtheroptim isation isrequiredIdentif
4、y C odeF unctions to be furtheroptim ised fromP rofiling R esultC onvert code needingoptim isation to linearassem blyC odeF unctioning?M ake thenecessarycorrection(s)R esultS atisfactory?N o furtheroptim isation isrequiredW rite code in handassem blyYNYNYY第3頁(yè)/共46頁(yè)第三頁(yè),共46頁(yè)。軟件(run jin)優(yōu)化要點(diǎn) 1個(gè)時(shí)鐘周期內(nèi)讓盡可能
5、多的功能單元在執(zhí)行指令。趨近8*主頻(MHz) MIPS 前提:滿足各種資源限制(xinzh)(resource bound) 途徑:(1)資源合理分配、充分使用(2)算法映射結(jié)構(gòu) DSP適合對(duì)大量數(shù)據(jù)做相同的運(yùn)算第4頁(yè)/共46頁(yè)第四頁(yè),共46頁(yè)。軟件(run jin)優(yōu)化要點(diǎn)(續(xù)) 相同的工作放在一起(yq)完成,形成循環(huán),便于軟件流水。 充分利用指令局部性和數(shù)據(jù)局部性的特點(diǎn)Cache第5頁(yè)/共46頁(yè)第五頁(yè),共46頁(yè)。優(yōu)化的3個(gè)層次(cngc) 1. 手工匯編優(yōu)化 2. 線性匯編優(yōu)化 3. C語(yǔ)言級(jí)的優(yōu)化 2&3 和編譯器交流:Feedback of loop資源分配情況設(shè)置-k編譯
6、器選項(xiàng), 保留asm文件compilerassembly目的: 軟件(run jin)流水第6頁(yè)/共46頁(yè)第六頁(yè),共46頁(yè)。C6000手工(shugng)匯編語(yǔ)言優(yōu)化 并行指令 填充延遲間隙 展開(kāi)(zhn ki)循環(huán) 存取帶寬優(yōu)化(使用LDW/LDDW) 軟件流水第7頁(yè)/共46頁(yè)第七頁(yè),共46頁(yè)。使用(shyng)(shyng)并行指令n哪些(nxi)指令可以并行?第8頁(yè)/共46頁(yè)第八頁(yè),共46頁(yè)。并行(bngxng)指令n哪些指令(zhlng)可以并行?n(1)兩條取指令(zhlng)并行:n 放“|”在第二個(gè)ldh前n .d1改為.d2,A改為B第9頁(yè)/共46頁(yè)第九頁(yè),共46頁(yè)。填充(ti
7、nchng)延遲間隙nNOP:相當(dāng)于未優(yōu)化n為了消除NOP,如何(rh)調(diào)整指令順序?第10頁(yè)/共46頁(yè)第十頁(yè),共46頁(yè)。填充(tinchng)延遲間隙Sub和b指令(zhlng)移到ldh指令(zhlng)后:LD的nop由4降為2B的nop被消除第11頁(yè)/共46頁(yè)第十一頁(yè),共46頁(yè)。填充延遲間隙(jin x)優(yōu)化結(jié)果第12頁(yè)/共46頁(yè)第十二頁(yè),共46頁(yè)。循環(huán)(xnhun)代碼展開(kāi)舉例第13頁(yè)/共46頁(yè)第十三頁(yè),共46頁(yè)。循環(huán)展開(kāi): 減少(jinsho)B的開(kāi)銷, 但增加代碼尺寸n循環(huán)次數(shù)減少(jinsho)一半第14頁(yè)/共46頁(yè)第十四頁(yè),共46頁(yè)。字長(zhǎng)(z chn)優(yōu)化使用(shyng)字
8、訪問(wèn)半字?jǐn)?shù)據(jù)使用(shyng)雙字字訪問(wèn)字?jǐn)?shù)據(jù)第15頁(yè)/共46頁(yè)第十五頁(yè),共46頁(yè)。使用(shyng)LDH的點(diǎn)積第16頁(yè)/共46頁(yè)第十六頁(yè),共46頁(yè)。使用(shyng)LDW進(jìn)行優(yōu)化第17頁(yè)/共46頁(yè)第十七頁(yè),共46頁(yè)。使用(shyng)LDW/MPYH第18頁(yè)/共46頁(yè)第十八頁(yè),共46頁(yè)。軟件(run jin)流水 產(chǎn)生高性能循環(huán)代碼 執(zhí)行并行指令 填充(tinchng)延遲間隙 功能單元使用最大化 由開(kāi)發(fā)工具產(chǎn)生 由編譯器選項(xiàng)-o2或o3引入 匯編優(yōu)化器/C優(yōu)化器產(chǎn)生第19頁(yè)/共46頁(yè)第十九頁(yè),共46頁(yè)。代碼(di m)舉例 這個(gè)循環(huán)執(zhí)行(zhxng)5次需要多少周期? (不考慮延遲間隙
9、) 周期第20頁(yè)/共46頁(yè)第二十頁(yè),共46頁(yè)。非流水(lishu)代碼第21頁(yè)/共46頁(yè)第二十一頁(yè),共46頁(yè)。流水(lishu)代碼第22頁(yè)/共46頁(yè)第二十二頁(yè),共46頁(yè)。軟件流水(lishu)中的術(shù)語(yǔ)填充(建立循環(huán))循環(huán)(單周期循環(huán)3次迭代)排空(完成最后(zuhu)操作)第23頁(yè)/共46頁(yè)第二十三頁(yè),共46頁(yè)。流水(lishu)代碼第24頁(yè)/共46頁(yè)第二十四頁(yè),共46頁(yè)。軟件流水(lishu)步驟1 . 用C語(yǔ)言實(shí)現(xiàn)算法并驗(yàn)證1 . 寫(xiě)C6x線性匯編代碼1 . 畫(huà)相關(guān)圖1 . 分配(fnpi)功能單元和寄存器1 . 建編排表1 . 將編排表轉(zhuǎn)換為C6x匯編代碼第25頁(yè)/共46頁(yè)第二十五頁(yè),
10、共46頁(yè)。第一步:用C語(yǔ)言實(shí)現(xiàn)算法(sun f)并驗(yàn)證第26頁(yè)/共46頁(yè)第二十六頁(yè),共46頁(yè)。第二步:寫(xiě)C62xx線性匯編(hubin)代碼線性匯編不需要指出和考慮(kol):功能單元寄存器延遲間隙并行指令第27頁(yè)/共46頁(yè)第二十七頁(yè),共46頁(yè)。簡(jiǎn)單(jindn)估計(jì)指令功能單元每周期可使用數(shù)目需要數(shù)目LDH,LDH.D22MPY.M21B.S21ADD,SUB.L(.D/.S)2(2-6)2第28頁(yè)/共46頁(yè)第二十八頁(yè),共46頁(yè)。第三步:畫(huà)相關(guān)(xinggun)圖第29頁(yè)/共46頁(yè)第二十九頁(yè),共46頁(yè)。畫(huà)相關(guān)(xinggun)圖步驟:1 、畫(huà)節(jié)點(diǎn)(包括:指令、結(jié)果、通路)1 、在通路旁(l
11、pn)標(biāo)出父指令執(zhí)行周期1 、安排功能單元1 安排必須的功能單元1 節(jié)點(diǎn)分配到A、B兩側(cè)1 對(duì)所有節(jié)點(diǎn)分配功能單元平分.D、.S、.M最小化交叉通路(tngl)平衡功能單元仲裁第30頁(yè)/共46頁(yè)第三十頁(yè),共46頁(yè)。畫(huà)點(diǎn)積相關(guān)(xinggun)圖1. 畫(huà)節(jié)點(diǎn)(1)第31頁(yè)/共46頁(yè)第三十一頁(yè),共46頁(yè)。畫(huà)點(diǎn)積相關(guān)(xinggun)圖1. 畫(huà)節(jié)點(diǎn)(2)循環(huán)傳遞(chund)通路第32頁(yè)/共46頁(yè)第三十二頁(yè),共46頁(yè)。畫(huà)點(diǎn)積相關(guān)(xinggun)圖1. 畫(huà)節(jié)點(diǎn)(3)第33頁(yè)/共46頁(yè)第三十三頁(yè),共46頁(yè)。畫(huà)點(diǎn)積相關(guān)圖2. 標(biāo)出父指令(zhlng)執(zhí)行周期第34頁(yè)/共46頁(yè)第三十四頁(yè),共46頁(yè)。畫(huà)點(diǎn)積
12、相關(guān)(xinggun)圖3. 安排功能單元(1)第35頁(yè)/共46頁(yè)第三十五頁(yè),共46頁(yè)。畫(huà)點(diǎn)積相關(guān)(xinggun)圖3. 安排功能單元(2)第36頁(yè)/共46頁(yè)第三十六頁(yè),共46頁(yè)。畫(huà)點(diǎn)積相關(guān)圖3. 安排功能(gngnng)單元(3)第37頁(yè)/共46頁(yè)第三十七頁(yè),共46頁(yè)。第四步:分配(fnpi)功能單元 根據(jù)功能單元和交叉通路的使用(shyng),可在單周期循環(huán)內(nèi)編排這些指令。第38頁(yè)/共46頁(yè)第三十八頁(yè),共46頁(yè)。第四步:分配(fnpi)寄存器第39頁(yè)/共46頁(yè)第三十九頁(yè),共46頁(yè)。第五步:建編排(binpi)表(1)第40頁(yè)/共46頁(yè)第四十頁(yè),共46頁(yè)。循環(huán)(xnhun)填充長(zhǎng)度 抽出最長(zhǎng)數(shù)據(jù)通路 計(jì)算長(zhǎng)度: 5+2+1=8周期 編排表列出0-7周期 填充(tinchng):第0-6周期 循環(huán):第7周期編排(binpi)周期057第41頁(yè)/共46頁(yè)第四十一頁(yè),共46頁(yè)。填寫(xiě)指令(zhlng)建議l 從最長(zhǎng)數(shù)據(jù)通路開(kāi)始l 盡可能早開(kāi)始(第0周期)l 一旦確定(qudng)指令執(zhí)行的周期,在這以后的周期內(nèi),連續(xù)發(fā)生各次迭代l 倒推跳轉(zhuǎn)和循環(huán)計(jì)數(shù)指令的發(fā)生周期第42頁(yè)/共46頁(yè)第四十二頁(yè),共46頁(yè)。第五步:建編排(
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 水泥廠燃料油供應(yīng)居間合同
- 二零二五年度特色小鎮(zhèn)辦公空間租賃合同
- 接房合同范本
- 2025年中國(guó)推土機(jī)鏈軌市場(chǎng)調(diào)查研究報(bào)告
- 機(jī)器開(kāi)發(fā)合同范本
- 2025年中國(guó)多功能來(lái)電顯示木貝雕工藝電話市場(chǎng)調(diào)查研究報(bào)告
- 馬術(shù)演出合同范本
- 2025年中國(guó)圓柱式空氣過(guò)濾器市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)半導(dǎo)體激光測(cè)距儀市場(chǎng)調(diào)查研究報(bào)告
- 閥門(mén)配件采購(gòu)合同范本
- 臘八粥 第一課時(shí)自學(xué)導(dǎo)學(xué)單
- 心靈手巧織美好-精美掛件我會(huì)編 (教案)-二年級(jí)下冊(cè)勞動(dòng)浙教版
- IPO項(xiàng)目律師盡職調(diào)查查驗(yàn)計(jì)劃表模版
- 醫(yī)院信息系統(tǒng)HIS知識(shí)培訓(xùn)教學(xué)課件-HIS的主要內(nèi)容
- 經(jīng)濟(jì)法通論債權(quán)法總論
- 合成聚氨酯原料及助劑生產(chǎn)項(xiàng)目
- 鼻部整形隆鼻術(shù)精選PPT
- 微信個(gè)人簡(jiǎn)歷
- 軟件測(cè)試jmeter中英文對(duì)照
- 反假貨幣培訓(xùn)考試題庫(kù)-相關(guān)法律法規(guī)及規(guī)范性文件知識(shí)考題
- 鉆井安全操作規(guī)程中英文
評(píng)論
0/150
提交評(píng)論