The First IBM PC’s Memory Organization

One of the most useful things we can learn about the inner workings of
our Pes is how the memory is organized and used. Knowing this helps us
understand how the PC works, comprehend what many of the practical
limits are on the kinds of work the PC can undertake, know how the display
screens work, and also learn the basis for the often-mentioned but littIe-understood 640K memory limit in the PC. All of that, and more, will
become clear when we take a look at the basic organization of the PC's
memory space.
We know, from seeing how the PC addresses memory through its
segment registers, that there is a fundamental limit on the range of memory
addresses that the PC can work with: a million different addresses, each
representing a distinct byte of memory. That means that the PC has an
address space of a million bytes.
A computer's address space is its potential for using memory, which
isn't the same thing as the memory that the computer actually has. However, the basic address space provides a framework for the organization of
the computer's workings. When the designers of a computer figure out how
it's going to be laid out, the scheme for the address space is a very important part of it. So let's see how the PC's designers laid out the use of the
PC's address space.
The easiest way to see it is to start by dividing the entire 1 megabyte
address space into 16 blocks of 64K each. We can identify each of these
blocks of memory by the high-order hex digit that all addresses in that
block share. So, the first 64K of memory we can call the 0 block, since all
addresses in that block are like this 0xxxx (in five-digit absolute address notation) or like this 0xxx:xxxx in segmented address notation). Likewise,
the second block is the I-block, since all addresses in that 64K begin with

  1. In the 1 meg address space, there are 16 blocks of 64K, which we'll call
    the 0-block through the F-block.
    It's very important to note, when we're talking about these blocks, that
    there is not a barrier of any kind between the blocks. Memory addresses
    and data flow in smooth succession through all of memory, and across the
    artificial boundaries that separate these blocks. We refer to them as distinct
    blocks partly for convenience, but mostly because the overall scheme for
    the use of the PC's one megabyte of memory is organized in terms of these