长模式

维基百科,自由的百科全书
跳转至: 导航搜索

x86-64处理器架构中,当处于长模式(Long mode)时,64位应用程序(或者是操作系统)可以使用64位指令和寄存器,而32位和16位程序将以一种兼容子模式运行。

概述[编辑]

不在长模式下运行时,处理器支持真实模式保护模式两个子模式,在这两个模式下的x86-64处理器与x86-32处理器运行方式完全相同。

CPUID扩展属性域中的一个位可以令运行在真实模式或者保护模式的程序得知处理器能否转换到长模式,这使得程序能够检测是否使用了x86-64处理器。这类似于Intel IA-64处理器使用CPUID中的一个属性位来让程序检测自己是否运行在IA-32仿真模式下。

内存限制[编辑]

尽管寄存器的大小与以前的x86架构相比增加到了64位,但是物理内存的寻址能力却没有被充分扩展。这是对x86-64架构在当前的一些实现上有意加上的限制,因为目前任何计算机都不能从64位寻址上获得性能提升。它需要EiB(exbibyte)数量级大小的内存,而目前的众多CPU在其寿命期限之内都没有机会见识到如此巨大的内存。因此,为了降低制造成本,目前的CPU被限制在略少于64位寻址。注意,当前的这些限制可以(也极有可能)随着未来新型CPU微架构的发布而改变。结果就是,如果物理内存容量受限,即使开启全部的64位虚拟地址空间也没有用。后者因此被加以限制来节省成本。具体来说,CPU中可以节省成本的地方有读取/存储单元、缓冲存储器大小和MMUTBL的复杂程度。

参考[编辑]