RU2006931C1 - System for commutation of processors - Google Patents

System for commutation of processors Download PDF

Info

Publication number
RU2006931C1
RU2006931C1 SU4949208A RU2006931C1 RU 2006931 C1 RU2006931 C1 RU 2006931C1 SU 4949208 A SU4949208 A SU 4949208A RU 2006931 C1 RU2006931 C1 RU 2006931C1
Authority
RU
Russia
Prior art keywords
matrix
input
output
column
row
Prior art date
Application number
Other languages
Russian (ru)
Inventor
А.В. Комаров
Original Assignee
Научно-производственное объединение "Тайфун"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Научно-производственное объединение "Тайфун" filed Critical Научно-производственное объединение "Тайфун"
Priority to SU4949208 priority Critical patent/RU2006931C1/en
Application granted granted Critical
Publication of RU2006931C1 publication Critical patent/RU2006931C1/en

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

FIELD: computer engineering. SUBSTANCE: device has three commutator matrixes which sizes are Hx(H+1), memory unit matrix which size is Hx(H+2), H devices for input-output control, H multiplexers, H output units, H input units, second group demultiplexers matrix which size is Hx(H+1) and H NOT gates. EFFECT: increased speed due to processing tasks which are partially parallel. 14 dwg

Description

Изобретение относится к вычислительной технике и может быть использовано при разработке многопроцессорных систем, в частности мультимикропроцессорных. The invention relates to computer technology and can be used in the development of multiprocessor systems, in particular multimiprocessor.

Известна система коммутации процессоров [1] , содержащая матрицу N, (N+1) коммутаторов данных, где N - количество коммутируемых процессоров, матрицу мультиплексоров адреса, матрицу мультиплексоров управления и матрицу N, (N+2) блоков памяти. A known processor switching system [1], containing a matrix N, (N + 1) data switches, where N is the number of switched processors, a matrix of address multiplexers, a matrix of control multiplexers and a matrix N, (N + 2) memory blocks.

Недостатком известного устройства является сложность его технической реализации. A disadvantage of the known device is the complexity of its technical implementation.

Наиболее близким по технической сущности к заявляемому (прототипом) является система коммутации процессоров [2] , содержащая матрицу N, (N+1) коммутаторов данных, где N - количество коммутируемых мультиплексоров, матрицу мультиплексоров адреса, матрицу мультиплексоров управления, матрицу N, (N+2), блоков памяти, N контроллеров обмена, два блока управления режимом и элемент И. The closest in technical essence to the claimed (prototype) is a processor switching system [2], containing a matrix N, (N + 1) of data switches, where N is the number of switched multiplexers, an address multiplexer matrix, a control multiplexer matrix, an N matrix, (N +2), memory blocks, N exchange controllers, two mode control blocks and an element I.

Недостатком прототипа являются ограниченные функциональные возможности, заключающиеся в невозможности решения задач, не полностью поддающихся распараллеливанию, т. е. задач, при решении которых N микроЭВМ производит только часть необходимых операций, оставшаяся часть операций может быть выполнена только одной микроЭВМ. Система-прототип, решая полностью распараллеленные задачи, не может реализовать нераспараллеленный режим работы из-за отсутствия аппаратных средств синхронизации начала передачи данных от микроЭВМ, осуществляющей нераспараллеленный режим работы, в оставшиеся микроЭВМ системы при переходе к параллельному режиму работы системы. Это сужает область применения системы-прототипа; кроме того, невозможно конструктивно полностью закончить исполнение отдельных микроЭВМ, входящих в систему-прототип, что не позволяет использовать отдельные микроЭВМ в автономном режиме для решения простых задач. Это ограничение связано, с одной стороны, с наличием только одного синхрогенератора и одного блока сброса на всю систему и, с другой стороны, с наличием элементов, которые трудно отнести к какой-либо микроЭВМ, не нарушив идентичности технической реализации этих микроЭВМ (это затрудняет изготовление и использование таких микроЭВМ). К таким элементам относятся элементы И. Указанное ограничение также сужает область применения системы-прототипа. The disadvantage of the prototype is limited functionality, which consists in the impossibility of solving problems that are not completely amenable to parallelization, that is, tasks in which N microcomputers perform only part of the necessary operations, the rest of the operations can be performed by only one microcomputer. The prototype system, solving completely parallelized tasks, cannot realize the unparalleled mode of operation due to the lack of hardware for synchronizing the beginning of data transfer from the microcomputer, which carries out the unparalleled mode of operation, to the remaining microcomputers of the system when switching to the parallel mode of operation of the system. This narrows the scope of the prototype system; in addition, it is impossible to constructively complete the execution of individual microcomputers included in the prototype system, which does not allow the use of individual microcomputers in stand-alone mode to solve simple problems. This limitation is associated, on the one hand, with the presence of only one clock generator and one reset unit for the entire system and, on the other hand, with the presence of elements that are difficult to attribute to any microcomputer without violating the identity of the technical implementation of these microcomputers (this makes it difficult to manufacture and the use of such microcomputers). These elements include elements I. The specified restriction also narrows the scope of the prototype system.

Наблюдаются трудности в подготовке задачи к решению, обусловленные тем, что программа должна быть создана (скомпилирована) в одной из микроЭВМ системы и только затем вручную введена в оставшиеся микроЭВМ, так как в системе-прототипе отсутствуют аппаратные средства синхронизации начала передачи программы из одной микроЭВМ системы в другие микроЭВМ. There are difficulties in preparing the problem for solution, due to the fact that the program must be created (compiled) in one of the microcomputers of the system and only then manually entered into the remaining microcomputers, since the prototype system does not have hardware to synchronize the start of program transfer from one microcomputer of the system to other microcomputers.

Цель изобретения - повышения быстродействия за счет решения не полностью распараллеливаемых задач. The purpose of the invention is to improve performance by solving incompletely parallelizable tasks.

На фиг. 1 представлена функциональная схема системы коммутации при н = 3; i = 1-3; j = 1-5; на фиг. 2, 3 - принципиальная схема используемых демультиплексоров; на фиг. 4 - функциональная схема устройства управление обменом; на фиг. 5 - пример конкретного выполнения коммутаторов для трех матриц коммутаторов; на фиг. 6 - алгоритм функционирования i-й микроЭВМ системы; на фиг. 7 - блок-схема подпрограммы обслуживания прерывания ПРИНЯТЬ ПРОГРАММУ (ПП); на фиг. 8 - блок-схема подпрограммы обслуживания прерывания ПРОДОЛЖИТЬ РЕШЕНИЕ (ПР); на фиг. 9 - блок-схема подпрограммы обслуживания прерывания НАЧАТЬ ИТЕРАЦИЮ (НИ); на фиг. 10 - структура F-го фрагмента программы при параллельной работе микроЭВМ системы; на фиг. 11 - блок-схема подпрограммы обслуживания прерывания ВЫЙТИ ИЗ ИТЕРАЦИИ (ВИ); на фиг. 12 - структура F-го фрагмента программы при неразветвленной работе микроЭВМ системы; на фиг. 13 - блок-схема подпрограммы обслуживания прерывания ОШИБКА; на фиг. 14 - временные диаграммы устройств управления обменом. In FIG. 1 shows a functional diagram of a switching system with n = 3; i is 1-3; j is 1-5; in FIG. 2, 3 - schematic diagram of the used demultiplexers; in FIG. 4 is a functional diagram of an exchange control device; in FIG. 5 is an example of a specific implementation of the switches for the three matrixes of switches; in FIG. 6 - the functioning algorithm of the i-th microcomputer system; in FIG. 7 is a block diagram of an interrupt service routine ACCEPT A PROGRAM (PP); in FIG. 8 is a block diagram of an interrupt service routine. CONTINUE SOLUTION (OL); in FIG. 9 is a block diagram of an interrupt service routine START ITERATION (NO); in FIG. 10 - structure of the Fth fragment of the program in parallel operation of the microcomputer system; in FIG. 11 is a block diagram of an interrupt service routine EXIT ITERATION (VI); in FIG. 12 - structure of the Fth fragment of the program with unbranched operation of the microcomputer system; in FIG. 13 is a block diagram of an interrupt service routine ERROR; in FIG. 14 is a timing diagram of an exchange control device.

Рассмотрим пример конкретного выполнения заявляемого объекта для количества коммутируемых процессоров, равного трем (N = 3). Consider an example of a specific implementation of the claimed object for the number of switched processors equal to three (N = 3).

Система коммутации процессоров (см. фиг. 1) содержит первую матрицу 3х4 коммутаторов 1 процессоры 21, 22, 23, вторую матрицу 3х4 коммутаторов 3 адреса, третью матрицу 3х4 коммутаторов 4, матрицу 3х5 блоков 5 памяти, устройства управления 61, 62, 63 обменом, блоки 71, 72, 73 вывода, блоки 81, 82, 83 ввода, демультиплексоры 91, 92, 93 группы, инверторы 101, 102, 103, узлы формирования 111, 112, 113 сигнала ВЕДУЩАЯ/ВЕДОМАЯ (ВДЩ/ВДМ), узлы формирования 121, 122, 123 сигнала АВТОНОМНО/СИСТЕМА (АВТ/СИС), матрицы Нх(Н+1) демультиплексоров, синхрогенераторы 151, 152, 153 и блоки 161, 162, 163 сброса.The processor switching system (see Fig. 1) contains the first 3x4 switch matrix 1 processors 2 1 , 2 2 , 2 3 , the second 3x4 switch matrix 3 addresses, the third 3x4 switch matrix 4, the 3x4 matrix of 5 memory blocks, the control device 6 1 , 6 2 , 6 3 exchanges, blocks 7 1 , 7 2 , 7 3 outputs, blocks 8 1 , 8 2 , 8 3 inputs, demultiplexers 9 1 , 9 2 , 9 3 groups, inverters 10 1 , 10 2 , 10 3 , nodes for generating 11 1 , 11 2 , 11 3 signals MASTER / SLAVE (VDSH / VDM), nodes for generating 12 1 , 12 2 , 12 3 signals AUTONOMOUS / SYSTEM (AUT / SIS), matrix Hx (H + 1) demultiplexers, clock generators 15 1 , 15 2 , 15 3 and blocks 16 1 , 16 2 , 16 3 reset.

Работает система следующим образом. Каждая строка первой матрицы коммутаторов, например, 11.1, 11.2, 11.3, 11.4, вторая матрица 31.1, 31.2, 31.3, 31.4 коммутаторов, третья матрица коммутаторов 41.1, 41.2, 41.3, 41.4, блоков 51.1, 51.2, 51.3, 51.4, 51.5 памяти совместно с процессором 21 и контроллером 61 обмена образует 1-ую микроЭВМ. Остальные микроЭВМ полностью идентичны 1-й, закончены в схемотехническом смысле и могут быть изготовлены в виде отдельных конструктивов, которые можно использовать для автономной работы за пределами системы. Законченность такой микроЭВМ (в отличие от прототипа) придает наличие индивидуальных синхрогенераторов 151, 152, 153 и блоков 161, 162, 163 сброса, что влечет увеличение входов синхронизации в системе и входов сброса. Для перевода, например, 1-й микроЭВМ в режиме автономной работы достаточно сформировать единичный сигнал на выходе формирователя 121 сигнала АВТ/СИС. Значение этого сигнала может быть считано 1-й микроЭВМ через вход третьего разряда блоков 81 ввода. Кроме этого, сигнал АВТ/СИС= 1 отключает от 1-й микроЭВМ все системные магистрали, что позволяет переходить в автономный режим работы без физического отключения системных магистралей, т. е. не разрушая кабельных соединений системы.The system works as follows. Each row of the first matrix of switches, for example, 1 1.1 , 1 1.2 , 1 1.3 , 1 1.4 , the second matrix of 3 1.1 , 3 1.2 , 3 1.3 , 3 1.4 of the switches, the third matrix of switches 4 1.1 , 4 1.2 , 4 1.3 , 4 1.4 , blocks 5 1.1 , 5 1.2 , 5 1.3 , 5 1.4 , 5 1.5 memory, together with the processor 2 1 and the controller 6 1 exchange forms the 1st microcomputer. The remaining microcomputers are completely identical to the 1st one, finished in the circuitry sense, and can be made in the form of separate constructs that can be used for autonomous operation outside the system. The completeness of such a microcomputer (in contrast to the prototype) gives the presence of individual sync generators 15 1 , 15 2 , 15 3 and blocks 16 1 , 16 2 , 16 3 reset, which leads to an increase in synchronization inputs in the system and reset inputs. To translate, for example, the 1st microcomputer in the stand-alone mode, it is enough to generate a single signal at the output of the AV 1 / AVS signal shaper 12 1 . The value of this signal can be read by the 1st microcomputer via the input of the third category of input blocks 8 1 . In addition, the signal ABT / SIS = 1 disconnects all system lines from the 1st microcomputer, which allows you to go offline without physically disconnecting system lines, that is, without destroying the cable connections of the system.

