Модуль коммутационной сети

Реферат

 

Изобретение относится к области вычислительной техники и может быть использовано для построения коммутационных средств мультипроцессорных вычислительных и управляющих систем. Техническим результатом является расширение области применения модуля путем оптимизации аппаратной сложности блока организации очереди сообщений. В каждый блок организации очереди сообщений модуля коммутационной сети, содержащего регистр идентификатора модуля, блок анализа очередей сообщений, мультиплексор, регистр, демультиплексор, триггер, блок синхронизации, первый и второй элементы сравнения, первый и второй дешифраторы, элемент И и с первого по третий блоки организации очереди сообщений, каждый из которых включает в себя k регистров (где k - максимальная длина очереди сообщений), k-l блоков элементов ИЛИ, группу из k элементов И, группу из k элементов ИЛИ, элемент И, элемент ИЛИ, элемент задержки, введены блок элементов И, группа из k элементов ИЛИ-НЕ, элемент И-НЕ. 5 ил.

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

Известно устройство для формирования маршрута сообщения в однородной вычислительной системе, содержащее девять буферных запоминающих блоков, блок памяти констант, блок считывания информации, регистр, демультиплексор, первый блок сравнения, второй блок сравнения, блок элементов И, блок элементов ИЛИ, элемент ИЛИ, блок синхронизации, элемент И (а.с. 1462344 СССР, G 06 F 15/16; опубл. 28.02.89, БИ N 8).

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

Наиболее близким к предлагаемому модулю по технической сущности является модуль матричного коммутатора, содержащий три блока организации очередей сообщений, регистр идентификатора модуля, блок анализа очереди сообщений, мультиплексор, регистр, демультиплексор, триггер, блок синхронизации, первый и второй элементы сравнения, первый и второй дешифраторы, элемент И (а.с. 1575167 СССР, G 06 F 7/00, 15/16; опубл. 30.06.90; БИ N 24).

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

Технической задачей, на решение которой направлено заявляемое изобретение, является расширение области применения модуля путем минимизации аппаратной сложности блока организации очереди сообщений.

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

Сущность изобретения поясняется чертежами, где на фиг. 1 представлена функциональная схема модуля коммутационной сети; на фиг. 2 изображена функциональная схема блока организации очереди сообщений; на фиг. 3 дана функциональная схема блока анализа очередей сообщений; на фиг. 4 показана структура коммутационной сети из девяти модулей; на фиг. 5 изображен формат сообщения (содержимое регистра 5).

Общие особенности предлагаемого изобретения состоят в следующем.

Предлагаемый модуль совместно с другими аналогичными модулями образует коммутационную сеть (структуру) обмена сообщениями. Сеть представляет собой однородную матрицу, каждый модуль которой соединен с двумя соседними модулями по входу и с двумя соседними модулями по выходу. Каждому модулю сети присваивается идентификатор (адрес), состоящий из двух кодов, определяющих местоположение модуля в матрице. Первый код соответствует номеру строки, второй код - номеру столбца (фиг. 4). Аналогичные коды включаются в адресную часть сообщения для идентификации приемников сообщений (фиг. 5).

Передача информации между любыми модулями сети осуществляется по минимальному физическому пути через другие модули (транзитным способом). Поступающие в модуль сообщения заносятся в блоки организации очереди сообщений (фиг. 1). Выбор регистра для записи сообщения в блоке организации очереди сообщений осуществляется на основе признаков разрешения записи по формуле: где Ai, i = - признак разрешения записи в i-й регистр блока организации очереди сообщений; Вi, i = - двоичное представление (код) сообщения, хранящееся в i-м регистре; - значение, -го разряда кода Bi; 1; m - разрядность кода сообщения; - символ операции ИЛИ-НЕ.

В прототипе для выбора регистра используется многоразрядный демультиплексор, число выходов которого равно максимальной длине очереди сообщений k (разрядность каждого такого выхода m). Использование демультиплексора повышает аппаратную сложность блоков организации очереди сообщений (и модуля в целом) и при этом резко ограничивает значение k, что способствует росту вероятности переполнения блоков организации очереди сообщений.

