Skip to main content

Upgrading And Repairing PCs 21st Edition: Processor Specifications

Processor Modes: Real Mode

All Intel and Intel-compatible processors from the 386 on up can run in several modes. Processor modes refer to the various operating environments and affect the instructions and capabilities of the chip. The processor mode controls how the processor sees and manages the system memory and the tasks that use it.

The following table summarizes the processor modes and submodes:

SubmodeN/AProtectedVirtual real64-bitcompatibility
OS Required16-bit32-bit32-bit64-bit64-bit
Memory Address Size24-bit32-bit24-bit64-bit32-bit
Default Operand Size16-bit32-bit16-bit32-bit32-bit
Register Width16-bit32/16-bit16-bit64-bit32-16-bit
*IA-32e (64-bit extension mode) is also called x64, AMD64, x86-64, or EM64T.

Real Mode

Real mode is sometimes called 8086 mode because it is based on the 8086 and 8088 processors. The original IBM PC included an 8088 processor that could execute 16-bit instructions using 16-bit internal registers and could address only 1 MB of memory using 20 address lines. All original PC software was created to work with this chip and was designed around the 16-bit instruction set and 1 MB memory model. For example, DOS and all DOS software, Windows 1.x through 3.x, and all Windows 1.x through 3.x applications are written using 16-bit instructions. These 16-bit OSs and applications are designed to run on an original 8088 processor.

Later processors such as the 286 could run the same 16-bit instructions as the original 8088, but much faster. In other words, the 286 was fully compatible with the original 8088 and could run all 16-bit software just the same as an 8088, but, of course, that software would run faster. The 16-bit instruction mode of the 8088 and 286 processors has become known as real mode. All software running in real mode must use only 16-bit instructions and live within the 20-bit (1 MB) memory architecture it supports. Software of this type is usually single-tasking—that is, only one program can run at a time. No built-in protection exists to keep one program from overwriting another program or even the OS in memory. Therefore, if more than one program is running, one of them could bring the entire system to a crashing halt.