Computers with open architecture structure and purpose of elements. Concept and main types of computer architecture

Computers with open architecture structure and purpose of elements. Concept and main types of computer architecture

With the development of computer technology and software, any computer began to be considered as a computing system, which is a combination of two conceptually combined parts: hardware and software. The concept of “computer architecture” has appeared, associated with the functionality of a computing system that the user must know in order to effectively use the system in solving their problems.

Computer architecture is a model that establishes the principles of organization of a computer system, the composition, order and interaction of the main parts of a computer, functionality, ease of use, cost, and reliability.

Any computer, including a PC, must have a minimum set of functional blocks to perform its functions. This is a block for performing arithmetic and logical operations; a block for storing information (memory) or a storage device; devices for inputting initial data and outputting results. Since all these devices must synchronously perform the necessary actions, they must be controlled. Therefore, in the structure of any computer it is also necessary to have a control device.

All of the listed blocks, taking into account the fact that there are two levels in the memory device (internal and external), fully correspond to the composition of the classical von Neumann structure of a computer, which has been the basis of computers for more than half a century (Fig. 4.1).

Rice. 4.1.

bold arrows – information transfer; thin arrows – transmission of control signals; ALU – a block for performing arithmetic and logical operations; Memory – storage device; УУ – control device; UVV – information input device; Alas – information output device

Computer structure determines the set of functional elements of a computer and the method of establishing connections between them. In modern computers, the device for performing arithmetic and logical operations and the control device are combined into a central processor. Instead of a limited set of input-output devices available in computers of the first generations, modern machines have a large arsenal of devices (various drives on magnetic, optical and magneto-optical disks, scanners, keyboard, mouse, joystick, printers, plotters, plotters). The hierarchy of storage devices is represented by even more levels.

Hardware (hardware ) – a set of technical means used in the process of computer operation and interacting with each other.

Structurally, the hardware of a modern computer, including a PC, consists of two main parts: central and peripheral. The central part usually includes the central processor and main memory, since it is on their basis that the principle of program control is implemented.

CPU ensures the implementation of data processing procedures and software control of this process. It includes an arithmetic-logical unit, a control device, and its own storage devices (registers, cache memory).

Arithmetic logic unit (ALU) – part of the processor that ensures the execution of data conversion procedures.

Control device (CU) – part of the processor that provides control of the data processing process.

The controller selects instructions from main memory, interprets the instruction type, and runs the desired ALU circuit.

Processor storage devices – devices that provide data storage.

Main memory The computer includes RAM and permanent memory.

RAM - a device that provides temporary storage of commands and data during program execution.

Persistent memory – a device that provides permanent storage and the ability to read information critical for the operation of a computer.

The main memory and storage devices of the processor refer to internal storage devices. They interact directly with the processor, have high performance and relatively small capacity.

All other computer devices belong to the peripheral part and are called external or peripheral. External devices are divided into input/output devices and external storage devices.

I/O devices provide input of initial data and output of results from central computer devices.

External storage devices (VZU) have a large capacity and relatively low speed. These include magnetic disk drives (MDDs), magnetic tape drives (MTDs), optical disk drives (ODDs), and flash memory drives.

One computer can use from one to several hundred external devices. The composition of these devices, as a rule, is variable and is determined by the composition of the tasks solved on a particular computer. Therefore it is customary to say about computer configuration , understanding by this term the specific composition of its devices, taking into account their characteristics.

It is accepted that the transfer of information from peripheral devices to the PC core is called input operation. The transfer of information from the PC core to peripheral devices is called withdrawal operation.

Sometimes peripheral devices are divided into system peripherals, without which the computer cannot fully function, and additional ones. System peripherals include a keyboard, monitor, hard disk drive, and printer. Additional devices include various devices for input and output of information, devices for communication with the external environment, and for processing multimedia information.

The structure of high-performance computers includes I/O channels – a set of devices that provide data exchange between the central processor, RAM and input/output devices.

Channels can operate in parallel with the central processor. Their main purpose is to remove from the central processor some of the functions of managing data exchange with external devices.

The effectiveness of using a computer is determined not only by the composition and characteristics of its devices, but also by the way they organize their joint work. The connection of computer components is carried out using interfaces – a set of standardized hardware and software that ensures the exchange of information between devices. The construction of interfaces is based on the use of uniform data encoding methods and standardization of connecting elements. The presence of standard interfaces allows you to unify the transfer of information between devices, regardless of their features.

Different structures are used for different classes of computers. High-performance computers usually use a hierarchical structure with several levels of interfaces and input-output channels. The most commonly used structure in a PC is a system backbone structure called system bus, which is a system of functionally combined wires that provide data transmission, data addresses and control signals (Fig. 4.2).

