COMPUTER ARCHITECTURE

    Computer classification

    Basic PC blocks and their purpose

    In-machine system interface

    PC Functional Specifications

EVM (computer) – a set of technical means designed for automatic information processing in the process of solving computational and information problems.

Classification signs:

    according to the principle of operation (but differ from each other in the type of information presentation);

    by stages of creation;

    by appointment;

    in size and functionality.

Computer architecture – a set of its properties that are significant for the user.

Structure and functionality COMPUTER:

    basic (provide processing and storage of information, exchange of information with external objects);

    additional (provide efficient operating modes, dialogue with the user, high reliability).

The named functions of a computer are implemented using its components: hardware and software.

Personal Computer – a desktop or portable computer that meets the requirements of general accessibility and universality of use.

PC advantages:

    low cost (within accessibility for an individual user);

    autonomy of operation;

    flexibility of architecture (adaptability to various applications in management, science, education, everyday life);

    “friendliness” of the OS and software (the ability to work without special training);

    high operational reliability.

PC types:

    desktop version (desktop);

    knee version (laptop).

    notebook version.

    pocket (Palm Top - handheld);

    electronic secretaries (PDA - Personal Digital Assistant), have broader functionality like a regular PC and built-in software for managing personal information (addresses, phone numbers, meeting schedules, etc.);

    electronic notebooks(organizer).

Basic (typical) PC configuration:

    system unit (this is the central link of a computer system);

    monitor (designed to display text and graphic information);

    keyboard (used to enter text, numbers and commands into the computer);

Classification of system units:

    horizontal (desktop, flat and extra flat (slim));

    vertical (tower, full-size, medium-size, small-size).

The system unit contains the most important components:

    motherboard (system) board (contains a central processor, microprocessor chipset, mathematical coprocessor, clock generator, RAM and ROM units, buses, keyboard adapters, HDD, HDD, interrupt controller, timer, etc.)

    power unit;

    disk drives;

    disk drives;

    connectors for additional devices;

    expansion boards with controllers (adapters) for various devices.

External additional devices designed for input, output and long-term storage of data are called peripherals.

PC structure:

    microprocessor (central unit designed to control the operation of all machine blocks and to perform arithmetic and logical operations on information);

    clock pulse generator (generates a sequence of electrical pulses, the frequency of which determines the clock frequency of the machine);

    system bus (the main interface system of a PC, which ensures the interfacing and communication of all its devices with each other; in technical terms, the bus consists of a bundle of wires through which signals are transmitted. The interface of the bus with the device is called a port, which, for definiteness, is assigned a number called an address);

    main memory (designed for storing and quickly exchanging information with other units of the machine);

    external memory (used for long-term storage of information, everything is stored in it software computer);

    power source (unit containing the system of autonomous and network power supply);

    timer (in-machine Digital Watch, connect to an autonomous power source, operate when disconnected from the network);

    external devices.

Coordination between individual nodes and blocks is performed using transitional hardware-logical devices - hardware interfaces.

Standards for hardware interfaces are called protocols.

Protocol is a set of technical conditions that must be provided by device developers to successfully coordinate their operation with other devices.

