计组_CPU寻址范围(空间)——按字节寻址和按字寻址

基础知识(单位)

  计算机的基本单位是位(bit),缩写为b,而一个字节(Byte)等于8个位,缩写为B,即
  1 Byte = 8 bit 注意b的大小写
  1字节等于8位,这是对所有计算机都成立
  1个字等于多少字节,不同位数的计算机是不一样的。例如32位计算机的字长为4 Byte,64位的字长为8 Byte。
  1 GB = 210MB = 220KB=230B
区别M和MB:

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

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

  现代计算机一般是按字节编址,即一个字节对应一个内存单元

地址线

  用于传输地址信息的数据线,一根地址线可以通过高电平或低电平来区分1或0,因此一根地址线有两个状态:1或0,那么n根地址线可以表示2^n个不同的状态,每个状态对应一个地址。
  一个内存单位类似一个房间,即一个字节对应一个房间,字节里面的一个位对应房间里面的床位(固定8个),而一层楼对应一个字,存储器就是一栋大楼。按字节编址是指根据房间号进行区分房间。

寻址空间(不带单位)

  字节地址是指地址线的状态(地址)对应一个字节
  字地址是指地址线的状态(地址)对应一个字,每个存储子包含若干个字节,用该字的高位字节的地址来表示。字地址是不连续的,例如0,4,8, …
  根据第i个字(i=0,1,2,…)求其字地址:
    一台计算机的字长为n位(即n/8=2k B),第i字节的字地址=i的二进制数左移k位
    例如,一台字长为32位的计算机,即k=2,那么第2个字节的字地址为2= ( 0010 ) 2 (0010)_2 (0010)2左移2位得到 ( 1000 ) 2 (1000)_2 (1000)2=8
  假设有两台计算机A和B,地址总线都是24根,字长分别为32位,16位。
  1) 按字节寻址:
    A,B的寻址空间都是224B/1B =224=16M
  2)按字寻址:
    A:1 Word = 32/8B=4B
      寻址空间:224B/4B=222=4M
    B:1 Word = 16/8B=2B
      寻址空间:224B/2B=223=8M

  刚学计组和汇编的时候,一直对寻址能力有个疑惑:为什么结果不用/8,一个字节等于8位。(按字节寻址)
现在想通了,计算机是按字节编址了,一个地址对应一个内存单元,一个内存单元里面的位都共用一个地址,相当于一个房间里面的床位都共用一个房间号。如果按位编址(一个地址对应一个位)的话,那就要/8.

总结

  一个字节对应一个内存单元,一个内存单元里面的位共用一个地址
  按字节寻址的寻址空间只和地址线的位数有关,与计算机的字长无关,即地址线位数相同的计算机按字节寻址的寻址空间相同
  按字寻址的寻址空间和地址线的位数以及字长有关,即不同字长的计算机按字寻址的寻址空间不一定不同

相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页