Basic principles of von Neumann architecture. John von neumann's principles. generation of computers. John von Neumann's principles

At the everyday level, the term "architecture" is strongly associated with most of the people with various buildings and other engineering structures. So, we can talk about the architecture of the Gothic cathedral, the Eiffel Tower or the 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 widely used since the 70s of the last century. In order to understand how programs and scripts are executed on a computer, you first need to know how each of its components works. The foundations of the doctrine of the architecture of computers, which are discussed in the lesson, were laid by John von Neumann. More details about logical nodes, as well as about the backbone-modular principle of the architecture of modern personal computers, can be learned 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 work of a computer as the work of a set of devices: processing, control, memory, input-output.

Von Neumann principles.

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

2. The principle of memory addressability. The main memory is structurally composed of numbered cells; any cell is available to the processor at any time. Hence, it is possible to give names to memory areas so that the values ​​stored in them can be subsequently accessed or changed during program execution using the assigned names.

3. The principle of sequential program control. Assumes that the program consists of a set of instructions that are executed by the processor automatically one after the other in a specific sequence.

4. The principle of rigidity of architecture. Immutability in the process of work topology, architecture, list of commands.

Computers built on the principles of von Neumann have classical architecture, but other types of architecture exist. For example, Harvard. Its distinctive features are:

  • the instruction store and the data store are different physical devices;
  • the instruction channel and the data channel are also physically separate.

In the history of the development of computer technology, a qualitative leap occurred approximately every 10 years. Such a leap is associated with the emergence 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 element base (lamps, transistors, microcircuits, etc.), and in the sense of changing its structure, the emergence of new opportunities, the expansion of areas application and nature of use. More details all stages of computer development are 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 of non-classical, non-von Neumann architecture, one can single out 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 individual commands. The instruction includes an operation code, addresses of operands (values ​​that are involved in the operation) and an address of the result.

The command execution is divided into the following stages:

· team sampling;

  • formation of the address of the next command;
  • decoding the command;
  • calculating the addresses of the operands;
  • fetching operands;
  • execution of the operation;
  • the formation of a sign of the result;
  • recording the result.

Not all of the stages are present during the execution of any command (depending on the type of command), however, the stages of fetching, decoding, generating the address of the next command 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;
  • memorization of information;
  • transfer of information on demand to other computer devices.

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

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

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

Rice. 5. Trunk-modular principle of building a PC

The data bus is used to transfer various data between computer devices; the address bus is used to address the data being sent, that is, to determine their 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 transmission, to determine the formats of the transmitted data, etc.

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

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

The main logical nodes are located in the system unit of a stationary computer or in a compact case - these are a motherboard with a processor, a power supply, external memory drives, etc.

Bibliography

1. Bosova L.L. Informatics and ICT: Textbook for Grade 8. - M .: BINOM. Knowledge laboratory, 2012.

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

3. Astafieva NE, Rakitina EA, Informatics in schemes. - M .: BINOM. Knowledge Laboratory, 2010.

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

1. Internet portal "All advice" ()

2. Internet portal "Electronic encyclopedia" Computer "" ()

3. Internet portal "apparatnoe.narod.ru" ()

Homework

1. Chapter 2, §2.1, 2.2. Bosova L.L. Informatics and ICT: Textbook for Grade 8. - M .: BINOM. Knowledge laboratory, 2012.

2. How does the computer abbreviation stand for?

3. What does the term "computer architecture" mean?

4. Who formulated the basic principles underlying the computer architecture?

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

6. What are the main functions of the central processor and PC RAM.

Also known as the von Neumann model, or Princeton architecture, it is based on a technique described in 1945 by mathematician and physicist John von Neumann in his First Project report on the EDVAC computing machine.

Architecture diagram

The von Neumann talk described an architecture diagram for an electronic digital computer with parts consisting of processing units, which contains:

  • arithmetic logic unit;
  • register processor;
  • 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 idea behind the development was that any information stored on the computer could be used by a program in which the selected operation data cannot be reproduced simultaneously, because they share a common bus. This is mentioned in "The First Project", which describes the scientist's thoughts about what architecture should be like. Von Neumann called this a "bottleneck" that often limits system performance.

