【发布时间】:2012-11-15 15:28:51
【问题描述】:
我经常看到有关架构指令和数据必须与字、半字等边界对齐的信息。虽然遵循这些规则并不难,但我只是想知道是否有人能说出为什么(通常)存在这个要求?
编辑:基本上在这里找到了我的答案:why is data structure alignment important for performance?
【问题讨论】:
-
部分是为了保持硬件简单。
标签: cpu-architecture
我经常看到有关架构指令和数据必须与字、半字等边界对齐的信息。虽然遵循这些规则并不难,但我只是想知道是否有人能说出为什么(通常)存在这个要求?
编辑:基本上在这里找到了我的答案:why is data structure alignment important for performance?
【问题讨论】:
标签: cpu-architecture
这是因为高效数据总线设计问题。通过对齐的 memoey 地址,数据可以有效地适应数据总线。
对于 32 位字加载,如果是对齐的,所有连接 CPU 和 DRAM MEMORY 的 32 位数据总线。否则,计算机必须使用一次数据总线的较低部分,然后再使用数据总线的较高部分。
而且,目前的缓存架构设计也利用了对齐约束
【讨论】: