Why can we only access 1 MB when in real mode?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • jeyshree
    New Member
    • Jul 2010
    • 75

    Why can we only access 1 MB when in real mode?

    hello,
    i have heard about real and protected mode of memory addressing.they say that by using real mode we can only access 1MB of memory.why is it so?
    thanks in advance.
  • Oralloy
    Recognized Expert Contributor
    • Jun 2010
    • 988

    #2
    It has to do with the use of the segmentation registers in the architecture. On the old x86 processors, there were 20 address line, while the registers were 16 bit, with the "real mode" address computed as:
    Code:
    real-address = (segment-reg*16 + offset-reg) modulo 0x100000
    With the introduction of the 386 series of processors, more address lines were added and the register set was expanded to 32 bits. In these processors, the extended instruction set was capable of addressing much more than one megabyte; while the "original" instruction set maintained (mostly) the preexisting semantics.

    What this allowed was a (nearly) transparent transition of the various "DOS" operating systems on the much-more capable processors. There were a very few behavioral loopholes, but well-behaved programs did not take advantage of them.

    Cheers!
    Oralloy

    Comment

    Working...