В автономном режиме каждая из 3-х микроЭВМ может использоваться как персональная, поскольку предполагается (как и в прототипе), что все они содержат в своем составе стандартные внешние устройства: клавиатуру, видеотерминал, принтер, дисковводы и т. п. , которые позволяют достаточно просто и полно использовать все ресурсы этих микроЭВМ. Узел 121 (122 или 123) формирования сигнала АВТ/СИС (как и узел 111 (112, 113) формирования сигнала ВДЩ/ВДМ) представляет собой последовательно соединенные резистор и тумблер с фиксацией положения, включенные между шиной питания и общей шиной. Выходной сигнал формируется в точке соединения этих элементов. При включенном тумблере на выходе формируется нулевой сигнал, при выключенном - единичный. Другой особенностью рассматриваемых микроЭВМ является наличие в их составе отключаемых сегментов памяти (ОСП), к которым относятся блоки 51.1. . . 51.4, 52.1. . . 52.4, 53.1. . . 53.4 памяти. Блоки 51.5, 52.5, 53.5 памяти не отключаемы и полностью принадлежат первой, второй и третьей микроЭВМ соответственно. По принципу действия все ОСП являются оперативными запоминающими устройствами (ОЗУ), в то время, как неотключаемые блоки 51.5, 52.5 или 53.5 памяти содержат как ОЗУ, так и постоянное запоминающее устройство (ПЗУ), в котором содержатся части операционной системы (например, программа начальной загрузки, драйверы внешних устройств и т. д. ). Подключение/отключение ОСП к процессорам 21, 22 или 23 через соответствующие магистрали данных, адреса и управления осуществляется с помощью первой матрицы коммутаторов 11.1. . . 11.4, 12.1. . . 12.4, 13.1. . . 13.4, второй матрицы коммутаторов 31.1. . . 31.4, 32.1. . . 32.4, 33.1. . . 33.4 и третьей матрицы коммутаторов 41.1. . . 41.4, 42.1. . . 42.4, 43.1. . . 43.4, которые управляются сигналом, формирующимся на выходе первого разряда соответствующего блока 71, 72 или 73 вывода (на фиг. 1 передается по проводу 41). Этот сигнал может быть условно назван ОБМЕН/РАБОТА (О/Р). Если О/Р = 0, то блоки 51.1. . . 51.4, 52.1. . . 52.4, 53.1. . . 53.4 памяти подключены к внутренним магистралям своих процессоров 21, 22, 23. Так, например, информационные входы блоков 51.1. . . 51.4 памяти через первую матрицу коммутаторов 11.1. . . 11.4 подключаются к магистрали 191 данных, адресные входы блоков 51.1. . . 51.4 памяти через вторую матрицу коммутаторов 31.1. . . 31.4 подключаются к магистрали 201 адреса, входы управления записью/считыванием блоков 51.1. . . 51.4 памяти через третью матрицу коммутаторов 41.1. . . 41.4 подключаются к магистрали 211 управления. При этом блоки 51.1. . . 51.4 памяти (совместно с ОЗУ, входящим в состав блока 51.5) образуют единый модуль оперативной памяти процессора 21, все ячейки которого доступны для адресации их процессором 21. Если сигнал O/P = 1, то блоки 51.1, 51.2, 51.3, 51.4 памяти отключаются от внутренних магистралей процессора 21, при этом возникает возможность обмениваться данными с внешними устройствами одновременно по трем каналам сразу. В рассматриваемой системе такими внешними устройствами являются другие микроЭВМ, для чего они соединяются с помощью кабелей. Других технических средств для комплексирования микроЭВМ в системе не требуется.In standalone mode, each of the 3 microcomputers can be used as a personal one, since it is assumed (as in the prototype) that they all contain standard external devices: keyboard, video terminal, printer, disk drives, etc., which allow enough use all the resources of these microcomputers simply and fully. The node 12 1 (12 2 or 12 3 ) signal generation ABT / SIS (like node 11 1 (11 2 , 11 3 ) signal generation VDSH / VDM) is a series-connected resistor and toggle switch with position lock, connected between the power bus and common bus. The output signal is formed at the junction of these elements. When the toggle switch is on, a zero signal is generated at the output, and when it is off, a single signal is generated. Another feature of the microcomputers under consideration is the presence in their composition of disconnectable memory segments (OSB), which include blocks 5 1.1 . . . 5 1.4 , 5 2.1 . . . 5 2.4 , 5 3.1 . . . 5 3.4 memory. Blocks 5 1.5 , 5 2.5 , 5 3.5 memory are not disconnected and completely belong to the first, second and third microcomputers, respectively. According to the principle of operation, all OSPs are random access memory (RAM), while non-disconnectable memory blocks 5 1.5 , 5 2.5 or 5 3.5 contain both RAM and read-only memory (ROM), which contains parts of the operating system (for example , boot program, external device drivers, etc.). OSB connection / disconnection to processors 2 1 , 2 2 or 2 3 through the corresponding data, address and control lines is carried out using the first matrix of switches 1 1.1 . . . 1 1.4 , 1 2.1 . . . 1 2.4 , 1 3.1 . . . 1 3.4 , the second matrix of commutators 3 1.1 . . . 3 1.4 , 3 2.1 . . . 3 2.4 , 3 3.1 . . . 3 3.4 and the third matrix of commutators 4 1.1 . . . 4 1.4 , 4 2.1 . . . 4 2.4 , 4 3.1 . . . 4 3.4 , which are controlled by the signal generated at the output of the first discharge of the corresponding block 7 1 , 7 2 or 7 3 output (in Fig. 1 is transmitted via wire 4 1 ). This signal can be conditionally called EXCHANGE / WORK (O / P). If O / P = 0, then blocks 5 1.1 . . . 5 1.4 , 5 2.1 . . . 5 2.4 , 5 3.1 . . . 5 3.4 memory connected to the internal backbones of their processors 2 1 , 2 2 , 2 3 . So, for example, the information inputs of blocks 5 1.1 . . . 5 1.4 memory through the first matrix of switches 1 1.1 . . . 1 1.4 are connected to the highway 19 1 data, address inputs of blocks 5 1.1 . . . 5 1.4 memory through the second matrix of switches 3 1.1 . . . 3 1.4 are connected to the highway 20 1 addresses, inputs for writing / reading control units 5 1.1 . . . 5 1.4 memory through the third matrix of switches 4 1.1 . . . 4 1.4 are connected to the control line 21 1 . Moreover, blocks 5 1.1 . . . 5 1.4 memory (together with RAM, which is part of block 5 1.5 ) form a single module of the RAM of processor 2 1 , all of which cells are available for addressing by their processor 2 1 . If the signal is O / P = 1, then the memory blocks 5 1.1 , 5 1.2 , 5 1.3 , 5 1.4 are disconnected from the internal highways of the processor 2 1 , and it becomes possible to exchange data with external devices simultaneously on three channels at once. In the system under consideration, such external devices are other microcomputers, for which they are connected using cables. No other hardware is needed for integrating microcomputers in the system.

В режиме обмена (О/Р = 1), блоки 5i, j памяти матрицы через коммутаторы 1i, j и коммутаторов 3i, j и 4i, j связываются между собой, образуя цепочки блоков 5i, j, где (i = = 1. . . N, j = 1. . . N+1), памяти. Обмен разрешен только внутри определенной цепочки блоков 5i, j памяти и только следующим образом: один блок 5i, j памяти этой цепочки работает на считывание, остальные - на запись. При обмене данными во время параллельного решения задачи системой на считывание работает в первой цепочке блок 51.1 памяти, а остальные блоки 51.2, 52.1, 53.1 памяти - на запись; во второй цепочке - блок 52.2 памяти, а остальные блоки 51.3, 52.3, 53.2 - на запись; в третьей цепочке - блок 53.3, а остальные 51.4, 52.4, 53.4 - на запись, как и в прототипе, такой режим обмена данными в цепочках блоков 5i, j памяти обеспечивается подачей синхроимпульсов, определяющих начало и длительность записи/считывания, которые формируются на выходах 231, 232, 233 управления записью/считыванием соответствующих контроллеров 61, 62, 63 обмена, на вход считывания блоков 51.1, 52.2, 53.3 памяти, из которых производится считывание данных, а на вход записи блоков 51.2, 51.3, 51.4, 52.3, 52.4, 53.1, 53.2, 53.4 памяти, в которые производится запись данных. Передача данных в 1-й, 2-й или 3-й цепочке блоков 51.1, 51.2, 52.1, 53.1; 51.3, 52.2, 52.3, 53.2 или 51.4, 52.4, 53.3, 53.4 находится под управлением устройств управления 61, 62 или 63 обменом, в функции которого входит:
а) формирование адреса перезаписи (формируется на выходе 221, 222 или 223) для всех блоков 5i, j памяти 1-й, 2-й или 3-й цепочки;
б) формирование синхроимпульсов, определяющих начало и длительность записи/считывания (формируются на выходе 231, 232 или 233);
в) осуществление строго определенного числа тактов перезаписи, код числа тактов перезаписи загружается в соответствующий контроллер 61, 62 или 63 обмена перед началом обмена;
г) формирование сигнала "КОНЕЦ ОБМЕНА (КО)", когда реализовано необходимое число тактов перезаписи (такой сигнал с уровнем логической единицы формируется на выходе 241, 242 или 243 признака конца обмена).
In the exchange mode (O / P = 1), blocks 5i, j of the matrix memory through the switches 1i, j and switches 3i, j and 4i, j are connected to each other, forming a chain of blocks 5i, j, where (i = 1.. . N, j = 1... N + 1), of memory. Exchange is allowed only within a certain chain of memory blocks 5i, j and only as follows: one memory block 5i, j of this chain works for reading, the rest for writing. During data exchange during the parallel solution of the problem, the system for reading works in the first chain of memory block 5 1.1 , and the remaining memory blocks 5 1.2 , 5 2.1 , 5 3.1 - for writing; in the second chain - block 5 2.2 memory, and the remaining blocks 5 1.3 , 5 2.3 , 5 3.2 - for recording; in the third chain - block 5 3.3 , and the remaining 5 1.4 , 5 2.4 , 5 3.4 - for recording, as in the prototype, this data exchange mode in the chains of memory blocks 5i, j is provided by the supply of clock pulses that determine the beginning and duration of writing / reading, which are formed at the outputs 23 1 , 23 2 , 23 3 of the write / read control of the corresponding exchange controllers 6 1 , 6 2 , 6 3 , to the read input of the memory blocks 5 1.1 , 5 2.2 , 5 3.3 , from which the data are read, and on recording input of blocks 5 1.2 , 5 1.3 , 5 1.4 , 5 2.3 , 5 2.4 , 5 3.1 , 5 3.2 , 5 3.4 memory, in which data is recorded x Data transfer in the 1st, 2nd or 3rd chain of blocks 5 1.1 , 5 1.2 , 5 2.1 , 5 3.1 ; 5 1.3 , 5 2.2 , 5 2.3 , 5 3.2 or 5 1.4 , 5 2.4 , 5 3.3 , 5 3.4 is controlled by control devices 6 1 , 6 2 or 6 3 exchange, the functions of which include:
a) the formation of the rewrite address (generated at the output 22 1 , 22 2 or 22 3 ) for all blocks 5i, j of the memory of the 1st, 2nd or 3rd chain;
b) the formation of clock pulses that determine the beginning and duration of recording / reading (are formed at the output 23 1 , 23 2 or 23 3 );
c) the implementation of a strictly defined number of dubbing cycles, the code of the number of dubbing cycles is loaded into the corresponding controller 6 1 , 6 2 or 6 3 exchange before the start of the exchange;
d) the formation of the signal "END OF EXCHANGE (KO)" when the required number of rewriting clocks is implemented (such a signal with the level of a logical unit is generated at the output of 24 1 , 24 2 or 24 3 signs of the end of the exchange).

