# How it works : Computers

COMPUTERS
Ever since man began to count and do simple arithmetic he has tried to make the process easier and faster by the use of machines. From counting on his fingers, man progressed to using pebbles to represent numbers, and this led to the invention of the ABACUS (a form of digital computer), a device that is still widely used in many countries today.

A major advance in mathematics was the system of calculation by LOGARITHMS, devised by John Napier at the end of the 16th century and first published in 1614. Following this discovery, the English clergyman William Oughtred invented sliding scales, an early type of SLIDE RULE which, by its use of lengths to represent numbers, is in effect a form of analog computer. The abacus, which operates by counting rather than measuring, is in comparison a digital device.

The first mechanical CALCULATING MACHINES appeared during the 17th century. Blaise PASCAL produced a machine that could add and subtract, performing multiplication and division by repeated addition and subtraction. Some years later Leibniz invented a calculator which could perform all these functions individually.

The true ancestor of the modern computer was designed by Charles BABBAGE in the 1830s. This machine, the Analytical Engine, was never completed, but it was intended to perform any desired calculation automatically by means of a mechanical calculating unit controlled by punched cards. These punched cards, originally developed for the JACQUARD LOOM, formed the basis of the CARD HANDLING MACHINES developed by Dr Herman Hollerith in the 1880s.

Electronic computers
In 1944 Professor Howard Aiken of Harvard, in association with the International Business Machines Corporation, completed his Automatic Sequence Controlled Calculator (ASCC, or Mark I). This machine, a huge electromechanical calculator incorporating about three thousand telephone relays and controlled by punched paper tape, was over 50 feet (15m) long and eight feet (2.4 m) high: it took 0.3 second to add or subtract, 4.0 seconds to multiply, and 12.0 seconds to divide.

Two years later, at the University of Pennsylvania, Dr John Mauchly and J Presper Eckert completed the first electronic digital computer, the Electronic Numerical Integrator and Calculator (ENIAC). it contained over 15,000 VALVES [vacuum tubes] which produced a great deal of heat and developed frequent faults, but it could perform as much work in one hour as ASCC could in a week. Although instructions were stored internally, it took hours of manual rewiring to change programs.

Binary arithmetic
The early machines used the ordinary decimal system in their calculations, but this was soon superseded by computers using binary arithmetic, which is calculated to the base of two, rather than ten as in the decimal system. In binary, all numbers are represented by combinations of the digits 1and 0: for example 2 becomes 10 and 3 becomes 11, and 15 becomes 1111. To an electronic circuit a switch, or a switching device such as a TRANSISTOR or valve [tube], can be in one of two states: it can be 'on' (passing current) or 'off' (not passing current). if a '1' is represented in a circuit by a device in its 'on' state, and a '0' by a device in its 'off' state, any binary number can be represented by a combination of devices which are 'on' or 'off' to correspond with the binary digits of the number. in the LOGIC CIRCUITS of a computer, computation takes place through acceptance of data in binary form and processing it by means of on/off electronic pulses or signals. In computer terms, the name 'binary digit' is abbreviated to 'bit', and this name also applies to any device or signal that represents the digit in the circuitry. The bits are arranged into groups known as bytes and words. The number of bits in a group varies from one system to another, but for example there may be eight bits in a byte, and two bytes in a word.

Stored programs
After the development of ENIAC the next significant step in computer technology came in 1949 with the Mark I computer built at Manchester University, the EDSAC machine developed at Cambridge University, and a machine designed by John von Neumann's team at Pennsylvania, called the Electronic Discrete Variable Automatic Computer (EDVAC). These used binary logic, but more important was their use of a stored program or set of operating instructions to control the sequence of operations, instead of the instructions being routed through wires plugged into a perforated circuit board.

 Part of an early German computer, the Gamma 3. Made by Bull Electric in Cologne and Berlin in 1952, it was the first machine to use germanium diodes, which are semiconducting devices, in place of the thermionic vacuum diodes normally used at that time.

At the beginning of the 1950s many commercial organizations were working on the development of computers. The first of these machines to appear on the market were the Leo, made in Britain by a subsidiary of J Lyons, the catering company, and the UNIVAC I (Universal Automatic Computer), built in America by Eckert and Mauchly for Remington Rand and delivered to the US Census Bureau in 1952.

As transistors became more reliable and widely available during the 1950S the computer makers began to incorporate them into their designs, using transistorized circuits in many parts of the machines in conjunction with the valve [tube] circuits. In 1960 the Control Data Corporation marketed the first fully transistorized computer, and in the following years INTEGRATED CIRCUITS became an important feature of computer design. Improvements in computer peripherals, the input, output and storage devices such as card, tape and disk machines, have also been significant during the last twenty years.

