The basis of all of today’s computers, whether it’s a top-of-the-line gaming PC or an average smartphone, can be traced back to von Neumann architecture. The architecture is named after Hungarian-American John von Neumann, who not only lent his name to von Neumann architecture and computing in general, but also made significant contributions to mathematics, physics, economics, and statistics. Von Neumann originally worked in Europe, but later became involved with the Manhattan Project, which created the nuclear weapons that eventually ended World War II.
The First Draft of a Report on the EDVAC, more commonly referred to as the First Draft, was an incomplete manuscript that was written by John von Neumann and distributed by Herman Goldstine to those working on the classified Electronic Numeral Integrator and Computer (ENIAC) project in 1945. While the First Draft was generally used for military purposes at the time it was developed, much like the Internet, it eventually became the framework that was used for personal computers. von Neumann described the architecture as a “very high speed automatic digital computing system” that was separated into six parts: the central arithmetic part (CA), central control (CC), memory (M), input (I), output (O), and external memory (R), that consisted of punched cards, Teletype tape, magnetic wire, or steel tape.
Von Neumann became acquainted with another titan in the field of computing, Alan Turing during the 1930s, and eventually utilized the concepts Turing detailed in his universal computing machine that hypothetically had an infinite store of instructions and data. However, von Neumann’s ideas gained wider circulation despite both of them describing the process of stored-program computers. Many universities and scientific institutions used the First Draft to create their own computers. World-famous facilities such as the Los Alamos Scientific Laboratory (1952) and the Oak Ridge National Laboratory (1953) utilized von Neumann architectures to varying degrees. One of the most important changes that von Neumann architecture made to computers is that they stored programs and data in memory, rather than having people feed computers programs and data for processing while they were running.
However, by the 1960s and 1970s, the von Neumann architecture and rapid advances in computer technology led to computers shrinking significantly in size. In the early days of computing, computers filled entire rooms. Today, we have significantly more powerful computers than the original von Neumann architecture computers, in the form of smartphones that can fit in our hand. The von Neumann bottleneck was described in 1977 as a limited data transfer rate between a central processing unit (CPU) and memory compared to the amount of memory. A single bus could only access one of two memory classes and therefore bottlenecked the effective processing speed of a CPU. Some ways to bypass the von Neumann bottleneck were eventually developed, such as caching, prefetching, multithreading, and more. A study as late as 1996 pointed out that three out of four CPU cycles were spent waiting for available memory, and the issue of the von Neumann bottleneck persists to this day within modern computers.
Techies of all ages and skill, whether you’re a veteran building your 10th PC or just someone who wants to know how your smartphone came to be, should look at the von Neumann architecture to truly understand the evolution of modern computing.
Also published in GADGETS MAGAZINE October 2018 Issue.
Words by Jose Alvarez