На фиг. 4 приведена функциональная схема одного из вариантов устройства управления 61 обменом, отвечающего перечисленным выше требованиям.In FIG. 4 shows a functional diagram of one of the variants of the control device 6 1 exchange that meets the above requirements.

Схема содержит блок 33 вывода, схему 34 сравнения, счетчик 35, первый и второй триггеры 36, 37, элемент И-НЕ 38, элемент И-НЕ 39 с открытым коллектором. The circuit includes an output unit 33, a comparison circuit 34, a counter 35, first and second triggers 36, 37, an AND-NOT element 38, an AND-NOT element 39 with an open collector.

Временные диаграммы работы узла приведены на фиг. 14. Перед началом обмена в блок 33 вывода первая микроЭВМ (в общем случае i-я) должна вывести код числа передаваемых байт данных, который устанавливается на первом информационном входе схемы 35 сравнения; сигнал О/Р = 0. Нулевое значение сигнала О/Р обеспечивает нулевое состояние первого триггера 36 (сигнал а = 0), нулевое состояние счетчика 35 (сигнал с = 0) и нулевое состояние второго триггера 37. Сигнал а нулевого значения закрывает элемент И-НЕ 38, что обеспечивает недействующее (единичное) значение сигнала b на выходе 231 управления записью/считыванием. Нулевое состояние счетчика 35 (на выходе 221 адреса перезаписи присутствует код нуля) обеспечивает перезапись с нулевого адреса. Нулевое состояние второго триггера 37 обеспечивает недействующее значение сигнала на выходе 241 признака конца обмена. Запуск контроллера 61 обмена обеспечивается единичным сигналом О/Р (см. момент времени to на фиг. 14).Timing diagrams of the operation of the unit are shown in FIG. 14. Before starting the exchange, the first microcomputer (in general, the i-th) must output a code for the number of transmitted data bytes to the output block 33, which is installed on the first information input of the comparison circuit 35; signal O / P = 0. The zero value of the signal O / P provides the zero state of the first trigger 36 (signal a = 0), the zero state of the counter 35 (signal c = 0) and the zero state of the second trigger 37. The signal a zero value closes the And element -NOT 38, which provides an inactive (single) value of signal b at the output 23 1 of the write / read control. The zero state of the counter 35 (there is a zero code at the output 22 1 of the rewrite address) provides overwriting from the zero address. The zero state of the second trigger 37 provides an inactive signal value at the output 24 1 of the sign of the end of the exchange. The start of the controller 6 1 exchange is provided by a single signal O / P (see time point t o in Fig. 14).

По срезу первого после перехода сигнала О/Р в единичное состояние тактового импульса (см. момент времени t1) первый триггер 36 переходит в единичное состояние, что открывает элемент И-НЕ 38, на выходе которого при этом формируются импульсы управления записью/считыванием нулевого значения. По фронту этих импульсов инкрементируется содержимое счетчика 35 (см. моменты времени t2. . . t3), что обеспечивает последовательное формирование адресов перезаписи. Когда содержимое счетчика 35 сравнится с кодом числа передаваемых байт данных, сигнал на выходе схемы 34 сравнения перейдет в единицу (см. момент времени t3 на диаграмме d). Это обеспечит переход второго триггера 37 в единичное состояние после формирования последнего необходимого импульса управления записью/считыванием (см. момент времени t4). При этом нулевой сигнал на инвертирующем выходе второго триггера 37 закрывает элемент И-НЕ, что препятствует дальнейшему формированию сигналов управления записью/считыванием, а также закрывает элемент И-НЕ 39 с открытым коллектором, что снимает шунтирование линии признака конца обмена (подразумевается, что к моменту времени t4 устройства управления 62 и 63 обменом установили признаки конца обмена). При переходе сигнала О/Р в нуль (см. момент времени t5) начальный режим устройство 61 восстанавливается.By cutting the first after the O / P signal transitions to the single state of the clock pulse (see time t 1 ), the first trigger 36 goes into the single state, which opens the AND-NOT 38 element, at the output of which the write / read control pulses of zero values. On the front of these pulses, the contents of the counter 35 are incremented (see time instants t 2 ... T 3) , which ensures the sequential formation of rewrite addresses. When the contents of the counter 35 are compared with the code of the number of data bytes transmitted, the signal at the output of the comparison circuit 34 will go to unity (see time point t 3 in diagram d). This will ensure the transition of the second trigger 37 to a single state after the formation of the last necessary pulse control write / read (see time t 4 ). In this case, the zero signal at the inverting output of the second trigger 37 closes the NAND element, which prevents the further formation of write / read control signals, and also closes the NAND 39 element with an open collector, which removes the bypass line of the end of exchange sign (it means that moment t 4 exchange control devices 6 2 and 6 3 set signs of the end of the exchange). When the O / P signal goes to zero (see time t 5 ), the initial mode of the device 6 1 is restored.

На фиг. 5 приведена функциональная схема одного из вариантов выполнения узла 1.1 отключаемого сегмента памяти, к которому отнесены коммутатор 11.1 данных; мультиплексор 31.1 адреса; мультиплексор 41.1 управления и блок 51.1 памяти. Мультиплексор 31.1 содержит дешифратор 40, первый и второй мультиплексоры 41, 42. Мультиплексор 41.1 содержит первый и второй мультиплексоры 43, 44. Коммутатор 11.1 данных содержит первый и второй магистральные приемо-передатчики 45, 46 (например, типа 589АП26), элемент НЕ 47 и элемент ИЛИ 48. Дешифратор 40 (селектор адреса) формирует селектирующий сигнал для блока 51.1 памяти и коммутатора 11.1 данных. Этот сигнал подается на первый информационный вход мультиплексора 41, на второй информационный вход которого подается сигнал логического нуля. Выход мультиплексора 41 является выходом селекции мультиплексора 31.1 адреса. При O/P = 0 на выходе мультиплексора 41 присутствует сигнал с выхода дешифратора 40, который может быть нулевым, если произошло совпадение старших шести разрядов кода адреса, формируемого процессом 21, с адресом блока 51.1 памяти (блок 51.1 памяти выбран), или единичным в противном случае (блок 51.1 памяти не выбран). При О/Р = 1 на выходе мультиплексора 41 присутствует нулевой сигнал, что соответствует выбранному состоянию блока 51.1 при обмене данными между микроЭВМ.In FIG. 5 is a functional diagram of one of the embodiments of the node 1.1 of the disconnected memory segment, to which the data switch 1 1.1 is assigned; multiplexer 3 1.1 addresses; control multiplexer 4 1.1 and memory block 5 1.1 . The multiplexer 3 1.1 contains a decoder 40, the first and second multiplexers 41, 42. The multiplexer 4 1.1 contains the first and second multiplexers 43, 44. The data switch 1 1.1 contains the first and second trunk transceivers 45, 46 (for example, type 589АП26), element NOT 47 and the OR element 48. The decoder 40 (address selector) generates a selection signal for block 5 1.1 memory and switch 1 1.1 data. This signal is supplied to the first information input of the multiplexer 41, to the second information input of which a logic zero signal is supplied. The output of the multiplexer 41 is the output of the selection of the multiplexer 3 1.1 addresses. When the O / P = 0 at the output of the multiplexer 41 there is a signal output from the decoder 40, which may be zero if there has been a coincidence senior six address bits of code generated Process 2 1 address unit 5 1.1 memory (block 5 1.1 Memory Set) or single otherwise (block 5 1.1 memory is not selected). When O / P = 1, a zero signal is present at the output of multiplexer 41, which corresponds to the selected state of block 5 1.1 during data exchange between microcomputers.

Мультиплексор 42 коммутирует десять младших разрядов кода адреса магистрали 201 адреса процессора 21 (МА9. . . МА0) или магистрали 221 адреса контроллера 61 (КМА9. . . КМА0). Выход мультиплексора 42 является выходом адреса мультиплексора 31.1. При О/Р = 0 на выходе мультиплексора 42 присутствует адрес устанавливаемый процессором 21, а при О/Р = 1 - контроллером 61. Мультиплексор 43 коммутирует сигналы записи в блок 51.1 памяти, формируемые процессором 21 (сигнал ЗПЗУ на линии 21) или контроллером 61 обмена (сигнал КЗПЗУ, проходящий через первый узел реверса 131.1). Выход мультиплексора 43 является выходом записи мультиплексора 41.1 управления. При О/Р = 0 на выходе мультиплексора 43 присутствует сигнал ЗПЗУ, а при О/Р = 1 - КЗПЗУ. Мультиплексор 44 коммутирует сигналы чтения из блока 51.1 памяти, формируемые процессором 21 (сигнал ЧТЗУ на линии 21) или контроллером 61 обмена (сигнал КЧТЗУ, проходящий через первый узел реверса 131.1). Выход мультиплексора 44 является выходом чтения мультиплексора 41.1 управления. При О/Р = 0 на выходе мультиплексора 44 присутствует сигнал ЧТЗУ, а при О/Р = 1 - КЧТЗУ. Первым информационным входом/выходом коммутатора 11.1 данных является вход D1, D0 магистральных приемо-передатчиков 45, 46. Вторым информационным входом/выходом коммутатора 11.1 данных является вход/выход DB магистрального приемо-передатчика 45, подключенного к магистрали 191 данных процессора 21 (МД7. . . МД0). Третим информационным входом/выходом коммутатора 11.1 данных является вход/выход DB магистрального приемо-передатчика 46, принадлежащей первой цепочки обмена (КМД7. . . КМДО, жгут 26 на фиг. 1). При О/Р = = 0 информационный вход/выход блока 51.1 памяти может быть подключен к магистрали 191 данных процессора 21, если блок 51.1 памяти выбран. При этом на выходе элемента ИЛИ 48 формируется нулевой сигнал, который открывает приемо-передатчик 45. Если блок 51.1 памяти не выбран, т. е. на выходе селекции мультиплексора 31.1 адреса действует единичный сигнал, то приемо-передатчик 45 не может быть открыт, что исключает конфликт на магистрали 191 данных. При О/Р = 0 приемо-передатчик 46 закрыт единичным выходным сигналом элемента НЕ 47. При О/Р = 1 закрыт приемо-передатчик 45 и открыт приемо-передатчик 46, что обеспечивает подключение информационного входа/выхода блока 51.1 памяти к магистрали данных первой цепочки обмена (КМД7. . . КМД0, жгут 26 на фиг. 1). Направление передачи данных через открытый приемо-передатчик 45, 46 определяется значением сигнала на выходе чтения мультиплексора 41.1 управления.The multiplexer 42 commutes the ten least significant bits of the address code of the highway 20 1 processor address 2 1 (MA9... MA0) or highway 22 1 controller address 6 1 (KMA9... KMA0). The output of the multiplexer 42 is the output address of the multiplexer 3 1.1. When O / P = 0 at the output of the multiplexer 42 there is an address set by the processor 2 1 , and when O / P = 1 - by the controller 6 1 . The multiplexer 43 commutes the write signals to the memory block 5 1.1 generated by the processor 2 1 (the RAM signal on the line 2 1 ) or the exchange controller 6 1 (the RAM signal passing through the first reverse node 13 1.1 ). The output of the multiplexer 43 is the recording output of the control multiplexer 4 1.1 . When O / P = 0, the output of the multiplexer 43 is the signal of the RAM, and when O / P = 1 - KZZZU. The multiplexer 44 switches the read signals from the memory block 5 1.1 generated by the processor 2 1 (the CHTZU signal on the line 2 1 ) or the exchange controller 6 1 (the KCHTZU signal passing through the first reverse node 13 1.1 ). The output of the multiplexer 44 is the read output of the control multiplexer 4 1.1 . When O / P = 0, the output of the multiplexer 44 has a CTZU signal, and when O / P = 1 - KCHTZU. The first information input / output of the data switch 1 1.1 is the input D1, D0 of the trunk transceivers 45, 46. The second information input / output of the data switch 1 1.1 is the input / output DB of the main transceiver 45 connected to the processor data line 19 1 2 1 (MD7... MD0). The third information input / output of the data switch 1 1.1 is the input / output DB of the trunk transceiver 46 belonging to the first exchange chain (KMD7... KMDO, harness 26 in Fig. 1). When G / P = 0 information input / output unit 5, a memory 1.1 can be connected to the pipeline data processor 19 January 1 2, if the memory unit 5 1.1 is selected. In this case, a zero signal is generated at the output of the OR element 48, which opens the transceiver 45. If the memory unit 5 1.1 is not selected, that is, a single signal acts at the output of the address multiplexer 3 1.1 selection, then the transceiver 45 cannot be opened that eliminates the conflict on the highway 19 1 data. At O / P = 0, the transceiver 46 is closed by a single output signal of the element NOT 47. At O / P = 1, the transceiver 45 is closed and the transceiver 46 is open, which ensures the connection of the information input / output of memory block 5 1.1 to the data highway the first chain of exchange (KMD7.. KMD0, harness 26 in Fig. 1). The direction of data transmission through the open transceiver 45, 46 is determined by the value of the signal at the read output of the multiplexer 4 1.1 control.