Analog computers
Analog computers measure and work with continuously varying quantities such as temperature, speed and pressure. The first analog computers were mechanical, the numbers involved in the calculations being represented by the amount of rotation of shafts and gears or, as in the slide rule, by the movement of a graduated scale. Some early analog machines were made during the 19th century, but it was not until the 1930s that successful and accurate machines were made at such places as the Massachusetts Institute of Technology and Cambridge University. Ten years later several electronic analog computers were built in the USA, and in 1950 RCA produced the first accurate design Electronic analog computers work by converting the varying input numbers and quantities into correspondingly varying voltages, and then performing specified functions on these signals such as addition, multiplication or integration to produce output voltages that represent the results of the computations. Analog computers are used in scientific calculations and engineering design research, and in these cases the output voltages may be applied to PEN RECORDERS, which produce the results in the form of a graph or a diagram, or to GRAPHIC DISPLAYS that produce a trace on a CATHODE RAY TUBE screen.

They are also used in industrial process control, and in navigation equipment such as that in SPACE VEHICLES: in these cases the output signals can be used to control the operation of other mechanisms.

Digital computers
The digital computer works with numbers, or numbers that represent alphabetical characters, as opposed to the analog computer which works with varying quantities and measurements. It is essentially a very large and fast calculating machine, but it also has the ability to sort and compare information, and to analyze and store it for future reference. Its main advantage is its speed of operation, processing speeds being measured in terms of nanoseconds (thousand millionths of a second).

The first generation of machines, beginning with ASCC and ENIAC, were those based on valve [tube] circuits. The development of the transistor and other semiconducting devices led to the second generation of computers which used these in place of the valves; about 1965 the introduction of miniaturized integrated circuits to replace the transistors resulted in the third generation computers. With each advance in systems technology computers have become smaller and more powerful, a factor which has led to great increases in the ratios of cost to performance and which brings the prospect of computers in the home much nearer to reality.[As we all know - this HAS become a reality - JOS]

 Right: part of the electronics of a large computer system. The rapid development of semiconductor technology has led to the production of computers that are faster, smaller, cheaper and more powerful than would be possible using valve (vacuum tube) circuitry. Below: the processor console of a Univac computer system. The switches and indicator lights enable the computer operator to supervise the overall running of the system. Above: a view of an IBM computer installation, showing a visual display unit and the processor console.

Machine organization
A computer configuration consists of five main sections: input, storage, control unit, arithmetic and logic unit, and output. The actual machinery is known as the hardware; the information that is to be processed is the data, and the programs that instruct the machine in its operation are known as the software.

For reasons of size and cost it is not possible to store files of data permanently in the main storage (the MEMORY) of the system, and so a backing store, usually in the form of magnetic tape, magnetic disks or magnetic drums, is used for DATA STORAGE. These devices also act as input and output units, transferring data to and from the central processing unit (cpu).

The cpu
The control unit, arithmetic and logic unit and the main memory unit are physically combined to make up the central processing unit, although in very large systems there may be additional cabinets to house sections of the memory. All the program instructions are loaded into, and retained in, the main memory and all data to be processed is read into the memory from the input devices and held there while it is being processed. The memory may be in the form of magnetic core storage, thin film storage, or solid state devices such as integrated circuits.

The control unit reads the program instructions, and issues commands to the other parts of the system in order to carry out these instructions.

The arithmetic and logic unit performs computations as instructed by the control unit, adding, subtracting, multiplying, dividing and for comparing values. During calculation, numbers are stored in areas of the arithmetic and logic unit called registers. Information can be moved from one register to another. A simple ADD instruction will, for example, take a number from its register and add it to another in the accumulator) a type of register where the addition takes place. The result of the addition may be put into the memory to await further computation, passed to an output device such as a printer or display screen, or recorded in the backing store.

Input devices
Information is fed into the system in coded form through input devices such as card readers, magnetic tape, disk, and drum units, optical or magnetic character readers, paper TAPE READERS, or by direct entry from a keyboard.

The paper tape and punched card machines are relatively slow devices compared with the magnetic units, which are fast access storage devices that the control unit can call on at any time, extracting data from them and recording more onto them. Most modern tape and disk units can simultaneously 'read' and 'write' (record) data, which greatly increases their effective speed, and the latest disk units can transfer data at a rate of up to 2 million characters per second.

The transfer of information from source documents to the input media (data preparation) has to be done manually, which makes it slow and costly. Most computers can produce a printed output, but the acceptance of printed input presents a problem, as different sizes and types of print, unusual characters and unnecessary information make the direct input of non-standardized documents impractical. For this reason systems using optical CHARACTER RECOGNITION require the data to be typed or printed on standardized forms using a specially-designed typeface such as E13B or OCR-B, which is styled to avoid possible confusion between similar characters such as zero and capital 0.

Output devices
The purpose of an output device is to communicate the results of the computations to the operator in a usable form. Output devices currently in use include high speed LINE PRINTERS, graphic display units, typewriters, and paper tape and card punches. The paper tape and punched cards may be used for subsequent calculations and as methods of storing data in a convenient form that can be fed back into a machine without further preparation. As these machines are electromechanical, they are slow in operation compared with the speed of the main processor. For this reason, the cpu may put the results of a set of computations into a storage device called a buffer store, freeing its main store for the next set. The output devices will then read from the buffer store at their own speed, leaving the processor free for other work.

Line printers, so called because they print a complete line at a time, work at speeds up to 2000 lines per minute. The paper is in the form of a continuous perforated sheet with interleaved carbon paper, and after printing the sheets may be separated in a decollator. Output can also be generated in the form of graphs or diagrams by automatic plotters.

