图解机器字长、存储字长的关系

原创内容,禁止未经允许就转载!码字画图琢磨怎么写还是好麻烦的好伐,谢谢合作!

存储单元是指存放一个机器字的所有存储元集合
问题来了,存储元是啥?存储元指的是存放一个二进制位(1或0)的基本器件(或电路),也被叫做存储元件。总的来说,就是存储元就是存放一个0或1的器件,而存储单元就是放一个存储字的器件的集合,这俩都有对应的实物。【栗子:可以 想想DRAM芯片,主要用作制作主存,其基本构成就是一个个电容,一个电容的状态对应着一个0或1(好像是一个电容连通的时候对应1,即一个电容有电流对应二进制位1;一个电容断开的时候对应0,即一个电容无电流对应二进制位0),很多个电容的状态对应着一串二进制数01010…】
存储单元是CPU访问存储器的基本单位,不过这个存储单元长啥样(长度)取决于编址方式的不同,编址方式可以认为一种规则,即是以一种怎样的规则把主存分成一个个小部分,一个小部分就是一个存储单元,然后CPU取数据的时候就是来这些小部分(存储单元)里取,由此引出了:小部分在哪,小部分多大的概念
小部分在哪对应着存储单元的地址,多大对应着存储单元的存储字长,而这俩都与编址方式有很大的关联
计算机中有两种编址方式,一种是按字节编址,一种是按字编址
!!!!下面的栗子图都是按计算机的机器字长为32bit画的哈!!!!
按字节编址即以一个字节的长度来划分主存,即一个小部分的长度等于一个字节,然后主存就会被分为差不多这个样子:

在这里插入图片描述此时,很明显一个个小部分就是一个个小格子,即这就是一个存储单元,存储单元的长度,即存储字长等于1B,即8bit。而怎么对这些存储单元编地址呢,又有了大端方式和小端方式两种方式,即规定低字节(右边的字节)对应大地址还是小地址,所以,我直接放图吧,地址的话用十进制数表示的,为了方便理解,。画图那个工具不知道为啥一画完它就糊,。
在这里插入图片描述

然后,按字编址即以机器字长的长度来划分主存,一个小部分的长度等于机器字长,即存储字长等于机器字长,现在存储单元是成条状的,主存被分为,如图:
在这里插入图片描述
很明显一个个小部分就是一个个小条条,即这就是一个存储单元,存储单元的长度,即存储字长等于4B,即32bit。而怎么对这些存储单元编地址呢,我直接放图吧,地址的话用十进制数表示的,为了方便理解,。
在这里插入图片描述

额,总的来说:
按字节编址(以一个字节的长度去分割主存,分成的一个个小格子就是存储单元):存储字长=1B=8bit,而机器字长是存储字长的整数倍
而同一个存储单元的地址编号可以因为选择大端小端方式而有所不同,看你选啥了
按字编址(以机器字长的长度去分割主存,分成的一个个小条条就是存储单元):存储字长=机器字长!!!!!!!

而且数据总线的位数就是存储字长!!数据线确定存储字长。即数据线有多少根,存储字长就是多少位。
然后,机器字长是否等于存储字长这种东西还是得看编址方式的
还有个补充,有助于理解:
机器字长是CPU一次处理数据的最大位数,也是ALU一次处理的最大位数,同时也是ALU输入端的最大位数,举个例子:假如说ALU可以处理的最大位数是16位,即机器字长=16位,而我现在的主存按字节编址的,即存储字长=8位(1B),还记得存储单元是啥么?存储单元是CPU访问存储器的基本单位,即现在ALU和主存进行数据交换的时候是1B1B的交换,交换完第一个1B然后交换第二个1B,接着第3个……所以主存要传16位的数据肯定一次是传不过去的,需要数据总线传两次就🆗,而此时机器字长就不等于存储字长emmmmm
完结,撒花
希望各位小伙伴批评指正!谢谢你们

  • 73
    点赞
  • 223
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值