HISTORY OF THE COMPUTER
ARTICLE WRITTEN BY:
ADEBOWALE ONIFADE
ELECTRICAL ELECTRONIC
ENGINEERING DEPARTMENT
UNIVERSITY OF IBADAN
NIGERIA
REGION 8
HISTORY OF THE COMPUTER
ABSTRACT
This paper takes a keen look at the history of computer technology with a view to encouraging computer or electrical electronic engineering students to embrace and learn the history of their profession and its technologies. Reedy (1984) quoted Aldous Huxley thus: “that men do not learn very much from the lessons of history is the most important of all the lessons that history has to teach.” This paper therefore emphasizes the need to study history of the computer because a proper study and understanding of the evolution of computers will undoubtedly help to greatly improve on computer technologies.
INTRODUCTION
The word ‘computer’ is an old word that has changed its meaning several times in the last few centuries. Originating from the Latin, by the mid-17th century it meant ‘someone who computes’. The American Heritage Dictionary (1980) gives its first computer definition as “a person who computes.” The computer remained associated with human activity until about the middle of the 20th century when it became applied to “a programmable electronic device that can store, retrieve, and process data” as Webster’s Dictionary (1980) defines it. Today, the word computer refers to computing devices, whether or not they are electronic, programmable, or capable of ‘storing and retrieving’ data.
The Techencyclopedia (2003) defines computer as “a general purpose machine that processes data according to a set of instructions that are stored internally either temporarily or permanently.” The computer and all equipment attached to it are called hardware. The instructions that tell it what to do are called "software" or “program”. A program is a detailed set of humanly prepared instructions that directs the computer to function in specific ways. Furthermore, the Encyclopedia Britannica (2003) defines computers as “the contribution of major individuals, machines, and ideas to the development of computing.” This implies that
2
the computer is a system. A system is a group of computer components that work together as a unit to perform a common objective.
The term ‘history’ means past events. The encyclopedia Britannica (2003) defines it as “the discipline that studies the chronological record of events (as affecting a nation or people), based on a critical examination of source materials and usually presenting an explanation of their causes.” The Oxford Advanced Learner’s Dictionary (1995) simply defines history as “the study of past events.…” In discussing the history of computers, chronological record of events – particularly in the area of technological development – will be explained. History of computer in the area of technological development is being considered because it is usually the technological advancement in computers that brings about economic and social advancement. A faster computer brings about faster operation and that in turn causes an economic development. This paper will discuss classes of computers, computer evolution and highlight some roles played by individuals in these developments.
CLASSIFICATION OF COMPUTERS
Computing machines can be classified in many ways and these classifications depend on their functions and definitions. They can be classified by the technology from which they were constructed, the uses to which they are put, their capacity or size, the era in which they were used, their basic operating principle and by the kinds of data they process. Some of these classification techniques are discussed as follows:
Classification by Technology
This classification is a historical one and it is based on what performs the computer operation, or the technology behind the computing skill.
3
I FLESH: Before the advent of any kind of computing device at all, human beings performed computation by themselves. This involved the use of fingers, toes and any other part of the body.
II WOOD: Wood became a computing device when it was first used to design the abacus. Shickard in 1621 and Polini in 1709 were both instrumental to this development.
III METALS: Metals were used in the early machines of Pascal, Thomas, and the production versions from firms such as Brundsviga, Monroe, etc
IV ELECTROMECHANICAL DEVICES: As differential analyzers, these were present in the early machines of Zuse, Aiken, Stibitz and many others
V ELECTRONIC ELEMENTS: These were used in the Colossus, ABC, ENIAC, and the stored program computers.
This classification really does not apply to developments in the last sixty years because several kinds of new electro technological devices have been used thereafter.
Classification by Capacity
Computers can be classified according to their capacity. The term ‘capacity’ refers to the volume of work or the data processing capability a computer can handle. Their performance is determined by the amount of data that can be stored in memory, speed of internal operation of the computer, number and type of peripheral devices, amount and type of software available for use with the computer.
The capacity of early generation computers was determined by their physical size - the larger the size, the greater the volume. Recent computer technology however is tending to create smaller machines, making it possible to package equivalent speed and capacity in a smaller format. Computer capacity is currently measured by the number of applications that it can
4
run rather than by the volume of data it can process. This classification is therefore done as follows:
I MICROCOMPUTERS The Microcomputer has the lowest level capacity. The machine has memories that are generally made of semiconductors fabricated on silicon chips. Large-scale production of silicon chips began in 1971 and this has been of great use in the production of microcomputers. The microcomputer is a digital computer system that is controlled by a stored program that uses a microprocessor, a programmable read-only memory (ROM) and a random-access memory (RAM). The ROM defines the instructions to be executed by the computer while RAM is the functional equivalent of computer memory.
The Apple IIe, the Radio Shack TRS-80, and the Genie III are examples of microcomputers and are essentially fourth generation devices. Microcomputers have from 4k to 64k storage location and are capable of handling small, single-business application such as sales analysis, inventory, billing and payroll.
II MINICOMPUTERS
In the 1960s, the growing demand for a smaller stand-alone machine brought about the manufacture of the minicomputer, to handle tasks that large computers could not perform economically. Minicomputer systems provide faster operating speeds and larger storage capacities than microcomputer systems. Operating systems developed for minicomputer systems generally support both multiprogramming and virtual storage. This means that many programs can be run concurrently. This type of computer system is very flexible and can be expanded to meet the needs of users.
5
Minicomputers usually have from 8k to 256k memory storage location, and a relatively established application software. The PDP-8, the IBM systems 3 and the Honeywell 200 and 1200 computer are typical examples of minicomputers.
III MEDIUM-SIZE COMPUTERS
Medium-size computer systems provide faster operating speeds and larger storage capacities than mini computer systems. They can support a large number of high-speed input/output devices and several disk drives can be used to provide online access to large data files as required for direct access processing and their operating systems also support both multiprogramming and virtual storage. This allows the running of variety of programs concurrently. A medium-size computer can support a management information system and can therefore serve the needs of a large bank, insurance company or university. They usually have memory sizes ranging from 32k to 512k. The IBM System 370, Burroughs 3500 System and NCR Century 200 system are examples of medium-size computers.
IV LARGE COMPUTERS
Large computers are next to Super Computers and have bigger capacity than the Medium-size computers. They usually contain full control systems with minimal operator intervention. Large computer system ranges from single-processing configurations to nationwide computer-based networks involving general large computers. Large computers have storage capacities from 512k to 8192k, and these computers have internal operating speeds measured in terms of nanosecond, as compared to small computers where speed is measured in terms of microseconds. Expandability to 8 or even 16 million characters is possible with some of these systems. Such characteristics permit many data processing jobs to be accomplished concurrently.
6
Large computers are usually used in government agencies, large corporations and computer services organizations. They are used in complex modeling, or simulation, business operations, product testing, design and engineering work and in the development of space technology. Large computers can serve as server systems where many smaller computers can be connected to it to form a communication network.
V SUPERCOMPUTERS The supercomputers are the biggest and fastest machines today and they are used when billion or even trillions of calculations are required. These machines are applied in nuclear weapon development, accurate weather forecasting and as host processors for local computer. and time sharing networks. Super computers have capabilities far beyond even the traditional large-scale systems. Their speed ranges from 100 million-instruction-per-second to well over three billion. Because of their size, supercomputers sacrifice a certain amount of flexibility. They are therefore not ideal for providing a variety of user services. For this reason, supercomputers may need the assistance of a medium-size general purpose machines (usually called front-end processor) to handle minor programs or perform slower speed or smaller volume operation.
Classification by their basic operating principle
Using this classification technique, computers can be divided into Analog, Digital and Hybrid systems. They are explained as follows:
I ANALOG COMPUTERS
Analog computers were well known in the 1940s although they are now uncommon. In such machines, numbers to be used in some calculation were represented by physical quantities - such as electrical voltages. According to the Penguin Dictionary of Computers (1970), “an analog computer must be able to accept inputs which vary with respect to time and directly
7
apply these inputs to various devices within the computer which performs the computing operations of additions, subtraction, multiplication, division, integration and function generation….” The computing units of analog computers respond immediately to the changes which they detect in the input variables. Analog computers excel in solving differential equations and are faster than digital computers.
II DIGITAL COMPUTERS
Most computers today are digital. They represent information discretely and use a binary (two-step) system that represents each piece of information as a series of zeroes and ones. The Pocket Webster School & Office Dictionary (1990) simply defines Digital computers as “a computer using numbers in calculating.” Digital computers manipulate most data more easily than analog computers. They are designed to process data in numerical form and their circuits perform directly the mathematical operations of addition, subtraction, multiplication, and division. Because digital information is discrete, it can be copied exactly but it is difficult to make exact copies of analog information.
III HYBRID COMPUTERS
These are machines that can work as both analog and digital computers.
THE COMPUTER EVOLUTION
The computer evolution is indeed an interesting topic that has been explained in some different ways over the years, by many authors. According to The Computational Science Education Project, US, the computer has evolved through the following stages:
The Mechanical Era (1623-1945)
Trying to use machines to solve mathematical problems can be traced to the early 17th century. Wilhelm Schickhard, Blaise Pascal, and Gottfried Leibnitz were among
8
mathematicians who designed and implemented calculators that were capable of addition, subtraction, multiplication, and division included The first multi-purpose or programmable computing device was probably Charles Babbage's Difference Engine, which was begun in 1823 but never completed. In 1842, Babbage designed a more ambitious machine, called the Analytical Engine but unfortunately it also was only partially completed. Babbage, together with Ada Lovelace recognized several important programming techniques, including conditional branches, iterative loops and index variables. Babbage designed the machine which is arguably the first to be used in computational science. In 1933, George Scheutz and his son, Edvard began work on a smaller version of the difference engine and by 1853 they had constructed a machine that could process 15-digit numbers and calculate fourth-order differences. The US Census Bureau was one of the first organizations to use the mechanical computers which used punch-card equipment designed by Herman Hollerith to tabulate data for the 1890 census. In 1911 Hollerith's company merged with a competitor to found the corporation which in 1924 became International Business Machines (IBM).
First Generation Electronic Computers (1937-1953)
These devices used electronic switches, in the form of vacuum tubes, instead of electromechanical relays. The earliest attempt to build an electronic computer was by J. V. Atanasoff, a professor of physics and mathematics at Iowa State in 1937. Atanasoff set out to build a machine that would help his graduate students solve systems of partial differential equations. By 1941 he and graduate student Clifford Berry had succeeded in building a machine that could solve 29 simultaneous equations with 29 unknowns. However, the machine was not programmable, and was more of an electronic calculator.
A second early electronic machine was Colossus, designed by Alan Turing for the British military in 1943. The first general purpose programmable electronic computer was the
9
Electronic Numerical Integrator and Computer (ENIAC), built by J. Presper Eckert and John V. Mauchly at the University of Pennsylvania. Research work began in 1943, funded by the Army Ordinance Department, which needed a way to compute ballistics during World War II. The machine was completed in 1945 and it was used extensively for calculations during the design of the hydrogen bomb. Eckert, Mauchly, and John von Neumann, a consultant to the ENIAC project, began work on a new machine before ENIAC was finished. The main contribution of EDVAC, their new project, was the notion of a stored program. ENIAC was controlled by a set of external switches and dials; to change the program required physically altering the settings on these controls. EDVAC was able to run orders of magnitude faster than ENIAC and by storing instructions in the same medium as data, designers could concentrate on improving the internal structure of the machine without worrying about matching it to the speed of an external control. Eckert and Mauchly later designed what was arguably the first commercially successful computer, the UNIVAC; in 1952. Software technology during this period was very primitive.
Second Generation (1954-1962)
The second generation witnessed several important developments at all levels of computer system design, ranging from the technology used to build the basic circuits to the programming languages used to write scientific applications. Electronic switches in this era were based on discrete diode and transistor technology with a switching time of approximately 0.3 microseconds. The first machines to be built with this technology include TRADIC at Bell Laboratories in 1954 and TX-0 at MIT's Lincoln Laboratory. Index registers were designed for controlling loops and floating point units for calculations based on real numbers.
10
A number of high level programming languages were introduced and these include FORTRAN (1956), ALGOL (1958), and COBOL (1959). Important commercial machines of this era include the IBM 704 and its successors, the 709 and 7094. In the 1950s the first two supercomputers were designed specifically for numeric processing in scientific applications.
Third Generation (1963-1972)
Technology changes in this generation include the use of integrated circuits, or ICs (semiconductor devices with several transistors built into one physical component), semiconductor memories, microprogramming as a technique for efficiently designing complex processors and the introduction of operating systems and time-sharing. The first ICs were based on small-scale integration (SSI) circuits, which had around 10 devices per circuit (or ‘chip’), and evolved to the use of medium-scale integrated (MSI) circuits, which had up to 100 devices per chip. Multilayered printed circuits were developed and core memory was replaced by faster, solid state memories.
In 1964, Seymour Cray developed the CDC 6600, which was the first architecture to use functional parallelism. By using 10 separate functional units that could operate simultaneously and 32 independent memory banks, the CDC 6600 was able to attain a computation rate of one million floating point operations per second (Mflops). Five years later CDC released the 7600, also developed by Seymour Cray. The CDC 7600, with its pipelined functional units, is considered to be the first vector processor and was capable of executing at ten Mflops. The IBM 360/91, released during the same period, was roughly twice as fast as the CDC 660.
Early in this third generation, Cambridge University and the University of London cooperated in the development of CPL (Combined Programming Language, 1963). CPL was, according to its authors, an attempt to capture only the important features of the complicated
11
and sophisticated ALGOL. However, like ALGOL, CPL was large with many features that were hard to learn. In an attempt at further simplification, Martin Richards of Cambridge developed a subset of CPL called BCPL (Basic Computer Programming Language, 1967). In 1970 Ken Thompson of Bell Labs developed yet another simplification of CPL called simply B, in connection with an early implementation of the UNIX operating system. comment):
Fourth Generation (1972-1984)
Large scale integration (LSI - 1000 devices per chip) and very large scale integration (VLSI - 100,000 devices per chip) were used in the construction of the fourth generation computers. Whole processors could now fit onto a single chip, and for simple systems the entire computer (processor, main memory, and I/O controllers) could fit on one chip. Gate delays dropped to about 1ns per gate. Core memories were replaced by semiconductor memories. Large main memories like CRAY 2 began to replace the older high speed vector processors, such as the CRAY 1, CRAY X-MP and CYBER
In 1972, Dennis Ritchie developed the C language from the design of the CPL and Thompson's B. Thompson and Ritchie then used C to write a version of UNIX for the DEC PDP-11. Other developments in software include very high level languages such as FP (functional programming) and Prolog (programming in logic).
IBM worked with Microsoft during the 1980s to start what we can really call PC (Personal Computer) life today. IBM PC was introduced in October 1981 and it worked with the operating system (software) called ‘Microsoft Disk Operating System (MS DOS) 1.0. Development of MS DOS began in October 1980 when IBM began searching the market for an operating system for the then proposed IBM PC and major contributors were Bill Gates, Paul Allen and Tim Paterson. In 1983, the Microsoft Windows was announced and this has witnessed several improvements and revision over the last twenty years.
12
Fifth Generation (1984-1990)
This generation brought about the introduction of machines with hundreds of processors that could all be working on different parts of a single program. The scale of integration in semiconductors continued at a great pace and by 1990 it was possible to build chips with a million components - and semiconductor memories became standard on all computers. Computer networks and single-user workstations also became popular.
Parallel processing started in this generation. The Sequent Balance 8000 connected up to 20 processors to a single shared memory module though each processor had its own local cache. The machine was designed to compete with the DEC VAX-780 as a general purpose Unix system, with each processor working on a different user's job. However Sequent provided a library of subroutines that would allow programmers to write programs that would use more than one processor, and the machine was widely used to explore parallel algorithms and programming techniques. The Intel iPSC-1, also known as ‘the hypercube’ connected each processor to its own memory and used a network interface to connect processors. This distributed memory architecture meant memory was no longer a problem and large systems with more processors (as many as 128) could be built. Also introduced was a machine, known as a data-parallel or SIMD where there were several thousand very simple processors which work under the direction of a single control unit. Both wide area network (WAN) and local area network (LAN) technology developed rapidly.
Sixth Generation (1990 - )
Most of the developments in computer systems since 1990 have not been fundamental changes but have been gradual improvements over established systems. This generation brought about gains in parallel computing in both the hardware and in improved understanding of how to develop algorithms to exploit parallel architectures.
13
Workstation technology continued to improve, with processor designs now using a combination of RISC, pipelining, and parallel processing. Wide area networks, network bandwidth and speed of operation and networking capabilities have kept developing tremendously. Personal computers (PCs) now operate with Gigabit per second processors, multi-Gigabyte disks, hundreds of Mbytes of RAM, colour printers, high-resolution graphic monitors, stereo sound cards and graphical user interfaces. Thousands of software (operating systems and application software) are existing today and Microsoft Inc. has been a major contributor. Microsoft is said to be one of the biggest companies ever, and its chairman – Bill Gates has been rated as the richest man for several years.
Finally, this generation has brought about micro controller technology. Micro controllers are ’embedded’ inside some other devices (often consumer products) so that they can control the features or actions of the product. They work as small computers inside devices and now serve as essential components in most machines.
THE ACTIVE PLAYERS
Hundreds of people from different parts of the world played prominent roles in the history of computer. This section highlights some of those roles as played in several parts of the world.
The American Participation
America indeed played big roles in the history of computer. John Atanasoff invented the Atanasoff-Berry Computer (ABC) which introduced electronic binary logic in the late 1930s. Atanasoff and Berry completed the computer by 1942, but it was later dismantled.
Howard Aiken is regarded as one of the pioneers who introduced the computer age and he completed the design of four calculators (or computers). Aiken started what is known as computer science today and was one of the first explorers of the application of the new
14
machines to business purposes and machine translation of foreign languages. His first machine was known as Mark I (or the Harvard Mark I), and originally named the IBM ASCC and this was the first machine that could solve complicated mathematical problems by being programmed to execute a series of controlled operations in a specific sequence.
The ENIAC (Electronic Numerical Integrator and Computer) was displayed to the public on February 14, 1946, at the Moore School of Electrical Engineering at the University of Pennsylvania and about fifty years after, a team of students and faculty started the reconstruction of the ENIAC and this was done, using state-of-the-art solid-state CMOS technology.
The German Participation
The DEHOMAG D11 tabulator was invented in Germany. It had a decisive influence on the diffusion of punched card data processing in Germany. The invention took place between the period of 1926 and 1931.
Korad Zuse is popularly recognized in Germany as the father of the computer and his Z1, a programmable automaton built from 1936 to 1938, is said to be the world’s ‘first programmable calculating machine’. He built the Z4, a relay computer with a mechanical memory of unique design, during the war years in Berlin. Eduard Stiefel, a professor at the Swiss Federal Institute of Technology (ETH), who was looking for a computer suitable for numerical analysis, discovered the machine in Bavaria in 1949. Around 1938, Konrad Zuse began work on the creation of the Plankalkul, while working on the Z3. He wanted to build a Planfertigungsgerat, and made some progress in this direction in 1943 and in 1944, he prepared a draft of the Plankalkul, which was meant to become a doctoral dissertation some day. The Plankalkul is the first fully-fledged algorithmic programming language. Years later, a small group under the direction of Dr. Heinz Billing constructed four different
15
computers, the G1 (1952), the G2 (1955), the Gla (1958) and the G3 (1961), at the Max Planck Institute in Gottingen.
Lastly, during the World war II, a young German engineer, Helmut Hoelzer studied the application of electronic analog circuits for the guidance and control system of liquid-propellant rockets and developed a special purpose analog computer, the ‘Mischgerat’ and integrated it into the rocket. The development of the fully electronic, general purpose, analog computer was a spin-off of this work. It was used to simulate ballistic paths by solving the equations of motion.
The British Participation
The Colossus was designed and constructed at the Post Office Research Laboratories at Dollis Hill in North London in 1943 to help Bletchley Park in decoding intercepted German telegraphic messages. Colossus was the world’s first large electronic valve programmable logic calculator and ten of them were built and were operational in Bletchley Park, home of Allied World War II code-breaking.
Between 1948 and 1951, four related computers were designed and constructed in Manchester and each machine has its innovative peculiarity. The SSEM (June 1948) was the first such machine to work. The Manchester Mark 1 (Intermediate Version, April 1949) was the first full-sized computer available for use. The completed Manchester Mark 1 (October 1949), with a fast random access magnetic drum, was the first computer with a classic two-level store. The Ferranti Mark 1 (February 1951) was the first production computer delivered by a manufacturer. The University of Manchester Small-Scale Experimental Machine, the ‘Baby’ first ran a stored program on June 21, 1948, thus claiming to be the first operational general purpose computer. The Atlas computer was constructed in the Department of Computer Science at the University of Manchester. After its completion in December 1962,
16
it was regarded as the most powerful computer in the world and it had many innovative design features of which the most important were the implementation of virtual addressing and the one-level store.
The Japanese Participation
In the second half of the 1950s, many experimental computers were designed and produced by Japanese national laboratories, universities and private companies. In those days, many experiments were carried out using various electronic and mechanical techniques and materials such as relays, vacuum tubes, parametrons, transistors, mercury delay lines, cathode ray tubes, magnetic cores and magnetic drums. These provided a great foundation for the development of electronics in Japan. Between the periods of 1955 and 1959, computers like ETL-Mark 2, JUJIC, MUSASINO I, ETL-Mark-4, PC-1, ETL-Mark-4a, TAC, Handai-Computer and K-1 were built.
The African Participation
Africa evidently did not play any major roles in the recorded history of computer, but indeed it has played big roles in the last few decades. Particularly worthy of mention is the contribution of a Nigerian who made a mark just before the end of the twentieth century. Former American President – Bill Clinton (2000) said “One of the great minds of the Information Age is a Nigerian American named Philip Emeagwali. He had to leave school because his parents couldn't pay the fees. He lived in a refugee camp during your civil war. He won a scholarship to university and went on to invent a formula that lets computers make 3.1 billion calculations per second….”
Philip Emeagwali, supercomputer and Internet pioneer, was born in 1954, in Nigeria, Africa. In 1989, he invented the formula that used 65,000 separate computer processors to perform 3.1 billion calculations per second. Emeagwali is regarded as one of the fathers of the
17
internet because he invented an international network which is similar to, but predates that of the Internet. He also discovered mathematical equations that enable the petroleum industry to recover more oil. Emeagwali won the 1989 Gordon Bell Prize, computation's Nobel prize, for inventing a formula that lets computers perform the fastest computations, a work that led to the reinvention of supercomputers.
SUMMARY, CONCLUSION AND RECOMMENDATION
Researching, studying and writing on ‘History of the Computer’ has indeed been a fulfilling, but challenging task and has brought about greater appreciation of several work done by scientists of old, great developmental research carried out by more recent scientists and of course the impact all such innovations have made on the development of the human race. It has generated greater awareness of the need to study history of the computer as a means of knowing how to develop or improve on existing computer technology.
It is therefore strongly recommended that science and engineering students should develop greater interest in the history of their profession. The saying that ‘there is nothing absolutely new under the sun’ is indeed real because the same world resources but fresh ideas have been used over the years to improve on existing technologies.
Finally, it is hoped that this paper is found suitable as a good summary of ‘the technological history and development of computer’ and challenging to upcoming scientists and engineers to study the history of their profession.
No comments:
Post a Comment