x86处理器的物理地址为什么是段地址*16+偏移地址?为什么要乘以16?
1个回答
展开全部
因为x86处理器地址总线是20位,最大管理1M内存,对应物理地址是00000H-fffffH
而内部数据总线、寄存器都是16位的,能表示的范围为0000H-ffffH
如何用16位寄存器表示20位?想到这样一种方式:
把两个16位寄存器相加得到20位,于是便有了
物理地址=段地址*16+偏移地址
相当于在16位地址后面加4个0,形成20位地址
具体过程如下:
段地址和偏移地址通过内部总线传入到地址加法器的部件;
地址加法器将两个16位地址合并为一个20位的物理地址;
而内部数据总线、寄存器都是16位的,能表示的范围为0000H-ffffH
如何用16位寄存器表示20位?想到这样一种方式:
把两个16位寄存器相加得到20位,于是便有了
物理地址=段地址*16+偏移地址
相当于在16位地址后面加4个0,形成20位地址
具体过程如下:
段地址和偏移地址通过内部总线传入到地址加法器的部件;
地址加法器将两个16位地址合并为一个20位的物理地址;
追问
这里所说的16是几进制的?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询