这与某些预取技术有关吗? 还是与DDR访问时间特性有关?
这与某些预取技术有关吗? 还是与DDR访问时间特性有关?
据我所知,从ARMv5TE开始,写缓冲区和L1缓存的路径变为64位宽,以适应LDRD/STRD指令。这使得STM每个周期可以写入两个寄存器。
此外,您还将节省一些L1指令缓存,并仅使用双发射内核上的一个流水线,这也是额外的收益。
什么情况下是正确的?
根据这个方便的表格,STM
指令需要2个周期来存储一个寄存器,或者需要n个周期来存储n个寄存器,其中n > 1。
另一方面,STR
总是需要1个周期。
什么时候STM
比STR
更快?
STM
更慢。另一方面,上述参考资料适用于ARM9TDMI架构,而且有很多ARMS。
STR
获取加上多个STR
填充代码缓存会减少其效率。 - artless noise