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.