TMS320C62X DSP的混合编程研究
中的操作过程
本文链接地址:http://www.oyaya.net/fanwen/view/166642.html
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 ;返回到调用函数处
……
在TI CCS上用其库函数CLOCK()对这个算法的C语言程序和并行汇编程序分别进行了性能测试。在纯C语言中,运动矢量对4的偏移量的余数为0 时?约为33个指令周期? 余数为1时约为93个指令周期? 余数为2 时约为 51个指令周期?余数为3 时约为 93个指令周期?平均约耗时 67个周期。而将其用并行汇编代码编写?其周期数恒定为33个指令周期。33个指令周期的执行时间,对于这个函数基本上是达到了函数的最大优化。
由此可见,程序的核心算法的代码用并行汇编程序编写,而主体的C语言程序则以函数调用的形式调用这些核心算法的并行汇编函数,是提高程序代码执行效率的一种有效方法。
《TMS320C62X DSP的混合编程研究(第4页)》