Микроконтроллерная сеть
Иллюстрации
Показать всеИзобретение относится к автоматике и вычислительной технике и может найти применение при построении распределенных систем программного управления технологическими процессами, роботами и робототехническими комплексами, а также подсистем логического управления многоуровневых иерархических АСУ и мультипроцессорных систем широкого класса. Техническим результатом является расширение области применения микроконтроллерной сети за счет уменьшения сложности межмодульного интерфейса. Устройство содержит M*N однотипных модулей, объединенных в матричную структуру, где N - число модулей в строке матричной структуры сети, М - число строк, при этом каждый модуль микроконтроллерной сети включает блок памяти программ, регистр адреса, регистр команд, мультиплексор логических условий, коммутатор адреса, блок синхронизации, элементы ИЛИ, регистр вектора соответствия, буферный регистр, дешифраторы номера вершины синхронизации, блок элементов ИЛИ, одновибраторы, элемент задержки, группу блоков модулей управления синхронизацией, мультиплексор каналов синхронизации, регистр конфигурации, мультиплексоры, дешифратор каналов синхронизации, генератор сигналов управления синхронизацией, две группы элементов И. 2 н. и 2 з.п. ф-лы, 8 ил.
Реферат
Изобретение относится к автоматике и вычислительной технике и может найти применение при построении распределенных систем программного управления технологическими процессами, роботами и робототехническими комплексами, а также подсистем логического управления многоуровневых иерархических АСУ и мультипроцессорных систем широкого класса.
Известна дискретная микроконтроллерная сеть, содержащая M*N однотипных модулей, объединенных в матричную структуру, где N - число модулей в строке матричной структуры сети, М - число строк, каждый модуль которой включает блок памяти программ, регистр адреса, регистр команд, мультиплексор логических условий, коммутатор адреса, блок синхронизации, с первого по третий элементы ИЛИ, регистр вектора соответствия, буферный регистр, первый и второй дешифраторы номера вершины синхронизации, первую и вторую группы элементов И, группу элементов ИЛИ, блок элементов ИЛИ, первый и второй одновибраторы, элемент задержки, блок элементов НЕ (патент РФ №2168198, МПК7 G05B 19/05, G06F 9/28; заявл. 13.09.1999; опубл. 27.05.2001, БИ №15).
Недостатком указанной сети является узкая область применения в связи с ее ограниченной наращиваемостью. Добавление в эту сеть нового столбца или строки модулей возможно только при введении в нее новых физических связей.
Наиболее близкой к предлагаемой сети по технической сущности является микроконтроллерная сеть, содержащая M*N однотипных модулей, объединенных в матричную структуру, где N - число модулей в строке матричной структуры сети, М - число строк, каждый модуль которой включает блок памяти программ, регистр адреса, регистр команд, мультиплексор логических условий, коммутатор адреса, блок синхронизации, с первого по третий элементы ИЛИ, регистр вектора соответствия, буферный регистр, первый и второй дешифраторы номера вершины синхронизации, блок элементов ИЛИ, первый и второй одновибраторы, элемент задержки, группу блоков управления синхронизацией, каждый из которых включает триггер наличия соседа слева, триггер наличия соседа снизу, группу элементов НЕ, группу элементов И, с первого по пятый элементы ИЛИ, первый и второй элементы И, коммутатор, триггер и триггер разрешения запуска (патент РФ №2280887, МПК8 G05B 19/18, G06F 9/28; заявл. 15.02.2005, опубл. 27.07.2006, БИ №21).
Недостатком указанной сети является высокая сложность межмодульного интерфейса, что ограничивает область ее применения.
Технической задачей заявляемого изобретения является расширение области применения микроконтроллерной сети за счет уменьшения сложности межмодульного интерфейса. В предлагаемой сети благодаря мультиплексированию межмодульных связей предназначенных для распространения сигналов завершения параллельных участков, уменьшается общее количество физических связей. Это дает возможность выполнения микроконтроллерной сетью алгоритмов более широкого класса, включая алгоритмы с большим числом синхронизируемых параллельных участков.
Техническая задача решается тем, что в каждый модуль микроконтроллерной сети, содержащей M*N однотипных модулей, объединенных в матричную структуру, где N - число модулей в строке матричной структуры сети, М - число строк, включающий блок памяти программ, регистр адреса, регистр команд, мультиплексор логических условий, коммутатор адреса, блок синхронизации, с первого по третий элементы ИЛИ, регистр вектора соответствия, буферный регистр, первый и второй дешифраторы номера вершины синхронизации, блок элементов ИЛИ, первый и второй одновибраторы, элемент задержки, причем вход кода операции модуля соединен с первым информационным входом коммутатора адреса, выход которого подключен к информационному входу регистра адреса, выход которого подключен к адресному входу блока памяти программ, выход которого соединен с информационным входом регистра команд, выход метки конца программы которого соединен с управляющими входами коммутатора адреса, выходы кода логического условия и модифицируемого разряда адреса регистра команд подключены к адресному и первому информационному входам мультиплексора логических условий соответственно, второй информационный вход которого соединен со входом логических условий модуля, первый вход блока синхронизации соединен со входом пуска модуля, выход немодифицируемой части адреса регистра команд в объединении с выходом мультиплексора логических условий подключены к первому входу блока элементов ИЛИ и к информационному входу буферного регистра, выход которого соединен со вторым входом блока элементов ИЛИ, выход которого соединен со вторым информационным входом коммутатора адреса, выход микроопераций регистра команд подключен к выходу микроопераций модуля, вход вектора соответствия модуля соединен с информационным входом регистра вектора соответствия, первый выход номера вершины синхронизации регистра команд соединен со входом первого дешифратора номера вершины синхронизации, второй выход номера вершины синхронизации регистра команд соединен со входом второго дешифратора номера вершины синхронизации, выход первого элемента ИЛИ соединен со входом синхронизации буферного регистра и со входом первого одновибратора, выход которого подключен ко входу сброса регистра команд и ко второму входу блока синхронизации, первый выход которого соединен с первым входом второго элемента ИЛИ, выход которого подключен ко входу синхронизации регистра адреса, выход метки конца участка регистра команд соединен со входом второго одновибратора, выход которого соединен с третьим входом блока синхронизации, второй выход которого подключен ко входу сброса буферного регистра и к первому входу третьего элемента ИЛИ, вход настройки модуля соединен со вторым входом второго элемента ИЛИ, со входом синхронизации регистра вектора соответствия, а также со входом элемента задержки, выход которого подключен ко второму входу третьего элемента ИЛИ, выход которого подключен ко входу синхронизации регистра команд, дополнительно введены группа из р блоков модулей управления синхронизацией ( где n - максимальное число вершин синхронизации в реализуемых программах, m - количество модулей управления синхронизацией в одном блоке, - операция округления вверх), мультиплексор каналов синхронизации, регистр конфигурации, первый и второй мультиплексоры, дешифратор каналов синхронизации, генератор сигналов управления синхронизацией, первая и вторая группы элементов И, причем первая группа входов модуля с первого по m-й соединена с первыми входами первой группы элементов И с первого по m-й соответственно, вторая группа входов модуля с первого по m-й соединена со вторыми входами первой группы элементов И с первого по m-й соответственно, выходы которых соединены с первыми входами блоков модулей управления синхронизацией с первого по р-й, вторые входы блоков модулей управления синхронизацией с первого по р-й соединены с выходами дешифратора каналов синхронизации с первого по р-й соответственно, третьи входы блоков модулей управления синхронизацией с первого по р-й соединены с первым выходом регистра конфигурации и с адресным входом первого мультиплексора, четвертые входы блоков модулей управления синхронизацией с первого по р-й соединены с групповыми выходами первого дешифратора номера вершины синхронизации с первого по р-й соответственно, пятые входы блоков модулей управления синхронизацией с первого по р-й соединены с групповыми выходами регистра вектора соответствия с первого по р-й соответственно, третья группа входов модуля с первого по m-й соединена с первыми входами второй группы элементов И с первого по m-й соответственно, четвертая группа входов модуля с первого по m-й соединена со вторыми входами второй группы элементов И с первого по m-й соответственно, выходы которых соединены с шестыми входами блоков модулей управления синхронизацией с первого по р-й, первый и второй входы модуля соединены с информационным входом и входом синхронизации регистра конфигурации соответственно, второй выход которого соединен с седьмыми входами блоков модулей управления синхронизацией с первого по р-й, третий выход регистра конфигурации соединен с адресным входом второго мультиплексора, выход которого соединен с первым входом первого мультиплексора, старшие разряды выхода которого соединены со входом дешифратора каналов синхронизации и с адресным входом мультиплексора каналов синхронизации, младший разряд выхода первого мультиплексора соединен с восьмыми входами блоков модулей управления синхронизации с первого по р-й, а также в объединении со старшими разрядами выхода первого мультиплексора соединен с выходом модуля, младшие разряды выхода мультиплексора каналов синхронизации с первого по m-й являются первой группой выходов модуля с первого по m-й соответственно, а старшие разряды с первого по m-й являются второй группой выходов модуля с первого по m-й соответственно, групповые выходы второго дешифратора номера вершины синхронизации с первого по р-й соединены с девятыми входами блоков модулей управления синхронизацией с первого по р-й соответственно, первый и второй выходы которых соединены со входами мультиплексора каналов синхронизации с первого по р-й соответственно, третьи выходы блоков модулей управления синхронизацией с первого по р-й соединены с групповыми входами первого элемента ИЛИ с первого по р-й соответственно, третий и четвертый входы модуля соединены соответственно с первым и вторым входами второго мультиплексора, входы модуля с пятого по восьмой соединены с входами генератора сигналов управления синхронизацией с первого по четвертый соответственно, выходы которого соединены со вторым входом первого мультиплексора, генератор сигналов управления синхронизацией каждого модуля содержит генератор импульсов, счетчик задержки, компаратор задержки, триггер, счетчик групп, регистр задержки, регистр групп, компаратор групп, причем первый вход генератора сигналов управления синхронизацией является входом запуска генератора импульсов, выход которого подключен к счетному входу счетчика задержки, выход которого подключен к первому входу компаратора задержки, выход которого подключен к входу сброса счетчика задержки, к первому выходу генератора сигналов управления синхронизацией, а также к счетному входу триггера, прямой выход которого подключен к счетному входу счетчика групп, второй и третий входы генератора сигналов управления синхронизацией подключены соответственно к информационному входу и входу синхронизации регистра задержки, выход которого подключен ко второму входу компаратора задержки, также второй вход генератора сигналов управления синхронизацией подключен к информационному входу регистра групп, вход синхронизации которого является четвертым входом генератора сигналов управления синхронизацией, выход регистра групп подключен к первому входу компаратора групп, выход которого подключен ко входу сброса счетчика групп, выход которого подключен к второму входу компаратора групп, а также является вторым выходом генератора сигналов управления синхронизацией, каждый блок модулей управления синхронизацией содержит модули управления синхронизацией с первого по m-й, причем разряды с первого m-й первого, четвертого, пятого, шестого, девятого входов блока модулей управления синхронизацией соединены с первым, четвертым, пятым, шестым, девятым входами модулей управления синхронизацией с первого по m-й соответственно, второй, третий, седьмой, восьмой входы блока модулей управления синхронизацией соединены соответственно с вторым, третьим, седьмым, восьмым входами модулей управления синхронизацией с первого по m-й, первый, второй, третий выходы модулей управления синхронизацией с первого по m-й соединены с разрядами с первого по m-й первого, второго, третьего выходов блока модулей управления синхронизацией соответственно, каждый модуль управления синхронизацией содержит с первого по третий элементы И, с первого по третий элементы НЕ, с первого по третий элементы ИЛИ, элемент запрета, коммутатор сигнала запуска, триггер признака завершения группы параллельных участков, причем первый вход модуля управления синхронизацией подключен к первому входу первого элемента И, выход которого подключен к прямому входу элемента запрета, выход которого подключен к первому входу первого элемента ИЛИ, выход которого соединен с первым входом второго элемента И, выход которого является первым выходом модуля управления синхронизацией, второй вход модуля управления синхронизацией подключен к второму входу первого элемента И и ко входу первого элемента НЕ, выход которого подключен к первому входу второго элемента ИЛИ, выход которого подключен к первому входу коммутатора сигнала запуска, выход которого является вторым выходом модуля управления синхронизацией, а также подключен к первому входу третьего элемента И, выход которого является третьим выходом модуля управления синхронизацией, третий вход модуля управления синхронизацией подключен ко второму входу первого элемента ИЛИ и к инверсному входу элемента запрета, четвертый и пятый входы модуля управления синхронизацией подключены соответственно к первому и второму входам третьего элемента ИЛИ, выход которого подключен ко второму входу второго элемента И, шестой вход модуля управления синхронизацией подключен ко второму входу второго элемента ИЛИ, седьмой вход модуля управления синхронизацией подключен к третьему входу коммутатора сигнала запуска, а также через второй элемент НЕ ко второму входу коммутатора сигнала запуска, восьмой вход модуля управления синхронизацией подключен ко входу синхронизации триггера признака завершения группы параллельных участков, инверсный выход которого подключен к четвертому входу коммутатора сигнала запуска, информационный вход триггера признака завершения группы параллельных участков через третий элемент НЕ подключен к выходу первого элемента И, второй вход третьего элемента И является девятым входом модуля управления синхронизацией.
Сущность изобретения поясняется чертежами, где на фиг.1 представлена функциональная схема модуля микроконтроллерной сети, на фиг.2 изображена функциональная схема блока модулей управления синхронизацией, на фиг.3 изображена функциональная схема модуля управления синхронизацией, на фиг.4 изображена функциональная схема генератора сигналов управления синхронизацией, на фиг.5 изображена функциональная схема блока синхронизации, на фиг.6 дана структурная схема микроконтроллерной сети, на фиг.7 приведены форматы (микро)команд, реализуемые модулем микроконтроллерной сети, на фиг.8 представлен иллюстративный пример, поясняющий принципы реализации параллельных алгоритмов (программ) в микроконтроллерной сети.
Модуль микроконтроллерной сети (фиг.1) включает блок 1 памяти программ, регистр 2 адреса, регистр 3 команд, мультиплексор 4 логических условий, коммутатор 6 адреса, блок 10 синхронизации, первый 14, второй 12, третий 13 элементы ИЛИ, регистр 5 вектора соответствия, буферный регистр 7, первый 8 и второй 9 дешифраторы номера вершины синхронизации, блок элементов ИЛИ 11, первый 16 и второй 15 одновибраторы, элемент 17 задержки, группу блоков 18.1-18-р модулей управления синхронизацией, мультиплексор 32 каналов синхронизации, регистр 33 конфигурации, первый 34 и второй 36 мультиплексоры, дешифратор 35 каналов синхронизации, генератор 37 сигналов управления синхронизацией, первую 73.1-73.m и вторую 74.1-74.m группы элементов И, причем вход 53 кода операции модуля соединен с первым информационным входом коммутатора 6 адреса, выход которого подключен к информационному входу регистра 2 адреса, выход которого подключен к адресному входу блока 1 памяти программ, выход которого соединен с информационным входом регистра 3 команд, выход 3.8 метки конца программы которого соединен с управляющими входами коммутатора 6 адреса, выходы 3.1 кода логического условия и 3.2 модифицируемого разряда адреса регистра 3 команд подключены к адресному и первому информационному входам мультиплексора 4 логических условий соответственно, второй информационный вход которого соединен со входом 52 логических условий модуля, первый вход блока 10 синхронизации соединен со входом 55 пуска модуля, выход 3.3 немодифицируемой части адреса регистра 3 команд в объединении с выходом мультиплексора 4 логических условий подключены к первому входу блока элементов ИЛИ 11 и к информационному входу буферного регистра 7, выход которого соединен со вторым входом блока элементов ИЛИ 11, выход которого соединен со вторым информационным входом коммутатора 6 адреса, выход 3.4 микроопераций регистра 3 команд подключен к выходу 72 микроопераций модуля, вход 68 вектора соответствия модуля соединен с информационным входом регистра 5 вектора соответствия, первый выход 3.5 номера вершины синхронизации регистра 3 команд соединен со входом дешифратора 8 номера вершины синхронизации, второй выход 3.6 номера вершины синхронизации регистра 3 команд соединен со входом дешифратора 9 номера вершины синхронизации, выход элемента ИЛИ 14 соединен со входом синхронизации буферного регистра 7 и со входом одновибратора 16, выход которого подключен ко входу сброса регистра 3 команд и ко второму входу блока 10 синхронизации, первый выход которого соединен с первым входом элемента ИЛИ 12, выход которого подключен ко входу синхронизации регистра 2 адреса, выход 3.7 метки конца участка регистра 3 команд соединен со входом одновибратора 15, выход которого соединен с третьим входом блока 10 синхронизации, второй выход которого подключен ко входу сброса буферного регистра 7 и к первому входу элемента ИЛИ 13, вход 54 настройки модуля соединен со вторым входом элемента ИЛИ 12, со входом синхронизации регистра 5 вектора соответствия, а также со входом элемента 17 задержки, выход которого подключен ко второму входу элемента ИЛИ 13, выход которого подключен ко входу синхронизации регистра 3 команд, входы 56.1-56.m первой группы 56 входов модуля соединены с первыми входами элементов И 73.1-73.m соответственно, входы 57.1-57.m второй группы 57 входов модуля соединены со вторыми входами элементов И 73.1-73.m соответственно, выходы которых соединены с первыми входами блоков 18.1-18.р модулей управления синхронизацией, вторые входы которых соединены с выходами дешифратора 35 каналов синхронизации с первого по р-й соответственно, третьи входы блоков 18.1-18.р модулей управления синхронизацией соединены с первым выходом регистра 33 конфигурации и с адресным входом мультиплексора 34, четвертые входы блоков 18.1-18.р модулей управления синхронизацией соединены с групповыми выходами дешифратора 8 номера вершины синхронизации с первого по р-й соответственно, пятые входы блоков 18.1-18.р модулей управления синхронизацией соединены с групповыми выходами регистра 5 вектора соответствия с первого по р-й соответственно, входы 58.1-58.m третьей группы 58 входов модуля соединены с первыми входами элементов И 74.1-74.m соответственно, входы 59.1-59.m четвертой группы 59 входов модуля соединены со вторыми входами элементов И 74.1-74.m соответственно, выходы которых соединены с шестыми входами блоков 18.1-18.р модулей управления синхронизацией, первый 60 и второй 61 входы модуля соединены с информационным входом и входом синхронизации регистра 33 конфигурации соответственно, второй выход которого соединен с седьмыми входами блоков 18.1-18.р модулей управления синхронизацией, третий выход регистра 33 конфигурации соединен с адресным входом мультиплексора 36, выход которого соединен с первым входом мультиплексора 34, старшие разряды выхода которого соединены со входом дешифратора 35 каналов синхронизации и с адресным входом мультиплексора 32 каналов синхронизации, младший разряд выхода мультиплексора 34 соединен с восьмыми входами блоков 18.1-18.р модулей управления синхронизации, а также в объединении со старшими разрядами выхода мультиплексора 34 соединен с выходом 71 модуля, младшие разряды выхода мультиплексора 32 каналов синхронизации с первого по m-й являются выходами 69.1-69.m первой группы выходов 69 модуля соответственно, а старшие разряды с первого по m-й являются выходами 70.1-70.m второй группы выходов 70 модуля соответственно, групповые выходы дешифратора 9 номера вершины синхронизации с первого по р-й соединены с девятыми входами блоков 18.1-18.р модулей управления синхронизацией соответственно, первый и второй выходы которых соединены со входами мультиплексора 32 каналов синхронизации с первого по р-й соответственно, третьи выходы блоков 18.1-18.р модулей управления синхронизацией соединены с групповыми входами элемента ИЛИ 14 с первого по р-й соответственно, третий 62 и четвертый 63 входы модуля соединены соответственно с первым и вторым входами мультиплексора 36, входы 64, 65, 66, 67 модуля соединены с входами генератора 37 сигналов управления синхронизацией с первого по четвертый соответственно, выходы которого соединены со вторым входом мультиплексора 34.
Блок модулей управления синхронизацией (фиг.2) содержит модули 19.1-19.m управления синхронизацией, причем разряды с первого m-й первого, четвертого, пятого, шестого, девятого входов блока модулей управления синхронизацией соединены с первым, четвертым, пятым, шестым, девятым входами модулей 19.1-19.m управления синхронизацией соответственно, второй, третий, седьмой, восьмой входы блока модулей управления синхронизацией соединены соответственно с вторым, третьим, седьмым, восьмым входами модулей 19.1-19.m управления синхронизацией, первый, второй, третий выходы модулей 19.1-19.m управления синхронизацией соединены с разрядами с первого по m-й первого, второго, третьего выходов блока модулей управления синхронизацией соответственно.
Модуль управления синхронизацией (фиг.3) содержит первый 22, второй 21, третий 31 элементы И, первый 25, второй 28, третий 29 элементы НЕ, первый 20, второй 26, третий 24 элементы ИЛИ, элемент 23 запрета, коммутатор 27 сигнала запуска, триггер 30 признака завершения группы параллельных участков, причем первый вход модуля управления синхронизацией подключен к первому входу элемента И 22, выход которого подключен к прямому входу элемента 23 запрета, выход которого подключен к первому входу элемента ИЛИ 20, выход которого соединен с первым входом элемента И 21, выход которого является первым выходом модуля управления синхронизацией, второй вход модуля управления синхронизацией подключен к второму входу элемента И 22 и ко входу элемента НЕ 25, выход которого подключен к первому входу элемента ИЛИ 26, выход которого подключен к первому входу коммутатора 27 сигнала запуска, выход которого является вторым выходом модуля управления синхронизацией, а также подключен к первому входу элемента И 31, выход которого является третьим выходом модуля управления синхронизацией, третий вход модуля управления синхронизацией подключен ко второму входу элемента ИЛИ 20 и к инверсному входу элемента 23 запрета, четвертый и пятый входы модуля управления синхронизацией подключены соответственно к первому и второму входам элемента ИЛИ 24, выход которого подключен ко второму входу элемента И 21, шестой вход модуля управления синхронизацией подключен ко второму входу элемента ИЛИ 26, седьмой вход модуля управления синхронизацией соединен с третьим входом коммутатора 27 сигнала запуска, а также через элемент НЕ 28 подключен ко второму входу коммутатора 27 сигнала запуска, восьмой вход модуля управления синхронизацией подключен ко входу синхронизации триггера 30 признака завершения группы параллельных участков, инверсный выход которого подключен к четвертому входу коммутатора 27 сигнала запуска, информационный вход триггера 30 признака завершения группы параллельных участков через элемент НЕ 29 подключен к выходу элемента И 22, второй вход элемента И 31 является девятым входом модуля управления синхронизацией.
Генератор сигналов управления синхронизацией (фиг.4) включает генератор 38 импульсов, счетчик 39 задержки, компаратор 40 задержки, триггер 41, счетчик 42 групп, регистр 43 задержки, регистр 44 групп, компаратор 45 групп, причем первый вход генератора сигналов управления синхронизацией является входом запуска генератора 38 импульсов, выход которого подключен к счетному входу счетчика 39 задержки, выход которого подключен к первому входу компаратора 40 задержки, выход которого подключен к входу сброса счетчика 39 задержки, к первому выходу генератора сигналов управления синхронизацией, а также к счетному входу триггера 41, прямой выход которого подключен к счетному входу счетчика 42 групп, второй и третий входы генератора сигналов управления синхронизацией подключены соответственно к информационному входу и входу синхронизации регистра 43 задержки, выход которого подключен ко второму входу компаратора 40 задержки, также второй вход генератора сигналов управления синхронизацией подключен к информационному входу регистра 44 групп, вход синхронизации которого является четвертым входом генератора сигналов управления синхронизацией, выход регистра 44 групп подключен к первому входу компаратора 45 групп, выход которого подключен ко входу сброса счетчика 42 групп, выход которого подключен к второму входу компаратора 45 групп, а также является вторым выходом генератора сигналов управления синхронизацией.
Структура блока 10 синхронизации (фиг.5) не отличается от прототипа.
Общие особенности функциональной организации предлагаемой микроконтроллерной сети состоят в следующем.
Микроконтроллерная сеть (МКС) формируется из множества однотипных модулей, объединенных в матричную структуру (фиг.6). Каждый модуль МКС (микроконтроллер) выполняется в виде СБИС с внутренней перепрограммируемой памятью программ и имеет множество входных и выходных информационных каналов, предназначенных для подключения к другим аналогичным модулям и обмена управляющей информацией. Модули сети идентифицируются условными номерами вида i.j, где i и j имеют смысл соответственно номера строки и номера столбца матричной структуры, содержащих данный модуль, "." - символ конкатенации. (В дальнейшем модуль с номером i.j именуется так же, как (i.j)-й модуль или модуль mi.j.)
МКС служит для управления сложными объектами, поведение которых описывается комплексом программ и предполагает параллельное протекание и взаимодействие множества процессов. Комплекс программ, реализуемый сетью, разбивается на множество параллельных и последовательных участков, которые распределяются между различными модулями. Каждый модуль реализует некоторое подмножество участков.
В процессе выполнения участков программ модули МКС обрабатывают команды двух типов: операционные и коммуникационные. Операционные команды (эти команды имеют формат Ф2 (фиг.7)) обеспечивают выдачу управляющих воздействий на объект управления и инициируют исполнение требуемых микроопераций. Коммуникационные команды (формат Ф3 (фиг.7)) служат для организации взаимодействия и координации различных модулей, включая запуск участков, закрепленных за другими модулями (межмодульную передачу управления), и синхронизацию параллельных участков программ.
Организация межмодульного взаимодействия в предлагаемой МКС несколько отличается от прототипа. Так же как и в прототипе, в рассматриваемой МКС межмодульная передача управления в явном виде отсутствует, явно выполняется только процедура синхронизации. При этом запуск участков программ, реализуемых различными модулями, происходит при выполнении соответствующих условий синхронизации. Таким условием при запуске участков, непосредственно следующих за подмножеством других (параллельных) участков, является синхронизация (завершение) всех участков данного подмножества. При запуске участков, следующих за единственным участком, в качестве условия выступает завершение этого единственного участка.
Для задания момента активизации некоторого участка (е) (где е - порядковый номер данного участка для (i.j)-го модуля, k - номер программы) этому участку ставится в соответствие номер непосредственно предшествующей ему вершины синхронизации аt (если активизируемому участку непосредственно предшествует единственный участок программы, то вершина at считается фиктивной). Запуск участка (е) происходит после выполнения вершины at, т.е. как только завершаются все непосредственно предшествующие ему участки программы.
В предлагаемой сети адреса приема управления формируются непосредственно модулями, реализующими запускаемые участки (модулями - приемниками управления), в результате самонастройки. Адрес (е+1) начала следующего ((е+1)-го) участка, выполняемого (i.j)-м модулем, указывается в заключительной команде предшествующего (е-го) участка программы. Для задания адресов начальных участков модулей {(1)} используются команды настройки формата Ф1 (фиг.7). За каждым модулем сети закрепляется Q таких команд, Q - число программ, реализуемых микроконтроллерной сетью (число программ в реализуемом комплексе). Каждая из Q команд настройки определяет адрес (1) первой команды, выполняемой (i.j)-м модулем при реализации k-й программы, т.е. адрес начального участка (i.j)-го модуля. (Если (i.j)-й модуль не участвует в процессе выполнения k-й программы, то команда Ф1 содержит только нули.) Команды настройки Ф1 размещаются в блоке 1 памяти программ (фиг.1) по начальным адресам от 1 до Q включительно. Команда настройки, а следовательно, и реализуемая программа однозначно задается адресом при обращении к блоку 1.
Процесс синхронизации параллельных участков в предлагаемой МКС осуществляется на основе распространения и опроса отдельных сигналов завершения групп параллельных участков. Каждый такой сигнал распространяется в отдельном канале синхронизации, который соответствует одной из вершин синхронизации параллельных участков. Канал синхронизации представляет собой совокупность элементов различных модулей МКС и соответствующих связей, обеспечивающих протекание процесса синхронизации определенной группы параллельных участков.
В отличие от прототипа, в котором распространение сигнала синхронизации в различных каналах происходит параллельно, в рассматриваемой МКС каналы разбиты на группы. В один момент времени может работать только одна группа каналов, внутри которой сигналы синхронизации различных вершин распространяются независимо и параллельно. Смена групп происходит последовательно, циклически, за счет чего уменьшается количество связей между модулями МКС.
Для обеспечения синхронизации произвольных групп параллельных участков за каждым модулем МКС закрепляется вектор, задающий соответствие между множеством вершин синхронизации программы и данным модулем. (i.j)-му модулю сети, , в общем случае соответствует Q различных векторов, каждый из которых отвечает определенной программе. Вектор соответствия для (i.j)-го модуля и k-й программы имеет вид
,
где ,
nk - число вершин синхронизации в k-й программе.
Значение компоненты вектора Si.j(k) определяется следующим образом:
, если за (i.j)-м модулем закреплен некоторый участок программы, завершающийся в q-й вершине синхронизации;
, если (i.j)-й модуль не реализует ни одного участка, завершающегося в q-й вершине синхронизации, или q-я вершина синхронизации отсутствует в k-й программе (что возможно при nk<q).
Синхронизация группы параллельных участков , завершающихся в q-й вершине синхронизации, осуществляется на основе распространения сигнала dq завершения группы участков в q-м канале синхронизации МКС. Сигнал dq формируется (1.n)-м модулем сети (фиг.6). В исходном состоянии dq=0 (параллельные участки не завершены) и, следовательно, .
Процесс синхронизации включает две фазы - формирование признака окончания синхронизируемых участков и передачу этого признака всем модулям МКС.
Первая из указанных фаз начинается с формирования номера группы каналов uq, в которой находится q-й канал, генератором 37 сигналов управления синхронизацией (ГСУС), расположенным в (1.N)-м модуле, и распространения этого номера от него вниз и влево через МКС до модуля с номером M.1. Таким образом, происходит включение группы каналов синхронизации uq. После этого единичный сигнал распространяется от (1.N)-го модуля вниз и влево через все модули МКС ко всем крайним левым и крайним нижним модулям вплоть до (M.1)-го модуля.
Распространение сигнала через некоторый модуль mi.j происходит следующим образом. Если , то появление единичных сигналов на верхнем и правом входах (i.j)-го модуля обусловливает формирование единичного сигнала на его выходе. Если , то формирование единичного сигнала на выходе (i.j)-го модуля происходит только при условии завершения участка , реализуемого (i.j)-м модулем.
Состояние участка определяется значением сигнала - признака , если участок завершен; в противном случае. В случае если участок не завершен, на выходе (i.j)-го модуля устанавливается нулевой сигнал. Данный сигнал формирует нулевые сигналы на выходах всех модулей, расположенных не ниже и не правее (i.j)-го модуля. На входе (М.1)-го модуля соответственно также будет нулевой сигнал . Как только происходит завершение участка , единичный сигнал передается на выход (i.j)-го модуля и поступает в (i+1.j)-й и (i.j-1)-й модули.
После завершения всех параллельных участков группы Bq единичный сигнал пройдет на входы (M.1)-го модуля и зафиксируется в триггере 30 q-го модуля управления синхронизацией (фиг.3), а на выходе (М.1)-го модуля (фиг.6), таким образом, будет сформирован сигнал dq=1, сообщающий об окончании синхронизируемых параллельных участков. На этом первая фаза синхронизации завершается.
Вторая фаза синхронизации начинается с появления на выходе (M.1)-го модуля нулевого сигнала , который распространяется от (M.1)-го модуля вверх и вправо через все модули МКС ко всем крайним правым и крайним верхним модулям до модуля с номером 1.N. В процессе распространения сигнала происходит запуск всех модулей, ожидающих завершение параллельных участков группы Bq. Вторая фаза и процесс синхронизации параллельных участков в целом завершаются после появления нулевого сигнала на выходе (1.N)-го модуля и переключения на следующую группу каналов синхронизации.
Принципы организации межмодульной передачи управления и синхронизации параллельных участков в предлагаемой МКС поясняются примером реализации параллельного алгоритма управления, представленного на фиг.8а. Алгоритм включает 20 параллельных и последовательных участков (е), прин