A digital computer is a computer that stores a program that contains program instructions, data for reading, writing, and also includes random access memory (RAM). The principles of architecture by John von Neumann are also outlined in his work "The First Project". According to him, computers with a program stored in memory were an improvement over the control of computers such as the ENIAC. The latter was programmed by setting switches and pasting a patch resulting in routing of data and control signals between the various function blocks. The vast majority of modern computers use memory in this way as well. At the same time, von Neumann differs, for example, from Harvard, in that it uses not the main, but cache memory.

Background

The first had given 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 fixed program computer. It can work with the basics of math, but it cannot be used like a game console. Changing a fixed program of a machine requires rewiring, restructuring or reorganizing the machine. The earliest computers were not as narrowly focused as they were first developed for scientific purposes. Reprogramming came much later, and it was a laborious process, from flowcharts and paper notes to detailed technical projects. Particularly difficult was the process of physically upgrading the recovery channels of the vehicle. It can take three weeks to install the program on ENIAC and try to get it to work.

New idea

With the introduction of a computer that stores programs in memory, everything changed. Stored in memory, they are an instruction set construct. This means that the machine can immediately receive a set of instructions to perform calculations.

The design of such programs is 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 handcrafted in early designs. This became less important when index registers and indirect addressing became common features in the John von Neumann mainframe architecture of the machine. Another use is to insert frequently used data in the command stream with an immediate solution. But self-modifying code has received a lot of criticism because it tends to be difficult to understand and debug. In addition, it also proved to be ineffective in terms of replaying and caching circuitry of modern processors.

Generally speaking, the ability to treat instructions as data is what assemblers, compilers, assemblers, loaders, and other tools do with possible CAM objects. That is to say, write programs that write programs. On a smaller scale, repetitive I / O intensive operations such as BitBlt manipulation of primitive or pixel and vertex shaders in modern 3D graphics have been found to be ineffective without custom hardware.

Developing the concept of a program stored in memory

The mathematician who took an interest in the problem of mathematical logic after Max Newman's lecture at the University of Cambridge wrote an article in 1936 that was published in the London Mathematical Society. In it, he described a hypothetical machine, which he called "the universal computing machine," and which is now known as the universal Turing machine. It had an endless storage (in modern terminology - memory), which contained both instructions and data, for which this architecture was created. Von Neumann became acquainted with Turing while he was visiting professor at Cambridge in 1935, and while defending Turing's doctoral dissertation at the Institute for Advanced Study in Princeton, New Jersey in 1936-1937.

Independently of each other, Gee Presper Eckert and John Mauchly, who developed ENIAC at the School of Electrical Engineering at Pennsylvania State University, wrote about the concept of a memory machine in December 1943. While planning a new machine, EDVAC, Eckert wrote in January 1944 that it would store data and programs in a new memory addressable device using a mercury metal delay. This was the first time it was proposed to build in practice a machine that stores a program in memory. At the same time, he and Mauchly were unaware of Turing's work (photo below).

Computer architecture: the von Neumann principle

Von Neumann was involved in the Manhattan Project at Los Alamos National Laboratory, which required an enormous amount of computation. This attracted him to the ENIAC project in the summer of 1944. There he entered into discussions on the development of the EDVAC computer. As part of this group, he wrote a paper entitled "First Draft Report on EDVAC", based on the work of Eckert and Mauchly. It was incomplete when his colleague Goldstein circulated the project under the name of von Neumann (by the way, Eckert and Mauchly were dumbfounded by this news). This document was read by dozens of von Neumann's colleagues in America and Europe and had a major impact on the next phase of computer development.

The basic principles of von Neumann's architecture, outlined in The First Project, were gaining widespread publicity, while Turing covered his talk on the electronic calculator, which was detailed in engineering and programming. It also presented the author's idea of ​​a machine called the Automatic Computing Engine (ACE). He presented it to the executive committee of the British National Physical Laboratory in 1946. After some time, various successful implementations of the ACE design were even produced.

Start of projects

