[go: up one dir, main page]

RU2168198C1 - Microcontroller network - Google Patents

Microcontroller network Download PDF

Info

Publication number
RU2168198C1
RU2168198C1 RU99119676A RU99119676A RU2168198C1 RU 2168198 C1 RU2168198 C1 RU 2168198C1 RU 99119676 A RU99119676 A RU 99119676A RU 99119676 A RU99119676 A RU 99119676A RU 2168198 C1 RU2168198 C1 RU 2168198C1
Authority
RU
Russia
Prior art keywords
input
output
synchronization
module
inputs
Prior art date
Application number
RU99119676A
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 RU99119676A priority Critical patent/RU2168198C1/en
Application granted granted Critical
Publication of RU2168198C1 publication Critical patent/RU2168198C1/en

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

FIELD: automatics, computer engineering. SUBSTANCE: invention can be utilized while constructing distributed systems of program control over technological processes. Microcontroller network includes M*N identical modules integrated in matrix structure. Each module has program storage, address register, command register, multiplexer of logic conditions, address switch, synchronization unit, three OR gates, unit of NOT gates, register of vector of correspondence, buffer register, first and second decoders of number of synchronization vertex, first and second groups of AND gates, group of OR gates, unit of OR gates, first and second univibrators, delay element. EFFECT: expanded application field of microcontroller network, enhanced timeliness of intermodule transfer of control. 1 cl, 7 dwg

Description

Изобретение относится к автоматике и вычислительной технике и может найти применение при построении распределенных систем программного управления технологическими процессами, роботами и робототехническими комплексами, а также подсистем логического управления многоуровневых иерархических АСУ и мультипроцессорных систем широкого класса. The invention relates to automation and computer technology and can find application in the construction of distributed software control systems for technological processes, robots and robotic complexes, as well as logical control subsystems of multi-level hierarchical ACS and multiprocessor systems of a wide class.

Известна распределенная система для программного управления технологическими процессами, содержащая M•N каналов (модулей), каждый из которых включает блок памяти программ, коммутатор адреса, регистры адреса и команд, мультиплексор логических условий, блоки синхронизации и анализа, буферный запоминающий блок, два блока элементов И и элемент И (а.с. 1605212 CCCP, G 05 B 19/18; опубл. 07.11.90, БИ N 41). A well-known distributed system for technological process control containing M • N channels (modules), each of which includes a program memory block, an address switch, address and instruction registers, a logic condition multiplexer, synchronization and analysis blocks, a buffer memory block, two blocks of elements And the element And (A.S. 1605212 CCCP, G 05 B 19/18; publ. 07.11.90, BI N 41).

Недостатком этой системы является узкая область применения, связанная с отсутствием средств синхронизации групп параллельных участков программ, закрепленных за различными модулями. Отсутствие средств синхронизации во многих случаях является недопустимым, поскольку обусловливает возможность одновременного выполнения несовместимых команд (участков). The disadvantage of this system is the narrow scope associated with the lack of synchronization tools for groups of parallel sections of programs assigned to various modules. The lack of synchronization tools in many cases is unacceptable, since it makes it possible to simultaneously execute incompatible commands (sections).

Наиболее близкой к предлагаемой сети по технической сущности является дискретная микроконтроллерная сеть, содержащая M•N однотипных модулей, объединенных в матричную структуру, где N - число модулей в строке матричной структуры сети, М - число строк, каждый модуль которой включает блок памяти программ, блок анализа, регистр-счетчик адреса, регистр команд, коммутатор адреса, мультиплексор логических условий, блок синхронизации, блок управления синхронизацией параллельных участков, триггер, с первого по четвертый блоки элементов И, с левого по седьмой элементы И, с первого по третий элементы ИЛИ (патент 2110827 РФ, G 05 B 19/18, G 06 F 9/28; опубл. 10.05.98, БИ N 13). The closest to the proposed network in technical essence is a discrete microcontroller network containing M • N modules of the same type combined into a matrix structure, where N is the number of modules in a row of the matrix network structure, M is the number of lines, each module of which includes a program memory block, a block analysis, address counter-register, instruction register, address switch, logical conditions multiplexer, synchronization block, parallel section synchronization control block, trigger, from the first to fourth blocks of AND elements, from the left the seventh elements AND, from the first to the third elements OR (patent 2110827 RF, G 05 B 19/18, G 06 F 9/28; publ. 10.05.98, BI N 13).

Недостатком известной сети является невысокая оперативность межмодульной передачи управления при запуске групп параллельных участков (микро)программ (алгоритмов управления), закрепленных за различными модулями, обусловленная необходимостью последовательного попарного межмодульного обмена специальными управляющими командами. Данный недостаток ведет к снижению общего быстродействия сети. Другой недостаток указанной сети состоит в значительной сложности образующих ее модулей. A disadvantage of the known network is the low efficiency of inter-module control transfer when starting groups of parallel sections of (micro) programs (control algorithms) assigned to various modules, due to the need for consistent pairwise inter-module exchange of special control teams. This drawback leads to a decrease in the overall speed of the network. Another drawback of this network is the significant complexity of its modules.

Технической задачей, на решение которой направлено изобретение, является повышение оперативности межмодульной передачи управления в микроконтроллерной сети при запуске групп параллельных участков программ на основе организации параллельного запуска модулей, реализующих эти участки, при одновременном упрощении модулей сети. The technical problem to which the invention is directed is to increase the efficiency of inter-module transfer of control in a microcontroller network when starting groups of parallel sections of programs based on the organization of parallel launch of modules implementing these sections, while simplifying network modules.

Техническая задача решается тем, что в микроконтроллерную сеть, содержащую M•N однотипных модулей, объединенных в матричную структуру, где N - число модулей в строке матричной структуры сети, М - число строк, при этом каждый модуль включает блок памяти программ, регистр адреса, регистр команд, мультиплексор логических условий, коммутатор адреса, блок синхронизации, с первого по третий элементы ИЛИ, причем вход кода операции модуля соединен с первым информационным входом коммутатора адреса, выход которого подключен к информационному входу регистра адреса, выход которого подключен к адресному входу блока памяти программ, выход которого соединен с информационным входом регистра команд, выход метки конца программы которого соединен с управляющими входами коммутатора адреса, выходы кода логического условия и модифицируемого разряда адреса регистра команд подключены к управляющему и первому информационному входам мультиплексора логических условий соответственно, второй информационный вход которого соединен с входом логических условий модуля, первый вход блока синхронизации соединен с входом пуска модуля, дополнительно введен блок элементов НЕ, а каждый модуль дополнительно включает регистр вектора соответствия, буферный регистр, первый и второй дешифраторы номера вершины синхронизации, первую и вторую группы элементов И, группу элементов ИЛИ, блок элементов ИЛИ, первый и второй одновибраторы, элемент задержки, причем выход немодифицируемой части адреса регистра команд в объединении с выходом мультиплексора логических условий подключены к первому входу блока элементов ИЛИ и к информационному входу буферного регистра, выход которого соединен со вторым входом блока элементов ИЛИ, выход которого соединен со вторым информационным входом коммутатора адреса, выход микроопераций регистра команд подключен к выходу микроопераций модуля, вход вектора соответствия модуля соединен с информационным входом регистра вектора соответствия, выходы с первого по n-й которого (где n - максимальное число вершин синхронизации в реализуемых программах) подключены к первым входам элементов ИЛИ группы с первого по n-й соответственно, первый выход номера вершины синхронизации регистра команд соединен с входом первого дешифратора номера вершины синхронизации, выходы с первого по n-й которого соединены со вторыми входами элементов ИЛИ группы с первого по n-й соответственно, выходы которых подключены к первым входам элементов И первой группы с первого по n-й соответственно, входы первой группы входов синхронизации модуля с первого по n-й соединены со вторыми входами элементов И первой группы с первого по n-й соответственно, выходы которых соединены с выходами группы выходов синхронизации модуля с первого по n-й соответственно, второй выход номера вершины синхронизации регистра команд соединен с входом второго дешифратора номера вершины синхронизации, выходы с первого по n-й которого подключены к первым входам элементов И второй группы с первого по n-й соответственно, входы второй группы входов синхронизации модуля с первого по n-й подключены к третьим входам элементов И первой группы с первого по n-й соответственно, выходы которых подключены к вторым входам элементов И второй группы с первого по n-й соответственно, выходы которых соединены с входами первого элемента ИЛИ с первого по n-й соответственно, выход которого соединен с входом синхронизации буферного регистра и с входом первого одновибратора, выход которого подключен к входу сброса регистра команд и ко второму входу блока синхронизации, первый выход которого соединен с первым входом второго элемента ИЛИ, выход которого подключен к входу синхронизации регистра адреса, выход метки конца участка регистра команд соединен с входом второго одновибратора, выход которого соединен с третьим входом блока синхронизации, второй выход которого подключен к входу сброса буферного регистра и к первому входу третьего элемента ИЛИ, вход настройки модуля соединен со вторым входом второго элемента ИЛИ, с входом синхронизации регистра вектора соответствия, а также с входом элемента задержки, выход которого подключен ко второму входу третьего элемента ИЛИ, выход которого подключен к входу синхронизации регистра команд, группа выходов синхронизации (1.N)-го модуля соединена с входами блока элементов НЕ, выходы которого подключены к первой группе входов синхронизации (i.1)-го модуля,

Figure 00000002
и ко второй группе входов синхронизации (M. j)-го модуля,
Figure 00000003
группа выходов синхронизации (α,β)-го модуля,
Figure 00000004
Figure 00000005
подключена к первой группе входов синхронизации (α.β+1)-го модуля и ко второй группе входов синхронизации (α-l.β)-го модуля, группа выходов синхронизации (l.β)-го модуля соединена с первой группой входов синхронизации (l.β+l)-го модуля, группа выходов синхронизации (α,N)-го модуля соединена со второй группой входов синхронизации (α-l.N)-го модуля.The technical problem is solved in that in a microcontroller network containing M • N of the same type of modules combined into a matrix structure, where N is the number of modules in a row of the matrix structure of the network, M is the number of rows, each module includes a program memory block, an address register, a command register, a logical condition multiplexer, an address switch, a synchronization unit, from the first to the third OR element, the input of the operation code of the module being connected to the first information input of the address switch, the output of which is connected to the information input p an address histogram, the output of which is connected to the address input of the program memory block, the output of which is connected to the information input of the command register, the output label of the end of the program of which is connected to the control inputs of the address switch, the outputs of the logical condition code and the modifiable bit of the address of the command register are connected to the control and the first information the inputs of the multiplexer of logical conditions, respectively, the second information input of which is connected to the input of the logical conditions of the module, the first input of the synchronization unit And it is connected to the start input of the module, an additional block of elements NOT is introduced, and each module additionally includes a register of the correspondence vector, a buffer register, the first and second decoders of the synchronization vertex number, the first and second groups of AND elements, the group of OR elements, the block of OR elements, the first and the second one-shot, delay element, and the output of the non-modifiable part of the address of the register of commands in combination with the output of the multiplexer of logical conditions are connected to the first input of the block of OR elements and to the information input buffer The black register, the output of which is connected to the second input of the OR block of elements, the output of which is connected to the second information input of the address switch, the output of the microoperations of the command register is connected to the output of the microoperations of the module, the input of the correspondence vector of the module is connected to the information input of the register of the correspondence vector, outputs from the first to n which (where n is the maximum number of synchronization vertices in the programs being implemented) are connected to the first inputs of the elements of the OR group from the first to the n-th, respectively, the first output of the vertex number Synchronization of the command register is connected to the input of the first decoder of the synchronization vertex number, the outputs from the first to the nth of which are connected to the second inputs of the elements of the OR group from the first to the nth, respectively, the outputs of which are connected to the first inputs of the elements of the first group from the first to n respectively, the inputs of the first group of synchronization inputs of the module from the first to the n-th are connected to the second inputs of the elements And of the first group from the first to the n-th respectively, the outputs of which are connected to the outputs of the group of synchronization outputs of the module with first on the n-th, respectively, the second output of the number of the synchronization vertex number of the command register is connected to the input of the second decoder of the synchronization vertex number, the first to nth outputs of which are connected to the first inputs of the elements And the second group from the first to the n-th respectively, the inputs of the second group the synchronization inputs of the module from the first to the n-th are connected to the third inputs of the elements And the first group from the first to the n-th, respectively, the outputs of which are connected to the second inputs of the elements And the second group from the first to the n-th, respectively, the outputs of which are connected inens with the inputs of the first OR element from the first to the n-th respectively, the output of which is connected to the synchronization input of the buffer register and to the input of the first one-shot, the output of which is connected to the reset input of the command register and to the second input of the synchronization block, the first output of which is connected to the first input the second OR element, the output of which is connected to the synchronization input of the address register, the output of the label of the end of the section of the command register is connected to the input of the second one-shot, the output of which is connected to the third input of the synchronization block and, the second output of which is connected to the reset input of the buffer register and to the first input of the third OR element, the module setup input is connected to the second input of the second OR element, with the input of the synchronization register of the correspondence vector, as well as with the input of the delay element, the output of which is connected to the second input of the third OR element, whose output is connected to the synchronization input of the command register, the group of synchronization outputs (1.N) of the module is connected to the inputs of the block of elements NOT, the outputs of which are connected to the first group of synchronization inputs of the (i.1) th module,
Figure 00000002
and to the second group of synchronization inputs (M. j) -th module,
Figure 00000003
group of synchronization outputs of the (α, β) -th module,
Figure 00000004
Figure 00000005
connected to the first group of synchronization inputs (α.β + 1) of the module and to the second group of synchronization inputs (α-l.β) of the module, the group of synchronization outputs (l.β) of the module is connected to the first group of synchronization inputs (l.β + l) -th module, the group of synchronization outputs of the (α, N) -th module is connected to the second group of synchronization inputs of the (α-lN) -th module.

Сущность изобретения поясняется чертежами, где на фиг. 1 представлена функциональная схема модуля микроконтроллерной сети, на фиг. 2 изображена функциональная схема блока синхронизации, на фиг. 3 дана структурная схема микроконтроллерной сети, на фиг. 4 приведены форматы (микро)команд, реализуемые модулем микроконтроллерной сети, на фиг. 5 представлен иллюстративный пример, поясняющий принципы реализации параллельных алгоритмов (программ) в микроконтроллерной сети. The invention is illustrated by drawings, where in FIG. 1 is a functional diagram of a microcontroller network module; FIG. 2 shows a functional diagram of a synchronization unit, FIG. 3 is a structural diagram of a microcontroller network; FIG. 4 shows the formats of (micro) instructions implemented by the microcontroller network module; FIG. 5 is an illustrative example explaining the principles for implementing parallel algorithms (programs) in a microcontroller network.

Микроконтроллерная сеть (фиг. 3) содержит M•N однотипных модулей, объединенных в матричную структуру, где N - число модулей в строке матричной структуры сети, М - число строк, а также дополнительно введенный блок элементов НЕ 36, причем группа 29 выходов синхронизации (1.N)-го модуля соединена с входами блока элементов НЕ 36, выходы которого подключены к группе 27 входов синхронизации (i.1)-го модуля,

Figure 00000006
и к группе 28 входов синхронизации (M. j)-го модуля,
Figure 00000007
группа 29 выходов синхронизации (α.β)-го модуля,
Figure 00000008
Figure 00000009
подключена к группе 27 входов синхронизации (α.β+l) -го модуля и к группе 28 входов синхронизации (α-l.β)-го модуля, группа 29 выходов синхронизации (l.β)-го модуля соединена с группой 27 входов синхронизации (l.β+l)-го модуля, группа 29 выходов синхронизации (α.N)-го модуля соединена с группой 28 входов синхронизации (α-l.N)-го модуля.The microcontroller network (Fig. 3) contains M • N modules of the same type combined into a matrix structure, where N is the number of modules in a row of the matrix network structure, M is the number of rows, and an additionally entered block of elements is NOT 36, with a group of 29 synchronization outputs ( 1.N) -th module is connected to the inputs of the block of elements NOT 36, the outputs of which are connected to the group of 27 synchronization inputs of the (i.1) -th module,
Figure 00000006
and to a group of 28 synchronization inputs (M. j) of the module,
Figure 00000007
group of 29 synchronization outputs of the (α.β) -th module,
Figure 00000008
Figure 00000009
connected to a group of 27 synchronization inputs (α.β + l) of the module and to a group of 28 synchronization inputs (α-l.β) of the module, a group of 29 synchronization outputs (l.β) of the module is connected to a group of 27 inputs synchronization of the (l.β + l) -th module, the group of 29 synchronization outputs of the (α.N) -th module is connected to the group of 28 synchronization inputs of the (α-lN) -th module.

