This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

pld offset疑问

在翻看了pld文档,又百度后,对于  PLtype{cond} [Rn {, #offset}]  这个后面的offset 不理解,到底指的是byte 还是bit了

类似于下面这段代码,  想理解 pld [r1,#0xc0]  这个是希望将r1指向的后面192个字节加载到cache line当中,还是指的是192bit相应的24字节加载到cache line当中

而后面的 subs r2,r2,#0x40,表达 的是上面的64字节进行了复制,不太理解,如果是pld后面的那个0XC0是字节的话,为什么,不一次预加载128个字节,这样,每次预加载后

第二次在使用的时候,前一次已经有64字节一半在里面了。为什么是192字节效率最高,如果是代表bit的话,为啥是预加载24字节,按理说一次是加载一个cache line  64字节才对

还有一个pld,一般情况下会吃几个cycle cpu呢, 想写一个性能好的点积。求指教

NEONCopyPLD
PLD [r1, #0xC0]
VLDM r1!,{d0-d7}
VSTM r0!,{d0-d7}
SUBS r2,r2,#0x40
BGE NEONCopyPLD

Parents Reply Children
No data