All Topics  
Von Neumann architecture

 

   Email Print
   Bookmark   Link






 

Von Neumann architecture



 
 
The von Neumann architecture is a design model for a stored-program digital computer that uses a processing unit
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
 and a single separate storage
Computer storage

Computer data storage, often called storage or memory, refers to computer components, devices, and recording medium that retain digital data used for computing for some interval of time....
 structure to hold both instructions and data
Data (computing)

In computer science, data is anything in a form suitable for use with a computer. Data is often distinguished from computer programs. A program is a set of instruction that detail a task for the computer to perform....
. It is named after the mathematician
Mathematician

A mathematician is a person whose primary area of study and/or research is the field of mathematics....
 and early computer scientist
Computer scientist

A computer scientist is a person who has acquired knowledge of computer science, the study of the theoretical foundations of information and computation and their application in computer systems....
 John von Neumann
John von Neumann

John von Neumann was a Hungarian American mathematician who made major contributions to a vast range of fields, including set theory, functional analysis, quantum mechanics, ergodic theory, continuous geometry, economics and game theory, computer science, numerical analysis, hydrodynamics , and statistics, as well as many other mathematical...
. Such computers implement a universal Turing machine
Universal Turing machine

Alan Turing's universal computing machine is the name given by him to his model of an all-purpose "a-machine" that could "run" any arbitrary sequence of instructions called "quintuples"....
 and have a sequential architecture
SISD

In computing, SISD is a term referring to an computer architecture in which a single processor, an uniprocessor, executes a single instruction stream, to operate on data stored in a single memory....
.

A stored-program digital computer is one that keeps its programmed
Computer program

Computer programs are Instruction for a computer. A computer requires programs to function. Moreover, a computer program does not run unless its instructions are executed by a Central processing unit; however, a program may communicate an Algorithm#Formalization of algorithms to people without running....
 instructions, as well as its data, in read-write
Read-write memory

Read-write memory is a type of computer memory that may be relatively easily written to as well as read from. Compare read-only memory . The term RAM is often used to describe writable memory, but strictly speaking this is incorrect?RAM properly means memory that can be accessed at any location....
, random access memory (RAM).






Discussion
Ask a question about 'Von Neumann architecture'
Start a new discussion about 'Von Neumann architecture'
Answer questions from other users
Full Discussion Forum



Encyclopedia


The von Neumann architecture is a design model for a stored-program digital computer that uses a processing unit
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
 and a single separate storage
Computer storage

Computer data storage, often called storage or memory, refers to computer components, devices, and recording medium that retain digital data used for computing for some interval of time....
 structure to hold both instructions and data
Data (computing)

In computer science, data is anything in a form suitable for use with a computer. Data is often distinguished from computer programs. A program is a set of instruction that detail a task for the computer to perform....
. It is named after the mathematician
Mathematician

A mathematician is a person whose primary area of study and/or research is the field of mathematics....
 and early computer scientist
Computer scientist

A computer scientist is a person who has acquired knowledge of computer science, the study of the theoretical foundations of information and computation and their application in computer systems....
 John von Neumann
John von Neumann

John von Neumann was a Hungarian American mathematician who made major contributions to a vast range of fields, including set theory, functional analysis, quantum mechanics, ergodic theory, continuous geometry, economics and game theory, computer science, numerical analysis, hydrodynamics , and statistics, as well as many other mathematical...
. Such computers implement a universal Turing machine
Universal Turing machine

Alan Turing's universal computing machine is the name given by him to his model of an all-purpose "a-machine" that could "run" any arbitrary sequence of instructions called "quintuples"....
 and have a sequential architecture
SISD

In computing, SISD is a term referring to an computer architecture in which a single processor, an uniprocessor, executes a single instruction stream, to operate on data stored in a single memory....
.

A stored-program digital computer is one that keeps its programmed
Computer program

Computer programs are Instruction for a computer. A computer requires programs to function. Moreover, a computer program does not run unless its instructions are executed by a Central processing unit; however, a program may communicate an Algorithm#Formalization of algorithms to people without running....
 instructions, as well as its data, in read-write
Read-write memory