Модуль микроконтроллерной сети (фиг. 1) включает блок 1 памяти программ, регистр 2 адреса, регистр 3 команд с выходами 3.1 кода логического условия, 3.2 модифицируемого разряда адреса; 3.3 немодифицируемой части адреса, 3.4 микроопераций, первым выходом 3.5 номера вершины синхронизации, вторым выходом 3.6 номера вершины синхронизации, выходом 3.7 метки конца участка и выходом 3.8 метки конца программы, мультиплексор 4 логических условий, коммутатор 6 адреса, блок 10 синхронизации, первый 17, второй 15 и третий 16 элементы ИЛИ, причем вход 23 кода операции модуля соединен с первым информационным входом коммутатора 6 адреса, выход которого подключен к информационному входу регистра 2 адреса, выход которого подключен к адресному входу блока 1 памяти программ, выход которого соединен с информационным входом регистра 3 команд, выход 3.8 метки конца программы которого соединен с управляющими входами коммутатора 6 адреса, выходы 3.1 кода логического условия и 3.2 модифицируемого разряда адреса регистра 3 команд подключены к управляющему и первому информационному входам мультиплексора 4 логических условий соответственно, второй информационный вход которого соединен с входом 21 логических условий модуля, первый вход блока 10 синхронизации соединен с входом 25 пуска модуля, а также дополнительно введенные регистр 5 вектора соответствия, буферный регистр 7, первый 8 и второй 9 дешифраторы номера вершины синхронизации, первую группу элементов И 11.1-11.n, вторую группу элементов И 12.1-12. n, группу элементов ИЛИ 13.1-13.n, блок элементов ИЛИ 14, первый 19 и второй 18 одновибраторы, элемент 20 задержки, причем выход 3.3 немодифицируемой части адреса регистра 3 команд в объединении с выходом мультиплексора 4 логических условий подключены к первому входу блока элементов ИЛИ 14 и к информационному входу буферного регистра 7, выход которого соединен со вторым входом блока элементов ИЛИ 14, выход которого соединен со вторым информационным входом коммутатора 6 адреса, выход 3.4 микроопераций регистра 3 команд подключен к выходу 22 микроопераций модуля, вход 26 вектора соответствия модуля соединен с информационным входом регистра 5 вектора соответствия, выходы с первого по n-й которого подключены к первым входам элементов ИЛИ 13.1-13.n соответственно, первый выход 3.5 номера вершины синхронизации регистра 3 команд соединен с входом дешифратора 8 номера вершины синхронизации, выходы с первого по n-й которого соединены со вторыми входами элементов ИЛИ 13.1-13.n соответственно, выходы которых подключены к первым входам элементов И 11.1-11. n соответственно, входы первой группы входов синхронизации модуля 27.1-27.n (27) соединены со вторыми входами элементов И 11.1-11.n соответственно, выходы которых соединены с выходами группы выходов синхронизации модуля 29.1-29.n (29) соответственно, второй выход 3.6 номера вершины синхронизации регистра 3 команд соединен с входом дешифратора 9 номера вершины синхронизации, выходы с первого по n-й которого подключены к первым входам элементов И 12.1-12. n соответственно, входы второй группы входов синхронизации модуля 28.1-28. n (28) подключены к третьим входам элементов И 11.1 -11.n соответственно, выходы которых подключены к вторым входам элементов И 12.1 -12.n соответственно, выходы которых соединены с входами элемента ИЛИ 17 с первого по n-й соответственно, выход которого соединен с входом синхронизации буферного регистра 7 и с входом одновибратора 19, выход которого подключен к входу сброса регистра 3 команд и ко второму входу блока 10 синхронизации, первый выход которого соединен с первым входом элемента ИЛИ 15, выход которого подключен к входу синхронизации регистра 2 адреса, выход 3.7 метки конца участка регистра 3 команд соединен с входом одновибратора 18, выход которого соединен с третьим входом блока 10 синхронизации, второй выход которого подключен к входу сброса буферного регистра 7 и к первому входу элемента ИЛИ 16, вход 24 настройки модуля соединен со вторым входом элемента ИЛИ 15, с входом синхронизации регистра 5 вектора соответствия, а также с входом элемента 20 задержки, выход которого подключен ко второму входу элемента ИЛИ 16, выход которого подключен к входу синхронизации регистра 3 команд. The microcontroller network module (Fig. 1) includes a program memory block 1, address register 2, command register 3 with outputs 3.1 of the logical condition code, 3.2 modifiable digit of the address; 3.3 non-modifiable part of the address, 3.4 microoperations, the first output 3.5 of the number of the synchronization vertex, the second output 3.6 of the number of the synchronization vertex, the output of 3.7 marks of the end of the section and the output of 3.8 marks of the end of the program, 4 logical condition multiplexer, switch 6 addresses, synchronization block 10, first 17, the second 15 and third 16 elements are OR, and the input 23 of the operation code of the module is connected to the first information input of the address switch 6, the output of which is connected to the information input of the address register 2, the output of which is connected to the address input and 1 program memory, the output of which is connected to the information input of the register of 3 teams, the output 3.8 of the end label of the program which is connected to the control inputs of the switch 6 addresses, outputs 3.1 of the logical condition code and 3.2 modifiable category of the address of the register of 3 commands are connected to the control and the first information inputs of the multiplexer 4 logical conditions, respectively, the second information input of which is connected to the input 21 of the logical conditions of the module, the first input of the synchronization unit 10 is connected to the input 25 of the module start, as well as additional The register 5 of the correspondence vector, buffer register 7, the first 8 and the second 9 are decoders of the synchronization vertex number, the first group of elements 11.1-11.n, the second group of elements 12.1-12. n, the group of elements OR 13.1-13.n, the block of elements OR 14, the first 19 and second 18 single vibrators, the delay element 20, the output 3.3 of the non-modifiable part of the address of the register of 3 teams in combination with the output of the multiplexer 4 of the logical conditions connected to the first input of the block of elements OR 14 and to the information input of the buffer register 7, the output of which is connected to the second input of the block of elements OR 14, the output of which is connected to the second information input of the switch 6 of the address, the output of 3.4 microoperations of the register of 3 teams is connected to the output of 22 microoperations of blowing, input 26 of the module compliance vector is connected to the information input of the register 5 of the correspondence vector, the outputs from the first to the nth of which are connected to the first inputs of the elements OR 13.1-13.n, respectively, the first output 3.5 of the synchronization vertex number of the register of 3 commands is connected to the decoder input 8 are the numbers of the synchronization vertex, the outputs from the first to the nth of which are connected to the second inputs of the elements OR 13.1-13.n, respectively, the outputs of which are connected to the first inputs of the elements AND 11.1-11. n, respectively, the inputs of the first group of synchronization inputs of the module 27.1-27.n (27) are connected to the second inputs of the elements AND 11.1-11.n, respectively, the outputs of which are connected to the outputs of the group of synchronization outputs of the module 29.1-29.n (29), respectively, the second output 3.6 of the synchronization vertex number of the register of 3 commands is connected to the decoder 9 input of the synchronization vertex number, the first to nth outputs of which are connected to the first inputs of AND elements 12.1-12. n, respectively, the inputs of the second group of synchronization inputs of the module 28.1-28. n (28) are connected to the third inputs of the elements AND 11.1 -11.n, respectively, the outputs of which are connected to the second inputs of the elements AND 12.1 -12.n, respectively, the outputs of which are connected to the inputs of the element OR 17 from the first to the nth respectively, the output of which connected to the synchronization input of the buffer register 7 and to the input of the one-shot 19, the output of which is connected to the reset input of the register 3 commands and to the second input of the synchronization unit 10, the first output of which is connected to the first input of the OR element 15, the output of which is connected to the synchronization input of the register 2 address ca, output 3.7 of the label of the end of the section of the register of 3 teams is connected to the input of the single-shot 18, the output of which is connected to the third input of the synchronization unit 10, the second output of which is connected to the reset input of the buffer register 7 and to the first input of the OR element 16, the module setup input 24 is connected to the second input of the OR element 15, with the input of the synchronization register 5 of the correspondence vector, as well as the input of the delay element 20, the output of which is connected to the second input of the OR element 16, the output of which is connected to the synchronization input of the register 3 teams.

Блок синхронизации (фиг. 2) содержит генератор 30 импульсов, триггер 31 управления, триггер 32, первый 33 и второй 34 элементы И, элемент ИЛИ 35, первый и второй входы которого являются первым и вторым входами блока соответственно, а выход соединен с входом установки триггера 31 управления, вход сброса которого является третьим входом блока, а прямой выход подключен к входу генератора 30 импульсов, выход которого соединен с первыми входами элементов И 33 и 34, а также со счетным входом триггера 32, прямой и инверсный выходы которого подключены ко вторым входам элементов И 33 и 34 соответственно, выходы которых являются первым и вторым выходами блока соответственно. The synchronization block (Fig. 2) contains a pulse generator 30, a control trigger 31, a trigger 32, a first 33 and a second 34 AND elements, an OR element 35, the first and second inputs of which are the first and second inputs of the block, respectively, and the output is connected to the installation input control trigger 31, the reset input of which is the third input of the block, and the direct output is connected to the input of the pulse generator 30, the output of which is connected to the first inputs of the elements 33 and 34, as well as to the counting input of the trigger 32, the direct and inverse outputs of which are connected to the second in odes of AND gates 33 and 34, respectively, outputs of which are first and second output block, respectively.

Общие особенности функциональной организации микроконтроллерной сети состоят в следующем. General features of the functional organization of the microcontroller network are as follows.

Микроконтроллерная сеть (МКС) формируется из множества однотипных модулей, объединенных в матричную структуру (фиг. 3). Каждый модуль МКС (микроконтроллер) выполняется в виде СБИС с внутренней перепрограммируемой памятью программ и имеет два входных и один выходной информационный каналы, предназначенные для подключения к другим аналогичным модулям и обмена управляющей информацией. Модули сети идентифицируются условными номерами вида i.j, где i и j имеют смысл соответственно номера строки и номера столбца матричной структуры, содержащих данный модуль, "." - символ конкатенации. (В дальнейшем модуль с номером i.j именуется так же, как (i.j)-й модуль или модуль mi.j).The microcontroller network (ISS) is formed from a variety of modules of the same type, combined into a matrix structure (Fig. 3). Each module of the ISS (microcontroller) is implemented in the form of VLSI with internal programmable program memory and has two input and one output information channels designed to connect to other similar modules and exchange control information. Network modules are identified by conditional numbers of the form ij, where i and j make sense, respectively, of the row numbers and column numbers of the matrix structure containing this module, "." - a symbol of concatenation. (Hereinafter, the module with the number ij is called the same as the (ij) th module or module m ij ).

МКС служит для управления сложными объектами, поведение которых описывается комплексом программ и предполагает параллельное протекание и взаимодействие множества процессов. Комплекс программ, реализуемый сетью, разбивается на множество параллельных и последовательных участков, которые распределяются между различными модулями. Каждый модуль реализует некоторое подмножество участков. The ISS serves to manage complex objects whose behavior is described by a set of programs and involves the parallel flow and interaction of many processes. The software package implemented by the network is divided into many parallel and sequential sections, which are distributed between different modules. Each module implements a subset of the plots.

В процессе выполнения участков программ модули МКС обрабатывают команды двух типов: операционные и коммуникационные. Операционные команды (эти команды имеют формат Ф2 (фиг. 4)) обеспечивают выдачу управляющих воздействий на объект управления и инициируют исполнение требуемых микроопераций. Коммуникационные команды (формат Ф3 (фиг. 4)) служат для организации взаимодействия и координации различных модулей, включая запуск участков, закрепленных за другими модулями (межмодульную передачу управления), и синхронизацию параллельных участков программ.During the execution of program sections, the ISS modules process two types of teams: operational and communication. Operational teams (these teams have the format F 2 (Fig. 4)) provide the issuance of control actions on the control object and initiate the execution of the required micro-operations. Communication teams (format F 3 (Fig. 4)) are used to organize interaction and coordination of various modules, including the launch of sections assigned to other modules (inter-module control transfer), and synchronization of parallel sections of programs.

Организация межмодульного взаимодействия в предлагаемой МКС принципиально отличается от прототипа. Если в прототипе явно предусматриваются процедуры межмодульной передачи управления и синхронизации параллельных участков, то в рассматриваемой МКС межмодульная передача управления в явном виде отсутствует; выполняется только процедура синхронизации. При этом запуск участков программ, реализуемых различными модулями, происходит при выполнении соответствующих условий синхронизации. Таким условием при запуске участков, непосредственно следующих за подмножеством других (параллельных) участков, является синхронизация (завершение) всех участков данного подмножества. При запуске участков, следующих за единственным участком, в качестве условия выступает завершение этого единственного участка. The organization of intermodular interaction in the proposed ISS is fundamentally different from the prototype. If the prototype explicitly provides for inter-module transfer of control and synchronization of parallel sections, then in the ISS under consideration there is no inter-module transfer of control in explicit form; only the synchronization procedure is performed. In this case, the launch of program sections implemented by various modules occurs when the corresponding synchronization conditions are met. Such a condition when starting sections immediately following a subset of other (parallel) sections, is the synchronization (completion) of all sections of this subset. When starting sites following a single site, the completion of that single site is a condition.

Для задания момента активизации некоторого участка Bk i.j (e) (где e - порядковый номер данного участка для (i.j)-го модуля, k - номер программы) этому участку ставится в соответствие номер непосредственно предшествующей ему вершины синхронизации at (если активизируемому участку непосредственно предшествует единственный участок программы, то вершина at считается фиктивной). Запуск участка Bk i.j (e) происходит после выполнения вершины at, т.е. как только завершаются все непосредственно предшествующие ему участки программы.To set the moment of activation of a certain section B k ij (e) (where e is the serial number of this section for the (ij) th module, k is the program number), this section is associated with the number of the synchronization vertex a t immediately preceding it (if the activated section immediately preceded by a single section of the program, then the vertex a t is considered fictitious). The start of the section B k ij (e) occurs after the execution of the vertex a t , i.e. as soon as all sections of the program immediately preceding it are completed.

В отличие от прототипа, где адреса запускаемых участков (адреса приема управления) передаются от модуля - инициатора запуска, в предлагаемой сети указанные адреса формируются непосредственно модулями, реализующими запускаемые участки (модулями - приемниками управления), в результате самонастройки. Адрес Ak i.j (e+1) начала следующего ((e+1)-го) участка, выполняемого (i.j)-м модулем, указывается в заключительной команде предшествующего (e-го) участка программы. Для задания адресов начальных участков модулей {Ak i.j(1)} используются команды настройки формата Ф1 (фиг. 4). За каждым модулем сети закрепляется Q таких команд, Q - число программ, реализуемых микроконтроллерной сетью (число программ в реализуемом комплексе). Каждая из Q команд настройки определяет адрес Ak i.j(1) первой команды, выполняемой (i.j)-м модулем при реализации k-й программы, т.е. адрес начального участка (i.j)-го модуля. (Если (i. j)-й модуль не участвует в процессе выполнения k-й программы, то команда Ф1 содержит только нули.) Команды настройки Ф1 размещаются в блоке 1 памяти программ (фиг. 1) по начальным адресам от 1 до Q включительно. Команда настройки, а следовательно, и реализуемая программа однозначно задаются адресом при обращении к блоку 1.Unlike the prototype, where the addresses of the launched sections (control reception addresses) are transmitted from the module initiating the launch, in the proposed network, the indicated addresses are generated directly by the modules realizing the launched sections (modules - control receivers) as a result of self-tuning. The address A k ij (e + 1) of the beginning of the next ((e + 1) th) section executed by the (ij) th module is indicated in the final command of the previous (e-th) section of the program. To specify the addresses of the initial sections of the modules {A k ij (1)}, the format 1 configuration commands are used (Fig. 4). Each network module is assigned Q such commands, Q is the number of programs implemented by the microcontroller network (the number of programs in the complex being implemented). Each of the Q configuration commands determines the address A k ij (1) of the first command executed by the (ij) th module during the implementation of the kth program, i.e. address of the initial section of the (ij) th module. (If the (i. J) th module is not involved in the execution of the k-th program, then the Ф 1 command contains only zeros.) The Ф 1 configuration commands are placed in the program memory block 1 (Fig. 1) at the starting addresses from 1 to Q inclusive. The configuration command, and therefore the program being implemented, is uniquely set by the address when accessing block 1.

Процесс синхронизации параллельных участков в предлагаемой МКС также принципиально отличается от аналогичного процесса в прототипе. В отличие от прототипа, где синхронизация обеспечивается путем подсчета одним из модулей числа сообщений - квитанций завершения параллельных участков, передаваемых другими модулями, в МКС синхронизация осуществляется на основе распространения и опроса отдельных сигналов завышения групп параллельных участков. Каждый такой сигнал распространяется в отдельном канале управления синхронизацией, который соответствует одной из вершин синхронизации (слияния) параллельных участков. Канал управления синхронизацией представляет собой совокупность элементов различных модулей МКС и соответствующих связей, обеспечивающих протекание процесса синхронизации определенной группы параллельных участков. Так, в q-й канал управления синхронизацией войдут элементы И 11.q модулей и q-й элемент блока элементов НЕ 36 с соответствующими им связями (фиг. 1, 3). The synchronization process of parallel sections in the proposed ISS is also fundamentally different from the similar process in the prototype. Unlike the prototype, where synchronization is provided by counting one of the modules the number of messages - receipts of completion of parallel sections transmitted by other modules, synchronization in the ISS is based on the distribution and polling of individual signals of overestimation of groups of parallel sections. Each such signal propagates in a separate synchronization control channel, which corresponds to one of the synchronization (merging) vertices of parallel sections. The synchronization control channel is a combination of the elements of various ISS modules and corresponding communications, which ensure the synchronization process of a certain group of parallel sections. So, the qth channel of the synchronization control will include elements And 11.q modules and the qth element of the block of elements NOT 36 with their corresponding connections (Fig. 1, 3).

Для обеспечения синхронизации произвольных групп параллельных участков за каждым модулем МКС закрепляется вектор, задающий соответствие между множеством вершин синхронизации программы и данным модулем. (i.j)-му модулю сети,

Figure 00000010
Figure 00000011
в общем случае соответствует Q различных векторов, каждый из которых отвечает определенной программе. Вектор соответствия для (i.j)-го модуля и k-й программы имеет вид
Si.j(k)=(s1 i.j,s2 i.j,..., sn i.j),
где
Figure 00000012

