新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于TMS320C62X DSP的混合编程研究

基于TMS320C62X DSP的混合编程研究

作者:时间:2008-08-12来源:网络收藏

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

  .asg B11,rw_4

  STW  .D2 ocsr,*stack--[1] ;被调用函数用到了B10~B15,A10

  STW   .D2 r_w4,*stack--[1] ;~A15的寄存器,则需对它们保护

  MVC  .S2 CSR,ocsr

  AND   .S2 -2,ocsr,ocsr

  MVC   .S2 ocsr,CSR ;关闭某些中断 ……

  loop:

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

  ;读取第一个字

  LDW   .D1 *pSrc++[1],r-w2 ;读取第二个字

  LDW  .D1 *pSrc++[src_width2],r-w3 ;读取第三个字

  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]     ;存储取得的两个字

  B .S2 loop ;延迟跳转到标号loop处,实现循环 ……

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

  LDW .D2T2 *++stack[1],ocsr     ;对被调用函数中自己保护的寄存器作恢复处理

  MVC .S2 ocsr, CSR    ;恢复中断环境

  B .S2 B3 ;返回到调用函数处

  ……

  在 CCS上用其库函数CLOCK()对这个算法的程序和并行程序分别进行了性能测试。在纯中,运动矢量对4的偏移量的余数为0 时,约为33个指令周期, 余数为1时约为93个指令周期, 余数为2 时约为 51个指令周期,余数为3 时约为 93个指令周期,平均约耗时 67个周期。而将其用并行代码编写,其周期数恒定为33个指令周期。33个指令周期的执行时间,对于这个函数基本上是达到了函数的最大优化。

  由此可见,程序的核心算法的代码用并行程序编写,而主体的程序则以函数调用的形式调用这些核心算法的并行汇编函数,是提高程序代码执行效率的一种有效方法。

  参考文献

  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的原理与应用.北京:电子工业出版社,2000.7

  5 钟玉琢, 王 琪, 贺玉方.基于对象的多媒体数据压缩编码国际标准-MPEG-4及其校验模型.北京:科学出版社,2000


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