Von Neumann's principles for constructing an electronic computer. Von Neumann architecture: the history of the term The principles of von Neumann

What achievements in computer science John von Neumann made in the twentieth century, you will learn from this article.

Before talking about his achievements in computer science, it is worth talking about the scientist’s first steps on the path of science. His first work, “Towards the Introduction of Transfinite Ordinal Numbers,” was published in 1923 at the University of Szeged, where he studied. In his doctoral dissertation he developed a system of axioms. In 1925, Neumann defended his dissertation on the topic “Axiomatic construction of set theory” at the University of Budapest and received a diploma in chemical engineering from the University of Zurich. In 1927 he became a privatdozent at the University of Berlin, and two years later at the University of Hamburg. In 1931 he received a professorship at Princeton University.

John von Neumann achievements in computer science

In 1943 - 1946, the first computer (electro-computer) was built, which was named ENIAC. John von Neumann suggested to its developers how to simplify the programming of the machine by modifying it. A in the creation of the second EDVAC machine - he already took an active part in the development of an electronic automatic computer with discrete variables. He was responsible for the development of a detailed logical diagram of the machine, in which idealized computational elements were structural units. These idealized elements became a step forward in computer science, as they made it possible to separate the logical circuit from its technical implementation.

John von Neumann proposed using an electrostatic memory system instead of a delay line as memory elements. The newly created machine was named JONIAC, in honor of Neumann.

The author’s scientific works are “On the foundations of quantum mechanics”, “Mathematical justification of quantum mechanics”, “Theoretical and probabilistic construction of quantum mechanics”, “Thermodynamics of quantum mechanical systems”, “Towards the Hilbert theory of proof”, “Towards the theory of strategic games”, “On the definition through transfinite induction and related issues of general set theory”, “On one problem of consistency of axiomatic set theory”.

Besides the fact that he participated in the creation of a computer, the scientist was the first to formulate the principles of computer operation. Principles formulated by John von Neumann:

  • The principle of a binary system for calculating commands and data.
  • The principle of program control. A program is a set of commands executed by the processor in a certain sequence.
  • The principle of memory homogeneity. All data is stored and encoded in one memory.
  • The principle of memory addressability. Memory consists of numbered cells, and the processor has random access to any of them.
  • The principle of sequential program control. Commands stored in memory are executed one at a time after the previous command has completed.
  • The principle of conditional transition. It was formulated

· usage binary system to represent numbers. Von Neumann's work demonstrated the advantages of the binary system for technical implementation, the convenience of performing arithmetic and logical operations. Later they began to process non-numeric types of information: text, graphic, sound, etc. Binary coding is the basis of a modern computer.

· stored program principles. A program written using binary codes must be stored in the same memory as the data being processed.

· principle of targeting. Commands and data are moved to memory locations that are accessed by address. The address of a cell is its number; the location of information in RAM is also encoded in the form of binary systems.

In a computer, according to the von Neumann principle, instructions are sequentially read from memory and executed. The number (address) of the next memory cell from which the program command is extracted is generated and stored in a special program counter device.

In accordance with von Neumann's principles, a computer must contain the following devices:

· An arithmetic logic unit (ALU) is designed to process encoded information and can perform arithmetic and logical operations:;

· The control device (CU) organizes the execution of programs;

· Memory or storage device (memory) - storage of programs and data. Computer memory consists of a number of numbered cells. Each of them may contain processed data or program instructions;

· External devices for input and output of information, provide direct and feedback.

Let's consider the composition and purpose of the main PC blocks (Fig. 2).

Rice. 2. Block diagram of a personal computer

Microprocessor (MP). This is the central unit of the PC, designed to control the operation of all blocks of the machine and to perform arithmetic and logical operations on information.

The microprocessor includes:

§ control device(CU) – generates and supplies to all blocks of the machine at the right times certain control signals (control pulses), determined by the specifics of the operation being performed and the results of previous operations; generates addresses of memory cells used by the operation being performed and transmits these addresses to the corresponding computer blocks; the control device receives a reference sequence of pulses from the clock pulse generator;