The number of wires in the system bus intended for data transmission is called bus width. The bus width determines the number of binary bits transmitted on the bus at the same time. The number of address wires determines how much RAM can be addressed.

Hardware platform – a set of technical means that determine the operating environment of specific programs. The basis of the hardware platform is the combination of the system (motherboard) board and the type of processor used.

Rice. 4.2.

CPU – central processing unit; RAM – random access memory; ROM – read-only memory; Controller – device for controlling a peripheral device

  • Named after the American scientist J. von Neumann (1903–1957), who in 1946 substantiated the composition of the main devices and principles of operation of a computer.

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 the architecture of a computer as the totality of its characteristics that is necessary for the user. 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...

Electronic computers (computers), or, as they are now more often called, computers, are one of the most amazing creations of man. In a narrow sense, computers are devices that perform various types of calculations or facilitate this process. The simplest devices serving similar purposes appeared in ancient times, several thousand years ago. As human civilization developed, they slowly evolved, continuously improving. However, only in the 40s of our century the beginning was made of the creation of computers of modern architecture and with modern logic. These years can rightfully be considered the time of the birth of modern (naturally, electronic) computers.

For a computer to be both an effective and versatile tool, it must include the following structures: a central arithmetic-logical unit (ALU), a central control unit (CU) that “conducts” operations, a storage device, or memory, and input/output devices. .

Von Neumann noted that this system must work with binary numbers, be an electronic rather than a mechanical device, and perform operations sequentially, one after another.

The principles formed by von Neumann became generally accepted and formed the basis of both first-generation mainframe computers and later mini- and micro-computers. And although recently there has been an active search for computers built on principles other than classical ones, most computers are built according to the principles defined by Neumann.

Computer architecture and structure

When considering computer devices, it is common to distinguish between their architecture and structure.

Computer architecture is called its description 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 a computer: processor, RAM, external storage and peripheral devices. The common architecture of different computers ensures their compatibility from the user's point of view.

Computer structure 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.

The most common architectural solutions are:

Classical architecture(von Neumann architecture) - one arithmetic-logical unit (ALU), through which the data flow passes, and one control device (CU), through which the command flow - the program - passes. This is a single-processor computer. This type of architecture also includes the architecture of a personal computer with a common bus. All functional blocks here are interconnected by a common bus, also called a system bus.

Physically the highway is a multi-wire line with sockets for connecting electronic circuits. The set of trunk wires is divided into separate groups: address bus, data bus and control bus.

Peripherals ( printer, etc.) are connected to the computer hardware through special controllers - peripheral device control devices.

Controller- a device that connects peripheral equipment or communication channels with the central processor, relieving the processor from directly controlling the operation of this equipment.

Multiprocessor architecture. The presence of several processors in a computer means that many data streams and many command streams can be organized in parallel. Thus, several fragments of one task can be executed in parallel. The structure of such a machine, which has a common RAM and several processors, is shown in the figure.

Multiprocessor computer architecture

Multi-machine computing system. Here, several processors included in a 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 can only be obtained by solving problems that have a very special structure: it must be divided into as many loosely coupled subtasks as there are computers in the system.

The speed advantage of multiprocessor and multi-machine computing systems over single-processor ones is obvious.

Parallel Processor Architecture. Here, several ALUs operate under the control of one control unit. This means that a lot of data can be processed by one program - that is, by one stream of commands. High performance of such an architecture can only be achieved on tasks in which the same computational operations are performed simultaneously on different data sets of the same type. The structure of such computers is shown in the figure.

Parallel Processor Architecture

Modern cars often contain elements of various types of architectural solutions. There are also architectural solutions that are radically different from those discussed above.

A modern personal computer consists of several main structural components:

  • system unit;
  • monitor;
  • keyboards;
  • manipulators.


System unit

The system unit is the most important unit of the computer. All other units, called external or peripheral devices, are connected to it. The system unit contains the main electronic components of the computer. The PC is built on the basis of VLSI (ultra-large-scale integrated circuits), and almost all of them are located inside the system unit, on special boards (a board is a plastic plate on which electronic components are fixed and interconnected - VLSIs, microcircuits, etc.). The most important board in a computer is the motherboard. It contains the central processor, coprocessor, random access memory (RAM) and connectors for connecting controller boards to external devices.

