zxq6 发表于 2017-4-13 09:27:22

DSP和cortex A9做运算对比,续一

测试平台还是前面的BF531和zynq内置的cortex A9,
上一个帖子见这里:
http://www.amobbs.com/forum.php?mod=viewthread&tid=5672141&page=1#pid9736286

帖子中有人提醒我,使用DSP要发挥其功能,必须使用官方的库。
今天花了点时间,搞了一个DSP的库函数进去:
定义如下:
struct complex_fract16 c2;

测试代码如下:

while(2)
        {
                *pFIO_FLAG_D ^= 0x0002;
                twidfftf_fr16(c2,256);
      }


结果大大出乎意料,结果发现ADSP-BF531,做一次FFT,只需要9us不到,简直跟前面的结果有千差地别。
看来确实,如果需要发挥DSP的计算功能,真是要把该用的资源用尽。

sme 发表于 2017-4-13 10:17:30

是不是A9也需要用库函数来优化?Cortex-M4带DSP/FPU,也是有个专门的数学库函数。

zxq6 发表于 2017-4-13 11:27:06

sme 发表于 2017-4-13 10:17
是不是A9也需要用库函数来优化?Cortex-M4带DSP/FPU,也是有个专门的数学库函数。 ...

网上看见一个项目是NE10的库,类似DSP的专用优化库。
不过能力和时间所限,没有能够移植成功。等以后有机会再弄吧。

zhangsusu 发表于 2017-4-13 14:19:43

zxq6 发表于 2017-4-13 11:27
网上看见一个项目是NE10的库,类似DSP的专用优化库。
不过能力和时间所限,没有能够移植成功。等以后有机 ...

NE10的库 可能要在系统里面才好操作 我具体记不清楚了

xycfwrj 发表于 2017-4-17 18:09:32

本帖最后由 xycfwrj 于 2017-4-17 18:10 编辑

我是搞dsp的,发现arm物美价廉,
花了一段时间评估,发现事情没有那么美好,
1。外设很难用起来,一般industry应用不可能用消费类那几种接口如usb, cameif来直接搞定,如果linux自带的驱动无法直接用,
存在定制化的东西,这时候想要几百兆的接口就很难搞了,而dsp上emif, hpi, upp,pruss, ge, 甚至20g的srio,接口丰富。
2。程序优化没dsp方便,dsp一般benchmark之后,针对重点代码和数据做一些优化就可以了,
大部分时候把核心数据放到片内就足够了,而arm可能是我水平不够,这种优化很难实现
3。linux os本身jitter带来的非实时性也会造成困扰,需要靠降低cpu loading来保证实时性,这和2又是矛盾的。
综上,我现在干脆撤回dsp了

ALUMEI 发表于 2017-6-23 15:13:23

xycfwrj 发表于 2017-4-17 18:09
我是搞dsp的,发现arm物美价廉,
花了一段时间评估,发现事情没有那么美好,
1。外设很难用起来,一般indus ...

可以考虑rtos,或者裸机开发;如你所说的module,在arm上一般都有demo。

我不了解dsp。。。。
页: [1]
查看完整版本: DSP和cortex A9做运算对比,续一