吐血整理!这篇带你彻底理解主存中存储单元地址的分配

在阅读本文之前,建议没有基础的读者先阅读下主存的基本组成结构:

五分钟理解主存储器的基本组成结构

存储单元的字地址:

我们来看张图:

在这里插入图片描述
在上面的图中,每一个小矩形代表一个存储单元,大矩形表示主存中的存储体。

通常都是以8位二进制为一个存储单元,也就是一个字节。然后在我们的计算机中,不管是笔记本还是台式机,总会听到CPU一次处理数据的能力是32位还是64位,其实,这个32位或者64位就是用来表示字长。字长用来表示的长度。而字就是由字节构成。

在上图中,一个存储单元为1个字节,这4个字节又构成一个字,每个字有字地址,在上图中表示出来了。关于字地址的表示方式,也有两种,这两种表示方法的区别,我后面也会用一篇文章来解释清楚。

那么,上图的字长为多少呢?

我们来分析下,4个字节构成一个字,一个字节等于8个比特,所以总共就是32位了。现在我们的计算机,都是64位了,很少有32位的计算机出现了。

举例:

在学习到主存储体的章节时,这三道题我们经常会看到,经常会有小伙伴很迷惑,不知道怎么分析,我们来看下下面三道题:

1.设地址线为24根,按字节寻址,有多少存储字?
2.如果存储容量不变,若字长为16位,按寻址有多少存储字?
3.如果存储容量还不变,若字长为32,按寻址有多少存储字?

我们先分析下第一个问题。

这里假如地址线有24根,由于地址也是用2进制表示的,那么每根地址线就有0或者1两位,地址可以表示为从00000…00000(24位)—11111…11111(24位)。一共就有224位,也就是224个地址。转化之后就是16MB的地址。这些地址表示存储单元的位置,所以存储单元的个数也就是16MB。
那么,16MB怎么计算的呢?

224Byte(字节)=16777216Byte
16777216Byte/1024=16384KByte
16384KByte/1024 = 16MByte

而且,1Byte=8Bit,那么16MByte = 128Mbit。

第一个问题的意思就是,一个字等于8比特,也就是一个字节。一个存储单元可以存放一个8位二进制数,这个二进制数就是一个存储字。其实,就是问有多少个存储单元。经过计算,就是16MB个。

我们先分析下第二个问题。

在上面第一个例子中,一个存储单元中有8位,那么16MB个存储单元中,可以存放16MB×8位。就是存储单元的容量,简称存储容量

那么,第二个问题中,存储容量不变,就是一样有16MB×8的空间字长为16位,我们按寻址,有多少个存储字

如果是按字寻址,我们知道字长16位,那么总容量除以字长就是存储字的个数:

(16MB*8)/ 16 = 8M

那么第三个问题也是一样的,只是把字长换成了32

(16MB*8)/ 32 = 4M

如果觉得我写的不错的话,帮个忙呗

1.关注我的知乎账号小丛,上面有我的文章同步,同时需要询问学习计算机经验的话,也欢迎私聊。
2.点赞,关注我,这是对我最大的鼓励了,有了你们的鼓励,我会写出更多的优质文章。
  • 54
    点赞
  • 128
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeVald

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值