nk - число вершин синхронизации в k-й программе.To ensure synchronization of arbitrary groups of parallel sections, each module of the ISS is assigned a vector that sets the correspondence between the set of synchronization vertices of the program and this module. (ij) -th module of the network,
Figure 00000010
Figure 00000011
in the general case, there correspond Q different vectors, each of which corresponds to a certain program. The correspondence vector for the (ij) th module and the kth program has the form
S ij (k) = (s 1 ij , s 2 ij , ..., s n ij ),
Where
Figure 00000012

n k is the number of synchronization vertices in the k-th program.

Значение компоненты вектора Si.j(k) определяется следующим образом:
sq i.j = 0, если за (i.j)-м модулем закреплен некоторый участок программы, завершающийся в q-й вершине синхронизации;
sq i.j = 1, если (i.j)-й модуль не реализует ни одного участка, завершающегося в q-й вершине синхронизации, или q-я вершина синхронизации отсутствует в k-й программе (что возможно при nk<q).
The value of the component of the vector S ij (k) is determined as follows:
s q ij = 0, if the (ij) -th module is assigned a certain part of the program ending in the q-th synchronization vertex;
s q ij = 1 if the (ij) th module does not realize any part ending in the qth synchronization vertex, or the qth synchronization vertex is absent in the kth program (which is possible for n k <q).

Синхронизация группы параллельных участков Bq = {B1 q, B2 q, ...,

Figure 00000013
}, завершающихся (сходящихся) в q-й вышине синхронизации, осуществляется на основе циклического распространения сигнала dq завершения группы участков в q-м канале управления синхронизацией МКС. Сигнал dq формируется (1.N)-м модулем сети (фиг. 3). В исходном состоянии dq=0 (параллельные участки не завершены) и, следовательно,
Figure 00000014
= 1.Synchronization of a group of parallel sections B q = {B 1 q , B 2 q , ...,
Figure 00000013
}, ending (converging) in the qth synchronization height, is based on the cyclical propagation of the signal d q completion of the group of sections in the qth ISS synchronization control channel. The signal d q is generated by the (1.N) -th module of the network (Fig. 3). In the initial state, d q = 0 (parallel sections are not completed) and, therefore,
Figure 00000014
= 1.

Процесс синхронизации включает две фазы - формирование признака окончания синхронизируемых участков и передачу этого признака всем модулям МКС. Первая из указанных фаз начинается с подачи единичного сигнала

Figure 00000015
Данный сигнал одновременно подается модулям с номерами 1.1, 2.1, ..., М.1 и М.2, М. 3, . . . , M.N. Далее сигнал
Figure 00000016
последовательно распространяется через все модули МКС в направлении от (М.1)-го модуля вверх и вправо (по схеме фиг. 3) и в конце концов появляется на выходе (1.N)-го модуля.The synchronization process includes two phases - the formation of the sign of the end of the synchronized sections and the transfer of this sign to all the ISS modules. The first of these phases begins with a single signal
Figure 00000015
This signal is simultaneously supplied to the modules with numbers 1.1, 2.1, ..., M.1 and M.2, M. 3,. . . , MN Further signal
Figure 00000016
sequentially propagates through all ISS modules in the direction from the (M.1) th module up and to the right (according to the scheme of Fig. 3) and finally appears at the output of the (1.N) th module.

Распространение сигнала

Figure 00000017
через некоторый модуль mi.j происходит следующим образом. Если sq i.j = 1, то появление единичных сигналов
Figure 00000018
на нижнем и левом входах (i.j)-го модуля обусловливает формирование единичного сигнала
Figure 00000019
на его выходе. Если sq i.j = 0, то формирование единичного сигнала
Figure 00000020
на выходе (i.j)-го модуля происходит только при условии завершения участка Bf q, реализуемого (i.j)-м модулем.Signal propagation
Figure 00000017
through some module m ij occurs as follows. If s q ij = 1, then the appearance of unit signals
Figure 00000018
at the lower and left inputs of the (ij) -th module determines the formation of a single signal
Figure 00000019
at its exit. If s q ij = 0, then the formation of a single signal
Figure 00000020
at the output of the (ij) th module, it occurs only if the section B f q completed by the (ij) th module is completed.

Состояние участка Bf q определяется значением сигнала - признака gq i.j: gq i.j = 1, если участок Bf q завершен; gq i.j = 0 в противном случае. В случае, если участок Bf q не завершен, на выходе (i.j)-го модуля устанавливается нулевой сигнал. Данный сигнал формирует нулевые сигналы на выходах всех модулей, расположенных выше и/или правее (i.j)-го модуля. На выходе (1.N)-го модуля, соответственно, также будет нулевой сигнал dq = 0. Как только происходит завершение участка Вf q, единичный сигнал

Figure 00000021
передается на выход (i. j)-го модуля и поступает на (i-1.j)-й и (i.j+1)-й модули.The condition of the plot B f q is determined by the value of the signal - sign g q ij : g q ij = 1, if the plot B f q is completed; g q ij = 0 otherwise. In case the section B f q is not completed, a zero signal is set at the output of the (ij) th module. This signal generates zero signals at the outputs of all modules located above and / or to the right of the (ij) th module. At the output of the (1.N) -th module, respectively, there will also be a zero signal d q = 0. As soon as the completion of section B f q , a single signal
Figure 00000021
It is transmitted to the output of the (i.j) th module and goes to the (i-1.j) th and (i.j + 1) th modules.

После завершения всех параллельных участков группы Bq сигнал

Figure 00000022
пройдет на входы (1.N)-го модуля и на выходе (1.N)-го модуля, таким образом, будет сформирован сигнал dq = 1, сообщающий об окончании синхронизируемых параллельных участков. На этом первая фаза синхронизации завершается.After completion of all parallel sections of group B q signal
Figure 00000022
will pass to the inputs of the (1.N) -th module and at the output of the (1.N) -th module, thus, a signal d q = 1 will be generated, informing about the end of synchronized parallel sections. This completes the first phase of synchronization.

Вторая фаза синхронизации начинается с инвертирования сигнала dq. Получаемый нулевой сигнал

Figure 00000023
подается на входы модулей с номерами 1.1, 2.1, ..., M.1 и М.2, М.3, ..., M.N и распространяется через все модули МКС до модуля с номером 1. N. В процессе распространения сигнала происходит запуск всех модулей, ожидающих завершение параллельных участков группы Bq. Признаком запуска модуля является переход сигнала
Figure 00000024
из единицы в нуль (1 ---> 0). Вторая фаза и процесс синхронизации параллельных участков в целом завершаются после появления нулевого сигнала на выходе (1.N)-го модуля.The second phase of synchronization begins with the inversion of the signal d q . Received Zero Signal
Figure 00000023
fed to the inputs of modules with numbers 1.1, 2.1, ..., M.1 and M.2, M.3, ..., MN and distributed through all modules of the ISS to module number 1. N. During signal propagation, start of all modules awaiting completion of parallel sections of group B q . A sign of the module starting is a signal transition
Figure 00000024
from one to zero (1 ---> 0). The second phase and the synchronization process of parallel sections as a whole are completed after the appearance of a zero signal at the output of the (1.N) -th module.

Принципы организации межмодульной передачи управления и синхронизации параллельных участков в предлагаемой МКС поясняются примером реализации параллельного алгоритма управления, представленного на фиг. 5а. Алгоритм включает 20 параллельных и последовательных участков Вk i.j(e), принадлежность которых определенному модулю задается верхним индексом i.j. В рассматриваемый алгоритм входят вершины синхронизации a1, a2, ..., a11; вершины a7, a8, a9, a10, a11 (показанные пунктиром) являются фиктивными, поскольку им соответствуют переходы между отдельными участками. МКС содержит 3х3 модулей.The principles of organizing intermodular control transmission and synchronization of parallel sections in the proposed ISS are illustrated by an example of the implementation of the parallel control algorithm shown in FIG. 5a. The algorithm includes 20 parallel and sequential sections B k ij (e), the belonging of which to a particular module is given by the superscript ij. The algorithm in question includes synchronization vertices a 1 , a 2 , ..., a 11 ; the vertices a 7 , a 8 , a 9 , a 10 , a 11 (shown by the dotted line) are fictitious, since they correspond to transitions between separate sections. The ISS contains 3x3 modules.

Таблица настройки модулей, определяющая адреса начальных участков Ak i.j(1), а также номера вершин синхронизации at, после достижения которых должен быть обеспечен запуск соответствующих модулей, представлена на фиг. 5б. В соответствии с данной таблицей запуск модулей m1.1, m3.2 и m3.3 происходит после выполнения вершины синхронизации a1, т.е. после завершения участка Bk 2.2(1), запуск модуля m1.2 осуществляется после достижения вершины синхронизации a7, т.е. после завершения участка Bk 3.3(1), и т.д. Модуль m2.2 активизируется непосредственно в момент запуска МКС независимо от состояния других модулей.The module settings table, which determines the addresses of the initial sections A k ij (1), as well as the numbers of synchronization vertices a t , after which the corresponding modules must be launched, is presented in FIG. 5 B. In accordance with this table, the modules m 1.1 , m 3.2, and m 3.3 are launched after the synchronization vertex a 1 is executed, i.e. after the completion of section B k 2.2 (1), the launch of module m 1.2 is carried out after reaching the synchronization peak a 7 , i.e. after completion of section B k 3.3 (1), etc. The m 2.2 module is activated immediately at the time of the ISS launch, regardless of the status of other modules.

Таблица векторов соответствия для рассматриваемого алгоритма показана на фиг. 5в. Согласно данной таблице модуль m1.1 реализует участки, завершающиеся в вершинах синхронизации a2, a4 и a5 (s2 1.1 = s4 1.1 = s5 1.1 = 0), модуль m1.2 - участки, сходящиеся в вершинах a3, a4 и a6(s3 1.2 = s4 1.2 = s6 1.2 = 0) и т.д.The table of correspondence vectors for the considered algorithm is shown in FIG. 5c. According to this table, module m 1.1 implements sections that terminate at the vertices of synchronization a 2 , a 4 and a 5 (s 2 1.1 = s 4 1.1 = s 5 1.1 = 0), module m 1.2 - sections that converge at vertices a 3 , a 4 and a 6 (s 3 1.2 = s 4 1.2 = s 6 1.2 = 0), etc.

Более подробно процессы синхронизации и запуска параллельных участков описываются при рассмотрении соответствующих режимов функционирования модулей МКС. The processes of synchronization and launch of parallel sections are described in more detail when considering the corresponding operating modes of the ISS modules.

Назначение элементов и блоков модуля микроконтроллерной сети (фиг. 1) заключается в следующем. The purpose of the elements and blocks of the microcontroller network module (Fig. 1) is as follows.

Блок 1 памяти программ служит для постоянного хранения команд, составляющих параллельные и последовательные участки программ, закрепленные за текущим модулем. Информация (команда) на выходе блока 1 появляется непосредственно после подачи на его адресный вход соответствующего адреса. Block 1 of the program memory serves for the permanent storage of instructions constituting parallel and consecutive sections of programs assigned to the current module. Information (command) at the output of block 1 appears immediately after the corresponding address is supplied to its address input.

Регистр 2 адреса предназначен для временного хранения исполнительного адреса следующей команды. Register 2 addresses is intended for temporary storage of the executive address of the next command.

Регистр 3 команд используется с целью фиксации очередной считываемой из блока 1 команды на время ее обработки. The register of 3 commands is used to fix the next command read from block 1 for the duration of its processing.

Мультиплексор 4 логических условий служит для опроса значений логических условий на входе 21 модуля и модификации младшего (модифицируемого) разряда адреса следующей команды в точках ветвления программ. The multiplier 4 of the logical conditions is used to interrogate the values of the logical conditions at the input of the module 21 and modify the least (modified) bit of the address of the next command at the branch points of programs.

Регистр 5 вектора соответствия введен с целью хранения вектора Si.j(k) в течение времени исполнения k-й программы.Register 5 of the correspondence vector is introduced to store the vector S ij (k) during the execution time of the k-th program.

Коммутатор 6 адреса обеспечивает выбор направления приема исполнительного адреса следующей команды. The switch 6 addresses provides a choice of the direction of reception of the executive address of the next command.

Буферный регистр 7 предназначен для временной фиксации исполнительного адреса следующей команды в процессе запуска текущего модуля после завершения некоторой группы параллельных участков программы. Необходимость такой фиксации обусловлена исчезновением информации на выходах 3.2 и 3.3 регистра 3 (вследствие сброса регистра 3 в момент завершения группы параллельных участков) до момента фактической записи адреса следующей команды в регистр 2. The buffer register 7 is designed to temporarily fix the executive address of the next command in the process of starting the current module after completion of a group of parallel sections of the program. The need for such a fixation is due to the disappearance of information at the outputs 3.2 and 3.3 of register 3 (due to the reset of register 3 at the time of completion of the group of parallel sections) until the actual address of the next command is written to register 2.

Дешифратор 8 служит для преобразования кода номера вершины синхронизации aq, соответствующей завершаемому участку программы, в унитарный код и формирования сигналов {gq i.j} - признаков состояния (завершения) участков программ.The decoder 8 is used to convert the code of the synchronization vertex number a q corresponding to the program section to be completed into a unitary code and generate signals {g q ij } - signs of the status (completion) of program sections.

Дешифратор 9 обеспечивает преобразование кода номера вершины синхронизации at, определяющей момент последующего запуска текущего модуля, в соответствующий унитарный код, а также блокировку/открытие элементов И 12.1 - 12.n.The decoder 9 provides the conversion of the code of the synchronization vertex number a t , which determines the moment of the subsequent start of the current module, into the corresponding unitary code, as well as blocking / opening of the elements And 12.1 - 12.n.

Блок 10 синхронизации необходим для формирования двух сдвинутых друг относительно друга последовательностей импульсов t1 и t2, синхронизирующих работу различных узлов модуля.Block 10 synchronization is necessary for the formation of two shifted from each other sequences of pulses t 1 and t 2 synchronizing the operation of various nodes of the module.

Элементы И 11.1, 11.2, ..., 11.n введены с целью управления распространением сигналов d1, d2, ..., dn с входов 27.1, 28.1; 27.2, 28.2; ...; 27.n, 28. n на выходы 29.1, 29.2, ..., 29.n модуля, а также на входы элементов И 12.1, 12.2, ..., 12.n соответственно.Elements And 11.1, 11.2, ..., 11.n are introduced to control the propagation of signals d 1 , d 2 , ..., d n from the inputs 27.1, 28.1; 27.2, 28.2; ...; 27.n, 28.n to the outputs 29.1, 29.2, ..., 29.n of the module, as well as to the inputs of the elements AND 12.1, 12.2, ..., 12.n, respectively.

Элементы И 12.1, 12.2, . .., 12.n служат для управления прохождением сигналов d1, d2, ..., dn с выходов элементов 11.1, 11.2, ..., 11.n соответственно на входы элемента ИЛИ 17.Elements AND 12.1, 12.2,. .., 12.n serve to control the passage of signals d 1 , d 2 , ..., d n from the outputs of the elements 11.1, 11.2, ..., 11.n, respectively, to the inputs of the element OR 17.

Элементы ИЛИ 13.1, 13.2, ..., 13.n предназначены для объединения сигналов с первых, вторых и т.д., n-х выходов регистра 5 и дешифратора 8 соответственно. Elements OR 13.1, 13.2, ..., 13.n are intended for combining signals from the first, second, etc., n-th outputs of the register 5 and decoder 8, respectively.

Блок элементов ИЛИ 14 обеспечивает объединение кодов (адресов) с выхода буферного регистра 7, а также с выхода 3.3 регистра 3 и выхода мультиплексора 4. The block of elements OR 14 provides the combination of codes (addresses) from the output of the buffer register 7, as well as from the output 3.3 of the register 3 and the output of the multiplexer 4.

Элемент ИЛИ 15 служит для передачи импульсов с первого выхода блока 10 и с входа 24 настройки модуля на вход синхронизации регистра 2. The OR element 15 is used to transmit pulses from the first output of block 10 and from the input 24 of the module settings to the synchronization input of register 2.

Элемент ИЛИ 16 обеспечивает передачу импульсов со второго выхода блока 10 и с выхода элемента 20 задержки на вход синхронизации регистра 3. The OR element 16 provides the transmission of pulses from the second output of block 10 and from the output of the delay element 20 to the synchronization input of register 3.

Элемент ИЛИ 17 используется для объединения сигналов с выходов элементов И 12.1-12.n. The OR element 17 is used to combine the signals from the outputs of the elements AND 12.1-12.n.

Одновибратор 18 предназначен для формирования импульса, обеспечивающего выключение блока 10 синхронизации. The one-shot 18 is designed to generate a pulse, which turns off the synchronization unit 10.

Одновибратор 19 служит для формирования импульса, обеспечивающего запуск модуля после окончания требуемых групп параллельных участков программ. The one-shot 19 serves to generate a pulse, which enables the module to start after the end of the required groups of parallel sections of programs.

Элемент 20 обеспечивает задержку передачи импульса настройки с входа 24 модуля на второй вход элемента ИЛИ 16 на время считывания команды настройки из блока 1. Element 20 provides a delay in transmitting the tuning pulse from the input 24 of the module to the second input of the OR element 16 during the reading of the tuning command from block 1.

Блок элементов НЕ 36 (фиг. 3) предназначен для инвертирования сигналов d1, d2, ..., dn с выходов 29.1, 29.2, ..., 29.n (1.N)-го модуля МКС.The block of elements NOT 36 (Fig. 3) is designed to invert signals d 1 , d 2 , ..., d n from the outputs 29.1, 29.2, ..., 29.n (1.N) of the ISS module.

Рассмотрим процесс функционирования микроконтроллерной сети подробно. Consider the process of functioning of the microcontroller network in detail.

