Page 1 of 2
Jay Forrester, who invented core memory while working on Project Whirlwind at MIT in the 1940s, died on November 16, 2016 aged 98. Discover the man who invented core memory and, indirectly, gave the Core section of IProgrammer its name.
One of the fundamental problems that has to be solved to build a working computer is the provision of storage. Computers need lots and lots of high speed storage and it has to be cheap. Back in the early days the cost and limitations of the crude memory devices that were available threatened to stop the development of computing altogether.
The solution to the problem was so important and so successful that for a while computer memory was known as "core" rather than RAM after the magnetic cores that Jay Forrester thought of using.
Jay Wright Forrester
July 14, 1918 - November 16, 2016
Jay Forrester was born and raised on a cattle ranch in Nebraska but his interests were in science rather than farming. At the age of 12 he took the generator from a car and built a wind driven 12-volt power supply for the family farm. Although he planned to study agriculture at Nebraska State University he, very sensibly, changed to electrical engineering at the last minute.
After graduation he moved to MIT to do research on high voltage transmission but he became interested in servo mechanisms and eventually submitted his thesis on hydraulic servo mechanisms. A servo mechanism is a self regulating device that often involves the use of electronics and feedback to control it. You can think of it as an analog computer in charge of some hardware. Viewed in this way the fact that the US Navy should ask the MIT servo people to build an aerodynamic stability analyzer seems quite a reasonable move. Forrester liked the idea and took on the project.
Essentially the stability analyzer was a primitive flight simulator. The pilot sat in a cockpit, pulled the joystick and the servos were supposed to respond in real time. The problem was to get it all to work fast enough to give the pilot a realistic feel for the plane.
While thinking about the problems of fast analog computation Forrester heard about the digital computers being built at Harvard. He talked to Presper Eckert and Johnny Von Neumann and was convinced that a fast digital computer was what was needed. In early 1944 a digital computer project was started at the servo lab at MIT and speed was the absolute goal.
The MIT project was known as Whirlwind. At first they planned to build a bit serial computer like the EDVAC but this would be slow. A bit serial computer works by calculating one bit at a time. This allows the same hardware to be re-used during a computation and so simplifies the design.
The alternative is to use a bit parallel design that uses multiple copies of the basic hardware to compute an N-bit result in one operations. This is, of course, the architecture that all of our modern machines use and the Whirlwind was the first such machine. Bit parallel may be faster but it needed so much more hardware that valve failure became a serious problem.
Forrester studied what made the valves fail after about 500 hours and discovered that the cause was the silicon added to make the refining of the nickel easier. Silicon free nickel cathodes increased the life of the average valve from 500 to 500,000 hours - a factor which made the Whirlwind possible.
A second, remarkable, innovation increased the reliability of the machine still further. The Whirlwind could alter the voltage on the grid of each valve to test for imminent failures. Only a servo engineer would have thought of this!
The Whirlwind was the fastest machine ever built. Its list of "firsts" are long and impressive but what really matters is the simple fact that the Whirlwind was the first computer capable of real time computations. It could add two 16-bit numbers in two microseconds and could multiply them in twenty microseconds. Of course the Whirlwind was huge but it only used 4000 valves, which was less than a quarter of the valves used in ENIAC - a much less powerful machine.
The problem of memory
Forrester had solved most of the problems in the design of Whirlwind but one remained - memory. At the time most memory was serial. The first fast large memories were based on mercury delay lines that kept a serial stream of bits circulating as sound pulses. The Williams tube was a faster version of the same principle. A CRT display tube formed a pattern of bits as spots of light which was recirculated using a photocell and feedback amplifier. It was faster but the tubes burned out far too frequently. Basically the bits were stored for the length of time the phosphor on the tube face glowed after being excited by the electron beam. The electron current would burn the phosphor eventually and the tube would stop working.
The Whirlwind used a modified form of the Williams tube. An additional flood gun maintained the pattern of dots while a writing gun was used to alter the pattern. Thirty two such tubes were needed to provide the 4KBytes of storage that the Whirlwind needed. Given a tube life of one month and cost $1000 the running cost of the machine was very high - $1 per bit per month.