Выбор сообщения для обработки (выбор блока организации очереди сообщений) осуществляется аналогично прототипу на основе анализа соотношения длин очередей сообщений в блоках организации очереди сообщений.

Модуль коммутационной сети (фиг. 1) содержит блоки 1.1-1.3 организации очереди сообщений, регистр 2 идентификатора модуля, блок 3 анализа очередей сообщений, мультиплексор 4, регистр 5, демультиплексор 6, триггер 7, блок 8 синхронизации, первый элемент 9 сравнения и второй элемент 10 сравнения, первый дешифратор 11, второй дешифратор 12 и элемент И 13, причем первый управляющий выход блока 3 анализа очередей сообщений соединен со входом дешифратора 11 и управляющим входом мультиплексора 4, выход которого соединен с информационным входом регистра 5, первая группа выходов которого соединена с первым входом элемента 9 сравнения, вторая группа выходов регистра 5 соединена с первым входом элемента 10 сравнения, первая, вторая и третья группы выходов регистра 5 соединены с информационным входом демультиплексора 6, выходы которого с первого по третий являются выходами 17-19 модуля соответственно, второй управляющий выход блока 3 анализа очередей сообщений соединен с входом установки триггера 7 и первым входом элемента И 13, выход которого подключен к входу сброса триггера 7, прямой выход которого подключен ко входу запуска блока 8 синхронизации, первый выход которого подключен к входу синхронизации регистра 5 и входу синхронизации регистра 2 идентификатора модуля, первая группа выходов которого соединена со вторым входом элемента 9 сравнения, выход которого соединен с первым входом дешифратора 12, вторая группа выходов регистра 2 идентификатора модуля соединена со вторым входом элемента 10 сравнения, выход которого подключен ко второму входу дешифратора 12, выход которого подсоединен к управляющему входу демультиплексора 6, третий выход блока 8 синхронизации соединен со вторым входом элемента И 13 и с информационным входом демультиплексора 6, входы 14-16 модуля соединены с информационными входами блоков 1.1-1.3 организации очереди сообщений соответственно, информационные выходы блоков 1.1-1.3 организации очереди сообщений подключены к входам мультиплексора 4 с первого по третий соответственно, управляющие выходы блоков 1.1- 1.3 организации очереди сообщений подключены ко входам блока 3 анализа очередей сообщений с первого по третий соответственно, второй выход блока 8 синхронизации подсоединен к входам синхронизации блоков 1.1-1.3 организации очереди сообщений, выходы дешифратора 11 с первого по третий подключены ко входам опроса блоков 1.1-1.3 организации очереди сообщений соответственно.

Блок 1. s организации очереди сообщений (s=1,2,3) (фиг. 2) содержит регистры 20.1-20.k, блоки элементов ИЛИ 21.1-21.k-1, элементы И 23.1-23.k, элементы ИЛИ 25.1-25. k, регистр 26 длины очереди, элемент И 27, элемент ИЛИ 29, элемент 30 задержки, причем первый разряд информационного входа блока подключен к первым входам элементов И 23.1-23.k и первому входу элемента ИЛИ 29, выход которого подсоединен к входу элемента 30 задержки, выход которого подключен к входу синхронизации регистра 26, выход которого подсоединен к управляющему выходу блока, выходы блоков элементов ИЛИ 21.1-21.k-1 подключены к информационным входам регистров 20.1- 20. k-1, выходы регистров 20.2-20. k соединены с вторыми входами блоков элементов ИЛИ 21.1-21.k-1 соответственно, выход регистра 20.1 соединен с информационным выходом блока, выходы элементов И 23.1-23.k соединены с первыми входами элементов ИЛИ 25.1- 25. k соответственно, выходы которых подключены к входам синхронизации регистров 20.1-20.k соответственно, вход синхронизации и вход опроса блока подключены соответственно к первому и второму входам элемента И 27, выход которого подключен к вторым входам элементов ИЛИ 25.1-25.k и второму входу элемента ИЛИ 29, а также дополнительно введенные блок элементов И 22, элементы ИЛИ-НЕ 24.1-24.k, элемент И-НЕ 28, причем с второго по (m+1)-й разряды информационного входа блока подключены к первому входу блока элементов И 22, выход которого подключен к информационному входу регистра 20.k и к первым входам блоков элементов ИЛИ 21.1- 21.k-1, выход элемента И 27 соединен с вторым входом блока элементов И 22, выходы регистров 20.1-20.k соединены с входами элементов ИЛИ-НЕ 24.1-24.k соответственно, выходы которых подсоединены к вторым входам элементов И 23.1-23.k соответственно, входу элемента И-НЕ 28 и информационному входу регистра 26, выходы элементов ИЛИ-НЕ 24.1-24. k-1 соединены с третьими входами элементов И 23.2-23.k соответственно, выход элемента И-НЕ 28 подключен к управляющему выходу блока.