§ arithmetic logic unit(ALU) – designed to perform all arithmetic and logical operations on numerical and symbolic information (in some PC models, an additional mathematical coprocessor);

§ microprocessor memory(MPP) – serves for short-term storage, recording and output of information directly used in calculations in the next cycles of machine operation. MPP is built on registers and is used to ensure high speed of the machine, because the main memory (RAM) does not always provide the speed of writing, searching and reading information necessary for the efficient operation of a high-speed microprocessor. Registers– high-speed memory cells of various lengths (in contrast to OP cells, which have a standard length of 1 byte and lower speed);

§ microprocessor interface system– implements pairing and communication with other PC devices; includes an internal MP interface, buffer storage registers and control circuits for input/output ports (I/O) and the system bus. Interface(interface) – a set of means for pairing and communicating computer devices, ensuring their effective interaction. I/O port(I/O – Input/Output port) – interface equipment that allows you to connect another PC device to the microprocessor.

Clock generator. It generates a sequence of electrical impulses; the frequency of the generated pulses determines the clock frequency of the machine.

The time interval between adjacent pulses determines the time of one cycle of machine operation or simply machine operation cycle.

The frequency of the clock pulse generator is one of the main characteristics of a personal computer and largely determines the speed of its operation, because each operation in the machine is performed in a certain number of clock cycles.

System bus. This is the main interface system of a computer, ensuring the pairing and communication of all its devices with each other.

The system bus includes:

§ code data bus(KSD), containing wires and interfacing circuits for parallel transmission of all bits of the numeric code (machine word) of the operand;

§ address code bus(KSA), including wires and interface circuits for parallel transmission of all bits of the address code of a main memory cell or an input/output port of an external device;

§ instruction code bus(KShI), containing wires and interface circuits for transmitting instructions (control signals, pulses) to all blocks of the machine;

§ power bus, having wires and interface circuits for connecting PC units to the power supply system.

The system bus provides three directions of information transfer:

1) between the microprocessor and main memory;

2) between the microprocessor and the input/output ports of external devices;

3) between the main memory and the I/O ports of external devices (in direct memory access mode).

All blocks, or rather their I/O ports, are connected to the bus in the same way through the corresponding unified connectors (joints): directly or through controllers (adapters). The system bus is controlled by the microprocessor either directly or, more often, through an additional chip - bus controller, generating the main control signals. Information exchange between external devices and the system bus is carried out using ASCII codes.

Main memory (RAM). It is designed for storing and promptly exchanging information with other units of the machine. The OP contains two types of storage devices: read only memory (ROM) and random access memory (RAM).

ROM serves to store unchangeable (permanent) program and reference information; it allows you to quickly only read the information stored in it (the information in the ROM cannot be changed).

RAM designed for online recording, storage and reading of information (programs and data) directly involved in the information and computing process performed by a PC in the current period of time. The main advantages of RAM are its high performance and the ability to access each memory cell separately (direct address access to the cell). As a disadvantage of RAM, it should be noted that it is impossible to save information in it after turning off the machine's power (volatility dependence).

External memory. It refers to external devices of the PC and is used for long-term storage of any information that may ever be required to solve problems. In particular, all computer software is stored in external memory. External memory contains various types of storage devices, but the most common, available on almost any computer, are hard disk drives (HDD) and floppy disk drives (FLMD).

The purpose of these drives is to store large amounts of information, record and release stored information upon request into a random access memory device. Hard disk drives and flat disk drives differ only in design, the volume of stored information and the time it takes to search, record and read information.

Storage devices on cassette magnetic tape (streamers), optical disk drives (CD-ROM - Compact Disk Read Only Memory - CD with read-only memory), etc. are also used as external memory devices. (cm. subsection 4.4).

Power supply. This is a block containing autonomous and network power supply systems for a PC.

Timer. This is an in-machine electronic clock that provides, if necessary, automatic recording of the current moment in time (year, month, hours, minutes, seconds and fractions of seconds). The timer is connected to an autonomous power source - a battery and continues to work when the machine is disconnected from the network.

