可能的重复:
内存对齐的目的 https://stackoverflow.com/questions/381244/purpose-of-memory-alignment
我在网上读了一些关于内存对齐的文章,可以理解,通过正确对齐的内存(采用2字节对齐),我们可以一次性快速获取数据。
But if we have memory like a single hardware piece, then given an address, why cannot we read 2-byte directly from that position. like:
我想了一下。我认为如果内存位于奇偶存储库中,那么该理论就适用。
我缺少什么?
你的图片描述了如何we(人类)可视化计算机内存。
实际上,可以将内存视为巨大的位矩阵。
每个矩阵列都附有一个“读取器”,可以读取/写入该列中的任何位。
每个矩阵行都有一个“选择器”,它可以选择阅读器将读/写的特定位。
因此,该读取器可以一次读取整个选定的矩阵行。
该行的长度(矩阵列数)定义一次可以读取多少数据。
例如,如果您有 64 列,那么您的内存控制器可以一次读取 8 个字节(但它通常可以执行更多操作)。
只要保持数据一致,您就需要更少的内存访问。
即使您只需要读取两位,但它们位于不同的行,您也将需要对内存进行两次访问,而不是一次。
另外,还有一个整体的方面writing,这是一个不同的问题。
正如您可以读取整行一样,您也可以写入整行。
如果你的数据没有对齐,当你写入不是整行的内容时,你将需要执行读-修改-写(读取该行的旧内容,修改相关部分并写入新内容)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)