在用TMS320C5505芯片做计算,目的是将一个32个数的数组中的数与另外一个数相乘,放到另外一个数组相应位中,比如A[0]与x相乘放到B[31]中,A[1]与x相乘放到B[30]中,依次进行。最后因为B数组是一个Uint16类型的数组,会将其两两拼接成一个Uint32的16个数的数组。但是这个过程耗时非常长,需要8微秒,不知道有没有什么操作,可以让时间缩短,现在几乎是期望时间的三倍。下面是我的程序,用了3个for循环,不知道是哪里时间用的太长了。希望大神能指教一下。
Shine:
请问-o3优化选项用了么?
QIN YANG2:
回复 Shine:
谢谢您的回复,我用了这个优化选项之后,确实有很大的改善,但是还是与我的期望时间多2微秒,请问还有其他方法吗,我在这32个循环里,就是做了32次乘法,32次加法,一共用了2.4微秒,不知道为什么这么慢,请您指教一下。
Shine:
回复 QIN YANG2:
请问这些数是放在片内RAM里吧?