The system unit contains:

  • power supply - a device that converts alternating mains voltage into direct voltage of different polarity and magnitude, necessary to power the system board and internal devices. The power supply contains a fan that creates circulating air flows to cool the system unit.
  • system board (motherboard);
  • trunk (system bus);
  • CPU;
  • sound card;
  • video card (graphics card);
  • hard disk drives;
  • floppy disk drives;
  • optical, magneto-optical and other storage devices;
  • CD-ROM, DVD-ROM drive;

Motherboard

The main part of any computer system is the motherboard with the main processor and its supporting chips. Functionally, a motherboard can be described in various ways. Sometimes such a board contains the entire circuitry of the computer (single board). In contrast to single-board computers, in bus-oriented computers the motherboard implements a minimal configuration circuit; the remaining functions are implemented using numerous additional cards. All components are connected by a bus. The motherboard does not have a video adapter, some types of memory, or means of communication with additional devices. These devices (expansion cards) are added to the system board by attaching to the expansion bus, which is part of the system board.

The first motherboard was developed by IBM, and was shown in August 1981 (PC-1). In 1983, a computer with an enlarged motherboard (PC-2) appeared. The maximum that the PC-1 could support without using expansion cards was 64K of memory. The PC-2 already had 256K, but the most important difference was in the programming of the two boards. The PC-1 motherboard could not without adjustment support the most powerful expansion devices, such as a hard drive and improved video adapters.

A motherboard is a complex of various devices that supports the operation of the system as a whole. Mandatory attributes of the motherboard are the base processor, RAM, system BIOS, keyboard controller, expansion connectors.

The motherboard inside a computer is the main mounting part to which other components are attached.

During normal operation of the motherboard, they do not think about it until the computer needs to be improved. Usually they want to install a faster processor, which leads to replacing the motherboard. For example, you cannot replace an old Pentium MMX with a Pentium III without a new motherboard.

By the appearance of the motherboard, you can determine what kind of processor, memory and additional devices are needed that are inserted into the external ports and sockets of the computer.

Based on size, motherboards can generally be divided into three groups. Previously, all motherboards were 8.5/11 inches. In the XT, the dimensions have increased by 1 inch; in the AT, the dimensions have increased even more. Often we can talk about “green” boards (green motherboard). Now only such boards are produced. These motherboards allow you to implement several economical power consumption modes (including the so-called “sleep”, in which power is turned off from computer components that are not currently working).

The US Environmental Protection Agency (EPA) has focused on reducing the energy consumption of computer systems. Equipment that meets its (EPA) requirements must consume no more than 30 W on average (in idle mode), not use toxic materials and allow 100% recycling. Since modern microprocessors use a supply voltage of 3.3-4V, and 5V is supplied to the board, on system
Voltage converters are installed on the boards.

Frequency of the processor, system bus and peripheral buses

The performance of various computer components (processor, RAM and peripheral controllers) can vary significantly. To coordinate performance, special microcircuits (chipsets) are installed on the motherboard, including a RAM controller (the so-called north bridge) and a peripheral device controller (south bridge).

Fig.1. Motherboard logic diagram

The PCI bus (Peripheral Component Interconnect bus) is connected to the north bridge, which ensures the exchange of information with peripheral device controllers. The controller frequency is less than the system bus frequency, for example, if the system bus frequency is 100 MHz, then the PCI bus frequency is usually three times less - 33 MHz. Peripheral device controllers (sound card, network card, SCSI controller, internal modem) are installed in the expansion slots of the motherboard.

As the monitor resolution and color depth increase, the requirements for the speed of the bus connecting the video card with the processor and RAM increase. Currently, to connect a video card, a special AGP (Accelerated Graphic Port) bus is usually used, connected to the north bridge and having a frequency several times higher than the PCI bus.

The south bridge ensures the exchange of information between the north bridge and ports for connecting peripheral equipment.

Storage devices (hard drives, CD-ROM, DVD-ROM) are connected to the south bridge via the UDMA (Ultra Direct Memory Access) bus.

The mouse and external modem are connected to the southbridge using serial ports, which transmit electrical impulses carrying information in machine code, one after the other. Serial ports are designated as COM1 and COM2, and
are implemented in hardware using 25-pin and 9-pin connectors, which are located on the rear panel of the system unit.

The printer is connected to a parallel port, which provides a higher information transfer speed than serial ports, as it simultaneously transmits 8 electrical pulses carrying information in machine code. The parallel port is designated as LTP, and is implemented in hardware as a 25-pin connector on the rear panel of the system unit.

To connect scanners and digital cameras, a USB port (Universal Serial Bus) is usually used, which provides high-speed connection of several peripheral devices to the computer at once. The keyboard is usually connected using the PS/2 port.

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.

The structure of a computer is the totality of its functional elements and the connections between them. 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.