Microprocessor composition:

    control device (forms and supplies certain control signals, forms the addresses of memory cells and transmits these addresses to the corresponding blocks, the sequence of pulses is received from the clock pulse generator);

    arithmetic logic unit (performs arithmetic and logical operations over numeric and symbolic information);

    microprocessor memory (used for short-term storage, recording and output of information, built on registers and used to ensure high speed of the machine; registers are high-speed memory cells of various lengths);

    interface system of the microprocessor (implements pairing and communication with other PC devices, includes an internal interface, buffer storage registers, control circuits for input-output ports (allows you to connect another PC device) and the system bus.

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

Machine operation cycle – time interval between adjacent pulses.

Intra-machine system interface (a system of communication and interfacing of computer nodes and blocks with each other) is a set of electrical communication lines (wires), interface circuits with computer components, protocols (algorithms) for transmitting and converting signals.

Options for organizing an intramachine interface:

    multi-connection interface (each PC block is connected to other blocks by its local wires, used in the simplest household PCs);

    single-connection interface (all PC blocks are connected to each other via a common or system bus).

Used as a system interface system bus .

The following can be used as a system bus:

    expansion buses (buses general purpose, allowing you to connect a large number of different devices);

    local buses (specialized in servicing a small number of devices of a certain class).

The system bus includes:

    code data bus (contains wires and interfacing circuits for parallel transmission of all bits of a numerical code; data is copied from it random access memory to processor registers and back);

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

    code instruction bus (contains wires and interface circuits for transmitting instructions to all blocks of the machine);

    power bus (has wires and interface circuits for connecting PC units to the power supply system).

The system bus provides information transfer:

The input/output ports of all machine blocks are connected through the corresponding unified connectors directly or through controllers (adapters).

Information exchange between external devices and the system bus is carried out using ASCII codes.

Expansion buses:

    tire RS/XT bus – 8-bit data bus and 20-bit address bus, clock frequency 4.77 MHz, has 4 lines for hardware interrupts and 4 channels for direct memory access;

    tire PC/AT bus – 16-bit data bus and 24-bit address bus, clock frequency up to 8 MHz, can also be used with MP with a clock frequency up to 16 MHz, has 7 lines for hardware interrupts and 4 channels for direct memory access;

    tire ISA (Industry Standard Architecture) – 16-bit data bus and 24-bit address bus, clock frequency 8 MHz, can also be used with MP with a clock frequency of up to 50 MHz, has up to 15 lines for hardware interrupts and up to 11 channels for direct memory access , address space increased to 16 MB, throughput theoretically 16 MB/s, practically – 4-5 MB/s;

    tire EISA (Extended ISA) – 32-bit data bus and 32-bit address bus, clock frequency 8-33 MHz, address space 4 GB, bandwidth up to 33 MB/s, improved interrupt system and automatic system configuration and channel management for direct access to memory, the number of expansion connectors has been increased (theoretically up to 15 devices can be connected, practically up to 10), compatible with ISA bus, used in high-speed PCs, network servers and workstations;

    tire MSA – 32-bit data bus and 32.64-bit address bus, clock frequency 10-20 MHz, bandwidth up to 76 MB/s, can connect up to 15 devices, close to the EISA bus, but not compatible with either ISA or EISA is not used very widely.

Local buses:

    tire VLB (VESA Local Bus) – 32.64-bit data bus and 32-bit address bus, clock frequency up to 33 MHz, theoretical bandwidth 132 MB/s, practically 80 MB/s, small number of connected devices – 4, can be conflicts between connected devices, strictly dependent on the clock frequency of the MP;

    tire PCI (Peripheral Component Interconnect) – 32.64-bit data bus and 32-bit address bus, clock frequency up to 33 MHz, theoretical bandwidth 132.264 MB/s, practically 50.100 MB/s, number of connected devices – 10, can perform many expansion bus functions, currently used as a bus for connecting external devices;

    tire FSB (Front Side Bus) – 32.64-bit data bus and 32-bit address bus, clock frequency up to 133 MHz, bandwidth up to 800 MB/s, used to connect the processor and memory, the frequency of this bus is one of the consumer parameters;

    tire AGP (Advanced Graphic Port) – 32.64-bit data bus and 32-bit address bus, clock frequency 33 or 66 MHz, bandwidth up to 1066 MB/s, used for communication with the video adapter;

    tire USB (Universal Serial Bus) – bandwidth up to 1.5 Mbit/s, allows you to connect up to 256 devices with a serial interface, virtually eliminates conflicts between different equipment, allows you to connect and disconnect devices in “hot mode” and allows you to combine several computers and the simplest local network without the use of special equipment and software.

PC use VLB tires and PCI is possible with the appropriate motherboard.

Motherboards are produced with a multibus VIP structure (by initial letters VLB, ISA, PCI).

RAM (RAM - Random Access Memory) is an array of crystalline cells capable of storing data.

From the point of view of the physical principle of operation, there are:

    dynamic memory (DRAM) - cells can be thought of as microcapacitors capable of storing charge on their plates. Microcircuits are used as the main operating system of a computer. This is the most common and economically accessible type of memory. Disadvantage: regeneration (recharging) of RAM cells is constantly required, which causes waste of the computing system.

    statistical memory (SRAM) – cells can be represented in the form of microelements (triggers) consisting of several transistors. The trigger stores not the charge, but the state (on/off), so this type of memory provides high performance. The chips of this memory are used as auxiliary memory (cache memory), designed to optimize the operation of the computer.

Main memory contains:

    read-only memory (ROM is used to store unchangeable program and reference information and allows you to quickly only read the information stored in it);

    random access memory (RAM is designed for online recording, storage and reading of information involved in the process at the current moment in time, the advantage is speed and the ability to access each memory cell separately, the disadvantage is volatility).

When the computer is turned on, there is nothing (programs, commands) in its RAM. Therefore, immediately after switching on, the start address is set on the processor address bus. This happens in hardware, without the participation of programs. The processor goes to the specified address for its first command and begins to work according to the programs.

This source address cannot point to the OP, since there is nothing in it yet. It points to the ROM. The ROM chip is capable of storing information for a long time even when the computer is turned off.

Programs located in ROM are called “hardwired” - they are written there at the stage of manufacturing the microcircuit.

A set of programs in ROM forms the basic input-output system ( BIOS – Basic Input Output System).

The main purpose of the programs in this package:

    check the composition and performance of the computer system;

    provide interaction with the keyboard, monitor, hard drive and a floppy drive;

    provide the ability to view diagnostic messages on the screen that accompany computer startup,

    provide, if necessary, the ability to intervene in the startup process using the keyboard.

External memory contains various types of storage devices, in particular, hard disk drives (HDD) and floppy disk drives (FLMD).

Their purpose is to store large amounts of information, record and issue stored information upon request in RAM.

They differ in design, volume of stored information and time for searching, recording and reading information.

Magnetic disks – computer storage media.

Information on the MD is written and read by magnetic heads along concentric circles - tracks (tracks).

The number of tracks on an MD and their information capacity depend on the type of MD, the design of the drive on the MD, the quality magnetic heads and magnetic coating.

Each MD track is divided into sectors of 128, 256, 512 or 1024 bytes.

Data exchange between the NMD and the OP is carried out sequentially by an integer number of sectors.

Cluster – the minimum unit of information placement on a disk, consisting of one or more adjacent sectors of a track.

When writing and reading information, the MD rotates around its axis, and the magnetic head control mechanism brings it to the track selected for writing or reading information.

File – a named area of ​​external memory allocated for storing a data array.

File – a sequence of an arbitrary number of bytes with a unique name.

The file name can contain address data, information about the type of data contained in it. File storage is organized in a hierarchical structure called a file structure.

The full file name is the proper name of the file along with the path to access it.

<имя носителя \ <имя каталога-1 \...\ <имя каталога-N \ <собственное имя файла

Data on disks is stored in files. The file is allocated a memory field that is a multiple of a certain number of clusters. Clusters of the same file can be located in any free space and are not necessarily adjacent.

Files located in files scattered across the disk are called fragmented .

Formatting a floppy disk – creating a structure for recording information on its surface: marking tracks, sectors, recording markers and other service information.

Monitor – a device designed to display information that the computer transmits to the user.

Monitor screen size is measured diagonally in inches.

The following groups can be roughly distinguished:

    cathode ray tube monitors (the image is formed by a beam of electrons that “ignite” the dots of the colored phosphor with which the surface of the screen is covered from the inside. Each pixel of the image consists of three colored dots of the phosphor: red, green and blue. The flow of electrons used to form an image on the screen of a cathode-ray monitor, is quite strong, and not all of it is extinguished by the phosphor and the protective coating of the screen. In addition, strong magnetic fields are used to control the beams. All this leads to the fact that cathode-ray monitors, although to a small extent, are sources of harmful radiation);

    LCD monitors (the working layer of liquid crystal monitors consists of many small liquid crystals, which can change their color and transparency under the influence of small voltages applied to them. Such monitors do not emit);

    multimedia monitors (electronic and liquid crystal monitors that can perform additional functions: reproduce and perceive sound using built-in speakers and a microphone, and even perceive images using a built-in video camera).

The display can work:

    in text mode (the display screen is divided into 25 lines of 80 characters in each line. This mode is used to display predefined characters: large and small Latin letters, letters of the Russian alphabet, numbers and other various symbols);

    in graphical mode (the image is displayed on the display screen by dots (pixels). In this mode, as a rule, pictures are created and graphs are drawn; when displaying text information in this mode, the performance will be lower, since each character must be drawn by dots).

Resolution – the main parameter characterizing the quality of the graphic image on the display screen is determined by the number of vertical and horizontal dots.

Point (pixel) – a certain minimal area of ​​the screen in which red, blue and green rays are mixed, the intensity of which determines the color at a given point.

VGA display 640x480 means that the display is of VGA type with the number of pixels horizontally 640 and vertically 480. The resolution of good monitors reaches 1280x1024 and higher.

In addition, each display is characterized by the number of reproduced colors, which can range from 2 (black and white image) to 256 and higher (16 million colors - Super VGA displays). The better the display, the more colors it can reproduce.

Computer keyboard – a device for entering commands and text.

Groups of keys by purpose:

    alphabet block (contain keys for entering text characters. The first row from the top consists of keys with numbers, above which special characters are depicted. Depending on the special keys you press, you can type numbers or symbols. To enter capital and other characters located in the upper case of the keyboard, use the key "Shift");

    function keys F1, …, F12 (located at the top of the keyboard and are designed for quickly entering repeated commands with one key in various programs. For example, the F10 key is often used to exit programs, and the F1 key is often used to call up help or a hint);

    cursor keys (designed for moving through text or menu commands, located at the bottom of the keyboard, to the right of the alphabetic block. The text cursor is a special character that indicates the place in the line where the next character will be entered);

    digital block (when the “NumLock” key is pressed, the corresponding light turns on, and you can use this block to enter numbers. If the light is not lit, then using the numeric block keys you can control the movement of the text cursor);

    service keys

Ctrl" and "Alt" Typically only effective when pressed in conjunction with other keys, they increase the number of commands the function keys can perform.

"Esc" helps to cancel any command.

"Caps Lock" serves to fix the capital letters mode. When you press it, the indicator in the upper right part of the keyboard lights up. Switching the keyboard from the Russian letter input mode to the Latin character input mode is carried out using specially assigned keys.

"Enter" (input) (designed to move the cursor to the beginning of the next line, also used to enter commands in the operating system).

"Back Space" (depicted with a left arrow) allows you to move the cursor one position to the left and erases the character located at that position.

"Delete" (delete) is used to delete the character the cursor is on. In this case, the cursor itself remains in the same place, and all characters to the right of the cursor are shifted one position to the left.

"Insert" (insert) is intended for transition from insertion mode to replacement mode and back. In insert mode, the characters you type appear at the location where the cursor is located, and the part of the line located to the right of the cursor is shifted one position to the right with each key press. In the replacement mode, the text located to the right of the cursor does not shift, and the entered characters appear in the place of the old ones, overwriting them.

"PgUp", "PgDown" » are used to move up and down the screen page by page, respectively.

"Home" and "End" are intended to move the cursor to the beginning and end of lines, respectively.

"Tab" serves to move the cursor several () positions to the right, usually 4 or 8.

"Print Screen" serves to save the current screen state in a special area of ​​the OP, called the clipboard.

"Scroll Lock" switches the operating mode in some programs (usually outdated ones).

"Pause/Break" pauses/interrupts the process.

Mouse – a manipulator-type control device designed to control computer programs.

Moving the mouse on a flat surface is synchronized with moving a graphic object (mouse pointer) across the monitor screen.

There are two or three control buttons on the mouse body. Three-button paddles usually use only the outer buttons, and the middle button is used to work only with certain types of programs. Sometimes the middle button is made in the form of a wheel.

PC functional characteristics:

    speed, performance, clock frequency;

    bit capacity of the machine and interface code buses;

    types of system and local interfaces;

    RAM capacity;

    capacity of hard disk drive (hard drive);

    type and capacity of floppy disk drives;

    types and capacity of cache memory;

    type of video monitor and video adapter;

    presence of a mathematical coprocessor;

    available software and type of operating system;

    hardware and software compatibility with other types of computers;

    ability to work in a computer network;

    ability to work in multitasking mode;

    reliability;

    price;

    dimensions and weight.

The word “architecture” in its original sense is used in urban planning. Being a rather complex structure, a modern city consists of districts, squares, streets, houses, etc., located in a certain way.

In order to navigate the intricacy of streets and squares, in any city there is a historically established system of names, as well as a certain numbering of houses. The presence of generally accepted addressing allows you to unambiguously determine the position of any structure and, if necessary, quickly find it. In many cases, the layout of streets and the assignment of names to them is random. At the same time, it happens that this activity is carefully thought out and is a continuation of the general layout of the city, i.e. in fact part of its architecture. A classic example is the well-known system of mutually perpendicular streets (avenues and streets) of New York City. In addition to being purely practical, the architecture of a city can also have artistic value (which is usually of more interest to visitors). But this aspect of the concept of “architecture” is unlikely to be transferred to computer technology.

Using an analogy with urban planning, it is natural to understand by computer architecture the totality of their characteristics that the user needs. These are, first of all, the main devices and blocks of a computer, as well as the structure of connections between them. If we look, for example, in the “Explanatory Dictionary of Computing Systems”, we will read there that the term “computer architecture is used to describe the principle of operation, configuration and interconnection of the main logical nodes of a computer “architecture””.

However, describing the internal structure of a computer is not at all an end in itself: from an architectural point of view, only those connections and principles are of interest that are the most general, inherent in many specific implementations of computers. They often even talk about computer families, i.e. groups of models that are compatible with each other. Within the same family, the basic principles of the design and operation of machines are the same, although individual models may differ significantly in performance, cost and other parameters. A striking example is the various modifications of PDP computers from DEC (better known to our users for their domestic analogues - the DVK series), the family of MSX machines, which owns the widespread YAMAHA, as well as the IBM-compatible personal computers that have flooded the world.

It is precisely what is common in the structure of a computer that is referred to as architecture. It is important to note that the purpose of such commonality, ultimately, is a completely understandable desire: all machines of the same family, regardless of their specific device and manufacturer, should be able to execute the same program. This inevitably follows the conclusion that from an architectural point of view, not all information about the construction of a computer is important, but only that which can somehow be used in programming and “user” work with the computer. Below is a list of the most general principles of computer construction that relate to architecture:

Computer memory structure;

Methods of accessing memory and external devices;

Ability to change computer configuration;

Command system;

Data formats;

Interface organization.

Summarizing all of the above, we get the following definition of architecture:

“Architecture is the most general principles of computer construction that implement software control of the operation and interaction of its main functional units.”

2. CLASSICAL COMPUTER ARCHITECTURE II VON NEUMANN PRINCIPLES

The foundations of the doctrine of computer architecture were laid by the outstanding American mathematician John von Neumann. He became involved in the creation of the world's first tube computer, ENIAC, in 1944, when its design had already been selected. During his work, during numerous discussions with his colleagues G. Goldstein and A. Berks, von Neumann expressed the idea of ​​a fundamentally new computer. In 1946, scientists outlined their principles for constructing computers in the now classic article “Preliminary Consideration of the Logical Design of an Electronic Computing Device.” Half a century has passed since then, but the provisions put forward in it remain relevant today.

Previously, all computers stored processed numbers in decimal form. The authors convincingly demonstrated the advantages of the binary system for technical implementation, the convenience and simplicity of performing arithmetic and logical operations in it. Later, computers began to process non-numeric types of information - text, graphic, sound and others, but binary data coding still forms the information basis of any modern computer.

Another truly revolutionary idea, the importance of which is difficult to overestimate, is the “stored program” principle proposed by Neumann. Initially, the program was set by installing jumpers on a special patch panel. This was a very labor-intensive task: for example, it took several days to change the program of the ENIAC machine (while the calculation itself could not last more than a few minutes - the lamps failed). Neumann was the first to realize that a program could also be stored as a series of zeros and ones, in the same memory as the numbers it processed. The absence of a fundamental difference between the program and the data made it possible for the computer to form a program for itself in accordance with the results of the calculations.

Von Neumann not only put forward the fundamental principles of the logical structure of a computer, but also proposed its structure, which was reproduced during the first two generations of computers. The main blocks according to Neumann are the control unit (CU) and the arithmetic-logical unit (ALU) (usually combined into CPU), memory, external memory, input and output devices. The design of such a computer is shown in Figure 2.1. Solid lines with arrows indicate the direction of information flows, dotted lines indicate control signals from the processor to other computer nodes

Figure 2.1 - Computer architecture built on Von Neumann principles

The control device and the arithmetic-logical unit in modern computers are combined into one unit - the processor, which is a converter of information coming from memory and external devices (this includes retrieving instructions from memory, encoding and decoding, performing various, including arithmetic, operations, coordination of the operation of computer nodes). Memory (memory) stores information (data) and programs. The storage device in modern computers is “multi-tiered” and includes random access memory (RAM), which stores the information with which the computer is working directly at a given time, and external storage devices (ESD) of much larger capacity than RAM, but with significantly slower access. The classification of memory devices does not end with RAM and VRAM - certain functions are performed by both SRAM (super-random access memory), ROM (read-only memory), and other subtypes of computer memory.

In a computer built according to the described scheme, instructions are sequentially read from memory and executed. The number (address) of the next memory cell from which the next program command will be extracted is indicated by a special device - a command counter in the control unit. Its presence is also one of the characteristic features of the architecture in question.

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 computers today are von Neumann machines. The only exceptions are certain types of systems for parallel computing, in which there is no program counter, the classical concept of a variable is not implemented, and there are other significant fundamental differences from the classical model (examples include streaming and reduction computers).

Since the mid-60s, the approach to creating computers has changed significantly. Instead of independent development of hardware and some software, a system began to be designed consisting of a set of hardware And software funds. At the same time, the concept of their interaction came to the fore. This is how a fundamentally new concept arose - computer architecture.

Under computer architecture is understood as a set of general principles for the organization of hardware and software and their characteristics, which determines the functionality of a computer when solving the corresponding classes of problems.

Computer architecture covers a wide range of problems associated with the construction of a complex of hardware and software and taking into account many factors. Among these factors, the most important are: cost, scope of application, functionality, ease of use, and one of the main components of the architecture is hardware. The main components of the computer architecture can be represented in the form of a diagram shown in Fig. 1.2.

Rice. 1.2. Main components of computer architecture

The architecture of a computing facility should be distinguished from its structure. The structure of a computing tool determines its specific composition at a certain level of detail (devices, blocks, nodes, etc.) and describes the connections within the tool in its entirety. The architecture determines the rules for the interaction of the components of a computing tool, the description of which is carried out to the extent necessary for the formation of the rules for their interaction. It does not regulate all connections, but the most important ones that must be known for more competent use of this tool.

Thus, the computer user does not care on what elements the electronic circuits are made, whether commands are implemented in circuits or software, etc. What is important is how certain structural features of the computer are related to the capabilities provided to the user, what alternatives are implemented when creating the machine and according to what criteria decisions were made on how the characteristics of the individual devices that make up the computer are related to each other, and what impact they have on the overall characteristics of the machine. In other words, computer architecture really reflects a range of problems related to the general design and construction of computers and their software.

Only 100 years later, on the basis of emerging electronic devices, this idea was developed by the American mathematician John von Neumann. The construction of the vast majority of computers is based on the following general principles, formulated by him in 1945.

First of all, the computer must have the following devices:

    Arithmetic-logical device, performing arithmetic and logical operations;

    Control device , which organizes the process of program execution;

    Memory device , or memory for storing programs and data;

    External devices for input/output of information.

The operation of a computer is based on the following principles:

    Binary coding principle . According to this principle, all information entering the computer is encoded using binary signals.

    Program control principle . It follows from it that the program consists of a set of commands that are executed by the processor automatically one after another in a certain sequence.

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

    Targeting principle . Structurally, main memory consists of numbered cells; Any cell is available to the processor at any time.

Machines built on these principles are called Von Neumann machines.

Types of computer architecture (open, closed, Harvard).

Computer architecture is the conceptual structure of a computer that determines information processing and includes methods for converting information into data and principles for the interaction of hardware and software

Closed architectures

A computer made according to this architecture does not have the ability to connect additional devices not provided by the developer.

An enlarged diagram of such a computer architecture is shown in Fig. 1. RAM stores commands and data of executable programs. The channel allows the connection of a certain number of external devices. The control device ensures the execution of program commands and controls all system nodes.

Rice. 1. Closed computer architecture

Computers of this architecture are effective in solving purely computational problems. They are poorly suited for implementing computer technologies that require connecting additional external devices and high-speed information exchange with them.

Open architecture computing systems

This architecture allows you to freely connect any peripheral devices, which ensures free connection of any number of sensors and actuators to the computer. Devices were connected to the bus in accordance with the bus standard. The architecture of an open type computer, based on the use of a common bus, is shown in Fig. 2.

Rice. 2. Open computer architecture

The overall control of the entire system is carried out by the central processor. It manages the shared bus, allocating time for other devices to exchange information. The storage device stores executable programs and data and matches its signal levels to the signal levels of the bus itself. External devices whose signal levels differ from the bus signal levels are connected to it through a special device - a controller. The controller matches device signals with bus signals and controls the device based on commands received from the central processor. The processor has special control lines, the signal on which determines whether the processor is accessing a memory cell or an I/O port on an external device controller.

Despite the advantages provided by the common bus architecture, it also has a serious drawback, which became increasingly apparent as the performance of external devices increased and the flow of information exchange between them increased. Devices with different volumes and exchange rates are connected to the common bus, and therefore the “slow” devices delayed the work of the “fast” ones. A further increase in computer performance was found in the introduction of an additional local bus to which “fast” devices were connected. The architecture of a computer with general and local buses is shown in Fig. 3.

Rice. 3. Computer architecture with shared and local bus

The bus controller analyzes the port addresses transmitted by the processor and passes them on to the controller connected to the public or local bus.

Structurally, the controller of each device is placed on a common board with a central processor and a storage device or, if the device is not standardly included in the computer, on a special board inserted into special connectors on the common board - expansion slots. Further development of microelectronics made it possible to place several functional components of a computer and controllers of standard devices in one VLSI chip. This reduced the number of chips on the common board and made it possible to introduce two additional local buses for connecting a storage device and a display device, which have the largest volume of exchange with the central processor and among themselves.

The central controller plays the role of a switch that distributes information flows between the processor, memory, display device and other computer nodes.

A functional controller is a VLSI that contains controllers for connecting standard external devices such as a keyboard, mouse, printer, modem, etc. Often this controller includes a device such as an audio card, which allows you to get high-quality sound on external speakers when listening to music and speech files.

Harvard architecture

Harvard architecture was developed by Howard Aiken in the late 1930s at Harvard University with the goal of increasing the speed of computing operations and optimizing memory performance.

Typical operations (addition and multiplication) require any computing device to perform several actions: fetch two operands, select an instruction and execute it, and finally store the result. The corresponding scheme for implementing memory access has one obvious drawback - high cost. When separating the address and data transmission channels on the processor chip, the latter must have twice as many pins. A way to solve this problem was the idea of ​​using a common data bus and an address bus for all external data, and using a data bus, a command bus and two address buses inside the processor. This concept came to be called modified Harvard architecture.

Often it is necessary to select three components - two operands and an instruction (in digital signal processing algorithms this is the most common task in FFT and FIR, IIR filters). This is what cache memory is for. An instruction can be stored in it - both buses remain free, and it becomes possible to transmit two operands simultaneously. The use of cache memory along with split buses is called "Super Harvard Architecture" ("SHARC") - an extended Harvard architecture.

An example is the Analog Devices processors: ADSP-21xx - modified Harvard Architecture, ADSP-21xxx(SHARC) - extended Harvard Architecture.

Structure A computer is a set of its functional elements and connections between them. The elements can be a wide variety of devices - from the main logical nodes of a computer to the simplest circuits. The structure of a computer is graphically represented in the form of block diagrams, with the help of which you can describe the computer at any level of detail.

Architecture A computer is considered to be its representation at some general level, including a description of user programming capabilities, command systems, addressing systems, memory organization, etc. The architecture determines the principles of operation, information connections and interconnection of the main logical nodes of the computer: processor, random access memory (RAM, OP), external storage and peripheral devices. The common architecture of different computers ensures their compatibility from the user's point of view.

Von Neumann's principles

The architecture of most computers is based on the following general principles, formulated in 1945 by the American scientist John von Neumann in a report on the EEUAS computer:

  • principle of program control. It follows from it that the program consists of a set of commands that are executed by the processor automatically one after another in a certain sequence. Retrieving a program from memory is done using program counter(SchAK). This processor register sequentially increases the address of the next instruction stored in it. If, after executing a command, one should move not to the next one, but to some other one, the commands are used conditional or unconditional transitions, which enter into the command counter the number of the memory cell containing the next command;
  • 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, text or command. You can perform the same actions on commands as on data. For example, a program during its execution can also be subject to processing, which allows you to set rules for obtaining some of its parts in the program itself (this is how the execution of cycles and subroutines is organized in the program);
  • principle of targeting. Structurally, main memory consists of renumbered 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.

Computers built on these principles are of the von Neumann type. There are other classes of computers that are fundamentally different from them - non-von Neumann ones.

For example, associative computers may not follow the principle of program control, since each instruction here contains the address of the next one (that is, they can work without program counter indicating the program command being executed).

After more than 60 years, most computers still have “von Neumann architecture,” with von Neumann principles implemented in the following form:

  • random access memory (RAM) is organized as a collection machine words (MC) of fixed length or bit depth(referring to the number of binary units or bits contained in each MS). For example, early PCs had 8 bits, then 16-bits appeared, and then 32- and 64-bit machines. At one time, there were also 45-bit (M-20, M-220), 35-bit (Minsk-22, Minsk-32) and other machines;
  • The OP forms a single address space, MS addresses increase from low to high;
  • the OP contains both data and programs, and in the data area one word, as a rule, corresponds to one number, and in the program area - one command (machine instruction - the minimum and indivisible element of the program);
  • commands are executed in natural sequence(in ascending order of addresses in OP) until it meets management team(conditional/unconditional transition, or branch), as a result of which the natural sequence is broken;
  • The CPU can arbitrarily access any addresses in the OP to retrieve and/or write numbers or instructions to the MS.

Functional blocks (units, devices)

While logical elements and nodes are largely universal and can be used in a wide variety of combinations to solve a variety of problems, computer blocks (units) are complexes of elements (nodes) focused on a narrow range of tasks (operations). Units such as an ALU, processor, memory bank, external devices (flat drive, etc.) necessarily include (except for mechanical, optical, electromagnetic and other equipment) logical elements and nodes used for storing information, processing and controlling it these processes.

Central device(CU) represents the main component of the computer and, in turn, includes the CPU - central processing unit (CPU) and OP - random access (main) memory or random access memory - RAM (synonyms - Main Storage, Core Storage, Random Access Memory - RAM).

The processor directly implements the operations of information processing and control of the computing process, retrieving machine commands and data from RAM, executing them and recording the results in the OP, turning the computer on and off. The main blocks of the processor are:

  • a control device (CU) with a processor interface (a system for interfacing and communicating the processor with other machine components);
  • arithmetic logic unit (ALU);
  • processor memory (internal cache).

RAM is designed for temporary storage of data and programs during computational and logical operations.

Arithmetic logic unit (ALU). Arithmetic and Logical Unit (ALU) - part of the processor that performs arithmetic and logical operations on data.

The ALU implements a set of simple operations. An arithmetic operation is a data processing procedure whose arguments and results are numbers (addition, subtraction, multiplication, division). A logical operation is a procedure that carries out the construction of a complex statement (operations and, or, not). The ALU consists of registers, an adder with corresponding logical circuits, and a control unit for the process being executed. The device operates according to the operation codes it is given, which must be performed on the variables placed in the registers.

External devices (ED). Control units ensure effective interaction of the computer with the environment - users, control objects, and other machines.

In specialized control computers (technological processes, communications, rockets, etc.), external input devices are sensors (temperature, pressure, distance, etc.), output devices are manipulators (hydraulic, pneumatic, servo drives for steering wheels, valves, etc.) .

In mainframe computers (human-machine information processing), terminals, printers, and other devices act as computers.

Interfaces (communication channels) serve to interface the central components of the machine with its external devices.

The same type of central processing unit and data storage devices can be used in different types of machines. There are examples of how companies that began their activities with the production of control machines, improving their products, moved on to the production of systems that, depending on the configuration of the control unit, can play the role of both universal and control machines (Hewlett-Packard machines - HP and Digital Equipment Corporation - DEC).

Abstract central device

Let's list the basic concepts and consider the structure and functions of the abstract central computer device (Fig. 2.23), the arithmetic and logic unit (ALU) of which is designed to process integers and bit strings.

Command, instruction (instruction) - description of the operation to be performed. Each command is characterized by a format that determines its structure. A typical command contains:

  • operation code (OPC), characterizing the type of action performed;
  • address part (A4), which generally includes:
  • - numbers (addresses) of the index (IR) and basic (BR) registers;
  • - operand addresses - Al, A2, etc.

CPU cycle - the period of time during which the command of the source program is executed in machine form; consists of several beats

Tact processor operation - the time interval between adjacent pulses (tick of the internai clock) clock generator, whose frequency is processor clock speed. Processor clock (clock cycle) - a time slice during which an elementary operation is carried out - sampling, comparison, data transfer.

Bit depth

Team To+ 1 Team To

Address part (addressability) /

Basic registers (BR1, BR2, ...)

Index registers (IR1, IR2, ...)

Result register

Number registers (RF1, RF2, ...)

Command address register (RAK, SchAK)

Address registers (PA1, PA2, ...)

Command Register (RK)

Adder

Control device (CU)

Rice. 2.23. The structure of the simplest central computer device

Performance short command - arithmetic with FT (fixed point - FZ), logical operation - takes at least five clock cycles (see also Fig. 3.1):

  • command fetch (Fetch);
  • operation code decoding/decoding (instruction Decode);
  • address calculation and data retrieval from memory (Address Generate, Load)
  • execution of the operation (Execute);
  • writing the result to memory (write Back, store).

The procedure corresponding to each clock cycle is implemented by a specific logical circuit (circuit) of the processor, usually called a microinstruction.

Registers - devices designed for temporary storage of data of limited size (register storage device - RSU). An important characteristic of the register is the high speed of data reception and output. A register consists of bits into which a word, instruction, binary number, etc. can be quickly written, stored, and read. Typically, a register has the same bit width as a machine word.

A register that has the ability to move the contents of its bits is called shear. In these registers, in one clock cycle the stored word is shifted bitwise by one position.

General purpose registers - RON, main memory registers or register file - RF (General Purpose Registers) - a general name for registers that temporarily contain data transferred to or received from memory.

Command Register(РК, Instruction Register - IR) serves to accommodate the current instruction that is in it during the current processor cycle.

Register (RAK), counter (SchAK) command addresses(program counter - PC) - a register containing the address of the current command.

Address register (number) - RA(CH) - contains the address of one of the operands of the command being executed (there may be several registers).

Number register (RF) contains the operand of the command being executed; there are also several of these registers.

Result register (RR) is intended to store the result of command execution.

Adder - a register that performs addition operations (logical and arithmetic binary) of numbers or bit strings represented in forward or reverse code. The register storing intermediate data is often called battery.

There are other registers not marked in the diagram, for example status register - Status Register (SR) or flag register. Typical content of an SR is information about special command completion results (zero, overflow, division by zero, carry, etc.). The control uses information from the SR to execute conditional jumps (for example, “in case of overflow, go to address 4170”). Below we will discuss in more detail 18086 processor registers.

Execution Loop short command may look like this.

  • 1. In accordance with the contents of SchAK (address of the next command), the CU extracts the next command from the OP and places it in the RC. The control unit processes some commands independently, without the involvement of the ALU (for example, upon the command “go to address 2478”, the value 2478 is immediately entered into the ALU, and the processor proceeds to execute the next command.
  • 2. The command is deciphered (decoded).
  • 3. Addresses Al, A2, etc. are placed in address registers.
  • 4. If the command specifies IR or BR, then their contents are used to modify the RA - in fact, numbers or commands are selected that are shifted in one direction or another with respect to the address specified in the command.
  • 5. Based on the RA values, numbers (strings) are read and placed in the RF.
  • 6. Performing the operation and placing the result in the PP.
  • 7. Record the result at one of the addresses (if necessary).
  • 8. Increase the contents of SchAK by one (move to the next command).

Obviously, by increasing the number of registers it is possible parallelization, overlap operations. For example, when reading a command, SchAK can be automatically increased by 1, preparing to fetch the next command. After decrypting the current command, the RC is released and the next command can be read into it. When an operation is performed, the next command can be decrypted, etc. All this is a prerequisite for the construction of so-called pipeline structures (pipeline). However, all this is good only if the commands are executed in a sequential (natural) order. The appearance of transitions (especially under a condition not previously defined) violates this picture (in particular, the increase in SchAK by 1, mentioned above, turns out to be invalid). Therefore, modern processors try to predict transitions in the program (branch prediction).

Computer architectures

Star architecture. Here the processor (CU) (Fig. 2.24, A) connected directly to the computer and controls their operation (early models of machines). This type is also called classical architecture (von Neumann) - one arithmetic




CPU

Main

PCI-ISA bridge

PCI slots

Controller

periphery

Universal Serial Bus

System Management Bus

Rice. 2.24. Main classes of computer architectures: A- centralized; b - hierarchical; V - mainline; G - general structure of a personal computer (Triton 430 TX architecture - Northbridge/

a co-logical unit (ALU) through which the data flow passes, and one control device (CU) through which the command flow passes - the program. This is a single-processor computer.

Princeton and Harvard architecture. Von Neumann architecture is often associated with Princeton architecture, which is characterized by the use of shared main memory to store programs and data.

The alternative - Harvard architecture (the name is associated with the Mark 1 computer (1950), which used separate memory for instructions) is characterized by a physical separation of instruction memory (programs) and data memory. Each memory is connected to the processor by a separate bus, which allows simultaneous reading and writing of data while executing the current command to fetch and decode the next command.

The Harvard architecture appears in modern processors when the CPU cache allocates instruction memory (I-Cache) and data memory (D-Cache).

Hierarchical architecture(Fig. 2.24, b) - The control center is connected to peripheral processors (auxiliary processors, channels, channel processors), which in turn control controllers to which groups of computers are connected (IBM 360-375 systems, ES computers);

Backbone structure(common bus - unibas, Fig. 2.24, V). The processor (processors) and memory units (RAM) interact with each other and with the computer (controllers of the computer) through an internal channel common to all devices (DEC machines, IBM PC-compatible PCs). Physically highway is a multi-wire line with sockets for connecting electronic circuits. The set of trunk lines is divided into separate groups - the address bus, the data bus and the control bus.

This type of architecture also includes personal computer (PC) architecture. Of course, the real structure of the PC (Fig. 2.24, G) differs from theoretical schemes - it uses several types of bus interfaces that are connected to each other by bridges - memory controllers (Northbridge) and peripheral devices (Southbridge).

INTRODUCTION

The level of architecture is necessary for every specialist. Architecture is the most general principles of computer construction that implement software control of the operation and interaction of the main functional units. At this level, knowledge of circuit designs of modern radio engineering and microelectronics is not required. The latter generally goes beyond computer science; it is required only by developers of physical computer elements.

The level of architecture is quite deep; it will include issues of managing the operation of a computer (programming) in machine command language (assembler). This method of control is much more complex than writing programs in high-level languages ​​and, nevertheless, without an idea of ​​it it is impossible to understand the real operation of the computer.

Finally, this chapter provides a brief overview of the external devices of modern computers - drives, input and output devices - as well as a basic description of the principles of their operation and professional characteristics.

The object of study is computer technology.

The subject of the study is computer architecture.

The purpose of the work is to study computer architecture.

To achieve this goal, it is necessary to solve the following tasks:

· define the concept of computer architecture;

· study educational literature on the topic “Computer Architecture”;

· study the development of the internal structure of a computer.


1. ABOUT THE CONCEPT OF “COMPUTER ARCHITECTURE”

The word “architecture” in its original sense is used in urban planning. Being a rather complex structure, a modern city consists of districts, squares, streets, houses, etc., located in a certain way.

In order to navigate the intricacy of streets and squares, in any city there is a historically established system of names, as well as a certain numbering of houses. The presence of generally accepted addressing allows you to unambiguously determine the position of any structure and, if necessary, quickly find it. In many cases, the layout of streets and the assignment of names to them is random. At the same time, it happens that this activity is carefully thought out and is a continuation of the general layout of the city, i.e. in fact part of its architecture. A classic example is the well-known system of mutually perpendicular streets (avenues and streets) of New York City. In addition to being purely practical, the architecture of a city can also have artistic value (which is usually of more interest to visitors). But this aspect of the concept of “architecture” is unlikely to be transferred to computer technology.

Using an analogy with urban planning, it is natural to understand by computer architecture the totality of their characteristics that the user needs. These are, first of all, the main devices and blocks of a computer, as well as the structure of connections between them. If we look, for example, in the “Explanatory Dictionary of Computing Systems”, we will read there that the term “computer architecture is used to describe the principle of operation, configuration and interconnection of the main logical nodes of a computer “architecture””.

However, describing the internal structure of a computer is not at all an end in itself: from an architectural point of view, only those connections and principles are of interest that are the most general, inherent in many specific implementations of computers. They often even talk about computer families, i.e. groups of models that are compatible with each other. Within the same family, the basic principles of the design and operation of machines are the same, although individual models may differ significantly in performance, cost and other parameters. A striking example is the various modifications of PDP computers from DEC (better known to our users for their domestic analogues - the DVK series), the family of MSX machines, which owns the widespread YAMAHA, as well as the IBM-compatible personal computers that have flooded the world.

It is precisely what is common in the structure of a computer that is referred to as architecture. It is important to note that the purpose of such commonality, ultimately, is a completely understandable desire: all machines of the same family, regardless of their specific device and manufacturer, should be able to execute the same program. This inevitably follows the conclusion that from an architectural point of view, not all information about the construction of a computer is important, but only that which can somehow be used in programming and “user” work with the computer. Below is a list of the most general principles of computer construction that relate to architecture:

Computer memory structure;

Methods of accessing memory and external devices;

Ability to change computer configuration;

Command system;

Data formats;

Interface organization.

Summarizing all of the above, we get the following definition of architecture:

“Architecture is the most general principles of computer construction that implement software control of the operation and interaction of its main functional units.”

2. CLASSICAL COMPUTER ARCHITECTURE II VON NEUMANN PRINCIPLES

The foundations of the doctrine of computer architecture were laid by the outstanding American mathematician John von Neumann. He became involved in the creation of the world's first tube computer, ENIAC, in 1944, when its design had already been selected. During his work, during numerous discussions with his colleagues G. Goldstein and A. Berks, von Neumann expressed the idea of ​​a fundamentally new computer. In 1946, scientists outlined their principles for constructing computers in the now classic article “Preliminary Consideration of the Logical Design of an Electronic Computing Device.” Half a century has passed since then, but the provisions put forward in it remain relevant today.

Previously, all computers stored processed numbers in decimal form. The authors convincingly demonstrated the advantages of the binary system for technical implementation, the convenience and simplicity of performing arithmetic and logical operations in it. Later, computers began to process non-numeric types of information - text, graphic, sound and others, but binary data coding still forms the information basis of any modern computer.

Another truly revolutionary idea, the importance of which is difficult to overestimate, is the “stored program” principle proposed by Neumann. Initially, the program was set by installing jumpers on a special patch panel. This was a very labor-intensive task: for example, it took several days to change the program of the ENIAC machine (while the calculation itself could not last more than a few minutes - the lamps failed). Neumann was the first to realize that a program could also be stored as a series of zeros and ones, in the same memory as the numbers it processed. The absence of a fundamental difference between the program and the data made it possible for the computer to form a program for itself in accordance with the results of the calculations.

Von Neumann not only put forward the fundamental principles of the logical structure of a computer, but also proposed its structure, which was reproduced during the first two generations of computers. The main blocks according to Neumann are a control unit (CU) and an arithmetic-logical unit (ALU) (usually combined into a central processor), memory, external memory, input and output devices. The design of such a computer is shown in Figure 2.1. Solid lines with arrows indicate the direction of information flows, dotted lines indicate control signals from the processor to other computer nodes

Figure 2.1 - Computer architecture built on Von Neumann principles

The control device and the arithmetic-logical unit in modern computers are combined into one unit - the processor, which is a converter of information coming from memory and external devices (this includes retrieving instructions from memory, encoding and decoding, performing various, including arithmetic, operations, coordination of the operation of computer nodes). Memory (memory) stores information (data) and programs. The storage device in modern computers is “multi-tiered” and includes random access memory (RAM), which stores the information with which the computer is working directly at a given time, and external storage devices (ESD) of much larger capacity than RAM, but with significantly slower access. The classification of memory devices does not end with RAM and VRAM - certain functions are performed by both SRAM (super-random access memory), ROM (read-only memory), and other subtypes of computer memory.

In a computer built according to the described scheme, instructions are sequentially read from memory and executed. The number (address) of the next memory cell from which the next program command will be extracted is indicated by a special device - a command counter in the control unit. Its presence is also one of the characteristic features of the architecture in question.

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 computers today are von Neumann machines. The only exceptions are certain types of systems for parallel computing, in which there is no program counter, the classical concept of a variable is not implemented, and there are other significant fundamental differences from the classical model (examples include streaming and reduction computers).

Apparently, a significant deviation from the von Neumann architecture will occur as a result of the development of the idea of ​​fifth-generation machines, in which information processing is based not on calculations, but on logical conclusions.

3. IMPROVEMENT AND DEVELOPMENT OF THE INTERNAL COMPUTER STRUCTURE

The previous section described the classical structure of a computer, corresponding to computers of the first and second generations. Naturally, as a result of the rapid development of technology for the production of computer equipment, such a structure could not but undergo certain progressive changes.

As noted above, the emergence of the third generation of computers was due to the transition from transistors to integrated circuits. Significant advances in the miniaturization of electronic circuits not only contributed to a reduction in the size of the basic functional units of a computer, but also created the preconditions for a significant increase in processor speed. A significant contradiction arose between the high speed of information processing inside the machine and the slow operation of input-output devices, most of which contain mechanically moving parts. The processor, which controlled the operation of external devices, would be forced to idle for a significant part of the time, waiting for information “from the outside world,” which would significantly reduce the efficiency of the entire computer as a whole. To solve this problem, a tendency arose to free the central processor from exchange functions and transfer them to special electronic circuits for controlling the operation of external devices. Such circuits had various names: exchange channels, input/output processors, peripheral processors. Recently, the term “external device controller” (or simply controller) has been increasingly used.

The presence of intelligent controllers for external devices has become an important distinguishing feature of third- and fourth-generation machines.

The controller can be considered as a specialized processor that controls the operation of the external device “entrusted to it” using special built-in exchange programs. Such a processor has its own instruction system. For example, a floppy disk drive controller can position the head on the desired disk track, read or write a sector, format a track, etc. The results of each operation are entered into the internal memory registers of the controller and can later be read by the central processor.

Thus, the presence of intelligent external devices can significantly change the ideology of exchange. If it is necessary to carry out an exchange, the central processor issues a task for its implementation to the controller. Further exchange of information can take place under the guidance of the controller without the participation of the central processor. The latter gets the opportunity to “mind his own business,” i.e. carry out the program further (if nothing can be done on this task before the exchange is completed, then you can solve another one at this time).

Let us now move on to a discussion of the internal structure of a computer containing intelligent controllers, shown in Fig. 3.1. The figure shows that for communication between individual functional nodes of the computer, a common bus is used (often called a backbone). The tire consists of three parts:

Data bus through which information is transmitted;

The address bus, which determines where the data is sent;

A control bus that regulates the information exchange process.

There are computer models in which data buses and addresses are combined to save money. With such machines, the address is first put on the bus, and then after a while the data; For what purpose the bus is currently being used is determined by the signals on the control bus.

The described scheme can be easily replenished with new devices - this property is called the openness of the architecture. For the user, open architecture means the ability to freely choose the composition of external devices for your computer, i.e. configure it depending on the range of tasks to be solved.

In Fig. 3.1 presents a new one compared to Fig. 2.1 type of memory - video - RAM (video memory). Its appearance is associated with the development of a special output device - a display. The main part of the display is a cathode ray tube, which displays information in much the same way as it does on a TV (some cheap home computer models simply have a regular TV connected to it). Obviously, the display, having no mechanically moving parts, is a “very fast” information display device. Therefore, for third- and fourth-generation computers it is an integral part (although the display was first implemented on some second-generation computers, for example, on MIR-2, a very interesting domestic development in many respects).

Figure 3.1 - Computer bus architecture


To get a stable picture on the monitor screen, it needs to be stored somewhere. That's what video memory is for. First, the contents of the video memory are generated by the computer, and then the display controller displays the image on the screen. The amount of video memory depends significantly on the nature of the information (text or graphic) and on the number of colors in the image. Structurally, it can be made like regular RAM or contained directly in the display controller (which is why it is shown as a dotted line in Figure 3.1).

Let us dwell on one more important feature of the structure of modern computers. Since the processor has now ceased to be the center of the design, it has become possible to implement direct connections between computer devices. In practice, they most often use data transfer from external devices to RAM and vice versa. The mode in which an external device communicates directly with RAM without the participation of the central processor is called direct memory access (DMA). To implement it, a special controller is required. We emphasize that the PDP mode did not exist in cars of the first and second generations. Therefore, the sometimes encountered computer diagram, in which data from input devices directly enters RAM, does not correspond to reality: in the absence of a DMA controller, data is always first received into the internal registers of the processor and only then into memory.

When describing the backbone structure, we simplistically assumed that all devices interact through a common bus. From an architectural point of view, this is quite enough. Let us mention, however, that in practice such a structure is used only for computers with a small number of external devices. With an increase in information flows between computer devices, the only highway is overloaded, which significantly slows down the operation of the computer. Therefore, one or more additional buses can be introduced into the computer. For example, one bus can be used for communication with memory, the second for communication with “fast”, and the third with “slow” external devices. Note that a high-speed RAM data bus is required if there is a DMA mode.

Concluding our discussion of the features of the internal structure of modern computers, we point out several characteristic trends in its development. Firstly, the set of external devices is constantly expanding and improving, which leads, as described above, to the complication of the system of connections between computer nodes. Secondly, computers are no longer single-processor. In addition to the central one, the computer may have specialized processors for floating point calculations (so-called mathematical coprocessors), video processors to speed up the display of information on the display screen, etc. The development of parallel computing methods also brings to life computer systems of a rather complex structure, in which one operation is performed by several processors at once. Thirdly, the emerging desire to have high-speed machines not only for calculations, but also for logical analysis of information, may also lead in the coming years to a serious revision of the traditional von Neumann architecture.

Another feature of the development of modern computers is the ever-accelerating increase in the role of intercomputer communications. An increasing number of computers are networked and process existing information together.

Thus, the internal structure of computer technology has been constantly improved and will continue to improve.

At the same time, at the moment, the vast majority of existing computers, despite the existing differences, still consist of identical components and are based on the general principles of von Neumann architecture.


4. BASIC CYCLE OF COMPUTER OPERATION

This section briefly discusses the sequence of actions when executing a command on a computer. It can be argued that the working cycle is generally the same for all von Neumann machines.

An important component of the von Neumann architecture is the instruction address counter. This special internal processor register always points to the memory location where the next program instruction is stored. When the power is turned on or when the reset button is pressed, the starting address of the program for initializing all devices and booting located in the ROM is entered into the counter in hardware. The further functioning of the computer is determined by the program. Thus, all computer activity is the continuous execution of certain programs, and these programs can, in turn, load new programs, etc.

Each program consists of separate machine instructions. Each machine command is divided into a number of elementary unified components, which are usually called clock cycles. Depending on the complexity of the command, it can be implemented in a different number of clock cycles. For example, transferring information from one internal processor register to another is performed in several clock cycles, but multiplying two integers requires an order of magnitude more clock cycles. A significant lengthening of the command occurs if the data being processed is not yet inside the processor and must be read from RAM.

When executing each command, the computer performs certain standard actions:

1) according to the contents of the command address counter, the next program command is read (its code is usually stored in a special register of the control unit, which is called the command register);

2) the program counter is automatically changed so that it contains the address of the next command (in the simplest case, for this purpose it is enough to add some constant to the current counter value, determined by the length of the command);

3) the operation read into the command register is decrypted, the necessary data is extracted and the required actions are performed on them.

