Sei sulla pagina 1di 5

Computer Engineering

clemence
Chapter 1

The Evolution of Computer Systems

1.1 Pre-Electronic Computation


To get some idea of the enormous strides that have been made in the development of computers, it is
useful to take a brief look at the work done in the days before the rise of electronics. A series of
fascinating attempts were made over the centuries to achieve machines which would calculate with
numbers, or control the operation of machines. Some of the more famous names are:-
1617 - John Napier
Produced a set of cards (known as ‘‘Napier’s Bones’’) giving a means of mechanically
multiplying, dividing and taking square roots.
1641 - Blaise Pascal
Invented a device with ten numbered wheels and a series of gears, similar to today’s adding
machines - used to add and subtract by turning a handle.
1673 - Gottifried Leibnitz
Improved Pascal’s machine to add, subtract, multiply, divide and take roots.
1804 - Joseph Marie Jacquard
Automated the weaving process using a system of punched cards.
1812 - Charles Babbage
Started building his difference engine, followed by his analytical engine, to make numerical
calculations. Hindered by lack of precision in manufacture of the mechanical parts. Several
of Babbage’s concepts are still of value in today’s computer design.
1875 - Frank Stephen Baldwin
Granted first U.S. patent for a practical calculating machine that could add, subtract,
multiply and divide.
1933 - Vannevar Bush
Developed an electromechanical computing machine.

1.2 The Electronics Revolution and the Computer Age


Several, often quite unlikely, factors contributed to the incredible developments in electronics in the
mid-twentieth century. Figur
e 1 .1 summar ises the mai
n contributors, and it is clai
med that the peculiar com
bination of historical, soci
al and scientific circ
umstances during and after
the Second World War proj
ected the western world into
the electronics age.
Among these factors wer
e the Cold War, the Viet
nam War and the Space Rac
e.

Fig. 1.1 Factors stimulating the Electronics revolution


Just as historians enjoy
dividing the

1
Computer Engineering

development of civilisation into ‘‘ages’ ’ , we can divide the story of electronics into the five such
periods, shown in Figure 1.2.

But Computer Engineering is not just electronics. It also involves software, operating systems, user
interfaces and data communications. We can present the developments in computer technology as a
series of ‘‘generations’ ’ , as shown in Figure 1.3.

Fig. 1.3 Computer Generations

1.3 The First Generation of Computers (1945-55)


1.3.1 Vacuum tubes and plug boards
The first electronic computers were all programmed in absolute machine language. Originally this was
done by wiring up plugboards to perform the machine’ s basic functions, but later punched cards were
used to enter programs. The ENIAC machine is reckoned to be the first real electronic computer. It
was succeeded by other machines, making use of Von Neumann’ s Stored Program Control concept.

2
Computer Engineering

1.3.2 ENIAC (Electronic Numerical Integrator and


Calculator)
This machine was designed by J.W. Mauchly and J.P
Eckert at the University of Pennsylvania. It had no stored
program, but was operated by switches and plug-in
connections to patchboards. There are many strange stories
about ENIAC - that the lights in West Philadelphia
would dim when it was turned on; that the starting
transient current would burn out at least three vacuum
valves each time. Certainly ENIAC was huge, power-
hungry and filled with unreliable valves. Nevertheless it
did useful work at the Ballistic Research Laboratories in
Maryland from 1946 until 1955.
One fundamental aspect of the electronic computer was
that of ‘‘memory addressing’ ’ , whereby numbers would be
stored in the machine, at locations in the memory system
known to the operator. The numbers were called the
DATA, and the locations the ADDRESSES, as shown in
Figure 1.4.
Fig.1.4 Memory addressing

1.3.3 Enter John von Neumann


Von Neumann, along with others, is credited with proposing
the Stored Program Computer. The novelty of this proposal
was that instead of giving the instructions to the machine
manually, or on punched cards, they could be stored in the
computer’ s memory in the same way as the numerical data
of the calculations. In fact, since the instructions could take
numerical form, they could be stored alongside the data in
the memory system. The instructions would be listed in
consecutive memory locations, so that the control unit could
read and execute them in turn. Figure 1.5 shows a set of
memo r y lo catio ns each with an ad d r ess, and with
instructions or data therein. The instructions form a program
starting at address 0000 and continuing to address 0007,
which acts upon the data between addresses 0010 and 0015.
Von Neumann realised that the instructions could be made
to result from previous calculations by the computer, and
thus conditional branching could be achieved. By this means
loops and subroutines could be inserted into the program.
The instructions included those to add and subtract data in
memory, to move data from one address to another, and to
receive or send data to external devices. This last aspect was Fig.1.5 Memory usage for
known as the input/output control, and interfaced the Stored Program Control
memory with such devices as keyboard, screen, printer and
plotter.
A useful definition of a Stored Program Computer (or Von
Neumann Machine) is:-
A computer with a storage component which may contain
both data to be manipulated and instructions to manipulate

3
Computer Engineering