The architecture of a computer is its representation at a certain 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) RAM, OP), external storage and peripheral devices.

The most important place in the structuring of systems is occupied by interface means, which are called interfaces. An interface is a set of switches, lines, signals, electronic circuits and algorithms (protocols) designed to exchange information between devices.

Computer structures and architectures Von Neumann principles

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

Principle of program control; principle of memory homogeneity; principle of targeting. More than 60 years later, most computers still have “von Neumann architecture,” usually implementing von Neumann principles in the following form:

  • Random access memory (RAM or RAM - random access memory) is organized as a set of machine words (MS) of a fixed length or bit capacity (meaning the number of binary units or bits contained in each MS). For example, early PCs were 8-bit, then 16-bit, and then 32- and 64-bit machines appeared. At one time, there were even 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)

A short list of the main devices included in computers is shown in Fig. 2.1.

Central unit (CU) represents the main component of the computer and in turn includes the CPU - central processing unit (CPU) and RAM (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 instructions and data from the operational memory.

2.1. Computer structures and architectures

Rice. 2.1. List of computer devices

* These devices are not considered here. The reader can refer, for example, to.

memory, their execution and recording of the results in the OP, turning on and off the computer. Let's take the Intel Pentium processor as an example (Fig. 2.2). It consists of the following blocks:

Core. The main executive device, which includes an arithmetic-logical unit (ALU, or Arithmetic and Logical Unit - ALU), registers, pipelines. ALU - the part of the processor that performs arithmetic and logical operations on data, works in accordance with the operation codes communicated to it, which must be performed on variables placed in registers. Increased performance was achieved thanks to two pipelines, allowing multiple instructions to be executed simultaneously. These are two parallel 5-stage integer processing pipelines that allow you to read, interpret, and execute two commands simultaneously. Integer instructions can be executed in one clock cycle. These pipelines are not the same: the U-pipe executes any instruction on the 86-family instruction set; The V-pipeline executes only “simple” commands, i.e. commands that are completely built into the MP circuits and do not require microcode control when executed (these are commands that


Rice. 2.2.

allowing pairing with other instructions: register-register, memory-register, register-memory, transitions, calls, arithmetic-logical operations);

  • branch predictor - a block that “tries to guess” the direction of program branching and load information in advance into the command prefetching and decoding blocks;
  • branch address buffer (Branch Target Buffer - BT B). Provides dynamic branch prediction. It improves instruction execution by remembering completed branches (the last 256 branches) and proactively executing the most likely branch when a branch instruction is fetched. Static prediction methods dictate whether certain types of transitions should always be performed or not. Dynamic methods examine the behavior of transition commands over the previous period;
  • floating point unit. Performs floating point processing;
  • Level 1 cache. The processor has two 8 KB memory banks, one for instructions, the second for data, which are faster than the more capacious external cache memory (L2 cache).
  • Bus Interface. Sends a stream of commands and data to the CPU and transfers data from the CPU.

External (peripheral) devices (VU). Control devices provide interaction with the environment - users, control objects, and other machines.

Interfaces 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 both the role of universal and control machines (Hewlett-Packard machines - HP and Digital Equipment Corporation - DEC).

Computer architectures

Star architecture. Here the processor (CU) - fig. 2.3, 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-logical unit (ALU) through which the data flow passes, and one control device (CU) through which the command flow - the program. This is a single-processor computer.

Princeton and Harvard architecture. Von Neumann architecture is often identified with Princeton architecture, which is characterized by the use of shared RAM to store programs and data. Harvard architecture is characterized by the physical separation of instruction memory (programs) and data memory. Elements of the Harvard architecture are often used in modern processors, where the CPU cache allocates instruction memory (I-cache) and data memory (D-cache).

Hierarchical architecture(Fig. 2.3, 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.3, 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).

Technically, a bus is a set of conductors (lines) connecting various computer components to supply them with power and exchange data. In the minimum configuration, the bus has three types of lines:

management; addresses; data.

This type of architecture also includes personal computer (PC) architecture. Of course, the real structure of the PC (Fig. 2.3, G) differs from theoretical schemes - here several types of bus interfaces are used, which are interconnected by bridges - memory controllers (Northbridge, “North Bridge”) and peripheral devices (Southbridge, “South Bridge”).


Rice. 2.3. Main classes of computer architectures: A- centralized; b- hierarchical; V- main line; G - general structure of a personal computer - Northbridge/Southbridge architecture

Here is an example of a Triton 430 TX chipset:

  • Northbridge - 82439TX System Controller chip, MTHS. Integrates control of cache memory, OP and PCI bus;
  • Southbridge - 82371AB PCI ISA IDE Xcelerator, PIIX4 is a multi-function device that implements PCI-ISA communication, USB hub functions and Enhanced Power Management functions. It implements Dynamic Power Management Architecture (DPMA) - an architecture for dynamic energy management. The Direct Memory Access Protocol (Ultra DMA) is also supported, which provides a transfer speed of 33 MB/s from the HDD.

Modern systems include two types of tires:

  • system bus, connecting the processor with the OP and level 2 cache;
  • a bunch of input-output buses, connecting the processor to various peripheral devices.

The system bus with DIB architecture (Dual independent bus) is physically divided into two (Fig. 2.3, G):

  • primary bus (FSB, frontside bus), connecting the processor with the OP and the OP with peripheral devices;
  • secondary bus (BSB, backside bus) for communication with cache memory.

The use of dual independent buses improves performance by allowing the processor to access different levels of memory in parallel. Typically, the terms "FSB" and "system bus" are used interchangeably.

It should be borne in mind that the terminology currently used to describe interfaces is not completely unambiguous and clear. The system bus is often referred to as the "master bus", "host bus", "processor bus", or "local bus". For I/O buses, the terms “extension bus”, “external bus” and again “local bus” are used.

Open architecture of IBM-PC and its development

First implemented in the IBM PC, IBM PC/XT and PC/AT machines, the open architecture concept assumes that peripheral devices communicate with the CPU (processor).

and OP) through replaceable expansion cards (or adapters) containing electronics, matching control center and peripherals - Fig. 2.4. The development or replacement of some external devices with others in such conditions is accompanied by a simple replacement of the card.