Первоначально элементы памяти (регистры и триггеры) всех модулей MKC находятся в состоянии логического нуля. Исключение составляют триггеры 32 блоков 10 синхронизации (фиг. 2), а также разряды 3.8 регистров 3 (фиг. 1), установленные в единичное состояние. Исходя из указанного состояния элементов памяти, блоки 10 синхронизации модулей выключены, коммутаторы 6 настроены на прием информации с входов 23, а на всех выходах модулей находятся сигналы логического нуля. Нулевые сигналы с выходов 29.1-29.n (1.N)-го модуля MKC (фиг. 3) формируют единичные сигналы на выходах блока элементов НЕ 36. Initially, the memory elements (registers and triggers) of all MKC modules are in a state of logical zero. The exception is triggers 32 of synchronization blocks 10 (Fig. 2), as well as bits 3.8 of registers 3 (Fig. 1), set to a single state. Based on the indicated state of the memory elements, the module synchronization blocks 10 are turned off, the switches 6 are configured to receive information from inputs 23, and logic zero signals are located at all module outputs. Zero signals from the outputs of the 29.1-29.n (1.N) -th MKC module (Fig. 3) form single signals at the outputs of the block of elements NOT 36.

Работа сети начинается с настройки модулей на выполнение требуемой программы. Предположим, что эта программа имеет номер k. Настройка (i.j)-го модуля на выполнение k-й программы сводится к установлению адреса Ak i.j(1) (адреса первой команды), а также к определению номера вершины синхронизации at, после достижения которой должен осуществляться запуск (i.j)-го модуля.Network operation begins with configuring the modules to execute the required program. Suppose this program has number k. Setting the (ij) th module to execute the kth program is reduced to setting the address A k ij (1) (the address of the first command), as well as determining the number of the synchronization vertex a t , after which the (ij) th module.

Процесс настройки начинается с подачи на вход 23 (i.j)-го модуля (фиг. 1) кода операции. Код операции (КОП), представляющий собой код номера выполняемой программы (k), через коммутатор 6 передается на информационный вход регистра 2. Одновременно на вход 24 модуля подается импульс настройки. Указанный импульс через элемент ИЛИ 15 поступает на вход синхронизации регистра 2 и задним фронтом фиксирует КОП в данном регистре. Далее КОП с выхода регистра 2 подается на адресный вход блока 1 и формирует на его выходе команду настройки Ф1 (фиг. 4), соответствующую k-й программе.The setup process begins with the input of the 23 (ij) th module (Fig. 1) operation code. The operation code (CPC), which is the code number of the program (k), is transmitted through the switch 6 to the information input of register 2. At the same time, a tuning pulse is applied to the input 24 of the module. The specified pulse through the element OR 15 is fed to the input of the synchronization register 2 and the trailing edge fixes the CPC in this register. Next, the CPC from the output of register 2 is fed to the address input of block 1 and generates the configuration command Ф 1 (Fig. 4) corresponding to the k-th program at its output.

В то же самое время импульс настройки через элемент 20 задержки и элемент ИЛИ 16 (фиг. 1) передается на вход синхронизации регистра 3 и задним фронтом производит запись считанной из блока 1 команды в регистр 3. После фиксации команды на выходах 3.2 и 3.3 регистра 3 образуется адрес Ak i.j(1), а на выходе 3.6 формируется код номера (t) вершины синхронизации (НВС) at. На остальных выходах регистра 3 устанавливаются нулевые сигналы.At the same time, the tuning pulse through the delay element 20 and the OR element 16 (Fig. 1) is transmitted to the synchronization input of register 3 and trailing a write of the command read from block 1 into register 3. After fixing the command at the outputs 3.2 and 3.3 of register 3 the address A k ij (1) is formed, and at the output 3.6, the code of the number (t) of the synchronization vertex (NVS) a t is generated. The remaining outputs of register 3 are set to zero signals.

Нулевой сигнал с выхода 3.8 регистра 3 перенастраивает коммутатор 6 на прием информации с выхода блока элементов ИЛИ 14. Поскольку на выходе 3.1 регистра 3 присутствует нулевой код (проверка логических условий в ходе настройки не производится), адрес Ak i.j(1) без изменений проходит через блок элементов ИЛИ 14. Далее этот адрес передается через коммутатор 6 и устанавливается на информационном входе регистра 2.The zero signal from the output 3.8 of register 3 reconfigures the switch 6 to receive information from the output of the block of elements OR 14. Since the output 3.1 of register 3 contains a zero code (the logical conditions are not checked during configuration), the address A k ij (1) passes without changes through the block of elements OR 14. Then this address is transmitted through the switch 6 and is installed on the information input of the register 2.

В то же время код номера вершины синхронизации at с выхода 3.6 регистра 3 подается на вход дешифратора 9. В результате на t-м выходе дешифратора 9 образуется единичный сигнал. Этот сигнал открывает элемент И 12.t и тем самым обеспечивает возможность опроса уровня сигнала на выходе элемента И 11. t. (Процесс формирования сигнала на выходе элемента 11.t детально описан ниже при рассмотрении работы МКС в режиме синхронизации параллельных участков. ) Для модуля МКС, который реализует начальный участок k-й программы, задание кода НВС не требуется, поскольку этот модуль активизируется непосредственно в момент запуска МКС независимо от условий синхронизации. На выходе 3.6 регистра 3 рассматриваемого модуля, соответственно, устанавливается нулевой код.At the same time, the code of the synchronization vertex number a t from the output 3.6 of register 3 is supplied to the input of the decoder 9. As a result, a single signal is generated at the t-th output of the decoder 9. This signal opens the element And 12.t and thereby provides the possibility of polling the signal level at the output of the element And 11. t. (The process of generating a signal at the output of element 11.t is described in detail below when considering the operation of the ISS in the synchronization mode of parallel sections.) For the ISS module, which implements the initial section of the kth program, the assignment of the NVS code is not required, since this module is activated immediately ISS launch regardless of synchronization conditions. At the output 3.6 of register 3 of the module in question, respectively, a zero code is set.

Одновременно с описанными выше действиями производится запись в регистр 5 модуля значения вектора Si.j(k) (устанавливается соответствие между (i. j)-м модулем и множеством вершин синхронизации k-й программы). Вектор Si.j(k) подается на вход 26 модуля и по заднему фронту импульса настройки с входа 24 модуля заносится в регистр 5. На этом процесс настройки (i.j)-го модуля завершается.Simultaneously with the actions described above, the value of the vector S ij (k) is written to the register 5 of the module (the correspondence is established between the (i. J) th module and the set of synchronization vertices of the kth program). The vector S ij (k) is supplied to the input 26 of the module and on the trailing edge of the tuning pulse from the input 24 of the module is entered in register 5. This completes the setup process of the (ij) th module.

Аналогичным образом протекает процесс настройки остальных модулей МКС, причем настройка различных модулей выполняется одновременно. На входы 23 всех модулей подается один и тот же КОП; векторы соответствия для разных модулей в общем случае различны. В результате настройки для каждого модуля определяется момент его запуска при выполнении сетью k-й программы, задается соответствующий адрес (адрес первой команды) и, кроме того, устанавливается подмножество вершин синхронизации k-й программы, в которых завершаются участки, реализуемые модулем. Similarly, the process of setting up the remaining modules of the ISS proceeds, and the setting up of various modules is performed simultaneously. The inputs of the same modules are supplied to the inputs 23 of all modules; correspondence vectors for different modules are generally different. As a result of the setup, for each module, the moment of its launch when the k-th program is executed by the network is determined, the corresponding address (the address of the first command) is set, and, in addition, a subset of the synchronization vertices of the k-th program is established, in which the sections realized by the module end.

После завершения настройки осуществляется запуск МКС. Для запуска сети на вход 25 одного из ее модулей подается импульс пуска. Таким модулем является модуль, реализующий начальный участок k-й программы. Допустим, что указанный модуль имеет номер i.j (в примере на фиг. 5 это модуль m2.2). Импульс пуска с входа 25 (i.j)-го модуля передается на первый вход блока 10 синхронизации. Далее этот импульс проходит через элемент ИЛИ 35 (фиг. 2), воздействует на вход установки триггера 31 и переводит этот триггер в единичное состояние. Единичный сигнал с прямого выхода триггера 31 поступает на вход генератора 30 и разрешает формирование на его выходе последовательности импульсов.After the configuration is completed, the ISS is launched. To start the network, a start pulse is applied to input 25 of one of its modules. Such a module is a module that implements the initial section of the k-th program. Suppose that the specified module has the number ij (in the example in Fig. 5 it is the module m 2.2 ). The start pulse from the input of the 25th (ij) th module is transmitted to the first input of the synchronization unit 10. Further, this pulse passes through the OR element 35 (Fig. 2), acts on the input of the installation of the trigger 31 and puts this trigger in a single state. A single signal from the direct output of the trigger 31 is fed to the input of the generator 30 and allows the formation of a pulse train at its output.

Первый импульс с выхода генератора 30 проходит через элемент И 33 на первый выход блока синхронизации (элемент 33 открыт единичным сигналом с прямого выхода триггера 32). По заднему фронту этого же импульса триггер 32 переключается в нулевое состояние. В результате происходит блокировка элемента И 33 и открытие элемента И 34. Второй импульс с выхода генератора 30 через открытый элемент 34 проходит на второй выход блока синхронизации. Задний фронт данного импульса вновь возвращает триггер 32 в исходное (единичное) состояние. Третий импульс снова проходит на первый выход блока синхронизации, а четвертый импульс - на второй выход и т.д. Таким образом, на выходах блока 10 синхронизации начинается генерация двух сдвинутых друг относительно друга последовательностей импульсов синхронизации t1 и t2.The first pulse from the output of the generator 30 passes through the element And 33 to the first output of the synchronization unit (element 33 is opened by a single signal from the direct output of the trigger 32). On the trailing edge of the same pulse, the trigger 32 switches to the zero state. As a result, the AND element 33 is blocked and the And 34 element is opened. The second pulse from the output of the generator 30 passes through the open element 34 to the second output of the synchronization block. The trailing edge of this pulse again returns trigger 32 to its original (single) state. The third pulse passes again to the first output of the synchronization unit, and the fourth pulse passes to the second output, etc. Thus, at the outputs of the synchronization unit 10, the generation of two sequences of synchronization pulses t 1 and t 2 shifted relative to each other begins.

Первый импульс t1 с первого выхода блока 10 синхронизации (фиг. 1) через элемент ИЛИ 15 проходит на вход синхронизации регистра 2 и фиксирует в данном регистре адрес Ak i.j(1), поступающий с выхода коммутатора 6. Адрес Ak i.j(1) с выхода регистра 2 поступает на адресный вход блока 1 и формирует на его выходе первую команду k-й программы.The first pulse t 1 from the first output of the synchronization block 10 (Fig. 1) passes through the OR element 15 to the synchronization input of register 2 and fixes in this register the address A k ij (1) coming from the output of the switch 6. Address A k ij (1 ) from the output of register 2 goes to the address input of block 1 and generates the first command of the k-th program at its output.

Первый импульс t2 со второго выхода блока 10 синхронизации проходит через элемент ИЛИ 16 и, поступая затем на вход синхронизации регистра 3, записывает в этот регистр считанную из блока 1
команду. Одновременно этот же импульс подается на вход сброса буферного регистра 7 и подтверждает его нулевое состояние. Таким образом, (i.j)-й модуль и микроконтроллерная сеть в целом начинают исполнение k-й программы.
The first pulse t 2 from the second output of the synchronization block 10 passes through the OR element 16 and, then arriving at the synchronization input of register 3, writes to this register read from block 1
a team. At the same time, the same pulse is fed to the reset input of the buffer register 7 and confirms its zero state. Thus, the (ij) th module and the microcontroller network as a whole begin to execute the kth program.

Дальнейшее функционирование МКС будем рассматривать в предположении, что (i.j)-й модуль выполняет некоторый (в общем случае не начальный) участок k-й программы, например участок Bf q, завершающийся вершиной синхронизации aq. Кроме того, будем считать, что одновременно с (i.j)-м модулем могут функционировать и некоторые другие модули МКС (остальные модули находятся в пассивном состоянии или в состоянии ожидания).We will consider the further functioning of the ISS under the assumption that the (ij) th module performs some (in the general case, not the initial) section of the kth program, for example, the section B f q ending with the synchronization vertex a q . In addition, we assume that at the same time as the (ij) th module some other ISS modules can function (other modules are in a passive state or in a standby state).

В процессе выполнения участка Bf q (i.j)-й модуль может обрабатывать команды форматов Ф2, Ф3 или Ф4 (фиг. 4). Обработка команды формата Ф2 соответствует режиму собственно выполнения участка программы (режим A), команда Ф3 определяет режим завершения участка программы (режим B), а команда Ф4 задает режим завершения программы в целом (режим C). Рассмотрим работу модуля в каждом из названных режимов.During the execution of the plot B f q (ij) -th module can process commands of the formats F 2 , F 3 or F 4 (Fig. 4). Processing a command of format Ф 2 corresponds to the actual execution of the program section (mode A), command Ф 3 determines the mode of completion of the program section (mode B), and command F 4 determines the mode of completion of the program as a whole (mode C). Consider the operation of the module in each of these modes.

Режим A. Записанная в регистр 3 команда имеет формат Ф2 (фиг. 4). В этом случае на выходе 3.4 регистра 3 (фиг. 1) формируется код микроопераций (МО), на выходах 3.2 и 3.3 образуется адрес следующей команды Aсл (на выходе 3.3 - немодифицируемая часть, а на выходе 3.2 - модифицируемый разряд адреса следующей команды, изменяемый в точках ветвления программ), на выходе 3.1 устанавливается код опрашиваемого логического условия (ЛУ), а на выходах 3.5-3.8 появляются сигналы логического нуля.Mode A. The command recorded in register 3 has the format Ф 2 (Fig. 4). In this case, at the output 3.4 of register 3 (Fig. 1), a microoperation code (MO) is generated, at the outputs 3.2 and 3.3 the address of the next command A sl is generated (at the output 3.3 - the non-modifiable part, and at the output 3.2 - the modified bit of the address of the next command, changeable at the branch points of programs), the output code 3.1 sets the code of the interrogated logical condition (LU), and outputs 3.5-3.8 display logic zero signals.

Код МО с выхода 3.4 регистра 3 передается на выход 22 модуля и, поступая далее на вход объекта управления, инициирует выполнение требуемых микроопераций. Нулевые сигналы с выходов 3.5 и 3.6 регистра 3 воздействуют на входы дешифраторов 8 и 9 соответственно и формируют на всех их выходах нулевые сигналы. Нулевой сигнал с выхода 3.8 регистра 3 поступает на управляющие входы коммутатора 6 и настраивает его на прием адреса следующей команды с выхода блока элементов ИЛИ 14. The MO code from the output 3.4 of register 3 is transmitted to the output 22 of the module and, coming further to the input of the control object, initiates the execution of the required micro-operations. Zero signals from the outputs 3.5 and 3.6 of register 3 act on the inputs of the decoders 8 and 9, respectively, and form zero signals on all their outputs. The zero signal from the output 3.8 of register 3 is fed to the control inputs of the switch 6 and sets it to receive the address of the next command from the output of the block of elements OR 14.

Одновременно с описанными действиями происходит формирование исполнительного адреса следующей команды. Указанный адрес образуется из адреса следующей команды Aсл путем замещения его модифицируемого (младшего) разряда значением опрашиваемого ЛУ. Новое значение младшего разряда формируется на выходе мультиплексора 4. Процесс формирования этого значения протекает следующим образом. Модифицируемый разряд (Aм) адреса Aсл с выхода 3.2 регистра 3 подается на первый информационный вход мультиплексора 4, а код ЛУ с выхода 3.1 поступает на управляющий вход мультиплексора 4. Если код ЛУ отличен от нулевого, то на выход мультиплексора 4 передается значение соответствующего ЛУ с входа 21 модуля. Если же код ЛУ нулевой, то на выход мультиплексора 4 поступает значение Ам с выхода 3.2 регистра 3. Значение с выхода мультиплексора 4 в объединении с немодифицируемой (старшей) частью адреса следующей команды (Aн) с выхода 3.3 регистра 3 образует исполнительный адрес следующей команды Aсл *.Simultaneously with the described actions, the executive address of the next command is formed. The specified address is formed from the address of the next A cl command by replacing its modifiable (least significant) digit with the value of the interrogated LU. A new low-order value is formed at the output of the multiplexer 4. The process of generating this value proceeds as follows. Modifiable discharge (A m) of the address A outputted from 3.2 cl register 3 is fed to a first data input of the multiplexer 4, and output from the code LU 3.1 is supplied to the control input of the multiplexer 4. If LT code different from zero, the output of the multiplexer 4 is transmitted value corresponding LU from the input of 21 modules. If the LU code is zero, then the output of multiplexer 4 receives the value of A m from the output of register 3.2. 3. The value from the output of multiplexer 4 in combination with the unmodifiable (high) part of the address of the next command (A n ) from output 3.3 of register 3 forms the executive address of the following A team ff *.

Адрес Aсл * через блок элементов ИЛИ 14 и открытый коммутатор 6 проходит на информационный вход регистра 2. Очередной импульс синхронизации t1 с первого выхода блока 10 синхронизации фиксирует адрес Aсл * в регистре 2. Адрес Aсл * с выхода регистра 2 поступает на адресный вход блока 1 и обеспечивает считывание из блока 1 очередной команды k-й программы. Следующий импульс t2 со второго выхода блока 10 синхронизации через элемент ИЛИ 16 подается на вход синхронизации регистра 3 и записывает в этот регистр считанную команду.The address A SL * through the block of elements OR 14 and the open switch 6 passes to the information input of the register 2. The next synchronization pulse t 1 from the first output of the synchronization block 10 fixes the address A SL * in the register 2. The address A SL * from the output of the register 2 goes to address input of block 1 and provides reading from block 1 of the next command of the k-th program. The next pulse t 2 from the second output of the synchronization block 10 through the OR element 16 is fed to the synchronization input of register 3 and writes the read command to this register.

