打印

Cortex-A7 下neon vld指令受memory/cache影响的探讨

[复制链接]
183|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
冰糖炖雪梨|  楼主 | 2018-9-8 17:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在使用汇编优化neon时,发现一个问题:
假设函数的输入两个参数x[2048],y[2048],那么x,y的首地址是不连续的
当在汇编中只读x的数据时所用时间明显比即读取x,也读取y的数据要长很多,我猜想是由于cache没有高效利用的原因,即造成了hit miss的现象,有什么方法可以尽可能的利用cache呢?
汇编代码如下:
只读取x
vld1.32    {d0-d1}, [r0]!\n\nvld1.32    {d2-d3}, [r0]!\n读取x,y
vld1.32    {d0-d1}, [r0]!\n\nvld1.32    {d0-d1}, [r1]!

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

430

主题

436

帖子

0

粉丝