Устройство для сопряжения процессоров через общую память в многопроцессорной системе
Иллюстрации
Показать всеРеферат
Изобретение позволяет реализовывать многопроцессорные системы с высоким быстродействием за счет орг анизации асинхронного обращения процессоров через общую память. Кон- |струкция предлагаемого устройства ,. .содержит 2K+I блоков ввода-вывода, где К определяется количеством подключаемых к устройству процессоров, пять мультиплексоров, демультиплексор, 2К+1 регистров, 2К+1 счетчиков адреса записи, 2К+1 счетчиков адреса считывания, дешифраторы сброса записанной и считанной заявки, блок управления памятью, блок формирования заявок и два элемента задержки. Работа устройства происходит в двух режимах записи и считывания заявок. I 3.п. ф-лы. 8 ил, 1 табл. с
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИН (19) (II) (5ц 4 G 06 F !5/16
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К ABTOPCHOMV СВИДЕТЕЛЬСТВУ 1
ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3744237/24-24. (22) 25.05.84 (46) 15.05.86. Бюл. Ф 18 (72) Е.М.Ерэаков, И.Я.Денищенко, В.И.Головин и В.И.Черепьяная (53) 681.325(088.8) (56) Патент США В 4253146, кл. G Об F 15/16, 1981.
Авторское свидетельство СССР
В 1012232, кл. G Об F 15/16, 1979. (54) УСТРОЙСТВО ДЛЯ СОПРЯЖЕНИЯ ПРО-
ЦЕССОРОВ ЧЕРЕЗ ОБЩУЮ ПАМЯТЬ В МНОГОПРОЦЕССОРНОЙ СИСТЕМЕ (57) Изобретение позволяет реализовывать многопроцессорные системы с высоким быстродействием эа счет органиэации асинкронного обращения процессоров через общую память ° Кон-! .струкция предлагаемого устройства содержит 2К+! блоков ввода-вывода, где К определяется количеством подключаемых к устройству процессоров, пять мультиплексоров, демультиплексор, 2К+1 регистров, 2К+1 счетчиков адреса записи, 2К+! счетчиков адреса считывания, дешифраторы сброса записанной и считанной заявки, блок управления памятью, блок формирования заявок и два элемента задержки. Работа устройства происходит в двух режимах записи и считывания заявок.
1 з.п. ф-лы. 8 ил, 1 табл.
12 31508
Код типа №№ МП информации (5 бит) (3 бита), Информация (8 бит) 000
gr>
001
Резервная
Данные (байт № l)
Данные (байт № 2)
Номер инструкции
010
40 011
100
l !О
50 11!
Номер данного
Изобретение относится к вычислительной технике и может быть использовано н автоматизированных системах управления для сопряжения процессоров.
Целью изобретения является повышение быстродействия.
На фиг. 1 приведен пример блоксхемы многогроцессорной системы с использованием устройстна для сопряжения процессоров, на фиг, 2 функциональная схема устройства для сопряжения процессоров, на фиг. 3-6— функциональные схемы блока формировайия заявок, счетчика сообщений, уз- ла приоритета и блока управления памятью соответственно на фиг. 7 и
8 — примеры алгоритмов управления местного и центрального процессоров соответственно н составе многопроцессорной системы.
Многопроцессорная система (фиг.l) содержит микропроцессоры (МП} I,один из которых центральный, местные оперативные запоминающие устройства (ОЗУ) 2, общие ОЗУ 3, устройства 4 для сопряжения процессоров через общую память.
Устройство 4 для сопряжения процессоров (фиг. 2) содержит с первого
5 по (2K+1) 6 блоков ввода-вывода, где K определяется количеством подключаемых МП подключенных к устт ройству 4, с первого по третий мультиплексоры 7-9, демультиплексор 10, четвертый 11 и пятый 12 мультиплек соры, с первого 13 по (2К+1) 14 регистры, с первого 15 по (2К+1) 16 счетчики адреса записи, с первого
17 по (2К+1) 18 счетчики адреса считывания, дешифраторы 19 и 20 сброса записанной и считанной заявки соответственно, блок 21 управления памятью, блок 22 формирования заявок, дна элемента 23 и 24 задержки.
Блок 22 формиронания заявок (фиг. 3) содержит первую, вторую и третью группы триггеров, н которых соответственно обозначены первый и
2K+I триггеры 25 и 26, 27 и 28, 29 и
30; с первого по 2K+I счетчики 31 и
32 заявок, три узла 33-35 приоритета, пять элементов ИЛИ 36-40, дна триггера 41 и 42.
Каждый счетчик 31 и 32 заявок (фиг. 4) содержит элемент ИЛИ 43, ренерсинный счетчик 44, дешифратор
45, элемент 46 задержки, дна триггера 47, 48. ъ
Каждый узел 33-35 приоритета (фиг, 5) содержит группу элементов
И 49 и группу элементов НЕ 50.
Блок 21 управления памятью
S (фиг 6) содержит однонибратор 51, элемент ИЛИ 52 и триггер 53 °
Вычислительная система (фиг. I), .использующая предложенное устройство, работает следующим образом, С помощью магистрали системы в оперативное запоминающее устройство (034)2 центрального МП 1 записываются содержание инструкции, которое необходимо выполнить, и исходные данные, которые необходимы для выполнения инструкции. Под управлени" ем центрального NII с помощью устройства 4 для сопряжения производится перепись содержания инструкций и исходных,данных к ним в ОЗУ 3 общего пользования, например, следующими сообщениями:
Код типа информации определяет назначение информации согласно следуЗО ющей таблицы, Код типа Назначение информации информации
»
Запрещена
Программа инструкции (байт № 1) Программа инструкции (байт № 2) В начале передается номер инструкции, программа выполнения инструкции, а потом номер данных и его значения в ниде байта № 1 и байта № 2. Обращение центрального МП 1 к соответствующему устройству 4 происходит последовательно н порядке, опредеВ режиме ."Запись" данные, которые необходимо записать в ОЗУ 3, посту,пают в блоки 5, 6 под управлением соответствующего местного МП 1, что сопровождается выработкой сигнала логической "I" по выходу квитирования. С выхода блоков 5, б данные поступают на информационные входы пер30 вого мультиплексора 7. При выполнении заявки на запись сообщения в ОЗУ 3 по одному иэ выходов адреса записываемой заявки блока 22 вырабатывается сигнал логической "1", который разрешает прохожчение требуемых данных на выходы первого мультиплексора 7 и первые информационные входы второй группы второго мультиплексора 8. На выходе признака записи бло-«а 22 формируется сигнал логической 40
"1", который устанавливает второй и третий мультиплексоры 8 и 9 в состояние "Запись" при котором на выход второго мультиплексора 8 поступает .информация с его информационных вхо- 45 дов второй группы, а на выход третьего мультиплексора 9 поступает информация с его первого информационного входа. Код с выходов второго и третьего мультиплексоров 8 и 9 образует адрес, по которому в ОЗУ 3 производится запись данных, которые посту:пают с выходов первого мультиплексора 7..После цикла записи, который формируется блоком 21 на выходе вто- 55 рого дешифратора 20, соответствующего адресу записанного сообщения, вырабатывается сигнал логической "1"
1231 ленном выполняемой инструкцией
Каждое устройство 4 может принимать сообщения одновременно от 2K+I местных ОЗУ 2 под управлением соответствующих МП 1. Запись принятых сообщений в соответствующие секции ОЗУ 3 общего пользования происходит последовательно в соответствии с установленным приоритетом. Для каждого ИП 1 в ОЗУ 3 отведена отдельная секция па- 10 мяти, которая находится по номеру
ИП, указанному в сообщении. Далее записанные в ОЗУ 3 сообщения последовательно считываются в устройство
4 в порядке установленного приорите- 15 та. Из устройства 4 передача сообщений в необходимые ОЗУ 2 происходит асинхронно под управлением соответствующих МП 1.
Устройство 4 работает в режимах 2о
"Запись" и "Считывание".
508 4 который поступает. на соответствующий вход сброса записанной заявки блока
22 и сбрасывает заявку на запись сообщения в ОЗУ 3.
В режиме Считывание при выполнении заявки на считывание сообщения из ОЗУ 3 по одному иэ выходов адреса С жтываемой заявки блока 22 вырабатывается сигнал логической "1 который разрешает передачу требуемых данных на соответствующие выходы демультиплексора 10 для записи в соответствующий регистр 13, 14 и информации со входов четвертого мультиплексора ll на его выход, а также формирование требования в блоки 5 и б на вывод считанной информации. На выходе признака записи блока
22 формируется сигнал логической
"1", который устанавливает второй (8) и третий (9) мультиплексоры в режим Считывание, при котором на выход второго мультиплексора 8 поступает информация с его информационных входов первой группы, а на выход третьего мультиплексора 9 — информация с его второго информационного входа.
Код с выходов второго и третьего мультиплексоров 8 и 9 образует адрес, rro которому происходит считывание данных иэ ОЗУ 3 на информационные входы демультиплексора 10 и далее в соответствующий регистр 13, !4. После окончания цикла считывания, который формирует блок 21, на выходе первого дешифратора 19, соответствующего адресу считанного сообщения, вырабатывается сигнал .логической
l,,который поступает на соответствующий вход сброса считанной заявки блока 22 и сбрасывает заявку на считывание сообщения из ОЗУ. В блоках
5, б вырабатывается требование прерывания в унифицированную магистраль для соответствующего МП 1, который в удобное для него время произведет считывание сообщения из соответствующего регистра 13, 14 независимо от работы устройства 4.
Блок 22 формирования заявок (фиг. 3) работает следующим образом.
Заявки на запись сообщения в
ОЗУ 3 поступают по входам заявок на запись и запоминаются в триггерах первой группы 25, 26. Далее при наличии сигнала логической "1" с выхода пятого элемента ИЛИ 40 они переписываются в триггеры второй группы 27, 28, с выходов которых по% 12 ступают на информационные входы второго узла 34 приоритета. Аналогично поступают заявки на считывание сообщений иэ ОЗУ 3 на информационные входы первого узла 33 приоритета с выходов признаков ненулевого состояния счетчиков 31, 32 заявок и на информационные входы третьего узла
35 приоритета с выходов признаков переполнения счетчиков 31, 32 заявок.
С помощью трех узлов 33-35 приоритета определяется заявка., которую необходимо обслужить в данный момент.
Если обслуживается заявка на запись, сообщения в ОЗУ 3, то на одном из выходов второго узла 34 вырабатывается сигнал логической "1", по которому формируется требование прерыва.ния в соответствующую унифицированную магистраль, связанную с устройством 4, и сигнал логической "1" на выходе четвертого элемента ИЛИ 39.
Триггер 41 устанавливается в состояние логической "1", с выхода которого через элемент ИЛИ (40) вырабатывается сигнал логической "1", который запрещает последующий ввод информации в триггеры второй и третьей групп 27, 28 и 29, 30,цо окончания цикла записи. После окончания цикла записи по одному из входов сброса записанной заявки блока 22 поступает сигнал логической "1", который сбрасывает указанную заявку на запись сообщения в ОЗУ 3. С выхода второго элемента ИЛИ 37 вырабатывается сигнал логической "1", который . устанавливает триггер 41 в состояние логического "О", разрешая с по-, мощью пятого элемента ИЛИ (40) прием новой информации в триггеры второй и третьей групп 27,, 28 и 29, 30.
Одновременно с заявками на запись сообщения в ОЗУ 3 поступают за явки иа считывание сообщения из
ОЗУ 3, выполнение которых менее приоритетно. Количество заявок на считывание сообщений из ОЗУ 3, поступающих на первые входы счетчиков
31, 32 заявок, подсчитывается и если они есть и их количество не превышает допустимой величины, то с выходов признаков неравенства нулю соответствующих счетчиков 31, 32 вырабатывается заявка на считывание (сигнал логической "1"), которая аналогично укаэанному запоминается в триггерах третьей группы 29, 30.
31508 6
IO
С выхода триггеров 29, 30 заявка на считывание поступает на информационные входы третьего узла 35 приори" тета ° При обслуживании заявки на счи" тывание сообщения из ОЗУ 3 на одном иэ выходов третьего узла 35 приоритета вырабатывается сигнал логической "1", который поступает на выходы адреса считываемой заявки блока 22 и формирует на выходе третьего элемента ИЛИ 38 сигнал логическои "1", который устанавливает триггер 42 в состояние логической "1" и запрещает прием новой информации в триггеры второй и третьей групп„ После окончания цикла считывания по одному иэ входов сброса считанной заявки вырабатывается сигнал логической "1", который уменьшает на единицу содержание соответству ющего счетчика 31-32 заявок.
В предлагаемом устройстве обеспечена возможность одновременного асинхронного обращения 2К+1 микропроцессоров I к устройству 4 для записи или считывания информации.
Формула изобретения
Устройство для сопряжения процессоров через общую память в многопроцессорной системе, содержащее с первого по третий мультиплексоры, демультиплексор, 2К+1 регистров, где
К число подключаемых процессоров, два элемента задержки, блок формирования заявок и блок управления памятью, о т л и ч а ю щ е е с я тем, что, с целью повьппения быстродействия, в него введены 2К+1 блоков вво-. да-вывода, четвертый и пятый мультиплексоры, 2К+! счетчиков адреса записи, 2К+1 счетчиков адреса считывания, первый и второй дешифраторы, входы-выходы сообщений блоков вводавывода являются входами-выходами шин обмена устройства, выходы сообщений блоков ввода-вывода подключены к информационным входам первого мультиплексора, выход которого является выходом сообщений, записываемых в общую память устройства, информационньгй вход демультиплексора является входом сообщений, считываемых из общей памяти устройства, выходы демуль.типлексора подключены к информационным входам регистров, выходы которых подключены к входам сообщений!
231508 соответствующих блоков ввода-вывода, выходы квитирования которых подключены к входам заявок на запись блок4 формирования заявок и к счетны- входам соответствующих счетчиков адреса записи, выходы которых подключены к информационным входам пятого мультиплексора, выход которого подключен к первому информационному входу третьего мультиплексора, выход tO которого является выходом группы разрядов адреса ячейки общей памяти устройства, выходы второго дешифратора подключены к входам сброса записанной заявки блока формирования заявок и к входам разрешения приема сООт» ветствующих блоков ввода-вывода, выходы первого дешифратора"подключены к входам сброса считанной заявки блока формирования заявок и к счет- 2о ным входам соответствующих счетчийов адреса считывания, выходы которых подключены к информационным входам четвертого мультиплексора, выход которого подключен к второму информа- 25 ционному входу третьего мультиплексора, выходы адреса записываемой заявки блока формирования заявок подключены к входам управления первого и пятого мультиплексоров, выходы ад- ЗО реса считываемой заявки подключены к входам управления четвертого мультиплексора, к информационным входам первой группы второго мультиплексора и к входам разрешения передачи соответствующих блоков ввода-вывода, выход признака записи блока формирования заявок подключен к первым входам управления второго и третьего мультиплексоров, к первому входу бло- 40 ка управления памятью и через первый элемент задержки — к входу стробирования первого дешифратора, выход признака считывания блока формирования заявок подключен к вторым 45 входам управления второго и третьего мультиплексоров, к второму входу блока управления памятью и через второй элемент задержки — к входу стробирования второго дешифратора, первый и второй выходы блока управления памятью являются выходами режима и стробирования общей памяти устройства соответственно, выходы разрядов адреса выхода первого мульти- 55 плексора подключены к информационным входам второй группы второго мультиплексора, выходы которого подключены к входам первого .и второго дешифраторов и являются выходами группы разрядов адреса секции общей памяти устройства, причем блок формирования заявок содержит три группы триггеров, группу счетчиков заявок, три узла приоритета, пять элементов ИЛИ и два триггера, входы установки триггеров первой группы являются входами заявок на запись блока формирования заявок, входы сброса триггеров третьей группы соединены с вычитающими входами соответствующих счетчиков заявок группы, с входами первого элемента ИПИ и являются входами сброса считанной заявки блока формирования зая.вок, входы сброса триггеров первой группы соединены с входами сброса соответствующих триггеров второй группы, суммирующими входами соответствующих счетчиков заявок группы, с входами второго элемента ИЛИ и являются входами сброса записанной заявки блока формирования заявок, выходы триггеров первой группы подключены к информационным входам соответствующих триггеров второй группы, выходы которых подключены к информационным входам второго узла приоритета, выходы которого,подключены к входам четвертого элемента
ИЛИ и являются выходами адреса записываемой заявки блока формирования заявок, выходы переложения счетчиков заявок группы подключены к информационным входам соответствующих триггеров третьей группы, выходы ко.торых подключены к информационным входам третьего узла приоритета, выходы которого поразрядно объединены через МОНТАЖКОЕ ИЛИ с входами первого узла приоритета и подключены к входам третьего элемента ИЛИ и являются выходами адреса считываемой заявки блока формирования заявок, выходы первого и второго элементов
ИЛИ подключены к входам установки первого и второго триггеров соответственно, входы сброса которых подключены к выходам третьего и четвертого элементов ИЛИ соответственно, выходы первого и второго триггеров являются выходами признаков считывания и записи блока формирования зая вок н подключены к первому и второму входам пятого элемента ИЛИ, выход которого подключен к входам синхронизации триггеров второй и третьей о l23I50$ 9 групп, выходы признаков нулевого сос- 2. Устройство по и. 1, о т л и— тояння счетчиков заявок подключены ч а ю щ е е с я тем, что блок упк информационным входам первого уэ- равления памятью содержит триггер, ла приоритета, вход разрешения кото- элемент ИЛИ и одновибратор, входы рого является входом пуска блока Фор- g установки и сброса триггера подклюмирования заявок, инверсные выходы чены к первому и второму входам элемладших разрядов выходов первого и мента ИЛИ и являются первым и вторым втоРого Узлов пРиоРитета подключены входами блока, выход триггера являк входам разрешения второго и тре- ется первым выходом блока, выход тьего Узлов пРиоРитета соответствен- 10 элемента ИДИ соединен через одновибно. ратор с вторым выходом блока.!
23!508
1231508
2Г1
Корректор М. Самборская
Заказ 2652/52 Тираж 671 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4
Г
t
1 ! !
Составитель А.Ушаков
Редактор М.Келемеш Техред И.Гайдош
1.
I