百科问答小站 logo
百科问答小站 font logo



386处理器的64TB的虚拟寻址空间,对我们的使用,有什么现实意义吗? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

没意义,或者说书是错的。

书的意思是想表达【段:地址】的总组合数是64TB,但这个组合数对实际编程而言没有任何意义。

因为对于CPU来说,CS:EIP或者SS:ESP这种逻辑地址的形式,最终都要翻译成线性地址的,不管前面的组合有多少种,32位模式下线性地址的地址空间只有4G,在这里就限制死了,根本不存在64TB一说。

或者更直观的说FFF0:FFFFFFFF和0008:00000000看着差别很大,但永远都限制在4G线性地址空间内,不管这种组合有多少种。写书的人是从16位时代过来的,16位时代【段:地址】的组合还有点意义,到32位时代就完全变了。

而且,书上用“虚拟空间”的说法也明显不妥,应该是作者自己生造的概念,如果是指虚地址的话,虚地址空间也只有4G(32位模式下)。

另外,有没有特权指令权限也是没有用的,不管怎么改变GDTR或者LDTR,线性地址只有4G,访问超过4G物理地址是通过扩展页表实现的,不是通过段实现的。




  

相关话题

  可以预先将 X86 平台机器码译码到 micro operations 来解决 X86 译码效率低吗? 
  超线程的两个线程资源是动态分配的还是固定一半一半的? 
  不同x86体系结构下的汇编语言是可以移植的吗? 
  c语言程序经过编译后,每条指令都有一个内存地址,那两个程序如果有相同内存地址的指令怎么办? 
  CPU 和 GPU 的区别是什么? 
  GPU核心为什么会以显卡这种形式进行销售? 
  假如将 CPU 等比例(物理)放大 100 甚至 1000 倍,会发生什么? 
  为什么AMD说最强游戏CPU是5900x,而不是5800x或者5950x? 
  服务器 CPU 为什么不用 12 代酷睿的「大小核」? 
  AMD 锐龙4000系列性能上比Intel强,为什么价格却比Intel酷睿便宜这么多? 

前一个讨论
为什么汇编mov指令不能用lock前缀?
下一个讨论
CS:IP寄存器多任务模式下是怎么设置的?





© 2025-05-21 - tinynew.org. All Rights Reserved.
© 2025-05-21 - tinynew.org. 保留所有权利