На этом работа (i.j)-го модуля в режиме A заканчивается. Считанная команда снова может иметь формат Ф2 либо может быть командой формата Ф3 или Ф4.This completes the work of the (ij) th module in mode A. The read command can again be in the format F 2 or it can be a team in the format F 3 or F 4 .

Режим B. Записанная в регистр 3 команда имеет формат Ф3 (фиг. 4). В этом случае (i.j)-й модуль завершает выполнение некоторого участка Bf q, производит самонастройку на реализацию очередного участка k-й программы и переходит в состояние ожидания. В ходе самонастройки (i.j)-й модуль устанавливает адрес Ak i.j(e+1) начала очередного ((e+1)-го) участка Bh t (здесь e - порядковый номер участка Bf q для (i.j)-го модуля) и фиксирует номер (t) вершины синхронизации at (после достижения которой должен осуществляться запуск (i. j)-го модуля).Mode B. The command recorded in register 3 has the format Ф 3 (Fig. 4). In this case, the (ij) th module completes the execution of a certain section of B f q , performs self-tuning on the implementation of the next section of the k-th program, and enters the standby state. During self-tuning, the (ij) th module sets the address A k ij (e + 1) of the beginning of the next ((e + 1) th) section B h t (here e is the sequence number of the section B f q for the (ij) th module) and fixes the number (t) of the synchronization vertex a t (after reaching which the (i. j) th module should be launched).

На выходе 3.7 регистра 3 появляется единичная метка конца участка программы (Mку), индицирующая формат считанной команды, на выходах 3.2 и 3.3 регистра 3 формируется адрес Ak i.j(e+1), на выходе 3.1 образуется код ЛУ, а на выходах 3.4 и 3.8 устанавливаются сигналы логического нуля. В то же время на выходах 3.5 и 3.6 регистра 3 формируются номера (коды номеров) вершин синхронизации: на выходе 3.5 - номер (q) вершины синхронизации aq, завершающей выполненный модулем участок Bf q; на выходе 3.6 - номер (t) вершины синхронизации at, определяющей момент очередного запуска (i.j)-го модуля (допустимым является случай, когда t=q).At the output of register 3, 3, a single mark of the end of the program section (M ku ) appears, indicating the format of the command read, at the outputs 3.2 and 3.3 of register 3, the address A k ij (e + 1) is generated, at the output 3.1 the LU code is generated, and at the outputs 3.4 and 3.8 set logic zero signals. At the same time, the numbers (numbers of numbers) of the synchronization vertices are generated at the outputs 3.5 and 3.6 of register 3: at the output 3.5, the number (q) of the synchronization vertices a q , which completes the section B f q completed by the module; at output 3.6, the number (t) of the synchronization vertex a t , which determines the moment of the next start of the (ij) th module (the case when t = q is admissible).

В примере на фиг. 5 после выполнения участка Bk 2.2(1) на выходе 3,5 регистра 3 модуля m2.2 будет сформирован номер вершины a1, на выходе 3.6 будет установлен номер вершины a2, за которой следует очередной участок Bk 2.2(2), выполняемый модулем m2.2. Адрес начала этого участка Ak 2.2(2) будет зафиксирован на выходах 3.2 и 3.3 регистра 3. После завершения участка Bk 2.2(2) на выходе 3.5 регистра 3 модуля m2.2 будет установлен НВС a3, а на выходе 3.6 - НВС a6, за которой следует очередной участок модуля m2.2 - участок Bk i.j(3).In the example of FIG. 5 after the execution of the section B k 2.2 (1) at the output of 3.5 register 3 of the module m 2.2 , the vertex number a 1 will be generated, at the output 3.6, the number of the vertex a 2 will be set, followed by the next section B k 2.2 (2), performed module m 2.2 . The start address of the area A k 2.2 (2) will be fixed at the outputs 3.2 and 3.3 of the register 3. After portion B k 2.2 (2) at the output register 3 3.5 m 2.2 unit will set a SiS 3, and the output 3.6 - a NAF 6 , followed by the next section of the module m 2.2 - section B k ij (3).

Аналогичным образом происходит самонастройка других модулей. Similarly, other modules are self-tuning.

Код номера вершины синхронизации aq с выхода 3.5 регистра 3 поступает на вход дешифратора 8 и возбуждает единичный сигнал gq i.j - признак завершения участка Bf q - на его q-м выходе. Единичный сигнал gq i.j проходит через элемент ИЛИ 13.q (на первом входе элемента 13.q присутствует сигнал sq i.j = 0 с q-го выхода регистра 5). Далее сигнал gq i.j поступает на первый вход элемента И 11.q и тем самым индицирует окончание участка Bf q. В свою очередь, код НВС at с выхода 3.6 регистра 3 подается на вход дешифратора 9 и возбуждает сигнал логической единицы на его t-м выходе. Единичный сигнал с t-го выхода дешифратора 9 открывает элемент И 12.t, обеспечивая возможность последующего запуска (i.j)-го модуля при завершении участков, сходящихся в вершине синхронизации at.The code of the synchronization vertex number a q from the output 3.5 of register 3 goes to the input of the decoder 8 and excites a single signal g q ij - a sign of the completion of the section B f q - at its qth output. A single signal g q ij passes through the OR element 13.q (at the first input of the element 13.q there is a signal s q ij = 0 from the qth output of register 5). Next, the signal g q ij is fed to the first input of AND 11.q and thereby indicates the end of the section B f q . In turn, the NVS code a t from the output 3.6 of register 3 is fed to the input of the decoder 9 and excites the signal of the logical unit at its t-th output. A single signal from the t-th output of the decoder 9 opens the And 12.t element, providing the possibility of the subsequent launch of the (ij) -th module at the completion of sections converging at the synchronization vertex a t .

В то же время нулевой сигнал с выхода 3.8 регистра 3 настраивает коммутатор 6 на прием информации с выхода блока элементов ИЛИ 14. Положительный перепад уровня сигнала (0 ---> 1), возникающий на выходе 3.7 регистра 3, воздействует на одновибратор 18 и формирует на его выходе импульс. Данный импульс поступает на третий вход блока 10 синхронизации и, проходя затем на вход сброса триггера 31 (фиг.2), переключает этот триггер в состояние логического нуля. Нулевой сигнал с прямого выхода триггера 31 выключает генератор 30 и тем самым приостанавливает процесс формирования импульсов синхронизации t1 и t2 на выходах блока 10 синхронизации. Таким образом, процесс считывания команд из блока 1 временно прекращается (модуль переходит в состояние ожидания).At the same time, the zero signal from the output 3.8 of register 3 sets the switch 6 to receive information from the output of the block of elements OR 14. The positive difference in the signal level (0 ---> 1) arising from the output 3.7 of register 3 acts on the one-shot 18 and generates its output is momentum. This pulse is supplied to the third input of the synchronization unit 10 and, then passing to the reset input of the trigger 31 (figure 2), switches this trigger to a state of logical zero. The zero signal from the direct output of the trigger 31 turns off the generator 30 and thereby stops the process of generating synchronization pulses t 1 and t 2 at the outputs of the synchronization unit 10. Thus, the process of reading commands from block 1 is temporarily stopped (the module enters the standby state).

Одновременно с описанными действиями происходит формирование исполнительного адреса следующей команды (адреса, с которого произойдет фактический запуск (i.j)-го модуля после достижения t-й вершины синхронизации). Указанный адрес образуется из адреса Ak i.j(e+1) путем модификации его младшего разряда (Aм) значением логического условия с входа 21 модуля (фиг. 1). Процесс формирования исполнительного адреса протекает так же, как и при работе модуля в режиме A (см. выше). Полученный исполнительный адрес (обозначим его как Ak i.j(e+1)*) поступает на информационный вход буферного регистра 7, а также через блок элементов ИЛИ 14 и коммутатор 6 проходит на информационный вход регистра 2.Simultaneously with the described actions, the executive address of the next command is formed (the address from which the actual launch of the (ij) th module will occur after reaching the t-th synchronization vertex). The specified address is formed from the address A k ij (e + 1) by modifying its low order (A m ) with the value of the logical condition from the input 21 of the module (Fig. 1). The process of forming the executive address proceeds in the same way as when the module is in mode A (see above). The resulting executive address (we denote it as A k ij (e + 1) *) goes to the information input of the buffer register 7, and also through the block of elements OR 14 and the switch 6 passes to the information input of the register 2.

На этом работа модуля в режиме В заканчивается. Аналогичным образом происходит завершение других участков k-й программы, в том числе и участков {Вz q}, z≠f, сходящихся в q-й вершине синхронизации.This completes the operation of the module in mode B. Similarly, the completion of other sections of the kth program, including the sections {B z q }, z ≠ f, converging at the qth vertex of synchronization.

Рассмотрим работу МКС в режиме синхронизации группы параллельных участков, а также процесс запуска модулей при синхронизации. Для определенности будем рассматривать конкретную группу участков, например группу участков Вq = {В1 q, В2 q, ...,

Figure 00000025
}, сходящихся в вершине синхронизации aq. Будем считать, что участки В1 q, В2 q, ...,
Figure 00000026
распределены между модулями МКС произвольным образом.Consider the operation of the ISS in the synchronization mode of a group of parallel sections, as well as the process of launching modules during synchronization. For definiteness, we will consider a specific group of sites, for example, a group of sites B q = {B 1 q , B 2 q , ...,
Figure 00000025
} converging at the synchronization vertex a q . We assume that the sections B 1 q , B 2 q , ...,
Figure 00000026
distributed between the ISS modules at random.

Процесс синхронизации параллельных участков в МКС происходит циклически. Очередной цикл синхронизации начинается с момента появления нулевого сигнала dq (признака завершения группы параллельных участков Bq) на выходе 29.q (1. N)-го модуля. (В исходном состоянии, т.е. до начала выполнения k-й программы, все сигналы d1, d2, ...,

Figure 00000027
будут нулевыми, поскольку в каждой группе В1, В2, . . .,
Figure 00000028
имеется хотя бы один незавершенный участок. Уровень сигналов dz, z = nk+1, nk+2, ..., n, при выполнении k-й программы несуществен. ) Сигнал dq поступает на q-й вход блока элементов НЕ 36 (фиг. 3) и формирует на q-м выходе этого блока сигнал логической единицы
Figure 00000029
С появлением сигнала
Figure 00000030
начинается первая фаза синхронизации - формирование признака окончания участков группы Bq.The synchronization process of parallel sections in the ISS occurs cyclically. The next synchronization cycle starts from the moment the zero signal d q (sign of completion of the group of parallel sections B q ) appears at the output of the 29.q (1. N) -th module. (In the initial state, i.e., before the start of the kth program, all signals d 1 , d 2 , ...,
Figure 00000027
will be zero, since in each group B 1 , B 2 ,. . .,
Figure 00000028
there is at least one incomplete plot. The signal level d z , z = n k +1, n k +2, ..., n, is not significant when executing the k-th program. ) The signal d q arrives at the qth input of the block of elements NOT 36 (Fig. 3) and generates a signal of a logical unit at the qth output of this block
Figure 00000029
With the advent of the signal
Figure 00000030
the first phase of synchronization begins - the formation of a sign of the end of sections of the group B q .

Единичный сигнал с q-го выхода блока элементов НЕ 36 одновременно подается на входы 27.q модулей МКС с (1.1)-го по (M.1)-й (модулей первого столбца) и на входы 28.q модулей МКС с (M.1)-го по (M.N)-й (модулей M-й строки). Единичные сигналы с входов 27.q модулей с (1.1)-го по (M.1)-й поступают на вторые входы элементов И 11.q (фиг. 1, 3), а единичные сигналы с входов 28.q модулей с (M.1)-го по (M.N)-й передаются на третьи входы элементов И 11.q. Поскольку на входах 28.q модулей с (1.1)-го по (M-1.1)-й и на входах 27.q модулей с (M.2)-го по (M.N)-й первоначально присутствуют сигналы логического нуля (обусловленные нулевым уровнем сигнала на выходе 29.q (M.1)-го модуля), на выходах их элементов 11.q также сохраняются нулевые сигналы независимо от уровня сигнала на выходах элементов ИЛИ 13.q. В то же время, поскольку на входах 27.q и 28.q (M.1)-го модуля устанавливаются единичные сигналы, элемент И 11.q этого модуля открывается и уровень сигнала на его выходе определяется только сигналом с выхода элемента ИЛИ 13.q. Последний, в свою очередь, зависит от сигнала sq M.1 с q-го выхода регистра 5 и сигнала gq M.1 с q-го выхода дешифратора 8.A single signal from the qth output of a block of elements NOT 36 is simultaneously supplied to the inputs 27.q of the ISS modules from (1.1) to (M.1) of the (modules of the first column) and to the inputs 28.q of the ISS modules with (M .1) th in (MN) th (modules of the Mth row). Single signals from inputs 27.q of modules from (1.1) through (M.1) th go to the second inputs of elements And 11.q (Figs. 1, 3), and single signals from inputs 28.q of modules with ( M.1) -th along (MN) -th are transferred to the third inputs of the elements And 11.q. Since at the inputs of 28.q modules from (1.1) th through (M-1.1) th and at the inputs of 27.q modules from (M.2) th through (MN) th, there are initially logical zero signals (due to zero the signal level at the output of the 29.q (M.1) -th module), at the outputs of their elements 11.q, zero signals are also stored regardless of the signal level at the outputs of the elements OR 13.q. At the same time, since single signals are set at the inputs of the 27.q and 28.q (M.1) th module, the And 11.q element of this module opens and the signal level at its output is determined only by the signal from the output of the OR 13 element. q. The latter, in turn, depends on the signal s q M.1 from the qth output of the register 5 and the signal g q M.1 from the qth output of the decoder 8.

Если sq M.1 = 1, т.е. (M.1)-й модуль не реализует участков из группы синхронизируемых участков Bq (и, соответственно, не должен оказывать влияние на процесс синхронизации), то на выходе элемента ИЛИ 13.q образуется единичный сигнал. Этот сигнал поступает на первый вход элемента И 11.q и, так как на других входах данного элемента также находятся единичные сигналы, формирует единичный сигнал на его выходе (т.е. фактически ретранслирует сигналы

Figure 00000031
с входов 27.q и 28.q на выход элемента 11.q).If s q M.1 = 1, i.e. (M.1) -th module does not realize sections from the group of synchronized sections B q (and, accordingly, should not affect the synchronization process), then a single signal is generated at the output of OR 13.q. This signal is fed to the first input of the And 11.q element and, since there are also single signals at the other inputs of this element, it forms a single signal at its output (i.e., it actually relays signals
Figure 00000031
from inputs 27.q and 28.q to the output of element 11.q).

Если sq M.1 = 0, т.е. за (M.1)-м модулем закреплен некоторый участок Вw q группы Bq, то сигнал на выходе элемента 13.q определяется сигналом gq M.1 с q-го выхода дешифратора 8 (формирование сигнала gq M.1 описано выше на примере (i. j)-го модуля). Если участок Вw q завершен, то gq M.1 = 1 и на выходе элемента 13.q появляется единичный сигнал. Соответственно, единичный сигнал будет и на выходе элемента 11.q (сигналы

Figure 00000032
ретранслируются на выход элемента 11.q). Однако в случае если участок Вw q не завершен, то gq M.1 = 0 и на выходе элемента 13.q образуется нулевой сигнал. Этот сигнал блокирует элемент И 11.q и формирует на его выходе нулевой сигнал (передача сигналов
Figure 00000033
на выход элемента 11.q заблокирована). Нулевой сигнал на выходе элемента 11. q сохраняется до тех пор, пока не будет завершен участок Вw q.If s q M.1 = 0, i.e. a certain section B w q of group B q is assigned to the (M.1) th module, the signal at the output of element 13.q is determined by the signal g q M.1 from the qth output of the decoder 8 (signal generation q q M.1 is described above by the example of the (i. j) th module). If section B w q is completed, then g q M.1 = 1 and a single signal appears at the output of element 13.q. Accordingly, a single signal will be at the output of element 11.q (signals
Figure 00000032
are relayed to the output of element 11.q). However, if the section B w q is not completed, then g q M.1 = 0 and a zero signal is generated at the output of element 13.q. This signal blocks the And 11.q element and generates a zero signal at its output (signal transmission
Figure 00000033
to the output of element 11.q is blocked). The zero signal at the output of element 11. q is maintained until the section B w q is completed .