External devices (ED). This is the most important component of any computing complex. Suffice it to say that in terms of cost, VAs sometimes account for 50 - 80% of the entire PC. The possibility and effectiveness of using PCs in control systems and in the national economy as a whole largely depends on the composition and characteristics of the computer.

PC computers ensure the interaction of the machine with the environment: users, control objects and other computers. VEs are very diverse and can be classified according to a number of characteristics. Thus, according to their intended purpose, the following types of devices can be distinguished:

§ external storage devices (VSD) or external PC memory;

§ user dialog tools;

§ information input devices;

§ information output devices;

§ means of communication and telecommunications.

Dialogue tools user devices include video monitors (displays), less often remote control typewriters (printers with keyboards) and speech input/output devices.

Video monitor (display)– a device for displaying information input and output from a PC (cm. subsection 4.5).

Voice input/output devices belong to the fast-growing media. Speech input devices are various microphone acoustic systems, “sound mice”, for example, with complex software that allows them to recognize letters and words spoken by a person, identify them and encode them.

Speech output devices are various sound synthesizers that convert digital codes into letters and words that are reproduced through loudspeakers (speakers) or speakers connected to a computer.

TO input devices relate:

§ keyboard– a device for manually entering numeric, text and control information into a PC (cm. subsection 4.5);

§ graphics tablets (digitizers)– for manually entering graphic information and images by moving a special pointer (pen) across the tablet; when you move the pen, the coordinates of its location are automatically read and these coordinates are entered into the PC;

§ scanners(reading machines) – for automatic reading from paper media and entering typewritten texts, graphs, pictures, drawings into a PC; in the scanner encoding device in text mode, the read characters, after comparison with reference contours by special programs, are converted into ASCII codes, and in the graphic mode, the read graphs and drawings are converted into sequences of two-dimensional coordinates (cm. subsection 4.5);

§ manipulators(pointing devices): joystick- lever arm , mouse, trackball - ball in a frame, light pen etc. – to enter graphic information on the display screen by controlling the movement of the cursor across the screen, followed by encoding the cursor coordinates and entering them into the PC;

§ touch screens– for entering individual image elements, programs or commands from a split-screen display into a PC.

TO information output devices relate:

§ printers– printing devices for recording information on paper (cm. subsection 4.5);

§ plotters (plotters)– to output graphic information (graphs, drawings, drawings) from a PC onto paper; There are vector plotters with drawing images using a pen and raster plotters: thermographic, electrostatic, inkjet and laser. By design, plotters are divided into flatbed and drum plotters. The main characteristics of all plotters are approximately the same: plotting speed – 100 - 1000 mm/s, the best models have color images and halftone transmission; Laser plotters have the highest resolution and image clarity, but they are the most expensive.

