8

我正在阅读intel 软件开发人员手册(第 3.1 节)。据说这里

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

Intel 64 架构增加了 IA-32e 模式。IA-32e 模式有两个子模式。

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

4

1 回答 1

5

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

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

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

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

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

于 2013-12-31T00:06:50.670 回答