|
Computing hardware has been an important component of the process of calculation and data storage since it became useful for numerical values to be processed and shared. The earliest computing hardware was probably some form of tally stick; later record keeping aids include Phoenician clay shapes which represented counts of items, probably livestock or grains, in containers. Something similar is found in early Minoan excavations. These seem to have been used by the merchants, accountants, and government officials of the time. Devices to aid computation have changed from simple recording and counting devices to the abacus, the slide rule, analog computers, and more recent electronic computers. Even today, an experienced abacus user using a device hundreds of years old can sometimes complete basic calculations more quickly than an unskilled person using an electronic calculator — though for more complex calculations, computers out-perform even the most skilled human. This article covers major developments in the history of computing hardware, and attempts to put them in context. For a detailed timeline of events, see the computing timeline article. The history of computing article is a related overview and treats methods intended for pen and paper, with or without the aid of tables. Earliest devices
1801: punched card technology
1835&1900s: first programmable machines The defining feature of a "universal computer" is programmability, which allows the computer to emulate any other calculating machine by changing a stored sequence of instructions. In 1835 Charles Babbage described his analytical engine. It was the plan of a general-purpose programmable computer, employing punch cards for input and a steam engine for power. One crucial invention was to use gears for the function served by the beads of an abacus. In a real sense, computers all contain automatic abacuses (technically called the ALU or floating-point unit). His initial idea was to use punch-cards to control a machine that could calculate and print logarithmic tables with huge precision (a specific purpose machine). Babbage's idea soon developed into a general-purpose programmable computer, his analytical engine. While his design was sound and the plans were probably correct, or at least debuggable, the project was slowed by various problems. Babbage was a difficult man to work with and argued with anyone who didn't respect his ideas. All the parts for his machine had to be made by hand. Small errors in each item can sometimes sum up to large discrepancies in a machine with thousands of parts, which required these parts to be much better than the usual tolerances needed at the time. The project dissolved in disputes with the artisan who built parts and was ended with the depletion of government funding. Ada Lovelace, Lord Byron's daughter, translated and added notes to the "Sketch of the Analytical Engine" by Federico Luigi, Conte Menabrea. She has become closely associated with Babbage. Some claim she is the world's first computer programmer, however this claim and the value of her other contributions are disputed by many. A reconstruction of the Difference Engine II, an earlier, more limited design, has been operational since 1991 at the London Science Museum. With a few trivial changes, it works as Babbage designed it and shows that Babbage was right in theory. The museum used computer-operated machine tools to construct the necessary parts, following tolerances which a machinist of the period would have been able to achieve. Some feel that the technology of the time was unable to produce parts of sufficient precision, though this appears to be false. The failure of Babbage to complete the engine can be chiefly attributed to difficulties not only related to politics and financing, but also to his desire to develop an increasingly sophisticated computer. Today, many in the computer field term this sort of obsession creeping featuritis. Following in the footsteps of Babbage, although unaware of his earlier work, was Percy Ludgate, an accountant from Dublin, Ireland. He independently designed a programmable mechanical computer, which he described in a work that was published in 1909. 1930s&1960s: desktop calculators By the 1900s earlier mechanical calculators, cash registers, accounting machines, and so on were redesigned to use electric motors, with gear position as the representation for the state of a variable. Companies like Friden, Marchant and Monroe made desktop mechanical calculators from the 1930s that could add, subtract, multiply and divide. The word "computer" was a job title assigned to people who used these calculators to perform mathematical calculations. During the Manhattan project, future Nobel laureate Richard Feynman was the supervisor of the roomful of human computers, many of them women mathematicians, who understood the differential equations which were being solved for the war effort. Even the renowned Stanislaw Marcin Ulam was pressed into service to translate the mathematics into computable approximations for the hydrogen bomb, after the war. In 1948, the Curta was introduced. This was a small, portable, mechanical calculator that was about the size of a pepper grinder. Over time, during the 1950s and 1960s a variety of different brands of mechanical calculator appeared on the market. The first all-electronic desktop calculator was the British ANITA Mk.VII, which used a Nixie tube display and 177 subminiature thyratron tubes. In June 1963, Friden introduced the four-function EC-130. It had an all-transistor design, 13-digit capacity on a 5-inch CRT, and introduced reverse Polish notation (RPN) to the calculator market at a price of $2200. The model EC-132 added square root and reciprocal functions. In 1965, Wang Laboratories produced the LOCI-2, a 10-digit transistorized desktop calculator that used a Nixie tube display and could compute logarithms. With development of the integrated circuits and microprocessors, the expensive, large calculators were replaced with smaller electronic devices. Pre-1940 analog computers Before World War II, mechanical and electrical analog computers were considered the 'state of the art', and many thought they were the future of computing. Analog computers use continuously varying amounts of physical quantities, such as voltages or currents, or the rotational speed of shafts, to represent the quantities being processed. An ingenious example of such a machine was the Water integrator built in 1936. Unlike modern digital computers, analog computers are not very flexible, and need to be reconfigured (i.e., reprogrammed) manually to switch them from working on one problem to another. Analog computers had an advantage over early digital computers in that they could be used to solve complex problems while the earliest attempts at digital computers were quite limited. But as digital computers have become faster and used larger memory (e.g., RAM or internal store), they have almost entirely displaced analog computers, and computer programming, or coding has arisen as another human profession. Since computers were rare in this era, the solutions were often hard-coded into paper forms such as graphs and nomograms, which could then allow analog solutions to problems, such as the distribution of pressures and temperatures in a heating system. Some of the most widely deployed analog computers included devices for aiming weapons, such as the Norden bombsight and artillery-aiming computers for battleships. Some of these stayed in use for decades after WWII. The art of analog computing reached its zenith with the differential analyzer, invented by Vannevar Bush in 1930. Fewer than a dozen of these devices were ever built; the most powerful was constructed at the University of Pennsylvania's Moore School of Electrical Engineering, where the ENIAC was built. Digital electronic computers like the ENIAC spelled the end for most analog computing machines, but hybrid analog computers, controlled by digital electronics, remained in substantial use into the 1950s and 1960s, and later in some specialized applications. Early digital computers The era of modern computing began with a flurry of development before and during World War II, as electronic circuits, relays, capacitors and vacuum tubes replaced mechanical equivalents and digital calculations replaced analog calculations. The computers designed and constructed then have sometimes been called 'first generation' computers. First generation computers such as the Atanasoff-Berry Computer, the Z3, the Colossus and ENIAC, were built by hand using circuits containing relays or valves (vacuum tubes), and often used punched cards or punched paper tape for input and as the main (non-volatile) storage medium. In later systems, temporary, or working, storage was provided by acoustic delay lines (which use the propagation time of sound through a medium such as liquid mercury or wire to briefly store data) or by Williams tubes (which use the ability of a television picture tube to store and retrieve data). By 1954, magnetic core memory was rapidly displacing most other forms of temporary storage, and dominated the field through the mid-1970s. In this era, a number of different machines were produced with steadily advancing capabilities. At the beginning of this period, nothing remotely resembling a modern computer existed, except in the long-lost plans of Charles Babbage and the mathematical musings of Alan Turing and others. At the end of the era, devices like the EDSAC had been built, and are universally agreed to be digital computers. Defining a single point in the series as the "first computer" misses many subtleties. Alan Turing's 1936 paper has proved enormously influential in computing and computer science in two ways. Its main purpose was an elegant proof that there were problems (namely the halting problem) that could not be solved by a mechanical process (a computer). In doing so, however, Turing provided a definition of what a universal computer is: a construct called the Turing machine, a purely theoretical device invented to formalize the notion of algorithm execution, replacing Kurt Gödel's more cumbersome universal language based on arithmetics. Modern computers are Turing-complete (i.e., equivalent algorithm execution capability to a universal Turing machine), except for their finite memory. This limited type of Turing completeness is sometimes viewed as a threshold capability separating general-purpose computers from their special-purpose predecessors. However, as will be seen, theoretical Turing-completeness is a long way from a practical universal computing device. To be a practical general-purpose computer, there must be some convenient way to input new programs into the computer, such as punched tape. For full versatility, the Von Neumann architecture uses the same memory both to store programs and data; virtually all contemporary computers use this architecture (or some variant). Finally, while it is theoretically possible to implement a full computer entirely mechanically (as Babbage's design showed), electronics made possible the speed and later the miniaturization that characterises modern computers. There were three parallel streams of computer development in the World War II era, and two were either largely ignored or were deliberately kept secret. The first was the German work of Konrad Zuse. The second was the secret development of the Colossus computer in the UK. Neither of these had much influence on the various computing projects in the United States. After the war, British and American computing researchers cooperated on some of the most important steps towards a practical computing device. Konrad Zuses Z-series Working in isolation in Germany, Konrad Zuse started construction in 1936 of his first Z-series calculators featuring memory and (initially limited) programmability. Zuse's purely mechanical, but already binary Z1, finished in 1938, never worked reliably due to problems with the precision of parts. Zuse's subsequent machine, the Z3, was finished in 1941. It was based on telephone relays and did work satisfactorily. The Z3 thus became the first functional program-controlled computer. In many ways it was quite similar to modern machines, pioneering numerous advances, such as floating point numbers. Replacement of the hard-to-implement decimal system (used in Charles Babbage's earlier design) by the simpler binary system meant that Zuse's machines were easier to build and potentially more reliable, given the technologies available at that time. This is sometimes viewed as the main reason why Zuse succeeded where Babbage failed. Programs were fed into Z3 on punched films. Conditional jumps were missing, but since the 1990s it has been proved theoretically that Z3 was still a universal computer (ignoring its physical storage size limitations). In two 1936 patent applications, Konrad Zuse also anticipated that machine instructions could be stored in the same storage used for data - the key insight of what became known as the Von Neumann architecture and was first implemented in the later British EDSAC design (1949). Zuse also claimed to have designed the first higher-level programming language, (Plankalkül), in 1945, although it was never formally published until 1971, and was implemented for the first time in 2000 by the Free University of Berlin -- five years after Zuse died. Zuse suffered setbacks during World War II when some of his machines were destroyed in the course of Allied bombing campaigns. Apparently his work remained largely unknown to engineers in the UK and US until much later, although at least IBM was aware of it as it financed his post-war startup company in 1946 in return for an option on Zuse's patents. American developments In 1937, Claude Shannon produced his master's thesis at MIT that implemented Boolean algebra using electronic relays and switches for the first time in history. Entitled A Symbolic Analysis of Relay and Switching Circuits, Shannon's thesis essentially founded practical digital circuit design. In November of 1937, George Stibitz, then working at Bell Labs, completed a relay-based computer he dubbed the "Model K" (for "kitchen", where he had assembled it), which calculated using binary addition. Bell Labs authorized a full research program in late 1938 with Stibitz at the helm. Their Complex Number Calculator, completed January 8, 1940, was able to calculate complex numbers. In a demonstration to the American Mathematical Society conference at Dartmouth College on September 11, 1940, Stibitz was able to send the Complex Number Calculator remote commands over telephone lines by a teletype. It was the first computing machine ever used remotely, in this case over a phone line. Some participants in the conference who witnessed the demonstration were John Von Neumann, John Mauchly, and Norbert Wiener, who wrote about it in his memoirs. In 1938 John Vincent Atanasoff and Clifford E. Berry of Iowa State University developed the Atanasoff-Berry Computer (ABC), a special purpose electronic computer for solving systems of linear equations. (The original goal was to solve 29 simultaneous equations of 29 unknowns each, but due to errors in the card puncher mechanism the completed machine could only solve a few equations.) The design used over 300 vacuum tubes for high speed and employed capacitors fixed in a mechanically rotating drum for memory. Though the ABC machine was not programmable, it was the first modern computer in several other respects, including the first to use binary math and electronic circuits. ENIAC co-inventor John Mauchly visited the ABC while it was still under construction in June 1941, and its influence on the design of the later ENIAC machine is a matter of contention among computer historians. The ABC was largely forgotten until it became the focus of the lawsuit Honeywell v. Sperry Rand, the ruling of which invalidated the ENIAC patent (and several others) as, among many reasons, having been anticipated by the Iowa work. In 1939, development began at IBM's Endicott laboratories on the Harvard Mark I. Known officially as the Automatic Sequence Controlled Calculator, the Mark I was a general purpose electro-mechanical computer built with IBM financing and with assistance from IBM personnel, under the direction of Harvard mathematician Howard Aiken. Its design was influenced by Babbage's Analytical Engine, using decimal arithmetic and storage wheels and rotary switches in addition to electromagnetic relays. It was programmable via punched paper tape, and contained several calculation units working in parallel. Later versions contained several paper tape readers and the machine could switch between readers based on a condition. Nevertheless, the machine was not quite Turing-complete. The Mark I was moved to Harvard University and began operation in May 1944. Colossus
ENIAC
Summary First generation von Neumann machines
1950s and early 1960s: second generation The next major step in the history of computing was the invention of the transistor in 1947. This replaced the fragile and power hungry valves with a much smaller and more reliable component. Transistorized computers are normally referred to as 'Second Generation' and dominated the late 1950s and early 1960s. By using transistors and printed circuits a significant decrease in size and power consumption was achieved, along with an increase in reliability. For example, the transistorized IBM 1620, which replaced the bulky IBM 650, was the size of an office desk. Second generation computers were still expensive and were primarily used by universities, governments, and large corporations. Setun was a ternary computer developed in 1958 in the Soviet Union. It is possibly the first computer of its type. In 1959, IBM shipped the transistor-based IBM 7090 mainframe and medium scale IBM 1401. The latter was designed around punch card input and proved a popular general purpose computer. Some 12,000 were shipped, making it the most successful machine in computer history at the time. It used a magnetic core memory of 4000 characters (later expanded to 16,000 characters). Many aspects of its design were based on the desire to replace punched card machines which were in wide use from the 1920s through the early 1970s. In 1960, IBM shipped the smaller, transistor-based IBM 1620, originally with only punched paper tape, but soon upgraded to punch cards. It proved a popular scientific computer and about 2,000 were shipped. It used a magnetic core memory of up to 60,000 decimal digits. Also in 1960, DEC launched their first machine, the PDP-1, intended for use by technical staff in laboratories and for research. In 1961, Burroughs released the B5000, the first dual processor and virtual memory computer. Other unique features were a stack architecture, descriptor-based addressing, and no programming directly in assembly language. In 1962, Sperry Rand shipped the UNIVAC 1107, one of the first machines with a general register set and the base of the successful UNIVAC 1100 series. In 1964 IBM announced the S/360 series, which was the first family of computers that could run the same software at different combinations of speed, capacity and price. It also pioneered the commercial use of microprograms, and an extended instruction set designed for processing many types of data, not just arithmetic. In addition, it unified IBM's product line, which prior to that time had included both a "commercial" product line and a separate "scientific" line. The software provided with System/360 also included major advances, including commercially available multi-programming, new programming languages, and independence of programs from input/output devices. Over 14,000 System/360 systems were shipped by 1968. Also in 1964, DEC launched the PDP-8, a much smaller machine intended for use by technical staff in laboratories and for research. Post-1960: third generation and beyond Main article: History of computing hardware (1960s-present) The explosion in the use of computers began with 'Third Generation' computers. These relied on Jack St. Clair Kilby's and Robert Noyce's independent invention of the integrated circuit (or microchip), which later led to the invention of the microprocessor, by Ted Hoff and Federico Faggin at Intel. During the 1960s there was considerable overlap between second and third generation technologies. As late as 1975, Sperry Univac continued the manufacture of second-generation machines such as the UNIVAC 494. The microprocessor led to the development of the microcomputer, small, low-cost computers that could be owned by individuals and small businesses. Microcomputers, the first of which appeared in the 1970s, became ubiquitous in the 1980s and beyond. Steve Wozniak, co-founder of Apple Computer, is credited with developing the first mass-market home computers. Computing has evolved with microcomputer architectures, with features added from their larger brethren, now dominant in most market segments. See also First-generation electronic computers (use vacuum tubes) Notes Books for further reading See List of books on the history of computing | |||||||||||||||||
|
| ||||||||||||||||||
![]() |
|
| |