为什么要内存对齐?
很多CPU是从对齐的地址开始加载数据,外部总线从内存一次获取的数据往往不是1比特,而是4比特或8比特或更多,与数据总线带宽有关。比如有一个int数据类型,其分配的4比特没有对齐。比如分配在3,4,5,6这四个字节上。而CPU取值是对齐的,CPU可能就需要分别取两次0-3,4-7的数据才能得到这个int数据的值。所以内存对齐可以加快读取数据速度。
为什么要内存对齐?
很多CPU是从对齐的地址开始加载数据,外部总线从内存一次获取的数据往往不是1比特,而是4比特或8比特或更多,与数据总线带宽有关。比如有一个int数据类型,其分配的4比特没有对齐。比如分配在3,4,5,6这四个字节上。而CPU取值是对齐的,CPU可能就需要分别取两次0-3,4-7的数据才能得到这个int数据的值。所以内存对齐可以加快读取数据速度。