+ -
当前位置:首页 → 问答吧 → 物理地址为什么是段地址左移4位而不是16位?

物理地址为什么是段地址左移4位而不是16位?

时间:2010-12-18

来源:互联网

得到20位物理地址是段地址左移4位+偏移地址 感觉这样也有浪费啊
为什么不是左移16位 这样能表示32位的物理地址

作者: surongr   发布时间: 2010-12-18

在8086内部,能够一次性处理、传输、暂时存储的信息的最大长度是16位的。内存单元的地址在送上地址总线之前,必须在CPU中处理、传输、暂时存放,对于16位CPU,能一次性处理、传输、暂时存储16位的地址。
 

作者: znxllyuan   发布时间: 2010-12-18

8086地址线就是20位的,所以左移4位形成20位地址正好够用。在保护模式下,是根据描述符的段界限粒度位G的值。如果G=0,与实模式无异,如果G=1时段的界限被扩展为32位。

作者: masmaster   发布时间: 2010-12-18

段地址左移4位+偏移地址 仅仅是为了应付20位物理地址。

到32位物理地址的时候,是另一套搞法了。

作者: dengzikun   发布时间: 2010-12-18

地址总线是20位

只有20位哦 怎么传32位数据?

作者: znxllyuan   发布时间: 2010-12-18