我正在阅读intel
software developer manual(第3.1节)。这是说
IA-32架构支持三种基本操作模式:受保护 模式,实地址模式和系统管理模式。
和
Intel 64架构增加了IA-32e模式。 IA-32e模式有两种子模式。
这两个子模式是Compatibility mode
和64-bit mode
。因此Intel 64
架构包含4种操作模式(保护模式,实地址模式,系统管理模式,IA-32e模式)。但我不明白Intel 64
需要什么样的保护模式? IA-32e的兼容性子模式允许运行传统的16位和32位应用程序而无需重新编译为64位操作系统,64位子模式允许操作系统运行访问64位线性地址空间的应用程序。我使用64位操作系统时使用保护模式的地方? IA-32e模式确保应用程序运行。
答案 0 :(得分:3)
我相信组织是这样的。在任何给定时间,整个CPU必须处于以下模式之一(不包括维护模式):
IA-32实模式:这就是处理器启动的方式。
IA-32保护模式: 32位执行环境。通常的保护机制正在发挥作用; CPU可以选择性地进入虚拟8086模式。
IA-32e模式:这仅适用于64位CPU。 CPU可以在兼容性和长模式之间选择性地移动。
也就是说,如果要执行任何 64位代码,则需要进入IA-32e模式。您现在可以基于每个段决定是以兼容模式执行32位代码还是以长模式执行64位代码。