FACTOID # 115: American planes take-off a staggering 8.5 million times per year - almost half the number of take-offs worldwide.
 
 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 architecture

The term von Neumann architecture refers to a computer design model that uses a single storage structure to hold both programs and data. The term von Neumann machine can be used to describe such a computer, but that term has other meanings as well. The separation of storage from the processing unit is implicit in the von Neumann architecture. A computer is a device or machine for processing information according to a program — a compiled list of instructions. ... This article needs to be cleaned up to conform to a higher standard of quality. ... // A computer program or software program (usually abbreviated to a program) is a step-by-step list of instructions written for a particular computer architecture in a particular computer programming language. ... In Computer Science, data is often distinguished from code, though both are represented in modern computers as binary strings. ... A von Neumann machine is a model created by John von Neumann 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. ... This article needs to be cleaned up to conform to a higher standard of quality. ... John von Neumann in the 1940s. ...


The term "stored-program computer" is generally used to mean a computer of this design.

Contents


General

The earliest computing machines had fixed programs. Some very simple computers still use this design, either for simplicity or training purposes. For example, a desk calculator (in principle) is a fixed program computer. It can do basic mathematics, but it cannot be used as a word processor or run video games. To change the program of such a machine, you have to re-wire, re-structure, or even re-design the machine. Indeed, the earliest computers were not so much "programmed" as they were "designed". "Reprogramming", when it was possible at all, was a very manual process, starting with flow charts and paper notes, followed by detailed engineering designs, and then the often-arduous process of implementing the physical changes. A calculator is a device for performing numerical calculations. ... Wikibooks Wikiversity has more about this subject: School of Mathematics Wikiquote has a collection of quotations related to: Mathematics Look up Mathematics on Wiktionary, the free dictionary Wikimedia Commons has more media related to: Mathematics Bogomolny, Alexander: Interactive Mathematics Miscellany and Puzzles. ... A word processor (also more formally known as a document preparation system) is a computer application used for the production (including composition, editing, formatting, and possibly printing) of any sort of viewable or printed material. ... Games, like most other forms of media, may be categorized into genres based on gameplay, atmosphere, and various other factors. ...


The idea of the stored-program computer changed all that. By creating an instruction set architecture and detailing the computation as a series of instructions (the program), the machine becomes much more flexible. By treating those instructions in the same way as data, a stored-program machine can easily change the program, and can do so under program control. An instruction set, or instruction set architecture (ISA), describes the aspects of a computer architecture visible to a programmer, including the native datatypes, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O (if any). ... Computation can be defined as finding a solution to a problem from given inputs by means of an algorithm. ... // A computer program or software program (usually abbreviated to a program) is a step-by-step list of instructions written for a particular computer architecture in a particular computer programming language. ...


The terms "von Neumann architecture" and "stored-program computer" are generally used interchangeably, and that usage is followed in this article. 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. The term Harvard architecture originally referred to computer architectures that used physically separate storage and signal pathways for their instructions and data (in contrast to the von Neumann architecture). ...


A stored-program design also lets programs modify themselves while running. One early motivation for such a facility was the need for a program to increment or otherwise modify the address portion of instructions, which had to be done manually in early designs. 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. Processor pipelining and caching schemes makes it inefficient. It also makes programs much harder to understand and debug. The practice of self-modifing code is now generally deprecated. Debugging is a methodical process of finding and reducing the number of bugs, or defects, in a computer program or a piece of electronic hardware thus making it behave as expected. ...


On a large scale, the ability to treat instructions as data is what makes assemblers, compilers and other automated programming tools possible. One can "write programs which write programs"[1]. An assembler is a computer program for translating assembly language — essentially, a mnemonic representation of machine language — into object code. ... A diagram of the operation of an ideal compiler. ...


