Многопроцессорная вычислительная система
Иллюстрации
Показать всеРеферат
ОПИСАНИ
ИЗОБРЕТЕН И
Сова Советских
Социалистических
Республик (61) Дополнительное к авт, свид-ву (22) Заявлено 08.04.77 (21) 2476352/18-24 с присоединением заявки № (23) Приоритет (43) Опубликовано 30.06.79. Бюллетень ¹ (45) Дата опубликования описания 30.06.7
Государственный комитет по делам изобретений (72) Авторы изобретения
В. М. Долкарт, И. Р. Крамфус, P. P. Пурэ, В. Н. Степанов и А. Н. Федосеев (71) Заявитель (54) МНОГОПРОЦЕССОРНАЯ ВЫЧИСЛИТЕЛЪНАЯ
СИСТЕМА
Изобретение относится к вычислительной технике, в частности к проектированию многопрограммных, многопроцессорных систем.
Известна многопроцессорная вычислительная система (1), содержащая связанные между собой процессоры, блок управления прерыванием и оперативное запоминающее устройство (ОЗУ), причем каждый процессор включает в себя блок сопряжения с
ОЗУ, операционный блок, блок управления и синхронизации, регистр текущего приоритета, схемы сравнения и блок контроля.
К недостатку данной системы относятся большие затраты врсмени на переключение задач.
Из известных многопроцессорных вычислительных систем наиболес близкой по технической сущности к изобретению является многопроцессорная вычислительная система (2). Она содержит процессоры, устройство управления прерыванием и оперативное запоминающее устройство, входы и выходы которого соединены соответственно с первыми выходом и входом каждого из процессоров, второй выход каждого из процессоров подключен к соответствующим входам других процессоров, причем каждый из процессоров содержит блок сопряжения, первые вход и выход которого соединены соответственно с первыми входом и выходом процессора, блок выполнения операций, первый выход которого соединен с вторым входом блока сопряжения, вто5 рой выход которого соединен с первым входом блока выполнения операций, вторым выходом подключенного к входу блока контроля. Выход блока контроля соединен с первым входом блока управления и
10 синхронизации, первый выход которого связан с вторым входом блока выполнения операц ш, третий выход которого через последовательно соединенные первый элемент
И и элемент ИЛИ подключен к первому
15 входу регистра текущего приоритета. Второй вход последнего соединен с вторым выходом блока управления и синхронизации, а выход — с вторым входом процессора, первым входом схемы сравнения приоритетов и первым входом схемы сравнения, выход которой сосдинсн с вторым входом блока управления и синхронизации, третьим выходом подключенного через группу триггеров блокировки к первым входам
25 гру пы элементов И, вторыс входы которых соединены с соответствующими входами процессора, а выходы — с входами схемы сравнения приоритетов. Выход последней связан с ьторым входом схемы сравнения, 30 третий вход которой соединен с вторым
670937 входом процессора и с первым входом второго элемента И, выход которого подключен к входу элемента ИЛИ, а второй вход соединен с вторым входом первого элемента И и четвертым выходом блока управления и синхронизации.
Недостатками известной многопроцессорной вычислительной системы являются большие затраты оборудования на реализацию приоритетного распределения задач по процессорам и большие затраты времени на переключение задач.
Цель изобретения — упрощение и увеличение быстродействия системы.
Поставленная цель достигается тем, что в многопроцессорной вычислительной системе устройство управления прерыванием содержит блок приоритетного выбора запросов, блок установки регистра заполненных очередей, регистр заполненных очередей и блок определения старшей единицы, причем третьи выходы процессоров соединены с входами устройства управления прерыванием и входами блока приоритетного выбора запросов, выходом подключенного к входу блока установки регистра заполненных очередей, выход которого через регистр заполненных очередей соединен с входом блока определения старшей единицы, выходом связанного с выходом устройства управления прерыванием и с вторым входом каждого из процессоров, третий выход которого подключен к первому выходу введенного в каждый процессор блока занесения в очередь, второй выход которого соединен с третьим входом блока сопряжения, а вход — с четвертым выходом блока выполнения операций.
Схема системы показана на чертеже.
Она содержит процессоры 1, оперативное запоминающее устройство (ОЗУ) 2, устройство 3 управления прерыванием, причем каждый из процессоров включает в себя блок 4 сопряжения, блок 5 выполнения операций, блок 6 управления и синхронизации, блок 7 контроля, регистр 8 текущего приоритета, схему 9 сравнения приоритетов, схему 10 сравнения, блок 11 занесения в очередь. Устройство 3 управления прерыванием содержит блок 12 приоритетного выбора запросов, блок 13 установки регистра заполненных очередей, регистр 14 заполненных очередей, блок 15 определения старшей единицы. В вычислительную систему входят также элементы И 16, 17, группа элементов И 18, 19, элемент ИЛИ
20, группа триггеров 21, 22 блокировки.
Обработка информации в процессоре 1 производится блоком 5, который обменивается информацией с ОЗУ 2 с помощью блока 4 сопряжения. Управляющие и синхронизирующие импульсы, необходимые для функционирования процессора, вырабатываются блоком 6 управления и синхронизации. При этом первый его выход син5
65 хронизирует работу блока 5, второй выход — изменение регистра 8 текущего приоритета, третий выход — прием информации в триггеры 21, 22 блокировки, а четвертый выход — прием информации в регистр 8 текущего приоритета.
Блок 7 контролирует работу блока 5.
Г1ри наличии сбоя блок 7 контроля передает информацию о сбое в блок 6 управления и синхронизации, который через четвертый выход устанавливает наивысший приоритет в регистре 8 текущего приоритета и осуществляет переход в диагностический режим для локализации места неисправности.
Многопрограммная работа в данной многопроцессорной системе организуется следующим образом.
Операционная система, размещая программы в памяти, присваивает каждой программе приоритет (возможно присвоение одинакового приоритета нескольким программам). Для каждого из возможных значений приоритета операционная система формирует очередь программ. При этом часть очередей может быть пустой, если в текущий момент в системе отсутствуют заявки на выполнение программ с данными приоритетами.
Распределение программ по процессорам происходит с помощью устройства 3 управления прерыванием. Занесение программы в очередь процессором 1 осуществляется путем передачи информации из блока 5 через его четвертый выход в блок 11 занесения в очередь, который через второй выход передает информацию программы в ОЗУ 2, а через первый выход — запрос и номер приоритета программы на третий выход процессора 1, который соединен с входом блока 12. Блок 12 приоритетного выбора запросов при одновременном обращении к нему нескольких процессоров 1 выбирает наиболее приоритетный (по позиционному приоритету) и передает номер приоритета программы в блок 13 установки регистра заполненных очередей, который устанавливает в «1» соответствующий разряд в регистре 14.
Таким образом, по мере занесения операционной системой программы в очереди разных приоритетов в регистре 14 устанавливаются единицы в разрядах, соответствующих приоритетам непустых очередей.
Блок 15 определения старшей единицы формирует на выходе двоичный код наиболее приоритетной непустой очереди.
При выполнении текущей программы на процессоре 1 блок 5 через схемы И 17, ИЛИ 20 заносит приоритет выполняемой программы в регистр 8 текущего приоритета.
Аппаратура процессоров непрерывно сравнивает приоритеты выполняемых программ во всех процессорах и тот процессор, чья программа имеет самый низкий прио670937
25 ритет, становится кандидатом на прерывание. Этот процессор по состоянию регистра
14 проверяет, есть ли в списке очередей программа с приоритетом более высоким, чем та, которую он исполняет. Если такая программа есть, то процессор — кандидат на прерывание прерывает исполнение текущей программы, заносит ее в список очередей и выбирает из списка для исполнения программу с высшим приоритетом.
Работает аппаратура следующим образом.
В каждом процессоре схема 9 сравнивает текущие приоритеты данного и других процессоров и вырабатывает на выходе единичный сигнал, если текущий приоритет данного процессора меньше текущих приоритетов других процессоров. Группа элементов И 18, 19, управляемых триггерами
21, 22 блокировки, служит для отключения от схемы 9 сравнения приоритетов процессоров, которые не участвуют в работе (например, процессоров, в которых зафиксирован отказ или которые находятся на профилактике). Установка триггеров блокировки осуществляется операционной системой через третий выход блока 6 управления и синхронизации.
При наличии единицы на выходе схемы 9 сравнения приоритетов включается схема
10, которая сравнивает содержимое регистра 8 текущего приоритета с выходом блока
15 определения старшей единицы устройства 3 управления прерыванием. Если содержимое регистра текущего приоритета меньше кода на выходе блока определения старшей единицы, то это означает, что в списке очередей есть программа с приоритетом более высоким, чем программа, исполняемая данным процессором.
При этом выходной сигнал со схемы 10 сравнения поступает на второй вход блока
6 управления и синхронизации, который через блок 5 и блок 11 осуществляет занесение в очередь текущей программы, а через блок 4 сопряжения — выборку из ОЗУ 2 задачи из очереди с приоритетом, соответствующим коду на выходе блока 15 определения старшей единицы. Если из очереди данного приоритета выбрана последняя программа, то блок 5 через блоки 11, 12 и
13 гасит соответствующий разряд регистра 14.
Таким образом, устройство 3 управления прерыванием осуществляет распределение программ по процессорам 1, выбирая из очередей программы высшего приоритета.
Введение регистра 14 заполненных очередей и блока 15 определения старшей единицы в устройство 3 управления прерыванием позволяет непрерывно сравнивать приоритеты задач, решаемых на процессорах 1, и задач, занесенных в приоритетные очереди, Это сокращает время переключе30
G0
65 ния задач и повышает быстродействие системы.
Формула изобретения
Многопроцессорная вычислительная система, содержащая процессоры, устройство управления прерыванием и оперативное запоминающее устройство, входы и выходы которого соединены соответственно с первыми выходом и входом каждого из процессоров, второй выход каждого из процессоров соединен с соответствующими входами других процессоров, причем каждый из процессоров включает блок сопряжения, первые вход и выход которого соединены соответственно с первыми входом и выходом процессора, блок выполнения операций, первый выход которого соединен с вторым входом блока сопря>кения, второй выход которого соединен с первым входом блока выполнения операций, второй выход которого соединен с входом блока контроля, выход которого соединен с первым входом блока управления и синхронизации, первый выход которого соединен с вторым входом блока выполнения операций, третий выход которого через последовательно соединенные первый элемент И и элемент ИЛИ подключен к первому входу регистра текущего приоритета, второй вход которого соединен с вторым выходом блока управления и синхронизации, а выход соединен с вторым входом процессора, первым входом схемы сравнения приоритетов и первым входом схемы сравнения, выход которой соединен с вторым входом блока управления и синхронизации, третий выход которого через группу триггеров блокировки соединен с первыми входами группы элементов И, вторые входы которых соединены с соответствующими входами процессора, а выходы— с входами схемы сравнения приоритетов, выход которой соединен с вторым входом схемы сравнения, третий вход которой соединен с вторым входом процессора и с первым входом второго элемента И, выход которого подключен к входу элемента ИЛИ, а второй вход соединен с вторым входом первого элемента И и четвертым выходом блока управления и синхронизации, о тл ич а ю щ а я с я тем, что, с целью упрощения и увеличения быстродействия, в ней устройство управления прерыванием содержит блок приоритетного выбора запросов, блок установки регистра заполненных очередей, регистр заполненных очередей и блок опрсделения старшей единицы, причем третьи выходы процессоров соединены с входами устройства управления прерыванием и входами блока приоритетного выбора запросов, выход которого соединен с входом блока установки регистра заполненных оче редей, выход которого через регистр заполненных очередей соединен с входом блока
670937 определения старшей единицы, выход которого соединен с выходом устройства управления прерыванием и вторым входом каждого из процессоров, третий выход которого соединен с первым выходом введенного в каждый процессор блока занесения в очередь, второй выход которого соединен с третьим входом блока сопряжения, а вход
Составитель А. )Керенов
Техред А. Камышникова
Редактор И. Грузова
Корректоры: В. Дод и Л. Брахнина
Заказ 1310/12 Изд. № 388 Тираж 779
ЦНИИПИ НПО «Поиск» Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 475
Подписное
Типография, пр. Сапунова, 2
Г7 ! ! ! ! ! ! ! ! ! !
8 соединен с четвертым выходом блока выполнения операций.
Источники информации, принятые во внимание при экспертизе
5 1. Патент США № 3533082, кл. 340 — 172.5, опублик. 1970.
2. Патент США № 3421150, кл. 340 — 172.5, опублик. 1969.