Read-write memory is a type of computer memory that may be relatively easily written to as well as read from. Compare read-only memory . The term RAM is often used to describe writable memory, but strictly speaking this is incorrect?RAM properly means memory that can be accessed at any location....
, random access memory (RAM). Stored-program computers were an advancement over the program-controlled computers of the 1940s, such as the Colossus
Colossus computer

The Colossus machines were electronics computing devices used by British Cryptanalysis to read encrypted Nazi Germany messages during World War II....
 and the ENIAC
ENIAC

ENIAC, short for Electronic Numerical Integrator And Computer, was a general-purpose electronic computer. It was a Turing complete, digital computer capable of being reprogrammed to solve a full range of computing problems....
, which were programmed by setting switches and inserting patch leads to route data and to control signals between various functional units. In the vast majority of modern computers, the same memory is used for both data and program instructions.

The terms "von Neumann architecture" and "stored-program computer" are generally used interchangeably, and that usage is followed in this article. In contrast, the Harvard architecture
Harvard architecture

The Harvard architecture is a computer architecture with physically separate computer storage and signal pathways for instructions and data. The term originated from the Harvard Mark I relay-based computer, which stored instructions on punched tape and data in electro-mechanical counters ....
 stores a program in a modifiable form, but without using the same physical storage or format for general data.

Description

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
Calculator

A calculator is a device for performing mathematical calculations, distinguished from a computer by having a limited problem solving ability and an interface optimized for interactive calculation rather than programming....
 (in principle) is a fixed program computer. It can do basic mathematics
Mathematics

Mathematics is the study of quantity, structure, space, change, and related topics of pattern and form. Mathematicians seek out patterns whether found in numbers, space, natural science, computers, imaginary abstractions, or elsewhere....
, but it cannot be used as a word processor
Word processor

A word processor is a computer Application software used for the production of any sort of printable material.Word processor may also refer to an obsolete type of stand-alone office machine, popular in the 1970s and 80s, combining the keyboard text-entry and printing functions of an electric typewriter with a dedicated computer for th...
 or to play games with. Changing the program of a fixed-program machine requires re-wiring, re-structuring, or re-designing the machine. The earliest computers were not so much "programmed" as they were "designed". "Reprogramming", when it was possible at all, was a laborious process, starting with flow charts and paper notes, followed by detailed engineering designs, and then the often-arduous process of physically re-wiring and re-building the machine. It could take up to three weeks to set up a program on ENIAC
ENIAC

ENIAC, short for Electronic Numerical Integrator And Computer, was a general-purpose electronic computer. It was a Turing complete, digital computer capable of being reprogrammed to solve a full range of computing problems....
 and get it working.

The idea of the stored-program computer changed all that. A computer that by design includes an instruction set architecture and can store in memory a set of instructions (a program
Computer program

Computer programs are Instruction for a computer. A computer requires programs to function. Moreover, a computer program does not run unless its instructions are executed by a Central processing unit; however, a program may communicate an Algorithm#Formalization of algorithms to people without running....
) that details the computation
Computation

Computation is a general term for any type of information processing. This includes phenomena ranging from human thinking to calculations with a more narrow meaning....
.

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 register
Index register

An index register in a computer's central processing unit is a processor register used for modifying operand addresses during the run of a program, typically for doing vector/array operations....
s and indirect addressing became usual features of machine architecture. Self-modifying code has largely fallen out of favor, since it is usually hard to understand and debug
Debugging

Debugging is a methodical process of finding and reducing the number of computer bugs, or defects, in a computer program or a piece of electronic hardware thus making it behave as expected....
, as well as being inefficient under modern processor pipelining and caching schemes.

On a large scale, the ability to treat instructions as data is what makes assemblers
Assembly language

An assembly language is a low-level language for programming computers. It implements a symbolic representation of the numeric machine codes and other constants needed to program a particular CPU architecture....
, compiler
Compiler

A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program....
s and other automated programming tools possible. One can "write programs which write programs". 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" ("just-in-time compilation
Just-in-time compilation

In computing, just-in-time compilation , also known as dynamic translation, is a technique for improving the runtime performance of a computer program....
") technology, e.g. code-generating programs—one form of self-modifying code that has remained popular.

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
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
, possibly leading to a computer crash
Crash (computing)

