FáOáRáEáFáRáOáNáTáS

 

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 representationÑJG]

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.