The Structure of a Computer
1. The general-purpose computer is a very powerful device, its power deriving from the fact that it can be turned into a machine for performing any particular specific calculating task. This transformation is effected by providing the computer with a program which is a set of instructions defining precisely the calculation to be performed. The language in which a program is expressed is called a programming language. There are a number of these in existence.
2. A programming language provides a special set of rules and a vocabulary that is related to a computer's operation. If this set of rules and specialized vocabulary is known to both the computer programmerand the computer itself, they can be used to create a computer program.
Early in the computer's evolution, the rulesand vocabulary of computer programming were known to only a very few people. But today, programming languages have been developed that are easier to use, and there are now hundreds of different English-like programming languages that can be used to program a computer.
3. Let us look at the broad structure of a computer. It consists of five components (input, store, arithmetic-logic, control, output). The program is held in a part of the store and we assume that it is there initially. The machine is always under the control unit which has a very simple operation: it takes an instruction from the store and causes it to be obeyed; then it takes the next instruction from the store and causes it to be obeyed, and so on. The instructions may:
a) cause some data to be read into the (other part of the) store;
b) cause some appropriate operations to take place on data held in the store.
4. We have assumed here that the program is initially in the store and that the data is available at input. The question is: how does the program get into the machine? The answer is it is read by another program which resides in the machine, called a compiler. The compiler not only reads in the program, but also converts it from the so-called source language into the language of the machine (the so-called object language).
5. We must, at this point, distinguish carefully the roles of the program and the data. In real life a program, once written, will be used unchanged on different sets of data perhaps over an extended time. Thus we conceive of the program as the very general component and the data as the component which makes it specific. The program, once properly developed, will reside, like the compiler, within the system and data will be presented at the input whenever the program is to be run. In an environmentwhere programs are being developed, however, we tend to use very simple data and present program and data together to the machine.