A crash or in computing is a condition where a program stops performing its expected function and also stops responding to other parts of the system....
. This ability for programs to create and modify other programs is also frequently exploited by malware
Malware

Malware, a portmanteau from the words Malice and Computer software, is software designed to infiltrate or damage a computer system without the owner's informed consent....
 and hackers. A buffer overflow
Buffer overflow

In computer security and computer programming, a buffer overflow, or buffer overrun, is an Anomaly in software condition where a process attempts to store data beyond the boundaries of a fixed-length buffer ....
 is one very common example of such a malfunction. Malware might use a buffer overflow to smash the call stack
Call stack

In computer science, a call stack is a dynamic Stack data structure that stores information about the active subroutines of a computer program....
, overwrite the existing program, and then proceed to modify other program files
Computer file

A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable computer storage....
 on the system to further propagate the malware to other machines. Memory protection
Memory protection

Memory protection is a way to control memory usage on a computer, and is core to virtually every modern operating system. The main purpose of memory protection is to prevent a process running on an operating system from accessing memory beyond that allocated to it....
 and other forms of access control
Access control

Access control is the ability to permit or deny the use of a particular resource by a particular entity. Access control mechanisms can be used in managing physical resources , logical resources , or digital resources ....
 can help protect against both accidental and malicious program modification.

Development of the stored-program concept


The mathematician Alan Turing
Alan Turing

Alan Mathison Turing, Order of the British Empire, Fellow of the Royal Society was a British mathematician, logician and Cryptanalysis....
, who had been alerted to a problem of mathematical logic by the lectures of Max Newman
Max Newman

Maxwell Herman Alexander Newman was a United Kingdom mathematician and codebreaker....
 at Cambridge University, wrote a paper in 1936 entitled On Computable Numbers, with an Application to the Entscheidungsproblem, which was published in the Proceedings of the London Mathematical Society. In it he described a hypothetical machine which he called a "universal computing machine", and which is now known as the "universal Turing machine
Turing machine

Turing machines are basic abstract symbol-manipulating devices which, despite their simplicity, can be adapted to simulate the logic of any computer algorithm....
". The hypothetical machine had an infinite store (memory in today's terminology) that contained both instructions and data. The German engineer Konrad Zuse
Konrad Zuse

Konrad Zuse was a Germany Civil engineering and computer pioneer. His greatest achievement was the world's first functional program-controlled Turing-complete computer, the Z3 , in 1941 ....
 independently wrote about this concept in 1936. Von Neumann became acquainted with Turing when he was visiting professor at Cambridge in 1935 and also during the year that Turing spent at Princeton University
Princeton University

Princeton University is a private university university located in Princeton, New Jersey, New Jersey, United States. The school is one of the eight universities of the Ivy League and has the largest per-student Financial endowment in the world....
 in 1936-37. Whether he knew of Turing's 1936 paper at that time is not clear.

Independently, J. Presper Eckert
J. Presper Eckert

John Adam Presper "Pres" Eckert Jr. was an United States electrical engineering and computer pioneer. With John Mauchly he invented the first general-purpose electronic digital computer , presented the first course in computing topics , founded the first commercial computer company , and designed the first commercial computer in the U.S.,...
 and John Mauchly
John Mauchly

John William Mauchly was an United States physicist who, along with J. Presper Eckert, designed ENIAC, the first general purpose electronic digital computer, as well as EDVAC, BINAC and UNIVAC I, the first commercial computer made in the United States....
, who were developing the ENIAC
ENIAC

ENIAC, short for Electronic Numerical Integrator And Computer, was a general-purpose electronic computer. It was a Turing complete, digital computer capable of being reprogrammed to solve a full range of computing problems....
 at the Moore School of Electrical Engineering
Moore School of Electrical Engineering

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 4, 1923....
, at the University of Pennsylvania
University of Pennsylvania

The University of Pennsylvania is a private research university located in Philadelphia, Pennsylvania, United States. Penn is America's first university and is the fourth-oldest institution of higher education in the United States....
, wrote about the stored-program concept in December 1943. In planning a new machine, EDVAC
EDVAC