Both the von Neumann project and the Turing documents described computers storing a specific program in memory, but von Neumann's paper achieved greater circulation in society, and computer architecture became known as John von Neumann's architecture.

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

Maniacs and Joniacs

In 1947, Berks, Goldstein, and von Neumann published another paper that highlighted the design of another type of machine (this time parallel), which was to be extremely fast, capable of possibly up to 20,000 operations per second. They noted that the unresolved issue in building it was designing a suitable memory, all of which should be instantly accessible. They first suggested using a special vacuum tube called the Selectron, which was invented at the Princeton Laboratory. These pipes were expensive and very difficult to make, especially if the architecture was used. Von Neumann subsequently decided to build a machine based on the Williams memory. This machine, which was completed in June 1952 at Princeton, became widely known by MANIAC (or simply Maniacs). Its design inspired the design of half a dozen or more similar devices that are now being built in America and are comically called Johniacs.

Principles of creation

One of the most modern digital computers, embodying developments and improvements in the technique of automatic electronic computing, was demonstrated at the National Physics Laboratory in Teddington, where it was designed and built by a small group of mathematicians, electronics and research engineers, with the assistance of a number of production engineers from the English Electric Company Ltd. The equipment is still in the laboratory, but only as a prototype of a much larger unit known as the Automatic Computing Engine. But despite its relatively low weight and containing only 800 thermoionic valves, it is an extremely fast and versatile calculating machine.

The basic concepts and abstract principles of calculating with the help of a machine were formulated by Dr. Turing on the basis of the same London Mathematical Society back in 1936, but work on such machines in Great Britain was delayed by the war. In 1945, consideration of the problems of creating such devices continued at the National Physics Laboratory by Dr. Wormsley, superintendent of the laboratory in the Department of Mathematics. He joined Turing with his small staff of specialists, and by 1947 preliminary planning was advanced enough to warrant the creation of a special group.

The first computers based 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.

Von Neumann's classic 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 program memory device on June 21, 1948.

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

Development of the created models

The IBM SSEC had the ability to treat instructions as data and was publicly demonstrated on January 27, 1948. This ability was claimed in a US patent. However, it was partly an electromechanical machine, not a fully electronic one. In practice, instructions were read from paper tape due to 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 running a simple division calculation and calculation that shows that two numbers are coprime.

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

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

Evolution of the bus system architecture

Over the decades, already in the 60s and 70s, computers in general became smaller and faster, which led to some evolutions that von Neumann's computer architecture underwent. For example, memory mapping of input and output allows the corresponding devices whose data and instructions for integration into the system will be processed remain in memory. One bus system can be used to provide a modular system with smaller ones. This is sometimes referred to as "rationalizing" the architecture. In the following decades, simple microcontrollers sometimes did not use some of the features of the typical model in order to reduce cost and size. Large computers, on the other hand, follow the established architecture as they add features to improve performance.

· usage binary system to represent numbers. Von Neumann's work demonstrates the advantages of a binary system for technical implementation, the convenience of performing arithmetic and logical operations. In the future, non-numeric types of information began to be processed: text, graphic, sound, etc. Binary coding is the foundation of a modern computer.

· Principles of "stored program". A program written in binary codes must be stored in the same memory as the data being processed.

· The principle of targeting. Commands and data are moved to memory cells which 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, commands are sequentially read from memory and executed. The number (address) of the next memory cell from which the program command is extracted is formed and stored in a special device, the command counter.

In accordance with the principles of von Neumann, a computer should include the following devices:

· 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 (ZU) - storage of programs and data. Computer memory consists of a number of numbered cells. Each of them can contain processed data or program instructions;

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

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 units of the machine and to perform arithmetic and logical operations on information.

The microprocessor includes:

§ control device(UU) - generates and sends certain control signals (control impulses) to all blocks of the machine at the right times, due to 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 transfers these addresses to the corresponding computer blocks; the control device receives the 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, to speed up the execution of operations, an additional mathematical coprocessor);

§ microprocessor memory(MPP) - serves for short-term storage, recording and output of information directly used in calculations in the next clock cycles of the machine. The 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 (as opposed to OP cells, which have a standard length of 1 byte and lower performance);

