流行的CPU / CPU指令集是否支持跨步数据访问?

时间:2014-01-28 16:51:24

标签: performance cpu memcpy stride

假设我有两个结构数组(结构具有相同的类型,大小,字段偏移等),我想将第一个数组中所有结构的第一个字段复制到结构的第一个字段在第二个数组中。

现代英特尔,AMD,ARM和其他CPU是否支持此类操作,而不是通过一系列针对每个相应结构对的加载和存储指令?

如果答案为“是”,那么目标结构的情况与具有相同类型,大小和字段的情况如何(即当源数据步幅与目标不同时数据跨步,但两者都已知)?

1 个答案:

答案 0 :(得分:2)

没有特殊的跨步加载/存储指令,但硬件预取机制将检测到跨步访问并在检测到模式后开始自动预取(并假设有备用带宽)。