TI中文支持网
TI专业的中文技术问题搜集分享网站

C6678 并行汇编问题

您好:

最近编写并行汇编的时候出现了很奇怪的问题,希望各位技术支持能解答下.

现象:多条指令并行执行的时候,单步调试,,结果存放在寄存器中,发现有些指令执行完后,寄存器中的值没有变化, 但是Simulator下执行是很正常的. 有时候改变该指令执行的功能单元的时候,该指令会正常执行!

希望能解决这个问题,多谢!

Tommy Song:

有的指令的执行结果是有延迟的,也就是说执行之后需要几个Cycle才能得到最终结果。例如LDW指令,其延时周期数是4,意味着指令执行4个cycle之后,内存的值才会load到寄存器中。更详细内容请参考sprugh7的3.4节。

Zhan Xiang:

c6000的汇编复杂程度较高,如果对性能不是要求到极致,您可以尝试使用编译器提供的intrinsic指令,通过该方式告诉编译器你要使用某些特殊指令,让编译器帮你做优化,效率也是很高的。

si cheng:

回复 Zhan Xiang:

您好:

我简化了我的代码,上传到论坛,麻烦各位技术支持看下,出现的问题在   出错说明.txt文档中有详细说明.

多谢!

 

赞(0)
未经允许不得转载:TI中文支持网 » C6678 并行汇编问题
分享到: 更多 (0)