§ microprocessor interface system- implements pairing and communication with other PC devices; includes an internal MP interface, buffer memory registers and control circuits for input-output ports (IO) and the system bus. Interface(interface) - a set of means for interface and communication of 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 pulse 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 the machine operation, or simply the cycle of the machine.

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, since each operation in the machine is performed in a certain number of cycles.

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

The system bus includes:

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

§ address code bus(CSA), which includes wires and interface circuits for parallel transmission of all bits of the code of the address of the main memory cell or the 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 the 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 the direct memory access mode).

All blocks, or rather their input-output ports, through the corresponding unified connectors (joints) are connected to the bus in a uniform manner: directly or through controllers (adapters). The system bus is controlled by a microprocessor either directly or, more often, through an additional microcircuit - bus controller, forming the main control signals. Information exchange between external devices and the system bus is performed using ASCII codes.

Main memory (RAM). It is designed to store and quickly exchange information with other units of the machine. 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, allows you to quickly read the information stored in it (you cannot change the information in the ROM).

RAM is intended for operational recording, storage and reading of information (programs and data) directly involved in the information and computing process performed by the 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 power of the machine (volatility).

External memory. It refers to external PC devices 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 drives (HDD) and floppy drives (floppy drives) magnetic disks.

The purpose of these drives is the storage of large amounts of information, recording and delivery of the stored information upon request to the random access memory. Differing HDD and HDD only constructively, the amount of stored information and the time of searching, recording and reading information.

