IBM PC Memory Architecture
Memory Overview
We already know, from earlier parts of this book, most of the underly
ing ideas about our PC computer's memory, so we really don't need to
introduce you to the fundamentals of computer memory. But, to help make
sure that we're on the right track, let's pause briefly to summarize the key
things that we know about computer memory. Then we'll be ready to dive
into the really interesting details of the memory's ins and outs.
The computer's memory is a scratchpad where working information
which includes both program instructions and data-is kept while it is being
worked on. For the most part what's in the computer's memory is tempo
rary working information, nothing permanent (for the exception, see the
discussion of read-only memory later in the chapter).
Our computer's memory is organized into units of bytes, each made up
of eight bits. With eight On-Off, Yes-No bits in a byte, each byte can take
on 256 distinct values. No matter what kind of information we are storing
in the memory, it is coded in some particular pattern of bits, which are
interpreted in whatever way is appropriate to the kind of data. The same bit
pattern can be seen as a number, or a letter of the alphabet, or as a particu
lar machine language instruction, depending upon how we interpret it. The
same memory bytes are used to record program instruction codes, numeric
data, or alphabetic data.
While the computer's memory is divided into bytes as its basic unit,
the bytes can be combined in any way that is needed to create larger aggregates of information. One of the most important is called a word, which is
two bytes taken together to form a single 16-bit number. (For an interesting
side-light on that, see the sidebar How Words are Stored.) When we interpret a series of bytes together as alphabetic text, it's called a character
string. There are endless ways to combine bytes into meaningful data, but
these are some of the most important.