首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于FP,C6000 DSP的性能会被A9超过吗?

对于FP,C6000 DSP的性能会被A9超过吗?
EN

Stack Overflow用户
提问于 2013-06-06 14:28:43
回答 2查看 3.1K关注 0票数 1

目前我使用的是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中的另一个处理器。问题是,花几个星期试图:

  • 学习DSPLINK、互操作库和工具链,更不用说为代码编写器或
  • 把L138扔出去,搬到双A9上,就像潘登号一样,在这个过程中可能会受到能量的惩罚。

(当我看FPU在A8上的性能时,它并不是相对于Rasp的改进,而是Cortex A9的改进)。

我明白答案是“视乎情况而定”。这里的其他have said说,“如果分配了正确的工作,你可以轻松地解锁一个令人难以置信的快速DSP,可以轻松地超过Cortex-A8”,但是对于一个定义好的作业集,我跳到A9会更好吗,即使我以后不得不购买一个外部的DSP?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-08 22:52:13

如果不知道DSP和ARM的时钟速率,就无法回答这个问题。

以下是一些背景:

我刚刚检查了c674x DSP上浮点乘法的循环:

它可以每个周期发出两个乘法,每个乘法都有三个周期的结果延迟(这意味着在结果出现在目标寄存器之前必须等待三个额外的周期)。

但是,每个周期可以启动两个乘法,因为DSP不会等待结果。编译器/汇编程序将为您执行所需的调度。

这只使用DSP现有的八个功能单元中的两个,因此,在执行两个乘法运算时,每个周期还可以这样做:

  • 两个负载/存储(64位宽)
  • 六个浮点加/减指令(或整数指令)

循环控制和分支是免费的,不需要在DSP上花费任何费用。

这使得在并行加载/存储和循环控制下,每个循环总共有6个浮点操作。

另一方面,臂霓虹灯可以在浮点模式下:

每个周期发出两个乘数。延迟是可比较的,指令也是可流水线的,就像在DSP上一样.加载/存储需要额外的时间,而添加/减法则是如此。在编写良好的代码中,循环控制和分支很可能是免费的。

因此,总的来说,DSP每个周期的工作量是-a9霓虹灯单元的三倍。

现在你可以检查数字信号处理器和手臂的时钟速率,看看什么对你的工作更快。

哦,有一件事:使用编写良好的DSP代码,在加载过程中几乎不会看到缓存失败,因为在访问数据之前,您使用DMA将数据从RAM移动到缓存。这也给DSP带来了令人印象深刻的速度优势。

票数 5
EN

Stack Overflow用户

发布于 2013-11-14 18:33:28

它确实依赖于应用程序,但总的来说,现在特殊用途处理器击败通用处理器的情况很少。通用处理器现在具有更高的时钟速率和多媒体加速。即使对于数字密集型算法,DSP可能具有边缘,处理异构多处理器环境的工程复杂性增加,从ROI的角度来看,这类解决方案也会产生问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16964758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档