计算机组成原理——主存中存储单元地址分配理解

主存中存储单元地址分配深度理解

  • 例子一
  • 例子二
  • 总结

题记:复杂的问题事实上都很简单

例子一

假设说我们有一个16KB的存储器,那么他按字节、字、双字编址的寻址范围究竟是多少呢?
我们可以这么来理解。
存储器的存储单元数量 = 每一个寻址单元所含存储单元的数量 × 寻址单元的数量
而寻址单元的数量也就是我们所说的寻址范围了,因此,后文将寻址单元的数量替换为寻址范围
这里,存储器的存储单元数量是不变的,且等于 **2地址线根数**这么多个,一般题目会直接告诉你。抓住不变量,就方便进行求解了。

因此,我们有:

  • 如果是按字节寻址
    由题目知,这是一个16K × 1B的存储器,即该存储器有16K个存储单元,每个存储单元保存1B的数据。那么当按字节寻址时,由于一个字节占1B,因此每一个寻址单元所占存储单元的数量为1B / 1B = 1,故我们的每一个寻址单元所含存储单元的数量为1,因此寻址范围就是:
    存储器的存储单元数量 / 每一个寻址单元所含存储单元的数量 = 寻址范围
    16K / 1 = 16K

  • 如果是按字寻址
    同理,一个字占2B,则每一个寻址单元所含存储单元的数量就是
    2B / 1B = 2,因此寻址范围就是 16K / 2 = 8K

  • 如果是按双字寻址
    一个双字占4B,则每一个寻址单元所含存储单元的数量
    4B / 1B = 4,因此寻址范围就是 16KB / 4B = 4K

例子二

假设说我们的存储器的地址线有24根,其存储字长为8位,那么存储器按字节、字、双字编址的寻址范围究竟是多少呢?

  • 按字节寻址
    由题目知,存储器的存储单元数量 = 224个,且每个存储单元保存1B的数据,故每一个寻址单元所含存储单元的数量 = 1B / 1B = 1利用前面所给的公式,
    存储器的存储单元数量 / 每一个寻址单元所含存储单元的数量 = 寻址范围
    寻址范围 = 224 / 1 = 224

  • 按字寻址
    同理,寻址范围就是
    224 / 2 = 8M

  • 按双字寻址
    同理,寻址范围就是
    222 / 4 = 4M

总结

上述例子阐释了存储器的存储单元数量 / 每一个寻址单元所含存储单元的数量 = 寻址范围这个公式的用法,这样一来,逻辑就较为统一,比较好理解了。
当然,还有其他人的想法也很好,不妨参考他的见解。最后,贴一张这张图片,这张图片是课堂上截下的图片,当时没有听懂,实在惭愧。
计算机组成原理——主存中存储单元地址分配理解_第1张图片

你可能感兴趣的:(计算机组成原理)