Блок 3 анализа очередей сообщений (фиг. 3) содержит с первого по третий элементы 31-33 сравнения, узел 34 постоянной памяти, элемент ИЛИ 35, причем первые разряды с первого по третий входов блока подключены соответственно к первому, второму и третьему входам элемента ИЛИ 35, разряды с второго по (k+1)-й первого входа блока подключены к первому входу элемента 31 сравнения и к второму входу элемента 33 сравнения, разряды с второго по (k+1)-й второго входа блока подключены к первому входу элемента 32 сравнения и к второму входу элемента 31 сравнения, разряды с второго по (k+1)-й третьего входа блока подключены к первому входу элемента 33 сравнения и к второму входу элемента 32 сравнения, первые, вторые, третьи выходы элементов 31-33 сравнения подсоединены к соответствующим входам узла 34 постоянной памяти, выход которого подключен к первому управляющему выходу блока, второй управляющий выход блока подсоединен к выходу элемента ИЛИ 35.

Назначение элементов модуля коммутационной сети (фиг. 1) состоит в следующем.

Блоки 1.1-1.3 организации очереди сообщений предназначены для организации очередей сообщений, поступающих от двух соседних модулей и собственного операционного устройства.

Регистр 2 идентификатора модуля предназначен для хранения адреса (идентификатора), определяющего местонахождение модуля в пределах коммутационной сети.

Блок 3 анализа очередей сообщений предназначен для анализа соотношения текущих длин очередей сообщений в блоках 1.1-1.3 организации очереди сообщений и организации опроса указанных блоков в зависимости от длины очереди поступивших сообщений, а также для формирования сигнала управления триггером 7.

Мультиплексор 4 предназначен для коммутации информационных выходов блоков 1.1-1.3 организации очереди сообщений с регистром 5 в зависимости от кода, поступающего из блока 3 анализа очередей сообщений.

Регистр 5 предназначен для хранения адресной и информационной части сообщения во время выбора направления его дальнейшей передачи.

Демультиплексор 6 предназначен для коммутации сообщения собственному операционному устройству или соседним модулям в одном из двух направлений.

Триггер 7 предназначен для формирования сигнала запуска блока 8 синхронизации.

Блок 8 синхронизации предназначен для формирования трех сдвинутых друг относительно друга последовательностей импульсов t1, t2, t3 для синхронизации работы модуля.

Первый 9 и второй 10 элементы сравнения предназначены для сравнения адресной части поступившего на обслуживание сообщения с адресом данного модуля.

Первый дешифратор 11 предназначен для преобразования кода опроса, выдаваемого блоком 3 анализа очередей сообщений, в соответствующий унитарный код.

Второй дешифратор 12 предназначен для формирования кода, определяющего направление выдачи сообщения.

Элемент И 13 предназначен для формирования управляющего сигнала, сбрасывающего триггер 7 в нулевое состояние, при отсутствии сообщений в блоках 1.1-1.3 организации очереди сообщений.

Входы 14, 15, 16 модуля предназначены для приема сообщений от собственного операционного устройства и двух соседних модулей коммутационной сети соответственно.

Выходы 17, 18, 19 модуля предназначены для передачи сообщений собственному операционному устройству и двум соседним модулям коммутационной сети соответственно.

Назначение элементов блока 1.s организации очереди сообщений (s=1,2,3) (фиг. 2) состоит в следующем.

Регистры 20.1-20. k предназначены для хранения очереди поступающих на обслуживание сообщений.

Блоки элементов ИЛИ 21.1-21.k-1 предназначены для подключения информационных входов регистров 20.1-20.k-1 к выходу блока элементов И 22 и к выходам регистров 20.2-20. k соответственно при приеме сообщения или сдвиге очереди сообщений.

