Intel opreation mode

本文阅读 6 分钟
首页 Linux,系统 正文

本文继续翻译 Intel vol3 chapter 2 :2.2章节,有些英文单词翻译成中文别扭的我会保留英文,不翻译。

1.1 IA-32 architecture

IA-32架构支持三种运行模式和一种准运行模式(quasi-operating mode): Protected mode:这是处理器的本机操作模式。 它提供了丰富的架构特性、灵活性、高性能和对现有软件库的向后兼容性。

Real-address mode:该模式提供了Intel 8086处理器的编程环境,带有一些扩展(例如切换到保护模式或系统管理模式的能力)。

System management mode (SMM):SMM 是所有 IA-32 处理器中的标准架构特性,从 Intel386 SL 处理器开始,此模式为操作系统或执行程序提供透明的机制来实现电源管理和 OEM differentiation features,SMM 通过激活外部系统中断引脚 (SMI#) 进入,该引脚生成系统管理系统中断 (SMI),在 SMM 中,处理器切换到单独的地址空间,同时保存当前运行的程序或任务的上下文。 然后可以透明地执行特定于 SMM 的代码。 从 SMM 返回后,处理器将回到 SMI 之前的状态。

Virtual-8086 mode:在保护模式下,处理器支持称为虚拟 8086 模式的准运行模式(quasi-operating mode)。 此模式允许处理器在受保护的多任务环境中执行 8086 软件。

1.2 Intel 64 architecture

Intel 64 架构支持 IA-32 架构和 IA-32e 模式的所有运行模式: IA-32e mode:在 IA-32e 模式下,处理器支持两种子模式:兼容模式和 64 位模式。 64 位模式( 64-bit mode):提供 64 位线性寻址并支持大于 64 GB 的物理地址空间。 兼容模式( compatibility mode):允许大多数传统的保护模式下的应用程序不用发生改变而运行。

下图是处理器在各个操作模式之间的转换: img (1)处理器在上电或复位后进入实地址模式。 然后控制寄存器 CR0 中的 PE 标志控制处理器是在实地址模式还是保护模式下运行。 img

CR0.PE:Protection Enable (bit 0 of CR0),设置时启用保护模式; 清零时启用实地址模式。 此标志不直接启用分页。 它仅启用段级保护。 要启用分页,必须同时设置 PE 和 PG 标志。

CR0.PG:Paging (bit 31 of CR0),设置时启用分页; 清除时禁用分页。 禁用分页时,所有线性地址都被视为物理地址。 如果没有同时设置 PE 标志(寄存器 CR0 的位 0),则 PG 标志无效; 在清除 PE 标志时设置 PG 标志会导致一般保护异常 (#GP)。 在Intel 64处理器上,启用和禁用IA-32e模式也需要修改CR0.PG。

(2)EFLAGS 寄存器中的 VM 标志确定处理器是在保护模式还是虚拟 8086 模式下运行。在保护模式和virtual-8086模式之间的转换通常作为任务切换或中断或异常处理程序的返回的一部分来执行。 img VM :Virtual-8086 mode (bit 17),Set to enable virtual-8086 mode; clear to return to protected mode。

(3)LMA 位(IA32_EFER.LMA[bit 10])确定处理器是否在 IA-32e 模式下运行。 在 IA-32e 模式下运行时,处于64 位模式还是兼容子模式操作由代码段的 CS.L 位决定。 处理器通过启用分页和设置 LME 位(IA32_EFER.LME[bit 8])从保护模式进入 IA-32e 模式。 img IA-32e Mode Enable: IA32_EFER.LME (R/W):Enables IA-32e mode operation. img

L (64-bit code segment) flag:在 IA-32e 模式下,段描述符的第二个双字( doubleword)的第 21 位指示代码段是否包含native 64-bit code。 值为 1 表示此代码段中的指令以 64 位模式执行。 值为 0 表示此代码段中的指令在兼容模式下执行。当不在 IA-32e 模式下或对于非代码段时,第 21 位保留,并应始终设置为 0。 备注:对于Intel处理器中,术语字(word)表示16位数据类型,双字( doubleword)表示32位数据类型。IA-32e 模式下,段描述符由两个双字( doubleword)组成,即8个字节。

(4)当处理器处于实地址、受保护、虚拟 8086 或 IA-32e 模式时,只要接收到 SMI,处理器就会切换到 SMM。 执行 RSM 指令后,处理器总是返回到 SMI 发生时的模式。

IA32_EFER MSR 提供了几个与 IA-32e 模式启用和操作相关的字段,它还提供了一个与页面访问权限修改相关的字段。IA32_EFER MSR寄存器布局如下图所示: img IA32_EFER MSR寄存器各个位信息如下图所示: img

该小章节翻译完毕,结束了。。。

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/weixin_45030965/article/details/124850404
-- 展开阅读全文 --
BUUCTF Web [极客大挑战 2019]Knife
« 上一篇 06-24
安全面试之XSS(跨站脚本攻击)
下一篇 » 07-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复