John von Neumann: The Father of the Modern Computer

Devlin's Angle

December 2003

John von Neumann: The Father of the Modern Computer

Later this month (28th December) marks the 100th anniversary of the birth of John von Neumann, the Hungarian born American mathematician who, among his many accomplishments, was the originator of the basic principle of computer design known as the "von Neumann architecture." Von Neumann computers are the ancestors of today's desktop and laptop PCs.

The principal feature of a von Neumann computer is that the program and any data are both stored together, usually in a slow-to-access storage medium such as a hard disk, and transferred as required to a faster, and more volatile storage medium (RAM) for execution or processing by a central processing unit (CPU). Since this how practically all present day computers work, the term "von Neumann architecture" is rarely used now, but it was in common parlance in the computing profession through to the early 1970s. When von Neumann proposed this architecture in 1945, it was a radical idea. Prior to then, programs were viewed as essentially part of the machine, and hence different from the data the machine operated on. A common approach was to input the program by some physical means, such as wiring a plugboard, and then feeding in the data for the program to act upon.

In 1945, in his first draft of a report on the EDVAC [a planned successor machine to the ENIAC, one of the first American computers], von Neumann proposed the stored program concept. The idea grew out of discussions he had with several other computer pioneers, among them J. Presper Eckert, John Mauchly, Arthur Burks, and Hermann Goldstine, who were working on plans for the EDVAC. What was to become known as the von Neumann architecture was subsequently spelled out more fully in a 1946 paper, written by von Neumann, Burks and Goldstine, titled "Preliminary Discussion of the Logical Design of an Electronic Computing Instrument."

[To be fair, the other computer pioneers mentioned above -- and some more I have not listed -- were heavily involved in developing the architecture that was to bear von Neumann's name. Von Neumann received the principal credit to some extent because he was the one who documented the ideas, who elaborated the concepts, and who took it upon himself to tell the rest of the world about the work. But mostly he got the glory because he was already famous and by nature a magnet for public attention -- of which I'll have more to say in just a moment.]

Strictly speaking, there is more to a von Neumann computer than the mere fact that instructions and data are both stored in the same medium. According to the original papers proposing the new architecture, a von Neumann computer has five parts: an arithmetic-logic unit, a control unit, a memory, some form of input/output, and a bus that provides a data path between these parts. Such a computer operates by performing the following sequence of steps:

1. Fetch the next instruction from memory at the address in the program counter.

2. Add the length of the instruction to the program counter.

3. Decode the instruction using the control unit. The control unit commands the rest of the computer to perform some operation. The instruction may change the address in the program counter, permitting repetitive operations. The instruction may also change the program counter only if some arithmetic condition is true, giving the effect of a decision, which can be calculated to any degree of complexity by the preceding arithmetic and logic.

4. Go back to step 1.

Even in the early days of computing, very few computers had a pure von Neumann architecture, and today none do that I am aware of. For instance, engineers would usually add another step to check for interrupts, which let a computer do other things while it waits for events to complete.

Von Neumann computers have some drawbacks. In particular, they carry out instructions one after another, in a single linear sequence, and they spend a lot of time moving data to and from the memory. This slows the computer -- a problem called the von Neumann bottleneck. One way to circumvent the von Neumann bottleneck is to build the computer so it performs operations in parallel (so-called parallel processing). Another common trick is to separate the bus into two or more busses, one for instructions, another for data. But such modifications don't really amount to much more than variations of the original architecture. To all intents and purposes, the PC on your desk today is a von Neumann machine.

The EDVAC computer, when it was finally constructed in 1952, followed von Neumann's design, but the first von Neumann computer to be constructed and operated was the Manchester Mark I, designed and built at Manchester University in England, which ran its first program in 1948. It had a 96 word memory, and executed an instruction in 1.2 milliseconds. Although such a performance was viewed as phenomenal at the time, in today's "MIPS" terminology -- millions of instructions per second -- the Mark I would rank at a painfully slow 0.00083 MIPS. By contrast, IBM's G5 chip, which powers the latest Macintosh PCs, hums along at 1,000 MIPS, over a million times faster.

***************************
John von Neumann was born Janos Newmann in Budapest, Hungary on 28 December, 1903, the eldest of three brothers. His father, Max Neumann, was a banker, his mother, Margit, came from a wealthy Jewish family called Kann. As a child in Hungary, Janos was called by the diminutive form of his name, Jancsi. Later, as an adult living in the United States, his friends called him Johnny.

The family was not particularly religious, and when anti-Semitism started to grow throughout Europe in the second decade of the twentieth century, they became nominally Roman Catholic. In 1913, his father also purchased a title, giving the family the name "Neumann von Margitta," which the adult John later abbreviated to "von Neumann."

John was intellectually precocious and had a photographic memory. As a young child he learned to speak German, French, and classical Greek, and amassed an encyclopaedic knowledge of historical events. A favorite party trick of his was to memorize a page of the telephone book. He would ask a visitor to the Neumann household to select a page of the book, which he would then read through a few times. He would then hand the book back to the visitor and ask them to quiz him on the page, say by giving him a name and asking for the phone number, or getting him to recite a sequence of names, addresses and numbers in order. He was rarely wrong.

