Computer architecture has undergone incredible changes in the past 20 years, from the number of circuits that can be integrated onto silicon wafers to the degree of sophistication with which different algorithms can be mapped directly into a computer’s hardware.
But one element has remained constant throughout the years. And that is the basic architecture – Neumann architecture proposed by John Von Neumann.
John Von Neumann
John von Neumann, original name János Neumann, (born December 28, 1903, Budapest, Hungary—died February 8, 1957, Washington, D.C., U.S.), Hungarian-born American mathematician. As an adult, he appended von to his surname; the hereditary title had been granted his father in 1913.
Von Neumann grew from a child prodigy to one of the world’s foremost mathematicians by his mid-twenties. Important work in set theory inaugurated a career that touched nearly every major branch of mathematics.
Von Neumann’s gift for applied mathematics took his work in directions that influenced quantum theory, automata theory, economics, and defense planning. John Von Neumann pioneered game theory and, along with Alan Turing and Claude Shannon, was one of the conceptual inventors of the stored-program digital computer.
Contributions and Achievements
In 1932 John Von Neumann published his book “The Mathematical Foundations of Quantum Mechanics” which established a strong mathematical framework for Quantum Physics.
He created the field of cellular automata without the aid of computers, constructing the first self-replicating automata with pencil and graph paper.
His interest in meteorological prediction led him to propose manipulating the environment by spreading colorants on the polar ice caps to enhance absorption of solar radiation, thereby raising global temperatures.
Von Neumann’s principal contribution to the Manhattan Project and the atomic bomb was in the concept and design of the explosive lenses needed to compress the plutonium core of the Trinity test device. Von Neumann’s hydrogen bomb work was also played out in the realm of computing, where he and fellow physicist Stanislaw Ulam developed simulations on von Neumann’s digital computers for the hydrodynamic computations.
He contributed to the development of game theory as a mathematical discipline and together with Stanislaw Ulam devised the Monte Carlo statistical sampling method, which allowed complicated problems to be approximated using random numbers.
Von Neumann’s significant contribution to mathematical economics was the minimax theorem of 1928. This theorem establishes that in certain zero-sum games with perfect information, there exists a strategy for each player which allows both players to minimize their maximum losses.
An astoundingly creative mathematician, John von Neumann has played an important role in post-war economic theory. He published “Theory of Games and Economic Behavior” in 1944 which detailed a groundbreaking mathematical theory of economic and social organization, based on a theory of games of strategy.
Throughout his life, von Neumann had a respect and admiration for business and government leaders; something which was often at variance with the inclinations of his scientific colleagues.
The von Neumann architecture—the fundamental architecture upon which nearly all digital computers have been based—has a number of characteristics that have had an immense impact on the most popular programming languages.
These characteristics include a single, centralized control, housed in the central processing unit, and a separate storage area, primary memory, which can contain both instructions and data. The instructions are executed by the CPU, and so they must be brought into the CPU from the primary memory.
The CPU also houses the unit that performs operations on operands, the arithmetic and logic unit (ALU), and so data must be fetched from primary memory and brought into the CPU in order to be acted upon.
The primary memory has a built-in addressing mechanism so that the CPU can refer to the addresses of instructions and operands. Finally, the CPU contains a register bank that constitutes a kind of “scratchpad” where intermediate results can be stored and consulted with greater speed than could primary memory.
Advantages and Limitations of Neumann Architecture
Advantages of Von Neumann Architecture
- Here are some advantages of the Von Neumann architecture:
- Control Unit retrieves data and instruction in the same manner from one memory. Design and development of the Control Unit is simplified, cheaper and faster.
- Data from input / output devices and from memory are retrieved in the same manner.
- Organisation of memory is done by programmers which allows them to utilise the memory’s whole capacity.
Limitations of Von Neumann Architecture
- Here are some disadvantages of the Von Neumann architecture:
- Parallel implementation of program is not allowed due to sequential instruction processing.
- Von Neumann bottleneck – Instructions can only be carried out one at a time and sequentially.
- Risk of an instruction being rewritten due to an error in the program.
In a normal computer that follows von Neumann architecture, instructions and data both are stored in the same memory. So same buses are used to fetch instructions and data. This means the CPU cannot do both things together (read the instruction and read/write data).
Harvard Architecture is the computer architecture that contains separate storage and separate buses (signal path) for instruction and data. It was basically developed to overcome the bottleneck of Von Neumann Architecture.
The main advantage of having separate buses for instruction and data is that the CPU can access instructions and read/write data at the same time.
Advantage of Harvard Archtecture
Harvard architecture has two separate buses for instruction and data. Hence, the CPU can access instructions and read/write data at the same time. This is the major advantage of Harvard architecture.
In practice, Modified Harvard Architecture is used where we have two separate caches (data and instruction). This is common and used in X86 and ARM processors.