Модуль матричного коммутатора
Использование: в вычислительной технике, и в частности при построении средств коммутации мультипроцессорных вычислительных систем. Сущность изобретения: повышение устойчивости работы устройства. В каждый блок организации очередей сообщений модуля, содержащего с первого по третий блоки организации очередей сообщений, регистр идентификатора модуля, блок анализа очередей сообщений, мультиплексор, регистр, демультиплексор, триггер, блок синхронизации, первую и вторую схемы сравнения, первый и второй дешифраторы и элемент И, включающий регистры с первого по К-й, группу блоков элементов ИЛИ с первого по ( К-1)-й, демультиплексор, первую и вторую группы элементов И с первого по К -й, группу элементов ИЛИ с первого по К -й, регистр длины очереди, первый и второй элементы И, элемент НЕ и первый элемент ИЛИ, дополнительно введены одновибратор, триггеры запроса, блокировки и управления демультиплексором, третий элемент И и второй элемент ИЛИ. 1 з.п.ф-лы, 4 ил., 1 табл.
Изобретение относится к вычислительной технике и может быть использовано при построении средств коммутации мультипроцессорных систем, абонентских систем связи с децентрализованным управлением, коммутационных средств параллельного обмена информацией в измерительных системах.
Известна ячейка матричного коммутатора, содержащая с первой по шествую схемы сравнения, первый и второй шифраторы, регистр, с первого по четвертый элементы И, с первого по четвертый шинные формирователи (авт.св. СССР N 1783510, кл. G 06 F 7/00, опублик. 23.12.92). Недостатком данной ячейки являются ограниченные функциональные возможности. Наиболее близким к предлагаемому устройству по технической сущности является модуль матричного коммутатора, реализующий возможность полносвязного взаимодействия и содержащий с первого по третий блоки организации очередей сообщений, регистр идентификатора модуля, блок анализа очередей сообщений, мультиплексор, регистр, демультиплексор, триггер, блок синхронизации, первый и второй элементы сравнения, первый и второй дешифраторы, элемент И (авт.св. СССР N 1575167, кл. G 06 F 7/00, 15/16, опублик. 30.06.90. Недостатком этого устройства является неустойчивость функционирования в случае одновременного поступления сигналов записи сообщений и сдвига очереди, что возможно ввиду асинхронного протекания процессов в устройствах - приемниках сообщений и устройствах - источниках. Техническая задача изобретения - повышение устойчивости работы устройства. Техническая задача решается тем, что в модуль матричного коммутатора, содержащий с первого по третий блоки организации очередей сообщений (БООС), регистр идентификатора модуля, блок анализа очередей сообщений (БАОС), мультиплексор, регистр, демультиплексор, триггер, блок синхронизации, первую и вторую схемы сравнения, первый и второй дешифраторы и элемент И, причем n выходов (где n -разрядность передаваемых сообщений) первой группы БООС с первого по третий подключены к соответствующим группам информационных входов мультиплексора, выходы которого подключены к информационным входам регистра; k+1 выходов (где k - максимальная длина очередей сообщений) второй группы БООС с первого по третий соединены с соответствующими группами входов БАОС, информационные выходы которого подключены к адресным входам мультиплексора и к входам первого дешифратора, выходы которого с первого по третий подключены к входам опроса БООС с первого по третий соответственно; группы n+2 информационных входов БООС с первого по третий подключены соответственно к первой - третьей входным информационным шинам устройства; первая и вторая группы выходов регистра подключены к вторым группам входов первой и второй схем сравнения соответственно, первые группы входов которых соединены соответственно с первой и второй группами выходов регистра идентификатора модуля; выходы первой и второй схем сравнения подключены к входам второго дешифратора, выходы которого соединены с адресными входами демультиплексора, группа n+2 выходов которого с первой по третью подключены к первой - третьей выходным информационным шинам устройства соответственно; управляющий выход БАОС подключен к входу установки S триггера и к первому входу элемента И, выход которого соединен с входом сброса R триггера, прямой выход которого соединен с входом разрешения блока синхронизации, первый выход которого подключен к входу синхронизации регистра, а третий выход - к второму входу элемента И и к первому информационному входу демультиплексора, группа n информационных входов с третьего по (n+2)-й которого соединена с выходами регистра, дополнительно вводятся связь второго выхода блока синхронизации со вторым информационным входом демультиплексора и связь первого выхода блока синхронизации с входами сдвига БООС с первого по третий, а каждый БООС, содержащий группу регистров с первого по k-й, группу блока элементов ИЛИ с первого по (k-1)-й, демультиплексор, первую группу элементов И с первого по k-й, вторую группу элементов И с первого по k-й, группу элементов ИЛИ с первого по k-й, первый и второй элементы И, элемент НЕ, регистр длины очереди и первый элемент ИЛИ, дополнительно включает одновибратор, триггеры запроса, блокировки и управления демультиплексором, третий элемент И и второй элемент ИЛИ, причем выход одновибратора подключен к вторым входам элементов ИЛИ соответствующей группы с первого по k-й, к первому входу первого элемента ИЛИ и к второму входу второго элемента ИЛИ, выход которого соединен со счетным входом триггера запроса, прямой выход которого подключен к первому входу третьего элемента И, выход которого подключен к входу третьего элемента И, выход которого подключен к входу одновибратора; первый вход второго элемента ИЛИ соединен с выходом первого элемента И, первый и второй входы которого являются соответственно входами опроса и сдвига БООС; второй вход третьего элемента И соединен с прямым выходом триггера блокировки, инверсный выход которого подключен к счетному входу триггера управления демультиплексором, прямой выход которого соединен с выходом разрешения демультиплексора, первая группа выходов которого соединена с информационными входами k-го регистра, вторая группа - со второй группой выходов (k-1)-го блока элементов ИЛИ и т. д. , k-я группа выходов соединена со второй группой входов первого блока элементов ИЛИ, а группа n информационных входов подключена к информационным входам с третьего по (n+2)-й БООС; первый информационный вход БООС подключен к счетному входу триггера блокировки, к установочному S входу триггера управления демультиплексором, а также ко вторым входам элементов И первой группы с первого по k-й, выходы которых подключены к первым входам элементов ИЛИ соответствующей группы с первого по k-й соответственно, и ко второму входу первого элемента ИЛИ, выход которого соединен с входом синхронизации регистра длины очереди; второй информационный вход БООС подключен к входу сброса R триггера блокировки; прямые выходы регистров со второго по k-й подключены к первым группам входов блоков элементов ИЛИ с первого по (k-1)-й соответственно, а выходы первого регистра образуют первую группу выходов БООС; инверсные выходы регистров с первого по k-й подключены к входам элементов И второй группы с первого по k-й соответственно, выходы которых подключены к адресным входам демультиплексора, к информационным входам регистра длины очереди, к первым входам элементов И первой группы с первого по k-й соответственно, а также к входам второго элемента И, выход второго соединен с входом элемента НЕ, выход которого в объединении с выходами регистра длины очереди образуют вторую группу k+1 выходов БООС, при этом одновибратор, триггер управления демультиплексором и регистры с первого по k-й срабатывают по переднему фронту сигнала, а триггеры запроса, блокировки и регистр длины очереди - по заднему фронту. На фиг. 1 изображена схема модуля матричного коммутатора; на фиг. 2 - схема блока организации очередей сообщений; на фиг. 3 - схема блока анализа очередей сообщений; на фиг. 4 - временные диаграммы работы блока организации очередей сообщений при различных соотношениях моментов появления импульсов записи сообщений и сдвига очереди. Модуль матричного коммутатора (фиг. 1) содержит с первого по третий блоки организации очередей сообщений (БООС) 1.1-1.3, регистр идентификатора модуля 2 (включающий первое 2.1 и второе 2.2 адресные поля), блок анализа очередей сообщений (БАОС) 3, мультиплексор 4, регистр 5 (включающий первое 5.1, второе 5.2 адресные поля и информационное поле), демультиплексор 6, триггер 7, блок 8 синхронизации, первую 9 и вторую 10 схемы сравнения, первый 11 и второй 12 дешифраторы и элементы И 13, причем n выходов первой группы БООС с первого по третий подключены к соответствующим группам информационных входов мультиплексора, выходы которого подключены к информационным входам регистра; k+1 выходов второй группы БООС с первого по третий соединены с соответствующими группами входов БАОС, информационные выходы которого подключены к адресным входам мультиплексора и к входам первого дешифратора, выходы которого с первого по третий подключены к входам опроса БООС с первого по третий соответственно; группы n+2 информационных входов БООС с первого по третий подключены соответственно к первой - третьей 14-16 входным информационным шинам устройства; первая и вторая группы выходов регистра подключены к вторым группам входов первой и второй схем сравнения соответственно, первые группы входов которых соединены соответственно с первой и второй группами выходов регистра идентификатора модуля; выходы первой и второй схем сравнения подключены к входам второго дешифратора, выходы которого соединены с адресными входами демультиплексора, группы n+2 выходов которого с первой по третью подключены к первой - третьей 17-19 выходным информационным шинам устройства соответственно; управляющий выходов БАОС подключен к входу установки S триггера и к первому входу элемента И, выход которого соединен с входом сброса R триггера, прямой выход которого соединен с входом разрешения блока синхронизации, первый выход которого подключен к входу синхронизации регистра, а третий выход - ко второму входу элемента И и к первому информационному входу демультиплексора, группа n информационных входов которого с третьего по (n+2)-й соединена с выходами регистра, второй выход блока синхронизации дополнительно соединен с вторым информационным входом демультиплексора, а первый выход - с входами сдвига БООС с первого по третий. Блок организации очередей сообщений (БООС) (фиг. 2) предназначен для приема, хранения и выдачи сообщений в порядке их поступления и содержит регистры 20.1-20.k (где k - максимальная длина очереди сообщений), группу блоков элементов ИЛИ 21.1-21. k-1, демультиплексор 22, группу элементов И 23.1-23. k, группу элементов И 24.1-24.k, группу элементов ИЛИ 25.1-25.k, регистр 26 длины очереди, первый элемент И 27, элемент НЕ 28, второй элемент И 29, первый элемент ИЛИ 30, а также дополнительно введенные одновибратор 31, триггеры запроса 32, блокировки 33 и управления демультиплексором 34, третий элемент И 35 и второй элемент ИЛИ 36, причем выход одновибратора подключен к вторым входам элементов ИЛИ 25.1-25.k, к первому входу элемента ИЛИ 30 и к второму входу элемента ИЛИ 36, выход которого соединен со счетным входом триггера запроса, прямой выход которого подключен к первому входу элемента И 35, выход которого подключен к входу одновибратора; первый вход элемента ИЛИ 36 соединен с выходом элемента И 27, первый и второй входы которого являются соответственно входами опроса и сдвига БООС; второй вход элемента И 35 соединен с прямым выходом триггера блокировки, инверсный выход которого подключен к счетному входу триггера управления демультиплексором, прямой выход которого соединен с входом разрешения демультиплексора, первая группа выходов которого соединена с информационными входами регистра 20.k, вторая группа - со второй группой входов блока 21.k-1 элементов ИЛИ и т.д., k-я группа выходов соединена со второй группой входов блока 21.1 элементов ИЛИ, а группа n (где n - разрядность передаваемых сообщений) информационных входов подключена к информационным входам с третьего по (n+2)-й БООС; первый информационный вход БООС подключен к счетному входу триггера блокировки, к установочному S входу триггера управления демультиплексором, а также ко вторым входам элементов И 23.1-23. k, выходы которых подключены к первым входам элементов ИЛИ 25.1-25.k соответственно, и к второму входу элемента ИЛИ 30, выход которого соединен с входом синхронизации регистра 26 длины очереди; второй информационный вход БООС подключен к входу сброса R триггера блокировки; прямые выходы регистров 20.2-20.k подключены к первым группам входов блоков 21.1-21. k-1 элементов ИЛИ соответственно, а выходы регистра 20.1 образуют первую группу выходов БООС; инверсные выходы регистров 20.1-20. k подключены к входам элементов И 24.1-24.k соответственно, выходы которых подключены к адресным входам демультиплексора, к информационным входам регистра длины очереди, к первым входам элементов И 23.1-23.k соответственно, а также к входам элемента И 29, выход которого соединен с входом элемента НЕ, выход которого в объединении с выходами регистра длины очереди образуют вторую группу k+1 выходов БООС, при этом одновибратор, триггер управления демультиплексором и регистры 20.1-20.k срабатывают по переднему фронту сигнала, а триггеры запроса и блокировки и регистр длины очереди - по заднему. Блок анализа очередей сообщений (БАОС) (фиг. 3) предназначен для определения соотношения длин очередей сообщений в различных БООС и формирования кода БООС, содержащего наибольшее число сообщений, и включает узел постоянной памяти 37, с первой по третью схемы сравнения 38-40 и элемент ИЛИ 41, причем первая и вторая группы входов первой схемы сравнения подключены к k входам первой и второй групп входов БАОС соответственно, первая и вторая группы входов второй схемы сравнения подключены к k входам второй и третьей групп входов БАОС соответственно, первая и вторая группы входов третьей схемы сравнения подключены к k входам третьей и первой групп входов БАОС соответственно; выходы схем сравнения с первой по третью подключены к входам узла постоянной памяти, выходы которого являются информационными выходами БАОС; входы элемента ИЛИ с первого по третий подключены к (k+1)-м входам соответствующих групп входов БАОС, а выход является управляющим выходом БАОС. Матричный коммутатор состоит из множества однотипных модулей, каждый из которых соединен с двумя другими модулями по входу и с двумя по выходу, и обеспечивает возможность взаимодействия любой пары модулей. Каждому модулю соответствует идентификатор A, B (где A, B - номера строки и столбца коммутатора, содержащих данный модуль, "." - символ конкатенации), определяющий его расположение в пределах коммутационного поля. Взаимодействие модулей осуществляется на основе обмена сообщениями, формат которых включает информационное и адресное поля. Адресное поле сообщения содержит код C, D номера модуля - приемника этого сообщения. Доставка сообщения требуемому модулю реализуется путем его передачи через промежуточные модули, а признаком достижения приемника является совпадение его номера A, B с номером C, D, указанным в адресной части передаваемого сообщения. Модуль маточного коммутатора работает следующим образом. В исходном состоянии регистры 20.1-20.k и 26 БООС 1.1-1.3 содержат нулевые коды, триггер запроса 32 БООС 1.1-1.3 находится в нулевом, а триггеры блокировки 33 и управления 34 демультиплексором - в единичном состоянии; триггер 7 и регистр 5 находятся в нулевом состоянии (цепи начальной установки на фиг. 1 и 2 условно не показаны), поэтому блок 8 синхронизации выключен, а на выходах элементов И 24.1-24.k БООС 1.1-1.3 присутствуют сигналы логической единицы, что обуславливает наличие низкого уровня сигнала на выходах элемента НЕ 28 БООС 1.1-1.3. Сигналы логического нуля с выходов последних поступают на (к + 1)-е выходы вторых групп выходов БООС 1.1-1.3 и далее на соответствующие входы элемента ИЛИ 41 БАОС 3, на выходе которого появляется нулевой сигнал. Очередное сообщение с одной из входных информационных шин устройства (например, с шины 14) поступает на информационные входы соответствующего БООС (1.1). Так как на адресных входах демультиплексора 22 присутствует код 11...1, сообщение с информационных входов БООС поступает на k-ю группу выходов демультиплексора 22, затем через блок элементов ИЛИ 21.1 - на информационные входы регистра 20.1 и записывается в этом регистре по переднему фронту импульса синхронизации, который поступает на входы синхронизации регистров 20.1-20. k через элементы И 23.1-23.k и элементы ИЛИ 25.1-25.k с первого информационного входа БООС. Элементы И 23.1-23.k оказываются открытыми для указанного импульса, так как на их первых входах присутствуют единичные сигналы с выходов соответствующих элементов И 24.1-24.k. Одновременно импульс синхронизации поступает на второй вход элемента ИЛИ 30. С выхода элемента ИЛИ 30 данный импульс подается на синхронизирующий вход регистра 26 длины очереди и своим задним фронтом фиксирует в этом регистре новый установившийся код длины очереди 11...10 с выходов элементов И 24.1-24. k. В то же время на выходе элемента И 29 появляется нулевой уровень сигнала, в связи с чем на выходе элемента НЕ 28 появляется сигнал логической единицы, который поступает на (k + 1)-й выход второй группы выходов БООС, сигнализируя тем самым о наличии сообщений. Код длины очереди сообщений с выходов регистра 26 поступает на первые входы первой 38 и вторые входы 40 схем сравнения БАОС 3. На выходах схем сравнения 38-40 образуется код, определяемый соотношением длин очередей сообщений в БООС 1.1-1.3 в соответствии с таблицей (где L1, L2, L3 - коды длин очередей соответственно в БООС 1.1, 1.2 и 1.3). Сформированный код поступает на входы узла постоянной памяти 37, на выходе которого появляется двоичный код номера БООС, содержащего наибольшее число сообщений (в нашем случае это БООС 1.1 и код "00"). Одновременно сигнал логической единицы с выхода элемента НЕ 28 БООС 1.1 поступает на первый вход элемента ИЛИ 41, проходит на управляющий выход БАОС 3 и затем подается на вход установки S триггера 7, переключая последний в единичное состояние. Единичный сигнал с прямого выхода триггера 7 включает блок 8 синхронизации, и последний начинает вырабатывать три распределенные по времени последовательности тактовых импульсов




























Формула изобретения
1. Модуль матричного коммутатора, содержащий с первого по третий блоки организации очередей сообщений, регистр идентификатора модуля, блок анализа очередей сообщений, мультиплексор, регистр, демультиплексор, триггер, блок синхронизации, первую и вторую схемы сравнения, первый и второй дешифраторы и элемент И, причем n выходов (где n - разрядность передаваемых сообщений) первой группы блоков организации очередей сообщений с первого по третий подключены к соответствующим группам информационных входов мультиплексора, выходы которого подключены к информационным входам регистра, K + 1 выходов (где K - максимальная длина очереди сообщений) второй группы блоков организации очередей сообщений с первого по третий соединены с соответствующими группами входов блока анализа очередей сообщений, информационные выходы которого подключены к адресным входам мультиплексора и входам первого дешифратора, выходы которого с первого по третий подключены к входам опроса блоков организации очередей сообщений с первого по третий соответственно, группы n + 2 информационных входов блоков организации очередей сообщений с первого по третий подключены соответственно к первой - третьей входным информационным шинам устройства, первая и вторая группы выходов регистра подключены к вторым группам входов первой и второй схемы сравнения соответственно, первые группы входов которых соединены соответственно с первой и второй группами выходов регистра идентификатора модуля, выходы первой и второй схем сравнения подключены к входам второго дешифратора, выходы которого соединены с адресными входами демультиплексора, группы n + 2 выходов которого с первой по третью подключены с первой по третью выходным информационным шинам устройства соответственно, управляющий выход блока анализа очереди сообщений подключен к входу установки триггера и первому входу элемента И, выход которого соединен с входом сброса триггера, прямой выход которого соединен с входом разрешения блока синхронизации, первый выход которого подключен к входу синхронизации регистра, а третий выход - к второму входу элемента И и первому информационному входу демультиплексора, группа информационных входов с третьего по (n + 2)-й которого соединена с выходом регистра, отличающийся тем, что второй выход блока синхронизации подключен к второму информационному входу демультиплексора, а первый выход - к входам сдвига блоков организации сообщений с первого по третий. 2. Модуль по п.1, отличающийся тем, что каждый блок организации очередей сообщений содержит группу регистров с первого по K-й, группу блоков элементов ИЛИ с первого по (K - 1)-й, демультиплексор, первую группу элементов И с первого по K-й, вторую группу элементов И с первого по K-й, группу элементов ИЛИ с первого по K-й, первый и второй элементы И, элемент НЕ, регистр длины очереди и первый элемент ИЛИ, одновибратор, триггеры запроса, блокировки и управления демультиплексором, третий элемент И и второй элемент ИЛИ, причем выход одновибратора подключен к вторым входам элементов ИЛИ соответствующей группы с первого по K-й, к первому входу первого элемента ИЛИ и второму входу второго элемента ИЛИ, выход которого соединен со счетным входом триггера запроса, прямой выход которого подключен к первому входу третьего элемента И, выход которого подключен к входу одновибратора, первый вход второго элемента ИЛИ соединен с выходом первого элемента И, первый и второй входы которого являются соответственно входами опроса и сдвига блока, второй вход третьего элемента И соединен с прямым выходом триггера блокировки, инверсный выход которого подключен к счетному входу триггера управления демультиплексором, прямой выход которого соединен с входом разрешения демультиплексора, первая группа выходов которого соединена с информационными входами K-го регистра, группа выходов демультиплексора с второго по K-й соединены соответственно с второй группой входов с (K - 1)-го по первый блоков элементов ИЛИ, группа n информационных входов демультиплексора подключена к информационным входам блока с третьего по (n + 2)-й, первый информационный вход блока подключен к счетному входу триггера блокировки, установочному входу триггера управления демультиплексором, а также к вторым входам элементов И первой группы с первого по K-й, выходы которых подключены к первым входам элементов ИЛИ соответствующей группы с первого по K-й соответственно, и к второму входу первого элемента ИЛИ, выход которого соединен с входом синхронизации регистра длины очереди, второй информационный вход блока подключен к входу сброса триггера блокировки, прямые выходы регистров с второго по K-й подключены к первым группам входов блоков элементов ИЛИ с первого по (K - 1)-й соответственно, а выходы первого регистра образуют первую группу n выходов блока, инверсные выходы регистров с первого по K-й подключены к входам элементов И второй группы с первого по K-й соответственно, выходы которых подключены к адресным входам демультиплексора, информационным входам регистра длины очереди, первым входам элементов И первой группы с первого по K-й соответственно, а также к входам второго элемента И, выход которого соединен с входом элемента НЕ, выход которого в объединении с выходами регистра длины очереди образуют вторую группу K + 1 выходов блока, выходы группы элементов ИЛИ с первого по K-й подключены к входам синхронизации регистров с первого по K-й, выход первого блока элементов ИЛИ соединен с информационным входом первого регистра, при этом одновибратор, триггер управления демультиплексором и регистры с первого по K-й срабатывают по переднему фронту сигнала, а триггеры запроса, блокировки и регистр длины очереди - по заднему фронту.РИСУНКИ
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5