omycle 发表于 2010-12-17 10:14

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不在讨论行列

fineamy 发表于 2010-12-17 10:36

地址总线数与虚拟地址空间有关系?

omycle 发表于 2010-12-17 10:40

回复 2# fineamy


    当然有关系。

程序链接后是虚拟地址,PC里面存放的是虚拟地址,CPU发给MMU后,才转换为物理地址

wzypunk 发表于 2010-12-17 12:25

其实貌似那个64T就是你说的那种计算方法,地址空间是4G,但是所有进程可以使用的最大空间为64T,呵呵

omycle 发表于 2010-12-17 15:17

回复 4# wzypunk


    其实,intel说逻辑地址可以达到64TB,就是在哗众取宠。没毛意思,哪个操作系统 on x86 32bit 上超过4GB了?

wzypunk 发表于 2010-12-18 07:37

偷换概念吧,呵呵,一个是总大小,一个是寻址空间,为了更大的地址空间,PAE出现了,呵呵
页: [1]
查看完整版本: 80x86可以支持虚拟地址到64TB?