There are drawbacks to the von Neumann design. Aside from the Von Neumann bottleneck described below, program modifications can be quite harmful, either by accident or design. In some simple stored-program computer designs, a malfunctioning program can damage itself, other programs, or the operating system, possibly leading to a crash. A buffer overflow is one very common example of such a malfunction. The ability for programs to create and modify other programs is also frequently exploited by malware. Malware might use a buffer overflow to smash the function stack and overwrite the existing program, and then proceed to modify other program files on the system to propagate the compromise. Memory protection and other forms of access control can help protect against both accidental and malicious program modification. In computing, an operating system (OS) is the system software responsible for the direct control and management of hardware and basic system operations. ... A crash in computing is a condition where a program (either an application or part of the operating system) stops performing its expected function and also stops responding to other parts of the system. ... In computer programming, a buffer overflow is an anomalous condition where a program somehow writes data beyond the allocated end of a buffer in memory. ... Malware (a portmanteau of malicious software) is software program designed to fulfil any purpose contrary to the interests of the person running it. ... In computer programming, a buffer overflow is an anomalous condition where a program somehow writes data beyond the allocated end of a buffer in memory. ... In computer science, a function stack (or call stack) is a special stack which stores information about the functions/subroutines in a computer program which are currently being executed. ... A file in a computer system is a stream (sequence) of bits stored as a single unit, typically in a file system on disk or magnetic tape. ... Memory protection is a system that prevents one process from corrupting the memory of another process running on the same computer at the same time. ... In security, specifically location security, the term access control refers first to the practice of restricting entrance to a facility or property to authorized persons, and secondly to the mechanisms which keep track of entries and exits (i. ...


History

The term "von Neumann architecture" arose from mathematician John von Neumann's paper, First Draft of a Report on the EDVAC[2]. Dated June 30, 1945, it was an early written account of a general purpose stored-program computing machine (the EDVAC). However, while von Neumann's work was pioneering, the term von Neumann architecture does somewhat of an injustice to von Neumann's collaborators, contemporaries and even predecessors. John von Neumann in the 1940s. ... Bold text EDVAC (Electronic Discrete Variable Automatic Computer) was one of the earliest electronic computers. ...


A patent application of Konrad Zuse mentioned this concept in 1936. Konrad Zuse (June 22, 1910 - December 18, 1995) was a German engineer and computer pioneer. ...


The idea of a stored-program computer existed at the Moore School of Electrical Engineering at the University of Pennsylvania before von Neumann even knew of the ENIAC's existence. The exact person who originated the idea there is unknown. The Moore School of Electrical Engineering at the University of Pennsylvania came into existence as a result of an endowment from Alfred Fitler Moore on June 4th, 1923. ... The University of Pennsylvania (commonly referred to as Penn or UPenn, although the former is the preferred and recognized nickname of the University) is a private, nonsectarian, research university located in Philadelphia, Pennsylvania. ...


Herman Lukoff credits Eckert (see References).


John William Mauchly and J. Presper Eckert conceived of the stored-program concept in 1944 during their work on ENIAC. John William Mauchly (August 30, 1907 – January 8, 1980) was an American physicist and computer engineer who, along with J. Presper Eckert, designed ENIAC, the first general-purpose electronic digital computer, and UNIVAC I, the first commercial computer made in the United States. ... John Presper Eckert, a computer pioneer, was born April 9, 1919 in Philadelphia and died June 3, 1995 in Bryn Mawr, Pennsylvania. ... ENIAC ENIAC, short for Electronic Numerical Integrator And Computer, was the first all-electronic computer designed to be Turing-complete, capable of being reprogrammed by rewiring to solve a full range of computing problems. ...


When the ENIAC was being designed, it was clear that reading instructions from punched cards or paper tape would not be fast enough, since the ENIAC was designed to execute instructions at a much higher rate. The ENIAC's program was thus wired into the design, and it had to be rewired for each new problem. It was clear that a better system was needed. The initial report on the proposed EDVAC was written during the time the ENIAC was being built, and contained the idea of the stored program, where instructions were stored in high-speed memory, so they could be quickly accessed for execution. ENIAC ENIAC, short for Electronic Numerical Integrator And Computer, was the first all-electronic computer designed to be Turing-complete, capable of being reprogrammed by rewiring to solve a full range of computing problems. ... Bold text EDVAC (Electronic Discrete Variable Automatic Computer) was one of the earliest electronic computers. ...


Alan Turing presented a paper on February 19, 1946, which included a complete design for a stored-program computer, the Pilot ACE. Alan Turing is often considered the father of modern computer science. ... The Pilot ACE was the first computer designed in the United Kingdom, by Alan Turing and James H. Wilkinson in the late 1940s. ...


Von Neumann bottleneck

The separation between the CPU and memory leads to what is known as the von Neumann bottleneck. The bandwidth (data transfer rate) between the CPU and memory is very small in comparison with the amount of memory. In modern machines, bandwidth 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), this gives rise to a serious limitation in overall effective processing speed. The CPU is continuously forced to wait for vital data to be transferred to or from memory. As CPU speed and memory size have increased much faster than the bandwidth between the two, the bottleneck has become more and more of a problem. // Analog For analog signals, which can be mathematically viewed as a function of time, bandwidth is the width, measured in hertz, of a frequency range in which the signals Fourier transform is nonzero. ...


The term "von Neumann bottleneck" was coined by John Backus in his 1977 ACM Turing award lecture. According to Backus: John Backus (born December 3, 1924) is an American computer scientist, notable as the inventor of the first high-level programming language (FORTRAN), the Backus-Naur form (BNF, the almost universally used notation to define formal language syntax), and the concept of Function-level programming. ... The A.M. Turing Award is given annually by the Association for Computing Machinery to a person selected for contributions of a technical nature made to the computing community. ...

"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."

