Center for Theory and Simulation in Science and Engineering n Cornell University

Vol. 1, No. 6 n October 1985


First Electronic Digital Calculating Machine Forerunner to Cornell’s FPS-164/MAX

By John Gustafson, Floating Point Systems, Inc.

The FPS-164/MAX at Cornell’s supercomputer center has an intriguing forerunner – the first electronic digital computer prototyped in 1939 by applied mathematicians John Atanasoff and Clifford Berry at Iowa State College![1]

Today’s fastest machines use tricks from the 1930s to circumvent existing design barriers because 1930s inventors had to solve available-technology performance barriers, while 1980s designers face barriers stemming from laws of physics. The Atanasoff-Berry computer was conceived almost 50 years prior to the FPS-164/MAX, and Cornell’s machine is approximately 90 million times faster, but the similarities are remarkable. Both contain parallel multiplier-adders accurate to 15 digits on linear algebra operations. The A-B machine is credited with being the first digital electronic computer; the FPS-164/MAX was the first to implement replicated, parallel VLSI multiply-add chips. Both were independently designed to solve large systems of equations. Atanasoff wrote:

“It is the main purpose of this paper to present a description and exposition of a computing machine which has been designed principally for the solution of large systems of linear algebraic equations… In the treatment of many mathematical problems, one requires the solution of systems of linear simultaneous algebraic equations. The occurrence of such systems is especially frequent in the applied fields of statistics, physics and technology.”[2]

Atanasoff needed high speed, which led to the use of electrical storing and switching throughout[3], existing gearing methods were hundreds of times slower than 1930s electronics. Atanasoff needed high precision, which ruled out analog methods in favor of binary arithmetic. Bits were stored in “abacus elements”: small, .0015-microfarad tubular condensers arranged radially within a Bakelite cylinder. He designed decimal/binary converters – an early “formatted I/O” processor! (“It is not the purpose of the writer to promote the general use of the base-two system of numbers but this would perhaps be feasible in a highly-mechanized civilization,” Atanasoff suggested. He has lived to see this validated.)

Atanasoff decided that 50-bit number representation plus a sign bit would be sufficient for 15-decimal accuracy. Half a century later, both FPS and the IEEE committee chose a 52-bit representation plus a sign bit (and an 11-bit binary exponent) for their floating-point arithmetic standard. Thus, Atanasoff’s machine was “double-precision” like the 64-bit FPS scientific computers.

The A-B machine used dynamic storage for its 3200-bit main memory that required periodic “refresh” as do today’s dynamic RAMs. Charged capacitors were chosen for minimum cost-per-bit. The FPS-164/MAX memory is 15 Megawords of 64-bit words plus an 8-bit error correcting code for a total of 1,132,462,080 bits. Dynamic storage is still the most cost-effective memory: capacitors, printed on silicon, have a density of 262,144 capacitors per chip (the 256K DRAM).

The A-B machine memory was organized in two 32-word banks which acted as registers for the arithmetic unit and resembled the two register banks in the scalar unit of the FPS-1`64/MAX. (Each of the A-B machine’s registers resided in a cylinder the size of a large coffee can which was wax capped to keep moisture out.

During each clock cycle, the A-B machine performed 30 parallel multiplies followed by 30 parallel adds, making it the first “vector” computer. It performed Gaussian elimination by scaling a row of the matrix representing the equations and adding it to another row. A multiplication required 15 one-second cycles of repeated shifting and adding [Error noted by author in January 2004: This should be 50, not 15.]

The FPS-164 MAX performs up to 31 parallel multiplies and 31 parallel adds for either Gaussian row elimination or dot products. Replication is a crucial performance factor: Atanasoff arranged vacuum tubes compactly while FPS replicated high-speed VLSI add-subtract units.

This first electronic digital machine could perform approximately 15,000 multiplies and 15,000 adds in eight hours, enough to solve 35 equations in 35 unknowns [Error: 30, not 35. —JG]. The FPS-164/MAX can solve 24,000 equations in 24,000 unknowns in that time. Work goes as the cube of the number of equations, so the performance ratio of 91 million translates into a problem-size ratio of about 1,000.

Both computers use bit parallelism and functional parallelism in that numbers are read, processed and written simultaneously (I/O is overlapped with CPU operation) thus allowing the solution of far larger problems than fit into the machine’s main storage. [This is a stretcher. The only overlapped computation in Atanasoff’s machine was the conversion to and from binary representationJG]

Multiprocessing is frequently hailed as the “new computing trend” yet it would be hard to find a time when there was not a multiprocessing approach: teams of pencil-and-paper human computers were probably the first. Using hundreds or thousands of processors at once is somewhat new, and the physical limits of uniprocessor make massively parallel approaches very logical. Atanasoff contended with punch cards and paper condensers while FPS vied with VLSI’s reversal of the classic relationship between communication costs and switching costs, but both computers incorporate numerous technical advances which allowed the solution of larger problems than otherwise possible, and perhaps that is their most important common thread. n

[1] The $1,460 Atanasoff-Berry prototype was tested January 1940 and “worked perfectly.” Atanasoff received a grant for $5,330 to construct, test, maintain, and perfect the system.

[2] Quotations from Computing Machine for the Solution of Large Systems of Linear Algebraic Equations, by John Atanasoff, reprinted in The Origins of Digital Computers, Brian Randell, Ed., Springer-Verlag, New York.

[3] Atanasoff used a 5,000 volt spark to punch holes in his mass storage cards and, by using an electrical method for both punching and reading, obtained a rate fast enough to match the computing rate. Cards were read at 1800 bits per second, faster than current personal computers usually read cassette tapes.