Time sharing
Input/output devices, such as typewriter terminals and visual display units incorporating keyboards, are used to enable the operator to communicate with the machine, either to give it instructions or to ask it questions. These may also be used as general input/output units and may be in a separate location, linked to the computer by telephone or radio circuits. A typical example of the use of these remote ON-LINE TERMINALS (directly connected to the main system) is in banking, where a terminal installed in a branch office can be used to check immediately on the status of a customer's account or to record deposits and withdrawals. In many systems it is possible to link a number of terminals to the machine simultaneously.

Such a system often involves time sharing, where the cpu handles more than one task at a time, splitting each one into a series of operations and then dealing with all these operations in a predetermined sequence until the tasks are completed. It may also use multiprogramming, loading the machine with several programs that are run concurrently so that the system can handle more than one rype of problem at a time. These operations are carried our in real time, that is, computation of the input data, revision of the data files, and display of the result follow almost immediately from the original enquiry, so if for example a customer has withdrawn some money from his account, the details of the transaction will be recorded, the new balance computed and displayed, and the account records updated, all in a matter of seconds. Other computing operations such as payroll calculations, where the data is accumulated over a period of time before processing, are called batch processing.

Programming
To enable the user to instruct and communicate with the machines it has been necessary to invent languages which are easier to use than the basic binary code of a. computer. Programs in the computer are used to translate these into the machine's own instruaions. In FORTRAN (FORmula TRANslation), for example, an instrucrion might say 'ADD X to Y at Z', where X and Y are numbers and Z is an accumulator or register. Another common scientific language is ALGOL (ALGOrithmic Language), which takes its name from algorithm, a set of instructions for solving a specific problem.

COBOL (COmmon Business Oriented Language) was developed as a more alphabetically based business language, so that instructions written in this language came nearer to ordinary language. It has therefore come to be one of the most widely used commercial programming languages, enabling people who are not trained programmers to participate in the writing of programs. A typical COBOL statement may simply be 'SUBTRACT TAX FROM GROSS GIVING NET'. Computer languages are often referred to as being 'high level' (near to man) or 'low level' (near to machine).

The basic software of a system comprises the machine language programs, compilers and assemblers to translate high level languages to machine code, and a program library of commonly used basic programs (routines and subroutines) that are frequently employed by a particular user. The main applications programs are written to instruct the machine to perform the specific data processing functions required by its user. All of these programs, with the principal exception of the main supervisori program, are usually kept in the backing store. The main supervisory program is loaded permanently into the main store, and it controls the other programs, bringing them temporarily from the backing store into the main store when rhey are needed.

A suite or group of computer programs combine to perform one specific job, for instance a payroll. A software system is a combination of various suites of programs to perform a broader task. For example, it will take several programs to evolve a production control system for a factory, include reports on stock movement, work in progress, purchasing, production line workloads and availability of raw materials. A systems analyst will examine the total problem, divide it into sub-groups and assign programmers to each sub-group to write the software.

Hybrid computing
There are situations when analog data has to be fed into a digital computer, and others when digital data has to be fed into an analog machine. This is done by feeding the data through analog to digital converters and through digital to analog converters. An example is in electrocardiogram analysis: heartbeat measurements are taken in analog form, converted to digital form and fed into a digital computer for analysis.

When digital machines are used for controlling production processes they are often dealing with continually changing quantities, temperatures and pressures for example, and this analog data is converted into digital for the machine to process it. On the basis of the data it receives the computer makes decisions, which are then converted back into analog form to control the machinery, pumps and actuator of the manufacturing plant.

The hardware used in mixed analog and digital computing usually consists of separate analog and digital computers, which are connected together via a hybrid interface. This interface is a piece of equipment which converts the analog data to digital form and vice versa.

Small systems
Many small organizations need some automatic data processing but do not have the resources or workload to justify a full computing system. Some of these companies will buy computer time from a bureau, using courier services for batch processing, or remote terminals. One compromise often used by subsidiaries of big companies is to use on-line terminals, connected to the main computer of the parent company by telephone circuits.

Increasingly, however, small organizations are setting up their own small systems based on 'mini-computers'. These systems have all the main features of a large computer, but have a lower performance in terms of speed of operation or quantity of data that they can handle. Many of these small systems are, however, quite powerful, and in some cases will support a number of local or remote terminals.

 Some of the machines used in a modern computer installation. Above is a high speed line printer capable of printing 1350 lines per minute. The machine on the left is a card reader, and behind it is a row of magnetic tape units.

Reducing hardware costs make it likely that more and more companies will opt for small systems, with larger organizations supplementing their existing systems with mini-computers, or even replacing large systems with a number of interconnected small systems.

A number of input/output (I/O) devices are used with these small systems, including printers, paper and magnetic tape units, and data collection units that record alphanumeric data-both letters and numbers-onto magnetic tape CASSETTES or small flexible magnetic disks ('floppy disks'). Many of these small systems are as powerful as some of the older full-size machines, but are much easier to use.

Reproduced from HOW IT WORKS p629