Сигнал с выхода элемента 11.q поступает на выход 29.q (M.1)-го модуля и далее распространяется на вход 27.q (М.2)-го модуля (вправо, фиг. 3) и на вход 28.q (М-1.1)-го модуля (вверх). Если данный сигнал нулевой, то он блокирует элементы И 11. q (М.2)-го и (М-1.1)-го модулей (фиг. 1, 3) и подтверждает тем самым нулевой уровень сигнала на выходах 29.q этих модулей. Нулевые сигналы с выходов 29.q (М.2)-го и (M-1.1)-го модулей, в свою очередь, обусловливают образование сигналов логического нуля на выходах 29.q (М-1.2)-го, (M. 3)-го и (М-2.1)-го модулей. Нулевые сигналы с выходов 29.q (М-1.2)-го, (М.3)-го и (М-2.1)-го модулей формируют нулевые сигналы на выходах 29.q (М-2.2)-го, (М-1.3)-го, (М.4)-го и (М-3.1)-го модулей и т.д. И, наконец, нулевые сигналы с выходов 29.q (1.N-1)-го и (2.N)-го модулей подтверждают нулевой сигнал dq на выходе 29.q (1.N)-го модуля. The signal from the output of element 11.q goes to the output of the 29.q (M.1) th module and then extends to the input of the 27.q (M.2) th module (to the right, Fig. 3) and to the input 28.q (M-1.1) th module (up). If this signal is zero, then it blocks the elements of the 11. Q (M.2) th and (M-1.1) th modules (Figs. 1, 3) and thereby confirms the zero signal level at the outputs 29.q of these modules . The zero signals from the outputs of the 29.q (M.2) th and (M-1.1) th modules, in turn, determine the formation of logical zero signals at the outputs of the 29.q (M.2) th, (M. 3 ) th and (M-2.1) th modules. Zero signals from the outputs of the 29.q (M-1.2) th, (M.3) th and (M-2.1) th modules form zero signals at the outputs of the 29.q (M-1.2) th, (M- 1.3) th, (M.4) th and (M-3.1) th modules, etc. And finally, the zero signals from the outputs of the 29.q (1.N-1) th and (2.N) th modules confirm the zero signal dq at the output of the 29.q (1.N) th module.

Если сигнал на выходе 29.q (М.1)-го модуля единичный, то на втором и третьем входах элементов И 11.q (М.2)-го и (М-1.1)-го модулей происходит совпадение единиц (на второй вход элемента 11.q (М- 1.1)-го модуля и на третий вход элемента 11. q (М.2)-го модуля подается единичный сигнал

Figure 00000034
с q-го выхода блока элементов НЕ 36). Теперь уровень сигнала на выходах указанных элементов определяется сигналами с выходов элементов ИЛИ 13.q. Формирование сигнала на выходах элементов 13.q (М.2)-го и (М-1.1)-го модулей происходит так же, как и в случае (М.1)-го модуля. Если sq M.2 = 1 или sq M.2 = 0 и gq M.2 = 1, sq M-1.1 = 1 или sq M-1.1 = 0 и gq M-1.1 = 1, то эти сигналы единичные. Если же sq M.2 = 0 и gq M.2 = 0, sq M-1.1 = 0 и gq M-1.1 = 0, то указанные сигналы нулевые.If the signal at the output of the 29.q (M.1) th module is single, then at the second and third inputs of the elements And 11.q (M.2) th and (M-1.1) th modules the units coincide (at the second the input of the element 11.q (M-1.1) of the module and the third input of the element 11. q (M.2) of the module receives a single signal
Figure 00000034
from the q-th output of the block of elements NOT 36). Now the signal level at the outputs of these elements is determined by the signals from the outputs of the elements OR 13.q. The signal formation at the outputs of the elements of the 13.q (M.2) th and (M-1.1) th modules occurs in the same way as in the case of the (M.1) th module. If s q M.2 = 1 or s q M.2 = 0 and g q M.2 = 1, s q M-1.1 = 1 or s q M-1.1 = 0 and g q M-1.1 = 1, then these signals are single. If s q M.2 = 0 and g q M.2 = 0, s q M-1.1 = 0 and g q M-1.1 = 0, then these signals are zero.

Сигналы с выходов элементов 11.q (М-1.1)-го и (М.2)-го модулей поступают на выходы 29. q этих модулей и далее распространяются на входы 28.q (М-2.1)-го, 27.q (М-1.2)-го модулей и на входы 28.q (М- 1.2)-го, 27.q (М.3)-го модулей соответственно. The signals from the outputs of the elements of 11.q (M-1.1) th and (M.2) th modules go to the outputs 29. q of these modules and then apply to the inputs 28.q (M-2.1) th, 27.q (M-1.2) th modules and to the inputs of the 28.q (M-1.2) th, 27.q (M.3) th modules, respectively.

Аналогичным образом происходит формирование сигналов на выходах 29,q (М-2.1)-го, (М-1.2)-го и (М.3)-го модулей, затем точно так же формируются сигналы на выходах 29.q (М-1.3)-го, (М-2.2)-го, (М-3.1)-го и (М.4)-го модулей и т.д. В конце концов образуется сигнал dq на выходе 29.q (1.N)-го модуля. Как следует из вышесказанного, значение этого сигнала будет оставаться нулевым до тех пор, пока хотя бы один из оставшихся модулей, например (i. j)-й модуль, имеет нулевой сигнал на выходе 29.q, либо sq 1.N = 0 и gq 1.N = 0, т.е. пока в группе Bq имеется по меньшей мере один незавершенный участок. Нулевой сигнал с выхода 29.q (i.j)-го модуля будет блокировать все остальные модули, расположенные выше и/или правее него (по схеме фиг. 3). На выходах 29. q этих модулей будет нулевой уровень сигнала независимо от сигналов на выходах их элементов 13.q. Как только все участки группы Bq будут завершены, на выходах 29. q всех модулей сети появятся единичные сигналы. Соответственно, единичное значение примет и сигнал dq на выходе 29.q (1.N)-го модуля.In a similar way, signals are generated at the outputs of the 29th, q (M-2.1) th, (M-1.2) th and (M.3) th modules, then signals are generated at the outputs of 29.q (M-1.3) in the same way ) th, (M-2.2) th, (M-3.1) th and (M.4) th modules, etc. In the end, a d q signal is generated at the output of the 29.q (1.N) th module. As follows from the above, the value of this signal will remain zero until at least one of the remaining modules, for example, the (i. J) th module, has a zero signal at the output 29.q, or s q 1.N = 0 and g q 1.N = 0, i.e. while in the group B q there is at least one incomplete section. The zero signal from the output of the 29.q (ij) th module will block all other modules located above and / or to the right of it (according to the scheme of Fig. 3). At the outputs 29. q of these modules there will be a zero signal level regardless of the signals at the outputs of their elements 13.q. As soon as all sections of the group B q are completed, at the outputs 29. q of all network modules, single signals will appear. Accordingly, the signal d q at the output of the 29.q (1.N) -th module will also take a single value.

В ходе реализации первой фазы синхронизации наряду с распространением сигнала

Figure 00000035
обеспечивается подготовка модулей к последующему запуску. Для этого сигнал с выхода элемента 11.q (i.j)-го модуля передается на второй вход элемента И 12.q. В случае если данный сигнал нулевой, то он закрывает элемент 12.q. Если же этот сигнал единичный, то он открывает элемент 12.q и разрешает прохождение сигнала с q-го выхода дешифратора 9 на его выход. Если на q-м выходе дешифратора 9 находится единичный сигнал (что определяет необходимость запуска (i.j)-го модуля после достижения q-й вершины синхронизации), то на выходе элемента 12.q, а значит, и на выходе элемента ИЛИ 17 формируется единичный сигнал. Тем самым обеспечивается подготовка (i.j)-го модуля к последующему запуску. Запуск модуля произойдет в момент перехода сигнала на выходе элемента 17 из единицы в нуль (процесс запуска подробно рассмотрен ниже).During the implementation of the first phase of synchronization, along with the propagation of the signal
Figure 00000035
modules are prepared for subsequent launch. For this, the signal from the output of the element 11.q (ij) of the module is transmitted to the second input of the element And 12.q. If this signal is zero, then it closes the element 12.q. If this signal is single, then it opens the 12.q element and allows the signal to pass from the qth output of the decoder 9 to its output. If at the qth output of decoder 9 there is a single signal (which determines the need to start the (ij) th module after reaching the qth peak of synchronization), then at the output of element 12.q, and therefore, at the output of element OR 17, a single signal. This ensures the preparation of the (ij) th module for subsequent launch. The module will start when the signal at the output of element 17 passes from one to zero (the start-up process is discussed in detail below).

С появлением единичного сигнала dq на выходе 29.q (1.N)-го модуля первая фаза синхронизации заканчивается и осуществляется переход ко второй фазе.With the advent of a single signal d q at the output of the 29.q (1.N) -th module, the first phase of synchronization ends and a transition to the second phase occurs.

Единичный сигнал dq с выхода 29.q (1.N)-го модуля поступает на q-й вход блока элементов НЕ 36, в результате чего на q-м выходе указанного блока возникает отрицательный перепад уровня сигнала (1 ---> 0). Данный перепад (являющийся признаком запуска модулей, ожидающих завершение участков группы Bq) одновременно передается на входы 27.q модулей МКС с (1.1)-го по (М.1)-й (первого столбца) и на входы 28.q модулей МКС с (М.1)-го по (М.N)-й (М-й строки). В результате на выходах элементов И 11.q этих модулей также возникает отрицательный перепад уровня сигнала. С выходов 29.q модулей с (1.1)-го по (М-1.1)-й и с (М.2)-го по (М.N)-й перепад уровня сигнала через соответствующие элементы 11.q распространяется на выходы 29.q модулей с (1.2)-го по (М-1.2)-й и с (М-1.3)-го по (М-1.N)-й. Далее аналогичным образом происходит распространение перепада уровня сигнала на выходы 29.q модулей с (1.3)-го по (М-2.3)-й и с (М-2.4)-го по (M-2.N)-й и т.д. В конце концов отрицательный перепад уровня сигнала достигнет один из входов - 27.q или 28.q - (1.N)-го модуля.A single signal d q from the output of the 29.q (1.N) -th module is fed to the q-th input of the block of elements NOT 36, as a result of which a negative level drop occurs at the q-th output of the indicated block (1 ---> 0 ) This difference (which is a sign of the launch of modules awaiting completion of sections of group B q ) is simultaneously transmitted to the inputs 27.q of the ISS modules from (1.1) through (M.1) of the (first column) and to the inputs 28.q of the ISS modules from (M.1) th to (M.N) th (Mth row). As a result, the outputs of the elements And 11.q of these modules also cause a negative difference in signal level. From the outputs 29.q of the modules from (1.1) -th through (M-1.1) -th and from (M.2) -th through (M.N) -th difference in signal level through the corresponding elements 11.q applies to outputs 29 .q modules from (1.2) th in (M-1.2) th and from (M-1.3) th in (M-1.N) th. Then, in a similar manner, the signal level difference propagates to the outputs 29.q of the modules from (1.3) th to (M-2.3) th and from (M-2.4) th to (M-2.N) th, etc. d. In the end, a negative signal level difference will reach one of the inputs - 27.q or 28.q - of the (1.N) -th module.

В результате на выходе 29.q (1.N)-го модуля будет установлен нулевой сигнал dq.As a result, at the output of the 29.q (1.N) -th module, the zero signal d q will be set.

С появлением нулевого сигнала dq завершается вторая фаза синхронизации и очередной цикл синхронизации параллельных участков в целом. Сразу после образования нулевого сигнала на выходе 29.q (1.N)-го модуля начинается следующий цикл синхронизации.With the appearance of a zero signal d q , the second phase of synchronization and the next synchronization cycle of parallel sections as a whole are completed. Immediately after the formation of a zero signal at the output of the 29.q (1.N) -th module, the next synchronization cycle begins.

В процессе распространения перепада уровня сигнала через МКС происходит запуск модулей, ожидающих завершение группы участков Bq. Эти модули реализуют участки k-й программы, непосредственно следующие за участками группы Bq. Например, если Bq = B4 = {Bk 3.1(1), Вk 1.1(2), Вk 1.2(2)} (фиг. 5а), то такими участками будут Вk 2.3(1), Вk 1.1(3) и Вk 3.1(2); соответственно, будет осуществляться запуск модулей m2.3, m1.1 и m3.1.During the propagation of the signal level difference through the ISS, modules are launched that are waiting for the completion of the group of sections B q . These modules implement sections of the k-th program immediately following the sections of the group B q . For example, if B q = B 4 = {B k 3.1 (1), B k 1.1 (2), B k 1.2 (2)} (Fig. 5a), then such sections will be B k 2.3 (1), B k 1.1 (3) and B k 3.1 (2); accordingly, the modules m 2.3 , m 1.1 and m 3.1 will be launched.

Запуск модулей МКС рассмотрим на примере функционирования некоторого модуля с номером (i.j). We will consider launching the ISS modules using the example of the operation of a module with the number (i.j).

Если активизация (i.j)-го модуля после окончания группы участков Bq не требуется, то на выходе 3.6 регистра 3 данного модуля присутствует код, отличный от кода НВС aq (этот код может быть нулевым, если (i.j)-й модуль выполняет некоторый участок k-й программы, и ненулевым, если (i.j)-й модуль завершил выполнение некоторого участка, сходящегося в μ-й вершине синхронизации, μ≠q). Соответственно, на q-м выходе дешифратора 9 находится нулевой сигнал. Этот сигнал блокирует элемент И 12.q и поэтому появление перепада уровня сигнала на выходе элемента И 11.q никак не влияет на уровень сигнала на выходе элемента ИЛИ 17. Запуск (i.j)-го модуля не производится.If activation of the (ij) th module after the end of the group of sections B q is not required, then the output 3.6 of register 3 of this module contains a code different from the NBC code a q (this code can be zero if the (ij) th module executes some section of the kth program, and nonzero if the (ij) th module completed the execution of some section converging at the μth synchronization vertex, μ ≠ q). Accordingly, at the qth output of the decoder 9 is a zero signal. This signal blocks the AND 12.q element, and therefore, the appearance of a signal level difference at the output of the And 11.q element does not affect the signal level at the output of the OR element 17. The (ij) th module is not launched.

Если (i. j)-й модуль должен быть активизирован после окончания группы участков Bq (т.е. по достижении вершины синхронизации aq), то на выходе 3.6 регистра 3 этого модуля находится код НВС aq (установленный при работе модуля в режиме В). Соответственно, на q-м выходе дешифратора 9 присутствует сигнал логической единицы, который открывает элемент И 12.q. Поскольку на выходе элемента И 11.q также установлен единичный сигнал, единичный сигнал будет и на выходе элемента 12.q, а значит, и на выходе элемента ИЛИ 17.If the (i. J) -th module must be activated after the end of the group of sections B q (i.e., upon reaching the synchronization peak a q ), then the output 3.6 of register 3 of this module contains the NVC code a q (set during operation of the module in B mode). Accordingly, at the qth output of the decoder 9 there is a signal of a logical unit, which opens the element And 12.q. Since a single signal is also set at the output of the AND 11.q element, a single signal will be at the output of the 12.q element, and therefore, at the output of the OR element 17.

Как только на выходе элемента И 11.q возникает отрицательный перепад уровня сигнала, сигнал на выходе элемента 12.q переходит из единицы в нуль и на выходе элемента 17 также формируется отрицательный перепад уровня сигнала. Данный перепад воздействует на одновибратор 19 и возбуждает на его выходе импульс пуска модуля. Одновременно этот же перепад распространяется на вход синхронизации буферного регистра 7 и фиксирует в данном регистре адрес запуска (i.j)-го модуля Ak i.j(e+1)*, сформированный при завершении (i. j)-м модулем e-го участка k-й программы (см. режим В). Адрес с выхода регистра 7 подтверждает информацию на выходе блока элементов ИЛИ 14.As soon as a negative signal level drop occurs at the output of the And 11.q element, the signal at the output of the 12.q element goes from one to zero and a negative signal level drop is also formed at the output of the element 17. This differential effect on the single-shot 19 and excites at its output a start pulse of the module. At the same time, the same difference propagates to the synchronization input of buffer register 7 and fixes in this register the start address of the (ij) th module A k ij (e + 1) * , formed at the completion of the (i. J) th module of the e-th section k program (see mode B). The address from the output of the register 7 confirms the information at the output of the block of elements OR 14.

В тот же момент импульс с выхода одновибратора 19 поступает на второй вход блока 10 синхронизации и, проходя далее через элемент ИЛИ 35 (фиг. 2) на вход установки триггера 31, переключает данный триггер в единичное состояние. Единичный сигнал, образующийся на прямом выходе триггера 31, включает генератор 30. Таким образом, на выходах блока 10 синхронизации начинается формирование импульсов синхронизации t1 и t2.At the same moment, the pulse from the output of the one-shot 19 arrives at the second input of the synchronization unit 10 and, passing further through the OR element 35 (Fig. 2) to the installation input of the trigger 31, switches this trigger to a single state. A single signal generated at the direct output of the trigger 31 includes a generator 30. Thus, at the outputs of the synchronization unit 10, the formation of synchronization pulses t 1 and t 2 begins.

Одновременно импульс с выхода одновибратора 19 (фиг. 1) подается на вход сброса регистра 3 и устанавливает его в нулевое состояние. На всех выходах регистра 3 образуются нулевые сигналы. В результате на всех выходах дешифраторов 8 и 9 формируется нулевой уровень сигнала. Адресный код на первом входе блока элементов ИЛИ 14 также становится нулевым. Однако на выходе блока элементов ИЛИ 14 по-прежнему сохраняется адрес Ak i.j(e+1)*, поступающий с выхода регистра 7. Соответственно, указанный адрес сохраняется и на информационном входе регистра 2.At the same time, the pulse from the output of the single-shot 19 (Fig. 1) is fed to the reset input of register 3 and sets it to zero. At all outputs of register 3, zero signals are generated. As a result, at all outputs of the decoders 8 and 9, a zero signal level is formed. The address code at the first input of the OR block 14 also becomes zero. However, at the output of the block of OR elements 14, the address A k ij (e + 1) * from the output of register 7 is still stored. Accordingly, this address is also stored at the information input of register 2.

