Freescale的DSP是否也是这么强大?大家评...
本帖最后由 iwqt1983 于 2014-9-10 08:30 编辑Freescale的DSP是否也是这么强大?大家评论下
计算一个1024点的16位整数FFT,只用了34us.
BF533@600MHz.
在ARM上(40M)弄了个浮点的FFT,计算了1024点,结果花了700多ms,倒塌了...
某个算法的测试表明,同频的浮点dsp运算速度差不多是arm9的200倍。 BF533是定点的。 首先ARM Cotex-M4都有带DSP,不仅仅是飞思卡尔有,其次,DSP是硬件在执行,当然比软件快N多倍,呵呵! 如果DSP这些都干不好了,那就没有存在的价值了。 额,貌似DSP的价格贵的要死。。 自然不如专业的dsp,但是一般的应用是可以的 特定算法肯定DSP快,
但要测试起码都一样的浮点或定点,然后最好一样的主频呀。
有外部分内存和cache还要配置好,不然没法比呀。 硬件执行肯定比软件快了。 曰,拿40M去跟600M比,打死也比不赢啊。 同一主频 或者 参不多价格 比较就比较有实际意义
另外,楼主的部分字体很奇特啊,小心ID不保 硬件运行速度肯定要快过软件啊 要不然大家干嘛要使用dsp、fpga啊 没有可比性,至少在性价比上的两个芯片型号都不一样了。 不要拿单车跟轿车比,没可比性 blackfin难道不是adi的dsp吗,楼主确认这是飞斯卡尔的么 这样的数据没啥意义,侧重点不一样................ 那有这样比的。 DSP在自己的领域有优势,但不是这个比法 应用场合不同,比较条件也差别比较大。 达不到这速度都不好意思说内置了DSP DSP不就是干这个的嘛,这可是他的特长 也有DSC吧 DSP当然还是TI什么的 没有可比性 ,人家是专业的DSP 应用场合不一样吧,DSP就是为大量数学运算而生。 这个不能比吧 单周期乘除法也就是极致了,同样主频下没办法更快了,但是DSP和mcu的构架不一样,他的构架专门为更快的运算设计的,所以MCU的运算能力和DSP没得比,即使同频率下,DSP的运算能力也远远优于MCU armok 发表于 2014-9-9 20:13
楼主宝贵的标题空间,竟然使用Freescale这样的中文符号浪费了,这是对我们论坛和其它网友的不尊重 ...
好的,马上修改,是输入法的问题,不是有意的,见谅. 一个整数的,一个浮点的,怎么能这样比较呢 昨天老师上课还说 飞思卡尔的DSP在市面上可以是第二的位置我是万万没想到 见得比较多的变频器控制芯片都是TI和瑞萨的,怎么可能是第二位呢?? arm9是老货了呢,拿最新的比,而且至少要主频一样的带浮点加速的arm来比吧,不然完全就没有可比性啊。 arm估计是从09年开始用VFPv4浮点运算单位,现在VFPv3 应该是在cortex-m之类。。顶多也就单精度浮点运算。。跟dsp都不是一个类型的。
现在高级点的处理器,都到了VFP9 VFP10 是硬宏单元矢量浮点 (VFP) 协处理器,并且据说达到了传说中的IEEE754的标准了。
http://www.arm.com/zh/products/processors/technologies/vector-floating-point.php
dsp跟单片机真的没可比性,,何必较真呢。
DSP本身在硬件上就是为浮点运算设计的,
另外M4现在在软件上也有DSP库了。
最后,什么片子干什么事。出门办事你会开卡车吗? 浮点
ARM 浮点架构 (VFP) 为半精度、单精度和双精度浮点运算中的浮点操作提供硬件支持。它完全符合 IEEE 754 标准,并提供完全软件库支持。
ARM VFP 的浮点功能为汽车动力系统、车身控制应用和图像应用(如打印中的缩放、转换和字体生成以及图形中的 3D 转换、FFT 和过滤)中使用的浮点运算提供增强的性能。下一代消费类产品(如 Internet 设备、机顶盒和家庭网关)可直接从 ARM VFP 受益。
VFP 应用
汽车控制应用
动力系统
ABS、牵引控制和主动悬架
3D 图形
数字消费类产品
机顶盒、 游戏机
图像
激光打印机、静态数码相机、数码摄像机
工业控制系统
运动控制
工业和汽车领域中的许多实时控制应用都得益于 ARM VFP 提供的浮点的动态范围和准确性。汽车动力系统、防抱死制动系统、牵引控制和主动悬架系统都是关键业务应用,它们对准确性和可预测性的要求必不可少。
VFP 架构版本
在 ARMv7 架构之前,VFP 代表用于矢量运算的矢量浮点架构。
对于许多应用来说,设置硬件浮点至关重要,并且硬件浮点可用作使用高级设计工具(如 MatLab、MATRIXx 和 LabVIEW)直接对系统建模和派生应用程序代码的片上系统 (SoC) 设计流程的一部分。在与 NEON™ 多媒体处理功能结合使用时,可增强图像应用程序的性能(如缩放、2D 和 3D 转换、字体生成和数字过滤)。
迄今为止,VFP 主要有三个版本:
VFPv1 已废弃。要获取详细信息,可向 ARM 发送相关请求。
VFPv2 是对 ARMv5TE、ARMv5TEJ 和 ARMv6 架构中 ARM 指令集的可选扩展。
VFPv3 是对 ARMv7-A 和 ARMv7-R 配置文件中 ARM、 Thumb®® 和 ThumbEE 指令集的可选扩展。可使用 32 个或 16 个双字长寄存器实现 VFPv3。术语 VFPv3-D32 和 VFPv3-D16 用于区别这两个实现选项。扩展 VFPv3 使用半精度扩展,可在半精度浮点和单精度浮点之间提供双向转换功能。
VFP9-S
ARM VFP9-S 可合成矢量浮点 (VFP) 协处理器与所有 ARM9E™ 系列处理器内核兼容。它支持单精度和双精度浮点;使 ARM 支持软件完全符合 IEEE754,或仅使硬件大致符合 IEEE754。支持代码包含两个组件:例行程序库和一组异常处理程序,前者执行未实现功能(如超越函数)和一些支持的功能(如分割),后者用于处理异常情况。
VFP9-S 功能
ARM VFPv2 ISA
16 个双精度或 32 个单精度寄存器
使 ARM 支持代码完全符合 IEEE754
大致符合 IEEE754 的快速运行模式(仅硬件)
与 VFP10 和 VFP11 保持二进制兼容
可使用支持工具和单元库移植到任何工艺
100 - 130K 门
1.3Mflops/MHz
面积 <1.0mm2 TSMC 0.13µm G
180 - 210MHz(最坏情况)TSMC 0.13µm G
<0.4mW/MHz(典型情况)功耗 TSMC 0.13µm G
VFP9-S 优点
ARM VFP9-S 的矢量处理功能对汽车动力系统、车身控制应用和图像应用(如打印中的缩放、转换和字体生成以及图形中的 3D 转换、FFT 和过滤)中使用的浮点运算提供增强的性能。下一代消费类产品(如 Internet 设备、机顶盒和家庭网关)可直接从 ARM VFP9 受益。
VFP9-S 应用
汽车控制应用:
动力系统
ABS、牵引控制和主动悬架
3D 图形
数字消费类产品
机顶盒、游戏机
图像
激光打印机、静态数码相机、数码摄像机
工业控制系统
运动控制
工业和汽车领域中的许多实时控制应用都得益于 ARM VFP9-S 提供的浮点的动态范围和准确性。汽车动力系统、防抱死制动系统、牵引控制和主动悬架系统都是关键业务应用,它们对准确性和可预测性的要求必不可少。
将 VFP9-S 整合到 SoC 设计中后,可使开发速度更快、性能更可靠。使用技术计算工具(MatLab、MATRIxx 等)可直接对系统建模和派生应用程序代码,从而确保系统设计行为更准确、可靠和可预测。
VFP10
ARM VFP10 是硬宏单元矢量浮点 (VFP) 协处理器,与所有 ARM10E™ 系列的 CPU 内核兼容。它支持单精度和双精度浮点;使 ARM 支持软件完全符合 IEEE754,或仅使硬件大致符合 IEEE754。支持代码包含两个组件:例行程序库和一组异常处理程序,前者执行未实现功能(如超越函数)和一些支持的功能(如分割),后者用于处理异常情况。
VFP10 功能
ISA 是 ARM VFPv2
16 个双精度或 32 个单精度寄存器
具有 64 位 LD/ST 接口的大型独立寄存器文件
使 ARM 支持代码完全符合 IEEE754
大致符合 IEEE754 的快速运行模式(仅硬件)
与 VFP9 和 VFP11 保持二进制兼容
标量和矢量操作支持(FP DSP 的理想选择)
并行 LD/ST、FMAC 和 DIV/SQRT 执行引擎
2.0Mflops/MHz
面积 ~1.16mm 2 TSMC 0.13µm LV
最多 325MHz(最坏情况)TSMC 0.13µm LV
<0.4mW/MHz(典型情况)功耗 TSMC 0.13µm LV
VFP10 指令集 (VFPv2)
运算:
Add、Sub、Mult、Neg-Mult、Negate、Abs Value、Compare、Div、Square Root
FMAC(单版本和双版本):
Multiply-Add、Multiply-Subtract、Neg-Multiply-Add、Neg-Multiply-Subtract
类型转换
加载/存储标量和矢量,64 位/周期
VFP10 优点
ARM VFP10 的矢量处理功能对汽车动力系统、车身控制应用和图像应用(如打印中的缩放、转换和字体生成以及图形中的 3D 转换、FFT 和过滤)中使用的浮点运算提供增强的性能。下一代消费类产品(如 Internet 设备、机顶盒和家庭网关)可直接从 ARM VFP10 受益。
许多应用程序本身可从浮点的动态范围和准确性中受益。许多应用程序将移至到嵌入式应用程序,这些应用程序多年来始终基于浮点。推出 VFP10 后,可使用技术计算工具(如 MatLab 或 MATRIxx)轻松转换到嵌入式领域。
VFP10 应用
汽车控制应用
动力系统
ABS
牵引控制和主动悬架
数字消费类产品
机顶盒、游戏机
3D 图形
FFT 和 FIR 过滤
图像
激光打印机、静态数码相机、数码摄像机
工业控制系统
运动控制
工业和汽车领域中的许多实时控制应用都得益于 ARM VFP10 提供的浮点的动态范围和准确性。汽车动力系统、防抱死制动系统、牵引控制和主动悬架系统都是关键业务应用程序,它们对准确性和可预测性的要求必不可少。将 VFP9-S 整合到 SoC 设计中后,可使开发速度更快、性能更可靠。使用技术计算工具(MatLab、MATRIxx 等)可直接对系统建模和派生应用程序代码,从而确保系统设计行为更准确、可靠和可预测。
LZ实际做过吗?我的经验是,ARM 做1024点FFT,可以比你说的700ms 快得多得多。 DSP上用的是官方的优化数学库么?
ARM用的是带FPU的内核么?用到SIMD了么?用优化数学库了么?
所用的两款芯片内部总线以及对应的内存是怎么分配的?etc。
评价性能有很多的前提,用浮点DSP,优化库测出来的性能对定点ARM加普通库的话,那肯定惨不忍睹。
DSP指令集对FFT的地址生成一般会有优化;循环的流水线有时候也会有优化。
假定都是最优代码,普通架构的DSP同频一般会比ARM核快一些(ARM不用SIMD时),数量级上应该在2-3倍以内,再多就可能有测试瑕疵。
用浮点的肯定慢许多的,你用的是定点吗? 38楼是专家。作比较,要考虑因素很多。 dr2001 发表于 2014-9-11 08:31
DSP上用的是官方的优化数学库么?
ARM用的是带FPU的内核么?用到SIMD了么?用优化数学库了么?
所用的两款 ...
你绝对是arm官方的人,对其熟悉程度令人难以置信。。。。。。。。。
而且,,,,,,,,,,,,,你会arm很有热情,换种说法就是有种爱护维护的意思。。。。。。。。。我说的对不对 这个讨论非常不错,mark一下,很想知道哪种应用场合对浮点的要求很高呢?毕竟DSP毕竟贵 dr2001 发表于 2014-9-11 08:31
DSP上用的是官方的优化数学库么?
ARM用的是带FPU的内核么?用到SIMD了么?用优化数学库了么?
所用的两款 ...
要不直接整个GPU,现在的GPU计算超级厉害,现在挖矿不都是用AMD的那个显卡 myxiaonia 发表于 2014-9-11 09:58
你绝对是arm官方的人,对其熟悉程度令人难以置信。。。。。。。。。
而且,,,,,,,,,,,,,你会 ...
我跟ARM没啥关系,想有关系人家也不理我,哈哈。评测自身本身就难做到绝对的公平公正,但是大面上的东西也不能差太多。
LZ的逻辑是:整数FFT vs 软浮点FFT,这个结果。。。嗯。。。有意义。 riyue 发表于 2014-9-11 10:10
要不直接整个GPU,现在的GPU计算超级厉害,现在挖矿不都是用AMD的那个显卡 ...
GPU不是干什么都一定会快。
目前架构下,GPU初始化就效率不高,数据量小,初始化的功夫别人可能都算的差不多了;其次,GPU是蚂蚁啃大象,算法要能拆成局部性很强的小区块进行计算,要有并行性;还有别的约束。。。
特定的算法在GPU上的加速比不一定会非常高。
挖矿现在都是ASIC了。。。
dr2001 发表于 2014-9-11 10:10
我跟ARM没啥关系,想有关系人家也不理我,哈哈。评测自身本身就难做到绝对的公平公正,但是大面上的东西 ...
原来没关系啊,真是大失所望。。。可是如果不是因为工作原因的话,能够做到对arm如此熟悉程度得有多大的热情和学习动力。。。我曾经提过几个和仿真调试相关的问题,你的回答令人印象深刻,所以我一直记得你这人哈哈哈 dr2001 发表于 2014-9-11 10:15
GPU不是干什么都一定会快。
目前架构下,GPU初始化就效率不高,数据量小,初始化的功夫别人可能都算的差 ...
初始化效率,初始化不是gpu启动时候已经做好了?然后后面usermode想用就直接用了?
现在的专用挖矿ASIC 是因为高端显卡太贵了,所以才出来这东西
其实AMD的现在的APU的HSA就是这个设计理念,适合GPU计算的分给GPU去做,适合CPU计算的分给CPU去运行,所以效率很高。一般人不管它是GPU运行还是CPU运行,反正快速计算完就行了 同一款硬件,不同的实现方式结果也是不一样的。
差别会很大。 riyue 发表于 2014-9-11 13:06
初始化效率,初始化不是gpu启动时候已经做好了?然后后面usermode想用就直接用了?
现在的专用挖矿ASIC...
关于初始化效率,目前GPU的指令流以和相关的配置操作与CPU是独立的,相当于MCU的一个外设。
因此,需要一系列的CPU代码把对应的指令包以及相关配置信息给GPU才能开始执行,这些都需要额外的开销。且不说有通常基于PCIe的GPU还需要把数据搬运到显存里,GPU通常无法直接操作CPU的内存系统中的数据。
并不是说用了GPU就一定快。
挖矿建议看看算力对比。基于指令流的半通用处理器(GPU)和经过专门优化的ASIC比速度,比能效。。。那只剩呵呵了。。。
高端显卡贵至少因为需求量少,并且浪费了大量的晶体管在其它方面。当然,挖矿的ASIC Tapeout一点都不便宜,除非有很大的量。
原来摩托的dsp有点鸡肋,不如TI dr2001 发表于 2014-9-11 17:25
关于初始化效率,目前GPU的指令流以和相关的配置操作与CPU是独立的,相当于MCU的一个外设。
因此,需要一 ...
“且不说有通常基于PCIe的GPU还需要把数据搬运到显存里,GPU通常无法直接操作CPU的内存系统中的数据。
并不是说用了GPU就一定快。”
AMD的HSA就是用来消除你这个顾虑的,在最新一代APU上已经完全实现HSA,统一内存的使用,无需搬运的过程了。
其实至于初始化效率,没有你说的那么严重,只要APP起来,setup好它的pipe,后面直接发命令包就行了。
当然看应用场合和成本的考虑了,超算现在都在用,要不然他们的浮点凭什么跑那么快。
扯多了,大家保留意见吧 看帖留痕,赚积分~
页:
[1]