ComputersDatabase

The architecture of von Neumann: the history of the origin of the term

The architecture of the von Neumann machine, also known as the von Neumann model, or the Princeton architecture, is based on a technique described in 1945 by mathematician and physicist John von Neumann as part of the "First Project" report on the EDVAC computer.

Architecture outline

The von Neumann report described an architecture scheme for an electronic digital computer with parts consisting of processing units that contains:

  • Arithmetic logic unit;
  • Processor registers;
  • A control unit containing a command register and a command counter;
  • A storage device for storing data;
  • External storage device;
  • Input and output mechanisms.

The meaning of the development was that any information stored on the computer could be used by the program in which the selected operation data can not be played simultaneously, because they share a common bus. This is mentioned in the "First Project", which describes the scientist's thoughts about what kind of architecture should be. Von Neumann called this situation a "bottleneck," which often limits system performance.

Principles of von Neumann architecture

A digital computer is a computer storing a program that contains program instructions, data for reading, writing, and also includes random access memory (RAM). The principles of the architecture of John von Neumann are also set forth in his work "The First Project". According to him, computers with a program stored in memory were an improvement over the management of computers, such as ENIAC. The latter was programmed by setting switches and inserting a patch that leads to data routing and control signals between the various function blocks. In the vast majority of modern computers, memory is also used in a similar way. In this case, the architecture of von Neumann's computer differs, for example, from Harvard, in that it uses not the main, but the cache memory.

Prehistory

The first computers had fixed fixed programs. Some very simple computers still use this design either for simplicity or for educational purposes. For example, a desktop calculator is also a computer with a fixed program. It can work with the basics of mathematics, but it can not be used as a word processor or game console. Changing the fixed program of the machine requires re-installation, restructuring or reorganization of the machine. The earliest computers were not so narrow-minded, since they were developed for the first time and for scientific purposes. Reprogramming appeared much later, and it was a time-consuming process, beginning with block diagrams and paper bills and ending with detailed technical projects. Especially difficult was the process of physical modernization of the channels of the restoration of the machine. It may take three weeks to install the program on ENIAC and try to get it to work.

New idea

With the suggestion of the computer storing programs in memory, everything changed. Stored in memory, they are a design with a set of instructions. So, the machine can immediately get a set of commands to perform calculations.

The design of such programs refers to self-modifying codes. One of the first settings for such an object was the need for an algorithm to increase or otherwise change the address part of the commands. It was done manually in early designs. This became less important when index registers and indirect addressing became the usual characteristics that the computer architecture of John von Neumann's computer possesses. Another use is to insert frequently used data in the command flow using an immediate solution. But self-modifying code has been heavily criticized, as it is usually difficult to understand and debug. In addition, it was also inefficient in terms of playback and caching schemes of modern processors.

By and large, the ability to treat instructions as data is what assemblers, compilers, builders, loaders and other tools with possible automated programming objects do. So to say, write programs that write programs. On a smaller scale, repeated intensive input and output operations, such as BitBlt manipulations with images of primitive or pixel and vertex shaders in modern 3D graphics, have been found ineffective for working without user equipment.

Development of the concept of a program stored in memory

Mathematician Alan Turing, who was interested in the problem of mathematical logic after the lecture of Max Newman at Cambridge University, wrote the article in 1936, it was published in the edition 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 a universal Turing machine. It had an infinite storehouse (in modern terminology - memory), which contained both instructions and data, for which the given architecture was created. Von Neumann met Turing at the time when he was a visiting professor at Cambridge in 1935, and also during the defense of his doctoral dissertation Turing at the Institute for Advanced Studies in Princeton (NJ) in 1936-1937.

Regardless of each other, Ji Presper Eckert and John Mauchly, who developed ENIAC at the Electrical Engineering School at the University of Pennsylvania, wrote about the concept of a machine that stored the program in memory in December 1943. When planning a new machine, EDVAC, Eckert wrote in January 1944 that she would store data and programs in a new device with memory addressing by delaying metallic mercury. This was the first time that the construction of a machine storing a program in memory was proposed. At the same time he and Mauchly were not aware of the work of Turing (photo below).

Computer architecture: the von Neumann principle

Von Neumann was involved in the Manhattan Project at the National Laboratory in Los Alamos, which required a huge amount of computation. This attracted him to the ENIAC project in the summer of 1944. There he joined discussions on the development of the EDVAC computer. Within the framework of this group, he wrote a paper titled "The First Draft Report on EDVAC," based on the work of Eckert and Mauchly. It was incomplete when his colleague Goldstein circulated a project with the name von Neumann (by the way, Eckert and Mauchly were dumbfounded by such news). This document was read by dozens of von Neumann colleagues in America and Europe and had a major impact on the next stage of computer development.

