Sponsored · Amazon offerTry Amazon Prime freeFast free shipping, Prime Video and more.Start free trial
SponsoredShop Amazon for Von Neumann architectureBrowse products on Amazon.Search Amazon
SponsoredAmazon Best Sellers in Pet SuppliesUpdated hourly by Amazon.Shop best sellers
Sponsored · Popular on AmazonToys & GamesAutomotiveElectronicsHealth & Household
As an Amazon Associate I earn from qualifying purchases.

Topic summary

Von Neumann architecture

Von Neumann architecture

The von Neumann architecture—also known as the von Neumann model or Princeton architecture—is a computer architecture based on the First Draft of a Report on the EDVAC, written by John von Neumann in 1945, describing designs by John Mauchly and J. Presper Eckert at the University of Pennsylvania's Moore School of Electrical Engineering. The document describes a design architecture for an electronic digital computer made of "organs" that were later understood to have these components:

The attribution of the invention of the architecture to von Neumann is incorrect. Eckert and Mauchly had essentially finished designing a stored program computer before discussing the ideas with von Neumann and Herman Goldstine.

The term "von Neumann architecture" has evolved to refer to any stored-program computer in which an instruction fetch and a data operation cannot occur at the same time (since they share a common bus). This is referred to as the von Neumann bottleneck, which often limits the performance of the corresponding system. According to Michael Williams, when people speak of the "von Neumann architecture", it is describing getting a word from memory with the bits in parallel, as with the IAS machine, instead of in series.

The von Neumann architecture is simpler than the Harvard architecture (which has one dedicated set of address and data buses for reading and writing to memory and another set of address and data buses to fetch instructions).

A stored-program computer uses the same underlying mechanism to encode both program instructions and data as opposed to designs which use a mechanism such as discrete plugboard wiring or fixed control circuitry for instruction implementation. Stored-program computers were an advancement over the manually reconfigured or fixed function computers of the 1940s, such as the Colossus and the ENIAC. These were programmed by setting switches and inserting patch cables to route data and control signals between various functional units.

The vast majority of modern computers use the same hardware mechanism to encode and store both data and program instructions, but have caches between the CPU and memory, and, for the caches closest to the CPU, have separate caches for instructions and data, so that most instruction and data fetches use separate buses (split-cache architecture).