2.3 Computer systems
So far, I have introduced the major components of a computer, namely a processor along with input and output devices, plus main and secondary memory. I now want to explore three of these components a little further, starting with input devices.
Input devices have to collect some information from outside the computer and present it to the computer as data which is in a form the processor can work with. (Strictly speaking, ‘data’ is the plural of the Latin word ‘datum’. But in the world of computers ‘data’ is very often used in the singular, and this unit follows that practice.) It is useful to think of these as two separate functions:
‘capturing’ the information;
‘translating’ the information into a data form the processor can use.
Sometimes these two functions are done by a single physical entity; sometimes by two separate entities. When I am talking about input functions I shall use the term you have already met, ‘input device’, for whatever captures the information and the term input subsystem for whatever does the translation.
Similarly, output devices have to collect data from the processor in the processor's format and translate it into something that is meaningful outside the computer, and again it's useful to think of these as two separate functions:
‘translating’ from the data form the processor uses;
‘presenting’ the information.
Again, when I am talking about output functions I shall use the term ‘output device’ for whatever presents the information and the term output subsystem for whatever does the translation.
In the case of secondary memory, there are also two functions, though they are rather different. The secondary memory's function is simply to. hold stored data, and a secondary memory subsystem is used to prepare the data for storage and get it stored (when data is being sent to the memory) or to collect stored data and prepare that data for use by the processor (when data is being sent from the memory). Here is the subtle difference between ‘hard disk’ and ‘hard drive’ that I mentioned earlier: the hard disk is the secondary memory and the hard drive is the secondary memory subsystem. But remember that many people use the two synonymously (and hence ambiguously). Often the subtle distinction doesn't matter in a particular context, but it's worth being alert to the fact that the two terms are not strictly synonymous.
The diagram in Figure 3 shows all the functional blocks of a computer. That is, it shows all the functions performed within a computer. Some of the components in any particular example of a computer may perform more than one of the functions shown in Figure 3, so there may not always be a separate physical entity associated with each function shown in the diagram. For example, sometimes an output device and its associated output subsystem are housed together; in some small computers the processor and the main memory are even housed together. But, with the possible exception of secondary memory, any computer will have the functionality shown in Figure 3.
In Figure 3 the interconnecting lines show the data flows. The thick line running vertically down the page from the processor represents the computer bus. This is a data path that connects the input and output subsystems and the secondary memory subsystem to the computer's processor and main memory. It allows data to be transmitted from one part of the computer to another. Notice that this path has an arrow at each end, indicating that data can travel in both directions along it. The arrows on the other paths indicate that data can also travel both to and from the secondary memory, but data only travels in from the input devices and out to the output devices.
Figure 3 is an important diagram, and you will see it, and variations of it, again later in the unit. Figure 3 illustrates the fact that computers, however complex and ‘clever’ they may seem, do only the following tasks:
receive data from the outside world via their input devices;
store that data in their memory;
manipulate that data in their processor, probably creating and storing more data while doing so;
present data back to the outside world via their output devices.