IA-32 System Outline

The IA-32 architecture consists of three modes and a quasi-operational structure:
  • Real Mode: An 8086-compatible mode of operation, with some extensions.
  • Protected Mode: A basic operating mode of a processor in which all instructions and all features of the processor are available to achieve maximum performance.
  • The system management mode is a transparent management mechanism provided to the operating system to implement special operations such as power management.
  • Virtual 8086 mode is a quasi-operational mode that allows the processor to execute real-mode programs in protected mode.
Intel 64 architecture adds an IA-32e operating mode with two sub-modes
  • Compatibility mode, in which programs for most IA-32 architectures can be run unmodified
  • 64-bit mode, can use 64-bit linear address space and some newly added features. IA-32e no longer supports virtual 8086 mode
The default operating mode after the processor is powered up or reset is real mode.
  • The transition between real mode and protected mode is controlled by the PE bit in the control register CR0.
  • The transition between protected mode and IA-32e mode is controlled by the LME in the IA32_EFER register and the PE bit in CR0.
  • The transition between compatibility mode and 64-bit mode is controlled by the CS and L bits of the code segment register.
  • The transition between protected mode and virtual 8086 mode is controlled by the VM bits in the flags register EFLAGS.
The only way to enter system management mode is through an SMI interrupt, and executing the instruction RSM in system management mode switches the processor back to its original operating mode.