the data.

1.4 The Second Generation of Computers (1955-65)


Transistors and Batch Systems
Eventually reliability improved so much with the utilisation of transistors that machines could be
manufactured and sold to customers on the open-market. These machines had to run in large air-
conditioned rooms. All programs and data were entered via punched card. To speed up the process a
small computer would read a number of jobs off cards onto a magnetic tape. This would be transferred
to the main computer to run the programs. Results were recorded onto a second magnetic tape. This
tape was then transferred to a small computer to print the output of each job on a deck of cards.

1.5 The Third Generation of Computers (1965-1980)


Integrated circuits and multiprogramming.
ICs were first used by IBM in its 360 series of computers. The concept of multiprogramming was to
put several programs into different parts of the memory, and whenever one program was waiting for
input or output to finish, the CPU (Central Processing Unit) would run another program. When a
program finished, the space in memory would be loaded with a new job from a card reader without
wasting any CPU time. This became known as SPOOLING (Simultaneous Peripheral Operation On
Line)
Batch operation was superceded by interactive operation of the machine by users from terminals.
Operating systems were written to permit time-sharing, so that each user could work independently on
the machine. Mass production of mini-computers resulted.

1.6 The Fourth Generation (1980-90)


Personal computers and Networking
Improvements in silicon integration led to VLSI, making small, powerful computers possible. The
table below compares three computers, produced within half a century.

Feature ENIAC Apple II 386-based PC


Date 1946 1976 1997
Size 85 cu.m. 0.003 cu.m. 0.003 cu.m.
Weight 30 tonnes 10 kgm 20 kgm
Power consumption 140 kWatts 100 watts 200 watts
Switches/relays (excl KB) 7500 1 2
Volatile memory (RAM) 1 kbyte 48 kbytes 64 Mbytes
Secondary storage Punched cards Floppy disks Hard/optical disks
Valves/transistors 1800 20 40
Resistors 70000 20 30
Clock speed 100 kHz 1 MHz 33 MHz
Mean-time-to-failure Hours Months Years

4
Computer Engineering

High speed digital data communication developments provided networks capable of linking personal
computers, minis, mainframes and telecommunication services. Distributed computing resulted.

1.7 The Fifth Generation (1985-?)


Artificial Intelligence and Parallel Processing
Major efforts worldwide are now under way to produce systems capable of simulating human
intelligence in certain limited areas of activity. One major thrust is in Intelligent Know-ledge-Based
Systems, where computers store large numbers of ‘‘rules’ ’ derived from human experts, and can provide
users with solutions to complex wide-ranging problems in what are known as Expert Systems. Such
systems require very fast processing of data, and access to large amounts of information. As a result,
new architectures of computer are being developed using several microprocessor elements working in
parallel. It is estimated that these techniques could speed up computer operation by factors of up to
10000 times.

1.8 The "Sixth" Generation (1990-?)


In fact the predictions for the Fifth Generation did not come true to the extent that people expected. This
was because the important work in that area was eclipsed by an unexpected development. The wide-
area-networks that had been used for worldwide research purposes were suddenly improved enormously.
Speed and bandwidth increased by orders of magnitude and the Internet was born. Originally for transfer
of text data, in the form of e-mails or files, the network became capable of carrying image, sound and
video data. At the same time it was opened to the general public, to government departments, to
commercial concerns and to the entertainment industry. The result is the World Wide Web enabling
access to millions of pages of information from sites anywhere in the world.

1.9 The Development of Operating Systems


In parallel with the improvements in computer hardware has gone the invention of better means of
controlling the machines. The concept of Operating Systems arose early in the history of computers, as
a means of interfacing to the user in a convenient manner, and for the management of resources while
programs are running on a machine.
The first operating systems were written by IBM in the early 1950s, and in 1964 the company introduced
the OS/360 system tailored to run on the IBM 360 series of computers, in batch processing mode.
During the 1960s a number of time-sharing operating systems appeared: CTSS developed at MIT leading
to Multics; the CP/CMS system which evolved into IBM' s VM system; UNIX from Bell Telephone
Laboratories; and VMS for the VAX machines.
By the 1980' s the computer emphasis had moved towards personal computers. Probably the first was the
Apple II with its DOS operating system, followed by the BBC micro with MOS, and eventually the IBM
PC using first PC-DOS and then MS-DOS.
MS-DOS has grown through many versions, and after a happy marriage with Microsoft Windows, has
given place to fully windowed operating systems in the form of Windows 95, Windows NT, and soon to
Windows 98.

1.10 Questions on this chapter


1. What do you see as the most significant differences between the ENIAC computer and the personal
computers of today?
2. Trace the hardware changes that have radically altered the face of computing over the last half
century.
3. What was John von Neumann'
s revolutionary new concept?
4. What is the difference between "batch" and "multiprogrammed" processing?
5. What does an Operating System do?
6. Why do you think the Internet could not have arrived in 1970?

Potrebbero piacerti anche