EDVAC was one of the earliest electronics computers. Unlike its predecessor the ENIAC, it was binary numeral system rather than decimal, and was a Von Neumann architecture machine....
, Eckert wrote in January 1944 that they would store data and programs in a new addressable memory device, a mercury metal delay line. This was the first time the construction of a practical stored-program was proposed. At that time, they were not aware of Turing's work.

Von Neumann was involved in the Manhattan Project
Manhattan Project

The Manhattan Project was the project to develop the first atomic weapon during World War II; involving the United States, the United Kingdom, and Canada....
 at the Los Alamos National Laboratory
Los Alamos National Laboratory

Los Alamos National Laboratory is a United States Department of Energy United States Department of Energy National Labs, managed and operated by Los Alamos National Security, LLC , located in Los Alamos, New Mexico....
, which required huge amounts of calculation. This drew him to the ENIAC project, in the summer of 1944. There he joined into the ongoing discussions on the design of this stored-program computer, the EDVAC. As part of that group, he volunteered to write up a description of it. The term "von Neumann architecture" arose from von Neumann's paper First Draft of a Report on the EDVAC
First Draft of a Report on the EDVAC

The First Draft of a Report on the EDVAC was an unfinished work 101-page document written by John von Neumann and distributed on June 30, 1945 by Herman Goldstine, security officer on the classified ENIAC project....
 dated 30 June 1945, which included ideas from Eckert and Mauchly. It was unfinished when his colleague Herman Goldstine circulated it with only von Neumann's name on it, to the consternation of Eckert and Mauchly. The paper was read by dozens of von Neumann's colleagues in America and Europe, and influencing the next round of computer designs.

Later, Turing produced a detailed technical report Proposed Electronic Calculator describing the Automatic Computing Engine (ACE). He presented this to the Executive Committee of the British National Physical Laboratory
National Physical Laboratory, UK

The National Physical Laboratory is the national measurement standards laboratory for the United Kingdom, based at Bushy Park in Teddington, London, England....
 on 19 February 1946. Although Turing knew from his wartime experience at Bletchley Park that what he proposed was feasible, the secrecy that was maintained about "Colossus" for several decades prevented him from saying so. Various successful implementations of the ACE design were produced.

Both von Neumann's and Turing's papers described stored program-computers, but von Neumann's earlier paper achieved greater circulation and the computer architecture it outlined became known as the "von Neumann architecture". In the 1953 book Faster than Thought edited by B V Bowden a section in the chapter on Computers in America read as follows.
THE MACHINE OF THE INSTITUTE FOR ADVANCED STUDIES, PRINCETON
In 1945, Professor J. von Neumann, who was then working at the Moore School of Engineering in Philadelphia, where the E.N.I.A.C. had been built, issued on behalf of a group of his co-workers a report on the logical design of digital computers. The report contained a fairly detailed proposal for the design of the machine which has since become known as the E.D.V.A.C. (electronic discrete variable automatic computer). This machine has only recently been completed in America, but the von Neumann report inspired the construction of the E.D.S.A.C. (electronic delay-storage automatic calculator) in Cambridge (see page 130).
In 1947, Burks, Goldstine and von Neumann published another report which outlined the design of another type of machine (a parallel machine this time) which should be exceedingly fast, capable perhaps of 20,000 operations per second. They pointed out that the outstanding problem in constructing such a machine was in the development of a suitable memory, all the contents of which were instantaneously accessible, and at first they suggested the use of a special tube—called the Selectron, which had been invented by the Princeton Laboratories of the R.C.A. These tubes were expensive and difficult to make, so von Neumann subsequently decided to build a machine based on the Williams memory. This machine, which was completed in June, 1952 in Princeton has become popularly known as the Maniac. The design of this machine has inspired that of half a dozen or more machines which are now being built in America, all of which are known affectionately as "Johniacs."


