80x86可以支持虚拟地址到64TB?
Intel手册中说,80x86可以支持虚拟地址到64TB?
对于x86架构的CPU来说,如果算上LDT,由于CS可以索引2^13=8192,所以加上基地址,可以达到8192 * 4GB = 32TB,再加上GDT的基地址,可以达到64TB。
但,这个只是断章取义,从部分结构上可以这么说。如果拿全局来说,仍然是4GB。
因为,对于GDT表,每一个表项中,基地址和界限最多是4GB。超过4GB的虚拟地址CPU就会出错!再者,地址总线也只有32位。
如果要真达到64TB,就只能改变x86的架构了。
PS:后来的PAE和X86_64不在讨论行列
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
更多
发布评论
评论(5)
偷换概念吧,呵呵,一个是总大小,一个是寻址空间,为了更大的地址空间,PAE出现了,呵呵
回复 4# wzypunk
其实,intel说逻辑地址可以达到64TB,就是在哗众取宠。没毛意思,哪个操作系统 on x86 32bit 上超过4GB了?
其实貌似那个64T就是你说的那种计算方法,地址空间是4G,但是所有进程可以使用的最大空间为64T,呵呵
回复 2# fineamy
当然有关系。
程序链接后是虚拟地址,PC里面存放的是虚拟地址,CPU发给MMU后,才转换为物理地址
地址总线数与虚拟地址空间有关系?