Блок элементов И 22 предназначен для блокировки прохождения информации на информационные входы регистров 20.1-20.k в процессе сдвига очереди сообщений.

Элементы И 23.1-23.k предназначены для формирования признаков разрешения записи A1-Ak соответственно и запрещения передачи импульса записи с информационного входа блока организации очереди сообщений на первые входы элементов ИЛИ 25.1-25.k.

Элементы ИЛИ-НЕ 24.1 - 24. k предназначены для формирования значений F(В1)-F(Вk) соответственно, образующих код текущей длины очереди сообщений.

Элементы ИЛИ 25.1-25.k предназначены для передачи импульсов на входы синхронизации регистров 20.1-20. k при поступлении нового сообщения и в ходе сдвига очереди сообщений.

Регистр 26 длины очереди предназначен для хранения кода текущей длины очереди сообщений.

Элемент И 27 предназначен для блокировки передачи импульса с входа синхронизации блока организации очереди сообщений на вторые входы элементов ИЛИ 25.1-25.k, на второй вход блока элементов И 22 и на второй вход элемента ИЛИ 29.

Элемент И-НЕ 28 предназначен для формирования сигнала наличия сообщений в блоке организации очереди сообщений.

Элемент ИЛИ 29 предназначен для формирования сигнала, управляющего записью информации в регистр 26.

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

Назначение элементов блока 3 анализа очередей сообщений (фиг. 3) не отличается от прототипа.

Рассмотрим работу предлагаемого модуля. Учитывая, что модуль предназначен для работы в составе однородной коммутационной сети, его функционирование будем рассматривать во взаимосвязи с другими аналогичными модулями. (Структура сети на базе предлагаемого модуля, содержащей девять идентичных модулей, представлена на фиг. 4.) В начальный момент времени в блоках 1.1-1.3 организации очереди сообщений (фиг. 1) сообщения отсутствуют, состояние регистров 20.1-20.k и 26 (фиг. 2) нулевое, на прямом выходе триггера 7 находится уровень логического нуля, блокирующий формирование импульсов блоком 8 синхронизации. В регистре 5 сообщение отсутствует. В регистре 2 идентификатора модуля хранится адрес i. j текущего модуля, где i и j - номера соответственно строки и столбца коммутационной сети (фиг. 4), содержащих модуль. Цепи начальной установки на фиг. 1-3 не показаны с целью упрощения.

Работа модуля начинается в момент поступления первого сообщения (формат сообщения изображен на фиг. 5). Данное сообщение подается на один из входов 14, 15, 16 модуля, через информационный вход заносится в соответствующий блок 1.s (s = 1, 2, 3) и поступает (фиг. 2) на первый вход блока элементов И 22. С выхода блока элементов И 22 сообщение поступает на информационный вход регистра 20. k и (через блоки элементов ИЛИ 21.1-21.k-1) на информационные входы регистров 20.1-20.k-1.

Одновременно с сообщением на соответствующий вход модуля подается импульс записи. Этот импульс через элемент ИЛИ 29 поступает на вход элемента 30 задержки, а также подается на первые входы элементов И 23.1-23.k. Так как в регистрах 20.1-20. k сообщения отсутствуют, то на выходах элементов ИЛИ-НЕ 24.1-24. k присутствуют сигналы логической единицы. Эти сигналы подаются на вторые входы элементов И 23.1-23.k соответственно. Помимо этого сигналы с выходов элементов ИЛИ-НЕ 24.1 -24.k-1 подаются на третьи входы элементов И 23.2-23. k соответственно. Таким образом, элемент И 23.1 оказывается открытым, а элементы И 23.2-23.k закрываются, что разрешает запись сообщения в регистр 20.1 и запрещает запись сообщения в регистры 20.2-20.k. Импульс записи проходит на выход элемента И 23.1 и через элемент ИЛИ 25.1 (задним фронтом) обеспечивает запись сообщения в регистр 20.1.