Cassette tape storage devices (streamers), optical disc drives (CD-ROM - Compact Disk 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, which, if necessary, provides automatic reading of the current moment in time (year, month, hours, minutes, seconds and fractions of seconds). The timer is connected to an autonomous power source - the battery and continues to work when the machine is disconnected from the mains.

External devices (VU). This is the most important component of any computing complex. Suffice it to say that in terms of cost, VUs sometimes account for 50 - 80% of the total PC. The possibility and efficiency of using a PC in control systems and in the national economy as a whole largely depend on the composition and characteristics of VU.

VU PCs provide interaction of the machine with the environment: users, control objects and other computers. VLs are very diverse and can be classified according to a number of characteristics. So, according to the purpose, the following types of VU can be distinguished:

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

§ interactive means of the user;

§ devices for entering information;

§ information output devices;

§ means of communication and telecommunications.

Dialogue means users include video monitors (displays), less often console 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 rapidly developing multimedia tools. Speech input devices are various microphone acoustic systems, "sound mice", for example, with sophisticated software that makes it possible to recognize letters and words spoken by a person, identify them and encode them.

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

TO input devices relate:

§ keyboard- a device for manual input of numerical, text and control information into a PC (cm. subsection 4.5);

§ graphic tablets (digitizers)- for manual input of graphic information, images by moving a special pointer (pen) on 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 carriers and entering typewritten texts, graphs, drawings, drawings into a PC; in the encoder of the scanner in text mode, the read characters after comparison with the reference contours are converted by special programs into ASCII codes, and in the graphic mode the read charts and drawings are converted into a sequence of two-dimensional coordinates (cm. subsection 4.5);

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

§ touch screens- to enter individual image elements, programs or commands from the split-screen display into a PC.

TO output devices relate:

§ printers- printing devices for registering information on paper (cm. subsection 4.5);

§ plotters (plotters)- for outputting graphic information (graphs, drawings, figures) from a PC to a paper medium; plotters are vector with drawing an image with a pen and raster: 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 can display color and halftones; laser plotters have the highest resolution and image clarity, but they are the most expensive.

Devices communications and telecommunications are used to communicate with devices and other automation equipment (interface adapters, adapters, digital-to-analog and analog-to-digital converters, etc.) and to connect a PC 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 to exchange information with other computers, to work 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 named above belong to a conditionally allocated group - multimedia tools.

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

Multimedia devices include speech input and output devices; widespread scanners already now (since they allow you to automatically enter printed texts and drawings into a computer); high-quality video (video-) and sound (sound-) cards, video capture cards (videograbber), which take an image from a VCR or camcorder and enter it into a PC; high-quality acoustic and video reproducing systems with amplifiers, sound speakers, large video screens. But, perhaps, with even more reason, external storage devices of large capacity on optical disks, often used for recording audio and video information, are referred to as multimedia.

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 pictures, speech information and animation, music and video. In a purely household aspect, CDs can be used to store audio and video recordings, i.e. use instead of audio cassettes and video cassettes. Of course, mention should be made of the large number of computer game programs stored on the CD.

Thus, CD-ROM opens up access to huge volumes of information recorded on CDs, diverse both in terms of functionality and environment for reproduction.

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, DMA controller, I / O coprocessor, interrupt controller, etc.

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

DMA controller frees the MP from direct control of magnetic disks, which significantly increases the efficient performance of the PC. Without this controller, data exchange between the VCU and RAM is carried out through the MP register, and if it is available, data is directly transferred between the VCU and RAM, bypassing the MP.

I / O coprocessor due to the parallel work with the MP, it significantly speeds up the execution of input-output procedures when servicing several external devices (display, printer, hard disk drive, floppy disk drive, etc.); frees the MP from processing input-output procedures, including the mode of direct memory access.

The interrupt controller plays the most important role in the PC.

Interrupt- temporary stoppage of the execution of one program in order to promptly execute another, at the moment more important (priority) program

Interruptions occur when the computer is running all the time. Suffice it to say that all information input-output procedures are executed by interrupts, for example, timer interrupts occur and are serviced by the interrupt controller 18 times per second (of course, 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 the execution of a special program for servicing the interrupt that was requested by the external device. After the end of the maintenance program, the execution of the interrupted program is resumed. The interrupt controller is programmable.

· Binary coding principle

· According to this principle, all information entering a computer is encoded using binary signals (binary digits, bits) and divided into units called words.

· The principle of memory homogeneity

· Programs and data are stored in the same memory. Therefore, the computer does not distinguish between what is stored in a given memory cell - a number, a text or a command. You can perform the same actions on commands as on data.

· The principle of memory addressability

· Structurally, the main memory consists of numbered cells; any cell is available to the processor at any time. Hence, it is possible to give names to memory areas, so that the values ​​stored in them could be subsequently accessed or changed during program execution using the assigned names.

· The principle of sequential program control

· Assumes that the program consists of a set of instructions that are executed by the processor automatically one after another in a specific sequence.

· The principle of rigidity of architecture

· Immutability in the process of work of topology, architecture, list of commands.

· Computers built on these principles are classified as von Neumann's.

· The most important consequence of these principles can be called the fact that now the program was no longer a permanent part of the machine (like a calculator). The program has become easy to change. But the equipment, of course, remains unchanged, and very simple.

· For comparison, the ENIAC computer program (where there was no program stored in the memory) was determined by special jumpers on the panel. It could take more than one day to reprogram the machine (set the jumpers differently). Although programs for modern computers can take years to write, they work on millions of computers after a few minutes of installation on a hard drive.

·

· The von Neumann machine consists of a storage device (memory) - memory, arithmetic logic device - ALU, control device - UU, as well as input and output devices.

· Programs and data are entered into memory from an input device through an arithmetic logic device. All program commands are written to adjacent memory cells, and data for processing can be contained in arbitrary cells. For any program, the last command must be a shutdown command.

· The command consists of an indication of what operation should be performed (from possible operations on a given hardware) and addresses of memory cells where data is stored on which the specified operation should be performed, as well as the address of the cell where the result should be written (if it is required to be saved in memory).


· The arithmetic logic unit performs the operations indicated by the commands on the indicated data.

· From the arithmetic logic unit, the results are output to memory or output device. The fundamental difference between a memory and an output device is that the data is stored in the memory in a form that is convenient for processing by a computer, and the output devices (printer, monitor, etc.) are received as it is convenient for a person.

· UU controls all parts of the computer. From the control device to other devices signals "what to do" are received, and from other devices the CU receives information about their state.

· The control device contains a special register (cell) called "command counter". After loading the program and data into memory, the address of the first command of the program is written into the command counter. UU reads from memory the contents of the memory cell, the address of which is in the command counter, and places it in a special device - "Command register". UU determines the operation of the command, "marks" in memory the data, the addresses of which are indicated in the command, and controls the execution of the command. The operation is performed by the ALU or computer hardware.

· As a result of the execution of any command, the command counter changes by one and, therefore, points to the next command in the program. When it is required to execute a command that is not next in order to the current one, but spaced from the given one by a certain number of addresses, then the special jump command contains the address of the cell where control is required to be transferred.

16) The structure and architecture of a computing system

A system (from the Greek systema - a whole, a compound made up of parts) is a set of elements interacting with each other, forming a certain integrity, unity.
A computing system is a collection of one or more computers or processors, software and peripheral equipment, organized for the joint execution of information and computing processes.
A distinctive feature of VS in relation to computers is the presence in them of several computers that implement parallel processing.
The basic principles of construction, laid down when creating an aircraft:
the ability to work in different modes;
modularity of the structure of hardware and software, which makes it possible to improve and modernize computing systems without fundamental alterations;
unification and standardization of technical and software solutions;
hierarchy in the organization of process management;
the ability of systems to adapt, self-adjust and self-organize;
providing the necessary service to users when performing calculations
By appointment, the aircraft are divided into
universal,
problem-oriented
specialized.
Universal ones are designed to solve a wide class of problems. Problem-oriented are used to solve a certain range of problems in a relatively narrow area. Specialized ones are focused on solving a narrow class of problems
By type, the aircraft differ by
multi-machine
multiprocessor.
A computing system can be built on the basis of either whole computers (multi-machine AC), or on the basis of separate processors (multi-processor AC).
By the type of computers or processors, there are
homogeneous - are built on the basis of the same type of computers or processors.
heterogeneous systems - includes various types of computers or processors.
Geographically, the Armed Forces are divided into:
lumped (all components are located in close proximity to each other);
distributed (components can be located at a considerable distance, for example, computer networks);
According to the control methods of aircraft elements, there are
centralized,
decentralized
with mixed control.

According to the operating mode of the aircraft, systems are distinguished that operate in
operational
non-operational time modes.
In addition, the sun can be structurally
single-level (there is only one general level of data processing);
Multilevel (hierarchical) structures. In hierarchical VS, machines or processors are distributed over different levels of information processing; some machines (processors) can specialize in performing certain functions.
Computing system structure.
The structure of the aircraft is a set of complexed elements and their connections. Separate computers and processors act as elements of the aircraft.
The described multilevel structure implements the classical Von Neumann organization of the aircraft and assumes the sequential processing of information according to a pre-compiled program.
Computing systems architecture. Classification of architectures of computing systems.
System architecture - a set of system properties that are essential for use.
The architecture of a computer is a description of it at some general level, including a description of user programming capabilities, instruction set, addressing system, memory organization, etc.
The classical architecture (von Neumann architecture) is one arithmetic logic unit (ALU) through which the data stream passes, and one control unit (CU) through which the instruction stream passes - the program. This is a uniprocessor computer.
Multi-machine computing system. Here, several processors included in the computing system do not have a common RAM, but each has its own (local) one. Each computer in a multi-machine system has a classical architecture, and such a system is widely used.
The earliest and most famous is the classification of computing systems architectures proposed in 1966 by M. Flynn.

· The classification is based on the concept of a stream, which is understood as a sequence of elements, commands or data processed by the processor. Based on the number of command streams and data streams, Flynn distinguishes four classes of architectures: SISD, MISD, SIMD, MIMD.
SISD (single instruction stream / single data stream) is a single instruction stream and a single data stream. This class includes, first of all, classical sequential machines, or otherwise, machines of the von Neumann type, for example, the PDP-11 or VAX 11/780. In such machines, there is only one stream of commands, all commands are processed sequentially one after another, and each command initiates one operation with one stream of data. It does not matter that pipelining can be used to increase the speed of command processing and the speed of performing arithmetic operations - both the CDC 6600 machine with scalar functional units and the CDC 7600 with pipelined functions fall into this class.
SIMD (single instruction stream / multiple data stream) - single instruction stream and multiple data stream. In architectures of this kind, one stream of instructions is saved, including, in contrast to the previous class, vector instructions. This allows you to perform one arithmetic operation on many data at once - vector elements. The way of performing vector operations is not stipulated, so the processing of vector elements can be performed either by a processor matrix, as in ILLIAC IV, or using a pipeline, as, for example, in the CRAY-1 machine.
MISD (multiple instruction stream / single data stream) - multiple instruction stream and single data stream. The definition assumes that there are many processors in the architecture that process the same data stream. However, neither Flynn nor other computer architects have yet been able to provide a convincing example of a real-world computing system built on this principle. A number of researchers attribute conveyor machines to this

Law and CCA

Lesson 9. The main-modular principle of building a computer.

Assignment: using the educational text to answer the following questions (write in a notebook).

1. Who was the founder of the trunk-modular principle of modern PC architecture.

2. Computer architecture is ...

3. List the basic principles underlying the backbone-modular construction of the PC architecture.

4. What parts does the highway consist of?

5. What is the device interface for?

6. What is used for interface negotiation? How does this coordination work (draw a diagram)?

7. How is data processed on a computer?

8. Draw schematically the PC trunk-modular principle.

9. The highway is ...

10. What are the control bus, address bus, data bus used for?

12. What does the modular principle allow for a PC user? List the main advantages of the modular-backbone principle.

D / z. Answer the questions, prepare for the answer according to the educational text.

Study text

Trunk-modular principle of building a computer

Let's recall the information received in the previous lessons:

A computer is an electronic device designed to work with information, namely introduction, processing, storage, output and transmission of information. In addition, the PC is a single entity of two entities - hardware and software parts.

Computer architecture is a description of its logical organization, resources and principles of functioning of its structural elements. Includes the main computer devices and the structure of connections between them.

Usually, when describing the architecture of a computer, special attention is paid to those principles of its organization, which are characteristic of most machines belonging to the described family, and also influencing the possibilities of programming.

The architecture of modern computers is based on the principles of John von Neumann and the main-modular principle.

In 1946, D. von Neumann, G. Goldstein and A. Berks in their joint article outlined new principles for the construction and operation of computers. Subsequently, the first two generations of computers were produced on the basis of these principles. In later generations, some changes took place, although Neumann's principles are still valid today.

In fact, Neumann managed to generalize the scientific developments and discoveries of many other scientists and formulate fundamentally new ones on their basis.

Von Neumann principles

1. The use of the binary number system in computers... The advantage over the decimal number system is that the devices can be made quite simple, arithmetic and logical operations in the binary number system are also quite simple.


2. Computer program control... The operation of the computer is controlled by a program consisting of a set of instructions. The commands are executed sequentially one after the other. The creation of a machine with a program stored in memory laid the foundation for what we call programming today.

3. Computer memory is used not only for storing data, but also for programs... In this case, both program commands and data are encoded in a binary number system, i.e. their writing method is the same. Therefore, in certain situations, you can perform the same actions on commands as on data.

4. Computer memory cells have addresses that are sequentially numbered... At any time, you can refer to any memory cell by its address. This principle opened up the possibility of using variables in programming.

5. Ability to conditionally jump during program execution... Despite the fact that the commands are executed sequentially, programs can implement the ability to jump to any part of the code.

6. Availability of input and output devices... It is these devices that are basic and sufficient for a computer to operate at the user level.

7. Open architecture principle- rules for building a computer, according to which each new unit must be compatible with the old one and be easily installed in the same place in the computer. In a computer, you can just as easily replace old blocks with new ones, wherever they are located, as a result of which the computer's work is not only not disrupted, but also becomes more productive. This principle allows you not to throw away, but to upgrade a previously purchased computer, easily replacing outdated blocks with more advanced and convenient ones, as well as to purchase and install new blocks. Moreover, in all the connectors for their connection are standard and do not require any changes in the very design of the computer.

The most important consequence of these principles can be called the fact that now the program was no longer a permanent part of the machine (like a calculator). The program has become easy to change. But the equipment, of course, remains unchanged, and very simple.

The computer is not an indivisible, integral object. It consists of a number of devices - modules.(The user can assemble his computer from these modules at his own will). For each device, the computer has an electronic circuit that controls it. This circuit is called a controller, or adapter. some controllers can control several devices at once. All controllers and adapters interact with the processor and RAM through the system bus (a set of electronic lines. A bus is a cable consisting of many wires.

The backbone provides data exchange between computer devices.

The highway consists of three parts:

1. Address bus, on which the address of the required memory cell or device is set, with which information will be exchanged.

2. Data bus through which the necessary information will be transmitted.

3. Control bus regulating this process. (signals are transmitted over the control bus that determine the nature of the exchange of information along the bus. These signals indicate what operation should be performed).

In order for a computer to function correctly, it is necessary that all its devices work together, “understand” each other and “do not conflict”. This is achieved thanks to the same interface that all computer devices have.
An interface is a means of connecting two devices, in which all physical and logical parameters are consistent with each other.

Since the exchange of data between devices takes place via a bus, all external devices are connected to the bus not directly, but through their controllers (adapters) and ports to coordinate the interfaces.

Ports are serial and parallel. Slow or remote devices (mouse, modem) are connected to serial ports, while faster ones (scanner, printer) are connected to parallel ports. The keyboard and monitor are connected to dedicated ports.

In order not to connect the device to a foreign port by mistake or ignorance, each device has an individual plug shape that does not fit the “foreign” connector.

Information presented in digital form and processed on a computer is called data.

The sequence of commands that a computer executes during data processing is called program.

Data processing on a computer:

1. The user launches a program stored in non-volatile memory, it is loaded into RAM and starts executing.

2. Execution: the processor reads the instructions and executes them. The required data is loaded into RAM from non-volatile memory or entered using input devices.

3. The output (received) data is written by the processor into the operative or non-volatile memory, and is also provided to the user by means of information output devices.

To ensure information exchange between various devices, some kind of backbone must be provided for moving the flows of information.

Backbone (system bus) includes three multi-bit buses: data bus, address bus and control bus, which are multi-wire lines. A processor and random access memory, as well as peripheral devices for input, output and storage of information are connected to the highway, which exchange information in machine language (sequences of zeros and ones in the form of electrical impulses).

Data bus. On this bus, data is transferred between various devices. For example, data read from main memory can be transferred to a processor for processing, and then the received data can be sent back to main memory for storage. Thus, data on the data bus can be transferred from device to device in any direction, that is, the data bus is bi-directional. The main operating modes of the processor using the data bus include the following: writing / reading data from RAM, writing / reading data from external memory, reading data from an input device, sending data to an output device.

The bit width of the data bus is determined by the bit width of the processor, that is, the number of bits that can be processed or transmitted by the processor at the same time. The bit depth of processors is constantly increasing with the development of computer technology.

Address bus. The choice of a device or memory cell where data is sent or read from via the data bus is made by the processor. Each device or RAM cell has its own address. The address is transmitted over the address bus, and signals are transmitted along it in one direction - from the processor to the RAM and devices (unidirectional bus).

The bit width of the address bus determines the amount of addressable memory (address space), that is, the number of single-byte memory cells that can have unique addresses.

The number of addressable memory cells can be calculated using the formula:

N = 2 I, where I is the width of the address bus.

Each bus has its own address space, i.e. the maximum amount of addressable memory:

2 16 = 64 KB

2 20 = 1 MB

2 24 = 16 MB

2 32 = 4 GB

Control bus. Signals are transmitted over the control bus that determine the nature of the exchange of information along the highway. Control signals show what operation - reading or writing information from memory - needs to be performed, synchronize the exchange of information between devices, and so on.

Modular principle allows the consumer to complete the required computer configuration and, if necessary, upgrade it. Each individual function of the computer is implemented by one or more modules - structurally and functionally complete electronic blocks in a standard design. The organization of the structure of a computer on a modular basis is similar to the construction of a block house.

The main-modular principle has a number of advantages:

1. to work with external devices, the same processor commands are used as for working with memory.

2. connection of additional devices to the backbone does not require changes in already existing devices, processor, memory.

3. By changing the composition of the modules, you can change the power and purpose of the computer during its operation.