基础知识(单位)
计算机的基本单位是位(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.
总结
一个字节对应一个内存单元,一个内存单元里面的位共用一个地址
按字节寻址的寻址空间只和地址线的位数有关,与计算机的字长无关,即地址线位数相同的计算机按字节寻址的寻址空间相同
按字寻址的寻址空间和地址线的位数以及字长有关,即不同字长的计算机按字寻址的寻址空间不一定不同