Subject10. Digital computers Lecture 13

Lecture




Electronic computers (computers) are information converters. In them, the initial data of the task are converted into the result of its solution. In accordance with the form of information used in the conversion of computers are divided into two large classes - analog and discrete actions - digital . They are designated as AVM and CVM, respectively. Since the 1970s, the term computer has been referred to as discrete-action machines - digital computers or digital computers.

13.1. Principles of digital computers

Consider first calculations using a calculator. Formulas and initial data are written out on a piece of paper, and often tables for entering intermediate and final results. In the process of calculating the numbers from the sheet are entered into the register of the microcalculator, and then the necessary formula is included in the operation. The obtained results are copied from the register (indicator of a calculator) to a sheet of paper (in the table).

Thus, the calculator performs arithmetic operations on the numbers that a person enters into it. In this case, a sheet of paper performs the role of a storage device storing a program (calculation formula), source, intermediate and final results. A person controls the calculation process, including transferring numbers from a sheet to a calculator and back, and also selects the desired option to continue the calculation process in accordance with the result. Interestingly, in this case, the speed of the device performing arithmetic operations (mechanical or electronic) has practically no effect on the speed of the computational process, since the remaining operations are performed very slowly.

The principal effect is achieved if a high-speed memory is added to a high-speed arithmetic device, as well as a high-speed device that performs all the necessary operations to implement a program of calculations and transfer numbers between the arithmetic device and memory. If we add to the complex the equipment of the communication device with the outside world, i.e. the input device of the initial data and the program and the output of the result, then we come to the classical five-block structure of Neumann, a slightly modified form of which is shown in Fig. 13.1 (initially the input and output device was depicted as one block, and the memory was not divided into main and external).

  Subject10.  Digital computers Lecture 13

Fig.13.1. The classic structure of a digital computer

ALU - performs arithmetic and logical transformations on the machine words entering it, i.e. binary codes of a certain length, representing numbers or other type of information.

Memory - stores information transmitted from other devices, including incoming from the outside through an input device, and provides information to all other devices necessary for the flow of the computational process. In a first-generation computer, memory consisted of only two parts that were significantly different in their characteristics - high-speed primary or operational (internal) memory (RAM) and much slower external memory (VP) capable of storing very large amounts of information. The memory of modern computers has a more complex structure, since the internal memory of a computer has been divided into a number of hierarchical levels with different volume and speed - RAM, cache memory, super-operative memory, channel memory, etc. However, during the initial consideration, the multi-level memory can be ignored and assume that the internal memory consists of one OP. The internal memory consists of cells, each of which serves to store one machine word. The cell number is called an address . In a computer storage device (memory), which realizes the function of memory, read and write operations are performed. Moreover, when reading information is not destroyed and can be read any number of times. When recording, the old contents of the cell is erased.

Directly in the computational process involved only the OP. The exchange of information between the PD and the VP occurs only after the end of the individual stages of the calculations. The physical implementation of the EP and VP will be discussed in the subsequent sections of this course.

The control unit (CU) - automatically, without human intervention, controls the computational process, sending signals to all other devices that prescribe certain actions, in particular, forces the PD to send the necessary data, enable the ALU to perform the necessary operation, move the result to the required OP cell . It should be borne in mind that in modern computers ALU and UU are always combined into one device, which is called a processor .

The control panel allows the operator to intervene in the process of solving the problem, i.e. give directives to the control device.

Input device - allows you to enter the program to solve the problem and the source data in the computer and put them in the OP. Depending on the type of input device, input data for solving the problem are entered directly from the keyboard (display, typewriter) or must be previously placed on any carrier — punch cards, punched tapes, magnetic cards, magnetic tapes, magnetic and optical disks, etc. . In CAD systems, graphic information is entered.

Output device - serves to output the results of processing the initial information from the computer. Most often this is symbolic information, which is displayed using a printing device (PCB) or on the display screen. In some cases, this is graphic information in the form of drawings and drawings, which can be displayed using graphic displays, plotters, printers, etc.

Now it is necessary to define the concepts of algorithm and program . The concept of the algorithm is not closed only by the area of ​​computing technology (BT). By intuitive definition:

The algorithm is a set of rules, strictly following which you can move from the source data to the final result.