Cache between CPU and main memory helps to alleviate some of the performance issues of the von Neumann 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. 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. In computer science, a cache (pronounced kăsh) is a collection of data duplicating original values stored elsewhere or computed earlier, where the original data are expensive (usually in terms of access time) to fetch or compute relative to reading the cache. ... The Haskell programming language logo Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions. ... Object-oriented programming (OOP) is a computer programming paradigm in which a software system is modeled as a set of objects that interact with each other. ... Fortran (also FORTRAN) is a statically typed, compiled imperative computer programming language originally developed in the 1950s and still heavily used for scientific computing and numerical computation half a century later. ...


Early stored-program computers

The date information in the following chronology is difficult to put into proper order. Some dates are for first running a test program, some dates are the first time the computer was demonstrated or completed, and some dates are for the first delivery or installation.

  • The IBM SSEC was a stored-program electromechanical computer and was publically demonstrated on January 27, 1948. However it was partially electromechanical, thus not fully electronic.
  • The Manchester SSEM (the Baby) was the first fully electronic computer to run a stored program. 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.
  • The ENIAC was modified to run as a stored-program computer and was demonstraded as such on September 16, 1948, running a program by Adele Goldstine for von Neumann.
  • The BINAC ran some test programs in February, March, and April 1949, although it wasn't completed until September 1949.
  • The Manchester Mark I grew out of the SSEM project. An intermediate version of the Mark I was available to run programs in April 1949, but it wasn't completed until October 1949.
  • The EDSAC ran its first program on May 6, 1949. fanny
  • The EDVAC was delivered in August 1949, but it had problems that kept it from being put into regular operation until 1951.
  • The CSIR Mk I ran its first program in November 1949.
  • The SEAC was demonstrated in April 1950.
  • The Pilot ACE ran its first program on May 10, 1950 and was demonstrated in December 1950.
  • The SWAC was completed in July 1950.
  • The Whirlwind was competed in December 1950 and in actual use in April 1951.
  • The first ERA Atlas (later the commercial ERA 1101/UNIVAC 1101) was installed in December 1950.

International Business Machines Corporation (IBM, or colloquially, Big Blue) NYSE: IBM (incorporated June 15, 1911, in operation since 1888) is headquartered in Armonk, NY, USA. The company manufactures and sells computer hardware, software, and services. ... SSEC (for Selective Sequence Electronic Calculator, and also called Poppa) was an electomechanical computer built by IBM, finished in January 1948. ... The Victoria University of Manchester (almost always referred to as simply the University of Manchester) was a university in Manchester in England. ... The Manchester Small-Scale Experimental Machine (SSEM), nicknamed Baby, was the first stored-program computer to run a program, on June 21, 1948. ... Coprime - Wikipedia /**/ @import /skins-1. ... ENIAC ENIAC, short for Electronic Numerical Integrator And Computer, was the first all-electronic computer designed to be Turing-complete, capable of being reprogrammed by rewiring to solve a full range of computing problems. ... BINAC, the Binary Automatic Computer, was an early electronic computer designed for Northrop Aircraft Company by J. Presper Eckert and John Mauchly in 1949. ... The Manchester Mark I was one of the earliest electronic computers, built at the University of Manchester in England, in 1949. ... EDSAC (Electronic Delay Storage Automatic Computer) was an early British computer. ... Bold text EDVAC (Electronic Discrete Variable Automatic Computer) was one of the earliest electronic computers. ... CSIRAC (Council for Scientific and Industrial Research Automatic Computer), originally known as CSIR Mk I, was Australias first digital computer, and the fifth stored program computer in the world and presently the oldest intact (albeit inoperable) digital computer in the world. ... SEAC (Standards Electronic/Eastern Automatic Computer) was a first-generation electronic computer, built in 1950 by the U.S. National Bureau of Standards (NBS) and was initially called the National Bureau of Standards Interim Computer, because it was a small-scale computer designed to be built quickly and put into... The Pilot ACE was the first computer designed in the United Kingdom, by Alan Turing and James H. Wilkinson in the late 1940s. ... The SWAC (from Standards Western Automatic Computer) was a first-generation electronic computer, built in 1950 by the U.S. National Bureau of Standards (NBS). ... The Whirlwind computer was developed at the Massachusetts Institute of Technology. ... The UNIVAC 1101, or ERA 1101, was a computer system designed by Engineering Research Associates (ERA) and built by the Remington Rand corporation in the 1950s. ...

Notes

  1. ^  "MFTL" entry, Jargon File 4.4.7)
  2. ^  First Draft of a Report on the EDVAC (PDF, 420 KB)

References

  • The First Computers: History and Architectures, edited by Raúl Rojas and Ulf Hashagen, MIT Press, 2000. ISBN 0-262-18197-5.
  • From Dits to Bits... : A Personal History of the Electronic Computer, Herman Lukoff, 1979. Robotics Press, ISBN 89661-002-0

  Results from FactBites:
 
Encyclopedia: Stored program (802 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.
Von Neumann architecture - Wikipedia, the free encyclopedia (1575 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.
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.
The ENIAC was modified to run as a stored-program computer (using the Function Tables for program ROM) and was demonstrated as such on September 16, 1948, running a program by Adele Goldstine for von Neumann.
  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.