После записи сообщения на информационном выходе блока 1.s организации очереди сообщений появляется записанное сообщение, а на выходе элемента ИЛИ-НЕ 24.1 образуется сигнал логического нуля. Этот сигнал подается на второй вход элемента И 23.1, чем блокирует возможность записи следующих сообщений в регистр 20.1. Одновременно этот же сигнал передается на третий вход элемента И 23.2, чем разрешает запись очередного сообщения в регистр 20.2. Сигналы с выходов элементов ИЛИ-НЕ 24.1-24. k в виде кода длины очереди подаются на вход элемента И-НЕ 28 и информационный вход регистра 26. На выходе элемента И-НЕ 28 образуется единичный сигнал. По импульсу записи с выхода элемента 30 задержки происходит запись кода длины очереди сообщений в регистр 26. Далее код длины очереди сообщений с выхода регистра 26 и единичный сигнал с элемента И-НЕ 28 подаются через управляющий выход блока организации очереди сообщений (фиг. 1) на соответствующий вход блока 3 анализа очередей сообщений. В результате на втором управляющем выходе блока 3 появляется единичный сигнал, который устанавливает триггер 7 в единичное состояние и тем самым запускает генерацию импульсов блоком 8 синхронизации.

Следующее сообщение с информационного входа блока 1.s поступает (фиг. 2) на первый вход блока элементов И 22, проходит на его выход, откуда передается на информационный вход регистра 20. k и (через блоки элементов ИЛИ 21.1-21.k-1) на информационные входы регистров 20.1 - -20.k-1. Кроме сообщения в блок l.s одновременно подается импульс записи. Этот импульс подается на первые входы элементов И 23.1-23.k, а также через элемент ИЛИ 29 проходит на вход элемента 30 задержки.

Так как в регистрах 20.2-20. k сообщения отсутствуют, то на выходах элементов ИЛИ-НЕ 24.2-24.k присутствуют сигналы логической единицы. В регистре 20.1 хранится сообщение, поэтому на выходе элемента ИЛИ-НЕ 24.1 присутствует сигнал логического нуля. Сигналы с выходов элементов ИЛИ-НЕ 24.1 - 24.k поступают на вторые входы элементов И 23.1-23.k соответственно, в то же время сигналы с выходов элементов ИЛИ-НЕ 24.1-24.k-1 подаются на третьи входы элементов И 23.2-23.k соответственно. В результате происходит блокировка элемента И 23.1, а также элементов И 23.3-23.k, а элемент И 23.2 открывается, чем обеспечивается возможность записи сообщения в регистр 20.2.

Импульс записи проходит через элемент И 23.2, через элемент ИЛИ 25.2 поступает на вход синхронизации регистра 20.2 и обеспечивает запись сообщения в регистр 20.2. После этого на выходе элемента ИЛИ-НЕ 24.2 появляется сигнал логического нуля. Этот сигнал поступает на второй вход элемента И 23.2, чем блокирует возможность записи следующего сообщения в регистр 20.2. В то же время данный сигнал передается на третий вход элемента 23.3, чем разрешает запись следующего сообщения в регистр 20.3. Новый код длины очереди сообщений, образующийся на выходах элементов ИЛИ-НЕ 24.1-24.k, подается на вход элемента И-НЕ 28 и информационный вход регистра 26. По импульсу с выхода элемента 30 задержки происходит запись кода длины очереди сообщений в регистр 26. Код длины очереди сообщений с выхода регистра 26 и сигнал с элемента И-НЕ 28 подаются через управляющий выход блока организации очереди сообщений на соответствующий вход блока 3 анализа очередей сообщений.

Следующие поступающие сообщения записываются в блок организации очереди сообщений аналогичным образом.

Рассмотрим процесс считывания сообщений из блоков 1.1-1.3 и их выдачи следующему модулю.