Таким образом, видно, что при обмене данными при параллельной работе всех микроЭВМ системы источником информации в i-й цепочке является блок 5i, i памяти, в конкретном примере это блоки 51.1, 51.2, 51.3. Остальные блоки 5i, j памяти являются приемниками информации. В предложенном устройстве такой порядок обмена может быть изменен (реверсирован), тогда источниками информации становятся все отключаемые блоки 5i, j памяти одной микроЭВМ (назовем такую микроЭВМ ведущей), а приемниками информации - отключаемые блоки 5i, j памяти остальных микроЭВМ системы (ведомые), принадлежащие соответствующей цепочке. Необходимость в реверсе возникает при передаче программ из ведущей микроЭВМ в ведомые, а также - при передаче данных, когда система переходит из неразветвленного режима работы (задачу решает ведущая микроЭВМ) в параллельный режим работы (задача решается всеми микроЭВМ системы или в общем случае более чем одной микроЭВМ). Реверс осуществляется с помощью матрицы демультиплексоров 13ii (131.1, 132.2, 133.3) реверса и узлов 14ij (141.3, 141.4, 142.1, 142.4, 143.1, 143.2). В процессе работы все микроЭВМ формируют служебные сигналы (большая часть которых является для i-ых процессоров: 21, 22 или 23 запросами на прерывание):
а) О/Р (формируется на выходе первого разряда блока 7i вывода i-той микроЭВМ) - определяет режим работы отдельных микроЭВМ системы. При О/Р = 0 происходит автономное (независимое от других микроЭВМ) решение основной или фоновой задачи, при O/P = 1 - обмен данными между всеми микро-ЭВМ сразу по N каналам (цепочкам блоков 5i, j памяти). Обменом управляют устройства управления 6i обменом, а микроЭВМ без ОСП продолжают решать фоновую задачу, поскольку в их составе остаются, как ОЗУ, так и ПЗУ (блоки памяти 5i, 5; 51.5, 52.5, 53.5). При О/Р = 1 не только отключаются ОСП от своих внутренних магистралей, но и запускаются устройства управления 6i обменом, поскольку этот сигнал подается на их входы запуска;
б ) РЕШЕНИЕ ЗАКОНЧЕНО (РЗ, формируется на выходе второго разряда порта 7i вывода i-й микроЭВМ) - определяет степень завершенности процесса решения задачи при исполнении очередного фрагмента программы при параллельной работе микроЭВМ системы. При РЗ = 0 условия выхода из процесса итерационных вычислений не выполнены хотя бы в одной микроЭВМ, при РЗ = 1 условия выхода из процесса итерационных вычислений выполнены во всех микроЭВМ системы. Сигнал РЗ воздействует на вход управления демультиплексоров 9i, что позволяет в зависимости от значения сигнала РЗ формировать два запроса на прерывание НИ или ВИ. При РЗ = 0 формируется запрос на прерывание НИ, который физически создается сигналом КО, подаваемым на информационные входы демультиплексоров 9i. Сигнал КО инициируется сигналом О/Р = 1, который всегда формируется совместно с сигналом РЗ (см. фиг. 6. . . 13). Такое использование сигналов О/Р и РЗ позволяет переходить на следующий фрагмент программы только после обмена результатами решения предыдущим фрагментом программы. При РЗ = 1 формируется запрос на прерывание ВИ;
в) ПП (формируется на выходе третьего разряда порта 7i вывода i-й микроЭВМ) - инициализирует процесс передачи программ из ведущей микроЭВМ в ведомые. При ПП = 1 формируется запрос на прерывание ПП, в ходе обслуживания которого происходит запись в ведомые микроЭВМ программ решения задачи, которые компилируются в ведущей микроЭВМ. Значение ПП = 0 является пассивным;
г) ПР (формируется на выходе четвертого разряда порта 7i вывода i-й микроЭВМ) - инициализирует процесс перехода ведомых микроЭВМ в начало нового фрагмента программы при переходе системы от неразветвленного режима работы к параллельному. При ПР = 1 формируется запрос на прерывание ПР, в ходе обслуживания которого ведомые микроЭВМ переходят в начало нового фрагмента программы решения задачи. Значение ПР = 0 является пассивным;
д) ОШ (формируется на выходе пятого разряда порта 7i вывода i-й микроЭВМ) - инициализирует останов решения задачи при возникновении ошибки в ходе работы ведомых микроЭВМ. При ОШ = 0 формируется запрос на прерывание ОШ, поскольку подается на входы инверторов 10i (при ОШ = 0 на выходе инверторов 10i формируется единичный сигнал, который для входа прерывания процессора 2i считается действующим). В ходе обслуживания прерывания ОШ ведущая микроЭВМ получает диагностическую информацию от ведомых микроЭВМ, анализирует ее и сообщает оператору об источнике и виде возникшей ошибке;
е) РЕВЕРС (формируется на выходе шестого разряда блока 7i вывода i-й микроЭВМ) - устанавливает реверсивный режим работы i-й цепочки блоков 5i, j памяти. При РЕВЕРС = 1 - в i-й цепочке устанавливается реверсивный режим работы, при РЕВЕРС = = 0 - обычный режим работы.
Thus, it is clear that during data exchange during parallel operation of all microcomputers of the system, the information source in the ith chain is the memory block 5i, i, in a specific example, these are blocks 5 1.1 , 5 1.2 , 5 1.3 . The remaining memory blocks 5i, j are information receivers. In the proposed device, this exchange order can be changed (reversed), then all disconnected memory blocks 5i, j of the memory of one microcomputer (we call such a microcomputer master) become sources of information, and information receivers become disconnected blocks 5i, j of the memory of other microcomputers of the system (slaves), belonging to the corresponding chain. The need for reverse arises when transferring programs from a host microcomputer to slave ones, and also when transferring data, when the system switches from an unbranched mode of operation (the task is solved by the host microcomputer) to a parallel mode of operation (the problem is solved by all microcomputers of the system or, in general, by more than one microcomputer). The reverse is carried out using the matrix of demultiplexers 13ii (13 1.1 , 13 2.2 , 13 3.3 ) of the reverse and nodes 14ij (14 1.3 , 14 1.4 , 14 2.1 , 14 2.4 , 14 3.1 , 14 3.2 ). During operation, all microcomputers generate service signals (most of which are for i-th processors: 2 1 , 2 2 or 2 3 interrupt requests):
a) O / P (formed at the output of the first discharge of the output unit 7i of the i-th microcomputer) - determines the operation mode of individual microcomputers of the system. When O / P = 0, an autonomous (independent of other microcomputers) solution of the main or background problem occurs, when O / P = 1, data is exchanged between all microcomputers via N channels at once (memory block chains 5i, j). The exchange is controlled by control devices 6i exchange, and microcomputers without OSB continue to solve the background problem, since they contain both RAM and ROM (memory blocks 5i, 5 ; 5 1.5 , 5 2.5 , 5 3.5 ). When O / P = 1, not only the OSBs are disconnected from their internal highways, but also the exchange control devices 6i are started, since this signal is supplied to their start inputs;
b) THE DECISION IS COMPLETED (RE, is formed at the output of the second discharge of the i-th microcomputer output port 7i) - determines the degree of completion of the process of solving the problem when executing the next fragment of the program with parallel operation of the microcomputer system. When RE = 0, the conditions for exiting the process of iterative calculations were not satisfied in at least one microcomputer, when RE = 1, the conditions for exiting the process of iterative calculations were satisfied in all microcomputers of the system. The RE signal acts on the control input of the demultiplexers 9i, which allows, depending on the value of the RE signal, to form two requests to interrupt the NR or VI. When RE = 0, a request is generated to interrupt the NR, which is physically created by the KO signal supplied to the information inputs of the demultiplexers 9i. The TO signal is initiated by the signal O / P = 1, which is always generated together with the RE signal (see Fig. 6... 13). Such use of the O / P and RH signals allows one to go to the next fragment of the program only after exchanging the results of the solution by the previous fragment of the program. With РЗ = 1, a request is generated to interrupt the VI;
c) software (is formed at the output of the third discharge of the output port 7i of the i-th microcomputer) - initializes the process of transferring programs from the leading microcomputer to the slave. When PP = 1, a request is generated for interruption of the software, during the course of servicing of which the programs for solving the problem are recorded in the slave microcomputers, which are compiled in the host microcomputer. The value of PP = 0 is passive;
d) PR (formed at the output of the fourth discharge of the i-th microcomputer output port 7i) - initiates the process of transitioning the slave microcomputers to the beginning of a new program fragment when the system transitions from unbranched to parallel operation. When PR = 1, a request is generated to interrupt the PR, during which the slave microcomputers go to the beginning of a new fragment of the program for solving the problem. The value of PR = 0 is passive;
d) OSH (formed at the output of the fifth discharge of the output port 7i of the i-th microcomputer) - initializes the stop of the solution of the problem if an error occurs during the operation of the slave microcomputers. When OS = 0, a request is made to interrupt OS, since it is fed to the inputs of inverters 10i (when OS = 0, a single signal is generated at the output of inverters 10i, which is considered valid for the interrupt input of processor 2i). During the maintenance of the OS interrupt, the host microcomputer receives diagnostic information from the slave microcomputers, analyzes it and informs the operator about the source and type of the error;
e) REVERSE (is formed at the sixth bit output of the i-th microcomputer output block 7i) - sets the reverse mode of operation of the i-th chain of memory blocks 5i, j. With REVERSE = 1 - in the i-th chain the reverse mode of operation is established, with REVERSE = = 0 - the usual mode of operation.

