Коммутатор процессоров
Иллюстрации
Показать всеРеферат
ОПИСАНИЕ
ИЗОБРЕТЕН ИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
Союз Советских
Социалистических
Республик (»i 734653 (61) Дополнительное к авт. свид-ву— (22) Заявлено 19.12.77 (21) 2556830/18-24 с присоединением заявки №вЂ” (23) Приоритет— (51) М.К .
G 06 F 3/04
Гасударствеииый комитет
СССР
Опубликовано 15.05.80. Бюллетень № 18
Дата опубликования описания 25.05.80 (53) УДК 681.14 (088.8) Il0 делам иавбретеиий и открытий (72) Авторы изобретения
С. В. Горбачев, Л. И. Бердников, А. М. Лупал, О. А. Никуличева, В. Б. Смирнов и В. А. Торгашев (71) Заявитель (54) КОММУТАТОР ПРОЦЕССОРОФ
4 ° ф:.., Изобретение относится к вычислительной технике и может найти применение при построении многопроцессорных вычислительных систем высокой производительности.
Известна многопроцессорная вычислительная машина с высокой степенью параллелизма, в которой для передачи информации между группами процессоров используются специальные групповые переключатели (1).
Недостатком данной вычислительной машины является невозможность одновременной передачи глобальной команды для распараллеливания вычислений в процессоры, расположенные в различных группах, а таКже организации многоярусной структуры, что понижает производительность и надежность машины и сужает ее функциональные возможности.
Наиболее близким техническим решением к предлагаемому является многопроцессорная вычислительная машина, содержащая регистр идентификации, адреса, регистр ко- 20 манд, регистр запросов, внутригрупповой и межгрупповой регистры связи, блок управления, блоки идентификации уровней команд внутригрупповой и межгрупповой связи, причем первый выход внутригруппового регистра связи соединен с первым входом межгруппового регистра связи, первым входом блока управления и первым входом регистра запросов, первый вход внутригруппового регистра связи объединен со вторым входом межгруппового регистра, вторым входом регистра запросов, первым входом регистра команд и подключен к первому выходу блока управления, первый выход межгруппового регистра связи подключен ко второму входу внутригруппового регистра связи, второму входу блока управления и второму входу регистра команд, третий вход внутригруппового регистра связи подключен к выходу блока идентификации уровней команд внутригрупповой связи, вход-выход которого соединен с первым входом-выходом блока управления, четвертый вход внутригруппового регистра связи соединен с первым выходом регистра команд, второй выход которого подключен к третьему входу блока управления, третий вход межгруппового регистра связи подключен к первому выходу регистра запросов, второй выход которого соединен с четвертым входом блока управления, четвертый вход межгруппо?34653
f0 вого регистра связи соединен с выходом блока идентификации уровней команд межгрупповой связи, вход-выход которого подключен ко второму входу-выходу блока управления, третий вход-выход которого соединен со входом-выходом регистра идентификации адреса (2) .
Недостатком такой вычислительной машины является необходимость выбора свободного идентификатора уровня при каждом обращении к процессору после разрыва ряда последовательных обращений, например в связи с временным изменением адресата. Это объясняется тем, что в устройстве может быть зафиксирована в виде пары идентификаторов только одна проложенная связь (сформированная последней при одновременном аннулировании связи, проложенной ранее). Кроме того, невозможно зафиксировать освобождение идентификаторов аннулированных связей (возможно только по специальной команде разрушения связи, которая должна заканчивать любой сеанс связи). Указанный недостаток существенно ограничивает уровень распараллеливания процесса вычислений и управления в многопроцессорной вычислительной машине.и ее производительность из-за задержек при организации процесса обмена информации между группами процессоров.
Цель изобретения — устранение указанного недостатка, а именно повышение эффективности обмена информацией между процессорами многопроцессорной цифровой вычислительной машины.
Поставленная цель достигается тем, что в устройство введены первый и второй блок регистровой памяти и первый и второй дешифраторы, причем выход первого блока регистровой памяти соединен с пятым входом внутригруппового регистра связи, первый вход первого блока регистровой памяти подключен ко второму выходу блока управления, второй вход первого блока регистровой памяти соединен с первым входом второго блока регистровой памяти и подключен к третьему выходу блока управления, а третий вход первого блока регистровой памяти подключен к выходу первого дешифратора, вход которого подсоединен ко второму выходу межгруппового регистра связи, выход второго блока регистровой памяти подключен к пятому входу межгруппового регистра связи, второй вход второго блока регистровой памяти подключен к четвертому выходу блока управления, а третий вход второго блока регистровой памяти подключен к выходу второго дешифратора, вход которого подключен к четвертому выходу внутригруппового регистра связи.
На чертеже представлена схема предлагаемого коммутатора процессоров.
Схема устройства содержит регистр 1 идентификации адреса, внутригрупповой ре1S
Ъо
2S
3S
4$
$0
$$ гистр 2 связи, межгрупповой регистр 3 связи, регистр 4 команд, регистр 5 запросов, блок 6 управления, блок 7 идентификации уровней команд внутригрупповых связей, блок 8 идентификации уровней команд межгрупповых связей, первый блок 9 регистровой памяти (идентификаторов внутригрупповых связей), второй блок 10 регистровой памяти (идентификаторов межгрупповых связей), второй дешифратор 11 (идентификаторов внутригрупповых связей), первый дешифратор 12 (идентификаторов межгрупповых связей) .
Выход регистра 1 идентификации адреса соединен с входом блока 6 управления, второй выход которого подключен к входу этого же регистра, Первый выход внутригруппового регистра 2 связи сбединен с первым входом регистра 5 запросов, с первым входом межгруппового регистра 3 связи и вторым входом блока 6 управления. Первый выход межгруппового регистра 3 связи соединен с первым входом регистра 4 команд, третьим входом блока 6 управления и вторым входом внутригруппового регистра 2 связи. Первый и второй выходы регистра 4 команд соединены соответственно с первым входом внутригруппового регистра 2 связи и с первым входом блока 6 управления.
Первый и второй выходы регистра 5 запросов соединены соответственно со вторым входом межгруппового регистра 3 связи и с четвертым входом блока 6 управления. Первый выход блока 6 управления соединен со вторым входом регистра 4 команд, третьим входом внутригруппового регистра 2 связи, третьим входом межгруппового регистра 3 связи и со вторым входом регистра 5 запросов. Третий и четвертый выходы блока 6 управления соединены соответственно с первым входом блока 7 идентификации уровней команд внутригрупповых связей и с первым входом блока 8 идентификации уровней команд межгрупповых связей. Первые выходы блока 7 идентификации уровней команд внутригрупповых связей и блока 8 идентификации уровней команд межгрупповых связей соединены соответственно с шестым и седьмым входами блока 6 управления. Второй выход блока 7 идентификации уровней команд внутригрупповых связей соединен с четвертым входом внутригруппового регистра 2 связи. Второй выход блока 8 идентификации уровней команд межгрупповых связей соединен с четвертым входом межгруппового регистра 3 связи. Выход блока 9 регистровой памяти идентификаторов внутригрупповых связей соединен с пятым входом внутригруппового регистра
2 связи,- второй выход которого соединен с входом дешифратора 11 идентификаторов внутригрупповых связей. Выход блока 10 регистровой памяти идентификаторов межгрупповых связей соединен с пятым входом
734653
S î
15 о
25 зо
SO
5 межгруппового регистра 3 связи, второй выход которого соединен со входом дешифратора 12 идентификаторов межгрупповых связей. Пятый выход блока 6 управления соединен с нулевыми входами блока 9 регистровой памяти идентификаторов внутригрупповых связей и блока 10 регистровой
- памяти идентификаторов межгрупповых связей, с управляющими входами которых соединены соответственно выходы дешифратора 12 идентификаторов межгрупповых связей и дешифратора 11 идентификаторов внутригрупповых связей. Информационные входы блоков 9 и 10 подключены соответственно к шестому и седьмому выходам блока 6 управления.
Коммутатор процессоров многопроцессорной ЦВМ работает следующим образом.
При передаче информации от одного процессора к другому через модуль коммутации как с межблочной шины на межгрупповую, так и наоборот производится замена сопровождающего команду идентификатора на соответствующий ему идентификатор, используемый в другой шине. В процессе первичной установки связи между процессорами идентификатор, сопровождающий соответствующую команду, заменяется в модуле коммутации первым свободным идентификатором, который выбирается в соответствующем блоке идентификации уровней команд. При этом выбранный идентификатор запоминается в одноименном блоке регистровой памяти идентификаторов, а именно в регистре, номер которого определяется идентификатором, полученным вместе с командой. Кроме того, поступивший вместе с командой идентификатор записывается в другом блоке регистровой памяти идентификаторов (в регистр, номер которого определяется уже выбранным свободным идентификатором). Таким образом, в блоках регистровой памяти фиксируется установленная связь между процессорами путем запоминания пары соответствующих друг другу идентификаторов (для двух шин — межблочной и межгрупповой), относящихся к одному каналу связи. Этим обеспечивается возможность длительного хранения идентификаторов сформированного пути, вплоть до его разрушения, производимого по специальной команде. При очередной передаче информации между процессорами по этому пути производится замена идентификатора, сопровождающего порцию информации на сопоставленный ему ранее идентификатор, выбираемый с помощью соответствующего дешифратора из соответствующего блока регистровой памяти идентификаторов. Если через данный коммутатор устанавливается новая связь между другими процессорами, то блоком идентификации уровней команд требуемого типа выбирается очередной свободный идентификатор. Вновь поступившие и выбранные идентификаторы запоминаются
6 указанным способом в других регистрах соответствующих блоков регистровой памяти идентификаторов, сохраняя зафиксированные ранее пары идентификаторов, благодаря чему не разрушаются существующие связи. Фиксируемые в модуле коммутации связи между процессорами должны быть организованы в виде таблицы пар идентификаторов, состоящей из двух столбцов, причем в одном столбце записывается идентификатор, сопровождающий информацию, идущую по межблочной шине, а в другом столбце идентификатор, используемый в межгрупповой шине. Количество строк таблицы определяется максимально возможным числом каналов, которые могут быть проложены через данный коммутатор.
Поиск может вестисть по любому из столбцов в зависимости от направления передачи. Обращение к таблице ведется по входному идентификатору, определяющему строку, в которой либо должен быть зафиксирован (в режиме первичной прокладки связи) либо храниться (в режиме обмена информацией) соответствующий ему выходной идентификатор. Если все строки таблицы заполнены, т. е. все возможные каналы связи через данный коммутатор уже проложены, то на очередную команду установки связи коммутатор отвечает отказом. В этом случае процессор, исполняющий функции диспетчера системы, должен разрушить те связи, которые в данный момент наименее активно используются. По получении команды о разрушении связи соответствующие строки таблицы очищаются. Освободившиеся идентификаторы в блоках идентификации уровней команд фиксируются в качестве свободных. Замена идентификаторов при передаче информации через коммутатор по установленному уже каналу связи производится одинаково в обоих направлениях. Поэтому можно рассмотреть только передачу информации, например, с межгруппового регистра 3 связи на внутригрупповой регистр 2 связи, т. е. с межгрупповой шины на межблочную. При поступлении соответствующей команды передачи информации в межгрупповой регистр
3 связи с его второго выхода сопровождающий команду идентификатор подается на вход дешифратора 12 идентификаторов межгрупповых связей. Дешифратор 12 преобразует двоичный код идентификатора в унитарный код, который поступает на управляющий вход блока 9 регистровой памяти идентификаторов внутригрупповых связей.
Из выделенного таким образом регистра блока 9 считывается выбранный ранее свободный идентификатор, соответствующий полученному идентификатору из межгруппового регистра 3 связи. Считываемый идентификатор будет использоваться для сопровождения передаваемой информации по установленному каналу связи в межблочной шине. Для этого он подается с выхода блока 9
734653
1Е
26 и
56
45 на пятый вход внутригруппового регистра 2 связи. При поступлении в межгрупповой регистр 3 связи команды установки связи в блоке 7 идентификации уровней команд внутригрупповых связей определяется первый свободный идентификатор и фиксируется занятость выбранного идентификатора. Двоичный код выбранного идентификатора с выхода блока 7 передается в блок 6 управления, во внутригрупповой регистр 2 связи и далее вместе с командой в межблочную шину. Из блока 6 управления двоичный код выбранного идентификатора подается на информационный вход блока 9 регистровой памяти идентификаторов внутригрупповых связей. Дешифратор 12 идентификаторов межгрупповых связей преобразует двоичный код, поступивший из межгрупповой шины идентификатора в унитарный код, который с выхода дешифратора 12 подается на управляющий вход блока 9. Таким образом, вновь выбранный идентификатор записывается в блоке 9 в регистр, порядковый номер которого соответствует унитарному коду идентификатора, поступившего с дешифратора 12. Для обеспечения передачи информации в обратном направлении вновь установленному каналу связи через данный коммутатор должна быть осуществлена зались полученного с межгрупповой шины идентификатора в соответствующий регистр блока
10 регистровой памяти идентификаторов межгрупповых связей. Для этого двоичный код вновь выбранного идентификатора с выхода внутригруппового регистра 2 связи подается на вход дешифратора 11 идентификаторов внутригрупповых связей. С выхода дешифратора 11 унитарный код выбранного идентификатора поступает на управляющий вход блока 10 и определяет порядковый номер регистра блока 10, в который записывается двоичный код полученного с межгрупповой шины идентификатора, поскольку он подается из межгруппового регистра 3 связи через блок 6 управления на информационный вход блока 10. Благодаря запоминанию в регистрах блоков 9 и 10 соответствующих друг другу идентификаторов, становится возможной передача информации по установленному каналу связи в оба направления без дополнительных затрат времени на установку связи с требуемым процессором. Канал связи, проложенный через данный модуль коммутации, разрушается при получении соответствующей команды. Разрушение канала связи означает, что оба идентификатора, хранящиеся в блоках 9 и 10, должны быть стерты, а сама команда разрушения связи должна быть передана далее по каналу связи через данный коммутатор. При поступлении этой команды в межгрупповой регистр 3 связи сопровождающий ее идентификатор подается на вход дешифратора 12 идентификаторов межгрупповых связей. Унитарный код с выхода дешифратора 12, подаваемый на управляющий вход блока 9 регистровой. памяти идентификаторов внутригрупповых связей, определяет порядковый номер регистра, из которого считывается идентификатор. Этот идентификатор с выхода блока 9 подается на вход внутригруппового регистра 2 связи, в который также записывается команда из межгруппового регистра 3 связи. Одновременно в выделенном регистре .блока 9 осуществляется стирание информации путем подачи управляющих сигналов из блока 6 управления на нулевой вход блока 9. Наряду с этим двоичный код идентификатора, записанный во внутригрупповой регистр 2 связи, с его выхода поступает на вход дешифратора 11. Унитарный код идентификатора с выхода дешифратора 11 поступает на управляющий вход блока 10. Из блока 6 управления на нулевой вход блока 10 подаются управляющие сигналы для стирания информации в выбранном регистре. Кроме того, оба идентификатора в блоках 7 и 8 фиксируются в качестве свободных идентификаторов и могут быть использованы для установления нового канала связи через данный коммутатор.
Предлагаемый коммутатор позволяет устанавливать новые каналы связи при сохранении уже установленных связей между процессорами через данный коммутатор, что предотвращает характерные для известного устройства потери свободных идентификаторов уровня при прерывании обмена информацией между процессорами. что значительно расширяет функциональные возможности машины и повышает ее производительность при организации параллельного группового обмена, так как увеличивает число одновременно существующих каналов связи между группами процессоров, которое может быть равно сумме идентификаторов, используемых во всех коммутаторах. Это позволяет процессору — диспетчеру вычислительной машины более широко осуществлять распараллеливание вычислительного процесса между группами процессоров. Кроме того, в коммутаторе по каждому из существующих каналов связи можно передавать информацию в оба направления без дополнительных команд установки связи перед каждым сеансом связи. Это существенно уменьшает время, затрачиваемое на обмен информацией и повышает производительность машины.
Формула изобретения
Коммутатор процессоров, содержащий регистр идентификации адреса, регистр команд, регистр запросов, внутригрупповой и межгрупповой регистры связи, блок управления, блоки идентификации уровней команд внутригрупповой и межгрупповой свя734653
10 зи, причем первый выход внутригруппового регистра связи соединен с первым входом межгруппового регистра связи, первым входом блока управления и первым входом регистра запросов, первый вход внутригруппового регистра связи объединен со вторым входом межгруппового регистра, вторым входом регистра запросов, первым входом регистра команд и подключен к первому выходу блока управления, первый выход межгруппового регистра связи подключен ко второму входу внутригруппового регистра связи, второму входу блока управления и второму входу регистра команд, третий вход внутригруппового регистра связи подключен к выходу блока идентификации уровней команд внутригрупповой связи, вход-выход которого соединен с первым входом-выходом блока управления, четвертый вход внутригруппового регистра связи соединен с первым выходом регистра команд, второй выход которого подключен к третьему входу блока управления, третий вход межгруппового регистра связи подключен к лервому выходу регистра запросов, второй выход которого соединен с четвертым входом блока управления, четвертый вход межгруппового регистра связи соединен с выходом блока идентификации уровней команд межгрупповой связи, вход-выход которого подключен ко второму входу-выходу блока управления, третий вход-выход которого соединен со входом-выходом регистра идентификации адреса, отличающийся тем, что, с целью повышения скорости обмена информацией между коммутируемыми процессорами,в него введены первый и второй блоки регистровой памяти, и первый и второй дешифраторы, причем выход первого блока регистровой памяти соединен с пятым входом внутригруппового регистра связи, первый вход первого блока регистровой памяти подключен ко второму выходу блока управления, второй вход первого блока регистровой памяти соединен с первым входом второго блока регистровой
10 памяти и подключен к третьему выходу блока управления, а третий вход первого блока регистровой памяти подключен к выходу первого дешифратора, вход которого подсоединен ко второму выходу межгруппового регистра связи, выход второго блока регистровой памяти подключен к пятому входу межгруппового регистра связи, второй вход второго блока регистровой памяти подключен к четвертому выходу блока управления, а третий вход второго блока регистровой памяти
30 подключен к выходу второго дешифратора, вход которого подключен к четвертому выходу внутригруппового регистра связи.
Источники информации, принятые во внимание при экспертизе
1. Koczela 1 .J., Wang G. Y. the
designs of higtly parallel computer organization. ТЕЕЕ. Trans. 1969, June, С-18, Мю6.
2. Авторское свидетельство СССР по заявке ЛЪ 2312667, G 06 F 3/04, 13.03.77 (про30 тотип).
734653
Составитель А. Баранов
Редактор О. Колесникова Техред К. Шуфрич Корректор В. Синицкая
Заказ 2219/! 0 Тираж 751 Подписное
ЦНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж вЂ” 35, Раушская наб., д. 4/5
Филиал ППП «Патент», г. Ужгород, ул, Проектная, 4