怎么理解内存的字节编址

Posted 镜花水月小朋友

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么理解内存的字节编址相关的知识,希望对你有一定的参考价值。

内存也就是常说的内存条,也就是DRAM芯片如下图:

计算机的内存是按字节来进行编址的这句话理解为:

内存是按字节编址,每个地址的存储单元可以存放8bit的数据。我们也知道CPU通过内存地址获取一条指令和数据,而他们存在存储单元中。现在就有一个问题。我们的数据和指令不可能刚好是8bit,如果小于8位,没什么问题,顶多是浪费几位(或许按字节编址是为了节省内存空间考虑)。但是当数据或指令的长度大于8bit呢?因为这种情况是很容易出现的,比如一个16bit的Int数据在内存是如何存储的呢?

 

其实一个简单的办法就是使用多个存储单元来存放数据或指令。比如Int16使用2个内存单元,而Int32使用4个内存单元。当读取数据时,一次读取多个内存单元。

大端和小端存储

Little-Endian 就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。

Big-Endian 就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。

 

 

以上是关于怎么理解内存的字节编址的主要内容,如果未能解决你的问题,请参考以下文章

关于按字寻址和按字节寻址的理解

内存按字节编址,地址从A4000H到CBFFFH,共有多少个字节呢?

每日思考记录

关于按字寻址和按字节寻址的理解

按字节编址与按字编址

操作系统---内存管理(上)