In the same book, in a chapter on ACE, the first two paragraphs read as follows.
AUTOMATIC COMPUTATION AT THE NATIONAL PHYSICAL LABORATORY
One of the most modern digital computers which embodies developments and improvements in the technique of automatic electronic computing was recently demonstrated at the National Physical Laboratory, Teddington, where it has been designed and built by a small team of mathematicians and electronics research engineers on the staff of the Laboratory, assisted by a number of production engineers from the English Electric Company, Limited. The equipment so far erected at the Laboratory is only the pilot model of a much larger installation which will be known as the Automatic Computing Engine, but although comparatively small in bulk and containing only about 800 thermionic valves, as can be judged from Plates XII, XIII and XIV, it is an extremely rapid and versatile calculating machine.
The basic concepts and abstract principles of computation by a machine were formulated by Dr. A. M. Turing, F.R.S., in a paper1. read before the London Mathematical Society in 1936, but work on such machines in Britain was delayed by the war. In 1945, however, an examination of the problems was made at the National Physical Laboratory by Mr. J. R. Womersley, then superintendent of the Mathematics Division of the Laboratory. He was joined by Dr. Turing and a small staff of specialists, and, by 1947, the preliminary planning was sufficiently advanced to warrant the establishment of the special group already mentioned. In April, 1948, the latter became the Electronics Section of the Laboratory, under the charge of Mr. F. M. Colebrook.


Von Neumann bottleneck

The separation between the CPU and memory leads to the von Neumann bottleneck, the limited throughput
Throughput

In communication networks, such as Ethernet or packet radio, throughput is the average rate of successful message delivery over a communication channel....
 (data transfer rate) between the CPU and memory compared to the amount of memory. In most modern computers, throughput is much smaller than the rate at which the CPU can work. This seriously limits the effective processing speed when the CPU is required to perform minimal processing on large amounts of data. The CPU is continuously forced to wait
Wait state

A wait state is a delay experienced by a computer central processing unit when accessing external computer storage or another device that is slow to respond....
 for needed data to be transferred to or from memory. Since CPU speed and memory size have increased much faster than the throughput between them, the bottleneck has become more of a problem.

The term "von Neumann bottleneck" was coined by John Backus
John Backus

For the physicist, see John Backus John Warner Backus was an American computer scientist. He led the team that invented the first widely used High-level programming language programming language and was the inventor of the Backus-Naur form , the almost universally used notation to define formal language syntax....
 in his 1977 ACM Turing award
Turing Award

The A. M. Turing Award is given annually by the Association for Computing Machinery to "an individual selected for contributions of a technical nature made to the computing community....
 lecture. 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 performance problem is reduced by a cache
Cache

In computer science, a cache is a collection of data duplicating original values stored elsewhere or computed earlier, where the original data is expensive to fetch or to compute, compared to the cost of reading the cache....
 between the CPU and the main memory, and by the development of branch prediction algorithms. 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
Functional programming

In computer science, functional programming is a programming paradigm that treats computation as the evaluation of function s and avoids program state and immutable object data....
 and object-oriented programming are much less geared towards "pushing vast numbers of words back and forth" than earlier languages like Fortran
Fortran

Fortran is a general-purpose programming language, procedural programming language, imperative programming language programming language that is especially suited to numerical analysis and scientific computing....
 were, but internally, that is still what computers spend much of their time doing.

Early von Neumann-architecture computers