In BT, a "set of rules" means a sequence of arithmetic and logical operations. (It is claimed that the word algorithm came from the name of Mohammed al Khorezmi, who wrote a treatise on the arithmetic of decimal numbers in the 9th century.)

A program is a recording of an algorithm in the form perceived by a computer. Any program consists of individual teams . Each command prescribes a specific action and indicates which operands this action is performed on. The program is a set of commands recorded in a certain sequence, providing a solution to the problem on a computer. In order for the CU to perceive commands, they must be encoded in digital form (in all modern computers this is a binary code).

Automatic control of the process of solving a problem is achieved on the basis of the principle of program control , which is the main feature of a computer. (Without software control, the computer will turn into a normal high-speed adding machine or calculator.).

Another important principle is the principle stored in the program memory . According to this principle, a program encoded in digital form is stored in memory along with numbers. Since the program is stored in memory, the same commands can be extracted and executed as many times as necessary. Moreover, it is possible to perform some arithmetic operations on the command codes and thereby modify the addresses of the access to the OP.

Program commands are executed in the order corresponding to their location in successive memory cells. However, the commands of unconditional and conditional transitions can change this order, respectively, unconditionally or when a certain condition specified by the relations of the type is greater, less or equal. In most cases, the results of the previous operation are compared with a number specified in the conditional jump command. It is conditional transition commands that allow you to build not only linear, but also branching and cyclic programs.

13.2. The concept of the software system (mathematical) software

Each computer has certain properties, such as the ability to process information in one form or another, the ability to perform arithmetic and logical operations, operations related to the organization of joint operation of machine devices, etc.

To impart certain properties of a computer, two types of means are used - hardware and software (hard & soft). The latter are also called software tools.

Part of the properties of a computer acquires due to the presence in it of electronic and electromechanical equipment specifically designed to implement these properties. An example of such a device is the ALU.

A number of other properties are implemented without special electronic components using software tools. It uses the available hardware of the computer that performs the actions prescribed by special programs.

For example, a computer may not have a hardware root extraction operation. But if there is a root extraction program, then the existing hardware can perform this operation. Moreover, from the point of view of the user, the computer will acquire the property of calculating the root.

It should be borne in mind that with the help of hardware, the corresponding functions of a computer are performed much faster than by software, but at the same time, a computer becomes more complex and expensive. Because of this, computers with fairly simple processors tend to implement as many functions as possible through software, and in high-end computers, to maximize performance, they use hardware to the maximum.

In general, they strive to correlate hardware and software as optimally as possible in order to achieve high efficiency and speed at moderate hardware costs and costs.

Thus, hardware and software are closely related components of a modern computer. Since, from the user's point of view, as a rule, one or another function is not important in terms of hardware or software, one can speak of a virtual (seeming) computer.

A software (mathematical) software system is a set of software tools in which you can select an operating system, a set of maintenance programs, and application packages. In fig. 113.2 depicts a simplified structure of a digital computer as a combination of hardware and software.

  Subject10.  Digital computers Lecture 13

Fig.13.2. Digital computer as a set of software and hardware

The operating system (OS ) is the central and most important part of computer software designed to effectively manage the computational process, plan work and allocate computer resources, automate the process of preparing programs and organizing their execution under various machine operation modes, facilitating operator and user communication with the machine .

OS consists of programs belonging to two large groups.

Control programs manage the operation of computer devices, i.e. coordinate the work of devices in the process of entering, preparing and executing other programs.

The processing programs carry out work on the preparation of new computer programs and source data for them, for example, assembling separately translated modules into one or several executable programs, working with program libraries, rewriting arrays of information between VP and PD, etc.

OS in most cases are universal and do not take into account the specific hardware features. In modern computers, to adapt a universal OS to specific hardware, they use a hardware-oriented part of the operating system, which in personal computers is called BIOS (Basic Input / Output System).

It should be borne in mind that the operator and user do not have direct access to the hardware of the computer. (In the particular case, for example, when working with a personal computer, the operator and the user are the same person.) All communications are made only through the OS, providing a certain level of communication between the person and the machine. And the level of communication is determined primarily by the level of the language in which it occurs. The diagram shows an approximate hierarchy of such languages.

Problem-oriented is a language that is strictly oriented to any problem (modeling of complex technical and economic systems, CAD systems of various directions, animation tasks, etc.).

