Read the following text, paying particular attention to the highlighted words.
Introduction to Computers
Although the computer has been in existence since the late 1940s, the idea of such a machine was first conceived as early as 1833 by Charles P. Babbage. He called it an Analytical Engine. It was conceived because of his frustration with the many errors produced by clerks in making their calculations.
Charles Babbage, a Professor of Mathematics at Cambridge University in England, wanted to build a machine capable of calculating any equation he cared to enter. It was never completed since there was one thing missing from the world in the early 19th century, namely electronics. Babbage was restricted to mechanical technology, i.e. cogs, levers, wheels. He was able to complete one part of the Analytical Engine and this can be seen today in the Computing Gallery of the Science Museum, in London. If you like mechanics, it is a beautiful construction. But the fact remains that it was not possible to build a mechanical computer. Had Babbage access to electronics, then he would most certainly have been the first person to build a computer.
In the event the world had to wait until the early 1940s for the first electromechanical computer. One of the early pioneers was Howard A. Aiken who coincidentally also came from Cambridge, but in Massachusetts in America.
Electronics is today the most convenient technology for constructing computers. Electronic devices such as transistors, diodes, capacitors and resistors form the basis of the modern computer.
Fortunately, we do not need to know anything about electronics in order to understand what computers can do and how they are programmed, apart from one most important factor. The electronic devices are called two-state devices and computers comprise millions of these two-state devices.
An electronic device need not be a simple two-state device. It could be three, four or more. However, designers of electronic components have found it easier (and, therefore, cheaper) to construct two-state devices. In the past, computer designers have built ten-state electronic components, but the resulting computer was expensive and complex. For this reason, all computers tend to rely on the two-state basic component.
A two-state device is something we are all familiar with. Take a tap; this may be in one of only two states at any given time - allowing water to flow (ON) or not (OFF). A light bulb is another example; it may be either passing an electric current (i.e. illuminated) or not passing an electric current (i.e. not illuminated). A two-state device then, like a switch on a wall, can be in only one of two possible states at any given instant, i.e. it may be either ON or OFF.
The two states that electronic devices in computers can take up are concerned with voltage levels. What is required is two clearly distinct voltages with no possibility of confusion between them. The output from one device provides the input to the next device, and this next device must be certain of detecting which of the two levels it is receiving. In practice, several combinations (pairs) can be used, depending on the application and the manufacturer. Such combinations are of this kind:
Computer people, however, do not like talking about voltage levels or the presence or absence of electrical charges. They prefer to represent the two voltage levels or the presence or absence of a charge in another way, namely by binary.
Binary is a number system. Since every number system has zero as one of its digits, and because binary comes from the Latin meaning twice or two, the only other digit it can have is 1. Binary, then, with its 0s and 1s, is a very convenient method of representing the two internal states of a computer's electronic components. Binary digits do not actually exist inside computers, only electrical charges (or voltages). So, for example, +5 volts can be represented by binary 1 and zero volts by binary 0 (i.e. the absence of a charge). Similarly for the other combinations shown above. However, we shall frequently talk about binary digits as though they do exist inside a computer. We must just make certain that we remember that this is only a convenient representation.
In the decimal number system, the ten digits 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 are used. Any value can be represented using one or more of these digits, for example 253. Any value can also be represented by binary digits, except that we can only use the two digits 0 and 1. Thus, 253(decimal) is 11111101 in binary. Later on we shall have more to say about binary. Let us now begin to look at the basic structure of a computer.
Basic Structure of a Computer
One method of introducing the basic structure of a computer is to present it with a problem to solve. In our case this will be a simple problem, one for which we would not normally use a computer. Suppose we want to find the largest number in a given set of numbers. If we were to engage a human colleague to solve this problem, two elements would be required. First, we would have to provide an instruction. This could be a simple statement, e.g. find the largest number in this set. Secondly, we would have to provide the list of numbers.
The computer will also require both these elements in order to solve a problem. The "instruction", however, will need to be much more detailed than the one given to a human being. It may involve perhaps as many as 15 separate instructions. We shall see the reason for this soon. You should note that instructing computers to perform various tasks involves a much more comprehensive set of details than we normally require when communicating with each other.
The total set of instructions to perform a given task is called a program. The list of numbers upon which the computer program works is called the data numbers, or data for short. Thus, like the human being a computer requires both instructions and data in order to solve a problem. The difference is that the program instructions are at a much more detailed level.
Memory Unit and Arithmetic Unit
The human colleague requires a memory in order to retain (store) the instruction. So does a computer. Therefore, one component unit of a computer must be a Memory Unit or store. However, no computation can take place in this unit. It is just a device for storing or retaining information.
If we recall, Charles Babbage wished his computer to perform calculations upon any equation he cared to enter. Thus, as a second unit there must be some device which can perform the four basic arithmetical functions of addition, subtraction, multiplication and division. This unit is called the Arithmetic Unit, or AU for short. It is in here that any computation is performed. This unit is also capable of comparing two numbers and deciding which is the smaller, the larger or whether they are equal. But how do numbers (data) get into the arithmetic unit from the memory unit?
The purpose of this third and final component, the Control Unit (or CU), is to pass numbers or other forms of data into the arithmetic unit and then "inform" this unit which arithmetic or comparison function to perform. Once the arithmetic unit has computed the result, the control unit passes it into the memory. The control unit, then, is the unit which controls the passage of data to and from the memory and the AU and, also, decides which arithmetic operation the program instruction has asked for.
These three units, the memory, the arithmetic unit and the control unit, are known collectively as the Central Processing Unit, or CPU for short. These are the three units common to all computers, no matter how large or small, how cheap or expensive.
Input and Output
How does a human being put information (data or program instructions) into the memory of the central processing unit? This is the purpose of a special device called an input device, which is also under the control of the control unit. An input device will convert the everyday characters which we use, into binary and pass them into the memory unit.
Once the program has processed the data ready to produce results, we would like to see them. We would find it difficult to read long strings of binary noughts and ones and, in consequence, an output device is used to convert binary patterns inside the CPU into our everyday characters. That is, it performs the opposite function to an input device.
There are many different types of input and output devices. Some are more suitable than others in given applications. Chapter 4 discuses the various types in detail. Here we need mention just two common devices. The Keyboard device is used for putting in information. This input device is very similar to an ordinary QWERTY typewriter (the first six letters being q-w-e-r-t-y), except that it has additional keys by which the user can communicate with the computer. Often, the keyboard has a screen attached which can display any information typed in by the user, or any information sent out by the central processing unit. Together, the keyboard and screen are called a VDU (visual display unit). If a printed copy is required, so that we can keep a record of computer output, then a hardcopy (i.e. printed) device is required.
The input and output devices are not part of the main CPU. They are on the periphery (edge) and are sometimes called peripheral devices.
If we look at a diagram of a computer, we see that the computing process is nothing other than a simple input-process-output system. This is something which we are all familiar with in many everyday situations. For example, baking a cake. The input is the collecting together of the various ingredients, the process is the mixing and the cooking, the output is the edible cake. Computing is not a magical procedure, it is a straightforward logical input-process-output procedure, in essence simpler to understand than the chemical reactions that go on inside a cake in the oven.
More about the Memory
The main memory of a computer (i.e. the memory unit) can often account for 50% of the total cost of the CPU. For this reason, its size is deliberately limited. The larger the main memory, the more expensive the computer becomes. To put this another way, computer manufacturers frequently limit the size of the memory in order to bring the computer within the purchasing power of the market to which they are selling.
Some computers, such as the Control Data Corporation (CDC) computer, have a very large memory and can contain as many as one million characters. This may appear to be large but, in practice, it is not large enough to contain all the programs and data for which a computer is used. A payroll application for a company with about a thousand employees will require several hundred thousands of characters just to hold all the data. The program instructions themselves will run into many thousands. Furthermore, a computer is not purchased simply to run a payroll; there will be invoicing, stock control, sales forecasting programs, as well as all the data each program requires. These cannot all be held inside the main memory. In any case, information inside the computer is lost every time the machine is switched off, rather like a television screen which loses its information (picture) when turned off.
Auxiliary Storage Devices
What is required is some form of additional (auxiliary) storage for all the programs and data whereby they can be retained on a permanent basis. These auxiliary storage devices (also called secondary or backing stores) are magnetic devices, similar to music cassette tapes and long-playing records.
Information stored on magnetic devices can be used time and time again, as with LP records which can be played over and over again with-out losing the original. On such devices, information may be held permanently in a computer system. When information on a magnetic device is required, it must be passed into the main or central memory of the CPU before it can be processed. In other words, only a copy of the information is transferred, leaving the original version still intact.
There are two main types of auxiliary storage device, magnetic tape and magnetic disc. One large tape can hold between 10 and 40 million characters; a large magnetic disc may contain in excess of 200 million characters. These devices are far cheaper than the main memory of the CPU and are discussed in Chapter 5.
Some people get worried about the vast volume of information held on auxiliary storage devices. They feel that, since the main memory is limited in size, the information which flows into it from auxiliary devices might flood or swamp the main memory. This could indeed be the case. However, programmers have to organise the information held on secondary storage devices into smaller units or groups, or blocks as they are more formally called. Suppose that a computer is running a payroll program. The information (data) is held on magnetic tape. Normally, a few, perhaps three, records (see Chapter 7), one for each employee, are transferred into main memory. The program will process these three and then transfer the results to the output device. The next three records will be brought in and processed, the results being transferred onto the same output device. This process is repeated until all the records of all the employees have been processed. In this way, by breaking up the data into blocks, the entire data file can be processed a few records at a time.
Hardware and Software
At a computer installation, the various units which we have discussed can be seen and touched. They will vary in colour, size and shape, depending upon the imagination of the computer manufacturer. These units are called the hardware of a computer. But by themselves they are useless, in the way that a taxi standing in the road is. By itself it cannot do anything. What is required is a taxi driver to come along and turn the hardware into a functioning whole by inserting the ignition key, pressing the various pedals, and manipulating the gear lever and the steering wheel. Computer hardware requires a driver in order to make the hardware function correctly. This "driver" is called software. The software operates and controls the hardware units and makes certain that they all work in unison. The more formal term for this special software is computer operating system software.
Even so, the taxi with its driver is not per-forming a service nor will the taxi driver earn his living. What is required is a passenger. Likewise the computer with its hardware and operating system software cannot perform a useful service until it is instructed to perform a specific job. It is the application program (such as a payroll, traffic control, space exploration) which turns the hardware and software into a useful system. Thus, there are three elements required by any computer system:
Now try the exercises: Exercise a, Exercise b, Exercise c.
Back to AWL Exercises: Contents