The First Draft described a design that was used by many universities and corporations to construct their computers. Among these various computers, only ILLIAC and ORDVAC had compatible instruction sets.

  • ORDVAC
    ORDVAC

    The ORDVAC or Ordnance Discrete Variable Automatic Computer, an early computer built by the University of Illinois at Urbana-Champaign for the Ballistics Research Laboratory at Aberdeen Proving Ground, was based on the IAS machine architecture developed by John von Neumann, which came to be known as the von N...
     (U-Illinois) at Aberdeen Proving Ground, Maryland (completed Nov 1951)
  • IAS Machine
    IAS machine

    The IAS machine was the first electronic digital computer built by the Institute for Advanced Study, Princeton Township, New Jersey, United States....
     at Princeton University (Jan 1952)
  • MANIAC
    Maniac

    Maniac may refer to:*MANIAC I,Louis Lambert*Maniac, a pac-man/hangman combination computer game designed to natively run on early PPC and 68K Apple Macintosh computers, as well as compatible clones running System 7....
     at Los Alamos Scientific Laboratory (Mar 1952)
  • ILLIAC
    ILLIAC

    ILLIAC was the name given to a series of supercomputers built at the University of Illinois at Urbana-Champaign. In all, five computers were built in this series between 1951 and 1974....
     at the University of Illinois, (Sept 1952)
  • AVIDAC
    AVIDAC

    The AVIDAC or Argonne Version of the Institute's Digital Automatic Computer, an early computer built by Argonne National Laboratory, was based on the IAS machine architecture developed by John von Neumann....
     at Argonne National Laboratory (1953)
  • ORACLE
    ORACLE (computer)

    The ORACLE or Oak Ridge Automatic Computer and Logical Engine, an early computer built by Oak Ridge National Laboratory, was based on the IAS machine architecture developed by John von Neumann....
     at Oak Ridge National Laboratory (Jun 1953)
  • JOHNNIAC
    JOHNNIAC

    The JOHNNIAC was an early computer built by RAND that was based on the von Neumann architecture that had been pioneered on the IAS machine. It was named in honor of von Neumann, short for John v....
     at RAND Corporation (Jan 1954)
  • BESK
    BESK

    BESK was Sweden's first electronic computer, using vacuum tubes instead of relays. It was developed by Matematikmaskinn?mnden and during a short time it was the fastest computer in the world....
     in Stockholm
  • BESM
    BESM

    BESM is the name of a series of Soviet Mainframe computer computers built in 1950-1960s. The name is an acronym for "Bolshaya Elektronno-Schetnaya Mashina" , literally "Large Electronic Computing Machine"....
     in Moscow
  • DASK
    DASK

    The DASK was the first computer in Denmark. It was commissioned in 1955, designed and constructed by Regnecentralen, and began operation in September 1957....
     in Denmark
  • PERM
    Perm

    Perm is a types of inhabited localities in Russia and administrative center of Perm Krai, Russia. It is situated on the banks of the Kama River, in the European part of Russia near the Ural Mountains....
     in Munich
  • SILLIAC
    SILLIAC

    The SILLIAC , an early computer built by the University of Sydney, Australia, was based on the ILLIAC and ORDVAC computers developed at the University of Illinois at Urbana-Champaign, which in turn were based on the IAS machine architecture developed by John von Neumann....
     in Sydney (1956?)
  • WEIZAC
    WEIZAC

    The WEIZAC was the first computer in Israel, and one of the first large-scale, stored program, electronic computers outside the US and Europe....
     in Rehovoth


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
    Victoria University of Manchester

    The Victoria University of Manchester was a university in Manchester, England. On 1 October 2004 it merged with the University of Manchester Institute of Science and Technology to form a new entity, "University of Manchester"....
     SSEM
    Small-Scale Experimental Machine

    The Manchester Small-Scale Experimental Machine , nicknamed Baby, was the world's first stored-program computer. It was developed at the Victoria University of Manchester by Frederic Calland Williams, Tom Kilburn and Geoff Tootill, and ran its first program on 21 June 1948....
     (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
    Coprime

    In mathematics, the integers a and b are said to be coprime or relatively prime if they have no common divisor other than 1 or, equivalently, if their greatest common divisor is 1....
    .


  • The ENIAC
    ENIAC

    ENIAC, short for Electronic Numerical Integrator And Computer, was a general-purpose electronic computer. It was a Turing complete, digital computer capable of being reprogrammed to solve a full range of computing problems....
     was modified to run as a primitive read-only stored-program computer (using the Function Tables for program ROM
    Read-only memory

    Read-only memory is a class of computer storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified , it is mainly used to distribute firmware ....
    ) and was demonstrated as such on September 16 1948, running a program by Adele Goldstine
    Adele Goldstine

    Adele Goldstine , born Adele Katz, wrote the complete technical description for the first digital computer, ENIAC. She attended the University of Chicago, and was married to Herman Goldstine, the military liaison and administrator for the construction of the ENIAC....
     for von Neumann.


  • The BINAC
    BINAC

    BINAC, the Binary Automatic Computer, was an early electronic computer designed for Northrop Aircraft Company by the Eckert-Mauchly Computer Corporation in 1949....
     ran some test programs in February, March, and April 1949, although it wasn't completed until September 1949.


  • The Manchester Mark 1 developed from 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
    EDSAC

    Electronic Discrete Storage Automatic Calculator was an early United Kingdom computer. The machine, having been inspired by John von Neumann's seminal First Draft of a Report on the EDVAC, was constructed by Maurice Wilkes and his team at the University of Cambridge University of Cambridge Mathematical Laboratory in England....
     ran its first program on May 6 1949.


  • The EDVAC
    EDVAC

    EDVAC was one of the earliest electronics computers. Unlike its predecessor the ENIAC, it was binary numeral system rather than decimal, and was a Von Neumann architecture machine....
     was delivered in August 1949, but it had problems that kept it from being put into regular operation until 1951.


  • The CSIR Mk I
    CSIRAC

    CSIRAC , originally known as CSIR Mk 1, was Australia's first digital computer, and the fourth stored program computer in the world. It was first to play digital music and is the only surviving first-generation computer....
     ran its first program in November 1949.


  • The SEAC
    SEAC (computer)

    SEAC was a first-generation electronic computer, built in 1950 by the United States National Institute of Standards and Technology 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 operation while the NBS waited for more powerful co...
     was demonstrated in April 1950.


  • The Pilot ACE
    Pilot ACE

    The Pilot ACE was one of the first computers built in the United Kingdom, at the National Physical Laboratory, UK in the early 1950s.It was a preliminary version of the full ACE , which had been designed by Alan Turing....
     ran its first program on May 10 1950 and was demonstrated in December 1950.


  • The SWAC
    SWAC (computer)

    The SWAC was an early electronic digital computer built in 1950 by the United States National Institute of Standards and Technology in Los Angeles, California....
     was completed in July 1950.


  • The Whirlwind
    Whirlwind (computer)

    The Whirlwind computer was developed at the Massachusetts Institute of Technology. It is the first computer that operated in real time, used computer monitor for output, and the first that was not simply an electronic replacement of older mechanical systems....
     was completed in December 1950 and was in actual use in April 1951.


  • The first ERA Atlas
    UNIVAC 1101

    The UNIVAC 1101, or ERA 1101, was a computer system designed by Engineering Research Associates and built by the Remington Rand corporation in the 1950s....
     (later the commercial ERA 1101/UNIVAC 1101) was installed in December 1950.


See also

  • Harvard architecture
    Harvard architecture

    The Harvard architecture is a computer architecture with physically separate computer storage and signal pathways for instructions and data. The term originated from the Harvard Mark I relay-based computer, which stored instructions on punched tape and data in electro-mechanical counters ....
  • Modified Harvard architecture
    Modified Harvard architecture

    The Modified Harvard Architecture is a variation of the Harvard architecture that allows the contents of the instruction memory to be accessed as if it were data....
  • Turing machine
    Turing machine

    Turing machines are basic abstract symbol-manipulating devices which, despite their simplicity, can be adapted to simulate the logic of any computer algorithm....
  • Random access machine
    Random access machine

    In computer science, random access machine is an abstract machine in the general class of register machines. The RAM is very similar to the counter machine but with the added capability of 'indirect addressing' of its registers....
  • Little man computer
    Little man computer

    The Little Man Computer is an instructional Model of a computer, created by Dr. Stuart Madnick in 1965. The LMC is generally used to teach students, because it models a simple von Neumann architecture computer - which has all of the basic features of a modern computer....
  • CARDboard Illustrative Aid to Computation
    CARDboard Illustrative Aid to Computation

    Cardiac was a learning aid developed by David Hagelbarger and Saul Fingerman for Bell Labs in 1968 to teach high school students how computers work....
  • Von Neumann syndrome
    Von Neumann syndrome

    The von Neumann syndrome is a computing term coined by Prof. C. V. Ramamoorthy . Ramamoorthy noted that for most applications in massively parallel computing systems with thousands or tens of thousands of processors the performance can be less than hoped....
  • interconnect bottleneck
    Interconnect bottleneck

    The interconnect bottleneck -- the point where microchips reach their capacity -- is expected sometime around 2010.Improved performance of computer systems has been achieved, in large part, by downscaling the Integrated Circuit minimum feature size....


Inline


General



  • 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.
  • C. Gordon Bell and Allen Newell (1971), Computer Structures: Readings and Examples, McGraw-Hill Book Company, New York. Massive (668 pages).


External links