Devices communications and telecommunications are used for communication with devices and other automation equipment (interface adapters, adapters, digital-to-analog and analog-to-digital converters, etc.) and for connecting PCs to communication channels, to other computers and computer networks (network interface cards, "joints" ", data transmission multiplexers, modems).

In particular, shown in Fig. 4.2 network adapter is an external interface of a PC and serves to connect it to a communication channel for exchanging information with other computers, for working as part of a computer network. In global networks, the functions of a network adapter are performed by a modulator-demodulator (modem, cm. Ch. 7).

Many of the devices mentioned above belong to a conditionally selected group - multimedia.

Multimedia(multimedia - multimedia) is a set of hardware and software that allows a person to communicate with a computer using a variety of natural media: sound, video, graphics, texts, animation, etc.

Multimedia means include speech input and output devices; scanners that are already widespread (since they allow printed texts and drawings to be automatically entered into a computer); high-quality video (video-) and sound (sound-) cards, video capture cards (videograbber), which capture images from a VCR or video camera and enter it into a PC; high-quality acoustic and video reproduction systems with amplifiers, sound speakers, large video screens. But, perhaps, with even greater reason, multimedia includes external high-capacity storage devices on optical disks, often used for recording audio and video information.

CDs are widely used, for example, in the study of foreign languages, traffic rules, accounting, legislation in general and tax legislation in particular. And all this is accompanied by texts and drawings, speech information and animation, music and video. In a purely domestic aspect, CDs can be used to store audio and video recordings, i.e. use instead of player audio cassettes and video cassettes. It is worth mentioning, of course, the large number of computer game programs stored on CDs.

Thus, CD-ROM provides access to huge volumes of information recorded on CDs that are diverse both in terms of functionality and playback environment.

Additional schemes. To the system bus and to the PC MP along with typical external devices can be connected and some additional boards with integrated circuits that expand and improve the functionality of the microprocessor: mathematical coprocessor, direct memory access controller, input/output coprocessor, interrupt controller, etc.

Math coprocessor widely used for accelerated execution of operations on binary floating-point numbers, on binary-coded decimal numbers, and for calculating some transcendental, including trigonometric, functions. The mathematical coprocessor has its own command system and works in parallel (in time) with the main MP, but under the control of the latter. Operations are accelerated tenfold. The latest MP models, starting with the MP 80486 DX, include a coprocessor in their structure.

Direct Memory Access Controller frees the MP from direct control of magnetic disk drives, which significantly increases the effective performance of the PC. Without this controller, data exchange between the VSD and RAM is carried out through the MP register, and if it is present, data is directly transferred between the VSD and RAM, bypassing the MP.

I/O coprocessor due to parallel operation with the MP, it significantly speeds up the execution of I/O procedures when servicing several external devices (display, printer, HDD, HDD, etc.); frees the MP from processing I/O procedures, including implementing the direct memory access mode.

The interrupt controller plays a vital role in a PC.

Interrupt– temporary stop of the execution of one program for the purpose of prompt execution of another, currently more important (priority) program

Interruptions occur constantly when the computer is running. Suffice it to say that all information input/output procedures are performed using interrupts, for example, timer interrupts occur and are serviced by the interrupt controller 18 times per second (naturally, the user does not notice them).

Interrupt controller serves interrupt procedures, receives an interrupt request from external devices, determines the priority level of this request and issues an interrupt signal to the MP. The MP, having received this signal, suspends the execution of the current program and proceeds to execute a special program for servicing the interrupt that the external device requested. After completion of the maintenance program, the interrupted program is resumed. The interrupt controller is programmable.

Computer architecture and von Neumann principles

The term "architecture" is used to describe the principle of operation, configuration and interconnection of the main logical nodes of a computer. Architecture is a multi-level hierarchy of hardware and software from which a computer is built.

The foundations of the doctrine of computer architecture were laid by the outstanding American mathematician John von Neumann. The first Eniak computer was created in the USA in 1946. The group of creators included von Neumann, who suggested basic principles of computer construction: transition to the binary number system for representing information and the principle of a stored program.

It was proposed to place the calculation program in the computer's storage device, which would ensure automatic execution of commands and, as a consequence, increase the speed of the computer. (Recall that previously all computers stored processed numbers in decimal form, and programs were specified by installing jumpers on a special patch panel.) Neumann was the first to guess that a program could also be stored as a set of zeros and ones, and in the same memory as and the numbers it processes.

Basic principles of computer construction:

1. Any computer consists of three main components: processor, memory and device. input-output (I/O).

2. The information with which the computer works is divided into two types:

    a set of processing commands (programs); data to be processed.

3. Both commands and data are entered into memory (RAM) – stored program principle .

4. The processing is controlled by the processor, whose control unit (CU) selects commands from RAM and organizes their execution, and the arithmetic-logical unit (ALU) performs arithmetic and logical operations on the data.


5. Input/output devices (I/O) are connected to the processor and RAM.

Von Neumann not only put forward the fundamental principles of the logical structure of computers, but also proposed a structure that was reproduced during the first two generations of computers.

External storage device (ESD)

Rice. 1. Computer architecture End of form,

Random Access Memory (RAM)

built on the principles

von Neumann

- direction of information flows; - direction of control signals from the processor to other computer nodes

The fundamentals of the architecture of computing devices developed by von Neumann turned out to be so fundamental that they received the name “von Neumann architecture” in the literature. The vast majority of VMs today are von Neumann machines.

The emergence of the third generation of computers was due to the transition from transistors to integrated circuits, which led to an increase in processor speed. Now the processor was forced to idle, waiting for information from slower input/output devices, and this reduced the efficiency of the entire computer as a whole. To solve this problem, special circuits were created to control the operation of external devices, or simply controllers.

The architecture of modern personal computers is based on backbone-modular principle. Information communication between computer devices is carried out through system bus(another name is system highway).

A bus is a cable consisting of many conductors. One group of conductors - data bus processed information is transmitted, on the other - address bus- addresses of memory or external devices accessed by the processor. The third part of the highway - control bus, control signals are transmitted through it (for example, a signal that the device is ready for operation, a signal to start operation of the device, etc.).

How does the system bus work? We have already said that one and zero bits exist only in the heads of programmers. For a processor, only the voltages at its contacts are real. Each pin corresponds to one bit, and the processor only needs to distinguish between two voltage levels: yes/no, high/low. Therefore, the address for a processor is a sequence of voltages on special contacts called the address bus. You can imagine that after voltages are set on the contacts of the address bus, voltages appear on the contacts of the data bus, encoding the number stored at the specified address. This picture is very rough because it takes time to retrieve data from memory. To avoid confusion, the operation of the processor is controlled by a special clock generator. It produces pulses that divide the processor's work into separate steps. The unit of processor time is one clock cycle, that is, the interval between two pulses of the clock generator.

The voltages appearing on the processor address bus are called the physical address. In real mode, the processor works only with physical addresses. On the contrary, the processor’s protected mode is interesting because the program works with logical addresses, and the processor invisibly converts them into physical ones. The Windows system uses protected mode for the processor. Modern operating systems and programs require so much memory that the protected mode of the processor has become much more “real” than its real mode.

The system bus is characterized clock frequency and bit depth. The number of bits simultaneously transmitted on the bus is called bus width. Clock frequency characterizes the number of elementary data transfer operations per second. The bus width is measured in bits, the clock frequency is measured in megahertz.


Any information transmitted from the processor to other devices via the data bus is accompanied by address transmitted over the address bus. This can be the address of a memory cell or the address of a peripheral device. It is necessary that the bus width allows the address of the memory cell to be transmitted. Thus, in words, the bus width limits the amount of computer RAM; it cannot be greater than , where n is the bus width. It is important that the performance of all devices connected to the bus is consistent. It is not wise to have a fast processor and slow memory, or a fast processor and memory, but a slow hard drive.

Rice. 2. Diagram of a computer built on the backbone principle

In modern computers it is implemented open architecture principle, allowing the user to assemble the computer configuration he needs and, if necessary, upgrade it.

Configuration A computer refers to the actual collection of computer components that make up a computer. The principle of open architecture allows you to change the composition of computer devices. Additional peripheral devices can be connected to the information highway, and some device models can be replaced by others.

The hardware connection of a peripheral device to the backbone at the physical level is carried out through a special block - controller(other names - adapter, board, card). There are special connectors for installing controllers on the motherboard - slots.

Software control of the operation of a peripheral device is carried out through the program - driver, which is a component of the operating system. Since there is a huge variety of devices that can be installed on a computer, each device usually comes with a driver that interacts directly with this device.

The computer communicates with external devices through ports– special connectors on the back panel of the computer. Distinguish sequential And parallel ports. Serial (COM – ports) are used to connect manipulators, a modem and transmit small amounts of information over long distances. Parallel (LPT - ports) are used to connect printers, scanners and transmit large amounts of information over short distances. Recently, universal serial ports (USB) have become widespread, to which you can connect various devices.

At the everyday level, most people strongly associate the term “architecture” with various buildings and other engineering structures. So, we can talk about the architecture of a Gothic cathedral, the Eiffel Tower or an opera house. In other areas, this term is used quite rarely, but for computers the concept of “computer architecture” (electronic computer) has already been firmly established and has been widely used since the 70s of the last century. In order to understand how programs and scripts are executed on a computer, you must first know how each of its components works. The foundations of the doctrine of computer architecture, which are discussed in the lesson, were laid by John von Neumann. You can learn more about logical nodes, as well as the backbone-modular principle of the architecture of modern personal computers in this lesson.

The principles underlying computer architecture were formulated in 1945 by John von Neumann, who developed the ideas of Charles Babbage, who represented the operation of a computer as the operation of a set of devices: processing, control, memory, input-output.

Von Neumann's principles.

1. The principle of memory homogeneity. You can perform the same actions on commands as on data.

2. The principle of memory addressability. Main memory is structurally composed of numbered cells; Any cell is available to the processor at any time. This implies the ability to name memory areas so that the values ​​stored in them can later be accessed or changed during program execution using the assigned names.

3. The principle of sequential program control. It assumes that a program consists of a set of commands that are executed by the processor automatically one after another in a certain sequence.

4. The principle of architectural rigidity. Immutability of the topology, architecture, and list of commands during operation.

Computers built on von Neumann principles have a classical architecture, but besides it, there are other types of architecture. For example, Harvard. Its distinctive features are:

  • instruction store and data store are different physical devices;
  • The instruction channel and data channel are also physically separated.

In the history of the development of computing technology, a qualitative leap occurred approximately every 10 years. This leap is associated with the advent of a new generation of computers. The idea of ​​dividing machines appeared due to the fact that during the short history of its development, computer technology has undergone a great evolution both in terms of the elemental base (lamps, transistors, microcircuits, etc.), and in the sense of changes in its structure, the emergence of new opportunities, and expansion of areas application and nature of use. More details stages of computer development shown in Fig. 2. In order to understand how and why one generation was replaced by another, it is necessary to know the meaning of such concepts as memory, speed, degree of integration, etc.

Rice. 2. Computer generations ()

Among computers that are not classical, not von Neumann architecture, we can distinguish the so-called neurocomputers. They simulate the work of human brain cells, neurons, as well as some parts of the nervous system capable of exchanging signals.

Each logical node of the computer performs its own functions. Functions processor(Fig. 3):

- data processing (performing arithmetic and logical operations on them);

- control of all other computer devices.

Rice. 3. Computer central processing unit ()

The program consists of separate commands. The command includes an operation code, the addresses of the operands (the quantities that participate in the operation) and the address of the result.

Execution of the command is divided into the following stages:

· team selection;

  • generating the address of the next command;
  • command decoding;
  • calculating operand addresses;
  • operand selection;
  • execution of the operation;
  • formation of a result sign;
  • recording the result.

Not all of the stages are present when executing any instruction (depending on the type of instruction), but the stages of fetching, decoding, generating the address of the next instruction, and executing the operation always take place. In certain situations, two more steps are possible:

  • indirect addressing;
  • response to interruption.

RAM(Fig. 4) is arranged as follows:

  • receiving information from other devices;
  • remembering information;
  • transfer of information on request to other computer devices.

Rice. 4. RAM (Random Access Memory) of the computer ()

The architecture of modern computers is based on backbone-modular principle(Fig. 5). The modular principle allows you to complete the desired configuration and make the necessary upgrades. It relies on the bus principle of information exchange between modules. The system bus or computer bus includes several buses for various purposes. The backbone includes three multi-bit buses:

  • data bus;
  • address bus;
  • control bus.

Rice. 5. Backbone-modular principle of PC construction

The data bus is used to transfer various data between computer devices; the address bus is used to address the transferred data, that is, to determine its location in memory or in input/output devices; The control bus includes control signals that serve to temporarily coordinate the operation of various computer devices, to determine the direction of data transfer, to determine the formats of transferred data, etc.

This principle is valid for various computers, which can be divided into three groups:

  • stationary;
  • compact (laptops, netbooks, etc.);
  • pocket (smartphones, etc.).

The system unit of a desktop computer or a compact case contains the main logical units - a motherboard with a processor, a power supply, external memory drives, etc.

Bibliography

1. Bosova L.L. Computer Science and ICT: Textbook for 8th grade. - M.: BINOM. Knowledge Laboratory, 2012.

2. Bosova L.L. Computer Science: Workbook for 8th grade. - M.: BINOM. Knowledge Laboratory, 2010.

3. Astafieva N.E., Rakitina E.A., Computer science in schemes. - M.: BINOM. Knowledge Laboratory, 2010.

4. Tannenbaum E. Computer architecture. - 5th ed. - St. Petersburg: Peter, 2007. - 844 p.

1. Internet portal “All Tips” ()

2. Internet portal “Electronic encyclopedia “Computer”” ()

3. Internet portal “apparatnoe.narod.ru” ()

Homework

1. Chapter 2, §2.1, 2.2. Bosova L.L. Computer Science and ICT: Textbook for 8th grade. - M.: BINOM. Knowledge Laboratory, 2012.

2. What does the abbreviation COMPUTER stand for?

3. What does the term “Computer Architecture” mean?

4. Who formulated the basic principles underlying computer architecture?

5. What is the architecture of modern computers based on?

6. Name the main functions of the central processor and RAM of a PC.

In every field of science and technology there are some fundamental ideas or principles that determine its content and development. In computer science, the role of such fundamental ideas was played by principles formulated independently of each other - by the American mathematician and physicist John von Neumann (1903-1957) and the Soviet scientist Sergei Lebedev (1902-1974). These principles define the basic organization of a computer.

It is believed that the first electronic computer, ENIAC, was manufactured in the USA in 1946. ENIAC consisted of 18,000 vacuum tubes and 1,500 relays and weighed 30 tons. It had 20 registers, each of which could hold a 10-bit decimal number. A brilliant analysis of the strengths and weaknesses of the ENIAC design was given in the Princeton Institute for Advanced Study report "Preliminary Discussion of the Logical Design of an Electronic Computing Device" (June 1946). This report, compiled by the outstanding American mathematician John von Neumann and his colleagues at the Princeton Institute G. Goldstein and A. Burks, presented a project for a new electronic computer. The ideas expressed in this report are known as the Neumann Principles.

Speaking about the founders of theoretical computer science, one cannot fail to mention two scientific achievements: the algebra of logic and the theory of algorithms. Logical algebra was developed in the mid-19th century by the English mathematician George Boole and was considered by him as a method of mathematizing formal logic. The development of electronic computers based on on-off electronic elements made possible the widespread use of "Boolean logic" for the design of computer circuits. In the first half of the 30s of the 20th century, mathematical works appeared in which the fundamental possibility of solving any problem that can be processed algorithmically using automata was proven. This proof was contained in the works of the English mathematician E. Post published in 1936. (George Boole (1815-1864), Alan Turing (1912-1954)).

In the Soviet Union, work on creating electronic computers began a little later. The first Soviet electronic computer was manufactured in Kyiv in 1953. It was called MESM (small electronic computer), and its chief designer was academician Sergei Lebedev, the author of designs for computers of the BESM (large electronic computer) series. In the MESM project, Sergei Lebedev, independently of Neumann, came to the same ideas for designing electronic computers as Neumann.

The essence of the “Neumann Principles” was as follows:

1. The computer includes an interconnected Processor (arithmetic unit and control device), Memory and I/O Device.

2.Computers based on electronic elements must operate in the binary number system rather than decimal.

3. The program, as well as the numbers with which the computer operates, are written in binary code, that is, in the form of representation of the command and the numbers are of the same type.

4. The program must be located in one of the computer blocks - in a storage device that has random access. The program and data can reside in shared memory (Princeton architecture).

5. The difficulties of the physical implementation of a high-speed, non-volatile and large memory storage device require a hierarchical organization of memory. The program is executed from main memory and stored in non-volatile secondary memory (magnetic disks). A file is an identification set of instances of a data type that is fully described in a specific program, located outside the program in external memory and accessible to the program through special operations.

6. The arithmetic-logical unit (ALU) of a computer is constructed on the basis of circuits that perform addition, shift, and logical operations. In addition to the result of the operation, the ALU generates a number of result attributes (flags) that can be analyzed when executing a conditional control transfer command.

mob_info