• 关于按字寻址和按字节寻址的理解


      我们先从一道简单的问题说起!

         设有一个1MB容量的存储器,字长32位,问:按字节编址,字编址的寻址范围以及各自的寻址范围大小? 

         如果按字节编址,则 

                         1MB = 2^20B 

                         1字节=1B=8bit 

                         2^20B/1B = 2^20 

         地址范围为0~(2^20)-1,也就是说需要二十根地址线才能完成对1MB空间的编码,所以地址寄存器为20位,寻址范围大小为2^20=1M

         如果按字编址,则

                          1MB=2^20B

                          1字=32bit=4B

                         2^20B/4B = 2^18   

          地址范围为0~2^18-1,也就是说我们至少要用18根地址线才能完成对1MB空间的编码。因此按字编址的寻址范围是2^18

    以上题目注意几点:

     

    1.区分寻址空间与寻址范围两个不同的概念,寻址范围仅仅是一个数字范围,不带有单位

    而寻址范围的大小很明显是一个数,指寻址区间的大小

      而寻址空间指能够寻址最大容量,单位一般用MB、B来表示;本题中寻址范围为0~(2^20)-1,寻址空间为1MB。

    2.按字节寻址,指的是存储空间的最小编址单位是字节,按字编址,是指存储空间的最小编址单位是字,以上题为例,总的存储器容量是一定的,按字编址和按字节编址所需要的编码数量是不同的,按字编址由于编址单位比较大(1字=32bit=4B),从而编码较少,而按字节编址由于编码单位较小(1字节=1B=8bit),从而编码较多。

     

    3.区别M和MB。

                            M为数量单位。1024=1K,1024K=1M

                            MB指容量大小。1024B=1KB,1024KB=1MB.

  • 相关阅读:
    jdk1.8StreamApi
    Python 【类的创建和类的实例化】
    Python【网络编程】
    Python 【图片转字符画】
    echarts 【图表的基本使用】
    Java 【Math】
    Java 【循环语句】
    Java 【instanceof使用】
    java【第三课 条件语句】
    Java【第二课 扫描仪 & 布尔数据类型】
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4248851.html
Copyright © 2020-2023  润新知