FACTOID # 6: Michigan is ranked 22nd in land area, but since 41.27% of the state is composed of water, it jumps to 11th place in total area.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Von Neumann architecture
Design of the Von Neumann architecture
Design of the Von Neumann architecture
For the robotic architecture also named after Von Neumann, see Von Neumann machine

The von Neumann architecture is a computer design model that uses a single storage structure to hold both instructions and data. The term describes such a computer, which implements a Universal Turing machine, and the common "referential model" of specifying sequential architectures, in contrast with parallel architectures. Image File history File links Von_Neumann_architecture. ... Image File history File links Von_Neumann_architecture. ... The term Von Neumann machine has two seperate meanings. ... A BlueGene supercomputer cabinet. ... This article or section does not cite its references or sources. ... In Computer Science, data is often distinguished from code, though both are represented in modern computers as binary strings. ... The Turing machine is an abstract machine introduced in 1936 by Alan Turing to give a mathematically precise definition of algorithm or mechanical procedure. As such it is still widely used in theoretical computer science, especially in complexity theory and the theory of computation. ... SISD is an acronym for Single Instruction stream over a Single Data stream. ... Parallel computing is the simultaneous execution of the same task (split up and specially adapted) on multiple processors in order to obtain results faster. ...


The separation of storage from the processing unit is implicit in the von Neumann architecture. The term "stored-program computer" is generally used to mean a computer of this design. Die of an Intel 80486DX2 microprocessor (actual size: 12×6. ... John von Neumann (Hungarian Margittai Neumann János Lajos) (born December 28, 1903 in Budapest, Austria-Hungary; died February 8, 1957 in Washington D.C., United States) was a Hungarian-born mathematician and polymath who made contributions to quantum physics, functional analysis, set theory, topology, economics, computer science, numerical analysis...

Contents

History

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 to 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 calculations. ... Euclid, Greek mathematician, 3rd century BC, as imagined by by Raphael in this detail from The School of Athens. ... 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. ... It has been suggested that Multiplayer game be merged into this article or section. ...


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). ... Look up computation in Wiktionary, the free dictionary. ... A computer program is a collection of instructions that describe a task, or set of tasks, to be carried out by a computer. ...


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. Self-modifying code is deprecated today since it is hard to understand and debug, and modern processor pipelining and caching schemes make it inefficient. An index register in a computer CPU is a processor register used for modifying operand addresses during the run of a program, typically for doing vector/array operations. ... Addressing modes, a concept from computer science, are an aspect of the instruction set architecture in most central processing unit (CPU) designs. ... 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]. On a smaller scale, I/O-intensive machine instructions such as the BITBLT primitive used to modify images on a bitmap display, were once thought to be impossible to implement without custom hardware. It was shown later that these instructions could be implemented efficiently by "on the fly compilation" technology, e.g. code-generating programs. An assembly language is a low-level language used in the writing of computer programs. ... This article is about the computing term. ... Bit blit (bitblt, blitting etc. ...


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 call 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. An operating system (OS) is a computer program that manages the hardware and software resources of a computer. ... 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 security and programming, a buffer overflow, or buffer overrun, is a programming error which may result in a memory access exception and program termination, or in the event of the user being malicious, a breach of system security. ... Malware or malicious software is software designed to infiltrate or damage a computer system without the owners informed consent. ... In computer security and programming, a buffer overflow, or buffer overrun, is a programming error which may result in a memory access exception and program termination, or in the event of the user being malicious, a breach of system security. ... In computer science, a call stack is a special stack which stores information about the active subroutines of a computer program. ... A computer file is a collection of information that is stored in a computer system and can be identified by its full path name. ... 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 physical security, the term access control refers to the practice of restricting entrance to a property, a building, or a room to authorized persons. ...


First designs

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 (Hungarian Margittai Neumann János Lajos) (born December 28, 1903 in Budapest, Austria-Hungary; died February 8, 1957 in Washington D.C., United States) was a Hungarian-born mathematician and polymath who made contributions to quantum physics, functional analysis, set theory, topology, economics, computer science, numerical analysis... The First Draft of a Report on the EDVAC (or First Draft) was an incomplete 101-page document written by John von Neumann and distributed on June 30, 1945 by Herman Goldstine, security officer on the classified ENIAC project. ... The EDVAC as installed in Building 328 at the Ballistics Research Laboratory. ...


A patent application of Konrad Zuse mentioned this concept in 1936. Konrad Zuse (1992) Statue in Bad Hersfeld 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. ... This article is about the private university in Philadelphia. ...


Herman Lukoff credits Eckert (see References). Herman Lukoff, a computer pioneer, was born on May 2, 1923, in Philadelphia, Pennsylvania. ...


John William Mauchly and J. Presper Eckert wrote about the stored-program concept in December 1943 during their work on ENIAC. Additionally, ENIAC project administrator Grist Brainerd's December 1943 progress report for the first period of the ENIAC's development implictly proposed the stored program concept (while simultaneously rejecting its implementation in the ENIAC) by stating that "in order to have the simplest project and not to complicate matters" the ENIAC would be constructed without any "automatic regulation." 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. ... Eckert and Mauchly examine a printout of ENIAC results in a newsreel from February 1946. ... ENIAC ENIAC, short for Electronic Numerical Integrator and Computer,[1] was the first large-scale, electronic, digital computer capable of being reprogrammed to solve a full range of computing problems,[2] although earlier computers had been built with some of these properties. ... ENIAC ENIAC, short for Electronic Numerical Integrator and Computer,[1] was the first large-scale, electronic, digital computer capable of being reprogrammed to solve a full range of computing problems,[2] although earlier computers had been built with some of these properties. ... ENIAC ENIAC, short for Electronic Numerical Integrator and Computer,[1] was the first large-scale, electronic, digital computer capable of being reprogrammed to solve a full range of computing problems,[2] although earlier computers had been built with some of these properties. ... ENIAC ENIAC, short for Electronic Numerical Integrator and Computer,[1] was the first large-scale, electronic, digital computer capable of being reprogrammed to solve a full range of computing problems,[2] although earlier computers had been built with some of these properties. ... ENIAC ENIAC, short for Electronic Numerical Integrator and Computer,[1] was the first large-scale, electronic, digital computer capable of being reprogrammed to solve a full range of computing problems,[2] although earlier computers had been built with some of these properties. ...


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,[1] was the first large-scale, electronic, digital computer capable of being reprogrammed to solve a full range of computing problems,[2] although earlier computers had been built with some of these properties. ... The EDVAC as installed in Building 328 at the Ballistics Research Laboratory. ...


Alan Turing presented a paper on February 19, 1946, which included a complete design for a stored-program computer, the Pilot ACE. Alan Mathison Turing, OBE (June 23, 1912 – June 7, 1954), was an English mathematician, logician, and cryptographer. ... The Pilot ACE was one of the first computers built in the United Kingdom, at the National Physical Laboratory (NPL) 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 throughput (data transfer rate) between the CPU and memory, is very small in comparison with the amount of memory. In modern machines, throughput is 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 throughput between the two, the bottleneck has become more and more of a problem. In information technology, throughput is the rate at which a computer or network sends or receives data. ... A wait state is a delay experienced by a computer processor when accessing external memory or another device that is slow to respond. ...


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. Additionally, the development of branch prediction algorithms has helped to mitigate this problem. 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. Look up cache in Wiktionary, the free dictionary. ... In computer architecture, a branch predictor is the part of a processor that determines whether a conditional branch in the instruction flow of a program is likely to be taken or not. ... Functional programming is a programming paradigm that conceives computation as the evaluation of mathematical functions and avoids state and mutable data. ... 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 (previously FORTRAN[1]) is a general-purpose[2], procedural,[3] imperative programming language that is especially suited to numeric computation and scientific computing. ...


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 publicly 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 (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.
  • 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 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 SWAC was completed in July 1950.
  • The Whirlwind was completed in December 1950 and was 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 (known as IBM or Big Blue; NYSE: IBM) is a multinational computer technology corporation headquartered in Armonk, New York, USA. The company is one of the few information technology companies with a continuous history dating back to the 19th century. ... SSEC (for Selective Sequence Electronic Calculator, and also called Poppa) was an electomechanical computer built by IBM, finished in January 1948. ... January 27 is the 27th day of the year in the Gregorian calendar. ... 1948 (MCMXLVIII) was a leap year starting on Thursday (the link is to a full 1948 calendar). ... The Victoria University of Manchester (VUM) was a large university in Manchester in England. ... Replica of the SSEM The Manchester Small-Scale Experimental Machine (SSEM), nicknamed Baby, was the first stored-program computer to run a program, on June 21, 1948. ... June 21 is the 172nd day of the year (173rd in leap years) in the Gregorian calendar, with 193 days remaining. ... 1948 (MCMXLVIII) was a leap year starting on Thursday (the link is to a full 1948 calendar). ... Coprime - Wikipedia /**/ @import /skins-1. ... ENIAC ENIAC, short for Electronic Numerical Integrator and Computer,[1] was the first large-scale, electronic, digital computer capable of being reprogrammed to solve a full range of computing problems,[2] although earlier computers had been built with some of these properties. ... Read-only memory (ROM) is a class of storage media used in computers and other electronic devices. ... September 16 is the 259th day of the year (260th in leap years). ... 1948 (MCMXLVIII) was a leap year starting on Thursday (the link is to a full 1948 calendar). ... Adele Goldstine (?-1964) wrote the complete technical description for the first digital computer, ENIAC. She went to University of Pennsylvania, and was married to Herman Goldstine. ... BINAC, the Binary Automatic Computer, was an early electronic computer designed for Northrop Aircraft Company by the Eckert-Mauchly Computer Corporation in 1949. ... The Manchester Mark I was one of the earliest electronic computers, built at the University of Manchester in England, in 1949. ... EDSAC EDSAC (Electronic Delay Storage Automatic Calculator) was an early British computer (one of the first computers to be created). ... May 6 is the 126th day of the year in the Gregorian Calendar (127th in leap years). ... 1949 (MCMXLIX) was a common year starting on Saturday (the link is to a full 1949 calendar). ... The EDVAC as installed in Building 328 at the Ballistics Research Laboratory. ... 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 one of the first computers built in the United Kingdom, at the National Physical Laboratory (NPL) in the late 1940s. ... May 10 is the 130th day of the year in the Gregorian Calendar (131st in leap years). ... 1950 (MCML) was a common year starting on Sunday (link will take you to calendar). ... 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. ...

References

  1. ^ "MFTL" entry, Jargon File 4.4.7
  2. ^ First Draft of a Report on the EDVAC (PDF, 420 KB)
  • 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 978-0-89661-002-6
  • Martin Davis (2000), Chapter 8, "Making the first Universal computers", Engines of Logic: Mathematicians and the origin of the Computer, W. W. Norton & Company, Inc. New York. ISBN 0-393-32229-7 pbk.
  • Can Programming be Liberated from the von Neumann Style?, John Backus, 1977 ACM Turing Award Lecture. Communications of the ACM, August 1978, Volume 21, Number 8. Online PDF
  • C. Gordon Bell and Allen Newell (1971), Computer Structures: Readings and Examples, McGraw-Hill Book Company, New York. Massive (668 pages).

See also

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). ... An artistic representation of a Turing Machine . ... Definition: A model of computation whose memory consists of an unbounded sequence of registers, each of which may hold an integer. ... The Little Man Computer (LMC) was created by Dr. Stuart Madnick as an instructional model. ... Cardiac (CARDboard Illustrative Aid to Computation) was a learning aid developed by David Hagelbarger and Saul Fingerman for Bell Telephone Laboratories in 1968 to teach high school students how computers work. ...


  Results from FactBites:
 
Von Neumann architecture - Wikipedia, the free encyclopedia (1618 words)
The separation of storage from the processing unit is implicit in the von Neumann architecture.
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 "von Neumann bottleneck" was coined by John Backus in his 1977 ACM Turing award lecture.
John von Neumann - Wikipedia, the free encyclopedia (3847 words)
Von Neumann was invited to Princeton, New Jersey in 1930, and was one of four people selected for the first faculty of the Institute for Advanced Study (two of which were Albert Einstein and Kurt Gödel), where he was a mathematics professor from its formation in 1933 until his death.
Von Neumann was diagnosed with bone cancer or pancreatic cancer in 1957, possibly caused by exposure to radioactivity while observing A-bomb tests in the Pacific, and possibly in later work on nuclear weapons at Los Alamos, New Mexico.
Von Neumann had collaborated with spy Klaus Fuchs on hydrogen bomb development, and the two filed a secret patent on "Improvement in Methods and Means for Utilizing Nuclear Energy" in 1946, which outlined a scheme for using a fission bomb to compress fusion fuel to initiate a thermonuclear reaction.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

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

 


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, 1022, m