When John entered the local school in 1911, aged 8, the mathematics teacher recognized his genius at once, and arranged for special tuition from Gabor Szego, a well known mathematician at the University of Budapest. This was surely made easier by the fact that at the same school, just one year ahead of John, was another future mathematical giant, Eugene Wigner. By the time John completed his high school education in 1921, his prowess in mathematics was clear to all, and he was accepted to study mathematics at the University of Budapest.

Unfortunately, John's love for mathematics did not meet with his father's approval when it came to deciding what to study at university. Max Neumann wanted his son to prepare for a career in business. When John made it clear that business studies were not to his liking, father and son settled on chemistry as a compromise subject. And so John entered the University of Berlin to major in chemistry, to please his father, while at the same time enrolling at the University of Budapest to study mathematics, arranging to be tutored -- at a distance -- by a young assistant there. Being unable to attend any of the mathematics lectures in Budapest clearly did not hamper John's progress; the following year he wrote his first mathematics paper, jointly with his tutor. In 1926, he was awarded a diploma in chemical engineering from the University of Zurich -- where he transferred from Berlin in 1923 -- and a doctorate in mathematics from Budapest. His thesis topic in mathematics was set theory, the foundational subject still in its infancy at that time.

By his mid-twenties, von Neumann -- clearly now a mathematician rather than a chemist -- was a mathematical celebrity, famous throughout the international mathematical community. After obtaining his Ph.D. he spent a year with the great David Hilbert in Goettingen and lectured in Berlin and Hamburg. In addition to his work in set theory, he did groundbreaking work in measure theory, the theory of real variables, and game theory. Not content with that, he also turned his attention to quantum theory, where in the two year period 1927-29 he more or less single-handedly developed the entire mathematical foundation of the subject, pioneering work that led to an invitation to go to Princeton. His research output during this early European part of his professional career was about one paper a month. (Tenure committees at present day universities generally view one or two papers a year as indicative of a good mathematical researcher!)

Von Neumann went to Princeton in 1930, the year after he married his fiancee Marietta Kovesi, a brilliant economics student at the University of Budapest and a leading figure in the social nightlife of the Hungarian capital. At Princeton, he became one of the six founding mathematics professors (along with Albert Einstein) in the newly formed Institute for Advanced Study. Although the rise of Adolf Hitler in Germany eventually made it impossible for him to return to Europe, even for short visits as he did every summer during the early 1930s, his reason for making Princeton his permanent home, which he did, was entirely academic; he was not a refugee.

Von Neumann and Marietta had a daughter, Marina, in 1936, but the following year their marriage ended in divorce. A year later he married Klara Dan, a Hungarian two-time divorcee whom he had met on one of his summer visits to Europe. In the United States, Klara later became one of the world's first computer programmers, writing code to solve mathematical problems on computers.

Always a gourmet and a bon vivant, von Neumann was a snappy, albeit conservative, dresser, who could be easily mistaken for a wealthy bank manager. He showed a great interest in people and was an incurable gossip and an excellent raconteur. He also had a reputation for a decidedly earthy sense of humor. The von Neumanns brought to Princeton some of the flavor of the Carbaret-style nightlife John had found so seductive while in Berlin in the 1920s. The long, wild parties he and Klara threw regularly at their Princeton home soon became famous.

With the growing likelihood of war in the late 1930s, von Neumann began to concentrate more on applicable areas of mathematics, feeling sure that mathematics would play in important role in the seemingly inevitable coming conflict -- which indeed it did. He did research in nonlinear partial differential equations, which arise in hydrodynamics and the theory of shock waves, work that led to his participation in the Manhatten Project to develop the first atomic bomb. His research in this area led to a belief that the key lay in the development of numerical techniques to solve equations (as opposed to using the classical methods of calculus, which generally fail for the kinds of problem that arise in real life). The use of numerical solution methods required the construction of computing devices to perform the numerical calculations, which led to another interest he started to pursue with a vengeance. Soon he was dividing most of his time between two areas: the design of computers and game theory. This latter subject, essentially established by the publication in 1944 of von Neumann's classic book with Oskar Mogernstern, Theory of Games and Economic Behavior, was to become a mainstay of both economics and political/military planning.

As a result of his wartime work, during the early Cold War period, von Neumann was in great demand as a consultant to the armed forces, and he clearly enjoyed walking the corridors or power -- and the social life that can go with such activities for anyone with a taste for the high life. Among the many positions he held during the 1040s and 50s, he was a member of the Scientific Advisory Committee at the Ballistic Research Laboratories at the Aberdeen Proving Ground in Maryland, a member of the Navy Bureau of Ordnance, a consultant to the Los Alamos Scientific Laboratory, a member of the Armed Forces Special Weapons Project, and a member of the Atomic Energy Commission. At the same time, he received numerous honors from the mathematical community, including election to the National Academy of Sciences and serving as President of the American Mathematical Society from 1951 to 1953. He was awarded the US Medal for Merit in 1947 and the US Medal for Freedom in 1956.

John von Neumann died of cancer on 8 February, 1957, aged just 54. A tragically early age for the world to lose one of the true giants of twentieth century science.


Devlin's Angle is updated at the beginning of each month.
Mathematician Keith Devlin ( devlin@csli.stanford.edu) is the Executive Director of the Center for the Study of Language and Information at Stanford University and "The Math Guy" on NPR's Weekend Edition. His most recent book is The Millennium Problems: The Seven Greatest Unsolved Mathematical Puzzles of Our Time, just published in paperback by Basic Books, first published in hardback last fall.