当使用SSE指令/内在函数时,例如对于256位寄存器,任何人都可以通过使用下一个32字节块上的预取指令或其他技术来减少从内存加载扩展寄存器所花费的时间?假设要加载的数据已在内存中正确对齐。
答案 0 :(得分:0)
有关x86 CPU性能的更多信息,请参阅x86标记wiki。硬件预取程序非常擅长锁定顺序访问模式,因此通常不需要软件预取指令。
通常,进行宽矢量加载并将其解压缩到单独的整数寄存器中并不是一个好处。一旦你触及了一个缓存行,它的负载就越便宜,从L1缓存到寄存器的吞吐量通常不是问题。使用ALU指令将256b负载解压缩为单独的32或64b整数只需要更多指令,这意味着您更有可能成为ALU吞吐量的瓶颈。