History of computing hardware 13636 move=:edit= 226167704 2008-07-17T03:23:58Z 69.34.182.3 [[Image:Information processing system (english).svg|thumb|right|400px|[[Computing hardware]] is a platform for [[information processing]] ([[block diagram]]). ]] The '''history of computing hardware''' encompasses [[computer hardware|the hardware]], its [[Computer architecture|architecture]], and its impact on [[Computer software|software]]. The elements of computing hardware have undergone significant improvement over their history. This improvement has triggered world-wide use of the technology, performance has improved and the price has declined.<ref>{{harvnb|Patterson|Hennessy|1998| p=3 }} </ref> Computers have become commodities accessible to ever-increasing sectors of the world's population.<ref> Although the price of hardware has fallen dramatically in the past century, a computer system needs software and skilled use, to this day, and the total cost is still subject to economic forces, such as competition. For example, the [[open source]] movement has prompted some formerly proprietary software vendors to open up some of their software, so as to remain competitive in the market. </ref> Computing hardware has become a platform for uses other than computation, such as automation, communication, control, entertainment, and education. Each field in turn has imposed its own requirements on the hardware, which has evolved in response to those requirements.<ref>[[Keepon]] is a small [[robot]] which has merged [[automation]], [[communication]], [[control theory|control]], [[entertainment]], and [[education]] in 'one' research project.</ref> The [[von Neumann architecture]] unifies our current computing hardware implementations.<ref> {{harvnb|Backus|1978 }} </ref> Since digital computers rely on digital storage, and tend to be limited by the size and speed of memory, the history of [[computer data storage]] is tied to the development of computers. The major elements of computing hardware implement [[abstraction]]s: input,<ref> Historically, the media for 'input' have been sequences of [[event]]s: [[punch card]] and [[paper tape]] hole punch, [[keyboard (computing)|keyboard]] keystroke, or [[mouse click]]. </ref> output,<ref> Historically, the media for 'output' have been sequences of states: [[punch card]] and [[paper tape]] hole punch, [[print]] mark, or [[light bulb]]. </ref> memory,<ref> 'Memory' is US usage; '[[Computer data storage|storage]]' is UK usage; the terms are not completely equivalent: 'memory' has the connotation of rapid access; 'storage' has the connotation of large capacity. (The use of the term 'storage' dates back to [[Ada Lovelace]] in the nineteenth century.) [[Magnetic core memory]] was much faster than disk; which was cheaper, with higher capacity. There is a [[Computer_storage#Hierarchy of storage|hierarchy of storage]], which trades capacity for speed of access. To this day, semiconductor memory is more expensive than disk or tape. </ref> and [[Central processing unit|processor]]. A processor is composed of control<ref> Historically, 'control' has been implemented by [[process]]es, which have been sequences of manual interventions (the earliest versions), switch settings (nineteenth century), patch panel connections (twentieth century), and then [[stored program]]s, perhaps in [[microcode]]. </ref> and datapath.<ref> The [[datapath]] for integers dates back to the ENIAC's decision (1945–1946) to implement arithmetic as part of the fundamental architecture, and to defer the implementation of [[floating point]] arithmetic to a later date as noted in {{harvnb|Patterson|Hennessy|1998| pp=312–334 }}; other data types (audio, video, etc.) can take other datapaths. </ref> In the von Neumann architecture, control of the datapath is stored in memory. This allowed control to become an automatic process; the datapath could be under software control, perhaps in response to [[event]]s. Beginning with mechanical datapaths such as the [[abacus]] and [[astrolabe]], the hardware first started using analogs for a computation, including water and even air as the analog quantities: [[analog computer]]s have used [[length]]s, [[pressure]]s, [[voltage]]s, and [[current]]s to represent the results of calculations.<ref> [[Babbage]]'s [[Analytical engine]] was intended to be [[steam power]]ed. </ref> Eventually the voltages or currents were [[standard]]ized, and then digitized. Digital computing elements have ranged from mechanical gears, to electromechanical relays, to vacuum tubes, to transistors, and to integrated circuits, all of which are currently implementing the von Neumann architecture.<ref> The major advance in this architecture over its prototype, ENIAC, is that a computer program be stored in memory. Zuse' architecture did the same. However, Von Neumann deferred his floating point implementation until after ENIAC, while Zuse' Z3 implemented floating point. {{harvnb|Patterson|Hennessy|1998| pp=34–35 }} note the Burks, Goldstine, and von Neumann "... paper was incredible for the period. Reading it today, you would never guess this landmark paper was written more than 50 years ago because it discusses most of the architectural concepts seen in modern computers. " </ref> {{History of computing}} == Before computer hardware == Originally calculations were computed by humans, whose job title was computers.<ref>The term 'computer'—meaning a piece of hardware—shifted to its current meaning in the years after the [[Manhattan Project]], when people were still computers.</ref> These [[human computer]]s were typically engaged in the calculation of a [[mathematical expression]], say for astronomical [[ephemerides]], for artillery firing tables, or for nautical [[navigation]]. The calculations of this period were specialized and expensive, requiring years of training in mathematics. ==Earliest calculators== {{main|calculator}} Devices have been used to aid computation for thousands of years, using [[one-to-one correspondence]] with our fingers.<ref>[[Georges Ifrah]] notes that humans learned to count on their hands. Ifrah shows, for example, a picture of [[Boethius]] (who lived 480–524 or 525) reckoning on his fingers in {{harvnb|Ifrah|2000|p=48}}. </ref> The earliest counting device was probably a form of [[tally stick]]. Later record keeping aids throughout the [[Fertile Crescent]] included clay shapes, which represented counts of items, probably livestock or grains, sealed in containers.<ref> According to {{harvnb|Schmandt-Besserat|1981}}, these clay containers contained tokens, the total of which were the count of objects being transferred. The containers thus served as a [[bill of lading]] or an accounts book. In order to avoid breaking open the containers, marks were placed on the outside of the containers, for the count. Eventually (Schmandt-Besserat estimates it took 4000 years) the marks on the outside of the containers were all that were needed to convey the count, and the clay containers evolved into clay tablets with marks for the count. </ref> The [[abacus]] was used for arithmetic tasks. The [[Roman abacus]] was used in [[Babylonia]] as early as 2400 BC. Since then, many other forms of reckoning boards or tables have been invented. In a medieval [[counting house]], a checkered cloth would be placed on a table, and markers moved around on it according to certain rules, as an aid to calculating sums of money<!--ref>Menninger</ref--> (this is the origin of "Exchequer" as a term for a nation's treasury). A number of [[analog computer]]s were constructed in ancient and medieval times to perform astronomical calculations. These include the [[Antikythera mechanism]] and the [[astrolabe]] from [[ancient Greece]] (c. 150–100 BC), which are generally regarded as the first mechanical analog computers.<ref> {{harvnb|Lazos|1994}} </ref> Other early versions of mechanical devices used to perform some type of calculations include the [[planisphere]] and other mechanical computing devices invented by [[Abū Rayhān al-Bīrūnī]] (c. AD 1000); the [[equatorium]] and universal latitude-independent astrolabe by [[Abū Ishāq Ibrāhīm al-Zarqālī]] (c. AD 1015); the astronomical analog computers of other medieval [[Islamic astronomy|Muslim astronomers]] and engineers; and the [[astronomical clock]] [[Clock tower|tower]] of [[Su Song]] (c. AD 1090) during the [[Song Dynasty]]. [[Image:Abacus 6.png|thumb|left|200px|[[Suanpan]] (the number represented on this abacus is 6,302,715,408)]] Scottish mathematician and physicist [[John Napier]] noted multiplication and division of numbers could be performed by addition and subtraction, respectively, of logarithms of those numbers. While producing the first logarithmic tables Napier needed to perform many multiplications, and it was at this point that he designed [[Napier's bones]], an abacus-like device used for multiplication and division.<ref> A Spanish implementation of [[Napier's bones]] (1617), is documented in {{harvnb|Montaner|Simon|1887|pp=19–20}}.</ref> Since [[real number]]s can be represented as distances or intervals on a line, the [[slide rule]] was invented in the 1620s to allow multiplication and division operations to be carried out significantly faster than was previously possible.<ref>{{harvnb|Kells|Kern|Bland|1943|p=92}} </ref> Slide rules were used by generations of engineers and other mathematically inclined professional workers, until the invention of the [[pocket calculator]]. The engineers in the [[Apollo program]] to send a man to the moon made many of their calculations on slide rules, which were accurate to three or four significant figures.<ref> {{harvnb|Kells|Kern|Bland|1943|p=82}}, as log(2)=.3010, or 4 places. </ref> [[Image:Mechanical-Calculator.png|thumb|right|A mechanical calculator from 1914. Note the lever used to rotate the gears.]] German polymath [[Wilhelm Schickard]] built the first digital mechanical calculator in 1623, and thus became the father of the computing era.<ref>{{harvnb|Schmidhuber}} </ref> Since his calculator used techniques such as cogs and gears first developed for clocks, it was also called a 'calculating clock'. It was put to practical use by his friend [[Johannes Kepler]], who revolutionized astronomy when he condensed decades of astronomical observations into algebraic [[Kepler's laws of planetary motion|expression]]s. An original calculator by [[Blaise Pascal|Pascal]] (1640) is preserved in the [[Zwinger|Zwinger Museum]]. Machines by [[Blaise Pascal]] (the [[Pascaline]], 1642) and [[Gottfried Leibniz|Gottfried Wilhelm von Leibniz]] (1671) followed. Leibniz once said <!--after 1671--> "It is unworthy of excellent men to lose hours like slaves in the labour of calculation which could safely be relegated to anyone else if machines were used."<ref>As quoted in {{harvnb|Smith|1929|pp=180–181}} </ref> Around 1820, [[Charles Xavier Thomas]] created the first successful, mass-produced mechanical calculator, the Thomas Arithmometer, that could add, subtract, multiply, and divide. It was mainly based on Leibniz' work. Mechanical calculators, like the base-ten [[addiator]], the [[comptometer]], the [[Monroe calculator|Monroe]], the [[Curta]] and the Addo-X remained in use until the 1970s. Leibniz also described the [[binary numeral system]],<ref> {{harvnb|Leibniz|1703}} </ref> a central ingredient of all modern computers. However, up to the 1940s, many subsequent designs (including [[Charles Babbage]]'s machines of the 1800s and even [[ENIAC]] of 1945) were based on the decimal system;<ref> [[Binary-coded decimal]] (BCD) is a numeric representation, or [[character encoding]], which is still extant.</ref> ENIAC's ring counters emulated the operation of the digit wheels of a mechanical adding machine. ==1801: punched card technology== {{main|analytical engine}} {{seealso|logic piano}} [[Image:Lochkarte Tanzorgel.jpg|thumb|Punched card system of a music machine, also referred to as [[Book music]], a one-stop European medium for organs]] As early as 1725 [[Basile Bouchon]] used a perforated paper loop in a loom to establish the pattern to be reproduced on cloth, and in 1726 his co-worker Jean-Baptiste Falcon improved on his design by using perforated paper cards attached to one another for efficiency in adapting and changing the program. The Bouchon-Falcon loom was semi-automatic and required manual feed of the program. In 1801, [[Joseph Marie Jacquard|Joseph-Marie Jacquard]] developed a [[loom]] in which the pattern being woven was controlled by [[punched cards]]. The series of cards could be changed without changing the mechanical design of the loom. This was a landmark point in programmability. In 1833, [[Charles Babbage]] moved on from developing his [[difference engine]] to developing a more complete design, the analytical engine, which would draw directly on Jacquard's punched cards for its programming.<ref> {{harvnb|Jones}} </ref> In 1835, 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 (the ''datapath'', [[arithmetic logic unit]], 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 [[debug]]gable, 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]], [[George Gordon Byron, 6th Baron Byron|Lord Byron]]'s daughter, translated and added notes to the "''Sketch of the Analytical Engine''" by [[Federico Luigi, Conte Menabrea]].<ref>{{harvnb|Menabrea|Lovelace|1843}}</ref> [[Image:Ibm407 tabulator 1961 01.redstone.jpg|thumb|left|IBM 407 [[tabulating machine]], (1961)]] 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. 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.<ref>Today, many in the computer field term this sort of obsession ''[[creeping featuritis]]''.</ref> 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. In 1890, the [[United States Census Bureau]] used [[punched card]]s, sorting machines, and [[tabulating machine]]s designed by [[Herman Hollerith]] to handle the flood of data from the decennial [[census]] mandated by the [[United States Constitution|Constitution]].<ref> {{harvnb|Hollerith|1890}}</ref> Hollerith's company eventually became the core of [[International Business Machines|IBM]]. IBM developed punch card technology into a powerful tool for business data-processing and produced an extensive line of specialized [[unit record equipment]]. By 1950, the IBM card had become ubiquitous in industry and government. The warning printed on most cards intended for circulation as documents (checks, for example), "Do not fold, [[Spindle (stationery)|spindle]] or mutilate," became a motto for the post-[[World War II]] era.<ref> {{harvnb|Lubar|1991}}</ref> [[Image:Blue-punch-card-front.png|thumb|100px|right|[[Punched card]] with the extended alphabet]] [[Leslie Comrie]]'s articles on punched card methods and [[W.J. Eckert]]'s publication of ''Punched Card Methods in Scientific Computation'' in 1940, described techniques which were sufficiently advanced to solve differential equations<ref>{{harvnb|Eckert|1935}} </ref> or perform multiplication and division using floating point representations, all on punched cards and [[Unit record equipment|unit record machines]]. In the image of the tabulator (see left), note the [[patch panel]], which is visible on the right side of the tabulator. A row of [[toggle switch]]es is above the patch panel. The [http://www.columbia.edu/acis/history/ Thomas J. Watson Astronomical Computing Bureau], [[Columbia University]] performed astronomical calculations representing the state of the art in [[computing]].<ref> {{harvnb|Eckert|1940|pp=101=114}}. Chapter XII is "The Computation of Planetary Pertubations".</ref> [[Computer programming in the punch card era]] revolved around the computer center. The computer users, for example, science and engineering students at universities, would submit their programming assignments to their local computer center. in the form of a stack of cards, one card per program line. They then had to wait for the program to be queued for processing, compiled, and executed. In due course a printout of any results, marked with the submitter's identification, would be placed in an output tray outside the computer center. In many cases these results would comprise solely a printout of error messages regarding program syntax ''etc.'', necessitating another [[Code and fix|edit-compile-run cycle]].<ref> {{harvnb|Fisk|2005}} </ref> Punched cards are still used and manufactured to this day, and their distinctive dimensions<ref> Hollerith selected the size of the punch card to fit in the metal containers which held the American dollar bills of the day. The dollar is now smaller than it was then.</ref> (and 80-column capacity) can still be recognized in forms, records, and programs around the world. ==1930s&ndash;1960s: desktop calculators== {{main|Post–Turing machine}} {{see|:category:computational models}} [[Image:Curta01.JPG|thumb|The [[Curta]] calculator can also do multiplication and division]]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. The word "computer" was a job title assigned to people who used these calculators to perform mathematical calculations. By the 1920s [[Lewis Fry Richardson]]'s interest in weather prediction led him to propose [[human computer]]s and [[numerical analysis]] to model the weather; to this day, the most powerful computers on [[Earth]] are needed to adequately model its weather using the [[Navier-Stokes equations]].<ref> {{harvnb|Hunt|1998|pp=xiii-xxxvi}} </ref> Companies like [[Friden, Inc.|Friden]], [[Marchant Calculator]] and [[Monroe Calculator Company|Monroe]] made desktop mechanical [http://www.oldcalculatormuseum.com/fridenstw.html calculators] from the 1930s that could add, subtract, multiply and divide. 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 [[Stanisław Ulam]] was pressed into service to translate the mathematics into computable approximations for the [[hydrogen bomb]],<!--ref> {{harvnb|Ulam|1983}} notes that his collaborator, the mathematician C. J. Everett, complained that the U.S. government ought to replace his [[slide rule]], which he had worn out from all the calculations. </ref--> after the war. In 1948, the [[Curta calculator|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 [[Sumlock ANITA calculator|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 {{convert|5|in|mm|sing=on}} [[Cathode ray tube|CRT]], and introduced reverse Polish notation ([[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 [[logarithm]]s. ==Advanced analog computers== {{main|analog computer}} [[Image:Cambridge differential analyser.jpg|thumb|right|250px|Cambridge differential analyzer, 1938]] Before [[World War II]], mechanical and electrical [[analog computer]]s were considered the "state of the art", and many thought they were the future of computing. Analog computers take advantage of the strong similarities between the mathematics of small-scale properties — the position and motion of wheels or the voltage and current of electronic components — and the mathematics of other physical phenomena,<ref> "The same equations have the same solutions." — [[R. P. Feynman]] </ref> e.g. ballistic trajectories, inertia, resonance, energy transfer, momentum, etc. They model physical phenomena with electrical [[voltage]]s and [[current]]s<ref> [[Electrical circuit]]s are composed of elements with [[resistance (electricity)|resistance]], [[capacitance]], [[inductance]], and [http://www.hpl.hp.com/news/2008/apr-jun/memristor.html researchers have just found a fourth basic integrated circuit element, called a ''[[memristor]]'' as of April 2008]. </ref><ref> {{harvnb|Chua|1971|pp=507–519}}</ref> as the analog quantities. Centrally, these analog systems work by creating electrical ''[[analogy|analog]]s'' of other systems, allowing users to predict behavior of the systems of interest by observing the electrical analogs.<ref> See, for example, {{harvnb|Horowitz|Hill|1989|pp=1–44}} </ref> The most useful of the analogies was the way the small-scale behavior could be represented with integral and differential equations, and could be thus used to solve those equations. An ingenious example of such a machine, using [[water]] as the analog quantity, was the [[water integrator]] built in 1928; an electrical example is the [[Mallock machine]] built in 1941. A [[planimeter]] is a device which does integrals, using [[distance]] as the analog quantity. Until the 1980s, [[HVAC]] systems used [[air]] both as the analog quantity and the controlling element. 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 using behavioral analogues while the earliest attempts at digital computers were quite limited. [[Image:Visual Smith Chart.png|thumb|left|A [[Smith Chart]] is a well-known [[nomogram]].]] Since computers were rare in this era, the solutions were often ''hard-coded'' into paper forms such as [[graphs]] and [[nomogram]]s,<ref> {{harvnb|Steinhaus|1999|pp=92–95, 301}} </ref> which could then produce analog solutions to these 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]]<ref> {{harvnb|Norden}} </ref> and the [[fire-control system]]s,<ref> {{harvnb|Singer|1946}} </ref> such as [[Arthur Pollen]]'s Argo system for naval vessels. Some stayed in use for decades after WWII; the [[Mark I Fire Control Computer]] was deployed by the [[United States Navy]] on a variety of ships from [[destroyer]]s to [[battleship]]s. Other analog computers included the [[Heathkit]] EC-1, and the hydraulic [[MONIAC Computer]] which modeled econometric flows.<ref> {{harvnb|Phillips||}} </ref> The art of analog computing reached its zenith with the [[differential analyzer]],<ref> {{fr}} {{harvnb|Coriolis|1836|pp=5–9}} </ref> invented in 1876 by [[James Thomson (engineer)|James Thomson]] and built by H. W. Nieman and [[Vannevar Bush]] at [[MIT]] starting in 1927. 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. But like all digital devices, the decimal [[precision]] of a digital device is a limitation,<ref> The number of digits in the [[accumulator]] is a fundamental limitation to a computation. If a result exceeds the number of digits, this condition is called [[Arithmetic overflow|overflow]]. </ref> as compared to an analog device, in which the [[accuracy]] is a limitation.<ref> The [[Electronic noise|noise]] level, compared to the [[Signal (electrical engineering)|signal]] level, is a fundamental factor, see for example {{harvnb|Davenport|Root|1958|pp=112–364}}. </ref> As [[electronics]] progressed during the twentieth century, its problems of operation at low voltages while maintaining high [[signal-to-noise ratio]]s<ref> {{harvnb|Ziemer|Tranter|Fannin|1993|p=370}}. </ref> were steadily addressed, as shown below, for a digital circuit is a specialized form of analog circuit, intended to operate at standardized settings (continuing in the same vein, [[logic gate]]s can be realized as forms of digital circuits). But as digital computers have become faster and use larger memory (e.g., [[Random Access Memory|RAM]] or internal storage), they have almost entirely displaced analog computers. [[Computer programming]], or [[coding]], has arisen as another human profession. ==Early digital computers== {{seealso|computer science}} [[Image:Punched tape puncher.JPG|thumb|right|[[Punched tape]] programs would be much longer than the short fragment shown.]] The era of modern computing began with a flurry of development before and during [[World War II]], as [[electronic circuit]] elements<ref>In this era, the circuit elements were [[relay]]s, [[resistor]]s, [[capacitor]]s, [[inductor]]s, and [[vacuum tube]]s.</ref> replaced mechanical equivalents and digital calculations replaced analog calculations. Machines such as the Z3, the Atanasoff–Berry Computer, the Colossus computers, and the ENIAC were built by hand using circuits containing relays or valves (vacuum tubes), and often used [[punched card]]s or [[punched tape|punched paper tape]] for input and as the main (non-volatile) storage medium. 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 (see the table "Defining characteristics of some early digital computers of the 1940s" below). [[Alan Turing]]'s 1936 paper<ref> {{harvnb|Turing|1937|pp=230–265}}. Online versions: [http://plms.oxfordjournals.org/cgi/reprint/s2-42/1/230 Proceedings of the London Mathematical Society] [http://www.thocp.net/biographies/papers/turing_oncomputablenumbers_1936.pdf Another version online.] </ref> proved enormously influential in computing and [[computer science]] in two ways. Its main purpose was to prove that there were problems (namely the [[halting problem]]) that could not be solved by any sequential process. In doing so, Turing provided a definition of a universal computer which executes a program stored on tape. This construct came to be called a [[Turing machine]]; it replaces [[Kurt Gödel]]'s more cumbersome universal language based on arithmetics. Except for the limitations imposed by their finite memory stores, modern computers are said to be [[Turing-complete]], which is to say, they have [[algorithm]] execution capability equivalent to a universal Turing machine. [[Image:Largetape.jpg|thumb|Nine-track [[magnetic tape]]]] For a computing machine to be a practical general-purpose computer, there must be some convenient read-write mechanism, punched tape, for example. With a knowledge of Alan Turing's theoretical 'universal computing machine' [[John von Neumann]] defined an architecture which uses the same [[computer memory|memory]] both to store programs and data: virtually all contemporary computers use this architecture (or some variant). 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 characterize modern computers. There were three parallel streams of computer development in the World War II era; the first stream largely ignored, and the second stream deliberately kept secret. The first was the [[Germany|German]] work of [[Konrad Zuse]]. The second was the secret development of the Colossus computers in the [[UK]]. Neither of these had much influence on the various computing projects in the [[United States]]. The third stream of computer development, Eckert and Mauchly's ENIAC and EDVAC, was widely publicized.<ref> {{harvnb|Moye|1996}} </ref><ref> {{harvnb|Bergin|1996}} </ref> ===Program-controlled computers=== {{main|Konrad Zuse|Z1|Z2|Z3|Z4}} [[Image:Zuse Z1.jpg|thumb|200px|A reproduction of Zuse's Z1 computer.]] 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 (computer)|Z1]], finished in 1938, never worked reliably due to problems with the precision of parts. Zuse's subsequent machine, the [[Z3 (computer)|Z3]],<ref> {{harvnb|Zuse}} </ref> was finished in 1941. It was based on telephone relays and did work satisfactorily. The Z3 thus became the first functional program-controlled, all-purpose, digital computer. In many ways it was quite similar to modern machines, pioneering numerous advances, such as [[Floating Point|floating point number]]s. 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. Programs were fed into [[Z3 (computer)|Z3]] on punched films. Conditional jumps were missing, but since the 1990s it has been proved theoretically that Z3 was still a [[Turing machine|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 (which was published in 1948) although it was implemented for the first time in 2000 by a team around [[Raúl Rojas]] at 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 [[Allies|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. ====Colossus==== {{main|Colossus computer}} [[Image:Colossus.jpg|thumbnail|right|Colossus was used to break German ciphers during [[World War II]].]] During [[World War II]], the British at [[Bletchley Park]] (40 miles north of London) achieved a number of successes at breaking encrypted German military communications. The German encryption machine, [[Enigma (machine)|Enigma]], was attacked with the help of electro-mechanical machines called ''[[bombe]]s''. The bombe, designed by [[Alan Turing]] and [[Gordon Welchman]], after the Polish cryptographic ''[[Bomba (cryptography)|bomba]]'' by [[Marian Rejewski]] (1938) came into use in 1941.<ref> {{harvnb|Welchman|1984|pp=138–145, 295–309}} </ref> They ruled out possible Enigma settings by performing chains of logical deductions implemented electrically. Most possibilities led to a contradiction, and the few remaining could be tested by hand. The Germans also developed a series of teleprinter encryption systems, quite different from Enigma. The [[Lorenz SZ 40/42]] machine was used for high-level Army communications, termed "[[Tunny]]" by the British. The first intercepts of Lorenz messages began in 1941. As part of an attack on Tunny, Professor [[Max Newman]] and his colleagues helped specify the [[Colossus computer|Colossus]].<ref> {{harvnb|Copeland|2006}}. </ref> The Mk I Colossus was built between March and December 1943 by [[Tommy Flowers]] and his colleagues at the [[Post Office Research Station]] at [[Dollis Hill]] in London and then shipped to [[Bletchley Park]] in January 1944. [[Colossus computer|Colossus]] was the first totally ''electronic'' computing device. The Colossus used a large number of valves (vacuum tubes). It had paper-tape input and was capable of being configured to perform a variety of [[boolean logic]]al operations on its data, but it was not [[Turing-complete]]. Nine Mk II Colossi were built (The Mk I was converted to a Mk II making ten machines in total). Details of their existence, design, and use were kept secret well into the 1970s. [[Winston Churchill]] personally issued an order for their destruction into pieces no larger than a man's hand. Due to this secrecy the Colossi were not included in many histories of computing. A reconstructed copy of one of the Colossus machines is now on display at Bletchley Park. ===American developments=== {{see|Claude Shannon|George Stibitz|John Vincent Atanasoff|Clifford E. Berry|John Mauchly|Howard Aiken}} In 1937, Shannon produced his master's thesis<ref> {{harvnb|Shannon|1940}} </ref> at [[Massachusetts Institute of Technology|MIT]] that implemented [[Boolean algebra (logic)|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. George Stibitz completed a relay-based computer he dubbed the "Model K" at [[Bell Labs]] in November 1937. Bell Labs authorized a full research program in late 1938 with Stibitz at the helm. Their ''Complex Number Calculator'',<ref> [[George Stibitz]], {{Ref patent |country=US |number=2668661|status=patent|title=Complex Computer|gdate=1954-02-09 |assign1 =[[AT&T]]}}, 102 pages. </ref> 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 their memoirs. [[Image:Atanasoff-Berry Computer at Durhum Center.jpg|thumb|200px|[[Atanasoff–Berry Computer]] replica at 1st floor of Durham Center, [[Iowa State University]] ]] In 1939, John Vincent Atanasoff and Clifford E. Berry of Iowa State University developed the Atanasoff–Berry Computer (ABC),<ref> January 15, 1941 notice in the ''Des Moines Register''. </ref> a special purpose digital electronic calculator for solving systems of linear 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 to use electronic circuits. ENIAC co-inventor John Mauchly examined the ABC 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 Atanasoff's work. In 1939, development began at IBM's Endicott laboratories on the [[Harvard Mark I]]. Known officially as the Automatic Sequence Controlled Calculator,<ref> {{harvnb|Da Cruz|2008}} </ref> 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. ====ENIAC==== {{main|ENIAC}} [[Image:Eniac.jpg|right|thumb|200px|[[ENIAC]] performed ballistics trajectory calculations with 160 kW of power.]] The US-built [[ENIAC]] (Electronic Numerical Integrator and Computer) was the first electronic general-purpose computer.<!--ref> {{harvnb|Stern|1981|p=1?}} </ref--> Built under the direction of [[John Mauchly]] and [[J. Presper Eckert]] at the [[University of Pennsylvania]], it was 1,000 times faster than the Harvard Mark I. ENIAC's development and construction lasted from 1943 to full operation at the end of 1945. When its design was proposed, many researchers believed that the thousands of delicate valves (i.e. vacuum tubes) would burn out often enough that the ENIAC would be so frequently down for repairs as to be useless. It was, however, capable of up to thousands of operations per second for hours at a time between valve failures. ENIAC was unambiguously a Turing-complete device. A "program" on the ENIAC, however, was defined by the states of its patch cables and switches, a far cry from the [[stored program]] electronic machines that evolved from it. To program it meant to rewire it.<ref> [[ENIAC#Programmability|Six women did most of the programming of ENIAC.]] </ref> (Improvements completed in 1948 made it possible to execute stored programs set in function table memory, which made programming less a "one-off" effort, and more systematic.) It was possible to run operations in parallel, as it could be wired to operate multiple accumulators simultaneously. Thus the sequential operation which is the hallmark of a von Neumann machine occurred ''after'' ENIAC. ==First-generation von Neumann machines== {{main|algorithm}} {{see|mainframe computer}} [[Image:von Neumann architecture.svg|right|thumb|Design of the [[von Neumann architecture]] (1947)]] Even before the ENIAC was finished, Eckert and Mauchly recognized its limitations and started the design of a stored-program computer, EDVAC. [[John von Neumann]] was credited with a [[First Draft of a Report on the EDVAC|widely-circulated report]] describing the [[EDVAC]] design in which both the programs and working data were stored in a single, unified store. This basic design, denoted the [[von Neumann architecture]], would serve as the foundation for the world-wide development of ENIAC's successors.<ref> {{harvnb|von Neumann|1945|p=1}}. The title page, as submitted by Goldstine, reads: "First Draft of a Report on the EDVAC by John von Neumann, Contract No. W-670-ORD-4926, Between the United States Army Ordnance Department and the University of Pennsylvania Moore School of Electrical Engineering". </ref> In this generation of equipment, temporary or working storage was provided by [[acoustic delay line]]s, which used the propagation time of sound through a medium such as liquid [[Mercury (element)|mercury]] (or through a wire) to briefly store data. As series of [[acoustics|acoustic]] pulses is sent along a tube; after a time, as the pulse reached the end of the tube, the circuitry detected whether the pulse represented a 1 or 0 and caused the oscillator to re-send the pulse. Others used [[Williams tube]]s, which use the ability of a television picture tube to store and retrieve data. By 1954, magnetic core memory<ref> [[An Wang]] filed October 1949, {{Ref patent |country=US |number=2708722|status=patent|gdate=1955-05-17|title=Pulse transfer controlling devices }}. </ref> was rapidly displacing most other forms of temporary storage, and dominated the field through the mid-1970s. [[Image:Magnetic core.jpg|left|thumb|250|[[Magnetic core memory]]. Each [[Magnetic core|core]] is one [[bit]].]] The first working von Neumann machine was the Manchester "Baby" or [[Small-Scale Experimental Machine]], developed by Frederic C. Williams and Tom Kilburn at [[University of Manchester]] in 1948;<ref> {{harvnb|Enticknap|1998|p=1}}; Baby's 'first good run' was June 21, 1948. </ref> it was followed in 1949 by the [[Manchester Mark I]] computer, a complete system, using Williams tube and [[magnetic drum]] memory, and introducing [[index register]]s.<ref> {{harvnb|Manchester|1998}}, by [http://www.computer50.org/mark1/acknowledge.mark1.html R.B.E. Napper, et.al.] </ref> The other contender for the title "first digital stored program computer" had been [[EDSAC]], designed and constructed at the [[University of Cambridge]]. Operational less than one year after the Manchester "Baby", it was also capable of tackling real problems. EDSAC was actually inspired by plans for EDVAC (Electronic Discrete Variable Automatic Computer), the successor to ENIAC; these plans were already in place by the time ENIAC was successfully operational. Unlike ENIAC, which used parallel processing, EDVAC used a single processing unit. This design was simpler and was the first to be implemented in each succeeding wave of miniaturization, and increased reliability. Some view Manchester Mark I / EDSAC / EDVAC as the "Eves" from which nearly all current computers derive their architecture. Manchester University's machine became the prototype for the [[Ferranti Mark I]]. The first Ferranti Mark I machine was delivered to the University in February, 1951 and at least nine others were sold between 1951 and 1957. The first universal programmable computer in the Soviet Union was created by a team of scientists under direction of [[Sergei Alekseyevich Lebedev]] from [[Kiev Institute of Electrotechnology]], [[Soviet Union]] (now [[Ukraine]]). The computer [[History of computer hardware in communist countries#MESM|MESM]] (''МЭСМ'', ''Small Electronic Calculating Machine'') became operational in 1950. It had about 6,000 vacuum tubes and consumed 25 kW of power. It could perform approximately 3,000 operations per second. Another early machine was [[CSIRAC]], an Australian design that ran its first test program in 1949. CSIRAC is the oldest computer still in existence and the first to have been used to play digital music.<ref> {{harvnb|CSIRAC|2005}} </ref> In October 1947, the directors of [[J. Lyons and Co.|J. Lyons & Company]], a British catering company famous for its teashops but with strong interests in new office management techniques, decided to take an active role in promoting the commercial development of computers. By 1951 the [[LEO computer|LEO I]] computer was operational and ran the world's first regular routine office computer [[Job (software)|job]]. On 17 November 1951, the J. Lyons company began weekly operation of a bakery valuations job on the LEO (Lyons Electronic Office). This was the first business [[:Category:Application software|application]] to go live on a stored program computer.<ref>{{harvnb|Martin|2008|p=24}} notes that David Caminer (1915–2008) served as the first corporate electronic systems analyst, for this first business computer system, a Leo computer, part of J. Lyons & Company. LEO would calculate an employee's pay, handle billing, and other office automation tasks. </ref> {{Early computer characteristics}} In June 1951, the [[UNIVAC I]] (Universal Automatic Computer) was delivered to the [[United States Census Bureau|U.S. Census Bureau]]. Remington Rand eventually sold 46 machines at more than $1 million each. UNIVAC was the first 'mass produced' computer; all predecessors had been 'one-off' units. It used 5,200 vacuum tubes and consumed 125 kW of power. It used a mercury delay line capable of storing 1,000 words of 11 decimal digits plus sign (72-bit words) for memory. Unlike IBM machines it was not equipped with a [[punch card]] reader but 1930s style [[UNISERVO|metal magnetic tape]] input, making it incompatible with some existing commercial data stores. High speed [[Punched tape|punched paper tape]] and modern-style [[Magnetic tape data storage|magnetic tape]]s were used for input/output by other computers of the era.<ref>Magnetic tape will be the primary data storage mechanism when [[CERN]]'s [[Large Hadron Collider]] comes online in [[2008]].</ref> In 1952, IBM publicly announced the [[IBM 701]] Electronic Data Processing Machine, the first in its successful [[IBM 700/7000 series|700/7000 series]] and its first [[IBM mainframe]] computer. The [[IBM 704]], introduced in 1954, used magnetic core memory, which became the standard for large machines. The first implemented high-level general purpose [[programming language]], [[Fortran]], was also being developed at IBM for the 704 during 1955 and 1956 and released in early 1957. (Konrad Zuse's 1945 design of the high-level language [[Plankalkül]] was not implemented at that time.) A volunteer [[user group]] was founded in 1955 to [[SHARE (computing)|share]] their software and experiences with the IBM 701; this group, which exists to this day, was a progenitor of [[open source]]. [[Image:IBM-650-wiring.jpg|thumb|leftt|[[IBM 650]] front panel wiring.]] IBM introduced a smaller, more affordable computer in 1954 that proved very popular. The [[IBM 650]] weighed over 900 kg, the attached power supply weighed around 1350 kg and both were held in separate cabinets of roughly 1.5 meters by 0.9 meters by 1.8 meters. It cost $500,000 or could be leased for $3,500 a month. Its drum memory was originally only 2000 ten-digit words, and required arcane programming for efficient computing. Memory limitations such as this were to dominate programming for decades afterward, until the evolution of hardware capabilities and a programming model that were more sympathetic to software development. In 1955, [[Maurice Wilkes]] invented [[microprogram]]ming,<ref> {{harvnb|Wilkes|1986|pp=115–126}}</ref> which allows the base instruction set to be defined or extended by built-in programs (now called [[firmware]] or [[microcode]]).<ref> {{harvnb|Horowitz|Hill|1989|p=743}} </ref> It was widely used in the [[Central processing unit|CPUs]] and [[floating-point]] units of [[mainframe computer|mainframe]] and other computers, such as the [[IBM 360]] series.<ref> {{harvnb|Patterson|Hennessy|1998|p=424}}: note that when IBM was preparing its transition from the 700/7000 series to [[S/360]], they emulated the software of the older systems in microcode, so as to be able to run older programs on the new IBM 360. </ref> In 1956, IBM sold its [[Early IBM disk storage|first magnetic disk system]], [[RAMAC]] (Random Access Method of Accounting and Control). It used 50 {{convert|24|in|mm|sing=on}} metal disks, with 100 tracks per side. It could store 5 [[megabyte]]s of data and cost $10,000 per megabyte.<ref> {{harvnb|IBM|1956}} </ref> (As of 2008, magnetic storage, in the form of [[hard disk]]s, costs less than one 50th of a cent per megabyte). ==Second generation: transistors== {{main|computer architecture|von Neumann architecture}} [[Image:Transistor-die-KSY34.jpg|thumb|right|150px|A [[bipolar junction transistor]]. ]] In the second half of the 1950s bipolar junction transistors ([[BJT]]s)<ref> {{harvnb|Feynman|Leighton|Sands|1965|pp=III 14-11 to 14-12}} </ref> replaced [[vacuum tube]]s. Their use gave rise to the "second generation" computers. Initially, it was believed that very few computers would ever be produced or used.<ref> {{harvnb|Bowden|1970|pp=43–53}} </ref> This was due in part to their size, cost, and the skill required to operate or interpret their results. Transistors<ref>A transistor is an electronic device of very pure [[germanium]], [[silicon]] or other [[semiconductor]] [[monocrystal]] to which [[dopant]]s have been added in very precisely controlled quantities, to selected sections of the device.</ref> greatly reduced computers' size, initial cost and [[operating cost]]. The bipolar junction transistor<ref> In 1947, Bardeen and Brattain prototyped the [[point-contact transistor]], in form very much like a [[cat's whisker diode]], which had inherent reliability problems. It was superseded by the [[BJT]]. </ref> was invented in 1947.<ref>Americans [[John Bardeen]], [[Walter Brattain]] and [[William Shockley]] shared the 1956 [[Nobel Prize in Physics]] for their invention of the transistor.</ref> If no [[Electric current|electrical current]] flows through the base-emitter path of a bipolar transistor, the transistor's collector-emitter path blocks electrical current (and the transistor is said to "turn full off"). If sufficient current flows through the base-emitter path of a transistor, that transistor's collector-emitter path also passes current (and the transistor is said to "turn full on"). Current flow or current blockage represent [[Binary numeral system|binary]] 1 (true) or 0 (false), respectively.<ref> {{harvnb|Cleary|1964|pp=139–204}} </ref> Compared to vacuum tubes, transistors have many advantages: they are less expensive to manufacture and are ten times faster, [[Digital signal|switching]] from the condition 1 to 0 in millionths or billionths of a second. Transistor volume is measured in cubic millimeters compared to vacuum tubes' cubic centimeters. Transistors' lower operating temperature increased their reliability, compared to vacuum tubes. Transistorized computers could contain tens of thousands of binary logic circuits in a relatively compact space. Typically, second-generation computers<ref>Second generation computers include the [[CDC 1604]] (1960), [[PDP-1|DEC PDP-1]] (1960), [[IBM 7030 Stretch]] (1961), [[IBM 7090]] (1959), [[IBM 1401]] (1959), [[IBM 1620]] (1959), [[ATHENA computer|Sperry Rand Athena]] (1957), [[UNIVAC LARC|Univac LARC]] (1960), and [[1ESS switch|Western Electric 1ESS Switch]] (1965).</ref><ref>The [[1ESS switch]] could not be marketed as a 'computer' in order for [[AT&T]] to comply with their anti-monopoly consent decree, which also affected the [[Unix]] [[operating system]].</ref> were composed of large numbers of [[printed circuit board]]s such as the [[IBM Standard Modular System]]<ref name=IBM_SMS> {{harvnb|IBM_SMS|1960}} </ref> each carrying one to four [[logic gate]]s or [[Flip-flop (electronics)|flip-flops]]. A second generation computer, the IBM 1401, captured about one third of the world market. IBM installed more than one hundred thousand 1401s between 1960 and 1964— This period saw the only Italian attempt: the ELEA by Olivetti, produced in 110 units. [[Image:Ramac.jpg|thumb|left|200px| This [[RAMAC]] [[Direct access storage device|DASD]] is being restored at the [[Computer History Museum]].]] Transistorized electronics improved not only the [[Central processing units|CPU]] (Central Processing Unit), but also the [[Peripheral|peripheral devices]]. The [[IBM 350]] RAMAC was introduced in 1956 and was the world's first disk drive. The second generation [[Disk storage|disk data storage units]] were able to store tens of millions of letters and digits. Multiple Peripherals can be connected to the CPU, increasing the total memory capacity to hundreds of millions of characters. Next to the [[Hard disk drive|fixed disk storage units]], connected to the CPU via high-speed data transmission, were removable disk data storage units. A removable disk stack can be easily exchanged with another stack in a few seconds. Even if the removable disks' capacity is smaller than fixed disks,' their interchangeability guarantees an nearly unlimited quantity of data close at hand. But [[Magnetic tape data storage|magnetic tape]] provided archival capability for this data, at a lower cost than disk. Many second generation CPUs delegated peripheral device communications to a secondary processor. For example, while the communication processor controlled [[Unit record equipment|card reading and punching]], the main CPU executed calculations and binary [[Branch (computer science)|branch instructions]]. One [[databus]] would bear data between the main CPU and core memory at the CPU's [[fetch-execute cycle]] rate, and other databusses would typically serve the peripheral devices. On the [[PDP-1]], the core memory's cycle time was 5 microseconds; consequently most arithmetic instructions took 10 microseconds (100,000 operations per second) because most operations took at least two memory cycles; one for the instruction, one for the [[operand]] data fetch. During the second generation [[Remote Digital Terminal|remote terminal]] units (often in the form of [[Teleprinter|teletype machines]] like a [[Friden Flexowriter]]) saw greatly increased use.<!--ref> [[Alan Newell]] used remote terminals to communicate cross-country with the [[RAND]] computers, as noted in {{harvnb|Simon|1991}} </ref--> Telephone connections provided sufficient speed for early remote terminals and allowed hundreds of kilometers separation between remote-terminals and the computing center. Eventually these stand-alone computer networks would be generalized into an interconnected ''[[history of the Internet|network of networks]]'' — the Internet.<ref> {{harvnb|Mayo|Newcomb|2008|p=96–117}}; Jimbo Wales is quoted on p. 115. </ref> ==Post-1960: third generation and beyond== {{main|history of computing hardware (1960s–present)|history of general purpose CPUs}} {{seealso|integrated circuit|minicomputer|microprocessor|technology|software|design}} [[Image:153056995 5ef8b01016 o.jpg|right|thumb|200px|Intel [[integrated circuit|8742 eight-bit microcontroller IC]].]] The explosion in the use of computers began with 'Third Generation' computers. These relied on [[Jack Kilby|Jack St. Clair Kilby]]'s<ref> {{harvnb|Kilby|2000}} </ref> and [[Robert Noyce]]'s<ref> [[Robert Noyce]]'s Unitary circuit, {{Ref patent |country=US |number=2981877|status=patent|gdate=1961-04-25|title=Semiconductor device-and-lead structure |assign1 =[[Fairchild Semiconductor Corporation]]}}.</ref> independent invention of the integrated circuit (or microchip), which later led to the invention of the microprocessor,<ref> {{harvnb|Intel_4004|1971}} </ref> by [[Marcian Hoff|Ted Hoff]], [[Federico Faggin]], and Stanley Mazor at [[Intel]].<ref> The Intel 4004 (1971) die was <math>12 mm^2</math>, composed of 2300 transistors; by comparison, the Pentium Pro was <math>306 mm^2</math>, composed of 5.5 million transistors, according to {{harvnb|Patterson|Hennessy|1998|pp=27–39}} </ref> The integrated circuit in the image on the right, for example, an [[Intel]] 8742, is an 8-bit [[microcontroller]] that includes a [[CPU]] running at 12 MHz, 128 bytes of [[RAM]], 2048 bytes of [[EPROM]], and [[Input/output|I/O]] in the same chip. During the 1960s there was considerable overlap between second and third generation technologies.<ref> In the defense field, considerable work was done in the computerized implementation of equations such as {{harvnb|Kalman|1960|pp= 35–45}} </ref> IBM implemented its [[IBM Solid Logic Technology]] modules in [[hybrid circuit]]s for the IBM System/360 in 1964. As late as 1975, Sperry Univac continued the manufacture of second-generation machines such as the UNIVAC 494. The [[Burroughs large systems]] such as the B5000 were [[stack machine]]s which allowed for simpler programming. These [[pushdown automaton]]s were also implemented in minicomputers and microprocessors later, which influenced programming language design. Minicomputers served as low-cost computer centers for industry, business and universities.<ref> {{harvnb|Eckhouse|Morris|1979|pp= 1–2}} </ref> It became possible to simulate analog circuits with the ''simulation program with integrated circuit emphasis'', or [[SPICE]] (1971) on minicomputers, one of the programs for electronic design automation ([[:Category:Electronic design automation software|EDA]]). 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 computer]]s. However, his first computer, the [[Apple I]], came out some time after the [[KIM-1]] and [[Altair 8800]], and the first Apple computer with graphic and sound capabilities came out well after the [[Commodore PET]]. Computing has evolved with microcomputer architectures, with features added from their larger brethren, now dominant in most market segments. Systems as complicated as computers require very high [[reliability]]. [[ENIAC]] remained on, in continuous operation from 1947 to 1955, for eight years before being shut down. Although a vacuum tube might fail, it would be replaced without bringing down the system. By the simple strategy of never shutting down ENIAC, the failures were dramatically reduced. [[Hot plugging|Hot-pluggable]] hard disks, like the hot-pluggable vacuum tubes of yesteryear, continue the tradition of repair during continuous operation. Semiconductor memories routinely have no errors when they operate, although operating systems like Unix have employed memory tests on start-up to detect failing hardware. Today, the requirement of reliable performance is made even more stringent when [[server farm]]s are the delivery platform. [[Google]] has managed this by using fault-tolerant software to recover from hardware failures, and is even working on the concept of replacing entire server farms on-the-fly, during a service event.<ref> "If you're running 10,000 machines, something is going to die every day." —Jeff Dean of Google, as quoted in {{harvnb|Shankland|2008}}.</ref> In the twenty-first century, [[multi-core]] CPUs became commercially available. [[Content-addressable memory]] (CAM)<ref>{{harvnb|Kohonen|1980|pp=1–368}}</ref> has become inexpensive enough to be used in networking, although no computer system has yet implemented hardware CAMs for use in programming languages. Currently, CAMs (or associative arrays) in software are programming-language-specific. Semiconductor memory cell arrays are very regular structures, and manufacturers prove their processes on them; this allows price reductions on memory products. After semiconductor memories became commodities, computer software became less labor-intensive; programming codes became less arcane, more understandable.<ref> For example, programming on a [[drum memory]] required that the programmer be aware of the real-time position of the read head, as the drum was spinning.</ref> When the CMOS field effect transistor-based [[logic gates]] supplanted bipolar transistors, computer power consumption could decrease dramatically (A [[CMOS]] [[FET]] draws current during the 'transition' between logic states,<!--ref> {{harvnb|Mead |Conway|1980|pp= 0}} </ref--> unlike the higher current draw of a [[BJT]]). This has allowed computing to become a [[commodity]] which is now ubiquitous, embedded in many forms, from greeting cards and telephones to [[Satellite_communications#History|satellites]]. Computing hardware and its software have even become a metaphor for the operation of the universe.<ref> {{harvnb|Smolin|2001|pp= 53–57}}. Pages 220–226 are annotated references and guide for further reading.</ref> An indication of the rapidity of development of this field can be inferred by the history of the seminal article.<ref> {{harvnb|Burks|Goldstine|von Neumann|1947|pp=1–464}} reprinted in ''[[Datamation]]'', September-October 1962. Note that ''preliminary discussion/design'' was the term later called ''system analysis/design'', and even later, called ''system architecture.''</ref> By the time that anyone had time to write anything down, it was obsolete. After 1945, others read John von Neumann's ''First Draft of a Report on the EDVAC'', and immediately started implementing their own systems. To this day, the pace of development has continued, worldwide.<ref> {{harvnb|IEEE_Annals|1979}} Online access to the ''[[IEEE Annals of the History of Computing]]'' [http://csdl2.computer.org/persagen/DLPublication.jsp?pubtype=m&acronym=an here]. ''[[DBLP]]'' summarizes the [http://www.informatik.uni-trier.de/~ley/db/journals/annals/ ''Annals of the History of Computing''] year by year, back to 1996, so far. </ref><ref> The fastest [[supercomputer]] of the [[top 500]] is expected to be [[IBM Roadrunner]], topping [[Blue Gene/L]] as of May 25, 2008. </ref> ==See also== * [[History of computing]] * [[Timeline of computing]] * [[List of books on the history of computing]] ==External Links== * [http://www.computercollector.com/archive/ibm/pcaa/ IBM Punched Card Accounting Machines (1955) hosted at www.computercollector.com] ==Notes== {{reflist|2}} ==References== <div class="references-small" style="-moz-column-count:2; column-count:2;"> *{{Citation | last = Backus | first = John | author-link = John Backus | year=1978 | title = Can Programming be Liberated from the von Neumann Style? | journal = Communications of the ACM | volume = 21 | issue = 8 | date = August 1978 | url = http://www.stanford.edu/class/cs242/readings/backus.pdf | id = 1977 ACM Turing Award Lecture }}. *{{Citation | first=Gordon | last=Bell | first2=Allen | last2=Newell | author-link=Gordon Bell | author2-link=Allen Newell | year=1971 | url=http://research.microsoft.com/~gbell/Computer_Structures__Readings_and_Examples/index.html | title= Computer Structures: Readings and Examples | location=New York | publisher=McGraw-Hill | isbn= 0-07-004357-4 }}. *{{Citation | last = Bergin | first = Thomas J. (ed.) | title = Fifty Years of Army Computing: from ENIAC to MSRC | year=1996 | date = November 13 and 14, 1996 | url = http://www.arl.army.mil/www/DownloadedInternetPages/CurrentPages/AboutARL/eniac.pdf | publisher= Army Research Laboratory and the U.S.Army Ordnance Center and School. | location = A record of a symposium and celebration, Aberdeen Proving Ground. | accessdate = 2008-05-17 }}. *{{Citation | last = Bowden | first= B. V. | title = The Language of Computers | journal = American Scientist | volume = 58 | year= 1970 | pages = pp. 43—53 | url = http://groups-beta.google.com/group/net.misc/msg/00c91c2cc0896b77 | accessdate = 2008-05-17 }}. *{{Citation | last = Burks | first = Arthur W. | last2 = Goldstine | first2 =Herman | last3 = von Neumann | first3 = John | author-link=Arthur W. Burks | author2-link=Herman Goldstine | author3-link=John von Neumann | title = Preliminary discussion of the Logical Design of an Electronic Computing Instrument | publisher = Institute for Advanced Study | location = Princeton, NJ | year= 1947 |url=http://www.cs.unc.edu/~adyilie/comp265/vonNeumann.html |accessdate=2008-05-18 }}. *{{Citation |last=Chua |first=Leon O |title=Memristor&mdash;The Missing Circuit Element |journal=IEEE Transactions on Circuit Theory |volume=CT-18 |issue=5 |pages = pp. 507—519 |date=September 1971 |year=1971 |url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1083337 }}. *{{Citation | last = Cleary | first = J. F. | title = GE Transistor Manual | pages=pp. 139—204 | publisher = General Electric, Semiconductor Products Department, Syracuse, NY | year = 1964 | oclc = 223686427 | edition = 7th }}. *{{Citation | last = Copeland | first = B. Jack (ed.) | title = Colossus: The Secrets of Bletchley Park's Codebreaking Computers | publisher = [[Oxford University Press]] | year= 2006 | Location = Oxford, England | isbn = 019284055X }}. *{{fr}} {{Citation | last = Coriolis | first = Gaspard-Gustave | author-link = Gaspard-Gustave Coriolis | title= Note sur un moyen de tracer des courbes données par des équations différentielles | journal = Journal de Mathématiques Pures et appliquées series I | volume = 1 | pages = pp. 5—9 | year= 1836 | url = http://visualiseur.bnf.fr/ConsulterElementNum?O=NUMM-16380&Deb=11&Fin=15&E=PDF | accessdate = 2008-07-06 }}. *{{Citation | title = CSIRAC: Australia’s first computer | publisher = Commonwealth Scientific and Industrial Research Organisation (CSIRAC) | date = [[June 3]], [[2005]] | year = 2005 | url=http://www.csiro.au/science/ps4f.html | accessdate=2007-12-21 }}. *{{Citation | last = Da Cruz | first = Frank | year=2008 | title = The IBM Automatic Sequence Controlled Calculator (ASCC) | work = Columbia University Computing History: A Chronology of Computing at Columbia University | publisher = Columbia University ACIS | date = [[February 28]], [[2008]] | url = http://www.columbia.edu/acis/history/ssec.htm | accessdate = 2008-05-17 }}. *{{Citation | last = Davenport | first = Wilbur B., Jr | last2 = Root | first2 = William L. | title = An Introduction to the theory of Random Signals and Noise | publisher = McGraw-Hill | year= 1958 | pages = 112—364 | oclc = 573270 }}. *{{Citation | last = Eckert | first = Wallace | author-link = W.J. Eckert | title = The Computation of Special Perturbations by the Punched Card Method. | journal = [[Astronomical Journal]] | issue = 1034 | year = 1935 }}. *{{Citation | last = Eckert | first = Wallace | author-link = W.J. Eckert | title = Punched Card Methods in Scientific Computation | pages=101—114 | year= 1940 | publisher= Thomas J. Watson Astronomical Computing Bureau, Columbia University | oclc = 2275308 | chapter = XII: "The Computation of Planetary Pertubations" }}. *{{Citation | last = Eckhouse | first = Richard H., Jr. | first2= L. Robert | last2=Morris | title = Minicomputer Systems: organization, programming, and applications (PDP-11) | year= 1979 | pages= 1—2 | publisher=Prentice-Hall | isbn = 0135839149 }}. *{{Citation | last = Enticknap | first = Nicholas | title = Computing's Golden Jubilee | journal = RESURRECTION | volume = | issue = 20 | publisher = The Computer Conservation Society | year=1998 | date= Summer 1998 | url = http://www.cs.man.ac.uk/CCS/res/res20.htm#d | issn = 0958-7403 | accessdate = 2008-04-19 }}. *{{Citation | last = Feynman | first = R. P. | author-link = R. P. Feynman | last2 = Leighton | first2 = Robert | author2-link = Robert Leighton | last3 = Sands | first3 = Matthew | title = Feynman Lectures on Physics | publisher = Addison-Wesley | location = Reading, Mass | isbn = 0201020106 | oclc = 531535 | pages = III 14—11 to 14—12 | year= 1965 }}. *{{Citation | last = Fisk | first = Dale | title = Punch cards | publisher = Columbia University ACIS | year= 2005 | url = http://www.columbia.edu/acis/history/fisk.pdf | accessdate=2008-05-19 }}. *{{Citation | first = Herman | last = Hollerith | author-link = Herman Hollerith | title = In connection with the electric tabulation system which has been adopted by U.S. government for the work of the census bureau | publisher = [[Columbia University]] School of Mines | year= 1890 | format = Ph.D. dissertation }}. *{{Citation | last = Horowitz | first = Paul | last2 = Hill | first2 = Winfield | title = The Art of Electronics | publisher = Cambridge University Press | year = 1989 | isbn = 0521370957 | edition = 2nd }}. *{{Citation | last = Hunt | first = J. C. R. | title = Lewis Fry Richardson and his contributions to Mathematics, Meteorology and Models of Conflict | journal = Ann. Rev. Fluid Mech. | volume = 30 | pages = pp. XIII—XXXVI | year= 1998 | url = http://www.cpom.org/people/jcrh/AnnRevFluMech(30)LFR.pdf | accessdate = 2008-6-15 }}. *{{Citation | last=IBM_SMS | first= | year=1960 | title=IBM Standard Modular System SMS Cards | | publisher = IBM | url=http://ed-thelen.org/1401Project/Sched2006November.html | accessdate=2008-03-06 }}. *{{Citation |last=IBM |publisher=IBM |year=1956 |date=September, 1956 |title=IBM 350 disk storage unit |url=http://www-03.ibm.com/ibm/history/exhibits/storage/storage_350.html |accessdate=2008-07-01 }}. *{{Citation |last=IEEE_Annals | title= Annals of the History of Computing | publisher = [[IEEE]] | year = 1979 | date = Series dates from 1979 | url = http://csdl2.computer.org/persagen/DLPublication.jsp?pubtype=m&acronym=an | accessdate=2008-05-19 }}. *{{Citation | last = Ifrah | first = Georges | author-link = Georges Ifrah | title = The Universal History of Numbers: From prehistory to the invention of the computer. | publisher = [[John Wiley and Sons]] | year= 2000 | page = p. 48 | isbn = 0-471-39340-1 }}. Translated from the French by David Bellos, E.F. Harding, Sophie Wood and Ian Monk. Ifrah supports his thesis by quoting idiomatic phrases from languages across the entire world. *{{Citation | last=Intel_4004 | title = Intel's First Microprocessor—the Intel® 4004 | publisher = Intel Corp. | year=1971 | date = November 1971 | url = http://www.intel.com/museum/archives/4004.htm | accessdate = 2008-05-17 }}. *{{Citation | first = Douglas W | last = Jones | title = Punched Cards: A brief illustrated technical history | publisher= [[The University of Iowa]] | url= http://www.cs.uiowa.edu/~jones/cards/history.html | accessdate=2008-05-15 }}. *{{Citation | last=Kalman | first=R.E. | author = Kalman, R.E. | year = 1960 | title = A new approach to linear filtering and prediction problems | journal = Journal of Basic Engineering | volume = 82 | issue = 1 | pages = pp. 35–45 | url = http://www.elo.utfsm.cl/~ipd481/Papers%20varios/kalman1960.pdf | accessdate = 2008-05-03 }}. *{{Citation | last = Kells |last2= Kern |last3=Bland | title = The Log-Log Duplex Decitrig Slide Rule No. 4081: A Manual | publisher = Keuffel & Esser | year= 1943 | page = p. 92 | url = http://www.mccoys-kecatalogs.com/K&EManuals/4081-3_1943/4081-3_1943.htm }}. *{{Citation | first = Jack | last = Kilby | author-link = Jack Kilby | title = Nobel lecture | publisher = Nobel Foundation | year= 2000 | location = Stockholm | url = http://nobelprize.org/nobel_prizes/physics/laureates/2000/kilby-lecture.pdf | accessdate = 2008-05-15 }}. *{{Citation | last = Kohonen | first= Teuvo | title=Content-addressable memories | author-link=Teuvo Kohonen | pages= 368 | year=1980 | publisher= Springer-Verlag | ISBN= 0387098232 }}. *{{Citation | last = Lazos | author=Lazos, Christos | year =1994 | title= The Antikythera Computer (<small>Ο ΥΠΟΛΟΓΙΣΤΗΣ ΤΩΝ ΑΝΤΙΚΥΘΗΡΩΝ</small>), | publisher= ΑΙΟΛΟΣ PUBLICATIONS GR }}. *{{Citation | last = Leibniz | first = Gottfried | author-link = Gottfried Leibniz | title = Explication de l'Arithmétique Binaire | year= 1703 }}. *{{Citation|url=http://ccat.sas.upenn.edu/slubar/fsm.html |title="Do not fold, spindle or mutilate": A cultural history of the punched card |first=Steve |last=Lubar |month=May |year=1991 |accessdate=2006-10-31 }}. *{{Citation | last=Manchester | title = Mark I | publisher = Computer History Museum, The University of Manchester | year=1998 | date = 1998, 1999 | url = http://www.computer50.org/mark1/MM1.html | accessdate = 2008-04-19 }}. *{{Citation | last=Martin | first=Douglas | title = David Caminer, 92 Dies; A Pioneer in Computers | newspaper = New York Times | year=2008 | page = p. 24 | date = [[June 29]], [[2008]] }}. *{{Citation |url = http://www.vanityfair.com/culture/features/2008/07/internet200807?currentPage=2 |title = Inventing the Internet: an oral history |last = Mayo |first = Keenan |last2= Newcomb |first2= Peter |journal = [[Vanity Fair (magazine)|Vanity Fair]] |year=2008 |date = July 2008 |pages=pp. 96—117 |issue = 575 |accessdate = 2008-06-14 }}. Jimbo Wales is quoted on p. 115. *{{Citation | last = Mead | first = Carver | first2= Lynn | last2=Conway | title = Introduction to VLSI Systems | publisher = Addison-Wesley | location = Reading, Mass. | year= 1980 | isbn = 0201043580 }}. *{{Citation | last = Menabrea | first = Luigi Federico | last2= Lovelace | first2=Ada | year = 1843 | author2-link = Ada Lovelace | title = Sketch of the Analytical Engine Invented by Charles Babbage | journal = [[Scientific Memoirs]] | volume = 3 | url = http://www.fourmilab.ch/babbage/sketch.html }}. With notes upon the Memoir by the Translator. *{{Citation | last = Menninger | first = Karl | title = Number Words and Number Symbols: A Cultural History of Numbers | publisher = Dover Publications | year= 1992 }}. German to English translation, M.I.T., 1969. *{{Citation | last=Montaner | last2=Simon | year=1887 | title=Diccionario Enciclopédico Hispano-Americano (Hispano-American Encyclopedic Dictionary) }}. *{{Citation | last = Moye | first = William T. | title = ENIAC: The Army-Sponsored Revolution | year=1996 | date = January 1996 | url = http://ftp.arl.army.mil/~mike/comphist/96summary/ | accessdate = 2008-05-17 }}. *{{Citation | last=Norden | title = M9 Bombsight | publisher = National Museum of the USAF | url = http://www.nationalmuseum.af.mil/factsheets/factsheet.asp?id=8056 | accessdate=2008-05-17 }}. *Noyce, Robert {{Ref patent|invent1=[[Robert Noyce]]|country=US |number=2981877|status=patent|gdate=1961-04-25|title=Semiconductor device-and-lead structure |assign1 =[[Fairchild Semiconductor Corporation]] }}. *{{citation|last1= Patterson |first1= David |last2= Hennessy|first2= John|year=1998|title= Computer Organization and Design |location= San Francisco|publisher= Morgan Kaufman|isbn = 1-55860-428-6 }}. *{{Citation | last = Pellerin | first = David | first2= Scott | last2=Thibault | title = Practical FPGA Programming in C | publisher = Prentice Hall Modern Semiconductor Design Series Sub Series: PH Signal Integrity Library | date = [[April 22]], [[2005]] | year = 2005 | pages = 1–464 | isbn = 0-13-154318-0 }}. *{{Citation | last = Phillips | first = A.W.H. | author-link = Alban William Housego Phillips | title = The MONIAC | publisher = Reserve Bank Museum | url = http://www.rbnz.govt.nz/about/museum/3121411.pdf | accessdate = 2006-05-17 }}. * [[Raul Rojas|Rojas, Raul]]; Hashagen, Ulf (eds., 2000). ''The First Computers: History and Architectures''. Cambridge: MIT Press. ISBN 0-262-68137-4. *{{Citation | last = Schmandt-Besserat | first = Denise | author-link=Denise Schmandt-Besserat | title = Decipherment of the earliest tablets | journal = Science | volume = 211 | pages = pp. 283—285 | year= 1981 | doi = 10.1126/science.211.4479.283 | pmid = 17748027 }}. *{{Citation |url = http://www.idsia.ch/~juergen/schickard.html |title = Wilhelm Schickard (1592–1635) Father of the computer age |last = Schmidhuber |first = Jürgen |accessdate = 2008-05-15 }}. *{{Citation | last = Shankland | first = Stephen | title = Google spotlights data center inner workings | publisher = Cnet | year=2008 | date = [[May 30]], [[2008]] | url = http://news.cnet.com/8301-10784_3-9955184-7.html?tag=nefd.lede | accessdate = 2008-05-31 }}. *{{Citation | first = Claude | last = Shannon | author = C. E. Shannon | author-link = Claude Shannon | title = A symbolic analysis of relay and switching circuits | publisher = Massachusetts Institute of Technology, Dept. of Electrical Engineering | year= 1940 }}. *{{Citation | last = Simon | first = Herbert | author-link = Herbert Simon | title = Models of My Life | publisher = Basic Books | year= 1991 | id = Sloan Foundation Series }}. *{{Citation | last=Singer | title = Singer in World War II, 1939–1945 - the M5 Director | year= 1946 | publisher = Singer Manufacturing Co. | url = http://home.cfl.rr.com/featherweight/m5direct.htm | accessdate=2008-05-17 }}. *{{Citation | last = Smith | first = David Eugene | title = A Source Book in Mathematics | publisher = McGraw-Hill | year= 1929 | location = New York | pages= pp. 180—181 }}. *{{Citation | last = Smolin | first = Lee | title = Three roads to [[quantum gravity]] | publisher = Basic Books | year= 2001 | pages = pp. 53—57 | isbn = 0-465-08735-4 }}. Pages 220–226 are annotated references and guide for further reading. *{{Citation | last = Steinhaus | first = H. | title = Mathematical Snapshots | edition= 3rd | publisher = Dover | year= 1999 | location = New York | pages = pp. 92—95, p. 301 }}. *{{Citation | first = Nancy | last = Stern | title = From ENIAC to UNIVAC: An Appraisal of the Eckert-Mauchly Computers | publisher = Digital Press | year= 1981 | id = ISBN 0-932376-14-2 }}. *Stibitz, George {{Ref patent |invent1=[[George Stibitz]] |country=US |number=2668661|status=patent|title=Complex Computer|gdate=1954-02-09 |assign1 =[[AT&T]] }}. *{{Citation | last=Turing | first=Alan | author-link=Alan Turing | title = On computable numbers, with an application to the Entscheidungsproblem | journal = Proceedings of the [[London Mathematical Society]] | volume = Series 2, 42 | pages = pp. 230—265 | year= 1937 | url = http://www.turingarchive.org/browse.php/B/12 | id = Errata appeared in Series 2, 43 (1937), pp 544–546 | accessdate = 2008-05-17 }}. Other online versions: [http://plms.oxfordjournals.org/cgi/reprint/s2-42/1/230 Proceedings of the London Mathematical Society] [http://www.thocp.net/biographies/papers/turing_oncomputablenumbers_1936.pdf Another link online.] *{{Citation | last = Ulam | first = Stanisław | authorlink = Stanisław Ulam | title = Adventures of a Mathematician | publisher = Charles Scribner's Sons | year= 1983 | location = New York | id = (autobiography) }}. *{{Citation | first = John | last = von Neumann | author-link = John von Neumann | title = [[First Draft of a Report on the EDVAC]] | publisher = University of Pennsylvania | year=1945 | date = [[June 30]], [[1945]] | location = Moore School of Electrical Engineering }}. *Wang, An {{Ref patent|invent1=[[An Wang]]|country=US |number=2708722|status=patent|gdate=1955-05-17|title=Pulse transfer controlling devices }}. *{{Citation | last = Welchman | first = Gordon | title = The Hut Six Story: Breaking the Enigma Codes | publisher = [[Penguin Books]] | year= 1984 | Location = Harmondsworth, Engalnd | pages = pp. 138—145, 295—309 }}. *{{Citation | last = Wilkes | first = Maurice | year= 1986 | title=The Genesis of Microprogramming | journal= Ann. Hist. Comp. | volume =8 | issue= 2 | pages= pp. 115—126 }}. *{{Citation | last = Ziemer | first = Roger E. | last2 = Tranter | first2 = William H. | last3 = Fannin | first3 = D. Ronald | title = Signals and Systems: Continuous and Discrete | year= 1993 | page = p. 370 | publisher=Macmillan | isbn = 0-02-431641-5 }}. *{{Citation | last=Zuse | title = Z3 Computer (1938–1941) | url = http://www.computermuseum.li/Testpage/Z3-Computer-1939.htm | accessdate = 2008-06-01 }}. </div> {{DEFAULTSORT:*History of computing hardware}} [[Category:Early computers]] [[Category:History of computing hardware]] [[Category:One-of-a-kind computers]] <!-- Interlanguage links --> [[ca:Història dels ordinadors]] [[cs:Dějiny počítačů]] [[da:Fjerdegenerationsdatamat]] [[el:Ιστορία των υπολογιστών]] [[es:Historia del hardware de computador]] [[fr:Instrument de calcul]] [[hr:Povijest računarskog sklopovlja]] [[it:Storia del computer]] [[he:היסטוריה של המחשוב]] [[hu:A számítógép története]] [[nl:Geschiedenis van de computer]] [[ja:歯車式計算機]] [[oc:Istoric de l'informatica]] [[pl:Komputer czwartej generacji]] [[pt:História do hardware]] [[ru:История вычислительной техники]] [[sk:Dejiny počítačov]] [[sl:Generacija računalnikov]] [[fi:Tietokonetekniikan historia]] [[sv:Datorhistoria]] [[th:ประวัติฮาร์ดแวร์คอมพิวเตอร์]] [[vi:Lịch sử phần cứng máy tính]] [[zh:計算機硬體歷史 (1960年代前)]]