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

概述

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

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

内存限制

尽管寄存器的大小与以前的x86架构相比增加到了64位,但是现时的x86-64电脑不允许寻址到EB级别大小的存储器(Intel Xeon Scalable平台和AMD EPYC平台最多只支持到TB级别大小的存储器)。这是现时x86-64 CPU的限制。

参见