Необходимо помнить, что первые пять выходов блоков 7i вывода (также как и выходы признаков конца обмена устройств управления 6i обменом) имеют открытый коллектор, что позволяет достаточно просто комплексировать отдельные микроЭВМ в систему, а также унифицировать состав отдельных микроЭВМ (устранить элементы, которые в прототипе принадлежат системе в целом, а не микроЭВМ в отдельности). It must be remembered that the first five outputs of the output blocks 7i (as well as the outputs of the signs of the end of the exchange of the control devices 6i exchange) have an open collector, which makes it easy to integrate individual microcomputers into the system, as well as to unify the composition of individual microcomputers (eliminate the elements that are in the prototype belong to the system as a whole, and not to the microcomputer separately).

Упрощенный алгоритм функционирования каждой отдельной микроЭВМ системы представлен на фиг. 6. При подаче питания (или после нажатия "СБРОС", которая входит в состав блока 16i сброса) i-я микроЭВМ запрещает прерывания для того, чтобы провести инициализацию, далее устанавливается (блок 50) пассивное состояние сигналов: ПП = ПР = О/Р = РЗ = 0, ОШ = 1, что является исходным режимом для системы. Блоком 51 производится проверка значение сигнала АВТ/СИС, для чего производится чтение порта 8i ввода и проверка третьего разряда введенного кода. Если значение этого разряда равно 1, то это означает, что рассматриваемая микроЭВМ должна работать автономно и происходит передача управления на блок 57, который разрешает все прерывания. МикроЭВМ при этом работает (блок 58) аналогично персональным ЭВМ (ПЭВМ). При решении задач в этом режиме ОСП подключены к внутренним шинам и используются, как обычные ОЗУ. Программы решаемых задач могут располагаться в любом месте адресного пространства i-го процессора 21, с учетом особенностей операционной системы. Если сигнал АВТ/СИС = 0, то это означает, что рассматриваемая микроЭВМ подключена к системе и происходит передача управления на блок 52, в котором проверяется сигнал ВДЩ/ВДМ (при этом также производится чтение блока 8i ввода, но проверяется второй разряд введенного кода). Если сигнал ВДЩ/ВДМ = 0 (этот сигнал формируется блоком 11i формирования сигнала ВДЩ/ВДМ), то рассматриваемая микроЭВМ в системе будет ведомой и произойдет передача управления на блок 60, в котором устанавливается активное состояние сигналов ПП = ПР = 1. Это деблокирует линии ПП и ПР и позволяет ведущей микроЭВМ быть единственным в системе источником этих сигналов. Блок 61, разрешая прерывания, позволяет перейти к решению фоновой задачи (блок 62), которой может являться пользовательская задача пользователя i-й микроЭВМ. Решение основной для системы задачи в ведомых микроЭВМ происходит в ходе обработки соответствующих прерываний (см. фигуры 7. . . 11). A simplified algorithm for the operation of each individual microcomputer system is shown in FIG. 6. When power is applied (or after pressing "RESET", which is part of the reset unit 16i), the i-th microcomputer prohibits interrupts in order to initialize, then the passive state of the signals is established (block 50): ПП = ПР = О / P = P3 = 0, OR = 1, which is the initial mode for the system. Block 51 checks the value of the AVT / SIS signal, for which it reads the input port 8i and checks the third bit of the entered code. If the value of this discharge is 1, then this means that the microcomputer under consideration should work autonomously and control is transferred to block 57, which allows all interrupts. In this case, the microcomputer operates (block 58) similarly to a personal computer (PC). When solving problems in this mode, the OSBs are connected to the internal buses and are used like regular RAM. Programs of the tasks to be solved can be located anywhere in the address space of the i-th processor 21, taking into account the features of the operating system. If the signal AUT / SIS = 0, then this means that the microcomputer under consideration is connected to the system and control is transferred to block 52, in which the VDSH / VDM signal is checked (in this case, the input block 8i is also read, but the second bit of the entered code is checked) . If the signal VDSH / VDM = 0 (this signal is generated by the VDSH / VDM signal generation block 11i), then the considered microcomputer in the system will be slave and control will be transferred to block 60, in which the active state of the signals PP = PR = 1 is set. This will release the lines PP and PR and allows the host microcomputer to be the only source of these signals in the system. Block 61, allowing interrupts, allows you to proceed to the solution of the background problem (block 62), which may be the user's user task of the i-th microcomputer. The solution of the main task for the system in the slave microcomputers occurs during the processing of the corresponding interrupts (see figures 7. ... 11).

Для пользователя i-й микроЭВМ, которая является ведомой, работа в системе будет проявляться в несколько меньшей скорости решения его задачи, посколько ресурсы этой микроЭВМ будут иногда (при параллельной работе системы) использоваться для решения основной задачи. Для совместного решения основной и фоновой задач их программы и рабочие ячейки не должны пересекаться в адресном пространстве ОЗУ, прерывания системы должны иметь больший приоритет, чем прерывания необходимые для решения фоновой задачи, а обслуживание системных прерываний должно начинаться сохранением в стеке содержимых регистров общего назначения процессора 2i, его счетчика команд и заканчивается возвратом этих значений (на фиг. 7. . . 11 эти блоки условно не показаны). Если сигнал ВДЩ/ВДМ = 1, то это означает, что рассматриваемая микроЭВМ ведущая и происходит передача управления на блок 53, в котором маскируется прерывания ПП и ПР для того, чтобы исключить реакцию на запросы, которые ведущая микроЭВМ формирует только для ведомых. После разрешения (блок 54) оставшихся прерываний (НИ, ВИ, ОШ) ведущая микроЭВМ начинает принимать задачу (блок 55) от пользователя всей системы в целом. При этом предполагается, что в состав операционной системы ведущей микроЭВМ входит компилятор с алгоритмического языка высокого уровня, позволяющего производить вычисления параллельно (компиляция программы является частью функций блока 56). После компиляции программы (создания законченных программ в машинных кодах для всех N микроЭВМ системы) ведущая микроЭВМ передает программы работы в ведомые микроЭВМ, используя сигнал запроса на прерывание ПП. Для передачи программ используются цепочки блоков 5i памяти, которые в этом случае находятся в реверсивном режиме. Так, если ведущей является микроЭВМ с номером 1, то по i-й цепочке (i = 2. . . N) передается программа для i-й микроЭВМ соответственно. For the user of the i-th microcomputer, which is slave, the work in the system will manifest itself in a slightly lower speed of solving his task, since the resources of this microcomputer will sometimes be used (in parallel operation of the system) to solve the main problem. To jointly solve the main and background tasks, their programs and working cells should not overlap in the RAM address space, system interruptions should have a higher priority than interruptions necessary to solve the background task, and system interrupt service should begin by storing the general purpose processor registers 2i in the stack , its counter of commands and ends with the return of these values (in Fig. 7... 11 these blocks are not shown conditionally). If the signal VDSH / VDM = 1, then this means that the host in question is the host and control is transferred to block 53, in which the interruptions of the PC and the PR are masked in order to exclude the reaction to requests that the host microcomputer generates only for the slaves. After resolving (block 54) of the remaining interrupts (NI, VI, OS), the host microcomputer begins to receive the task (block 55) from the user of the entire system as a whole. It is assumed that the leading microcomputer's operating system includes a compiler from a high-level algorithmic language that allows for parallel calculations (compilation of the program is part of the functions of block 56). After compiling the program (creating complete programs in machine codes for all N microcomputers of the system), the leading microcomputer transmits the work programs to the slave microcomputers using the request signal to interrupt the software. To transmit programs, chains of memory blocks 5i are used, which in this case are in reverse mode. So, if the host is the microcomputer with number 1, then the program for the i-th microcomputer, respectively, is transmitted along the i-th chain (i = 2. ... N).

Объем передаваемой программы за один сеанс передачи не может превосходить объем ОСП-М. Если необходимо передавать достаточно большую программу, то сигнал ПП передается несколько раз, что соответствует нескольким сеансам передачи. Переход на параллельный режим работы происходит после формирования ведущей микроЭВМ сигнала ПР, выход из параллельной работы (переход на неразветвленный режим) происходит, когда все микроЭВМ сформируют сигналы О/Р = 1 и РЗ = 1. Если в F-ом фрагменте при параллельной работе системы решается итерационная задача и очередная итерация закончена, но условие выхода из процесса итерационных вычислений не выполнено хотя бы в одной микроЭВМ, то эта микроЭВМ формирует сигналы O/P = 1, РЗ = 0 и система после обмена данными продолжает процесс итерационных вычислений. The volume of the transmitted program in one transmission session cannot exceed the volume of the OSP-M. If it is necessary to transmit a sufficiently large program, then the PP signal is transmitted several times, which corresponds to several transmission sessions. The transition to parallel operation occurs after the formation of the leading microcomputer of the PR signal, the exit from parallel operation (transition to the unbranched mode) occurs when all microcomputers generate the signals O / P = 1 and RE = 1. If in the Fth fragment during parallel operation of the system the iterative task is solved and the next iteration is completed, but the condition for exiting the iterative computation process is not satisfied in at least one microcomputer, then this microcomputer generates signals O / P = 1, РЗ = 0, and the system continues the iterative process after exchanging data Islenyev.

Если задача системой решена, то при отсутствии признака конца работы, т. е. при сигнале ПРК = 0, происходит прием новой задачи для системы и ее решение по описанному выше алгоритму. На фиг. 7 представлен более подробный алгоритм обслуживания прерывания ПП. В блоке 66 происходит максирование прерывания НИ, которое формируется всегда после окончания обмена в системе, т. е. тогда когда сигнал КО = 1. Это прерывание обычно вызывает переход на начало текущего фрагмента программы. В рассматриваемом случае, когда происходит передача программ из ведущей микроЭВМ в ведомые такой переход нежелателен хотя бы потому, что для передачи программ в разные микроЭВМ может потребоваться разное число сеансов передачи. В этом случае переход на начало работы должен происходить после формирования ведущей микроЭВМ сигнала ПР = 1, когда все сеансы передачи программ закончены. If the problem is solved by the system, then in the absence of a sign of the end of work, that is, with a signal of PRK = 0, a new task for the system is received and solved according to the algorithm described above. In FIG. 7 shows a more detailed algorithm for service interrupt PP. In block 66, the NR interrupt is maximized, which is always formed after the end of the exchange in the system, that is, when the signal KO = 1. This interrupt usually causes a transition to the beginning of the current program fragment. In the case under consideration, when programs are transferred from the host microcomputer to the slave, such a transition is undesirable, if only because a different number of transmission sessions may be required to transfer programs to different microcomputers. In this case, the transition to the beginning of work should occur after the formation of the leading microcomputer of the signal PR = 1, when all sessions of the program transfer are completed.

