The core of a computer has five parts:
A set of instructions called a program
The central processor that performs actions based on the instructions it receives from the program
A memory that provides a workspace for the processor to read the program and hold the results of its work
Inputs and outputs (known collectively as I/O) that allow the processor to communicate with the outside world
A special type of I/O device called a disk drive, or some other storage medium that stores programs and data
Figure 5.5 shows how these five elements interact with one another. The computer processor performs work, specified by a program, on input signals and stores it in memory while it waits for the next instruction from the program. When the process is complete, the processor either sends a signal to an output, stores it on the disk drive, or both.
Figure 5.5: A simple computer has five elements.
A modern personal computer can perform millions of processes every second. And it can handle either four or eight 8-bit bytes at a time (32-bit or 64-bit processing), so the total number of different I/O conditions is up in the hundreds of millions. This combination of high speed and extremely flexible I/O allows the computer to perform many types of work extremely quickly. But what does it take to move from processing bits to performing useful work?