The Von Neumann architecture was first created in the mid 40s for use in a computing system known as ENIAC for research into the feasibility of thermonuclear weapons.

To this day the Von Neumann architeture is still primary foundation in the majority of modern computers. I have listened to a few historians and scientists mention that there is likely more efficient architectures and that Von Neumann himself didn't believe in its universal capability(unfortunately cannot remember enough to find a link).

So why do we still use this architecture in the majority of modern computing?

  • 4
    $\begingroup$ I think this question could improve a lot if you were to provide a source for your claims. Perhaps google may help you out? $\endgroup$ – olinarr Apr 20 at 19:07

So why do we still use this architecture in the majority of modern computing?

The assumption itself, first clause: Modern Computer <= Von Neumann

Firstly, do note that the Von Neumann architecture is not used exclusively: almost any current "Von Neumann" machine except for very small microcontrollers (which are occasionally Harvard machines) features several important extensions to the original architecture, from DMA to MMUs.

Specialized coprocessors are very popular - most notably, GPUs.

Those work very well in conjunction to a Von Neumann machine.

The assumption itself, second clause: Von Neumann <= Modern Computers

The limitations of the Von Neumann architecture and the need for non-Von Neumann architectures for certain applications is well recognized in the scientific community, most importantly whenever "[general] artificial intelligence" of interest, see for example this very recent paper, which continues the line of work started by Carver Mead, who envisioned one of the most radical departures from "classical" architectures in 1989, in the form of analog, time-continuous, highly parallel "neuromorphic" chips.

Your premise is thus, in a way, flawed, unless it is implied that you're referring purely to industrial applications (read on for that part).

On the notion of efficiency

Note that Mead himself had envisioned his architecture as complementary to a traditional Von Neumann machine.


This brings us to another important point: you mention "more efficient architectures", but efficient for which sort of workload?

Sontag and Siegelmann have famously proved that a feed forward neural network is Turing-complete, as is, of course, the Von Neumann architecture, and if we accept Church's thesis (which has never been seriously challenged in quite a while) that this amounts to the ability to compute all computable functions, they're theoretically interchangeable and unsurpassed in their abilities.

However, leaving aside for a moment the issue of practicality, they are not as efficient for the same applications.

I'm guessing that a neuromorphic chip such as Carver Mead's would make for a terrible Excel machine.

So why mostly Von Neumann in industrial applications?

But yes: even if research has branched in other directions and has gotten to the status of prototypes and early industrial devices Von Neumann architectures are still the bread and butter of industrial applications (and a good foundation to extend with coprocessors and specialized optimizations).

It's safe to assume that the reason is practical:

  1. They're universal -- i.e. "good enough" in the broadest possible sense: they are Turing complete and sufficiently close to some theoretical models such as the TM itself or the URM; it is safe to assume that the ubiquity of the Von Neumann machine has influenced developement of theory as well.
  2. They're tolerably easy to reason about and very well understood by engineers and developers
  3. They work very well for existing industrial workloads that drive the demand for hardware R&D; there is 60 years' worth of algorithms and software for Von Neumann machines.

Von Neumann closed under copper cable?

Finally - and only partly tongue-in-cheek: do note that it is very easy to obtain a decidedly non-Von Neumann machine from off-the-shelf parts: just buy two laptops and connect them with an UTP cable and you have a very strange machine where you don't have uniform, synchronized access to a single mutable storage or a single clock.


Just an example - Volta GPU has 5120 so-called cores. Most modern CPUs has an out-of-order execution. Any modern processor has a lot of built-in caches. Do you still consider that as von-Neumann architectures?

  • $\begingroup$ I would say it is still Von Neumann-like, isn't it? $\endgroup$ – olinarr Apr 20 at 19:02
  • $\begingroup$ May be. So how you define von-Neumann? $\endgroup$ – Bulat Apr 20 at 19:06
  • $\begingroup$ I am by no means an expert, but I would say that a von neumann like architecture would have a logic/arithmetical unit, a control unit, central memory and I/O. I would think that what you cited in your answers are just improvements of this abstract model. $\endgroup$ – olinarr Apr 20 at 19:09
  • 1
    $\begingroup$ They have caches, multiple cores, out-of-order execution and each year become closer to execution flow machines and active memory. $\endgroup$ – Bulat Apr 21 at 4:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.