4

I have read this article on the alignment: http://www.ibm.com/developerworks/library/pa-dalign/

The question what arises is how to find out memory access granularity for a specific processor?

For example Intel Xeon. Unfortunately google doesn't help me when I try "memory access granularity Intel Xeon" or "memory alignment Intel Xeon".

4

1 回答 1

4

对于至强,请查看英特尔优化手册(Google 提供)。粗略地说,架构希望数据类型与其大小或处理器的本机宽度中的较大者对齐。所以 x86 需要 4 字节对齐,但 __m128 应该是 16 字节对齐。x64 需要 8 字节对齐。不过,这并不是一个硬性规定,因为一些 64 位架构只关心 4 字节对齐。

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

于 2013-10-15T09:50:11.173 回答