Today it's hard to believe, but computers, without which many can no longer imagine their lives, appeared only some 70 years ago. One of those who made a decisive contribution to their creation was the American scientist John von Neumann. He proposed the principles on which most computers still operate to this day. Consider how the von Neumann machine works.

Short biographical note
Janos Neumann was born in 1930 in Budapest, in a very we althy Jewish family, which later managed to receive a title of nobility. From childhood, he was distinguished by outstanding abilities in all areas. At 23, Neumann had already defended his Ph. D. thesis in experimental physics and chemistry. In 1930, the young scientist was invited to work in the USA, at Princeton University. At the same time, Neumann became one of the first employees of the Instituteadvanced research, where he worked as a professor until the end of his life. Neumann's scientific interests were quite extensive. In particular, he is one of the creators of the mathematical apparatus of quantum mechanics and the concept of cellular automata.
Contribution to computer science
Before finding out which principle von Neumann's architecture does not follow, it will be interesting to know how the scientist came up with the idea of creating a modern type of computer.
As an expert in the mathematics of explosions and shock waves, in the early 1940s, von Neumann was a scientific consultant in one of the laboratories of the United States Army Ordnance Department. In the fall of 1943, he arrived in Los Alamos to participate in the development of the Manhattan Project at the personal invitation of its leader, Robert Oppenheimer. He was given the task of calculating the force of implosive compression of the charge of an atomic bomb to a critical mass. To solve it, large calculations were required, which at first were carried out on hand calculators, and later on mechanical tabulators from IBM, using punched cards.
Von Neumann got acquainted with the information on the development of electronic-mechanical and fully electronic computers. He was soon recruited to develop the EDVAC and ENIAC computers, leading him to write the unfinished First Draft Report on EDVAC, which presented the scientific community with a completely new idea of what a computer architecture should be.

Von Neumann Principles
Computer science as a science reached a dead end by 1945, since all computers stored processed numbers in their memory in the 10th form, and programs for performing operations were set by installing jumpers on the patch panel.
This greatly limited the capabilities of computers. Von Neumann's principles were a real breakthrough. Briefly, they can be expressed in one sentence: the transition to a binary number system and the principle of a stored program.
Analysis
Let's consider what principles the classical structure of the von Neumann machine is based on, in more detail:
1. Switching to binary from decimal
This principle of the Neumann architecture allows the use of fairly simple logical devices.
2. Software control of an electronic computer
Computer operation is controlled by a set of commands executed sequentially one after another. The development of the first machine with a program stored in memory marked the beginning of modern programming.
3. Data and programs are stored together in the computer's memory
At the same time, both the data and the program commands have the same way of writing in the binary system, so in certain situations it is possible to perform the same actions on them as on the data.

Consequences
In addition, the architecture of the Fonnemann machine has the following features:
1. Memory cells have addresses that are numbered consecutively
Through applicationThis principle made it possible to use variables in programming. In particular, at any time you can refer to a particular memory cell by its address.
2. Ability to conditionally branch during program execution
As already mentioned, commands in programs must be executed sequentially. However, it is possible to jump to any part of the code.

How the von Neumann machine works
Such a mathematical model consists of a memory (memory), an arithmetic logic unit (ALU), a control unit, as well as input and output devices. All program commands are recorded in memory cells located in the neighborhood, and the data for their processing - in arbitrary cells.
Any team must consist of:
- indicating which operation is to be performed;
- addresses of memory cells that store the original data affected by the specified operation;
- addresses of cells where the result should be written.
The operations indicated by the commands on specific initial data are performed by the ALU, and the results are recorded in memory cells, i.e. they are stored in a form convenient for subsequent machine processing, or transferred to an output device (monitor, printer, etc.) and become available to a person.
CU controls all parts of the computer. From it, other devices receive order signals “what to do”, and from other devices it receives information about the state they are in.
At the control devicethere is a special register called the "instruction counter" SC. After loading the initial data and the program into memory, the SC writes the address of its 1st command. The CU reads from the computer memory the contents of the cell, the address of which is in the SC, and places it in the "Register of commands". The control device determines the operation corresponding to a particular command, and "marks" the data in the computer's memory, the addresses of which are indicated in it. Next, the ALU or computer hardware proceeds to perform the operation, after which the content of the SC changes by one, i.e. points to the next command.

Criticism
The shortcomings and current prospects of von Neumann architecture continue to be the subject of debate. The fact that machines based on the principles put forward by this eminent scientist are not perfect has been noticed for a very long time.
Therefore, in computer science exam papers, you can often find the question "what principle does the von Neumann architecture do not comply with and what disadvantages does it have."
When answering its second part, be sure to indicate:
- for the presence of a semantic gap between high-level programming languages and the command system;
- on the problem of matching RAM and processor bandwidth;
- for the emerging software crisis caused by the fact that the cost of its creation is much lower than the cost of developing hardware, and there is no possibility of full testing of the program;
- lack of prospectsin terms of performance, as its theoretical limit has already been reached.
As to which principle the von Neumann architecture does not correspond to, we are talking about the parallel organization of a large number of data flows and commands, which is characteristic of a multiprocessor architecture.

Conclusion
Now you know which principle von Neumann architecture does not follow. Obviously, science and technology do not stand still, and, perhaps, very soon, a completely new type of computer will appear in every home, thanks to which humanity will reach a new level of its development. By the way, the Von Neumann Architecture simulator will help you prepare for the exam. These digital educational resources make learning easier and give you the opportunity to evaluate your knowledge.