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

时间:2023-04-14 17:17:20 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

从逻辑上对内存有一个认识,有一个模型的概念

1.2.1.什么是内存

硬件:内存条(SRAM和DRAM——DRAM有好多代,譬如SDRAM,后来的DDR1、DDR2、DDR3。。。LPDDR--工作电压不一样

DRAM(Dynamic Random Access Memory)动态随机访问内存

DDR(Double Data Rate)双倍速率,一个工作周期中进行两次数据传送。

SDRAM:不需要初始化就可以使用

DRAM:需要初始化才能使用,掉电数据消失

逻辑:内存是可以随机访问,给一个地址就可以访问的地址,并且可以读写,(逻辑上可以只读或者只写)

内存在编程中天然是用来存放变量的(就是因为有了内存,C语言中才能定义变量,C语言中一个变量实际上就是一个变量)

1.2.2.内存的逻辑抽象图

从逻辑角度来将,内存实际上是由无限多个内存单元格组成的,每个单元格有一个固定的地址

叫内存地址,这个内存地址和这个内存单元格唯一对应且永久绑定。

大楼类比,房间号是地址,内存中存储的内容就好像住在房间中的人一样。

逻辑上来说,内存可以无限大,但是现实中实际的内存大小是有限制的,譬如32位的

系统(32位系统指的是32位数据线,但是一般地址线也是32位,这个地址线32为决定了内存地址

只能有32位二进制,所以逻辑上的大小为2的32次方)内存限制就是4G。实际上32位的系统中可用

的内存是小于等于4G的。

1.2.3内存位宽(硬件和逻辑)

硬件:硬件内存的实现本身是有宽度的,有8位,16位的。需要强调的是内存芯片之间是可以并联的,通过

并联后即使8位内存芯片也可以做出16位或32位的硬件内存。

我们默认的内存都是32位的

逻辑:内存位宽在逻辑上是任意的,从逻辑角度来讲内存位宽是多少,我们直接操作就好。但是操作不是纯逻辑而是需要硬件去执行

的,所以我们的操作都是受限于硬件的特性的。

1.2.4.位和字节

内存单元的大小单位有4个:位(1bit)、字节(8bit) 半字(一般是16bit)字(一般是32bit)

在所有的计算机、所有的机器中(不管是32位系统还是16位系统还是以后的64位系统),位永远都是1bit

字节永远都是8bit

1.2.5.字和半字

出现过很多16位、32位、64位的系统,被混乱的定义过的。

建议大家对字、半字、双字的概念不要详细区分,依赖于平台

编程的时候基本上用不到这个概念,但是在文档中还是存在的,如果不区分容易造成误解。

linux+ARM这个软件平台上:

嵌入式平台上 字是32位的

本文来源:https://www.wddqw.com/doc/6c19b39402768e9951e738f9.html