Procedural-oriented is a language oriented to perform general data processing procedures (Fortran, Pascal, Basic, etc.).

Machine language is the lowest level of the language. Commands are written as binary codes. The addresses of the memory cells are absolute. Programming is very time consuming.

Assembler is a higher level language that uses mnemonic codes (that is, commands are denoted by letter combinations). The program is recorded using symbolic addresses, i.e. instead of the numerical values ​​of the address, names are used, with the exception of the first program operator, which is strictly tied to the physical address. (In general, it is more correct to speak assembly language , because Assembler is a service program that converts the symbolic names of commands and symbolic addresses to machine commands and numeric addresses.)

Macro - language - in the first approximation it can be defined as the language of procedures written in assembly language, i.e. when instead of a whole complex of commands (which are often found) only the name (name) of this complex is used.

The OS language is a language in which the operator can issue OS directives and interfere with the computation process.

The software maintenance package is designed to reduce the complexity of computer operation. These programs conduct testing of the efficiency of the computer and its individual devices, determine the location of faults.

Application packages are complexes of programs for solving certain, rather wide classes of tasks (scientific, technical, planning and economic), as well as for expanding the functions of the operating system (database management, implementation of tele-processing modes, real-time, etc.).

All this, as already noted, in conjunction with the hardware is a digital computer. Moreover, when creating new computers, the development of hardware and software is performed simultaneously. At present, software is the same type of industrial product as a computer itself, and its cost is often more expensive than hardware.

The complexity of modern digital computers has led to the emergence of the concept of computer architecture . This concept encompasses a set of general issues of building digital computers, essential primarily for the user, who is mainly interested in the capabilities of a computer, and not in the details of its technical design. Such issues include issues of the general structure, organization of the computational process and user communication with the machine, questions of the logical organization of the presentation, storage and transformation of information and the logical organization of the joint operation of various devices, as well as the hardware and software of the machine.

13.3. Large general purpose computers

At the first stages of the introduction of a computer into human activity, the tasks to be solved could basically be divided into two large classes:

- scientific and technical calculations - they are typical of the ability to work with words of fixed length, relatively small amounts of input information (input data) and output information (calculation results), and a very large number of computational operations of different types that must be performed during the decision process;

- planning and economic calculations, statistics are completely different. They are associated with the input into the machine of a very large number (arrays) of source data. The processing itself requires a relatively small number of the simplest logical and arithmetic operations. However, as a result, a large amount of information is usually output and printed, and, as a rule, in an edited form - in the form of tables, statements, various forms, etc. Tasks of this type are called data processing tasks. Computers designed to solve them are often called automated data processing systems . Such computers formed the basis of ACS systems.

For data processing systems, it is important to have the ability to input, store, process and output a large amount of textual (alphanumeric) information, which is represented by words of variable length. In addition, for such systems, it is important to have a significant number of peripheral storage devices that store a large amount of information (disk and tape drives), as well as high-performance input and output devices.

To solve these two types of problems, computers were initially built, which differed at the hardware level. Однако резкое расширение сферы использования ЭВМ, совершенствование аппаратного и программного обеспечения, расширение понятия научно-технических расчетов привели к стиранию границ между этими двумя типами задач, а следовательно, и типами ЭВМ. В результате появились ЭВМ общего назначения (mainframe) , которые стали выполнять основной объем вычислительных работ и машинной обработки информации в различных ВЦ и АСУ.

ЭВМ общего назначения универсальны и могут использоваться как для решения научно-технических задач численными методами, так и в режиме автоматической обработки данных в АСУ. Такие ЭВМ имеют высокое быстродействие, память большого объема, гибкую систему команд и способов представления данных, широкий набор периферийных устройств. Появление персональных компьютеров на некоторое время (3-4 года) снизило интерес к подобным ЭВМ, и их производство стало сокращаться. Однако уже к концу 80-х годов стало ясно, что персональные компьютеры не могут полностью заменить мэйнфреймы. В настоящее время многие фирмы (в том числе IBM) продолжают разрабатывать и выпускать новые модели мэйнфреймов, на долю которых, по мнению некоторых авторов, и приходится основной объем перерабатываемой в мире информации.

