FACTOID # 58: Looking for geniuses? Head straight to Iceland. There are more than 3 Nobel Prize Winners for every million Icelanders.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

FACTS & STATISTICS    Simple view

  1. Select countries to view: (hold down Control key and click to select several)

     

     

    Compare:

     

     

  1. Select fact or statistic: (* = graphable)

     

     

     

  2. (OPTIONAL) Compare to statistic: (both need to be graphable)

     

     

     

  3. View result as:

     

       
(OR) SEARCH ALL encyclopedia, stats & forums:   

Encyclopedia > Stored program

The so-called von Neumann architecture is a model for a computing machine that uses a single storage structure to hold both the set of instructions on how to perform the computation and the data required or generated by the computation. Such machines are also known as stored-program computers. The separation of storage from the processing unit is implicit in this model.


The architecture is named after mathematician John von Neumann who provided an early written account of a general purpose stored-program computing machine. The term von Neumann architecture, however, is seen as doing injustice to von Neumann's collaborators, notably John William Mauchly and J. Presper Eckert who conceived of the stored-program concept with their work on ENIAC. The term is now avoided in many circles.


By treating the instructions in the same way as the data, a stored-program machine can easily change the instructions. In other words the machine is reprogrammable. One important motivation for such a facility was the need for a program to increment or otherwise modify the address portion of instructions. This became less important when index registers and indirect addressing became customary features of machine architecture.


Current machine architecture makes small-scale self-modifying code unnecessary, while processor pipelining and caching schemes makes it inefficient. The practice is now generally deprecated. Of course, on a large scale, the ability to treat instructions as data is what makes compilers possible. It is also a feature that can be exploited by computer viruses when they add copies of themselves to existing program code. The problem of unauthorized code replication can be addressed by the use of memory protection support, and in particular virtual memory architectures.


The von Neumann bottleneck

The separation between the CPU and memory leads to what is known as the von Neumann bottleneck (a term coined by John Backus in his 1977 ACM Turing award lecture). The bandwidth, or the data transfer rate, between the CPU and memory is very small in comparison with the amount of memory. In modern machines it is also very small in comparison with the rate at which the CPU itself can work. Under some circumstances (when the CPU is required to perform minimal processing on large amounts of data), which are becoming much more frequent as CPU speeds increase and large amounts memory become common, this gives rise to a serious limitation in overall effective processing speed, because the CPU is continuously forced to wait for vital data to be transferred to or from memory. According to Backus:

Surely there must be a less primitive way of making big changes in the store than by pushing vast numbers of words back and forth through the von Neumann bottleneck. Not only is this tube a literal bottleneck for the data traffic of a problem, but, more importantly, it is an intellectual bottleneck that has kept us tied to word-at-a-time thinking instead of encouraging us to think in terms of the larger conceptual units of the task at hand. Thus programming is basically planning and detailing the enormous traffic of words through the von Neumann bottleneck, and much of that traffic concerns not significant data itself, but where to find it.

The cache hierarchy between CPU and main memory addresses some of the performance issues of the bottleneck. It is less clear whether the intellectual bottleneck that Backus criticized has changed much since 1977. Backus's proposed solution has not had a major influence.


On the other hand, modern functional programming and object-oriented programming are much less geared towards pushing vast numbers of words back and forth than, say, Fortran.


See also


  Results from FactBites:
 
Von Neumann architecture - Wikipedia, the free encyclopedia (1482 words)
However, the Harvard architecture concept should be mentioned as a design which stores the program in an easily modifiable form, but not using the same storage as for general data.
Modern functional programming and object-oriented programming are much less geared towards pushing vast numbers of words back and forth than earlier languages like Fortran, but internally, that is still what computers spend much of their time doing.
It ran a factoring program for 52 minutes on June 21, 1948, after running a simple division program and a program to show that two numbers were relatively prime.
Stored program pay-per-play - Patent 5619247 (6218 words)
The stored program pay-per view system of claim 13, wherein the input to receive a pay video program from a provider includes in a bi-directional cable system forming a portion of the means to communicate to the provider that a program has been selected for viewing.
The stored program pay-per view system of claim 13, further including means to receive a key to descramble a pay program in scrambled form, receipt of the key being in response to a communication to the provider that a program has been selected for viewing.
Selected program materials preferably may be stored in the program storage unit 14, comprised of magnetic, optical, or magneto-optical discs, or any of the various magnetic-tape-based storage media.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.