В блоке 67 происходит выдача сигнала РЕВЕРС = 1 всеми ведомыми микроЭВМ на выходе шестого разряда порта 7i вывода. Эти сигналы поступают по i-ым цепочкам блоков 5i, j памяти на соответствующие входы узлов 13i, j и узлов 14i, j реверса, принадлежащих этим цепочкам, подготавливая их к реверсивной передаче информации, т. е. от ведущей микроЭВМ к ведомым. Достигается это тем, что в узлах 13i, j сигнал реверса поступает на управляющий вход мультиплексора 30. При РЕВЕРС = 0 импульсы управления записью/считыванием i-го котроллера 6i обмена проходят через вывод мультиплексора 30, который связан с входом чтения блока 5i, j памяти (через входы КЧТЗУ мультиплексора 44, входящего в состав мультиплексора 4i, j управления). Это соответствует нормальной работе i-й ячейки, когда блок 5i, j памяти является источником информации для остальных ОСП i-й цепочки. При РЕВЕРС = 1 импульсы управления записью/считыванием i-го контроллера 6i обмена проходят через вывод демультиплексора 30, который связан с входом записи блока 5i, j памяти (через вход КЗПЗУ мультиплексора 43, входящего в состав мультиплексора 4i, j управления). Это соответствует реверсивному режиму работы, когда источником информации в цепочке является ОСП, принадлежащий ведущей микроЭВМ и в блоке 5i, i памяти ведомых микроЭВМ происходит запись программы. В узлах 14i, j реверса сигнал РЕВЕРС поступает на один из входов элемента И 32, на второй вход которого поступает сигнал ВДЩ/ВДМ. Если РЕВЕРС = 1 и ВДЩ/ВДМ = 1, то на выходе элемента И 32 появляется единичный уровень, который программирует демультиплексор 31 на передачу импульсов управления записью/считывания i-го контроллера 6i обмена через вывод, который соединен с входом чтения (через вход КЧТЗУ мультиплексора 44, который входит в состав мультиплексора 4i, j управления). In block 67, the REVERSE = 1 signal is issued by all the slave microcomputers at the output of the sixth bit of the output port 7i. These signals are fed through the i-th chains of memory blocks 5i, j to the corresponding inputs of the nodes 13i, j and reverse nodes 14i, j belonging to these chains, preparing them for the reverse transmission of information, i.e., from the host microcomputer to the slave ones. This is achieved by the fact that at nodes 13i, j the reverse signal is fed to the control input of multiplexer 30. When REVERS = 0, the write / read control pulses of the ith exchange controller 6i pass through the output of multiplexer 30, which is connected to the read input of memory block 5i, j (through the inputs KCHTZU multiplexer 44, which is part of the multiplexer 4i, j control). This corresponds to the normal operation of the i-th cell, when the memory block 5i, j is the source of information for the remaining OSBs of the i-th chain. When REVERSE = 1, the write / read control pulses of the ith exchange controller 6i pass through the output of the demultiplexer 30, which is connected to the write input of the memory unit 5i, j (through the input of the RAM of the multiplexer 43, which is part of the control multiplexer 4i, j). This corresponds to a reverse mode of operation, when the source of information in the chain is an SIR belonging to the host microcomputer and a program is recorded in the memory unit 5i, i of the slave microcomputer memory. In nodes 14i, j reverse the REVERSE signal is fed to one of the inputs of the element And 32, the second input of which receives the signal VDSH / VDM. If REVERSE = 1 and VDSH / VDM = 1, then at the output of the And 32 element appears a single level that programs the demultiplexer 31 to transmit write / read pulses of the i-th exchange controller 6i through the output, which is connected to the read input (through the input KCHTZU multiplexer 44, which is part of the control multiplexer 4i, j).

Т. е. ОСП, принадлежащий ведущей микроЭВМ (ВДШ/ВДМ = 1) в реверсивном режиме (РЕВЕРС = 1) является источником информации программы для всех других ОСП i-й цепочки. В других случаях (т. е. при ВДЩ/ВДМ = 0) или РЕВЕРС = 0) ОСП является приемником информации. В блоке 68 происходит выдача сигнала О/Р = 1 на своем выходе, т. е. на выходе первого разряда порта 7i вывода i-й микроЭВМ. Когда все микроЭВМ системы выставят этот сигнал, то он появится на всей линии (выполнится операция "монтажное И") и все ОСП отключатся от внутренних магистралей и соединятся в цепочки, а контроллеры 6i обмена начнут управление процессом обмена. Все микроЭВМ системы программно следят за окончанием этого процесса (блоки 69, 70 на фиг. 7). Если процесс обмена закончен, то происходит переход на блок 71, в котором выдается сигнал О/Р = 0, что подключает все ОСП к своим внутренним магистралям. В блоке 72 происходит перезапись программы из ОСП в ОЗУ, при этом формат передаваемого сообщения строго определен, например, в самой первой ячейке ОСП помещается длина программы -m, во второй - начальный адрес, в последующих (m-2) ячейках - пакет программы. Если m = M, то программа может иметь продолжение, т. е. введена не полностью, если m < М, то необходимо проанализировать содержимое (m+1) ячейки. Если содержимое (m+1) ячейки не равно нулю, то это код длины следующего фрагмента программы, за которым следует начальный адрес и пакет программы этого фрагмента. Если сумма m всех фрагментов программы, записанной в ОСП равна М, то программа введена не полностью. В противном случае программа введена полностью. Все это проверяется в блоке 73. Если программа введена не полностью, то ведомая микроЭВМ выходит из прерывания и продолжает решение фоновой задачи, ожидая следующего сеанса передачи программы. That is, the SCE belonging to the leading microcomputer (VDSH / VDM = 1) in the reverse mode (REVERSE = 1) is the source of program information for all other SCEs of the i-th chain. In other cases (i.e., when VDShch / VDM = 0) or REVERSE = 0) OSB is a receiver of information. In block 68, the signal O / P = 1 is output at its output, i.e., at the output of the first discharge of the i-th microcomputer output port 7i. When all the microcomputers of the system set this signal, it will appear on the entire line (the operation “mounting AND” will be performed) and all the OSBs will be disconnected from the internal lines and connected in chains, and the exchange controllers 6i will begin to control the exchange process. All microcomputers of the system programmatically monitor the end of this process (blocks 69, 70 in Fig. 7). If the exchange process is completed, then there is a transition to block 71, in which a signal O / P = 0 is issued, which connects all the SCEs to their internal highways. In block 72, the program is rewritten from the OSB to RAM, while the format of the transmitted message is strictly defined, for example, the length of the program -m is placed in the very first cell of the OSB, the start address in the second, and the program package in the next (m-2) cells. If m = M, then the program can be continued, that is, it is not completely entered, if m <M, then it is necessary to analyze the contents of (m + 1) cells. If the contents of the (m + 1) cell is not equal to zero, then this is the code for the length of the next fragment of the program, followed by the starting address and program package of this fragment. If the sum m of all fragments of the program recorded in the OSB is equal to M, then the program is not fully entered. Otherwise, the program is fully entered. All this is checked in block 73. If the program is not completely entered, the slave microcomputer exits the interrupt and continues to solve the background problem, waiting for the next program transfer session.

Если программа передана полностью, то максируется (блок 74) прерывание ПП, поскольку в оставшиеся микроЭВМ могут еще вводиться программы и сигналы ПП = 1 повторяться (реакция микроЭВМ, закончивших уже прием программ на этот сигнал прерывания нежелательна). В блоке 75 снимается сигнал реверса (т. е. РЕВЕРС = 0), поскольку в цепочке с законченным процессом передачи программ такой сигнал уже не нужен. В блоке 76 устанавливается начальное значение счетчику фрагментов программ F = 0. If the program is completely transmitted, then the PC interrupt is maximized (block 74), since programs can still be entered into the remaining microcomputers and the PP = 1 signals can be repeated (the reaction of microcomputers that have already finished receiving programs to this interrupt signal is undesirable). In block 75, the reverse signal is taken (i.e., REVERSE = 0), since such a signal is no longer needed in the chain with the completed program transfer process. In block 76, the initial value is set to the counter of program fragments F = 0.

По значению счетчика выбирается начальный адрес F-го фрагмента из таблице, которая передается в ведомую микроЭВМ при передаче программы. После передачи программ во все ведомые микроЭВМ ведущая микроЭВМ выполняет программу, относящуюся к неразветвленной части процесса решения (если она имеется перед параллельными вычислениями), выдает сигнал ПР и переходит на решение фоновой задачи. Такой задачей для ведущей микроЭВМ может являться опрос клавиатуры. Сигнал ПР для ведомых микроЭВМ является запросом на прерывание, алгоритм обслуживания которого приведен на фиг. 8. The value of the counter selects the starting address of the Fth fragment from the table, which is transmitted to the slave microcomputer when transmitting the program. After transferring programs to all slave microcomputers, the host microcomputer executes a program related to the unbranched part of the solution process (if it exists before parallel computing), issues a PR signal, and switches to solving the background problem. Such a task for the leading microcomputer may be a survey of the keyboard. The PR signal for the slave microcomputers is an interrupt request, the service algorithm of which is shown in FIG. 8.

В блоке 77 этого алгоритма производится сброс сигналов О/Р и РЗ для установки начального состояния сигналов на этих линиях. В блоке 78 выдается сигнал реверса, поскольку предполагается, что перед началом параллельных вычислений начальные данные для F-го фрагмента подготовлены в ведущей микроЭВМ и должны быть оттуда переданы в ведомые микроЭВМ. В блоке 79 разрешаются прерывания ПП и НИ, запрещенные в подпрограмме обслуживания прерывания ПП, после чего все микроЭВМ снова становятся восприимчивыми к этим запросам на прерывание. В блоке 80 i-я ведомая микроЭВМ производит передачу в i-е устройство управления 6i обменом код числа передаваемых данных (максимальное значение этого кода - М). В блоке 81 происходит выдача сигнала О/Р = 1 и выход из подпрограммы. Когда такой сигнал выдадут все микроЭВМ системы, то системный сигнал О/Р = 1 (выполнится операция "монтажное И") и в системе возникает режим обмена, который закончится выдачей сигнала КО = 1 всеми контроллерами 6i обмена. Этот сигнал вызывает запрос на прерывание НИ (поскольку сигнал РЗ = 0) во всех микроЭВМ системы, обслуживание которого (см. фиг. 9) заключается в передаче управления на начало F-го фрагмента программы, структура которого приведена на фиг. 10. В блоке 82 снимается сигнал реверса (т. е. РЕВЕРС = 0) поскольку после решения F-го фрагмента обмен производится обычным порядком. В блоке 83 снимаются сигналы О/Р и РЗ - первый для подключения ОСП к внутренним магистралям, а второй - поскольку решение фрагмента еще не закончено. Собственно решение производится в блоке 84 и, если ошибок нет, то происходит передача управления на блок 86, в котором производится проверка конца итерации. In block 77 of this algorithm, the O / R and RE signals are reset to set the initial state of the signals on these lines. In block 78, a reverse signal is generated, since it is assumed that before the start of parallel calculations, the initial data for the Fth fragment is prepared in the host microcomputer and must be transferred from there to the slave microcomputer. In block 79, PP and NI interrupts are prohibited that are prohibited in the PP interrupt service routine, after which all microcomputers again become susceptible to these interrupt requests. In block 80, the i-th slave microcomputer transmits to the i-th exchange control device 6i a code for the number of transmitted data (the maximum value of this code is M). In block 81, the signal O / P = 1 is output and the subprogram is exited. When such a signal is issued by all the microcomputers of the system, the system signal is O / P = 1 (the operation "mounting AND" is performed) and the exchange mode appears in the system, which ends with the output of the signal KO = 1 by all exchange controllers 6i. This signal causes a request to interrupt NR (since the signal RE = 0) in all microcomputers of the system, the maintenance of which (see FIG. 9) consists in transferring control to the beginning of the Fth fragment of the program, the structure of which is shown in FIG. 10. In block 82, the reverse signal is taken (that is, REVERSE = 0) since, after solving the Fth fragment, the exchange is carried out in the usual manner. In block 83, the O / R and RE signals are taken - the first to connect the OSB to the internal highways, and the second - since the solution to the fragment is not yet complete. Actually, the decision is made in block 84 and, if there are no errors, the control is transferred to block 86, in which the end of the iteration is checked.

