Sign in with
Sign up | Sign in

Processor Modes: Real Mode

Upgrading And Repairing PCs 21st Edition: Processor Specifications
By

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:

Mode
Real
IA-32
IA-32e
Submode
N/A
Protected
Virtual real
64-bit
compatibility
OS Required
16-bit
32-bit
32-bit
64-bit
64-bit
Software
16-bit
32-bit
16-bit
64-bit
32-bit
Memory Address Size
24-bit
32-bit
24-bit
64-bit
32-bit
Default Operand Size
16-bit
32-bit
16-bit
32-bit
32-bit
Register Width
16-bit
32/16-bit
16-bit
64-bit
32-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.

Ask a Category Expert

Create a new thread in the Reviews comments forum about this subject

Example: Notebook, Android, SSD hard drive

Display all 36 comments.
This thread is closed for comments
Top Comments
  • 11 Hide
    DelightfulDucklings , October 14, 2013 10:22 PM
    Very interesting article, I quite enjoyed the part about Cache memory
Other Comments
  • 5 Hide
    xkm1948 , October 14, 2013 9:13 PM
    Really nice intro article!
  • 11 Hide
    DelightfulDucklings , October 14, 2013 10:22 PM
    Very interesting article, I quite enjoyed the part about Cache memory
  • 2 Hide
    kindiana , October 14, 2013 10:27 PM
    nice article
  • 9 Hide
    burnley14 , October 14, 2013 10:29 PM
    One of the most interesting and informative articles I've ever read on the site. Great job!
  • 2 Hide
    aredflyingbird , October 14, 2013 10:41 PM
    Agreed, excellent article.
  • 2 Hide
    palladin9479 , October 14, 2013 10:55 PM
    Really good article, actually was spot on with how caching works.
  • 3 Hide
    AndrewJacksonZA , October 15, 2013 12:22 AM
    "Forward From The Editor"
    Shouldn't that be "Foreword?"
  • 3 Hide
    iam2thecrowe , October 15, 2013 2:23 AM
    I need more cache in my kitchen.
  • 0 Hide
    LalitMotagi , October 15, 2013 2:25 AM
    Great Article.
  • -1 Hide
    Rex Romero , October 15, 2013 2:30 AM
    Andrew. It's so advanced so it's forward. lol
  • 1 Hide
    groundrat , October 15, 2013 4:04 AM
    Excellent article.
  • 0 Hide
    ojas , October 15, 2013 5:22 AM
    Quote:
    For example, if you live on a street in which the address is limited to a two-digit (base 10) number, no more than 100 distinct addresses (00–99) can exist for that street (102). Add another digit, and the number of available addresses increases to 1,000 (000–999), or 103.

    Should be 10^2, 10^3, and in the next para, 2^x.
  • 0 Hide
    ojas , October 15, 2013 6:11 AM
    Quote:
    Note: Early versions of EM64T-equipped processors from Intel lacked support for the LAHF and SAHF instructions used in the AMD64 instruction set.

    This was very interesting, considering both instructions were supported even by the humble 8086.
  • 3 Hide
    spookyman , October 15, 2013 6:20 AM
    I have one still from 18 years ago. Still one of the best tech books I own. Though mine was just starting to touch the Intel Pentium processor. It even covered IBM's PS/2 computers and technology. Its amazing how much more hardware intensive PC's were back then they are now.
  • 0 Hide
    ojas , October 15, 2013 6:50 AM
    I ended up buying the 19th edition after last year's excerpts on Tom's Hardware, the 20th wasn't available in India then.

    These sections seem more or less unchanged, except for the mention of Ivy and Vishera, and i think the CPU-z screenshots are new as well.
  • 0 Hide
    AndrewJacksonZA , October 15, 2013 6:54 AM
    Quote:
    Quote:
    Note: Early versions of EM64T-equipped processors from Intel lacked support for the LAHF and SAHF instructions used in the AMD64 instruction set.

    This was very interesting, considering both instructions were supported even by the humble 8086.
    Apparently they were missing from the early 64bit CPUs from AMD and Intel. They appeared in March 2005 for AMD CPUs and June 2005 for Intel CPUs
    https://en.wikipedia.org/wiki/X86-64#Older_implementations

    Yet at the very least the 80386 supported them:
    http://css.csail.mit.edu/6.858/2011/readings/i386/LAHF.htm

    So it appears that it was an early-64 bit CPU issue only.
  • 0 Hide
    ta152h , October 15, 2013 9:04 AM
    I could only get to page three before being thoroughly disgusted by the lack of knowledge of the writer. How can he be writing books, without actually knowing the material?

    The Prescott introduced 64-bit to the Intel world, not the Core 2. Kind of common knowledge. The Athlon XP had a 36-bit address bus? I don't remember ever seeing that.

    Then we go to the misinformation about the 8086/8088 to 386.

    In actuality, there were four modes in the 80386. Real, Virtual 86, Protected 286, and Protected 386. Yup, four. And no, Windows 3.0 was not expected to run on an 8088 or 80286, because it DID use Virtual 86, which those processors could not support. You know, the part where they let you go from one DOS task to another. That was in the hardware. And that hardware started with the 80386.

    Moreover, the 80286 did NOT have the same instruction set as the 8086. Only in real mode did it. And why do you suppose it was called real mode? Maybe because the addresses were not virtualized? The 80286, as mentioned above, did have virtual addresses in what was called the 80286 Protected Mode. It not only ran Real Mode apps much faster, but when in Protected Mode was very capable of running multitasking Operating Systems, something that could not be done well on the 8086. It also increased the memory bus to 24-bits, albeit still using 64K bit segments.

    OS/2 1.x was the best example of an OS using 286 Protected mode, although any software using "Extended Memory" was taking advantage of the greater addressing of the 286, albeit in an inelegant way.

    I stopped reading after page three, as it's just discouraging to think people are writing books without being accurate. OK, so we have the author that got it wrong, fair enough, but what about the people who are supposed to error check it. I certainly don't know everything, and I know this stuff, and it's pretty basic. No one caught this? Are you kidding me? The 286 stuff might be a bit far away, but not knowing that x86-64 first appeared in the Prescott line is really difficult to understand, and is very basic. This is made more so because of all the rumors that the processor was made to support it, but Intel was hiding it so as to not undercut the Itanium. In time, it was proven true.

    Please, don't spread misinformation. Someone will repeat this stuff, and then someone else will, and it becomes 'fact' despite being wrong. If you publish a book, make a friggin effort! I'm sure I could errors the rest of the way, but it's just too annoying for me to wade through this rubbish.

    By the way, the term CPU bus is an ambiguous one. The CPU has multiple buses, and if you used that term with me, I'd wonder which one you were referring to. Find a more accurate term, like PCI-E bus if that's what you are trying to say.
  • -2 Hide
    ezorb , October 15, 2013 9:22 AM
    I feel that this is bellow the level of this website, even below the level of Maximum PC (which has a great podcast), this is the book my grandfather would buy if he wanted to try his hand at build a PC
  • -1 Hide
    hardrock40 , October 15, 2013 10:08 AM
    Really nice article well worth the read for sure.
  • -2 Hide
    ta152h , October 15, 2013 10:42 AM
    I could only get to page three before being thoroughly disgusted by the lack of knowledge of the writer. How can he be writing books, without actually knowing the material?

    The Prescott introduced 64-bit to the Intel world, not the Core 2. Kind of common knowledge. The Athlon XP had a 36-bit address bus? I don't remember ever seeing that.

    Then we go to the misinformation about the 8086/8088 to 386.

    In actuality, there were four modes in the 80386. Real, Virtual 86, Protected 286, and Protected 386. Yup, four. And no, Windows 3.0 was not expected to run on an 8088 or 80286, because it DID use Virtual 86, which those processors could not support. You know, the part where they let you go from one DOS task to another. That was in the hardware. And that hardware started with the 80386.

    Moreover, the 80286 did NOT have the same instruction set as the 8086. Only in real mode did it. And why do you suppose it was called real mode? Maybe because the addresses were not virtualized? The 80286, as mentioned above, did have virtual addresses in what was called the 80286 Protected Mode. It not only ran Real Mode apps much faster, but when in Protected Mode was very capable of running multitasking Operating Systems, something that could not be done well on the 8086. It also increased the memory bus to 24-bits, albeit still using 64K bit segments.

    OS/2 1.x was the best example of an OS using 286 Protected mode, although any software using "Extended Memory" was taking advantage of the greater addressing of the 286, albeit in an inelegant way.

    I stopped reading after page three, as it's just discouraging to think people are writing books without being accurate. OK, so we have the author that got it wrong, fair enough, but what about the people who are supposed to error check it. I certainly don't know everything, and I know this stuff, and it's pretty basic. No one caught this? Are you kidding me? The 286 stuff might be a bit far away, but not knowing that x86-64 first appeared in the Prescott line is really difficult to understand, and is very basic. This is made more so because of all the rumors that the processor was made to support it, but Intel was hiding it so as to not undercut the Itanium. In time, it was proven true.

    Please, don't spread misinformation. Someone will repeat this stuff, and then someone else will, and it becomes 'fact' despite being wrong. If you publish a book, make a friggin effort! I'm sure I could errors the rest of the way, but it's just too annoying for me to wade through this rubbish.

    By the way, the term CPU bus is an ambiguous one. The CPU has multiple buses, and if you used that term with me, I'd wonder which one you were referring to. Find a more accurate term, like PCI-E bus if that's what you are trying to say.
Display more comments