【arm】arm neon 优化技巧

32 篇文章 12 订阅 ¥59.90 ¥99.00
2018.7.29 周末

https://community.arm.com/android-community/b/android/posts/arm-neon-optimization

翻译总结如下:

  1. 去除数据依赖
    不要将当前指令的目的寄存器作为下一条指令的源寄存器!
    原因:arm架构采用的是多级流水线技术,如果下一条指令的源寄存器是当前指令的目的寄存器,就需要当前指令执行完之后,下一条指令才能取指执行,这样会产生很大的延迟,影响性能。

  2. 减少分支跳转
    ARM处理器中广泛使用分支预测技术。但是一旦分支预测失败,性能就会损失很大。所以,
    尽量不要用分支跳转!可以采用逻辑运算指令替代分支跳转!
    比如:
    VCEQ, VCGE, VCGT, VCLE, VCLT……
    VBIT, VBIF, VBSL……
    另外,可以使用条件执行指令,比如addgt,suble等减少分支跳转!
    建议一次性多处理几行数据,从而减少循环跳转的次数,提升性能。

  3. 建议使用预载指令PLD
    PLD允许处理器告知内存系统在不久的将来会从指定地址读取数据,若数据提取加载到cache中,将会提高cache hit,从而提升性能。
    风险:不过最新架构对PLD指令

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞翔的鲲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值