The underlying architecture of almost all modern computers was described in the 1940s and has barely changed. The idea revolutionised computing at the time and paved the path for modern computers and programs.
In the early days of computing, computers were designed for a particular task and could not perform any other task without physical changes to the computer; these types of computers are known as “fixed-program machines”. The most famous fixed-program machine is the Colossus, a set of computers designed to decipher encrypted radio messages in World War 2.
The road to general-purpose computing
Alan Turing, whose work enabled the creation of the Colossus computers, earlier in 1936 wrote a paper that described a hypothetical machine called the “universal computing machine” (more commonly known as the Universal Turing machine). John von Neumann, a fellow mathematician, had become familiar with the Universal Turing machine and had met Turing in the late 1930s.
In the early 1940s, John Adam Presper Eckert Jr and John Mauchly were developing the ENIAC (Electronic Numerical Integrator and Computer), the first programmable, electronic, general-purpose digital computer. Eckert and Mauchly first described the concept of a stored-program computer. Von Neumann became involved with the ENIAC project as it enabled the calculations necessary for the Manhattan Project. The group consisting of Eckert, Mauchly, and Von Neumann wrote the “First Draft of a Report on the EDVAC”, however, the report was leaked before completion. The report described Stored-program computers.
Stored-program computers & The Von Neumann architecture
A stored-program computer uses it’s memory to store both data and instructions. The program memory holds the instructions the computer follows to perform its operations, while the data memory keeps the data that the instructions manipulate. The advantage of such a computer is that if the instructions in memory were changed, the computer could be ‘programmed’ to do something completely different without changing its physical characteristics. The paper described the components of a computer that could perform such a task. As the…