在线中文-在线在线ccc66-在线永久免费观看的毛片-在线永久免费观看的a站视频-久久精品最新免费国产成人-久久精品综合一区二区三区

以文本方式查看主題

-  曙海教育集團論壇  (http://www.bgl88.cn/bbs/index.asp)
--  DSP6000系統(tǒng)開發(fā)  (http://www.bgl88.cn/bbs/list.asp?boardid=29)
----  TMS320C6000嵌入式系統(tǒng)優(yōu)化編程的研究  (http://www.bgl88.cn/bbs/dispbbs.asp?boardid=29&id=1624)

--  作者:wangxinxin
--  發(fā)布時間:2010-11-22 14:08:03
--  TMS320C6000嵌入式系統(tǒng)優(yōu)化編程的研究
使用匯編語言進行編程時特別需要注意的是C6000指令的延遲情況,有些指令并不是立刻就能得到結果。C6000指令集中有延遲的指令如表1所示。

表1 C6000的有延遲指令

圖片點擊可在新窗口打開查看

例1 32位歸一化函數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);
}
使用匯編語言進行優(yōu)化;
.global norm_1
_norm1:
B B3
CMPEQ 0,A4,B0
[!B0] NORM A4,A4
NOP 3
消耗時間(時鐘周期):C語言norm_1()為723;匯編語言為11。

2.2 使用線性匯編語言重寫整個函數

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

下面例子是算法中計算幀能量的函數,其中包含兩個單循環(huán)體。進行優(yōu)化時,首先要確定循環(huán)的次數。對于循環(huán)次數是變量的情況,優(yōu)化器不進行并行優(yōu)化;其次盡量減少數據存取次數,例如以32位存取指令對16位數據進行存取,可以節(jié)省一增的存取周期。仔細觀察C代碼,會發(fā)現兩次循環(huán)次數相同。第二個循環(huán)要用到第一個循環(huán)的結果,因此可以將兩個循環(huán)合并在一起,這樣就避免了在第二個循環(huán)中再從存儲器中取結果,減少了一半的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;
}
相應的線性匯編程序如下:
.global _Comp_En ;函數名定義,對c變量前加_
_Comp_En .cproc Dpnt;函數頭定義,Dpnt是參數
.reg Rez,Rez1,Rez2,1 ;寄存器定義,不必考慮實際的寄存器分配
.reg t1,t2,x1,c1,m1,m2
zero Rez
zero Rez1
zero Rez2
mv Dpnt,c1
mvk 30,i ;確定循環(huán)次數。因為用LDW代替LDH,循五環(huán)次數減少一半。
loop1 .trip 30
ldw *c1++,x1
sh1 x1,16,t1
shr t1,2,t1
shr x1,2,t2 ;將兩個循環(huán)合在一起,又減少了一半的從內存取數據的時間。
smpyh t1,t1,m1
smpyh t2,t2,m2
sadd Rez1,m1,Rez1
sadd Rez2,m2,Rez2
[i] sub i,1,i ;循環(huán)計數器從30遞減
[i] b loop1
sadd Rez1,Rez2,Rez
.return Rez
.endproc
消耗時間(時鐘周期):C語言為32971;線性匯編語言為93。

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

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

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

主站蜘蛛池模板: 亚洲第一页在线视频 | 久久久久久久蜜桃 | 亚洲一区二区三区在线免费观看 | 这里只有精品视频在线观看 | 国产成人高清亚洲一区久久 | 亚洲高清在线播放 | 亚洲天堂国产精品 | 亚洲成人自拍网 | 亚洲国产成人精品久久 | 欧美成人午夜做受视频 | 国产精品午夜波多野结衣性色 | 国产在线乱码在线视频 | 久久久网久久久久合久久久久 | 最新欧美日韩 | 五月天丁香综合 | 自拍亚洲国产 | 亚洲福利| 男人综合网| 最新在线精品国自拍视频 | 伊人久综合 | 国产成人精品男人的天堂网站 | 九九影视网 | 久热精品视频在线观看 | 久久高清免费视频 | 欧美一区二区三区大片 | 高清性色生活片欧美 | 一级网站在线观看 | 在线观看男女爱视频网站 | 黄色污污视频网站 | 丁香五月好婷婷深深爱 | 亚洲一区二区天海翼 | 婷婷亚洲综合五月天小说在线 | 国产福利专区精品视频 | 国产高清精品入口91 | 国产成人精品免费视 | 羞羞的网站 | 蓝导航福利视频 | 自拍偷拍网址 | 亚洲大片免费 | 中国成人免费视频 | 国产亚洲综合精品一区二区三区 |