「CPU」- 操作模式

Real mode (Intel 8086)

Real mode,Real address mode,是 x86 兼容的处理器的操作模式。在该模式下的地址 总是 对应内存的实际位置。Real mode 的特征是 20-bit 分段内存地址空间(字节寻址,提供恰好 1MiB 可寻址内存)以及无限制的直接软件访问所有可寻址内存、I/O 地址、外设。Real mode 不支持内存保护、多任务、代码特权级别。

在 80286 引入 Protected mode 之前,Real mode 是 x86 处理器唯一可用模式;并且为了向后兼容,当重置时,所有 x86 处理器都以 Real mode 启动,尽管在启动系统时可以在其他系统上模拟 Real mode。

历史

80286 引入 Protected mode,允许硬件级别的内存保护,但是使用该新特征要求为 Protected mode 专门设计新的操作系统。由于 x86 微处理器的主要设计规范是完全向后兼容为所有之前 x86 芯片编写的软件,因此 80286 从 Real mode 启动 —— 即在关闭新的内存保护特性的模式下,因此可以运行为 8086 与 8088 编写的操作系统。截至 2018 年,当前 x86、x86-64 处理器可以启动 Real mode 操作系统,并且可以运行多数为之前 x86 芯片编写的软件。

PC BIOS 在 Real mode 中操作,DOS(比如 MS-DOS、DR-DOS 等等),早期 Windows 也运行在 Real mode 下。后来部分操作操作系统开始在某些地方使用 Protected mode,比如 Windows/386、Windows 3.0 系统。Windows 3.1 删除对 Real mode 支持,这是首个至少需要 80286 处理器的主流操作环境。但是前面这些都不算现代操作系统,Unix、Linux、OS/2、Windows NT 3.x 才算的上是现代操作系统,它们从启动时将处理器切入 Protect mode,并且不在返回 Real mode,持续使用 Protected mode 优势。64-bit 操作系统会使用 Real mode,但是只是为了进入 Long mode。

另外,80286 的 Protected mode 比较原始,现代操作系统运行在 80386 的 Protected mode(386 Protected mode)。

寻址能力

8086、8088、80186 具有 20-bit 寻址总线,但是 Intel 为处理器采用的特殊分段寻址方案实际产生具有 21 个有效位的有效地址。

8080 emulation mode (NEC V20/V30 only)

Protected mode (Intel 80286)

当开启分页之后,通过段部件,在机器指令中的逻辑地址将转为线性地址,通过页部件,将线性地址转为物理地址。

Unreal mode (Intel 80286)

Virtual 8086 mode (Intel 80386)

System Management Mode (Intel 386SL)

Long mode (AMD Opteron)

Wikipedia/Long mode

x86 virtualization (Intel Pentium 4, models 6×2)