DSP和cortex A9做运算对比,感觉有点差异啊。
测试代码如下:void img_test(void)
{
volatile unsigned int i,j,k,l;
volatile double a,b,c,d;
a=1;
b=2;
c=3;
d=4;
for(i=0;i<1000;i++)
{
a+=0.3;
}
for(j=0;j<1000;j++)
{
b-=0.3;
}
for(k=0;k<1000;k++)
{
c*=0.3;
}
for(l=0;l<1000;l++)
{
d/=0.3;
}
}
测试方法:使用一个led,测试其翻转速度,从而得到运行时间。
A9使用的是zynq,xc7z020,667Mhz,
DSP使用的BF531,40M晶振,倍频到600M,初始化代码如下,不知道是不是正确:
void Init_PLL(void)
{
volatile int test=0;
sysreg_write(reg_SYSCFG, 0x32); //Initialize System Configuration Register
*pVR_CTL = 0x00fB;
idle();
*pSIC_IWR = 0x1;
*pPLL_CTL = 0x1e00; // MSEL is 15, which gives: VCO of 600 MHz (40*15=600)
*pPLL_DIV = 0x5; // SSEL is 5, which gives: SCLK of 133 MHz (600/5=133)
ssync();
//*pVR_CTL = 0x00fB;
ssync();
idle();
}//end Init_PLL
测试结果:
A9大概需要105us左右,运算一次。
BF531大概需要500us。
看起来差别比较大啊,为啥DSP会比A9慢呢?是不是初始化配置不对? 用FFT之类的计算看看。 Excellence 发表于 2017-4-11 16:50
用FFT之类的计算看看。
在网上找了段FFT的代码
计算了256个点的fft
测试结果如下:
DSP需要5.6ms
A9需要780us
差距任然有点大 测试io翻转没有意义的
dsp就是设计来计算的
特别是迭代计算的
必须用计算类程序测试
BFXY5433 发表于 2017-4-11 17:52
测试io翻转没有意义的
dsp就是设计来计算的
特别是迭代计算的
好吧,可能是我没表述清楚,我测试方法是用的运行一段程序,运行完成后,翻转io,然后测量翻转时间,来测量程序运行时间。
虽然不是很准,但是应该能够很大程度上反应运算所需要的时间的。
因为你做的浮点运算 bf531是16位定点处理器吧?做浮点用模拟运算肯定慢了。a9好歹是有双精度浮点处理器的,自然比不上……你换28345试试? DSP了解不多,Cortex-A9里面有NEON,矩阵并行运算,不算慢, 浮点比不上DSP,逻辑指令(ARM只要目的就是跑逻辑)比DSP快 BF531是个定点DSP,你拿来跟带NEON FPU的Cortex-A9比浮点…… {:titter:}
更何况Cortex-A9的DSP性能本来就在Blackfin系列之上。 楼主有BF531的范例么,能发给我点么? 定点的肯定搞不赢浮点了,你要用定点计算来比较 531 多少钱A9 多少钱 用定点来比比看 blackfin531比A9早好几年出的,比起来真是太不公平
我怀疑即便比定点数,531还是逊于A9
比浮点数真是差太多了,何况楼主没有优化过呢
否则真实差距二三十倍,那就叫被秒杀,哈哈哈哈
曾经纠结过用A9还是dsp
后来发现A9的计算能力真让人满意,比原先估计的快了好几倍
然后呢,不用去熟悉恐怖的dsp优化(dsp的浮点运算指令集都可以成一本书了,对外人太难用了吧?) 这么多DSP不选,你选个16bit定点DSP,你试试TI的67XX ,ADI的214XX系列对比下 {:lol:}{:lol:}{:lol:}{:lol:}
感觉也是 531 太老了。 BF531是不是 很便宜?blackfin的其它型号似乎价格很贵吧,楼主用它用啥? 你把BF531的CACHE开了试试 , 搞BF531 很多人都忘开CACHE , 如果程序小 , 就把程序放在芯片内部的SRAM里面运行,不要在SDRAM里面运行!还有 , 就是PK 定点数 , 不要把浮点数拿来搞BF531 ,这个太不公平了. dsp做算法需要使用特定的规则才能调用其强大的加速功能 比如ti的dsp 最好是用内联函数和官方库 而不是标准C 编写算法 A9也是裸奔? 90999 发表于 2017-4-11 21:11
楼主有BF531的范例么,能发给我点么?
我用的是VDSP开发环境,你也需要么? dengxiaofeng 发表于 2017-4-11 21:44
531 多少钱A9 多少钱
531价格50左右,A9贵点,zynq的最便宜的A9,100多点,不过他外围集成了FPGA,单就A9的价格,应该差不多。 NJ8888 发表于 2017-4-11 21:52
用定点来比比看
定点,没有优化的情况下,DSP跟A9的差距缩小,不过也还是比不过A9。
http://www.amobbs.com/thread-5672245-1-1.html ziruo2002ab 发表于 2017-4-11 23:35
blackfin531比A9早好几年出的,比起来真是太不公平
我怀疑即便比定点数,531还是逊于A9
比浮点数真是差太多 ...
看来你是做过测试的,我今天再用fft,经过优化后测试了一下,DSP的性能提高了不少
http://www.amobbs.com/thread-5672242-1-1.html pazulin 发表于 2017-4-11 23:45
这么多DSP不选,你选个16bit定点DSP,你试试TI的67XX ,ADI的214XX系列对比下
手里没有这个系列的dsp,只有BF531,所以就只有他顶上来测测了。 liurangzhou 发表于 2017-4-12 21:37
BF531是不是 很便宜?blackfin的其它型号似乎价格很贵吧,楼主用它用啥?
不做啥,就是准备用来做做图像处理,看看两个备选处理器的性能,然后决定用哪个。 dellric 发表于 2017-4-12 23:04
你把BF531的CACHE开了试试 , 搞BF531 很多人都忘开CACHE , 如果程序小 , 就把程序放在芯片内部的SRAM里面运 ...
请问您知道如何开启cache么?我没找到相关资料。 zhangsusu 发表于 2017-4-13 08:25
dsp做算法需要使用特定的规则才能调用其强大的加速功能 比如ti的dsp 最好是用内联函数和官方库 而不是标准C ...
确实,今天调用了ADI经过优化后的FFT函数,性能提升了非常非常多
http://www.amobbs.com/thread-5672242-1-1.html fengyunyu 发表于 2017-4-13 09:18
A9也是裸奔?
是的,A9,裸奔的。没跑系统。 zxq6 发表于 2017-4-13 09:57
我用的是VDSP开发环境,你也需要么?
可以的,能有得看就不错了,能详细点最好。
我在网上找不到,淘宝问了至少要500,单买开发板只给接口范例。 90999 发表于 2017-4-13 10:19
可以的,能有得看就不错了,能详细点最好。
我在网上找不到,淘宝问了至少要500,单买开发板只给接口范例 ...
你看看附件,希望对你有帮助。 zxq6 发表于 2017-4-13 11:25
你看看附件,希望对你有帮助。
好,谢谢了。 不知道价格差了多少 zxq6 发表于 2017-4-13 10:03
确实,今天调用了ADI经过优化后的FFT函数,性能提升了非常非常多
http://www.amobbs.com/thread-5672242 ...
赞一个
楼主进步非常快 1。相同的数据类型运算对比。比如相同的256点单精度浮点fft。定点N阶fir滤波器
楼主位的数据类型定义就不专业。double,int到底是多少位的没人知道。stdint等头文件里面有int32_t float64_t之类的标准类型
2. 完成相同的功能的速度对比
项目选型时只需要能完成相同的功能即可。对数据精度并不关注。可以拿16位dsp的256点定点fft速度和浮点dsp的255点fft速度做对比。
3。算法对比应该都是在足够的优化后对比
页:
[1]