- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Cortex—A8多媒体编解码优化
基于Cortex—A8多媒体编解码优化摘要:基于ARMv7架构Cortex-A8嵌入式CPU在移动终端得到广泛应用,由于ARMv7架构中整合了NEON多媒体处理引擎,使得此类CPU的多媒体处理能力大大增强。本文先分析Cortex-A8架构的技术特点,进而在此基础阐述在Cortex-A8多媒体编解码优化的原则。
关键词:Cortex-A8,NEON指令,多媒体编解码
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 13-0000-02
一、引言
嵌入式产业的应用领域极为广泛,而其各项应用在性能、价格、功耗等指标需求都不一。适应不同之需求,直接驱动各种应用的处理器发展迅速。ARM公司在适应嵌入式市场对CPU的需求,分别推出ARMv4,ARMv5E,ARMv6和ARMv7指令集的CPU架构。
二、Cortex-A8架构[1]
除了在流水线构架以外,Cortex-A8还有以下技术亮点:
1.增加NEON SIMD指令集和16个128bits Q寄存器,每个Q寄存器又能拆成2个64位的D寄存器,图3所示就是Q寄存器拆分对应关系图。
2.结合功率优化的加载存储流水线,为功率敏感型应用提供2.0DMIPS/MHz的速率,遵从ARMv7架构规范。
3.集成的L2缓存,64K到2MB的可配置容量。优化的L1缓存,结合最小访问延迟和散列确定方式,以便将性能最大化,将功耗最小化。
4.动态分支预测,通过分支目标和全局历史缓冲区实现,达到95%的准确率。
三、NEON汇编指令[2][3]
由于Cortex-A8 引入NEON 信号处理扩展单元,用于加速H.264和MP3等多媒体编解码器。 充分利用NEON 汇编指令,能得到性能极佳的Codec。
(一)加载和存储
(二)NEON常用的数据处理指令
同样的指令还有:VREV,VSWP,VMOV,VMVN,VMOV #immediate
(三)NEON乘法指令
VMUL{L},VMLA{L},VMLS{L},VQ{R}DMULH(by vector or by scalar),VQDMULL,VQDMLAL,VQDMLSL(double the results and saturate)
更多更详细的NEON 汇编指令参见[1]
(四)性能比较
NEON SIMD一次能处理8个16位Short数据, 16个8位Char数据,所以对音频16bits sample和视频YUV(Byte) 数据能很好的实现SIMD。
在语音编解码中,32位加32位然后饱和成16位的数据处理很常见,利用NEON汇编指令来进行优化性能较ARMv6 构架指令效率高24倍[4]。
由于MUL 与 QADD 之间有 2 cycles stall, 因此ARMv6要6 cycles 得到一个输出结果。
NEON(AMRv7):
在ARMv7 汇编1 cycles能得到4个输出结果。
有些多媒体编解码算法模块NEON性能达到ARMv5E 或ARMv6 架构2到4倍。
下图是编解器整个性能提升比较图:
四、结论
ARMv7架构新增了NEON引擎,使得多媒体编解码性能得到了极大的提高。目前主流的智能手持设备都采用了ARMv7内核的Cortex-A8,或A9的处理器。基于ARMv7的多媒体编解器的深度优化将会给智能手持设备带来更佳的多媒体视听效果。
参考文献:
[1]DDI0403B_arm_architecture_v7m_reference_manual.pdf
[2]DDI0344D_cortex_a8_r2p1_trm.pdf
[3]DDI0344A_cortexa8_r1p0_trm.pdf
[4]
[5]/huaping-audio/
1
文档评论(0)