Rice. 2.4. IBM PC open architecture:

1 - motherboard (processor, memory, chipset); 2 - internal interface (ISA, MCA, SCSI, LPC, AGP, HyperTransport, PCI, PCI-X, etc.); 3 - expansion board (adapter, interface card, external device controller); 4 - external device interface (RS-232, Centronics, USB, Firewire, infrared, eSATA, Bluetooth, etc.); 5 - peripheral device (keyboard, monitor, printer, scanner, etc.)

Motherboards and their varieties. The system board is also called the mainboard or motherboard, sometimes the backplane. It is the main wiring diagram inside the PC that houses the processor, memory, expansion slots, and connects directly or indirectly to every part of the PC.

The pictures below illustrate the components for two typical boards:

  • Baby AT (BAT), which uses a Socket 7 connector to connect a processor, approximately 1995 (Fig. 2.5, 2.7, A);
  • ATX with Slot 1 connector for connecting a Pentium I processor, typical for motherboards, on the market since the end of 1998 (Fig. 2.6, 2.7, b).

The open architecture of the first PCs implied a minimum of devices whose controllers were integrated into the motherboard (for example, a keyboard port). All others, including the display adapter, printer adapter, modem adapter, HDD or hard drive controller, were additional components connected via expansion connectors.

At the end of the 1990s. There has been a trend towards placing peripheral adapters directly on the system




Rice. 2.7. Connectors and interfaces located on the rear panel of the cases: A- Baby AT board (schematic illustration), b- ATX (same); V - general view of some types of external interfaces: 1 - connector for connecting the monitor power cord (may be absent on ATX cases); 2 - connector for connecting a computer to an AC network; 3 - connector for connecting a PS/2 keyboard (mini-DIN, 6 pins); 4 - connector for connecting a DIN-5 keyboard; 5 - PS/2 mouse connector; 6 - USB ports; 7 - serial port (COM2); 8 - serial port (COM1); 9 - parallel port (LPT); 10 - video output (VGA/SVGA); 11 - connector for connecting a local network (according to the computer model); 12 - MIDI/Game port (according to computer model); 13 - sockets for connecting external audio systems (according to the computer model)

After a while, a significant number of devices were integrated, but many of them - graphics, network interface, SCSI and audio devices - still remained removable. This process was slow, for example, I/O ports and disk controllers were often located on expansion cards back in 1995. Manufacturers have continually experimented with different levels of integration, building some or even all of these components onto the motherboard. However, there is an obvious obstacle - it is more difficult to upgrade the assembly since the integrated components cannot be removed. Highly integrated motherboards often require a custom chassis, and replacing a single defective component may require discarding the motherboard.

Therefore, those parts of the system whose specifications change most quickly - RAM, CPU and graphics - are best placed in slots for easy replacement. Likewise, components that are not used by all users, such as network interfaces or SCSI, are typically removed from the core specification (to reduce costs).

© 2023 hecc.ru - Computer technology news