目前我使用的是OMAP L138处理器,它没有硬件FPU。我们将使用FP密集型算法来处理光谱数据,这样ARM端就不够用了。我不是算法人员,但一个是“动态时间扭曲”(我不知道这意味着什么,不)。最初的性能数字是:
核心i7膝上型电脑@ 2.9GHz: 1秒 树莓Pi ARM1176 @700:12秒 OMAP L138 ARM926 @300 193 :193秒
更糟糕的是,Pi大约是我使用的董事会价格的30%!
我确实有一个TI C674x,它是OMAP L138中的另一个处理器。问题是,花几个星期试图:
(当我看FPU在A8上的性能时,它并不是相对于Rasp的改进,而是Cortex A9的改进)。
我明白答案是“视乎情况而定”。这里的其他have said说,“如果分配了正确的工作,你可以轻松地解锁一个令人难以置信的快速DSP,可以轻松地超过Cortex-A8”,但是对于一个定义好的作业集,我跳到A9会更好吗,即使我以后不得不购买一个外部的DSP?
发布于 2013-06-08 22:52:13
如果不知道DSP和ARM的时钟速率,就无法回答这个问题。
以下是一些背景:
我刚刚检查了c674x DSP上浮点乘法的循环:
它可以每个周期发出两个乘法,每个乘法都有三个周期的结果延迟(这意味着在结果出现在目标寄存器之前必须等待三个额外的周期)。
但是,每个周期可以启动两个乘法,因为DSP不会等待结果。编译器/汇编程序将为您执行所需的调度。
这只使用DSP现有的八个功能单元中的两个,因此,在执行两个乘法运算时,每个周期还可以这样做:
循环控制和分支是免费的,不需要在DSP上花费任何费用。
这使得在并行加载/存储和循环控制下,每个循环总共有6个浮点操作。
另一方面,臂霓虹灯可以在浮点模式下:
每个周期发出两个乘数。延迟是可比较的,指令也是可流水线的,就像在DSP上一样.加载/存储需要额外的时间,而添加/减法则是如此。在编写良好的代码中,循环控制和分支很可能是免费的。
因此,总的来说,DSP每个周期的工作量是-a9霓虹灯单元的三倍。。
现在你可以检查数字信号处理器和手臂的时钟速率,看看什么对你的工作更快。
哦,有一件事:使用编写良好的DSP代码,在加载过程中几乎不会看到缓存失败,因为在访问数据之前,您使用DMA将数据从RAM移动到缓存。这也给DSP带来了令人印象深刻的速度优势。
发布于 2013-11-14 18:33:28
它确实依赖于应用程序,但总的来说,现在特殊用途处理器击败通用处理器的情况很少。通用处理器现在具有更高的时钟速率和多媒体加速。即使对于数字密集型算法,DSP可能具有边缘,处理异构多处理器环境的工程复杂性增加,从ROI的角度来看,这类解决方案也会产生问题。
https://stackoverflow.com/questions/16964758
复制相似问题