为什么在英特尔x86 64位CPU中,除了兼容模式外,还需要保护模式?

为什么在英特尔x86 64位CPU中,除了兼容模式外,还需要保护模式?,x86,cpu,x86-64,protected-mode,X86,Cpu,X86 64,Protected Mode,我正在读《英特尔》(第3.1节)。据说 IA-32体系结构支持三种基本操作模式:受保护 模式、实地址模式和系统管理模式 及 Intel 64体系结构添加了IA-32e模式。IA-32e模式有两个子模式 这两个子模式是兼容模式和64位模式。因此,英特尔64体系结构包含4种操作模式(保护模式、实地址模式、系统管理模式、IA-32e模式)。但我不明白英特尔64需要什么样的保护模式?IA-32e的兼容性子模式允许运行传统的16位和32位应用程序,而无需重新编译到64位操作系统,64位子模式允许操作系统运

我正在读《英特尔》(第3.1节)。据说

IA-32体系结构支持三种基本操作模式:受保护 模式、实地址模式和系统管理模式

Intel 64体系结构添加了IA-32e模式。IA-32e模式有两个子模式


这两个子模式是
兼容模式
64位模式
。因此,英特尔64体系结构包含4种操作模式(保护模式、实地址模式、系统管理模式、IA-32e模式)。但我不明白英特尔64需要什么样的保护模式?IA-32e的兼容性子模式允许运行传统的16位和32位应用程序,而无需重新编译到64位操作系统,64位子模式允许操作系统运行访问64位线性地址空间的应用程序。当我使用64位操作系统时,在哪里使用保护模式?IA-32e模式确保了应用程序的运行。

我相信组织是这样的。在任何给定时间,整个CPU必须精确处于以下模式之一(不包括维护模式):

IA-32实模式:这是处理器开机的方式

IA-32保护模式:32位执行环境。通常的保护机制正在发挥作用;CPU可以有选择地进入虚拟8086模式

IA-32e模式:这仅在64位CPU上可用。CPU可以有选择地在兼容性和长模式之间移动


也就是说,如果要执行任何64位代码,需要进入IA-32e模式。现在,您可以按段来决定是在兼容模式下执行32位代码,还是在长模式下执行64位代码。

对于启动从未听说过IA-32e模式的操作系统的计算机来说,这是一个替代品。向后兼容性对于让新的芯片设计快速开始销售非常重要。事实上,你失去了一个,即IA-32e模式不支持的V8086模式。我建议您查看x86和Windows历史记录,然后您就会得到答案。通常64位操作系统在引导后根本不使用保护模式。纯保护模式适用于32位操作系统。