Если итерация не закончена, то решение продолжается; в противном случае проверяется (в блоке 87) выполнение условия выхода из процесса итерационных вычислений. Если условия выхода из процесса итерационных вычислений не выполнено (необходимая точность вычисления не достигнуты), то происходит переход на блок 89, в котором формируется сигнал О/Р = 1. Когда такой сигнал установят все микроЭВМ системы, то произойдет обмен данными и после обмена переход на начало F-го (текущего) фрагмента программы всех микроЭВМ, т. е. система начинает новую итерацию. Описанный выше процесс проходит по следующей цепочке событий: О/Р = 1 -> обмен ->КО = 1-> запрос на прерывание НИ, поскольку РЗ = 0. Если условия выхода из процесса итерационных вычислений выполнены, то происходит выдача РЗ = 1 (блок 88) и О/Р = 1 (блок 89), что вызывает выход из текущего фрагмента программы по следующей цепочке событий: О/Р = 1 -> обмен -> КО = - ВИ, поскольку РЗ = 1. Необходимо отметить, что после выполнения блока 89 происходит выход из подпрограммы, т. е. возврат к решению фоновой (пользовательской) задачи, которая решается, по крайней мере, в течение всего времени обмена. If the iteration is not completed, then the solution continues; otherwise, it checks (in block 87) that the condition for exiting the iterative computation is satisfied. If the conditions for exiting the iterative calculation process are not fulfilled (the necessary accuracy of the calculation has not been achieved), then there is a transition to block 89, in which the signal О / Р = 1 is generated. When such a signal is set by all the microcomputers of the system, data will be exchanged and, after exchange, at the beginning of the Fth (current) fragment of the program of all microcomputers, i.e., the system begins a new iteration. The process described above proceeds through the following chain of events: O / P = 1 -> exchange -> KO = 1-> request to interrupt NI, since RZ = 0. If the conditions for exiting the iterative calculation process are fulfilled, then RZ = 1 ( block 88) and O / P = 1 (block 89), which causes the exit from the current program fragment by the following chain of events: O / P = 1 -> exchange -> KO = - VI, since RP = 1. It should be noted that after block 89 is executed, the subprogram is exited, i.e., it returns to the solution of the background (user) problem, which is solved, at least in the course of e total exchange time.

Описанный выше процесс итерационных вычислений полностью идентичен аналогичному процессу в прототипе за исключением обработки ошибок вычислений (деление на нуль и т. п. ). В прототипе отсутствуют аппаратные средства для останова вычислений при возникновении ошибок. В заявляемом устройстве при наличии ошибок вычислений происходит передача управления на блок 90, в котором определяется в ведущей или в ведомой микроЭВМ обнаружена ошибка. Если ошибка обнаружена в ведомой микроЭВМ, то происходит передача управления на блок 91, в котором код ошибки засылается в блок 5i, i памяти (i-й номер отказавшей микроЭВМ) для его передачи в ведомую микроЭВМ. После этого (блок 92) маскируются запросы на прерывание ОШ и НИ, первое - поскольку самопрерывание нежелательно, т. е. код ошибки уже заслан в ОСПi, i, а это является содержанием подпрограммы обработки запроса на прерывание ОШ, а второе - для того, чтобы после обмена кодами состояния микроЭВМ (производится в ходе облуживания прерывания ОШ) не переходить на новую итерацию, т. к. в решении уже есть ошибки. В блоке 93 выдается сигнал О/Р = 1, чтобы инициировать обмен кодами состояния микроЭВМ. В блоке 94 выдается сигнал ОШ = 0 (на выходе пятого разряда порта 7i вывода). Этот сигнал сразу вызывает сигнал запроса на прерывание ОШ (реализуется операция "монтажное ИЛИ" на выходах пятого разряда портов 7i вывода). Если ошибка обнаружена в ведущей микроЭВМ, то сообщение об этом выдается оператору сразу после ее возникновения (блок 95). Ведомые микроЭВМ при этом выполняют итерацию, а после ее выполнения, установив соответствующие значения сигналов О/Р и РЗ, переходят на решение пользовательской задачи. The iterative computation process described above is completely identical to the similar process in the prototype, except for processing computational errors (division by zero, etc.). The prototype lacks hardware to stop computing when errors occur. In the inventive device, in the presence of calculation errors, control is transferred to block 90, in which an error is detected in the host or slave microcomputer. If an error is detected in the slave microcomputer, then control is transferred to block 91, in which the error code is sent to the memory block 5i, i (i-th number of the failed microcomputer) for transmission to the slave microcomputer. After this (block 92), requests to interrupt OSH and NI are masked, the first is because self-interruption is undesirable, i.e., the error code has already been sent to OSPi, i, and this is the content of the routine for processing the request for interruption of OSh, and the second is to so that after exchanging the status codes of the microcomputer (performed during the maintenance of the OS interruption), one should not go to a new iteration, because there are already errors in the solution. In block 93, a signal O / P = 1 is issued to initiate the exchange of microcomputer status codes. In block 94, the signal OSH = 0 is output (at the output of the fifth bit of the output port 7i). This signal immediately triggers a request for interruption of the OSH (the operation "mounting OR" is implemented at the outputs of the fifth category of the output ports 7i). If an error is detected in the host microcomputer, a message about this is issued to the operator immediately after its occurrence (block 95). In this case, the slave microcomputers perform an iteration, and after its completion, having established the corresponding values of the O / P and RE signals, they proceed to solve the user problem.

Из сказанного выше видно, что параллельные вычисления заканчиваются практически одновременной установкой сигналов O/P = 1 РЗ = 1. Когда эти сигналы установят все микроЭВМ системы, то формируется запрос на прерывание ВИ, алгоритм обслуживания которого приведен на фиг. 11. В блоке 96 инкреминтируется счетчик фрагментов F. В блоке 97 проверяется статус микроЭВМ. Если микроЭВМ ведомая, то происходит выход из подпрограммы; если ведущая, то переход в начало следующего фрагмента, структура которого приведена на фиг. 12. Такое различие в реакции на запрос прерывания ВИ связано с тем, что ведомые микроЭВМ участвуют только в параллельных вычислениях, а ведущая микроЭВМ выполняет также и неразветвленные части программы решения системной задачи. Структура фрагментов при параллельной работе системы в основном совпадает со структурой фрагментов, решающих неразветвленные части задачи, так блоки 99. . . 101 фиг. 12 полностью идентичны блокам 84. . . 86 фиг. 10. It can be seen from the foregoing that parallel computations end with almost simultaneous installation of the signals O / P = 1 РЗ = 1. When these signals are installed by all the microcomputers of the system, a request for interruption of the VI is generated, the service algorithm of which is shown in FIG. 11. In block 96, the counter of fragments F is incremented. In block 97, the status of the microcomputer is checked. If the microcomputer is slave, then the subroutine exits; if the lead, then go to the beginning of the next fragment, the structure of which is shown in FIG. 12. Such a difference in the response to the request for interruption of the VI is due to the fact that the slave microcomputers participate only in parallel computing, and the host microcomputer also performs unbranched parts of the program for solving the system problem. The structure of fragments during parallel operation of the system basically coincides with the structure of fragments that solve unbranched parts of the problem, so blocks 99.. . 101 of FIG. 12 are completely identical to blocks 84.. . 86 of FIG. 10.

Отличие заключается в том, что после решения фрагмента в программе фиг. 12 (блок 102) осуществляется проверка окончания решения всей системной программы в целом, а не окончания итерационного процесса (блок 87 фиг. 10). Если системная задача не решена, то происходит переход на блок 104, в котором инкрементируется счетчик фрагментов программы F; выдается (блок 105) сигнал О/Р = 1, поскольку предполагается переход на параллельную работу системы, и связанный с ней обмен. В блоке 106 производится выдача сигнала ПР = 1, который инициирует переход на параллельную работу системы с новыми фрагментами программы. Если решение системной задачи закончено, то в блоке 103 происходит выдача результатов решения. Если в процессе решения возникают ошибки, то происходит передача управления на блок 107, в котором выдается сообщение оператору об ошибке. The difference is that after solving the fragment in the program of FIG. 12 (block 102), the end of the solution to the entire system program as a whole is checked, and not the end of the iterative process (block 87 of Fig. 10). If the system problem is not solved, then there is a transition to block 104, in which the counter of program fragments F is incremented; a signal O / P = 1 is issued (block 105), since a transition to parallel operation of the system and the exchange associated with it are assumed. In block 106, the signal PR = 1 is produced, which initiates the transition to parallel operation of the system with new program fragments. If the solution to the system problem is completed, then in block 103, the results of the solution are output. If errors occur during the solution process, control is transferred to block 107, in which an error message is issued to the operator.

На фиг. 13 приведен алгоритм обработки запроса на прерывание ОШ. В блоке 108 маскируется запрос на прерывание НИ, поскольку при обнаружении ошибки при решении системной задачи нет смысла продолжать вычисления. Ведомые микроЭВМ далее реагируют (блок 114) пересылкой кода отсутствия ошибки в блок 5i, i памяти, где i-номер ведомой микроЭВМ и выдачей сигнала О/Р = 1, чтобы создать в системе условия для обмена. Ведущая микроЭВМ выдает сигнал О/Р = 1 (блок 110), а затем программным путем (блоки 111, 112) проверяет окончание обмена. Далее, в блоке 113, выдается сигнал О/Р = 0, что подключает ОСПi, j к внутренним магистралям и анализируется источник и код ошибки о чем выдется сообщение оператору. (56) 1. Авторское свидетельство СССР N 1012232, кл. G 06 F 15/16, 1979. In FIG. 13 shows an algorithm for processing a request for interruption of an OS. In block 108, the request to interrupt the NI is masked, because if an error is detected when solving a system problem, it makes no sense to continue the calculation. The slave microcomputers then react (block 114) by sending the error code to the memory block 5i, i, where the i-number of the slave microcomputer and issuing the signal O / P = 1 to create conditions for exchange in the system. The host microcomputer generates a signal O / P = 1 (block 110), and then programmatically (blocks 111, 112) checks the end of the exchange. Next, in block 113, a signal O / P = 0 is issued, which connects the OSBi, j to the internal lines and analyzes the source and the error code, which informs the operator. (56) 1. USSR author's certificate N 1012232, cl. G 06 F 15/16, 1979.

2. Авторское свидетельство СССР N 1242977, кл. G 06 F 15/16, 1984.  2. USSR copyright certificate N 1242977, cl. G 06 F 15/16, 1984.

Claims (1)