Для того чтобы понять радикальные отличия структуры первых микро- и миниЭВМ, появившихся в начале 70 годов, от структур основных типов ЭВМ, существовавших в то время – ЭВМ общего назначения, необходимо рассмотреть структуру типичных представителей этих ЭВМ (например, ЕС–ЭВМ), прототипами которых были машины IBM 360/370. Их быстродействие составляло от 200 тысяч оп/с (ЕС 1030) до 5000 тысяч оп/с (ЕС 1065) и более для старших моделей машин этого семейства. Характерной особенностью подобных ЭВМ было наличие большого количества как "быстрых", так и "медленных" периферийных устройств, которые функционировали параллельно с центральным процессором и требовали специальных средств управления. Упрощенная структура ЭВМ серии ЕС изображена на рис. 13.3.

  Subject10.  Digital computers Lecture 13

Рис.13.3. Структура ЭВМ общего назначения серии ЕС

Собственно обработка данных производилась в центральном процессоре (ЦП), содержащем АЛУ и УУ. Это самая быстродействующая часть ЭВМ, поэтому возникала проблема взаимодействия быстродействующего процессора с большим числом сравнительно медленно действующих периферийных устройств (ПУ). Для эффективного использования всего вычислительного комплекса требовалось организовать параллельную во времени работу ЦП и ПУ. Такой режим в ЭВМ общего назначения организовывался при помощи специализированных вспомогательных процессоров ввода/вывода, называемых каналами . Периферийные устройства связывались с каналами через собственные блоки управления (УПУ) –их часто называли контроллерами ПУ– и систему сопряжения, называемую интерфейсом . Коротко рассмотрим функции этих устройств.

13.3.1. Channels

Поскольку каналы предназначались для освобождения центрального процессора от вспомогательных операций, не связанных с вычислениями, они имели непосредственный доступ к ОП параллельно ЦП, естественно со своими приоритетами. Ввиду того что ПУ различаются по быстродействию и режимам работы, каналы подразделялись на байт-мультиплексные, блок-мультиплексные и селекторные.

Байт-мультиплексный канал мог обслуживать одновременно несколько сравнительно медленно действующих ПУ – печатающих, УВВ с перфокарт и перфолент, дисплеев и др. Этот канал попеременно организовывал с ними сеансы связи для передачи между ОП и ПУ небольших порций информации фиксированной длины (обычно 1-2 слова или байта). В простейшем случае происходил циклический опрос ПУ, например при работе с дисплейной станцией. В более сложном варианте байт-мультиплексный канал начинал обслуживать ПУ по их запросу, причем первым опрашивался ПУ с высшим приоритетом, а затем по очереди шло обращение ко всем остальным ПУ. Таким образом, байт-мультиплексный канал работал с "медленными" устройствами, способными ожидать обслуживание без потери информации.

Селекторный и блок-мультиплексный каналы связывали ЦП и ОП с ПУ, работающими с высокой скоростью передачи информации (магнитные диски, ленты и др.).

Селекторный канал предназначался для монопольного обслуживания одного устройства. При работе с селекторным каналом ПУ после пуска операции оставалось связанным с каналом до окончания цепи операций. Запросы на обслуживание других ПУ, так же как и новые команды пуска операций ввода-вывода от процессора, в это время не воспринимались каналом: до завершения цепи операций селекторный канал по отношению к процессору представлялся занятым устройством. Таким образом, селекторный канал предназначался для работы с быстродействующими устройствами, которые могут терять информацию вследствие задержек или прерываний в обслуживании.

Блок-мультиплексный канал обладал тем свойством, что операции, не связанные с передачей данных (установка головок на цилиндр, поиск записи и т.д.), выполнялись для нескольких устройств в мультиплексном режиме, а передача блока информации происходила в монопольном (селекторном) режиме.

Аппаратные средства каналов разделялись на две части: средства, предназначенные для обслуживания отдельных ПУ, подключенных к каналу, и оборудование, являющееся общим для устройств и разделяемое всеми устройствами во времени. Средства канала, выделенные для обслуживания одного ПУ, назывались подканалами .

13.3.2. Interface

Communication of all computer devices with each other was carried out, as in modern computers, using interfaces. An interface is a collection of lines and buses of signals, electronic circuits and algorithms designed to exchange information between devices. The performance and reliability of a computer largely depend on the characteristics of the interfaces.