Сброс регистра 3 непосредственно после завершения участков группы Bq необходим для того, чтобы исключить повторный запуск (i.j)-го модуля в результате очередного цикла синхронизации. Это связано с тем, что очередной цикл синхронизации начинается сразу после окончания предшествующего цикла и на выходах элементов 13.q всех модулей, реализующих участки группы Bq, все еще могут находиться единичные сигналы. Установка на выходах элементов 13.q нулевых сигналов производится только в момент запуска этих модулей.The reset of register 3 immediately after the completion of sections of group B q is necessary in order to prevent the restart of the (ij) th module as a result of the next synchronization cycle. This is due to the fact that the next synchronization cycle begins immediately after the end of the previous cycle and at the outputs of the elements 13.q of all modules implementing sections of the group B q , single signals can still be found. Installation of the outputs 13.q of zero signals is carried out only at the time of launch of these modules.

Далее первый импульс t1 с первого выхода блока 10 синхронизации через элемент ИЛИ 15 поступает на вход синхронизации регистра 2 и задним фронтом записывает в него адрес Ak i.j(e+1)*. Адрес с выхода регистра 2 подается на адресный вход блока 1 и обеспечивает считывание первой команды (e+1)-го участка. Первый импульс t2 со второго выхода блока 10 синхронизации сбрасывает буферный регистр 7 и, поступая одновременно через элемент ИЛИ 16 на вход синхронизации регистра 3, фиксирует в этом регистре считанную из блока 1 команду. Таким образом, (i.j)-й модуль приступает к выполнению (e+1)-го участка k-й программы. Записанная в регистр 3 команда может иметь либо формат Ф2, либо формат Ф3, либо формат Ф4 (фиг. 4). Соответственно, (i.j)-й модуль может перейти в один из трех возможных режимов - A, B или C.Next, the first pulse t 1 from the first output of the synchronization unit 10 through the OR element 15 is supplied to the synchronization input of register 2 and writes the address A k ij (e + 1) * into it by a trailing edge. The address from the output of register 2 is fed to the address input of block 1 and provides the reading of the first command of the (e + 1) th section. The first pulse t 2 from the second output of the synchronization block 10 resets the buffer register 7 and, simultaneously arriving through the OR element 16 to the synchronization input of the register 3, commits the command read from block 1 in this register. Thus, the (ij) th module starts to execute the (e + 1) th section of the k-th program. The command recorded in register 3 can have either the format Ф 2 , or the format Ф 3 , or the format Ф 4 (Fig. 4). Accordingly, the (ij) th module can go into one of three possible modes - A, B or C.

Режим C. В этот режим модуль переходит после записи в регистр 3 команды формата Ф4 (фиг. 4). Работа модуля в режиме C сводится к индикации завершения k-й программы и переходу в пассивное состояние. На выходе 3.8 регистра 3 (фиг. 1) образуется единичный сигнал - метка конца программы (Мкп), на выходе 3.7 как и в режиме В появляется единичная метка конца участка Мку. На всех остальных выходах регистра 3 формируется нулевой уровень сигнала.Mode C. The module goes into this mode after writing to the register 3 commands format F 4 (Fig. 4). The operation of the module in mode C is reduced to indicating the completion of the k-th program and the transition to a passive state. At the output 3.8 of register 3 (Fig. 1), a single signal is formed - the mark of the end of the program (M CP ), at the output of 3.7, as in mode B, a single mark of the end of the section M k appears. At all other outputs of register 3, a zero signal level is formed.

Нулевые сигналы с выходов 3.5 и 3.6 регистра 3 формируют нулевой уровень сигнала на выходах дешифраторов 8 и 9. Единичная метка Мкп с выхода 3.8 регистра 3 подается на управляющие входы коммутатора 6 и настраивает его на прием очередного КОП с входа 23 модуля.Zero signals from outputs 3.5 and 3.6 of register 3 form a zero signal level at the outputs of decoders 8 and 9. A single label M CP from output 3.8 of register 3 is fed to the control inputs of switch 6 and sets it to receive the next CPC from input 23 of the module.

Одновременно переход сигнала на выходе 3.7 регистра 3 из нуля в единицу возбуждает импульс на выходе одновибратора 18. Этот импульс поступает на третий вход блока 10 синхронизации, переводит триггер 31 (фиг. 2) в нулевое состояние и тем самым запрещает формирование импульсов синхронизации t1 и t2 на выходах блока 10 синхронизации (фиг. 1). Считывание команд из блока 1 прекращается.Simultaneously, the transition of the signal at the output of 3.7 register 3 from zero to unity excites a pulse at the output of the one-shot 18. This pulse is supplied to the third input of the synchronization unit 10, puts the trigger 31 (Fig. 2) to the zero state, and thereby prohibits the formation of synchronization pulses t 1 and t 2 at the outputs of block 10 synchronization (Fig. 1). Reading commands from block 1 stops.

Аналогичным образом завершается функционирование и других модулей МКС. Выполнение k-й программы в целом заканчивается после перехода в пассивное состояние последнего из модулей. После этого сеть может переходить к выполнению очередной программы. In a similar way, the operation of other ISS modules is also completed. The execution of the k-th program as a whole ends after the transition to the passive state of the last of the modules. After that, the network can proceed to the next program.

Оценим преимущества предлагаемого технического решения перед прототипом. We will evaluate the advantages of the proposed technical solution over the prototype.

Первоначально будем проводить оценку с точки зрения оперативности процесса межмодульной передачи управления при запуске групп параллельных участков (при анализе прототипа нумерация осуществляется в соответствии с описанием прототипа). Initially, we will evaluate from the point of view of the efficiency of the process of inter-modular transfer of control when starting groups of parallel sections (in the analysis of the prototype, the numbering is carried out in accordance with the description of the prototype).

В прототипе межмодульная передача управления предусматривает обмен сообщениями, содержащими адреса передачи управления, и может осуществляться двумя способами. In the prototype, intermodular control transfer provides for the exchange of messages containing control transfer addresses, and can be carried out in two ways.

Способ 1. Модуль - инициатор передачи управления (пусть этот модуль имеет номер i.j) последовательно считывает несколько коммуникационных команд (в прототипе это команды формата C или B), каждая из которых обеспечивает формирование и выдачу одного сообщения и, соответственно, запуск одного из требуемых параллельных участков. Method 1. The module - the initiator of the control transfer (let this module be number ij) sequentially reads several communication commands (in the prototype these are C or B format commands), each of which ensures the formation and delivery of one message and, accordingly, the launch of one of the required parallel plots.

Способ 2. Модуль mi.j считывает коммуникационную команду C (или B, если (i. j)-й модуль должен перейти в пассивное состояние), которая обеспечивает запуск параллельного участка, закрепленного, например, за модулем с номером i1.j1.(i1.j1)-й модуль, в свою очередь, после запуска также считывает команду C и производит запуск следующего из требуемых параллельных участков, реализуемого (i2. j2)-м модулем. Далее (i2.j2)-й модуль аналогичным образом активизирует очередной параллельный участок, закрепленный за модулем с номером i3.j3. В конце концов будут активизированы все параллельные участки.Method 2. The module m ij reads the communication command C (or B if the (i. J) th module is to pass into the passive state), which ensures the launch of a parallel section, assigned, for example, to the module with the number i 1 .j 1 . The (i 1 .j 1 ) th module, in turn, after starting also reads the C command and starts the next of the required parallel sections, implemented by the (i 2. j 2 ) th module. Further, the (i 2 .j 2 ) th module similarly activates the next parallel section assigned to the module with the number i 3 .j 3 . In the end, all parallel sections will be activated.

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

Figure 00000036

где
Figure 00000037
- время передачи сообщения от модуля
Figure 00000038
модулю
Figure 00000039
;
h - порядковый номер запускаемого участка;
для первого способа справедливо равенство
Figure 00000040
,
Figure 00000041
поскольку все сообщения передаются (i.j)-м модулем;
для второго способа
Figure 00000042
.Regardless of the method used, the time of intermodular control transfer when starting a group of p parallel sections (i.e., the interval between the moment of reading the first communication command and the moment of starting the last, pth section) is defined as
Figure 00000036

Where
Figure 00000037
- message transmission time from the module
Figure 00000038
module
Figure 00000039
;
h - serial number of the launched section;
for the first method, the equality
Figure 00000040
,
Figure 00000041
since all messages are transmitted by the (ij) th module;
for the second method
Figure 00000042
.

Время

Figure 00000043
, в свою очередь, зависит от расстояния
Figure 00000044
между модулями
Figure 00000045
и
Figure 00000046
и среднего времени t0 передачи сообщения между соседними модулями и в общем случае
Figure 00000047

где tзап - время запуска модуля
Figure 00000048
(промежуток времени от момента поступления сообщения на вход 28 или 29 (ih.jh)-го модуля до момента фиксации первой команды запускаемого участка в регистре 5 команд).Time
Figure 00000043
in turn depends on the distance
Figure 00000044
between modules
Figure 00000045
and
Figure 00000046
and average time t 0 of message transmission between neighboring modules and in the general case
Figure 00000047

where t zap - module start time
Figure 00000048
(the time interval from the moment the message arrives at the input of the 28th or 29th (i h .j h ) -th module until the first command of the run section is fixed in the register of 5 commands).

Наименьшее значение T достигается тогда, когда модули

