按字节编址、按字编址、按字节寻址、按字寻址。

以下内容仅为个人理解,如有错误,还请各位大佬批评指正。

———————————————————————————————————————————

首先捋清楚一个概念。

按字节编址,不仅可以进行按字节寻址,也可以进行按字寻址;

按字编址只能进行按字寻址,是不可以进行按字节编址的(电路设计使然。)

所以凡是遇见对一个存储器进行按字节寻址的,那么默认这个存储芯片就是按字节编址的。

清楚了以上概念之后,我们再来说说按字节编址和按字编址的电路。

在按字节编址的电路中,其会空出几根地址线来表示字中字节的地址,而剩下的根数则表示字的容量。比如 1k*32bit 按字节编址的话,会有32/8 = 2^2,即2根地址线表示其中的字节地址,而剩下的10根地址线来表示字的容量。其总共有12根地址线。

而在按字编址的电路中,则没有空出的地址线来表示字中字节的地址,全部的地址线会用来表示容量。比如 1k*32bit 中共有10根地址线。

清楚了以上的内容之后,再来说说按字节寻址和按字寻址。

在上述按字节编址的1k*32bit的情况中,按字节寻址的范围就是 0-2^12-1,而按字寻址就是0-2^10-1。

在上述的按字编址的1k*32bit的情况中,按字寻址的范围就是0-2^10-1。

看完了上面的内容,我们可以就可以避免以下的误区:并不是按字寻址导致了需要多余的地址线来表示字内字节的地址,而是因为按字节编址的电路就是这样设计的。如果存储器是按字节编址的,那其在按字寻址的时候,就需要减去供区分字节使用的地址线,用剩下的地址线来寻址,而之所以要减去,是因为按字寻址用不上这部分地址线,这部分地址线就是为区分字节而设计的!(所以要根据电路原理来分析,不要想当然的觉得剩下的地址线可以用来按字寻址,更不要将因果混乱,觉得是按字寻址导致了要减少地址线,这不是根本原因!)

接下来根据一些常见的题目,对上述做一个总结。

1)如果告诉你地址线和数据线的根数,要你求按字节寻址范围和按字寻址范围。

【分析】 看到按字节寻址一般是按字节编址的,那么求按字寻址范围的时候,就要注意减去区分字节的那部分地址线就好了。

(数据线的根数等于机器字长,不过一般题目都会默认机器字长等于存储字长。)

2)如果告诉你 1M*32bit 存储器,要你求其地址线和数据线的根数,

【分析】这样的情况,一般默认为按字编址,20根地址线,和32根数据线,一共52根线。

                如果要你求按字节寻址的范围,那么就要默认为按字节编址了,因为按字编址一般是不能实现按字节寻址的。那么就是0-2^22-1

3)如果告诉你 1MB容量的存储器,要你求地址线和数据线的根数。(没有告诉机器字长的情况下,就算告诉了机器字长,也是默认按字节编址。)

【分析】一般默认为 1M*8bit  按字节编址址,地址线20根,数据线8根,一共28根。

以上仅为个人见解,欢迎交流!

  • 19
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论
### 回答1: 的存储芯片组成,每个存储芯片有8个芯片选通引脚,每个字节由8个二进制位组成。请问该计算机主存的地址线数和存储容量是多少? 该计算机主存的地址线数为26根(2的26次方等于64m),存储容量为256m(64m乘以4)。 ### 回答2: 在计算机中,存储器是至关重要的一个组成部分,而计算机主存就是存储器的一种。计算机主存有很多种编址方式,而按字编址就是其中的一种。 某计算机主存按字编址,由4个64M的存储器组成。这意味着该计算机主存一共有256M字节的存储容量。每个存储器块都是由许多小的存储单元组成,而按字编址就是通过每个字节的地址来访问这些小的存储单元。例如,如果要访问第n个字节的存储单元,计算机就会按字编址方式来定位这个单元的地址,然后再读写其中的数据。 这种编址方式有很多优点,其中最明显的就是它可以每个字节地访问存储器单元,这极大地提高了存储器的利用率和存储效率。 同时,按字编址还可以减少存储器的浪费。因为在计算机存储器中,每个存储单元并不总是会完全被占用,而如果不按字编址,有可能会造成许多存储单元的浪费。而按字编址,每个存储单元之间只隔了1个字节,减少了浪费。 但是这种编址方式也有一些缺点。因为必须按字编址来访问存储器单元,计算机需要进行更多的地址计算,这会增加计算机的负载。 总的来说,按字编址是一种很实用的计算机存储器编址方式,可以提高存储器利用率和效率,但是也会增加计算机的负载。对于如果选择合适的编址方式,需要在提高存储器性能和减少计算负担之间做出折衷。 ### 回答3: 在此基础上,回答以下问题: 1. 该主存的地址总线有多少根,每根地址线能寻址多少字节? 根据题目所给的信息,该计算机主存由四个64m组成,也就是总容量为4×64m=256m。因为按字编址,所以相当于有256m个字节需要寻址。而2的8次方等于256,即256个字节需要使用8位二进制数来进行编址。因此,该主存的地址总线应该有8根,每根地址线能寻址1个字节。 2. 若该计算机的字长为16位,也就是每次从主存中读取16位,需要多少次读取才能读取完一个64m的区域? 一个64m的区域共有64×1024(将兆转换成字节)÷2 = 32768个字,每次读取16位,也就是2个字节,需要读取32768÷2=16384次才能读取完一个64m的区域。 3. 如果该计算机有256m的虚拟存储器,且分页大小为4k,那么虚拟地址空间和物理地址空间的大小分别是多少? 256m的虚拟存储器相当于2的28次方个字节,每个页面大小是4k,也就是2的12次方个字节,因此总共有2的28次方÷2的12次方 = 2的16次方个页面。而一个页面存放的是连续的4k字节,也就是2的12次方个字节,因此物理地址空间的大小应该是2的16次方×2的12次方=2的28次方个字节,即256m字节

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Z宇贤

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

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值