СИСТЕМА КОММУТАЦИИ ПРОЦЕССОРОВ, содержащая с первой по третью матрицы коммутаторов размером H · (H+1) каждая, где H - число коммутируемых процессоров, матрицу размером H · (H+2) блоков памяти, H устройств управления обменом и первый демультиплексор группы, первые блок ввода и блок вывода, причем первый вход синхронизации системы подключен к входу синхронизации первого устройства управления обменом, информационный вход-выход, адресный вход и вход записи считывания блока памяти а-й строки б-го столбца матрицы блоков памяти (где а= 1, . . . H, б= 1, . . . , H+1) подключены соответственно к первому информационному входу-выходу коммутатора а-й строки б-го столбца первой матрицы коммутаторов, к первому выходу коммутатора а-й строки б-го столбца второй матрицы коммутаторов и к первому выходу коммутатора а-й строки б-го столбца третьей матрицы коммутаторов, а-й информационный вход-выход системы подключен через а-ю магистраль данных к первому информационному входу а-го устройства управления обменом, к вторым информационным входам-выходам коммутаторов а-й строки первой матрицы коммутаторов и к информационному входу-выходу блока памяти а-й строки (H+2)-го столбца матрицы блоков памяти, а-й адресный вход системы подключен через а-ю магистраль адреса к второму информационному входу а-го устройства управления обменом, к первым информационным входам коммутаторов а-й строки второй матрицы коммутаторов и к адресному входу блока памяти (H+2)-го столбца а-й строки матрицы блоков памяти, а-й вход режима системы подключен через а-ю магистраль управления к первому управляющему входу а-го устройства управления обменом, к первым информационным входам коммутаторов а-й строки третьей матрицы коммутаторов и к входу записи/считывания блоков памяти (H+2)-го столбца а-й строки матрицы блоков памяти, третий информационный вход-выход коммутатора а-й строки а-го столбца первой матрицы коммутаторов подключен к третьим информационным входам-выходам коммутаторов к-й строки а-го столбца и коммутаторов в-й строки (а+1)-го столбца первой матрицы коммутаторов (где к= а, . . . , H, б= 1, . . . , a), вторые выходы коммутаторов а-й строки б-го столбца третьей матрицы коммутаторов подключены соответственно к входам режима коммутаторов а-й строки б-го столбца первой матрицы коммутаторов, вторые выходы коммутатора а-й строки б-го столбца второй матрицы коммутаторов подключены соответственно к входам синхронизации блоков памяти а-й строки б-го столбца первой матрицы коммутаторов, первый выход а-го устройства управления обменом подключен к вторым информационным входам коммутаторов к-й строки а-го столбца и коммутаторов в-й строки (а+1)-го столбца второй матрицы коммутаторов, второй выход а-го устройства управления обменом подключен к второму информационному входу коммутатора а-й строки (а+1)-го столбца третьей матрицы коммутаторов, отличающаяся тем, что, с целью повышения быстродействия за счет решения не полностью распараллеливаемых задач, она содержит с второго по H-й блоки ввода, с второго по H-й блоки вывода, с второго по H-й демультиплексоры группы, матрицу размером H · (H+1) демультиплексоров 2-й группы и H элементов НЕ, причем входы синхронизации системы с второго по H-й подключены соответственно к входам синхронизации устройств управления обменом с второго по H-й, первые информационные входы а-го блока ввода и а-го блока вывода через а-ю магистраль данных подключены к а-му информационному входу-выходу системы, вторые информационные входы а-го блока ввода и а-го блока вывода через а-ю магистраль адреса подключены к а-му информационному входу системы, первый управляющий вход а-го блока ввода и управляющий вход а-го блока вывода через а-ю магистраль управления подключены к а-му входу режима системы, первые выходы блоков вывода объединены по схеме "монтажное ИЛИ" и подключены к управляющим входам коммутаторов первой, второй и третий матриц коммутаторов и к вторым управляющим входам всех устройств управления обменом, третьи выходы которых через схему МОНТАЖНОЕ ИЛИ подключены к вторым управляющим входам всех блоков ввода и к информационным входам всех демультиплексоров группы, вторые выходы всех блоков вывода через схему МОНТАЖНОЕ ИЛИ подключены к управляющим входам всех демультиплексоров группы, первый и второй выходы а-го демультиплексора группы подключены соответственно к а-м входам первой и второй групп прерывания системы, третьи выходы всех блоков вывода через МОНТАЖНОЕ ИЛИ подключены к выходам с первого по H-й третьей группы прерывания системы, четвертые выходы всех блоков вывода через схему МОНТАЖНОЕ ИЛИ подключены к выходам с первого по H-й четвертой группы прерывания системы, пятые выходы блоков вывода с первого по H-й через схему МОНТАЖНОЕ ИЛИ подключены к входам элементов НЕ с первого по H-й, выходы которых подключены соответственно к выходам с первого по H-й пятой группы прерывания системы, второй выход а-го устройства управления обменом подключен к информационному входу демультиплексора а-го столбца а-й строки матрицы демультиплексоров и к информационным входам демультиплексоров к-й строки с-го столбца и р-й строки (с+1)-го столбца матрицы демультиплексоров (где с= 1, . . . , H; . . . К= а, . . . H, р= 1, . . . , а), шестой выход а-го блока вывода подключен к управляющему входу демультиплексора а-й строки а-го столбца матрицы демультиплексоров и к первым управляющим входам демультиплексоров к-й строки с-го столбца матрицы демультиплексоров и к первым управляющим входам демультиплексоров к-й строки с-го столбца и р-й строки (с+1)-го столбца матрицы демультиплексоров, а-й вход признака "Ведущий/ведомый" системы подключен к третьему управляющему входу а-го блока ввода и к вторым управляющим входам демультиплексоров а-й строки Т-го столбца матрицы демультиплексоров (где Т-1, . . . , H+1; T ≠ a, T ≠ a+1), а-й вход признака "Автономно/система" системы подключен к четвертому управляющему входу а-го блока ввода, первый и второй выходы демультиплексора а-й строки а-го столбца матрицы демультиплексоров подключены соответственно к второму и к третьему информационным входам коммутатора а-й строки а-го столбца третьей матрицы коммутаторов, первый и второй выходы демультиплексора а-й строки Т-го столбца матрицы демультиплексоров подключены соответственно к второму и к третьему информационным входам коммутатора а-й строки Т-го столбца третьей матрицы коммутаторов.  PROCESSOR COMMUTATION SYSTEM, containing from the first to the third matrix of commutators of size H · (H + 1) each, where H is the number of switched processors, a matrix of size H · (H + 2) memory blocks, H exchange control devices and the first group demultiplexer, the first an input unit and an output unit, the first synchronization input of the system being connected to the synchronization input of the first exchange control device, information input-output, address input, and the write write input of the memory block of the ith row of the sixth column of the matrix of memory blocks (where a = 1, ... H, b = 1,..., H + 1) connected, respectively, to the first information input-output of the switch of the ith row of the sixth column of the first matrix of switches, to the first output of the switch of the ith row of the sixth column of the second matrix of switches and to the first output of the switch of the ith row of the sixth column of the third matrix of switches, the a-th information input-output of the system is connected through the a-th data line to the first information input of the a-th exchange control device, to the second information inputs-outputs of the switches of the a-th row of the first matrix of switches and to the inform the memory input and output of the ith row (H + 2) th column of the matrix of memory blocks, the ith address input of the system is connected via the ith address highway to the second information input of the ith exchange control device, to the first information inputs switches of the ith row of the second matrix of switches and to the address input of the memory block (H + 2) of the ith column of the ith row of the matrix of memory blocks, the ith input of the system mode is connected through the ith control line to the first control input of the ith exchange control devices, to the first information inputs to ommutators of the a-th row of the third matrix of switches and to the input of writing / reading memory blocks of the (H + 2) -th column of the a-th row of the matrix of memory blocks, the third information input-output switch of the a-th row of the first column of the first matrix of switches is connected to the third information inputs and outputs of the switches of the kth row of the ith column and the switches of the ith row of the (a + 1) th column of the first matrix of switches (where k = a,. . . , H, b = 1,. . . , a), the second outputs of the switches of the ath row of the sixth column of the third matrix of switches are connected respectively to the inputs of the mode of the switches of the ath row of the sixth column of the first matrix of switches, the second outputs of the switch of the ath row of the sixth column of the second matrix of switches connected respectively to the synchronization inputs of the memory blocks of the ith row of the sixth column of the first matrix of switches, the first output of the ith exchange control device is connected to the second information inputs of the switches of the kth row of the ith column and the switches of the ith row (a + 1)- of the second column of the second matrix of switches, the second output of the a-th exchange control device is connected to the second information input of the switch of the a-th row (a + 1) of the third column of the third matrix of switches, characterized in that, in order to improve performance due to the solution is not completely tasks to be parallelized, it contains second to Hth input blocks, second to Hth output blocks, second to Hth group demultiplexers, a matrix of size H · (H + 1) group 2 demultiplexers and H elements NOT , and the system synchronization inputs from second to Hth to are connected respectively to the synchronization inputs of the exchange control devices from the second to the Hth, the first information inputs of the a-th input block and the a-th output block through the a-th data line are connected to the a-th information input-output of the system, the second information inputs a of the nth input unit and the a-th output unit via the a-th output highway are connected to the a-th information input of the system, the first control input of the a-th input unit and the control input of the a-th output unit through the a-th control line are connected to a - mu system mode input, first output output units are combined according to the "mounting OR" scheme and are connected to the control inputs of the switches of the first, second and third matrixes of switches and to the second control inputs of all exchange control devices, the third outputs of which are connected via the INSTALL OR circuit to the second control inputs of all input units and to information the inputs of all the demultiplexers of the group, the second outputs of all output blocks through the circuit OR OR connected to the control inputs of all the demultiplexers of the group, the first and second outputs of the a-th demultiplexer PPs are connected respectively to the a-th inputs of the first and second groups of the system interruption, the third outputs of all output blocks through the INSTALL OR connected to the outputs from the first to the H-third third group of the system interruption, the fourth outputs of all output blocks through the circuit OR connected to the outputs with the first through the Hth fourth group of the system interruption, the fifth outputs of the first through Hth output blocks through the MOUNTING OR circuit are connected to the inputs of the NOT elements from the first to the Hth, the outputs of which are connected respectively to the outputs from the first to the Hth fifth group interruption of the system, the second output of the a-th exchange control device is connected to the information input of the demultiplexer of the a-th column of the a-th row of the matrix of demultiplexers and to the information inputs of the demultiplexers of the k-th row of the s-th column and p-th row (s + 1) - th column of the matrix of demultiplexers (where c = 1,. . . , H; . . . K = a. . . H, p = 1,. . . , a), the sixth output of the a-th output unit is connected to the control input of the demultiplexer of the a-th row of the a-th column of the matrix of demultiplexers and to the first control inputs of the demultiplexers of the k-th row of the c-th column of the matrix of demultiplexers and to the first control inputs of the demultiplexers of k- of the row of the cth column and the rth row (c + 1) of the column of the demultiplexer matrix, the ith input of the “Master / slave” sign of the system is connected to the third control input of the a-th input unit and to the second control inputs of the demultiplexers a th row of the Tth column of the matrix multiplexers (where T-1, ..., H + 1; T ≠ a, T ≠ a + 1), the nth input of the “Offline / system” sign of the system is connected to the fourth control input of the a-th input unit, the first and the second outputs of the demultiplexer of the ith row of the ith column of the matrix of demultiplexers are connected respectively to the second and third information inputs of the switch of the ith row of the ith column of the third matrix of switches, the first and second outputs of the demultiplexer of the ith row of the Tth column of the matrix of demultiplexers connected respectively to the second and third information inputs of the switch Ator of the ith row of the Tth column of the third matrix of commutators.
SU4949208 1991-06-24 1991-06-24 System for commutation of processors RU2006931C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU4949208 RU2006931C1 (en) 1991-06-24 1991-06-24 System for commutation of processors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU4949208 RU2006931C1 (en) 1991-06-24 1991-06-24 System for commutation of processors

Publications (1)

Publication Number Publication Date
RU2006931C1 true RU2006931C1 (en) 1994-01-30

Family

ID=21581223

Family Applications (1)

Application Number Title Priority Date Filing Date
SU4949208 RU2006931C1 (en) 1991-06-24 1991-06-24 System for commutation of processors

Country Status (1)

Country Link
RU (1) RU2006931C1 (en)

Similar Documents

Publication Publication Date Title
EP0318221A2 (en) Controlling responding by users of an intercommunications bus
US4149238A (en) Computer interface
GB1572972A (en) Data processing apparatus
CS287491A3 (en) Dynamic bus bus decision making with permission of joint use of each cycle
GB2026218A (en) Refresh timing in memory system
JPS62266642A (en) Data processor
RU2006931C1 (en) System for commutation of processors
CN117076344A (en) Data sharing method, device and system and readable storage medium
EP0546354B1 (en) Interprocessor communication system and method for multiprocessor circuitry
RU2066877C1 (en) Device for testing computers
RU2547216C1 (en) Digital computer
SU955013A1 (en) Device for interfacing computer to peripheral devices
SU1297069A1 (en) Interface for linking peripheral equipment with common memory
SU1070536A1 (en) Swapping device
KR100218383B1 (en) Multi-cpu module system
RU2042193C1 (en) Computing system
SU1330634A1 (en) Microprocessor
SU1587520A1 (en) Device for input/output of information
JP3466728B2 (en) Information processing system and method
KR950008393B1 (en) Arbeiter delay circuit for multiprocessor system
SU1539787A1 (en) Multichannel processor-to-subscribers interface
SU1257653A2 (en) Interface for linking electronic computers
SU941978A1 (en) Data exchange device
RU1798798C (en) System of multiple computers
SU1700559A1 (en) System for debugging of microprocessor devices