We have used the word computer many times in the preceding paragraphs, and
although we did not say so explicitly, we used it to mean a mechanism that does
two things: It directs the processing of information and it performs the actual
processing of information. It does both of these things in response to a computer program. When we say "directing the processing of information," we mean figuring out which task should get carried out next. When we say "performing the actual processing" we mean doing the actual additions, multiplications, and so forth that are necessary to get the job done. A more precise term for this mechanism is a central processing unit (CPU), or simply a processor.
Fig. 1: A processor board, vintage 1980s
Twenty years ago, the processor was constructed out of ten or more 18-inch
electronic boards, each containing 50 or more electronic parts known as integrated circuit packages (see Figure 1). Today, a processor usually consists of a single microprocessor chip, built on a piece of silicon material, measuring less than an inch square, and containing many millions of transistors (see Figure 2).
Fig. 2: A microprocessor, vintage 1998
However, when most people use the word computer, they usually mean more
than the processor. They usually mean the collection of parts that in combination form their computer system (see Figure 3).
Fig. 3: A personal computer
A computer system usually includes,
in addition to the processor, a keyboard for typing commands, a mouse for clicking
on menu entries, a monitor for displaying information that the computer system
has produced, a printer for obtaining paper copies of that information, memory for
temporarily storing information, disks and CD-ROMs of one sort or another for
storing information for a very long time, even after the computer has been turned
off, and the collection of programs (the software) that the user wishes to execute These additional items are useful in helping the computer user do his or her
job. Without a printer, for example, the user would have to copy by hand what
is displayed on the monitor. Without a mouse, the user would have to type each
command, rather than simply clicking on the mouse button.
So, as we begin our journey, which focuses on how we get less than 1 square
inch of silicon to do our bidding, we note that the computer systems we use
contain a lot of other components to make our life more comfortable.
The computer is a deterministic system-every time we hit
it over the head in the same way and in the same place (provided, of course, it was
in the same starting condition), we get the same response. The computer is not
an electronic genius; on the contrary, if anything, it is an electronic idiot, doing
exactly what we tell it to do. It has no mind of its own.
What appears to be a very complex organism is really just a huge, systematically interconnected collection of very simple parts. Our job throughout this course is to introduce you to those very simple parts, and, step-by-step, build the
interconnected structure that you know by the name computer. Like a house, we will start at the bottom, construct the foundation first, and then go on to add layers and layers, as we get closer and closer to what most people know as a full-blown computer. Each time we add a layer, we will explain what we are doing, tying the
new ideas to the underlying fabric.
How We Will Get There
We will start by noting that the computer is a piece of electronic
equipment and, as such, consists of electronic parts interconnected by wires.
Every wire in the computer, at every moment in time, is either at a high voltage or
a low voltage. We do not differentiate exactly how high. For example, we do not
distinguish voltages of 115 volts from voltages of 118 volts. We only care whether
there is or is not a large voltage relative to 0 volts. That absence or presence of a
large voltage relative to 0 volts is represented as 0 or 1.
We will encode all information as sequences of 0s and 1s. For example, one
encoding of the letter a that is commonly used is the sequence 01100001. One
encoding of the decimal number 35 is the sequence 00100011. We will see how
to perform operations on such encoded information.
Once we are comfortable with information represented as codes made up
of 0s and Is and operations (addition, for example) being performed on these
representations, we will begin the process of showing how a computer works.
we will see how the transistors that make up today's microprocessors work. We will further see how those transistors are combined into larger structures that perform operations, such as addition, and into structures that allow
us to save information for later use. we will combine these larger
structures into the Von Neumann machine, a basic model that describes how a