The
history of computers starts out about 2000 years ago, at the birth of the
abacus, a wooden rack holding two horizontal wires with beads strung on them.
When these beads are moved around, according to programming rules memorized by
the user, all regular arithmetic problems can be done. Another important
invention around the same time was the Astrolabe, used for navigation.
Blaise Pascal is usually credited for building the first digital computer in
1642. It added numbers entered with dials and was made to help his father, a tax
collector. In 1671, Gottfried Wilhelm von Leibniz invented a computer that was
built in 1694. It could add, and, after changing some things around, multiply.
Leibniz invented a special stepped gear mechanism for introducing the addend
digits, and this is still being used.
The prototypes made by Pascal and
Leibniz were not used in many places, and considered weird until a little more
than a century later, when Thomas of Colmar (A.K.A. Charles Xavier Thomas)
created the first successful mechanical calculator that could add, subtract,
multiply, and divide. A lot of improved desktop calculators by many inventors
followed, so that by about 1890, the range of improvements included:
Accumulation of partial results
Storage and automatic reentry of past
results (A memory function)
Printing of the results
Each of these
required manual installation. These improvements were mainly made for commercial
users, and not for the needs of science.
Babbage While Thomas of Colmar was developing the desktop calculator, a
series of very interesting developments in computers was started in Cambridge,
England, by Charles Babbage (left, of which the computer store "Babbages" is
named), a mathematics professor. In 1812, Babbage realized that many long
calculations, especially those needed to make mathematical tables, were really a
series of predictable actions that were constantly repeated. From this he
suspected that it should be possible to do these automatically. He began to
design an automatic mechanical calculating machine, which he called a difference
engine. By 1822, he had a working model to demonstrate with. With financial help
from the British government, Babbage started fabrication of a difference engine
in 1823. It was intended to be steam powered and fully automatic, including the
printing of the resulting tables, and commanded by a fixed instruction program.
The difference engine, although having limited adaptability and applicability,
was really a great advance. Babbage continued to work on it for the next 10
years, but in 1833 he lost interest because he thought he had a better idea --
the construction of what would now be called a general purpose, fully
program-controlled, automatic mechanical digital computer. Babbage called this
idea an Analytical Engine. The ideas of this design showed a lot of foresight,
although this couldn’t be appreciated until a full century later. The plans for
this engine required an identical decimal computer operating on numbers of 50
decimal digits (or words) and having a storage capacity (memory) of 1,000 such
digits. The built-in operations were supposed to include everything that a
modern general - purpose computer would need, even the all important Conditional
Control Transfer Capability that would allow commands to be executed in any
order, not just the order in which they were programmed. The analytical engine
was soon to use punched cards (similar to those used in a Jacquard loom), which
would be read into the machine from several different Reading Stations. The
machine was supposed to operate automatically, by steam power, and require only
one person there. Babbage's computers were never finished. Various reasons are
used for his failure. Most used is the lack of precision machining techniques at
the time. Another speculation is that Babbage was working on a solution of a
problem that few people in 1840 really needed to solve. After Babbage, there was
a temporary loss of interest in automatic digital computers. Between 1850 and
1900 great advances were made in mathematical physics, and it came to be known
that most observable dynamic phenomena can be identified by differential
equations (which meant that most events occurring in nature can be measured or
described in one equation or another), so that easy means for their calculation
would be helpful. Moreover, from a practical view, the availability of steam
power caused manufacturing (boilers), transportation (steam engines and boats),
and commerce to prosper and led to a period of a lot of engineering
achievements. The designing of railroads, and the making of steamships, textile
mills, and bridges required differential calculus to determine such things as:
center of gravity center of buoyancy moment of inertia stress distributions Even
the assessment of the power output of a steam engine needed mathematical
integration. A strong need thus developed for a machine that could rapidly
perform many repetitive calculations.
--------------------------------------------------------------------------------
Use of Punched Cards by Hollerith A step towards automated computing was the
development of punched cards, which were first successfully used with computers
in 1890 by Herman Hollerith (left) and James Powers, who worked for the US.
Census Bureau. They developed devices that could read the information that had
been punched into the cards automatically, without human help. Because of this,
reading errors were reduced dramatically, work flow increased, and, most
importantly, stacks of punched cards could be used as easily accessible memory
of almost unlimited size. Furthermore, different problems could be stored on
different stacks of cards and accessed when needed. These advantages were seen
by commercial companies and soon led to the development of improved punch-card
using computers created by International Business Machines (IBM), Remington
(yes, the same people that make shavers), Burroughs, and other corporations.
These computers used electromechanical devices in which electrical power
provided mechanical motion -- like turning the wheels of an adding machine. Such
systems included features to: feed in a specified number of cards automatically
add, multiply, and sort feed out cards with punched results As compared to
today’s machines, these computers were slow, usually processing 50 - 220 cards
per minute, each card holding about 80 decimal numbers (characters). At the
time, however, punched cards were a huge step forward. They provided a means of
I/O, and memory storage on a huge scale. For more than 50 years after their
first use, punched card machines did most of the world’s first business
computing, and a considerable amount of the computing work in science.
--------------------------------------------------------------------------------
Electronic Digital Computers The start of World War II produced a large need for
computer capacity, especially for the military. New weapons were made for which
trajectory tables and other essential data were needed. In 1942, John P. Eckert,
John W. Mauchly (left), and their associates at the Moore school of Electrical
Engineering of University of Pennsylvania decided to build a high - speed
electronic computer to do the job. This machine became known as ENIAC
(Electrical Numerical Integrator And Calculator) The size of ENIAC’s numerical
"word" was 10 decimal digits, and it could multiply two of these numbers at a
rate of 300 per second, by finding the value of each product from a
multiplication table stored in its memory. ENIAC was therefore about 1,000 times
faster then the previous generation of relay computers. ENIAC used 18,000 vacuum
tubes, about 1,800 square feet of floor space, and consumed about 180,000 watts
of electrical power. It had punched card I/O, 1 multiplier, 1 divider/square
rooter, and 20 adders using decimal ring counters, which served as adders and
also as quick-access (.0002 seconds) read-write register storage. The executable
instructions making up a program were embodied in the separate "units" of ENIAC,
which were plugged together to form a "route" for the flow of information. These
connections had to be redone after each computation, together with presetting
function tables and switches. This "wire your own" technique was inconvenient
(for obvious reasons), and with only some latitude could ENIAC be considered
programmable. It was, however, efficient in handling the particular programs for
which it had been designed. ENIAC is commonly accepted as the first successful
high - speed electronic digital computer (EDC) and was used from 1946 to 1955. A
controversy developed in 1971, however, over the patentability of ENIAC's basic
digital concepts, the claim being made that another physicist, John V. Atanasoff
(left) had already used basically the same ideas in a simpler vacuum - tube
device he had built in the 1930’s while at Iowa State College. In 1973 the
courts found in favor of the company using the Atanasoff claim.
--------------------------------------------------------------------------------
The Modern Stored Program EDC Fascinated by the success of ENIAC, the
mathematician John Von Neumann (left) undertook, in 1945, an abstract study of
computation that showed that a computer should have a very simple, fixed
physical structure, and yet be able to execute any kind of computation by means
of a proper programmed control without the need for any change in the unit
itself. Von Neumann contributed a new awareness of how practical, yet fast
computers should be organized and built. These ideas, usually referred to as the
stored - program technique, became essential for future generations of high -
speed digital computers and were universally adopted. The Stored - Program
technique involves many features of computer design and function besides the one
that it is named after. In combination, these features make very - high - speed
operation attainable. A glimpse may be provided by considering what 1,000
operations per second means. If each instruction in a job program were used once
in consecutive order, no human programmer could generate enough instruction to
keep the computer busy. Arrangements must be made, therefore, for parts of the
job program (called subroutines) to be used repeatedly in a manner that depends
on the way the computation goes. Also, it would clearly be helpful if
instructions could be changed if needed during a computation to make them behave
differently. Von Neumann met these two needs by making a special type of machine
instruction, called a Conditional control transfer - which allowed the program
sequence to be stopped and started again at any point - and by storing all
instruction programs together with data in the same memory unit, so that, when
needed, instructions could be arithmetically changed in the same way as data. As
a result of these techniques, computing and programming became much faster, more
flexible, and more efficient with work. Regularly used subroutines did not have
to be reprogrammed for each new program, but could be kept in "libraries" and
read into memory only when needed. Thus, much of a given program could be
assembled from the subroutine library. The all - purpose computer memory became
the assembly place in which all parts of a long computation were kept, worked on
piece by piece, and put together to form the final results. The computer control
survived only as an "errand runner" for the overall process. As soon as the
advantage of these techniques became clear, they became a standard practice. The
first generation of modern programmed electronic computers to take advantage of
these improvements were built in 1947. This group included computers using
Random - Access - Memory (RAM), which is a memory designed to give almost
constant access to any particular piece of information. . These machines had
punched - card or punched tape I/O devices and RAM’s of 1,000 - word capacity
and access times of .5 Greek MU seconds (.5*10-6 seconds). Some of them could
perform multiplications in 2 to 4 MU seconds. Physically, they were much smaller
than ENIAC. Some were about the size of a grand piano and used only 2,500
electron tubes, a lot less then required by the earlier ENIAC. The first -
generation stored - program computers needed a lot of maintenance, reached
probably about 70 to 80% reliability of operation (ROO) and were used for 8 to
12 years. They were usually programmed in ML, although by the mid 1950’s
progress had been made in several aspects of advanced programming. This group of
computers included EDVAC (above) and UNIVAC (right) the first commercially
available computers.
--------------------------------------------------------------------------------
Advances in the 1950’s Early in the 50’s two important engineering discoveries
changed the image of the electronic - computer field, from one of fast but
unreliable hardware to an image of relatively high reliability and even more
capability. These discoveries were the magnetic core memory and the Transistor -
Circuit Element. These technical discoveries quickly found their way into new
models of digital computers. RAM capacities increased from 8,000 to 64,000 words
in commercially available machines by the 1960’s, with access times of 2 to 3 MS
(Milliseconds). These machines were very expensive to purchase or even to rent
and were particularly expensive to operate because of the cost of expanding
programming. Such computers were mostly found in large computer centers operated
by industry, government, and private laboratories - staffed with many
programmers and support personnel. This situation led to modes of operation
enabling the sharing of the high potential available. One such mode is batch
processing, in which problems are prepared and then held ready for computation
on a relatively cheap storage medium. Magnetic drums, magnetic - disk packs, or
magnetic tapes were usually used. When the computer finishes with a problem, it
"dumps" the whole problem (program and results) on one of these peripheral
storage units and starts on a new problem. Another mode for fast, powerful
machines is called time-sharing. In time-sharing, the computer processes many
jobs in such rapid succession that each job runs as if the other jobs did not
exist, thus keeping each "customer" satisfied. Such operating modes need
elaborate executable programs to attend to the administration of the various
tasks.
--------------------------------------------------------------------------------
Advances in the 1960’s In the 1960’s, efforts to design and develop the fastest
possible computer with the greatest capacity reached a turning point with the
LARC machine, built for the Livermore Radiation Laboratories of the University
of California by the Sperry - Rand Corporation, and the Stretch computer by IBM.
The LARC had a base memory of 98,000 words and multiplied in 10 Greek MU
seconds. Stretch was made with several degrees of memory having slower access
for the ranks of greater capacity, the fastest access time being less then 1
Greek MU Second and the total capacity in the vicinity of 100,000,000 words.
During this period, the major computer manufacturers began to offer a range of
capabilities and prices, as well as accessories such as: Consoles Card Feeders
Page Printers Cathode - ray - tube displays Graphing devices These were widely
used in businesses for such things as: Accounting Payroll Inventory control
Ordering Supplies Billing CPU’s for these uses did not have to be very fast
arithmetically and were usually used to access large amounts of records on file,
keeping these up to date. By far, the most number of computer systems were sold
for the more simple uses, such as hospitals (keeping track of patient records,
medications, and treatments given). They were also used in libraries, such as
the National Medical Library retrieval system, and in the Chemical Abstracts
System, where computer records on file now cover nearly all known chemical
compounds.
--------------------------------------------------------------------------------
More Recent Advances The trend during the 1970's was, to some extent, moving
away from very powerful, single - purpose computers and toward a larger range of
applications for cheaper computer systems. Most continuous-process
manufacturing, such as petroleum refining and electrical-power distribution
systems, now used computers of smaller capability for controlling and regulating
their jobs. In the 1960’s, the problems in programming applications were an
obstacle to the independence of medium sized on-site computers, but gains in
applications programming language technologies removed these obstacles.
Applications languages were now available for controlling a great range of
manufacturing processes, for using machine tools with computers, and for many
other things. Moreover, a new revolution in computer hardware was under way,
involving shrinking of computer-logic circuitry and of components by what are
called large-scale integration (LSI) techniques. In the 1950s it was realized
that "scaling down" the size of electronic digital computer circuits and parts
would increase speed and efficiency and by that, improve performance, if they
could only find a way to do this. About 1960 photo printing of conductive
circuit boards to eliminate wiring became more developed. Then it became
possible to build resistors and capacitors into the circuitry by the same
process. In the 1970’s, vacuum deposition of transistors became the norm, and
entire assemblies, with adders, shifting registers, and counters, became
available on tiny "chips." In the 1980’s, very large scale integration (VLSI),
in which hundreds of thousands of transistors were placed on a single chip,
became more and more common. Many companies, some new to the computer field,
introduced in the 1970s programmable minicomputers supplied with software
packages. The "shrinking" trend continued with the introduction of personal
computers (PC’s), which are programmable machines small enough and inexpensive
enough to be purchased and used by individuals. Many companies, such as Apple
Computer and Radio Shack, introduced very successful PC’s in the 1970s,
encouraged in part by a fad in computer (video) games. In the 1980s some
friction occurred in the crowded PC field, with Apple and IBM keeping strong. In
the manufacturing of semiconductor chips, the Intel and Motorola Corporations
were very competitive into the 1980s, although Japanese firms were making strong
economic advances, especially in the area of memory chips. By the late 1980s,
some personal computers were run by microprocessors that, handling 32 bits of
data at a time, could process about 4,000,000 instructions per second.
Microprocessors equipped with read-only memory (ROM), which stores constantly
used, unchanging programs, now performed an increased number of process-control,
testing, monitoring, and diagnosing functions, like automobile ignition systems,
automobile-engine diagnosis, and production-line inspection duties. Cray
Research and Control Data Inc. dominated the field of supercomputers, or the
most powerful computer systems, through the 1970s and 1980s. In the early 1980s,
however, the Japanese government announced a gigantic plan to design and build a
new generation of supercomputers. This new generation, the so-called "fifth"
generation, is using new technologies in very large integration, along with new
programming languages, and will be capable of amazing feats in the area of
artificial intelligence, such as voice recognition. Progress in the area of
software has not matched the great advances in hardware. Software has become the
major cost of many systems because programming productivity has not increased
very quickly. New programming techniques, such as object-oriented programming,
have been developed to help relieve this problem. Despite difficulties with
software, however, the cost per calculation of computers is rapidly lessening,
and their convenience and efficiency are expected to increase in the early
future. The computer field continues to experience huge growth. Computer
networking, computer mail, and electronic publishing are just a few of the
applications that have grown in recent years. Advances in technologies continue
to produce cheaper and more powerful computers offering the promise that in the
near future, computers or terminals will reside in most, if not all homes,
offices, and schools.