Figure 00000049
являются соседними (смежными) и, соответственно,
Figure 00000050
,
Figure 00000051
В этом случае, исходя из формул (1) и (2),
T = Tmin = p(t0+tзап). (3)
Величина t0 представляет собой время обработки сообщения блоком 2 анализа, которое, в свою очередь, складывается из времени пребывания сообщения в блоке памяти сообщений 36, 37 или 35 (t'0) и времени передачи сообщения из указанного блока на один из выходов блока анализа (t''0). Величина tзап представляет собой сумму t0+t'зап, где t'зап - промежуток времени от момента выхода сообщения из блока 2 анализа до момента записи первой команды в регистр 5 команд.The lowest value of T is achieved when the modules
Figure 00000049
are adjacent (adjacent) and, accordingly,
Figure 00000050
,
Figure 00000051
In this case, based on formulas (1) and (2),
T = T min = p (t 0 + t app ). (3)
The value of t 0 represents the processing time of the message by the analysis unit 2, which, in turn, is the sum of the time the message was in the message memory 36, 37 or 35 (t ' 0 ) and the time the message was sent from the specified block to one of the outputs of the analysis unit (t '' 0 ). The value of t zap is the sum of t 0 + t ' zap , where t' zap is the time interval from the moment the message leaves the analysis unit 2 until the first command is written to the 5 command register.

Исходя из всего сказанного формулу (3) можно переписать в виде
Tmin = p(2t'0+2t''0+t'зап). (4)
Нетрудно видеть, что значение t'зап близко к периоду следования импульсов блока 8 синхронизации (τ8), a t''0 - к периоду следования импульсов распределителя 42 (τ42), поэтому можно считать

Figure 00000052
Figure 00000053
B то же время
Figure 00000054
где K - средняя длина очереди сообщений в блоке памяти сообщений 36, 37 или 35. Считая, что τ8≈τ42 и обозначая τ842 как τ, из (4) получим окончательное выражение для Tmin:
Tmin ≈ pτ(2K+3). (5)
В предлагаемой сети, как показано выше, обмен сообщениями при межмодульной передаче управления отсутствует. Запуск p параллельных участков производится практически одновременно в момент появления отрицательного перепада уровня сигнала завершения группы предшествующих параллельных участков на выходах элементов И 11.q (фиг. 1). Время межмодульной передачи управления T* не зависит от значения p и определяется скоростью распространения сигнала через цепочку элементов И 11.q различных модулей.Based on the foregoing, formula (3) can be rewritten in the form
T min = p (2t ' 0 + 2t'' 0 + t' app ). (4)
It is easy to see that the value of t ' zap is close to the period of the pulses of the synchronization unit 8 (τ 8 ), and t'' 0 is close to the period of the pulses of the distributor 42 (τ 42 ), therefore, we can assume
Figure 00000052
Figure 00000053
B same time
Figure 00000054
where K is the average length of the message queue in the message memory block 36, 37 or 35. Assuming that τ 8 ≈τ 42 and denoting τ 8 , τ 42 as τ, from (4) we obtain the final expression for T min :
T min ≈ pτ (2K + 3). (5)
In the proposed network, as shown above, there is no messaging during intermodular control transfer. The launch of p parallel sections is carried out almost simultaneously at the moment of the appearance of a negative level difference of the signal of completion of the group of previous parallel sections at the outputs of the elements And 11.q (Fig. 1). The intermodular control transfer time T * does not depend on the value of p and is determined by the speed of signal propagation through the chain of elements AND 11.q of various modules.

Величина T* складывается из времени (t1 *) между моментом завершения группы предшествующих параллельных участков и моментом формирования единичного сигнала dq на выходе 29.q (1.N)-го модуля, задержки блока элементов НЕ 36 (Δt36), времени (t2 *) распространения перепада уровня сигнала с q-го выхода блока 36 до последнего из активизируемых модулей МКС, а также времени запуска указанного модуля (tзап *), т.е. времени от момента появления перепада уровня сигнала на входе 27.q или 28.q модуля до момента фиксации первой команды в регистре 3. В предельном случае, когда последний завершаемый участок выполняется (М. 1)-м модулем, а последний из запускаемых параллельных участков - (1.N)-м модулем (фиг. 3),
t1 * = t1 *(max) - t2 * - t2 *(max) = (M + N - 2)t0 *,
где t0 * - задержка прохождения сигнала через модуль МКС с входа 27.q или 28.q на выход 29.q.
The value of T * is the sum of time (t 1 * ) between the moment of completion of the group of previous parallel sections and the moment of formation of a single signal d q at the output of the 29.q (1.N) -th module, delay of the block of elements NOT 36 (Δt 36 ), time (t 2 * ) propagation of the signal level difference from the qth output of block 36 to the last of the ISS modules to be activated, as well as the start time of the specified module (t app * ), i.e. time from the moment of the difference in signal level at the input 27.q or 28.q of the module to the moment of fixing the first command in register 3. In the extreme case, when the last completed section is executed by the (M. 1) -th module, and the last of the parallel sections launched - (1.N) -th module (Fig. 3),
t 1 * = t 1 * (max) - t 2 * - t 2 * (max) = (M + N - 2) t 0 * ,
where t 0 * is the delay of the signal passing through the ISS module from input 27.q or 28.q to output 29.q.

Величина t0 * представляет собой задержку срабатывания элемента И

Figure 00000055
поэтому
t * 1 (max) = t * 2 (max) = (M+N-2)Δtll.q.
Как и в прототипе, tзап * приближенно равно периоду следования импульсов синхронизации, который, очевидно, может быть принят равным τ. B то же время Δt36≈Δtll.q≡Δt.
Исходя из всего сказанного, наибольшее значение Т* может быть определено как
Figure 00000056

Для обеспечения устойчивости работы модулей МКС должно выполняться условие τ ≫ Δt, например τ~20Δt(Δt~0.05τ). Поэтому, подставляя Δt = 0.05τ в (6) и учитывая (5), окончательно получим следующие соотношения:
T ≥ Tmin≈pτ(2K+3), (7а)
T*≅ T * m ax≈(0.1(M+N)+0.85)τ. (7б)
Величины p, K, M и N характеризуются одним порядком (они, как правило, не превышают 10), поэтому для приближенной оценки можно считать p = K = M = N ≡ Θ ~ 1...10. С учетом этого допущения выражения (7а) и (7б) можно переписать в виде
T ≥ Tmin ≈ 2Θ2τ+3Θτ, (8а)
T*≅ T * m ax ≈ 0.2Θτ+0,85τ. (8б)
Сравнение выражений (8а) и (8б) позволяет установить, что Tmin > Tmax *. Отсюда следует, что в общем случае T >> T*. Таким образом, в предлагаемой МКС обеспечивается существенно более высокая оперативность межмодульной передачи управления при запуске групп параллельных участков, чем в прототипе.The value of t 0 * represents the delay in the operation of the element And
Figure 00000055
so
t * 1 (max) = t * 2 (max) = (M + N-2) Δt ll.q.
As in the prototype, t app * is approximately equal to the period of the synchronization pulses, which, obviously, can be taken equal to τ. At the same time, Δt 36 ≈Δt ll.q ≡Δt.
Based on the foregoing, the largest value of T * can be defined as
Figure 00000056

To ensure the stability of the operation of the ISS modules, the condition τ ≫ Δt, for example, τ ~ 20Δt (Δt ~ 0.05τ), must be satisfied. Therefore, substituting Δt = 0.05τ in (6) and taking into account (5), we finally obtain the following relations:
T ≥ T min ≈pτ (2K + 3), (7a)
T * ≅ T * m ax ≈ (0.1 (M + N) +0.85) τ. (7b)
The quantities p, K, M, and N are characterized by the same order of magnitude (as a rule, they do not exceed 10); therefore, for an approximate estimate, we can assume p = K = M = N ≡ Θ ~ 1 ... 10. Given this assumption, expressions (7a) and (7b) can be rewritten in the form
T ≥ T min ≈ 2Θ 2 τ + 3Θτ, (8a)
T * ≅ T * m ax ≈ 0.2Θτ + 0.85τ. (8b)
A comparison of expressions (8a) and (8b) allows us to establish that T min > T max * . It follows that in the general case T >> T * . Thus, the proposed ISS provides a significantly higher efficiency of intermodular control transfer when starting groups of parallel sections than in the prototype.

Наряду с повышением оперативности межмодульной передачи управления предлагаемое решение позволяет значительно уменьшить сложность модуля МКС. Along with increasing the efficiency of intermodular control transfer, the proposed solution can significantly reduce the complexity of the ISS module.

Поскольку межмодульное взаимодействие в МКС не предполагает обмен сообщениями, соответственно, не требуются хранение и выбор маршрутов сообщений, из состава модуля удается исключить блок 2 анализа (здесь нумерация производится в соответствии с описанием прототипа), содержащий три блока памяти сообщений (каждый из которых включает группу из ~10 регистров, демультиплексор и несколько групп из ~10 логических элементов), генератор 39 константы, блок 40 выбора направления передачи сообщения, а также распределитель 42 импульсов и ряд других элементов. Кроме того, из состава модуля исключается блок 3 управления синхронизацией параллельных участков, включающий два отдельных блока памяти условий синхронизации (блоки 55 и 56) и ряд других элементов. Вместо указанных блоков и элементов в состав модуля вводятся регистр 5 вектора соответствия (здесь нумерация дается в соответствии с описанием МКС), дешифраторы 8 и 9, буферный регистр 7, блок элементов ИЛИ 14, три группы из n логических элементов (число логических элементов n представляет собой максимальное число вершин синхронизации в реализуемых программах, которое в большинстве случаев не превышает 50). Since the intermodular interaction in the ISS does not involve the exchange of messages, respectively, storage and selection of message routes are not required, analysis unit 2 can be excluded from the module (here the numbering is carried out in accordance with the prototype description) containing three message memory blocks (each of which includes a group from ~ 10 registers, a demultiplexer and several groups of ~ 10 logic elements), a constant generator 39, a block 40 for selecting the direction of transmission of the message, as well as a pulse distributor 42 and a number of other elements ov. In addition, the module 3 excludes synchronization control unit 3 of parallel sections, which includes two separate memory blocks of synchronization conditions (blocks 55 and 56) and a number of other elements. Instead of the indicated blocks and elements, the correspondence vector register 5 (here the numbering is given in accordance with the ISS description), decoders 8 and 9, buffer register 7, block of OR elements 14, three groups of n logical elements (the number of logical elements n represents is the maximum number of synchronization vertices in implemented programs, which in most cases does not exceed 50).

Суммарная сложность всех вводимых элементов с учетом соответствующих связей существенно ниже общей сложности блоков 2 и 3 прототипа. Тем самым достигается значительное упрощение модуля МКС. Несмотря на упрощение модулей предлагаемая МКС обладает всеми функциональными возможностями прототипа, позволяя, в частности, производить запуск и синхронизацию произвольных групп участков программ без ограничений на способ их межмодульного распределения. The total complexity of all input elements, taking into account the corresponding relationships, is significantly lower than the total complexity of blocks 2 and 3 of the prototype. Thus, a significant simplification of the ISS module is achieved. Despite the simplification of the modules, the proposed ISS has all the functionality of the prototype, allowing, in particular, to launch and synchronize arbitrary groups of program sections without restrictions on the way of their intermodular distribution.

Таким образом, исходя из всего вышесказанного, предлагаемое изобретение обеспечивает решение заявленной технической задачи, а именно: позволяет повысить оперативность межмодульной передачи в микроконтроллерной сети при запуске групп параллельных участков программ при одновременном упрощении модулей. Это, в свою очередь, способствует повышению общего быстродействия МКС и снижению сложности ее промышленного изготовления. Thus, based on the foregoing, the present invention provides a solution to the claimed technical problem, namely: it allows to increase the efficiency of inter-module transmission in a microcontroller network when starting groups of parallel sections of programs while simplifying the modules. This, in turn, helps to increase the overall speed of the ISS and reduce the complexity of its industrial production.

Claims (2)

1. Микроконтроллерная сеть, содержащая M • N однотипных модулей, объединенных в матричную структуру, где N - число модулей в строке матричной структуры сети, M - число строк, при этом каждый модуль включает блок памяти программ, регистр адреса, регистр команд, мультиплексор логических условий, коммутатор адреса, блок синхронизации, с первого по третий элементы ИЛИ, причем вход кода операции модуля соединен с первым информационным входом коммутатора адреса, выход которого подключен к информационному входу регистра адреса, выход которого подключен к адресному входу блока памяти программ, выход которого соединен с информационным входом регистра команд, выход метки конца программы которого соединен с управляющими входами коммутатора адреса, выходы кода логического условия и модифицируемого разряда адреса регистра команд подключены к управляющему и первому информационному входам мультиплексора логических условий соответственно, второй информационный вход которого соединен с входом логических условий модуля, первый вход блока синхронизации соединен с входом пуска модуля, отличающаяся тем, что в нее дополнительно введен блок элементов НЕ, а каждый модуль дополнительно включает регистр вектора соответствия, буферный регистр, первый и второй дешифраторы номера вершины синхронизации, первую и вторую группы элементов И, группу элементов ИЛИ, блок элементов ИЛИ, первый и второй одновибраторы, элемент задержки, причем выход немодифицируемой части адреса регистра команд в объединении с выходом мультиплексора логических условий подключены к первому входу блока элементов ИЛИ и к информационному входу буферного регистра, выход которого соединен со вторым входом блока элементов ИЛИ, выход которого соединен со вторым информационным входом коммутатора адреса, выход микроопераций регистра команд подключен к выходу микроопераций модуля, вход вектора соответствия модуля соединен с информационным входом регистра вектора соответствия, выходы с первого по n-й которого (где n - максимальное число вершин синхронизации в реализуемых программах) подключены к первым входам элементов ИЛИ группы с первого по n-й соответственно, первый выход номера вершины синхронизации регистра команд соединен с входом первого дешифратора номера вершины синхронизации, выходы с первого по n-й которого соединены со вторыми входами элементов ИЛИ группы с первого по n-й соответственно, выходы которых подключены к первым входам элементов И первой группы с первого по n-й соответственно, входы первой группы входов синхронизации модуля с первого по n-й соединены со вторыми входами элементов И первой группы с первого по n-й соответственно, выходы которых соединены с выходами группы выходов синхронизации модуля с первого по n-й соответственно, второй выход номера вершины синхронизации регистра команд соединен с входом второго дешифратора номера вершины синхронизации, выходы с первого по n-й которого подключены к первым входам элементов И второй группы с первого по n-й соответственно, входы второй группы входов синхронизации модуля с первого по n-й подключены к третьим входам элементов И первой группы с первого по n-й соответственно, выходы которых подключены к вторым входам элементов И второй группы с первого по n-й соответственно, выходы которых соединены с входами первого элемента ИЛИ с первого по n-й соответственно, выход которого соединен с входом синхронизации буферного регистра и с входом первого одновибратора, выход которого подключен к входу сброса регистра команд и ко второму входу блока синхронизации, первый выход которого соединен с первым входом второго элемента ИЛИ, выход которого подключен к входу синхронизации регистра адреса, выход метки конца участка регистра команд соединен с входом второго одновибратора, выход которого соединен с третьим входом блока синхронизации, второй выход которого подключен к входу сброса буферного регистра и к первому входу третьего элемента ИЛИ, вход настройки модуля соединен со вторым входом второго элемента ИЛИ, с входом синхронизации регистра вектора соответствия, а также с входом элемента задержки, выход которого подключен ко второму входу третьего элемента ИЛИ, выход которого подключен к входу синхронизации регистра команд, группа выходов синхронизации (1, N)-го модуля соединена с входами блока элемента НЕ, выходы которого подключены к первой группе входов синхронизации (i. 1)-го модуля,
Figure 00000057
и ко второй группе входов синхронизации (M.J)-го модуля,
Figure 00000058
группа выходов синхронизации (α,β)-го модуля,
Figure 00000059
Figure 00000060
подключена к первой группе входов синхронизации (α.β+1)-го модуля и ко второй группе входов синхронизации (α-l.β)-го модуля, группа выходов синхронизации (l.β)-го модуля соединена с первой группой входов синхронизации (l.β+l)-го модуля, группа выходов синхронизации (α,N)-го модуля соединена со второй группой входов синхронизации (α-l.N)-го модуля.
1. A microcontroller network containing M • N modules of the same type combined into a matrix structure, where N is the number of modules in a row of the network matrix structure, M is the number of lines, with each module including a program memory block, address register, instruction register, logical multiplexer conditions, the address switch, synchronization unit, from the first to the third elements OR, and the input of the operation code of the module is connected to the first information input of the address switch, the output of which is connected to the information input of the address register, the output of which is connected is connected to the address input of the program memory block, the output of which is connected to the information input of the command register, the output of the end of the program label is connected to the control inputs of the address switch, the outputs of the logical condition code and the modifiable bit of the address of the command register are connected to the control and the first information inputs of the logic condition multiplexer, respectively , the second information input of which is connected to the input of the logical conditions of the module, the first input of the synchronization unit is connected to the input of the start of the module, o characterized in that it additionally contains a block of elements NOT, and each module additionally includes a register of the correspondence vector, a buffer register, the first and second decoders of the synchronization vertex number, the first and second groups of AND elements, the group of OR elements, the block of OR elements, the first and second single vibrators, delay element, and the output of the non-modifiable part of the address of the command register in combination with the output of the multiplexer of logical conditions are connected to the first input of the block of OR elements and to the information input of the buffer a histra, the output of which is connected to the second input of the block of OR elements, the output of which is connected to the second information input of the address switch, the output of the microoperations of the command register is connected to the output of the microoperations of the module, the input of the correspondence vector of the module is connected to the information input of the register of the correspondence vector, the outputs from the first to n- whose (where n is the maximum number of synchronization vertices in the programs being implemented) are connected to the first inputs of the elements of the OR group from the first to the n-th, respectively, the first output of the sync vertex number lowering the command register is connected to the input of the first decoder of the synchronization vertex number, the outputs from the first to the nth of which are connected to the second inputs of the elements of the OR group from the first to the nth, respectively, the outputs of which are connected to the first inputs of the elements of the first group from the first to n- respectively, the inputs of the first group of synchronization inputs of the module from the first to the n-th are connected to the second inputs of the elements And of the first group from the first to the n-th, respectively, the outputs of which are connected to the outputs of the group of the synchronization outputs of the module from the first nth, respectively, the second output of the synchronization vertex number of the command register is connected to the input of the second decoder of the synchronization vertex number, the first to nth outputs of which are connected to the first inputs of the elements And of the second group from the first to the nth, respectively, the inputs of the second group of synchronization inputs modules from the first to the n-th are connected to the third inputs of the elements And the first group from the first to the n-th, respectively, the outputs of which are connected to the second inputs of the elements And the second group from the first to the n-th, respectively, the outputs of which are connected to odes of the first OR element from the first to the n-th respectively, the output of which is connected to the synchronization input of the buffer register and to the input of the first one-shot, the output of which is connected to the reset input of the command register and to the second input of the synchronization block, the first output of which is connected to the first input of the second element OR, the output of which is connected to the synchronization input of the address register, the output of the end mark of the section of the command register is connected to the input of the second one-shot, the output of which is connected to the third input of the synchronization block, the second the output of which is connected to the reset input of the buffer register and to the first input of the third OR element, the module settings input is connected to the second input of the second OR element, with the synchronization register register input of the correspondence vector, as well as with the input of the delay element, the output of which is connected to the second input of the third OR element whose output is connected to the synchronization input of the command register, the group of synchronization outputs of the (1, N) -th module is connected to the inputs of the block of the element NOT, the outputs of which are connected to the first group of synchronization inputs (i. 1) th module,
Figure 00000057
and to the second group of synchronization inputs (MJ) of the module,
Figure 00000058
group of synchronization outputs of the (α, β) -th module,
Figure 00000059
Figure 00000060
connected to the first group of synchronization inputs (α.β + 1) of the module and to the second group of synchronization inputs (α-l.β) of the module, the group of synchronization outputs (l.β) of the module is connected to the first group of synchronization inputs (l.β + l) -th module, the group of synchronization outputs of the (α, N) -th module is connected to the second group of synchronization inputs of the (α-lN) -th module.
2. Сеть по п.1, отличающаяся тем, что блок синхронизации содержит генератор импульсов, триггер управления, триггер, первый и второй элементы И, элемент ИЛИ, первый и второй входы которого являются первым и вторым входами блока соответственно, а выход соединен с входом установки триггера управления, вход сброса которого является третьим входом блока, а прямой выход подключен к входу генератора импульсов, выход которого соединен с первыми входами первого и второго элементов И, а также со счетным входом триггера, прямой и инверсный выходы которого подключены ко вторым входам первого и второго элементов И соответственно, выходы которых являются первым и вторым выходами блока соответственно. 2. The network according to claim 1, characterized in that the synchronization unit contains a pulse generator, a control trigger, a trigger, the first and second AND elements, an OR element, the first and second inputs of which are the first and second inputs of the block, respectively, and the output is connected to the input installation of the control trigger, the reset input of which is the third input of the block, and the direct output is connected to the input of the pulse generator, the output of which is connected to the first inputs of the first and second elements And, as well as with the counting input of the trigger, the direct and inverse outputs of which th connected to the second inputs of the first and second AND gates, respectively, the outputs of which are first and second output block, respectively.
RU99119676A 1999-09-13 1999-09-13 Microcontroller network RU2168198C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU99119676A RU2168198C1 (en) 1999-09-13 1999-09-13 Microcontroller network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU99119676A RU2168198C1 (en) 1999-09-13 1999-09-13 Microcontroller network

Publications (1)

Publication Number Publication Date
RU2168198C1 true RU2168198C1 (en) 2001-05-27

Family

ID=20224887

Family Applications (1)

Application Number Title Priority Date Filing Date
RU99119676A RU2168198C1 (en) 1999-09-13 1999-09-13 Microcontroller network

Country Status (1)

Country Link
RU (1) RU2168198C1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2280887C1 (en) * 2005-02-15 2006-07-27 Государственное образовательное учреждение высшего профессионального образования Курский государственный университет Microcontroller network
RU2336556C1 (en) * 2007-04-17 2008-10-20 Государственное образовательное учреждение высшего профессионального образования Курский государственный университет Microcontroller network
RU2419826C2 (en) * 2006-08-08 2011-05-27 Сименс Энерджи Энд Отомейшн, Инк. Devices, systems and methods regarding plc
RU2439645C2 (en) * 2007-02-07 2012-01-10 Финикс Контакт Гмбх Унд Ко. Кг Module to control and/or transfer data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3835896A (en) * 1973-01-02 1974-09-17 T Smrt Method of filling aerosol spray cans
EP0533335A1 (en) * 1991-08-06 1993-03-24 Raytheon Company Switch circuits
RU2110827C1 (en) * 1997-02-18 1998-05-10 Курский государственный технический университет Digital microcontroller network
RU2112272C1 (en) * 1997-03-20 1998-05-27 Курский государственный технический университет Unit of microcontroller network
FR2770008A1 (en) * 1997-10-16 1999-04-23 Alsthom Cge Alcatel COMMUNICATION DEVICE BETWEEN SEVERAL PROCESSORS

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3835896A (en) * 1973-01-02 1974-09-17 T Smrt Method of filling aerosol spray cans
EP0533335A1 (en) * 1991-08-06 1993-03-24 Raytheon Company Switch circuits
RU2110827C1 (en) * 1997-02-18 1998-05-10 Курский государственный технический университет Digital microcontroller network
RU2112272C1 (en) * 1997-03-20 1998-05-27 Курский государственный технический университет Unit of microcontroller network
FR2770008A1 (en) * 1997-10-16 1999-04-23 Alsthom Cge Alcatel COMMUNICATION DEVICE BETWEEN SEVERAL PROCESSORS

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2280887C1 (en) * 2005-02-15 2006-07-27 Государственное образовательное учреждение высшего профессионального образования Курский государственный университет Microcontroller network
RU2419826C2 (en) * 2006-08-08 2011-05-27 Сименс Энерджи Энд Отомейшн, Инк. Devices, systems and methods regarding plc
RU2419825C2 (en) * 2006-08-08 2011-05-27 Сименс Энерджи Энд Отомейшн, Инк. Devices, systems and methods for assigning plc module address
US8321653B2 (en) 2006-08-08 2012-11-27 Siemens Aktiengesellschaft Devices, systems, and methods for assigning a PLC module address
US8417847B2 (en) 2006-08-08 2013-04-09 Siemens Aktiengesellschaft Devices, systems, and methods regarding a PLC
RU2439645C2 (en) * 2007-02-07 2012-01-10 Финикс Контакт Гмбх Унд Ко. Кг Module to control and/or transfer data
RU2336556C1 (en) * 2007-04-17 2008-10-20 Государственное образовательное учреждение высшего профессионального образования Курский государственный университет Microcontroller network

Similar Documents

Publication Publication Date Title
GB2122781A (en) Multimicroprocessor systems
JPS6120013B2 (en)
GB2178273A (en) Maximum length shift register sequences generator
RU2168198C1 (en) Microcontroller network
RU2110827C1 (en) Digital microcontroller network
EP1388048B1 (en) Storage system for use in custom loop accellerators
RU2336556C1 (en) Microcontroller network
RU2280887C1 (en) Microcontroller network
RU2450328C1 (en) Logic multicontroller having distributed parallel-pipeline barrier synchroniser
RU2112269C1 (en) Assembly unit for software control
SU1605212A1 (en) Distributed system for program control of production processes
RU2112272C1 (en) Unit of microcontroller network
RU2146064C1 (en) Device for software control
RU2151421C1 (en) Unit of microcontroller network
RU2634199C1 (en) Parallel logic multicontroller
RU2122229C1 (en) Distributed program control system
RU2111528C1 (en) Microprogram control unit
RU2145434C1 (en) Unit of software management system
RU2198422C2 (en) Asynchronous synergistic computer system
SU1024930A1 (en) Device for simulating network topology
RU2152071C1 (en) Unit of microprogram control system
RU2116665C1 (en) Unit of microprogram system
SU1601614A1 (en) Multiprocessor system
SU1631542A1 (en) Multimicroprogram control system
SU1322306A1 (en) Device for simulating graphs