位、字节、半字、字的概念和内存位宽

什么是内存?(硬件和逻辑)

  1. 从硬件角度,内存实际上是电脑上的一个配件(一般叫内存条)。根据内存内部结构的不同,将内存可以分为SRAM和DRAM(DRAM又有好多代,例如最早的SDRAM,后来的DDR1,、DDR2···、LPDDR)。SRAM无需初始化,DRAM需要初始化。
  2. 从逻辑角度:内存是这样一个东西,它可以随机访问(随机给个地址都能够访问,并且可以读写)。在编程中,内存的功能就是存放变量(因为有了内存,所以C语言才能定义变量,C语言中的一个变量对于内存中的一个单元)。

内存的逻辑抽象图(内存的逻辑模型)

  1. 从逻辑的角度,内存实际上可以看做无数个内存单元格组成,每个单元格有个固定的地址,称为内存地址。内存地址和单元格唯一对应而且永久绑定。
  2. 将大楼来类比内存是合适的。逻辑上的内存就好像是一栋无限大的大楼,内存的单元格就好像大楼中的一个个小房间。每个内存单元格的地址就好像每个房间的房间号。内存中的保存的数据就像是房间内部的人。
  3. 逻辑上来说,内存可以无限大。但是实际上,内存空间都有限制。例如32位系统(32根数据线,32根地址线),内存限制4G。进一步,实际上也可以用小于或者等于4G的内存容量。

字节

内存单元的大小单位有4个:位(1bit),字节(8bit),半字(一般是16bit),字(一般是32bit)。要注意任何系统中,位永远都是1bit而字节永远都是8bit。

字,半字,双字的概念

  1. 不一样的平台可能字,半字,双字定义不一样。
  2. 建议大家对字,半字,双字不要详细区分,只要知道这些单位具体有多少为是依赖于平台的。
  3. 编程上,很少用到字的概念。那我们区分该概念主要是因为有些文档会用到这些概念,如果不加区分会导致对程序的错误的理解。

内存位宽

  1. 从硬件角度来讲,硬件内存的实现本身就是有宽度的,也就是说有些内存条就是8位的,有些就是16位的。需要注意的是,内存芯片之间是可以并联的,通过并联后,即使是8位的内存芯片,也可以做出16位,32位的硬件内存。
  2. 从逻辑角度来讲:内存位宽在逻辑上是任意的,甚至逻辑上存在内存位宽是24位的内存(但是实际硬件不存在,也没有实际意义。虽然用户能够随意操作,但是需要硬件去执行,所以实际上的很多操作都受限于硬件的特性)。从逻辑角度来说,直接操作即可,位宽不够成影响。
    上图中显示了不同内存位宽图,其中最重要的是内存一层有多少个位。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值