如何找出内存访问粒度?

时间:2013-10-15 09:38:35

标签: c++ memory-alignment

我已阅读有关路线的这篇文章:http://www.ibm.com/developerworks/library/pa-dalign/

出现的问题是如何找出特定处理器的内存访问粒度?

例如Intel Xeon。 不幸的是,当我尝试“内存访问粒度Intel Xeon”或“内存对齐Intel Xeon”时谷歌并没有帮助我。

1 个答案:

答案 0 :(得分:3)

对于Xeon,请查看英特尔优化手册(Google)。在粗略,粗略的通用性中,体系结构希望数据类型与其大小或处理器的原始宽度对齐。因此x86需要4字节对齐,但__m128应该是16字节对齐。 x64需要8字节对齐。然而,这不是一个硬性规则,因为一些64位架构只关心4字节对齐。

还有一件事:Xeon是商标,而不是架构。事实上,已经有多种架构作为Xeon销售。所以“内存对齐Intel Xeon”不会给你太多; “内存对齐x64”会给你很多。在同一架构的多个实现中,内存对齐要求几乎相同。