久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久


曙海教育集團(tuán)論壇DSP專區(qū)DSP6000系統(tǒng)開發(fā) → TMS320C6000嵌入式系統(tǒng)優(yōu)化編程的研究


  共有7563人關(guān)注過本帖樹形打印

主題:TMS320C6000嵌入式系統(tǒng)優(yōu)化編程的研究

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個(gè)性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
TMS320C6000嵌入式系統(tǒng)優(yōu)化編程的研究  發(fā)帖心情 Post By:2010-11-22 14:08:03

使用匯編語言進(jìn)行編程時(shí)特別需要注意的是C6000指令的延遲情況,有些指令并不是立刻就能得到結(jié)果。C6000指令集中有延遲的指令如表1所示。

表1 C6000的有延遲指令

圖片點(diǎn)擊可在新窗口打開查看

例1 32位歸一化函數(shù)morm_1()
short morm_1(long L_var1)
{short var_out;
if (L_var1= = 0L){
var_out = (short)0;
}
else {
if (L_var1= = (logn)0xffffffffL{
var_out = (short)31;
}
else {
if (L_var1< 0L) {
L_var1 = ~L_var1;
}
for(var_out=(short)0;L_var1<(long)0x40000000L;
var_out++){
L_var1 <<= 1L;
}}}
return(var_out);
}
使用匯編語言進(jìn)行優(yōu)化;
.global norm_1
_norm1:
B B3
CMPEQ 0,A4,B0
[!B0] NORM A4,A4
NOP 3
消耗時(shí)間(時(shí)鐘周期):C語言norm_1()為723;匯編語言為11。

2.2 使用線性匯編語言重寫整個(gè)函數(shù)

對(duì)于某些以循環(huán)體為主的函數(shù)可以使用線性匯編語言重寫整個(gè)函數(shù)。使用匯編優(yōu)化器進(jìn)行優(yōu)化之后,效率是非常高的。

下面例子是算法中計(jì)算幀能量的函數(shù),其中包含兩個(gè)單循環(huán)體。進(jìn)行優(yōu)化時(shí),首先要確定循環(huán)的次數(shù)。對(duì)于循環(huán)次數(shù)是變量的情況,優(yōu)化器不進(jìn)行并行優(yōu)化;其次盡量減少數(shù)據(jù)存取次數(shù),例如以32位存取指令對(duì)16位數(shù)據(jù)進(jìn)行存取,可以節(jié)省一增的存取周期。仔細(xì)觀察C代碼,會(huì)發(fā)現(xiàn)兩次循環(huán)次數(shù)相同。第二個(gè)循環(huán)要用到第一個(gè)循環(huán)的結(jié)果,因此可以將兩個(gè)循環(huán)合并在一起,這樣就避免了在第二個(gè)循環(huán)中再從存儲(chǔ)器中取結(jié)果,減少了一半的Load操作。

Long Comp_En(short *Dpnt)
{ int i;
long Rez;
short Temp[60];
for (i=0;i<60;i ++) Temp [i] = shr(Dpnt[i],(short) 2);
Rez=(long) 0;
for (i=0; i <60; i ++) Rez=L_mac(Rez,Temp[i],Temp[i]);
return Rez;
}
相應(yīng)的線性匯編程序如下:
.global _Comp_En ;函數(shù)名定義,對(duì)c變量前加_
_Comp_En .cproc Dpnt;函數(shù)頭定義,Dpnt是參數(shù)
.reg Rez,Rez1,Rez2,1 ;寄存器定義,不必考慮實(shí)際的寄存器分配
.reg t1,t2,x1,c1,m1,m2
zero Rez
zero Rez1
zero Rez2
mv Dpnt,c1
mvk 30,i ;確定循環(huán)次數(shù)。因?yàn)橛肔DW代替LDH,循五環(huán)次數(shù)減少一半。
loop1 .trip 30
ldw *c1++,x1
sh1 x1,16,t1
shr t1,2,t1
shr x1,2,t2 ;將兩個(gè)循環(huán)合在一起,又減少了一半的從內(nèi)存取數(shù)據(jù)的時(shí)間。
smpyh t1,t1,m1
smpyh t2,t2,m2
sadd Rez1,m1,Rez1
sadd Rez2,m2,Rez2
[i] sub i,1,i ;循環(huán)計(jì)數(shù)器從30遞減
[i] b loop1
sadd Rez1,Rez2,Rez
.return Rez
.endproc
消耗時(shí)間(時(shí)鐘周期):C語言為32971;線性匯編語言為93。

2.3 使用線性匯編改寫復(fù)雜函數(shù)中的循環(huán)體

當(dāng)函數(shù)的邏輯關(guān)系復(fù)雜,判斷、跳轉(zhuǎn)、函數(shù)調(diào)用情況特別多時(shí),上面方法的效果就會(huì)在打折扣。這時(shí)可以使用線性匯編將其中的循環(huán)部分改寫成一個(gè)函數(shù),以優(yōu)化后的函數(shù)調(diào)用代替環(huán)部分,而不是優(yōu)化整個(gè)復(fù)雜函數(shù)。

高速數(shù)字信號(hào)處理器件的應(yīng)用范圍越來越廣,特別是在移動(dòng)通信領(lǐng)域中,軟件無線電、智能天線等新技術(shù)的實(shí)都需要強(qiáng)大的實(shí)時(shí)數(shù)字信號(hào)處理的支持。TMS320C6000系列DSP完全可以滿足此類要求。但目前對(duì)于并行DSP技術(shù)的軟硬件開發(fā)還處在摸索階段,如何充分利用高速DSP的資源,是這方面的研究重點(diǎn)。本文研究了最新推出的TMS320C6000的優(yōu)化策略,從工程和系統(tǒng)的角度總結(jié)出一套既能滿足實(shí)時(shí)性又能保證開發(fā)時(shí)效性的實(shí)用的優(yōu)化編程方法,以供分饗。

支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

TMS320C6000嵌入式系統(tǒng)優(yōu)化編程的研究








簽名
主站蜘蛛池模板: 精品在线视频免费观看 | 在线看a级片 | 久久久久久久久免费影院 | 国内精品免费一区二区三区 | 国产欧美17694免费观看视频 | 国产精品一区在线播放 | 在线中文 | 亚洲男人a天堂在线2184 | 黄色美女网站免费看 | 一级毛毛片毛片毛片毛片在线看 | 久久一区二区三区免费播放 | 久久久青草 | 日韩黄色免费观看 | 亚洲成人性视频 | 综合另类| 日本一二线不卡在线观看 | 欧美精品做人一级爱免费 | 欧美xxxx成人免费网站 | 国产成人亚洲欧美三区综合 | 亚洲视频在线免费播放 | japonensis国产福利 | 欧美激情视频在线观看一区二区三区 | 武松大战潘金莲三级在线 | 欧美日韩在线视频 | 2019天天操天天干天天透 | 精品国产免费观看久久久 | 一级做a爰片久久毛片人呢 一级做a爰片久久毛片唾 | 一级成人毛片 | 久草视频在 | 欧美一级毛片免费播放器 | 91一区| 色在线网站免费观看 | 精品一久久香蕉国产线看观 | 女人被男人躁得好爽免费文 | 日本高清在线精品一区二区三区 | 久久久香蕉视频 | 有码在线 | 福利视频99 | 成人免费观看高清在线毛片 | 日韩欧美国产精品第一页不卡 | 亚洲国产精品综合久久久 |