我们来了解一下内存的物理构造,一般内存的外形图片如图1。一个内存是由若干个黑色的内存颗粒构成的。每一个内存颗粒叫做一个chip。为什么C语言中内存地址0x0001和内存地址0x0002之间差的是一个byte,而不是一个bit?



8个同位置的元素,一起组成在内存中连续的64个bit。如下图

通过内存的物理结构我们可以看出,因为在内存中最小单位就是字节。所以操作系统在管理它的时候,最小单位也就是字节了。另外,通过上述的我们还有一个额外发现。那就是在内存中连续的64个bit,其实在内存的物理结构中,并不连续。而是分散在同位置的8个rank上的。
个人公众号“开发内功管理”,打通理论与实践的任督二脉。
网友评论