计算机的32位,64位是什么意思;如何计算寻址能力;逻辑地址与物理地址的关系?

计算机的32位,64位是什么意思;如何计算寻址能力;逻辑地址与物理地址的关系?

通常所说的32位,64位操作系统指的就是计算机内部一次性处理数据的位数,也称字长,位数越高,CPU处理数据能力越强。

以8位寄存器为例:

我们知道,

1Byte(字节) = 8bit(比特位,简称比特)

1KB = 1024B = 2102^{10}210B

1MB = 1024KB = 2202^{20}220B

所以1个字节的某一状态可由8位数(二进制,只能是0或1)组成:

如0 0 0 0 | 0 0 0 1 这8位数就代表1字节的一种状态,

8位二进制数总共能组合出282^828种状态,即282^828B;

同样的,16位操作系统的地址宽度为16位,

即0 0 0 0 | 0 0 0 0 | 0 0 0 0 | 0 0 0 1,这16位数就代表2个字节(1Word,即1个字)的一种状态,16位二进制数总共能组合出28∗28=2162^8*2^8=2^{16}28∗28=216种状态,即2162^{16}216B = 646464KB,一个16位寄存器的内存为64KB就是这么来的。

由于Intel 8086的地址总线为20位,可提供20位的物理地址,可由段地址+段内偏移地址(逻辑地址)得到。

故0 0 0 0 | 0 0 0 0 | 0 0 0 0 | 0 0 0 0 | 0 0 0 1这20位数就代表8086中的一个地址,20位二进制数总共能组合出24∗216=2202^4*2^{16}=2^{20}24∗216=220种状态,即2202^{20}220B = 102410241024KB=111MB;

所以:

8086/8088CPU的地址总线均为20位,8086/8088CPU的寻址范围为1MB;

8086有16根数据线和20根地址线,它既能处理16位数据,也能处理8位数据。可寻址的内存空间为1MB。

逻辑地址与物理地址的关系:

逻辑地址即是思维性的表示,由于8086的寄存器最大为16位,因此地址在寄存器中按16位大小存放,由段地址和偏移地址联合表示的地址类型叫逻辑地址,例如2000H:1000H(段地址:偏移地址)。

物理地址即是真实存在的唯一地址,是指的内存中各个单元的单元号,由8086有20条地址线,因此可寻址2的20次方(1MB),按2进制位表示规则,即有20位,这个就是物理地址。物理地址因为超过了寄存器大小(16位)因此无法直接存放,需要合成,公式为物理地址=段地址×10H+偏移地址,公式中的数据可从逻辑地址获得。

因此:

逻辑地址是16位的,因此范围是2的16次方,即64K。

物理地址是20位的,因此范围是2的20次方,即1M。

相关推荐

熟词僻义
江苏卫视365直播

熟词僻义

09-02 6538
过来人聊聊,达内教育口碑怎么样
好多假365平台

过来人聊聊,达内教育口碑怎么样

08-08 8883
次元晶体获取途径多,可按这个顺序追求自定义