Whirlwind I | |
Family: | "Whirlwind Program"[1] /"Whirlwind Project"[2] |
Generation: | 1st |
Power: | More than 100 kW |
Cpu: | 16 bits, parallel. Uses about 5000 vacuum tubes |
Memory: | Core memory, 1 kiloword of 16 bits words (2 kilobytes). Ultimately 2048 words (4KB). |
Dimensions: | 2,000 sq.ft (185 m2) |
Weight: | 20,000 lbs (9.1t) |
Successor: | TX-0, TX-2, DEC PDP-1 |
Whirlwind I was a Cold War-era vacuum-tube computer developed by the MIT Servomechanisms Laboratory for the U.S. Navy. Operational in 1951, it was among the first digital electronic computers that operated in real-time for output, and the first that was not simply an electronic replacement of older mechanical systems.
It was one of the first computers to calculate in bit-parallel (rather than bit-serial), and was the first to use magnetic-core memory.
Its development led directly to the Whirlwind II design used as the basis for the United States Air Force SAGE air defense system, and indirectly to almost all business computers and minicomputers in the 1960s,[3] particularly because of the mantra "short word length, speed, people."[4]
During World War II, the U.S. Navy's Naval Research Lab approached MIT about the possibility of creating a computer to drive a flight simulator for training bomber crews. They envisioned a fairly simple system in which the computer would continually update a simulated instrument panel based on control inputs from the pilots. Unlike older systems such as the Link Trainer, the system they envisioned would have a considerably more realistic aerodynamics model that could be adapted to any type of plane. This was an important consideration at the time, when many new designs were being introduced into service.
The Servomechanisms Lab in MIT building 32 conducted a short survey that concluded such a system was possible. The Navy's Office of Naval Research decided to fund development under Project Whirlwind (and its sister projects, Project Typhoon and Project Cyclone, with other institutions),[5] and the lab placed Jay Forrester in charge of the project. They soon built a large analog computer for the task, but found that it was inaccurate and inflexible. Solving these problems in a general way would require a much larger system, perhaps one so large as to be impossible to construct. Judy Clapp was an early senior technical member of this team.
Perry Crawford, another member of the MIT team, saw a demonstration of ENIAC in 1945. He then suggested that a digital computer would be the best solution. Such a machine would allow the accuracy of simulations to be improved with the addition of more code in the computer program, as opposed to adding parts to the machine. As long as the machine was fast enough, there was no theoretical limit to the complexity of the simulation.
Until this point, all computers constructed were dedicated to single tasks, and run in batch mode. A series of inputs were set up in advance and fed into the computer, which would work out the answers and print them. This was not appropriate for the Whirlwind system, which needed to operate continually on an ever-changing series of inputs. Speed became a major issue: whereas with other systems it simply meant waiting longer for the printout, with Whirlwind it meant seriously limiting the amount of complexity the simulation could include.
By 1947, Forrester and collaborator Robert Everett completed the design of a high-speed stored-program computer for this task. Most computers of the era operated in bit-serial mode, using single-bit arithmetic and feeding in large words, often 48 or 60 bits in size, one bit at a time. This was simply not fast enough for their purposes, so Whirlwind included sixteen such math units, operating on a complete 16-bit word every cycle in bit-parallel mode. Ignoring memory speed, Whirlwind ("20,000 single-address operations per second" in 1951)[6] was essentially sixteen times as fast as other machines. Today, almost all CPUs perform arithmetic in "bit-parallel" mode.
The word size was selected after some deliberation. The machine worked by passing in a single address with almost every instruction, thereby reducing the number of memory accesses. For operations with two operands, adding for instance, the "other" operand was assumed to be the last one loaded. Whirlwind operated much like a reverse Polish notation calculator in this respect; except there was no operand stack, only an accumulator. The designers felt that 2048 words of memory would be the minimum usable amount, requiring 11 bits to represent an address, and that 16 to 32 instructions would be the minimum for another five bits — and so it was 16 bits.[7]
The Whirlwind design incorporated a control store driven by a master clock. Each step of the clock selected one or more signal lines in a diode matrix that enabled gates and other circuits on the machine. A special switch directed signals to different parts of the matrix to implement different instructions. In the early 1950s, Whirlwind I "would crash every 20 minutes on average."
Whirlwind construction started in 1948, an effort that employed 175 people, including 70 engineers and technicians. The use of carry save multiplication appears to have been first introduced in the Whirlwind computer in the late 1940s.[8] In the third quarter of 1949, the computer was advanced enough to solve an equation and display its solution on an oscilloscope,[9] and even for the first animated and interactive computer graphic game.[10] [11] Finally Whirlwind "successfully accomplished digital computation of interception courses" on April 20, 1951.[12] The project's budget was approximately $1 million a year, which was vastly higher than the development costs of most other computers of the era. After three years, the Navy had lost interest. However, during this time the Air Force had become interested in using computers to help the task of ground controlled interception, and the Whirlwind was the only machine suitable to the task. They took up development under Project Claude.
Whirlwind weighed 20000lb and occupied over 2,000 square feet.[13]
The original machine design called for 2048 (2K) words of 16 bits each of random-access storage. The only two available memory technologies in 1949 that could hold this much data were mercury delay lines and electrostatic storage.
A mercury delay line consisted of a long tube filled with mercury, a mechanical transducer on one end, and a microphone on the other end, much like a spring reverb unit later used in audio processing. Pulses were sent into the mercury delay line at one end, and took a certain amount of time to reach the other end. They were detected by the microphone, amplified, reshaped into the correct pulse shape, and sent back into the delay line. Thus, the memory was said to recirculate.
Mercury delay lines operated at about the speed of sound, so were very slow in computer terms, even by the standards of the computers of the late 1940s and 1950s. The speed of sound in mercury was also very dependent on temperature. Since a delay line held a defined number of bits, the frequency of the clock had to change with the temperature of the mercury. If there were many delay lines and they did not all have the same temperature at all times, the memory data could easily become corrupted.
The Whirlwind designers quickly discarded the delay line as a possible memory—it was both too slow for the envisioned flight simulator, and too unreliable for a reproducible production system, for which Whirlwind was intended to be a functional prototype.
The alternative form of memory was known as "electrostatic". This was a cathode ray tube memory, similar in many aspects to an early TV picture tube or oscilloscope tube. An electron gun sent a beam of electrons to the far end of the tube, where they impacted a screen. The beam would be deflected to land at a particular spot on the screen. The beam could then build up a negative charge at that point, or change a charge that was already there. By measuring the beam current it could be determined whether the spot was originally a zero or a one, and a new value could be stored by the beam.
There were several forms of electrostatic memory tubes in existence in 1949. The best known today is the Williams tube, developed in England, but there were a number of others that had been developed independently by various research labs. The Whirlwind engineers considered the Williams tube, but determined that the dynamic nature of the storage and the need for frequent refresh cycles was incompatible with the design goals for Whirlwind I. Instead, they settled on a design that was being developed at the MIT Radiation Laboratory. This was a dual-gun electron tube. One gun produced a sharply-focused beam to read or write individual bits. The other gun was a "flood gun" that sprayed the entire screen with low-energy electrons. As a result of the design, this tube was more of a static RAM that did not require refresh cycles, unlike the dynamic RAM Williams tube.
In the end the choice of this tube was unfortunate. The Williams tube was considerably better developed, and despite the need for refresh could easily hold 1024 bits per tube, and was quite reliable when operated correctly. The MIT tube was still in development, and while the goal was to hold 1024 bits per tube, this goal was never reached, even several years after the plan had called for full-size functional tubes. Also, the specifications had called for an access time of six microseconds, but the actual access time was around 30 microseconds. Since the basic cycle time of the Whirlwind I processor was determined by the memory access time, the entire processor was slower than designed.
Jay Forrester was desperate to find a suitable memory replacement for his computer. Initially the computer only had 32 words of storage, and 27 of these words were read-only registers made of toggle switches. The remaining five registers were flip-flop storage, with each of the five registers being made from more than 30 vacuum tubes. This "test storage", as it was known, was intended to allow checkout of the processing elements while the main memory was not ready. The main memory was so late that the first experiments of tracking airplanes with live radar data were done using a program manually set into test storage. Forrester came across an advertisement for a new magnetic material being produced by a company. Recognizing that this had the potential to be a data storage medium, Forrester obtained a workbench in the corner of the lab, and got several samples of the material to experiment with. Then for several months he spent as much time in the lab as he did in the office managing the entire project.
At the end of those months, he had invented the basics of magnetic-core memory and demonstrated that it was likely to be feasible. His demonstration consisted of a small core plane of 32 cores, each three-eighths of an inch in diameter. Having demonstrated that the concept was practical, it needed only to be reduced to a workable design. In the fall of 1949, Forrester enlisted graduate student William N. Papian to test dozens of individual cores, to determine those with the best properties.[14] Papian's work was bolstered when Forrester asked student Dudley Allen Buck[15] [16] [17] to work on the material and assigned him to the workbench, while Forrester went back to full-time project management. (Buck would go on to invent the cryotron and content-addressable memory at the lab.)
After approximately two years of further research and development, they were able to demonstrate a core plane that was made of 32 by 32, or 1024 cores, holding 1024 bits of data. Thus, they had reached the originally intended storage size of an electrostatic tube, a goal that had not yet been reached by the tubes themselves, only holding 512 bits per tube in the latest design generation. Very quickly, a 1024-word core memory was fabricated, replacing the electrostatic memory. The electrostatic memory design and production was summarily canceled, saving a good deal of money to be reallocated to other research areas. Two additional core memory units were later fabricated, increasing the total memory size available.
The design used approximately 5,000 vacuum tubes.
The large number of tubes used in Whirlwind resulted in a problematic failure rate since a single tube failure could cause a system failure. The standard pentode at the time was the 6AG7, but testing in 1948 determined that its expected lifetime in service was too short for this application. Consequently, the 7AD7 was chosen instead, but this also had too high a failure rate in service. An investigation into the cause of the failures found that silicon in the tungsten alloy of the heater filament was causing cathode poisoning; deposits of barium orthosilicate forming on the cathode reduce or prevent its function of emitting electrons. The 7AK7 tube with a high-purity tungsten filament was then specially developed for Whirlwind by Sylvania.[18]
Cathode poisoning is at its worst when the tube is being run in cut-off with the heater on. Commercial tubes were intended for radio (and later, television) applications where they are rarely run in this state. Analog applications like these keep the tube in the linear region, whereas digital applications switch the tube between cut-off and full conduction, passing only briefly through the linear region. Further, commercial manufacturers expected their tubes to only be in use for a few hours per day.[18] To ameliorate this issue, the heaters were turned off on valves not expected to switch for long periods. The heater voltage was turned on and off with a slow ramp waveform to avoid thermal shock to the heater filaments.[19]
Even these measures were not enough to achieve the required reliability. Incipient faults were proactively sought by testing the valves during maintenance periods. They were subject to stress tests called marginal testing because they applied voltages and signals to the valves right up to their design margins. These tests were designed to bring on early failure of valves that would otherwise have failed while in service. They were carried out automatically by a test program.[18] The maintenance statistics for 1950 show the success of these measures. Of the 1,622 7AD7 tubes in use, 243 failed, of which 168 were found by marginal testing. Of the 1,412 7AK7 tubes in use, 18 failed, of which only 2 failed during marginal checking. As a result, Whirlwind was far more reliable than any commercially available machine.[18]
Many other features of the Whirlwind tube testing regime were not standard tests and required specially built equipment. One condition that required special testing was momentary shorting on a few tubes caused by small objects like lint inside the tube. Occasional spurious short pulses are a minor problem, or even entirely unnoticeable, in analog circuits, but are likely to be disastrous in a digital circuit. These did not show up on standard tests but could be discovered manually by tapping the glass envelope. A thyratron-triggered circuit was built to automate this test.[19]
After connection to the experimental Microwave Early Warning (MEW) radar at Hanscom Field using Jack Harrington's equipment and commercial phone lines,[20] aircraft were tracked by Whirlwind I.[21] The Cape Cod System subsequently demonstrated computerized air defence covering southern New England. Signals from three long range (AN/FPS-3) radars, eleven gap-filler radars, and three height-finding radars were transmitted over telephone lines to the Whirlwind I computer in Cambridge, Massachusetts. The Whirlwind II design for a larger and faster machine (never completed) was the basis for the SAGE air defense system IBM AN/FSQ-7 Combat Direction Central.
The Whirlwind used approximately 5,000 vacuum tubes. An effort was also started to convert the Whirlwind design to a transistorized form, led by Ken Olsen and known as the TX-0. TX-0 was very successful and plans were made to make an even larger version known as TX-1. However this project was far too ambitious and had to be scaled back to a smaller version known as TX-2. Even this version proved troublesome, and Olsen left in mid-project to start Digital Equipment Corporation (DEC). DEC's PDP-1 was essentially a collection of TX-0 and TX-2 concepts in a smaller package.[22]
After supporting SAGE, Whirlwind I was rented ($1/yr) from June 30, 1959, until 1974 by project member, William M. Wolf (1928-2015). The power to run the machine cost $2500 per month, and the Wolf Research and Development Corporation did work for the Air Force and Buckminster Fuller's World Game. Ultimately moving Whirlwind I cost $250,000 and the company made $100,000 on it. Wolf R&D Corporation was sold to EG&G in 1967 for $5.5 million.[23] [24] [25]
Ken Olsen and Robert Everett saved the machine, which became the basis for the Boston Computer Museum in 1979. Although much of the machine was lost when decommissioned, many of its components are now in the collection of the Computer History Museum in Mountain View, California and the MIT Museum.[26]
As of February 2009, a core memory unit is displayed at the Charles River Museum of Industry & Innovation in Waltham, Massachusetts. One plane of core memory, on loan from the Computer History Museum, is on shown as part of the Historic Computer Science displays at the Gates Computer Science Building, Stanford.
The building which housed Whirlwind was until recently home to MIT's campus-wide IT department, Information Services & Technology and in 1997–1998, it was restored to its original exterior design.[27]
20,000 lbs: