分享

什么是NEON

 quasiceo 2013-10-10

什么是NEON

本帖最后由 mousnake 于 2012-4-18 23:19 编辑

何谓多媒体扩展指令集?由于原理复杂坚涩,小编就简单的打个比方:厂商们分析平时处理器干哪些事情最慢、又最经常用到,然后把这些最消耗时间的事情固化成 电路,做成一个额外的部分,和处理器集成到一起。使用的时候,只通过一条指令,就能够访问和计算多组数据,把最消耗时间的事情尽快做完。在计算机词汇里, 这种指令集叫做SIMD(Single Instruction Multiple Data,单指令多数据)指令集。

大多数多媒体播放任务,使用SIMD技术都会带来更快的速度
回到手机上,在ARM的世界里,由于日益增长的多媒体计需求,也出现了属于ARM自己的多媒体扩展指令集,它的名字叫做NEON。它可以帮助处理器加速任 何格式视频的编解码,帮助显示芯片加速矢量数据的解析和打包,也可以让系统可以更快的处理几百万像素的图片。它所能带来的性能提升根据应用的不同,可以从 比较明显的50%,到难以置信的8000%。
长期以来NEON指令集都是各种高端ARM SoC的标配,从ARM11到Cortex A8,基本上所有高端SoC都包含了对应版本的NEON指令集。而在Cortex A9时代,它更是像是理所应当一样,作为一个基本而不可或缺的功能,出现在各大厂商最高端SoC的蓝图中。

在德州仪器的OMAP4430和三星的Exynos 4210中,每一个Cortex A9核心都拥有自己专属的NEON协处理器,拥有专用的32个64位寄存器,以多通道操作的方式,加速系统的多媒体计算性能。而在MSM8x60中,高通 甚至把它的NEON协处理器的位宽增加到了128bit,两倍于标准的ARM实现,让NEON协处理器可以一次性处理两倍的数据,带来更大的加速效果。
那么Tegra 2呢?令人感到意外的是,不知道出于何种原因或者考虑,Tegra 2没有搭配NEON协处理器。这对于一颗定位于顶级的双核SoC而言是十分不可理解的,因为NEON可以为几乎所有的多媒体过程提供明显的加速特性,而 nVIDIA却选择了放弃。可能有读者会说,Tegra 2有强大的显示芯片,不需要NEON的加速,但是不要忘记,显示芯片是不能完全独立处理所有的3D运算过程的,其中诸如数据解包和组合这种操作还是需要 CPU来完成,由于没有NEON,处理器必须要花费几倍于对手的时间才能“喂饱”显示核心,最终的结果就是性能无法发挥。

Tegra 2实际上不支持NEON指令集
而在视频解码方面,Tegra 2也会因为不具备NEON协处理器而受到很大的影响。因为我们知道,Tegra 2虽然号称可以支持诸多格式的1080p全高清解码,但是它对视频的编码格式有着非常严格的要求,例如Tegra 2的视频解码核心只能硬件解码Main Profile的H.264视频,而对于其它的就只能靠处理器来进行软件解压。这时没有NEON协处理器的帮助,视频解压就很难高效的进行,最终导致 Tegra 2的多媒体特性缩水。
也许nVIDIA是认为NEON协处理器的授权价格过于昂贵,或者可能因为规模太大而提升制造成本,而最终选择了放弃,但作为消费者而言,不具备NEON 指令集的Tegra 2无疑会在多媒体方面的竞争中被对手远远甩开。好了,关于多媒体的比拼也要告一段落了,最后我们照例为每个处理器给出评分。

Tegra 2        ★
OMAP4430       ★★★★
MSM8x60        ★★★★★
Exynos 4210    ★★★★


  此外Neon缺失的影响不仅仅限于视频回放,如在Android底层的2D绘制Skia引擎,运行硬件支持Neon则性能会有5倍的提升。

  另外Adobe推出的最新Flash 10.2移动设备硬件需求强制要求支持Neon,缺少neon时Flash多的页面只能用各种卡来形容了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多