新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于TMS320C62X DSP的混合編程研究

基于TMS320C62X DSP的混合編程研究

作者: 時(shí)間:2008-08-12 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://butianyuan.cn/article/258049.htm
  .asg B10,ocsr

  .asg B11,rw_4

  STW  .D2 ocsr,*stack--[1] ;被調(diào)用函數(shù)用到了B10~B15,A10

  STW   .D2 r_w4,*stack--[1] ;~A15的寄存器,則需對它們保護(hù)

  MVC  .S2 CSR,ocsr

  AND   .S2 -2,ocsr,ocsr

  MVC   .S2 ocsr,CSR ;關(guān)閉某些中斷 ……

  loop:

  LDW   .D2 *tmp_pSrc++[src_width1],r_w1

  ;讀取第一個(gè)字

  LDW   .D1 *pSrc++[1],r-w2 ;讀取第二個(gè)字

  LDW  .D1 *pSrc++[src_width2],r-w3 ;讀取第三個(gè)字

  SHRU .S2 r_w1,rshiftB, r-w1

  SHL  .S1 r_w3,lshiftA, r_w3

  SHL .S2X r_w2,rshiftB,r_w4

  SHRU .S1 r_w2,rshiftA, r_w2

  OR .L2 r_w1,r_w4, r_w1

  OR .L1 r_w1,r_w3,r_w2 ;這幾步作了圖a中的操作過程

  STW .D2 r_w1,*pDst++[2]

  STW .D1 r_w2,*tmpDst++[2]     ;存儲(chǔ)取得的兩個(gè)字

  B .S2 loop ;延遲跳轉(zhuǎn)到標(biāo)號(hào)loop處,實(shí)現(xiàn)循環(huán) ……

  LDW .D2T2 *++stack[1],r_w4

  LDW .D2T2 *++stack[1],ocsr     ;對被調(diào)用函數(shù)中自己保護(hù)的寄存器作恢復(fù)處理

  MVC .S2 ocsr, CSR    ;恢復(fù)中斷環(huán)境

  B .S2 B3 ;返回到調(diào)用函數(shù)處

  ……

  在 CCS上用其庫函數(shù)CLOCK()對這個(gè)算法的程序和并行程序分別進(jìn)行了性能測試。在純中,運(yùn)動(dòng)矢量對4的偏移量的余數(shù)為0 時(shí),約為33個(gè)指令周期, 余數(shù)為1時(shí)約為93個(gè)指令周期, 余數(shù)為2 時(shí)約為 51個(gè)指令周期,余數(shù)為3 時(shí)約為 93個(gè)指令周期,平均約耗時(shí) 67個(gè)周期。而將其用并行代碼編寫,其周期數(shù)恒定為33個(gè)指令周期。33個(gè)指令周期的執(zhí)行時(shí)間,對于這個(gè)函數(shù)基本上是達(dá)到了函數(shù)的最大優(yōu)化。

  由此可見,程序的核心算法的代碼用并行程序編寫,而主體的程序則以函數(shù)調(diào)用的形式調(diào)用這些核心算法的并行匯編函數(shù),是提高程序代碼執(zhí)行效率的一種有效方法。

  參考文獻(xiàn)

  1 TMS320C6000 CPU and Instruction Set Reference Guide. Texas Instruments Incorprated,2000

  2 TMS320C600 Programmer’s Guide. Texas Instruments Incorporated, 2001

  3 MS320C6000 Optimizing Compiler User’s Guide. Texas Instruments Incorporated,2001

  4 任麗香,馬淑芬,李方慧. TMS320C6000系列s的原理與應(yīng)用.北京:電子工業(yè)出版社,2000.7

  5 鐘玉琢, 王 琪, 賀玉方.基于對象的多媒體數(shù)據(jù)壓縮編碼國際標(biāo)準(zhǔn)-MPEG-4及其校驗(yàn)?zāi)P?北京:科學(xué)出版社,2000


上一頁 1 2 3 下一頁

關(guān)鍵詞: DSP TI 混合編程 C語言 匯編

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