您的位置:首页 > 其它

为什么内存不对齐需要两次访问内存?

2013-07-28 16:20 260 查看
我们都知道内存对齐可以提高效率,具体来说就是减少内存访问次数。许多计算机系统对基本数据类型合法地址做出了一些限制,要求某种类型对象的地址必须是某个K的倍数。我们将通过图来说明为什么对齐不内存需要两次访问内存:

先来看下图:我们将数据读入到寄存器中,并且假设我们的处理器以四个字节为偏移量访问内存(1-4)四个字节,



显然,我们需要将0-3和4-5都读入到内存中,然后拼成我们想要的四个字节,故需要两次访问,看下图:



上图通过shift拼出我们需要的字节。

参考文章:http://www.ibm.com/developerworks/library/pa-dalign/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: