Elements of a computer
3.25 A computer has five basic physical components:-
(a) some means of accepting input and converting
it into binary form typically a keyboard or sensor;
(b) memory in which to store program instructions
and other data (whether as input or the result of computation);
(c) a central processor unit (CPU) for executing
the instructions and manipulating the data;
(d) some means of producing output typically
a screen, printer or instructions to some other device; and
(e) appropriate connections between the various
components.
3.26 Our main interest is in the CPU
the device that does the actual computation where the
most advanced chip technology is found. (Chips also provide a
computer's main operating memory, and also help power its input
and output devices.) However, a fast CPU can make a computer fast
only if it is supported by adequate memory and sufficiently fast
internal and external connections.
3.27 The design of CPUs and the general architecture
within which they operate are essential complements of the hardware
itself. These matters are discussed further in Chapter 5.
Computing performance
3.28 At the machine level, a computer program
is a series of numbers to which the CPU reacts in appropriate
ways. Computers have no intelligence. They need to be given highly
detailed instructions covering every single step of moving and
manipulating numbers around the machine to accomplish the outcome
the programmer designed the application to achieve. That computers
appear clever is the result of well-designed applications and
the blistering speed at which CPUs work through the step-by-step
instructions modern PCs deal with billions[19]
of instructions per second.
3.29 The greater the computer speed available,
the more sophisticated the applications can become. Speed can
be increased in three ways:
(a) by making the transistors and other components
on the chip smaller[20]
the consequently reduced gate-length[21]
means that they can switch more quickly and, because the speed
of electrical signals is effectively fixed, the smaller distance
between components reduces the time for signals to travel between
them;
(b) by using the greater number of components
per chip to design more powerful CPUs; and
(c) by using multiple CPUs, appropriately configured
for parallel processing.
The first is achieved by improvements in manufacturing
techniques as discussed in Chapter 4. The last two flow from improvements
in design and architecture, discussed in Chapter 5. (The parallel
processing of the last also makes specialised demands on the software,
see paragraph 5.8.)
3.30 Driving CPUs at the highest possible speed
provides top of the range performance. This is highly desirable
for supercomputers and other computers (such as internet servers)
handling large volumes of data. This is also proving essential
for PCs: as users find to their cost, machines more than a few
years old cannot deal with the latest applications.
3.31 However, for some purposes particularly
for dedicated computing that is built into products[22]
top speed may not be of the essence. In these cases, the
miniaturisation of components means that the same speed can be
achieved but at lower cost and power consumption, with obvious
advantages for, respectively, sales and battery life in mobile
appliances.
9