Коды длин очередей сообщений с выходов регистров 26 блоков 1.1 -1.3 вместе с сигналами с выходов элементов И-НЕ 28 блоков 1.1-1.3 (фиг. 1, 2) поступают на входы блока 3 анализа очередей сообщений. Далее сигналы с выходов элементов И-НЕ 28 поступают на входы элемента ИЛИ 35 (фиг. 3), на выходе которого формируется сигнал логической единицы, который устанавливает триггер 7 (фиг. 1) в единичное состояние. В то же время коды длин очередей сообщений подаются на входы элементов 31-33 сравнения (фиг. 3). В результате попарного сравнения указанных кодов элементы 31-33 формируют соответствующие сигналы ("Больше", "Меньше", "Равно"). Эти сигналы поступают на входы узла 34 постоянной памяти и формируют на его выходе код опроса блока 1.s, содержащего наибольшую очередь сообщений. Этот код поступает далее на управляющий вход мультиплексора 4 (фиг. 1) и обеспечивает передачу сообщения из регистра 20.1 блока 1.s на информационный вход регистра 5.

Одновременно код опроса поступает на вход дешифратора 11 и формирует на его выходах унитарный код номера опрашиваемого блока 1.s. Сигналы с выходов дешифратора 11 поступают на входы опроса блоков 1.1-1.3.

Очередной импульс синхронизации t1 от блока 8 синхронизации подается на входы синхронизации регистров 2 и 5. В результате на выходах регистра 2 появляется адрес i.j текущего модуля, а в регистре 5 фиксируется считанное сообщение.

Передаваемое сообщение состоит из двух частей - адресной и информационной. При этом адресная часть определяет местоположение модуля-приемника сообщения в строке (а) и в столбце (b) коммутационной сети (фиг. 5).

После записи сообщения в регистр 5 его адресная часть (а.b) сопоставляется с адресом i.j текущего модуля на элементах 9, 10 сравнения. Сигналы с выходов указанных элементов поступают на входы дешифратора 12 и формируют на его выходе код направления выдачи сообщения. Данный код подается на управляющий вход демультиплексора 6 и коммутирует сообщение из регистра 5 на один из выходов 17, 18 или 19 модуля.

Очередной импульс t2 с блока 8 синхронизации поступает на входы синхронизации блоков 1.1-1.3 организации очереди сообщений. Далее импульс 2 проходит через элемент И 27 блока 1.s (фиг. 2), открытый единичным сигналом с соответствующего выхода дешифратора 11. В блоке 1.s импульс t2 подается на второй вход блока элементов И 22 и устанавливает на его выходе нулевой код. Таким образом на информационных входах регистров 20.1-20.k-1 оказывается информация из регистров 20.2-20.k соответственно, а на информационном входе регистра 20. k нулевой код. Одновременно импульс t2 через элементы ИЛИ 25.1-25. k подается на входы синхронизации регистров 20.1-20.k, в результате чего происходит сдвиг информации в блоке организации очереди сообщений. На выходах элементов ИЛИ-НЕ 24.1-24.k образуется новый код длины очереди сообщений. Этот код поступает на вход элемента И-НЕ 28 и на информационный вход регистра 26. По задержанному импульсу t2 с выхода элемента 30 задержки рассматриваемый код фиксируется в регистре 26. Далее сигнал с выхода элемента И-НЕ 28 и код с выхода регистра 26 передаются через управляющий выход блока организации очереди сообщений (фиг. 1, 3) в блок 3 анализа очередей сообщений. Если в блоках 1.1-1.3 после сдвига очереди сообщений по-прежнему присутствуют сообщения, то на выходе элемента ИЛИ 35 (и, следовательно, на втором управляющем входе блока 3) продолжает находиться уровень логической единицы, в противном случае элемент 35 формирует сигнал логического нуля.

По импульсу t3 с блока 8 синхронизации (фиг. 1), поступающему через демультиплексор 6 на выход 17, 18 или 19 модуля, на который выдано сообщение, осуществляется синхронизация приема сообщения следующим модулем или собственным операционным устройством. Импульс t3, кроме того, поступает на второй вход элемента И 13. Если сообщения в блоках 1.1-1.3 отсутствуют, то на втором выходе блока 3 анализа очередей сообщений находится нулевой сигнал. В результате импульс t3 проходит через элемент 13 на вход сброса триггера 7, сбрасывает его в нулевое состояние и тем самым останавливает генерацию импульсов блоком 8; работа модуля приостанавливается. Если же хотя бы в одном из блоков 1.1-1.3 находятся сообщения, то элемент 13 будет заблокирован единичным сигналом от блока 3, сброс триггера 7 не произойдет и работа модуля будет продолжена.

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

Формула изобретения

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

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4,