The basic principles of von Neumann's architecture, set forth in the "First Project", gained wide popularity, while Turing covered his report on the electronic calculator, which was described in detail in engineering and programming. It contained the author's presentation of the machine, which was called the Automatic Computing Engine (ACE). He presented it to the Executive Committee of the British National Physical Laboratory in 1946. After a while, even various successful implementations of the ACE design were made.

Beginning of project implementation

Both von Neumann's design and Turing's documents described computers storing a certain program in memory, but von Neumann's article reached greater circulation in society, and computer architecture became known as John von Neumann's architecture.

In 1945, Professor Neumann, who then worked at the engineering school in Philadelphia, where the first ENIAC was built, issued a report on the logical design of digital computers on behalf of a group of his colleagues. The report contains a rather detailed proposal for the design of the machine, which has since become known as EDVAC. It was only recently established in America, but the report inspired von Neumann to create EDSAC.

Maniacs and Joniacs

In 1947, Berks, Goldstein and von Neumann published another report, which covered the construction of another type of machine (this time parallel), which was supposed to be extremely fast, capable of carrying out up to 20,000 operations per second. They noted that an unresolved problem in constructing it was the development of suitable memory, the entire contents of which should be instantly available. First they suggested using a special vacuum tube called Selectron, which was invented at Princeton Laboratory. Such pipes were expensive, and making them very difficult, especially if this architecture is used. Von Neumann subsequently decided to build a machine based on the memory of Williams. This machine, which was completed in June 1952 in Princeton, became widely known MANIAC (or simply Maniacs). Its design inspired the creators to design half a dozen or more similar devices that are now being built in America and are called comically Johniacs.

Principles of creation

One of the most modern digital computers that embodied the developments and improvements in the technique of automatic electronic computing was demonstrated at the National Physical Laboratory in Teddington, where it was designed and built by a small group of mathematicians, electronics engineers and researchers, with the assistance of a number of production engineers from British Electric Company Ltd. The equipment is still in the laboratory, but only as a prototype of a much larger installation, which is known as the Automatic Computing Engine. But, despite the relatively small mass and the content of only 800 thermionic valves, it is an extremely fast and universal counting machine.

The basic concepts and abstract principles of calculating with a machine were formulated by Dr. Turing on the basis of the same London Mathematical Society as early as 1936, but work on such machines in the UK was delayed by the war. In 1945, the consideration of the problems of creating such devices continued in the National Physical Laboratory by Dr. Vormsley, the Superintendent of the Laboratory of the Department of Mathematics. He joined Turing with his small staff of specialists, and by 1947 the preliminary planning was advanced enough to justify the creation of a special group.

The first computers on the von Neumann architecture

The first project describes a scheme that has been used by many universities and corporations to build their computers. Among them, only ILLIAC and ORDVAC had compatible instruction sets.

The classical von Neumann architecture was embodied in the Manchester Small Experimental Machine (SSEM), nicknamed Baby from the University of Manchester, which made its first successful launch as a device storing the program in memory on June 21, 1948.

EDSAC from Cambridge University, the first practical electronic computer of this type, was launched for the first time successfully in May 1949.

Development of created models

IBM SSEC had the ability to view instructions as data and was publicly demonstrated on January 27, 1948. This ability was approved in the US patent. However, it was partly an electromechanical machine, and not completely electronic. In practice, instructions were read from the paper tape because of its limited memory.

Baby was the first fully electronic computer to run stored programs. He ran the factoring program for 52 minutes on June 21, 1948 after starting a simple calculation of division and calculation, which shows that two numbers are relatively prime.

ENIAC was modified to operate as a primitive computer for read only, but for the same architecture, and was demonstrated on September 16, 1948, and the launch of the program Adel Goldstein organized with the help of von Neumann.

BINAC conducted several test programs in February, March and April 1949, although it was not completed until September 1949. In addition, there were test launches (some successful ones) of other electronic computers for which this architecture is inherent. Von Neumann, by the way, continued to work on the Manhattan project. This is such a universal person.

Evolution of the bus architecture system

In decades, already in the 60s and 70s, computers as a whole became smaller and faster, which led to some of the evolutions that the computer architecture under von Neumann underwent. For example, the display in the input and output memory allows the corresponding devices, data and instructions for integration into the system to be processed, to remain in memory. One bus system can be used to provide a modular system with fewer. This is sometimes called the "rationalization" of architecture. In subsequent decades, simple microcontrollers sometimes do not use some features of a typical model to reduce cost and size. But large computers follow the established architecture, because they added features to improve performance.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 en.atomiyme.com. Theme powered by WordPress.