注册 登录
编程论坛 汇编论坛

16位字长的机器里怎么提供20位地址的问题

最左边那个 发布于 2009-09-21 22:16, 1354 次点击
有这么一句话。

实际上,实模式就是为8086/8088而设计的工作方式,它要解决在16位字长的机器里怎么提供20位地址的问题,而解决的办法就是采用存储器地址分段的方法!

这一句,我也好几个比较迷惑的地方,希望大家可以给我详细的解释一下!谢谢了!

上面那句中,从“16位字长”得到的信息是,这机器以字为单位存储数据!这点应该没错!
“它要解决在16位字长的机器里怎么提供20位地址的问题”这一句中,我就很迷惑了,创造这东西的时候,每个字都给它一个20位的地址,然后8086/8088本身的地址总线就20位,不就刚好了嘛!
可从“它要解决在16位字长的机器里怎么提供20位地址的问题”中,它表达出“16位字长的机器”的正常下提供不了20位地址!

请问为什么啊?或者怎么理解这句话,这几个关键字的意思!?
请教高手!
1 回复
#2
onepc2009-09-22 08:41
16位下的时候他的地址空间最大就是2^16次方寻址能力。所以。是提供不了2^20次方的地址的。就是说他最大值只能是2^16的大小。超过了就不行了。。
寄存器是十六位的,但是经过地址加法器之后形成20位,所以加法器之后的总线是20位的。不然是不能送出去的。
就是说在寄存器里只能寻址2^16次方的地址空间。但是只要经过段加偏移就可以形成20位地址。
1