В заключение следует отметить, что все вышесказанное относится к серийно выпускаемым в свое время крупным ЭВМ общего назначения серии ЕС (IBM 360/370). Однако в этот же период были разработаны и серийно производились суперЭВМ типа Крэй1, Крэй2, Кибер-205, "Эльбрус", ПС-2000, и т.д. Их колоссальная производительность достигалась за счет уникальных структур аппаратного и программного обеспечения. Эти ЭВМ выпускались в незначительных количествах, как правило, под конкретный заказ. Более подробно о многопроцессорных ЭВМ речь пойдет в отдельном разделе данного курса.

13.4. Малые ЭВМ

Наиболее массовое внедрение ЭВМ в деятельность человека началось тогда, когда в конце 60-х годов удалось построить небольшие, достаточно простые, надежные и дешевые вычислительные устройства, элементной базой которых были микросхемы. Уменьшение объема аппаратуры и стоимости машины было достигнуто за счет укорочения машинного слова (8-16 разрядов вместо 32-64 в машинах общего назначения), уменьшения по сравнению с ЭВМ общего назначения количества типов обрабатываемых данных (в некоторых моделях только целые числа без знака), ограниченного набора команд, сравнительно небольшого объема ОП и небольшого набора ПУ.

Укорочение машинного слова повлекло за собой множество проблем, связанных с представлением данных, адресацией, составом и структурой команд, логической структурой процессора, организацией обмена информацией между устройствами ЭВМ. В процессе эволюции ЭВМ эти проблемы, так или иначе, решались, что привело к созданию малых ЭВМ, структура которых существенно отличалась от структуры больших машин.

Следует отметить, что структуры современных микро - и миниЭВМ весьма сложны и в ряде случаев мало отличаются от структуры мощных ЭВМ – все зависит от мощности используемого процессора, объема и быстродействия ОП, производительности подсистем ввода-вывода и т.д. Однако первые мини - и микроЭВМ, появившиеся в начала 70-х годов, имели весьма простую структуру, радикально отличавшуюся от структуры больших машин того времени.

Типичная структура такой микроЭВМ изображена на рис. 13.4.

  Subject10.  Digital computers Lecture 13

Рис.13.4. Обобщённая структура первых микро-ЭВМ магистрально-модульной архитектуры

Такая структура называется магистрально-модульной. Ее основу составляет общая магистраль (общая шина), к которой подсоединены в нужной номенклатуре и количестве все устройства машины, выполненные в виде конструктивно законченных модулей. Эта структура более простая и гибкая, чем у больших ЭВМ. Устройства машины обмениваются информацией только через общую магистраль.

Такая структура оказывается эффективной, а система обмена данных через общую шину – достаточно динамичной лишь при небольшом наборе ПУ.

Универсальность применения миниЭВМ при ограниченном наборе команд могла быть обеспечена лишь при сравнительно высоком быстродействии процессора – в первых моделях около 200-800 тысяч операций в секунду, что превышало скорость многих ЭВМ общего назначения. Это позволяло малым ЭВМ обслуживать технологические процессы в реальном масштабе времени, а также компенсировать замедление обработки данных, связанное с тем, что малый объем аппаратных средств вынуждал реализовывать многие процедуры обработки программным путем (например, операции арифметики с плавающей запятой).

Подобное решение оказалось настолько эффективным, что и сейчас простейшие контроллеры и микроЭВМ строятся по этой же схеме. Однако структуры сколько-нибудь сложных микро- и миниЭВМ, в частности персональных компьютеров, в процессе эволюции существенно усложнились. Современный персональный компьютер имеет сложную структуру магистралей, иерархию внутренней памяти и множество подсистем ввода-вывода различного быстродействия. Архитектура современного персонального компьютера будет рассмотрена в отдельном разделе.

13.5. test questions

1. Нарисуйте классическую пятиблочную структуру Неймана и поясните функции каждого блока.

2. Изобразите упрощенную структуру цифрового компьютера как совокупности аппаратных и программных средств и опишите функции составных частей.

3. Чем отличаются проблемно-ориентированный, процедурно-ориентированный и машинный языки.

4. Structure of a general-purpose computer of a series of the EU.

5. What is the difference between the functions of byte-multiplex, selector and block-multiplex channels?

6. The generalized structure of the first micro-computer main-modular architecture.


Comments


To leave a comment
If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Computer circuitry and computer architecture

Terms: Computer circuitry and computer architecture