0
我经常看到有关架构指令的信息,数据必须与单词,半字等边界对齐。虽然遵守这些规则并不困难,但我只是想知道,如果有人能够说明为什么(通常)这种要求存在?为什么指令/数据对齐存在?
编辑:基本上找到我的答案在这里:why is data structure alignment important for performance?
我经常看到有关架构指令的信息,数据必须与单词,半字等边界对齐。虽然遵守这些规则并不困难,但我只是想知道,如果有人能够说明为什么(通常)这种要求存在?为什么指令/数据对齐存在?
编辑:基本上找到我的答案在这里:why is data structure alignment important for performance?
这是因为高效的数据总线的设计问题。通过对齐的便条地址,数据可以高效地装入数据总线。
对于32位字加载,如果它对齐,所有连接CPU和DRAM MEMORY的32位数据总线。否则,计算机必须先使用数据总线的下半部分,然后再次加载数据总线的较高部分。更重要的是,目前的高速缓存架构设计还利用了对齐约束的优势
部分原因是为了保持硬件简单。 – Mysticial