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

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

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

例子一

假设说我们有一个16KB的存储器,那么他按字节、字、双字编址的寻址范围究竟是多少呢?
我们可以这么来理解。
存储器的存储空间 = 每一个寻址单元的容量 × 寻址单元的数量
而寻址单元的数量也就是我们所说的寻址范围了
因此,我们有:

  • 如果是按字节寻址
    一个字节占1B,故我们的寻址单元的大小为1B,因此寻址范围就是:
    存储器的存储空间 / 每一个寻址单元的容量 = 寻址范围
    16KB / 1B = 16K

  • 如果是按字寻址
    一个字占2B,因此寻址范围就是 16KB / 2B = 8K

  • 如果是按双字寻址
    一个双字占4B,因此寻址范围就是 16KB / 4B = 4K

例子二

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

  • 按字节寻址
    因为存储器的存储单元默认为字节,因此,寻址范围自然就是
    224=16M

  • 按字寻址
    根据例子一的公式
    存储器的存储空间 = 每一个寻址单元的容量 × 寻址单元的数量
    那么因为寻址单元的容量增加了一倍,故寻址单元的数量减少一半,寻址范围自然就是
    223=8M

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

总结

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