Then, in all cases, with the exception of the stop command or the occurrence of an interrupt, all the described actions are repeated cyclically.

After fetching the stop command, the computer stops processing the program. To exit this state, either a request from external devices or a machine restart is required.

The considered basic computer algorithm allows you to step by step execute a linear program stored in RAM. If you need to change the order of calculations to implement a fork or loop, it is enough to enter the required address into the program counter (this is how a conditional or unconditional jump occurs).

Computers based on the INTEL 80286 and later microprocessors use pipelining (sometimes called prefetch) to speed up the main instruction cycle. The idea is that several internal devices of the processor work in parallel: one reads the instruction, another deciphers the operation, the third calculates the addresses of the operands used, etc. As a result, upon completion of a command, it most often turns out that the next one has already been selected from RAM, decrypted and prepared for execution. Note that if the natural order of execution of instructions in the program is violated (for example, during an unconditional jump), the forward fetch is in vain and the pipeline is cleared. The command following the transition takes longer to execute, since in order for the conveyor to “work at full capacity”, it must first be filled. In other words, in a conveyor machine, the execution time of a program can depend not only on its constituent instructions, but also on their relative position.

5. COMPUTER COMMAND SYSTEM AND METHODS OF ACCESSING DATA

Do it. Address buffers ultimately make it possible to smooth out the unevenness of requests to memory and thereby increase the efficiency of its use. The third structural feature of BESM-6 is the method of using small-volume super-operational, non-addressable memory from the program, the purpose of which is to automatically save access to the main random access memory...

Processors included in peripheral devices). In a multi-machine computing system, several processors included in the computing system do not have a common RAM, but each have their own (local). Each computer in a multi-machine system has a classical architecture, and such a system is used quite widely. However, the effect of using such a computing system...

User. Using the keyboard, they control the computer system, and using the monitor, they receive feedback from it. Operating principle. The keyboard is one of the standard features of a personal computer. Its main functions do not require support from special system programs (drivers). The necessary software to start working with a computer is already available in the ROM chip in...