Мультимикропроцессорная система

 

Союз Советскик

Социалистических

Республик

ОПИСАНИЕ

ИЗОБРЕТЕН ИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ ()907551 (6l ) Дополнительное к авт. с вид-ву(22) заявлено 07. 01. 80 (21) 2899929/18-24 (5 I ) М. Кл.

G 06 F 15/16 с присоединением заявки М)ооуаарстаснвыИ квинтет

{23) Приоритетво делан изобретений и открытий

Опубликовано 23 . 02 . 82 . Бюллетень Рй 7

Дата опубликования описания 25 . 02 . 82 (53) УДК 681 ° 3 (088. 8),В. Н. Заблоцкий, В. В. Грек, Д. И. Ка раба н ь г — -.--. и В. Е. Спасский

f:;;. ."

1:; .. 1

1 i

Ф (72) Авторы изобретения (7l) Заявитель (54) МУЛЬТИМИКРОПРОЦЕССОРНАЯ СИСТЕМА

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

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

1О системах функции регулировщика и системных примитивов реализованы в виде набора программ ядра операционной системы(ОС) и могут выполняться любым микропроцессорным блоком 1) и т1 2).

IS

Недостатком этих систем являются большие затраты времени на управление и синхронизацию процессов.

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

Микропроцессор распределения ресурсов выполняет здесь функции регулировщика (5).

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

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

3 9015 ций управления процессами, что вызывает снижение производительности системы в целом.

Цель изобретения - повышение производительности системы.

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

20 данных - с информационным входом-выходом запоминающего устройства, блок коммутации, включающий регистр запросов, первые группы элементов И, элементов ИЛИ, элементов НЕ, два элемента ИЛИ, два элемента НЕ, элемент И, выход которого соединен с первым управляющим входом микропроцессорного блока ввода-вывода, второй и третий управляющие входы и атоЗ0 рой, третий и четвертый управляющие выходы которого соединены соответственно со вторым и третьим управляющими выходами и с первым и вторым управляющими входами устройства связи с памятью и со входом первого разряда регистра запросов, выход первого разряда регистра запросов блока коммутации соединен с первыми входами элемента И и первого элемента ИЛИ блока коммутации, выход первого элемента ИЛИ блока коммутации через первый элемент HE соединен со входом синхронизации регистра запросов, выходы элементов И первой группы соединены с первым управляющим входом исполнительного микропроцессорного устройства, второй управляющий вход и второй и гретий управляющие выходы которого соединены соответственно со вторым управляющим выходом и с первым управляющим входом микропроцессорного блока распределения ресурсов и со входами первой группы разрядов регистра запросов, вы" ходы последнего разряда первой группы разрядов и последнего разряда второй группы разрядов регистра запросов блока коммутации соединены с первыми входами соответственно второго элемента ИЛИ и первого элемента ИЛИ первой группы блока коммутации, первые входы остальных элементов ИЛИ первой группы соединены с выходами оставшихся разрядов первои группы регистра запросов, первые и вторые входы элементов И первой группы блока коммутации соединены соответственно с выходами разрядов первой группы регистра запросов и через элементы НЕ первой группы — с выходами элементов ИЛИ первой группы, выход каждого предыдущего элемента ИЛИ первой группы блока коммутации соединен со вторым входом последующего элемента ИЛИ первой группы, а выход последнего элемента

ИЛИ первой группы соединен со вторым входом второго элемента ИЛИ блока коммутации, выход которого соединен со вторым входом первого элемента ИЛИ и через второй элемент НЕсо вторым входом элемента И блока коммутации, третий управляющий выход и второй управляющий вход микропроцессорного блока распределения ресурсов соединены соответственно со входом и выходом второго разряда регистра запросов, s управляющее микропроцессорное устройство дополнительно введены микропроцессорный блок создания процесса, микропроцессорный блок уничтожения процесса, микропроцессорный блок передачи сообщения, микропроцессорный блок приема сообщения, два управляющих регистра, семь элементов ИЛИ, а в блок коммутации введены вторые группы элементов ИЛИ, элементов НЕ и элементов

И, причем первые управляющие входы и выходы, вторые управляющие выходы, адресные выходы и информационые входы-выходы микропроцессорных блоков создания процесса, уничтожения процесса, передачи сообщения, приема сообщения соединены соответственно с выходом второй группы элементов И, со входом второй группы разрядов регистра запросов, с управляющим входом, через шину адреса с адресным входом и через шину данных с информационным входом-выходом запоминающего устройства, первый и второй управляющие входы и второй и третий управляющие выходы микропроцессорного блока синхронизации соединены соответственно с выходом второй группы элементов И, с выходом первого элемента ИЛИ управ90 !551

)0

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

ИЛИ управляющего микропроцессорного устройства, с вторым входом пятого элемента ИЛИ, выход которого соединен с вторым управляющим входом микропроцессорного блока приема сог0

Зо

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

НЕ второй группы, вход первого элемента НЕ второй группы соединен с выходом второго разряда регистра запросов, входы остальных элементов НЕ второй группы соединены с выходами соответствующих элементов ИЛИ второй группы, выход каждого предыдущего элемента ИЛИ второй группы соединен с вторым входом последующего элемента ИЛИ второй группы, выход последнего элемента ИЛИ второй группы соединен с вторым входом первого элемента ИЛИ первой группы.

На фиг. l показана блок-схема мультимикропроцессорной системы; на фиг. 2 - блок-схема исполнительного микропроцессорного устройства; на фиг. 3 - структура микропроцессорного блока; на фиг. 4 — структура микропроцессорного узла; на фиг. 5 структура узла прерывания микропроцессорного блока; на фиг. 6 - блоксхема запоминающего устройства; на

Фиг 7 " структура блока памяти запоминающего устройства; на фиг.8структура блока коммутации; на фиг.9блок-схема устройства связи с памятью

) на фиг. 10 - структура блока управления устройства связи с памятью; на фиг. 11 - структура блока регистров устройства связи с памятью;на. фиг.12-блок-схема управляющего микропроцессорного устройства.

7 9075

Система содержит исполнительное микропроцессорное устройство 1, запоминающее устройство 2, блок 3 коммутации, микропроцессорный блок 4 распределения ресурсов, микропроцес- 5 сорный блок 5 ввода-вывода, устройство 6 связи с памятью, управляющее микропроцессорное устройство 7.

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

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

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

Микропроцессорный блок 4 распределения ресурсов предназначен для назначения процессов исполнительному микропроцессорному устройству 1.

Микропроцессорный блок 5 ввода-вы-З0 вода предназначен для управления операциями ввода-вывода информации.

Устройство 6 связи с памятью предназначено для организации режима прямого доступа при обмене массивами данных между запоминающим устройством 2 и внешними устройствами (на фиг. 1 не показаны).

Управляющее микропроцессорное устройство 7 предназначено для выполнения функций системных примитивов.

Первые управляющие выходы, информационные входы-выходы и адресные выходы исполнительного микропроцессорного устройства 1, микропроцессорного блока 4 распределения ресурсов, микропроцессорного блока 5 ввода-вывода, устройства 6 связи с памятью и управляющего микропроцес50 сорного устройства 7 связаны соответственно с управляющим входом, через шину 8 данных с информационными входом-выходом и через шину 9 адреса с адресным входом запоминающего устройства 2. Третьи управляющие

55 выходы исполнительного микропроцессорного устройства 1 и микропроцес" сорного блока 4 распределения песув51 8 сов, микропроцессорного блока 5 ввода-вывода и управляющего микропроцессорного устройства 7 соединены соответственно линиями 10-13 с первым-четвертым входами блока 3 комму" тации, а их управляющие входы связаны соответственно линиями 14-17 с первым-четвертым выходами блока 3 коммутации.

Исполнительное микропроцессорное устройство 1 содержит исполнительные микропроцессорные блоки 18.1-:

18.п и регистр 19 (фиг.2).

Исполнительные микропроцессорные блоки 18.1-, 18.п предназначены для выполнения команд обрабатываемых пользовательских и системных процесcos.

Регистр 19 предназначен для приема и хранения кодов прерываний исполнительных микропроцессорных блоков 18. 1-18.п, Исполнительный микропроцессорный блок 18.К содержит группу микропроцессорных узлов 20.1-.20,8, регистр

21 адреса микрокоманд, узел 22 памяти микрокоманд, регистр 23 микрокоманд, узел 24 прерывания, регистр

25 расширения (фиг.3).

Микропроцессорные узлы 20.1-:20.8 предназначены для выполнения арифметических и логических операций, а также операций сдвигов и переносов.

Регистр 21 адреса микрокоманд предназначен для формирования адреса микрокоманды, следующей за исполняемой, а также для стробирования узла

24 прерывания по входу 26.

Узел 22 памяти микрокоманд предназначен для хранения и выдачи микрокоманд и содержит матрицу запоминающих элементов. В узле 22 памяти микрокоманд каждого исполнительного микропроцессорного блока 18.1-.18.п за" писана микропрограмма обработки обращения к ядру операционной системы, обработки прерывания от микропроцессорного блока 4 распределения ресурсов и интерпретации принятой системы команд.

Регистр 23 микрокоманд предназначен для приема кодов микрокоманд из узла 22 памяти микрокоманд и формирования управляющих сигналов во все узлы исполнительного микропроцессорного блока 18.К.

907551

Узел 24 прерывания предназначен для приоритетного выбора запросов на прерывание и идентификации источника прерывания.

Регистр 25 рас . ирения предназна- 5 чен для занесения, хранения и выдачи адреса блоков памяти запоминающего устройства 2.

Микропроцессорный узел 20.i представляет собой двухразрядную процессорную секцию и содержит регистр

27 адреса памяти, накапливающий регистр 28, операционный элемент 29, дешифратор 30, первый коммутатор 31, второй коммутатор 32, элемент 33 памяти, первый выходной буфер 34, второй выходной буфер 35 (фиг. 4) .

Регистр 27 адреса памяти предназначен для формирования и хранения адреса при обращении к запоминающему 20 устройству 2.

Накапливающий регистр 28 предназначен для запоминания результатов операций операционного элемента 29 и содержит два триггера. 25

Операционный элемент 29 предназначен для выполнения арифметических и логических операций и содержит группу логических элементов И, ИЛИ, НЕ.

Дешифратор 30 предназначен для преобразования состояния поля функций микрокоманд в последовательность сигналов управления элементами микропроцессорного узла 20.i.

Первый и второй коммутаторы 31 и

32 предназначены для коммутации сигналов на входах операционного элемента 29.

Элемента 33 памяти предназначен 40 для временного хранения результатов операций, выполняемых операционным элементом 29, и содержит группу двухразрядных регистров.

Первый выходной буфер 34 предназначен для подключения выхода регистра 27 адреса памяти к адресной шине

9 и содержит группу логических элементов.

Второй выходной буфер 35 предназначен для подключения выхода накапливающего регистра 28 к шине 8 данных и содержит группу логических элементов.

Узел 24 прерывания содержит шифратор 36, регистр 37 текущего приоритета, элемент 38 сравнения, регистр

39 запросов (фиг.5).

Шифратор 36 предназначен для формирования кода прерывания и выработки сигнала подтверждения прерывания

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

Элемент 38 сравнения предназначен для сравнения кода текущего приоритета и кода запроса на прерывание.

Реги стр 39 запросов предназначен для хранения запросов от источников прерывания.

Запоминающее устройство 2 содержит дешифратор 40 адреса блока памяти и группу блоков 41.1-. 41.m памяти (фиг.6).

Дешифратор 40 адреса блока памяти предназначен для преобразования кода адреса блока памяти в сигналы запуска блоков памяти, Блоки памяти 41.1-, 41.m предназначены для записи, хранения и считывания информации.

Блок 41 памяти содержит дешифратор 42, первый триггер 43, элемент

И 44, второй триггер 45, первый, второй, третий и четвертый элементы 4649 задержки, группу запоминающих элементов 50 (фиг.7).

Дешифратор 42 предназначен для преобразования кода адреса в сигналы выборки запоминающих элементов, Первый триггер 43 предназначен для формирования сигнала "Хранение".

Второй триггер 45 предназначен для формирования сигнала "Запись/

Чтение" для группы запоминающих элементов 50.

Группа запоминающих элементов 50 предназначена для хранения информации и представляет собой матрицу полупроводниковых кристаллов.

Блок 3 коммутации содержит первую группу элементов И 51.1.- 51.п, элемент И 52, вторую группу элементов

И 53.1i-53.5, первую группу инверторов 54.1-54.п, первый инвертор 55, вторую группу инверторов 56,1=.56.5, второй инвертор 57, первую группу элементов ИЛИ 58.1- .58.п, первый элемент ИЛИ 59, вторую группу элементов ИЛИ 60.1-. 60.4, второй эле" мент ИЛИ 61, регистр 62 запросов (фиг.8).

Регистр 62 запросов предназначен для приема и хранения запросов на обращение к общей памяти.

Первый, второй, третий и четвертый ыходы блока 3 коммутации подключены

907551

12 соответственно к выходам первой группы элементов И 51.1;51.п, через линии 14.1- 14.п к старшему разряду регистра 62 запросов, к выходу элемента И 52 и через линии 17.1-, 17.5 к вы- 5 ходам второй группы элементов И 53.1- .

53.5. Первые входы пеовой группы элементов И 51.1т51.п, элемента И 52 и второй группы элементов И 53.1- 53.5 соединены соответственно с выходами первой группы инверторов 54.1-:54.п, с выходом первого инвертора 55 и с выходами второй группы инверторов

56.1-: 56.5. Число элементов И 51.1- .

51.п; 52.53.1-53.5, число инверторов

54 . 1 54. и; 55, 56. 1- 56. 5 и число элементов ИЛИ 58.1 58.п; 59,60.1- .60.4, 61 на единицу меньше числа разрядов регистра 62 запросов. Каждый разряд регистра 62 запросов, кроме старшего 20 разряда, связан со вторым входом соответствующего элемента И 51. 1-. 51.п;

52,53. 1 53.5 и с первым входом соответствующего элемента ИЛИ 58.1-,58.п;

59,60.1-60.4. 61.Старший разряд регист- 5 ра 62 запросов подключен ко входу инвертора 56.1 и ко второму входу элемента ИЛИ 60.1. Выход элемента

ИЛИ 58.i первой группы соединен со входом инвертора 54.i первой группы 30 и со вторым входом элемента ИЛИ 58.п.

Выход элемента ИЛИ 58, связан со вторым входом первого элемента ИЛИ 59, выход которого подключен ко входу первого инвертора 55 и ко второму входу второго элемента ИЛИ 61 . Выход элемента ИЛИ 60.i соединен со входом инвертора 56, i+1 и со вторым входом элемента ИЛИ 60. 1+1. Выход элемента ИЛИ 60.4 подключен ко второму вхо- 40 ду элемента ИЛИ 58.1. Выход второго элемента ИЛИ 61 связан через второй инвертор 57 с управляющим входом регистра 62 запросов, установочные sxoды которого подключены соответствен- 45 но к первому входу через линии 10.1т

10„n ко второму входу, к третьему входу и через лчнии 13. 1- .13.5 к четвертому входу блока 3 коммутации.

Синхронизирующий вход регистра 62 за- 50 просов по линии 26 соединен с выходом генератора синхросигнагов (на фиг.8 не показан).

Структура микропроцессорного блока 4 распределения ресурсов и микропроцессорного блока 5 ввода-вывода

55 аналогична структуре исполнит"льного микропроцессорного блока 18.К, представленной на фиг.3. В узле 22 памяти микрокоманд микропроцессорного блока 4 распределения ресурсов записана микропрограмма, выполняющая системные функции регулировщика, назначающего процессы для обработки в исполнительном микропроцессорном устройстве 1, а также микропрограмма обработки прерываний от исполнительного микропроцессорного устройства и управляющего микропроцессорного устройства 7. В узле 22 памяти микрокоманд микропроцессорного блока 5 ввода-вывода записана микропрограмма, реализующая операции ввода-вывода, а также микропрограмма обработки прерываний от устройства 6 связи с памятью.

Устройство 6 связи с памятью содержит счетчик 63 адреса записи, счетчик 64 длины записи, регистр 65 режима работы, коммутатор 66, блок

67 регистров, блок 68 управления, переключатель 69, регистр 70 запросов, шифратор 71, буферный узел 72 (фиг.9).

Счетчик 63 адреса записи предназначен для хранения и модификации адресов передаваемых данных.

Счетчик 64 длины записи предназначен для хранения и модификации кодов длины передаваемых записей.

Регистр 65 режима работы предназначен для указания направления передачи данных.

Коммутатор 66 предназначен для передачи данных, поступающих с шины

8 данных, пь двум направлениям.

Блок 67 регистров предназначен для хранения, записи и чтения адресов записей, кодов длин записей и кодов режимов передачи.

Блок 68 управления предназначен для формирования временной последовательности сигналов управления узлами устройства 6 связи с памятью.

Переключатель 69 предназначен для переключения сигналов на входе блока 67 регистров и содержит логические элементы И, ИЛИ, HE.

Регистр 70 запросов предназначен для записи и хранения запросов на прерывание от внешних устройств по входу 73. шифратор 71 предназначен для идентификации источников запросов на прерывание. Выход 74 устройства

6 связи соединен с внешними устройствами.

iлительной системы

13. 307

Блок 68 управления содержит первый триггер 75, первый элемент И 76, первый элемент ИЛИ 77, второй элемент

И 78, второй триггер 79, третий элемент И 80, дешифратор 81, счетчик

82, второй элемент ИЛИ 83 (фиг.10).

Первый триггер 75 предназначен для формирования сигнала разрешения режима ."Передача".

Второй триггер 79 предназначен 1в для формирования сигнала разрешения режима "Программирование канала".

Дешифратор 81 предназначен для формирования сигнала "Чтение", "Запись" "+1", "Сброс". l5

Счетчик 82 предназначен для формирования последовательности кодов управления.

Блок 67 регистров содержит первый, второй и третий дешифраторы 84- 2о

86, первую группу регистров 87.1-:

87.8 и вторую группу регистров 88.1-.

88.8 (фиг.11).

Дешифраторы 84-86 предназначены для преобразования кодов адресов ре- 25 гистров в сигналы "Чтение", "Запись"

1)Сб «ос!

Первая группа регистров 87.1-:87.8 предназначена для хранения адресов записей. 30

Вторая группа регистров 88.1-. 88.8 предназначена для хранения кодов длин записей.

Управляющее микропроцессорное устройство 7 содержит микропроцессорный

35 блок 89 синхронизации, микропроцессорный блок 90 создания процесса, микропроцессорный блок 91 уничтожения процесса, микропроцессорный блок

92 передачи сообщения, микропроцес" сорный блок 93 приема сообщения, пер" вый регистр 94, второй регистр 95, первый - седьмой элементы ИЛИ 96

102 (фиг.12).

Иикропроцессорный блок 89 синхро45 низации .предназначен для синхронизации микропроцессорных блоков 4, 9О-.

93 при обращении к системным сема" форам. Структура микропроцессорного блока 89 синхронизации аналогична структуре исполнительного микропро50 цессорного блока 18.К, представленной на фиг.3. В узле 22 памяти микрокоманд микропроцессорного блока

89 синхронизации записана микропрограмма просмотра .указателей системных 55 семафоров по сигналам прерываний.

Иикропроцессорный блок 90 созда.ния процесса, микропроцессорный

551 14 блок 91 уничтожения процесса, микро. процессорный блок 92 передачи сообщения. и микропроцессорный блок 93 приема сообщения предназначены соответственно для выполнения системных функций по созданию и уничтожению процессов, по передаче и приему сообщений. Их структуры аналогичны структуре исполнительного микропроцессорного блока 18.К, представленной на фиг.3. В узле 22 памяти микрокоманд каждого микропроцессорного блока 90-;93 записаны микропрограмма обработки прерываний и микропрограмма соответствующего системного примитива.

Первый 94 и второй 95 регистры предназначены для приема и хранения кодов причин прерываний.

Система работает следующим образом.

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

В мультимикропроцессорных системах, работающих в режиме мультипрограмиирования мультиобработки, в данный период времени на обслуживании находится пакет заданий, каждое из которых представлено совокупностью процессов. Понятие процесса <в качестве основной единицы обработки), используется в вычислительной технике как необходимое средство представления задач,. выполняемых одновременно и параллельно и конкурирующих друг с другом при обращении к общим ресурсам внутри вычисПроцесс " это часть задания (или задание) пользователя, образующая независимую ветвь и выполняемая параллельно с другими ветвями (процес" сами) этого задания и других заданий. Процесс включает в себя операторы пользователя, области сохранения информации при прерываниях и управляющую информацию для связи с другиии процессами, Управляющая информация, представляющая достаточную автономность процессу, оформляется в виде таблицы управления процессом (ТУП). Процесс находится в одном иэ

15 9075 трех возможных состояний: активности (процессу выделен процессор и его программы выполняются в данный момент), готовности (процесс готов к . выполнению, но ожидает освобождения одного из процессоров) и блокировки (процесс ожидает наступления некоторого события, например, сообщения от другого процесса ). Управление процессами в мультимикропроцессорных to системах осуществляется ядром операционной системы (ОС), которое включает в себя следующие компоненты, планировщик нижнего уровня (регулировщик), средства создания /уничто- >s жения процессов в системе, средства общения процессов, средства синхронизации процессов. Регулировщик обеспечивает параллельность выполнения процессов в системе, учет состояний 2О всех процессов в системе, изменение состояний процессов, выбор готовых процессов и назначение им процессоров . Средства создания / уничтожения процессов используются для оформле- 2s ния заданий и независимых частей заданий в виде процессов, а также для вывода выполненных процессов из контура обслуживания. Средства общения процессов обеспечивают возможность зв обмена сообщениями между процессами.

Средства создания/ уничтожения и общения процессов являются системными примитивами, входящими в ядро 0С и реализующими взаимодействие пользо35 вателя с управляющими программами OC.

Средства синхронизации обеспечивают координацию процессов при обращении к общим 6есурсам системы (например, P u V - операции над семафорами). о

Структура мультимикропроцессорной системы в значительной степени определяется ра=пределением функций ядра

ЛС по управлению процессами между

45 модулями системы. В системе функции системных примитивов выполняются микропроцессорными блоками управляющего микропроцессорного устройства 7.

При управлении процессами в систе- о ме используются следующие системные указатели и семафоры, размещенные в запоминающем устройстве 2:

УКАЗ СОСТ образуют список указателей состояний исполнительных микропроцессорных блоков 18.1-; 18.п и используются для индикации состояний этих блоков при обращении к ним мик" 1 16 ропроцессорного блока 4 распределения ресурсов. Кроме того, каждь|й указатель состояния содержит адрес

ТУП процесса, выполняемого B данный момент на этом исполнительном микропроцессорном блоке;

СЛЕДУЮЦИЙ является указателем про. цесса, который должен быть назначен первым иэ готовых процессов на освободившийся исполнительный микропроцессорный блок,, УКАЗ ПАМ является указателем адреса первой зоны свободной памяти в списке свободных зон памяти;

УКАЗ СПИСКА является указателем адреса первой ТУП в общем списке процессов (ОБИ СПИСОК);

СЕМ ОБЦ СПИСКА используется для синхронизации блоков управляющего микропроцессорного устройства 7 и микропроцессорного блока 4 распределения ресурсов при обращении к ОБЩ

СПИСКУ;

СЕМ ПЯМ (семафор памяти) используется для управления блокированными процессами, ожидающими удовлетворения запросов на память;

СЕМ СПИСКА ПАМ (семафор списка свободных зон памяти) используется для синхронизации блоков управляющего микропроцессорного устройства 7 при обращении к СПИСКУ ПАМ;

СЕМ СПИСКА БЛОК ПЯМ (семафор списка процессов, блокированных на

СЕМ ПАМ) ичпользуется для синхронизации блоков управляющего микропроцессорного устройства 7.

Средством связи процессов в системе является ТУП, которую образуют следующие составляющие: имя процесса (ИМЯ); указатель следующего процесса в

ОБЦ СПИСКЕ (СЛЕД ОБЩ); указатель следующего, процесса в списке группы процессов, относящихся к одному заданию (СЛЕД ГРУПП); указатель состояния активности процесса (A); указатель состояния готовности процесса к выполнению (Г); указатели обращения процесса к микропроцессорным блокам 90-:93 создания процесса, уничтожения процесса, передачи сообщения и приема сообщения (С,. У, ПЕР, ПР); указатель блокировки процесса на ожидании сообщения (БЛОК СООБЩ); указатель блокировки процесса на ожидании свободной памяти при

15

25

35!

7 9 выполнении микропроцессорным блоком

90 примитива СОЗДАТЬ ПРОЦЕСС(БЛОК

ПАМ С); указатель блокировки процесса на ожидании свободной памяти при выполнении микропроцессорным блоком 92 примитива ПЕРЕДАТЬ C006L,ЕНИЕ (БЛОК

ПАМ ПЕР); семафор сообщений процесса (СЕМ

СООБЦ); семафор списка сообщений, адресованных данному процессу (СЕМ СПИСКА

C006Uj); указатель адреса следующей ТУП в списке процессов, блокированных на одном семафоре (СЛЕД СЕМ); область сохранения слова состояния и содержимого регистров микропроцессорных блоков (ОБЛ СОХР); область параметров обращения к управляющему микропроцессорному устройству 7 (ПАРАМЕТРЫ).

После инициализации операционной системы планировщик заданий, оформленный в виде процесса и являющийся одним из компонентов ОС, назначается на один из исполнительных микропроцессорных блоков 18.1-:18.п, например блок 18.1. Далее исполнительный микропроцессорный блок 18.1 через устройство 6 связи с памятью и микропроцессорный блок 5 ввода"вывода вводит 1 заданий использователей с манитного диска (не показан ) в проблемную область оперативной памяти.

После окончания ввода 1-го задания исполнительный микропроцессорный блок 18.1 выполняет команду обращения к ядру ОС, в результате чего возникает прерывание, обрабатываемое стандартным образом путем смены слова состояния процесса. По коду причины прерывания в ТУП планировщика заданий устанавливается указатель С и переписывается сохраняемая информация, после чего указатель блока

18.1 в списке указателей состояния исполнительных микропроцессорных блоков 18. 1-: 18.п устанавливается в состояние СВОБОДЕН, и через микропроцессорный блок 4 распределения ресурсов происходит обращение к микропроцессорному блоку 90 создания процесса, который оформляет ТУП первого иэ введенных заданий и сообщает микропроцессорному блоку 4 распределения ресурсов о наличии готового к выполнению процесса в системе. После этого возобновляется выполнение пла"

07 5 !8 нировщика заданий на исполнительНоМ компрессорном блоке 18.1.

Планировщик заданий повторяет вышеописанный цикл по созданию процессов для каждого иэ загруженных заданий. Параллельно с этим микропроцессорный блок 4 распределения ресурсов выполняет назначение вновь созданных процессов пользователей на свободные исполнительные микропроцессорные блоки 18.1- .!8.п.

После того, как планировщик заданий закончит l-ый цикл создания процесса, он выполняет обращение к ядру ОС и с помощью микропроцессорного блока 93 приема сообщения переводится в список блокированных на ожидании сообщения процессов до появления сообщения об обработке одного из введенных в систему заданий.

Созданные пользовательские процессы выполняются параллельно на исполнительном микропроцессорном устройстве 1. При этом области оперативной памяти, с которыми работают исполнительные микропроцессорные блоки 18. 1 18.п, задаются соответствующими параметрами ТУП.

Выполнение команды программы исполнительным микропроцессорным блоком 18.К осуществляется з следующем порядке. В регистре 27 адреса памяти под управлением микрокоманд, поступающих из узла 22 памяти микрокоманд через регистр 23 микрокоманд, устанавливается адрес команды. С двенадцатого выхода регистра 23 микрокоманд на второй управляющий выход исполнительного микропроцессорного блока 18.Ê подается сигнал "Запрос шин", после чего микропроцессорный блок 18.К переходит в режим "Ожидание". Появление на первом управляющем входе исполнительного микропроцессорного блока 18.К сигнала "Подтверждение запроса", поступающего на четвертый управляющий вход регист. ра 21 адреса микрокоманд, вызывает считывание микрокоманды, согласно которой на первый и второй управляющие входы микропроцессорных узлов

20. 1-:20.8 подаются сигналы откры" тия первого и второго выходных бу феров 34 и 35. В результате этого на адресном выходе исполнительного микропроцессорного блока 18.К устанавливается адрес команды, а на первый управляющий выход микропро"

19 9075 цессорного блока 18.К с одиннадцатого выхода регистра 23 микрокоманд поступает сигнал, определяющий режим работы запоминающего устройства 2.

Через промежуток времени, определяемый физическими свойствами запо" минающих элементов запоминающего устройства 2, на информационном входе-выходе исполнительного микропроцессорного блока 18.К устанавливает- 10 ся код адрессованной команды. Адресная часть команды поступает в микропроцессорные узлы 20 ° 1-,20.8, а операционная часть команды поступает в регистр адреса 21 микрокоманд, 15

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

Адресная часть микрокоманды, содер" жащая адрес следующей за ней микрокоманды, поступает на третий управляющий вход регистра 2 1 адреса микрокоманд. Операционная часть микро- 25 команды содержит коды микрофункций по которым формируются управляющие сигналы, поступающие в узлы и элементы исполнительного микропроцессорного блока 18.К. С приходом каждо- з0 го синхроимпульса по линии 26 на син" хронизирующие входы микропроцессорных узлов 20.1-, 20.8, на их третьи управ" ляющие входы поступают микрокоманды которые декодируются дешифратором

30. Первый и второй коммутирующие элементы 31 и 32 выбирают операнды и операционный элемент 29 производит нужную операцию. По второму фронту синхроимпульса,результат операции 40 помещается либо в накапливающий регистр 28, либо в заданный регистр элемента 33 памяти, либо в регистр

27 адреса памяти.

Ц Д и НДЫ 4 производится стробирование узла 24 прерывания. Запрос, принятый в регистр 39 запросов в течение действия строба, поступает совместно с кодом из регистра 37 текущего приоритета на

50 элемент 38 сравнения. Если приоритет поступившего запроса выше текущего приоритета, то шифратор 36 вырабатывает сигнал, поступающий на второй выход узла 24 прерывания. По этому сигналу из регистра 21 адреса мик" ,„ 55 рокоманд 21 выдается адрес начала микропрограммы обработки прерывания, которая считывает код прерывания и

51 20 после соответствующей обработки переписывает этот код в регистр 37 текущего приоритета.

Обмен командами и данными между блоками системы и запоминающим устройством 2 осуществляется по шине 8 данных, а выдача адресов производится по шине 9 адреса. При этом запоминающее устройство 2 работает в двух режимах: "Чтение"и "Запись". В режиме "Чтение" код шестнадцати младших разрядов адреса данных поступает на адресные входы блоков 41.1 41.m памяти, на первых управляющих входах которых у-танавливается код режима

"Чтение". Код четырех старших разрядов адреса данных, поступающий на вход дешифратора 40, определяет номер блока памяти, На второй управляющий вход выбранного блока 47.1 памяти поступает сигнал запуска, с приходом которого на выходе дешифратора 42 появляется сигнал выборки, разрешающий считывание данных из группы запоминающих элементов 50.

Через время, определяемое первым элементом 46 задержки, первый триггер

43 устанавливается в состояние приема адреса, а на информационный входвыход блока 4,l.i памяти выдаются считанные данные. С nepaoro управляющего входа блока 41.i памяти на элемент И 44 подается запрещающий сигнал, а второй триггер 46 остается в исходном состоянии "Чтение".

Через время, определяемое четвертым элементом 49 задержки, первый триггер 43 устанавливается в исходное состояние "Хранение", В режиме "Записьн на первых управляющих входах блоков 41.1.- 41.m памяти устанавливается код режима "Запись", а на первый вход элемента И 44 выбранного блока 41.i памяти поступает разрешающий сигнал, что позволяет сначала установить второй триггер

45, в состояние "Запись", а затем перевести в состояние "Хранение".

Блоки системы получают доступ к запоминающему устройству 2 через блок 3 коммутации, который обрабатывает запросы. к памяти согласно их приоритетам. Запросы поступают на вход регистра 62 запросов. Наиболее приоритетный запрос формирует на одном из выходов блг>ка 3 коммутации сигнал подтверждения запроса, который одновременно блокирует менее приоритетные запросы. Когда все запросы

907551 22 будут удовлетворены в порядке очередности, с выхода второго инвертора

57 на управляющий вход регистра 62 запросов поступит сигнал, который с приходом синхроимпульса по линии 26 разрешит прием новой группы запросов.

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

Запрос управляющего микропроцессорного устройства 7 выполняется исполнительным микропроцессорным блоком

18.К путем обработки экстра кода об ращения к ядру OC. По коду причина прерывания в ТУП пользовательского процесса устанавливается, соответствующий указатель обращения С,У,ПЕР или ПР переписывается, сохраняемая информация и указатель состояния исполнительного микропроцессорного блока 18.К устанавливается в состояние "Свободен", после чего с третьего управляющего выхода исполнительного микропроцессорного блока 18.K выдается сигнал на второй управляющий выход исполнительного микропроцессорного устройства 1. Этот сигнал поступает на первый управляющий вход микропроцессорного блока 4 распределения ресурсов, который начинает просмотр списка УКАЗ СОСТ, анализирует ТУП прерванного процесса и формирует на своем четвертом управляющем выходе соответствующий код прерывания управляющего микропроцессорного устройства 7. После выполнения функций затребованного системного примитива управляющим микропроцессорным устройством 7 а ТУП прерванного процесса устанавливается указатель готовности процесса к выполнению, и на четвертый управляющий вход микропроцессорного блока 4 распределе" ния ресурсов поступает сигнал .о наличии готового процесса в системе.

Микропроцессорный блок 4 распределения ресурсов через Р-операцию над

CEM ОБЦ СПИСКА входит в общий список процессов, находит ТУП готового про» цесса, выполняет V-операцию над СЕМ

ОБЦ1 СПИСКА, >помещает адрес найденной ТУП и метку ЗАНЯТ в УКАЗ СОСТ

55 свободного исполнительного микропроцессорного блока 18.i> устанавливает в ТУП указатель А и формирует на своем втором управляющем выходе код номера микропроцессорного блока IS.i. Этот код через второй управляющий .вход исполнительного микропроцессорного устройства 1 поступает на регистр l9. и вызывает прерывание исполнительного микропроцессорного блока 18.i который по адресу ТУП в своем указателе: состояния находит эту ТУП, загружает на собственные регистры необходимые параметрь1 из

ТУП и переходит к выполнению программы.

При выполнении примитивов ядра

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

Микропроцессорный блок 90 создания процесса при появлении на его втором управляющем входе сигнала, поступающего со второго управляющего входа управляющего микропроцессорного устройства 7 через второй регистр 95 и третий элемент ИЛИ 98, выполняет Р-операцию над СЕИ OGIII„ СПИСКА, находит ТУП с указателем С, загружает на собственные регистры необходимые для выполнения параметры из этой ТУП и выполяет V-операцию над СЕМ ОБШ, СПИСКА

Затем производится P-операция над

СЕМ СПИСКА ПАМ, выполняется поиск свободной зоны памяти, объем которой достаточен для оформления ТУП создаваемого процесса, и производится V"операция над СЕМ СПИСКА ПАМ.

Далее в выделенной зоне памяти фор" мируется ТУП создаваемого процесса, выполняется Р"операция над СЕМ ОБН, СПИСКА, данная ТУП включается s об-. щий список процессов, в ТУП процесса-создателя снимается указатель С и. устанавливается указатель Г, а с четвертого управляющего выхода микропроцессорного блока 90 создания процесса через второй элемент ИЛИ 97 посылается сигнал на четвертый управляющий выход управляющего микропроцессорного устройства 7.

Микропроцессорный блок 91 уничтожения процесса при появлении на его третьем управляющем входе сигнала, поступающего со второго управ" ляющего входа управляющего микропроцессорного устройства 7 через второй регистр 95, выполняет P-операцию над СЕИ ОБЦ СПИСКА, находит ТУП с

23 9075 указателем У, загружает на собственные регистры необходимые для выполнения параметры из этой ТУП и производит поиск ТУП уничтожаемого процесса, после чего производится ее исключение из общего списка процессов и выполняется Ч-операция над СЕМ ОБЦ

СПИСКА. Затем микропроцессорный блок

91 уничтожения процесса по указателю СЕМ СООБЩ находит адрес списка î сообщений уничтожаемого процесса и через CEM СПИСКА ПАМ производит включение памяти, занимаемой адрессованными этому процессу сообщениями, в СПИСОК llAM, после чего в этот же список включается память, занимаемая ТУП уничтожаемого процесса.

После этого в ТУП прерванного процесса устанавливается указатель Г и с четвертого управляющего выхода мик- го ропроцессорного блока 91 уничтожения процесса через элемент ИЛИ 96 посылается сигнал на четвертый управляющий выход управляющего микропроцессорного устройства 7. Если микропроцессорный блок 91 уничтожения процесса удаляет из системы процесс, находящийся в стадии выполнения на одном из. исполнительных микропро" цессорных блоков 18. 1: 18.п, то в зв

УКАЗ СОСТ этого исполнительного блока устанавливается метка "Свободен", а с третьего управляющего выхода микропроцессорного блока 91 уничтожения процесса посылается сигнал на третий управляющий выход управлящего микропроцессорного устройства 7, Микропроцессорный блок 92 передачи сообщения при появлении на его третьем управляющем входе сигнала, поступающего со второго управляющего входа управляющего микропроцессорного устройства 7 через регистр

95 и элемент ИЛИ 101, выполнен Pоперацию над СЕМ ОБЦ СПИСКА, нахо- 4> дит ТУП с указателем ПЕР, загружает на собственные регистры необходимые для выполнения примитива параметры из этой ТУП,производит поиск ТУП процесса-приемника и выполняет V-one50 рацию над CEM ОБЩ СПИСКА. Затем над

CEN СПИСКА flAN выполняется P-опера" ция, производится поиск зоны памяти, объем которой достаточен для оформления передаваемого сообщения, и выполняется Ч-операция над СЕМ СПИСКА .

ПАМ. После этого оформляется сообщение в выделенной зоне памяти, выполняется P-операция над СЕМ СПИСКА

24

СООБЩ процесса-приемника, сообщение включается в СПИСОК СООБЦ выполняется V-операция над СЕМ СПИСКА СООБЩ и производится V-операция над СЕМ

СООБЩ процесса-приемника, после чего в ТУП процесса-передатчика устанавли" вается указатель Г и с управляющего выхода микропроцессорного блока 92 передачи сообщения посылается сигнал через элемент ИЛИ 97 на чертвертый управляющий выход управляющего микропроцессорного устройства 7.

Микропроцессорный блок 93 приема сообщения при появлении на его третьем упразляющем ходе сигнала, поступающего со второго управляющего входа управляющего микропроцессорного устройства 7 через регистр 95 и элемент ИЛИ 102, выполняет P-операцию над СЕМ ОБЦ СПИСКА, находит ТУП с указателем ПР, загружает на собственные регистры необходимые для выполнения примитива параметры из этой

ТУП и производит Ч-операцию над СЕМ

ОБШ СПИСКА. Затем над CEM СООБЩ в найденной ТУП выполняется P-операция и, в случае наличия адресованных про-, цессу сообщений, производится P-операция над СЕМ СПИСКА СООБЩ, из СПИСКА СООБЦ считывается первое сообщение и выполняется V-операция над CEM

СПИСКА СООБЩ, после чего производится P-операция над СЕМ СПИСКА flAN, память, занимаемая прочитанным сообщением, включается в СПИСОК ПАМ и выполняется Ч-операция над СЕМ СПИСКА ПАМ. После этого в ТУП устанавливается указатель Г и с седьмого управляющего выхода микропроцессорного блока 93 приема сообщения посылается сигнал через элемент ИЛИ 97 на четвертый управляющий выход управляющего микропроцессорного устройства 7. В случае отсутствия адресованных процессу сообщений в

ТУП устанавливается указатель БЛОК

СООБЩ, что переводит процесс в список блокированных процессов.

Если при выполнении микропроцессорным блоком 92 передачи сообщений

;Ч-операции над СЕМ СООБЩ процессприемник находится в состоянии БЛОК

СООБЩ, то в ТУП процесса-приемника снимается указатель БЛОК СООБЦ, устанавливается указатель ПР и с управляющего выхода микропроцессорного блока 9? передачи сообщения посылается сигнал через элемент ИЛИ 102 на второй управляющий вход микропоо-.

907551

30

При асинхронных просмотрах системных списков микропроцессорными бло55 ками 4,90,91, 92,93 возможно возникновение связывающей блокировки на системных семафорах СЕМ ОБЩ СПИСКА, СЕМ СПИСКА ПАМ и СЕМ СПИСКА БЛОК ПАМ. цессорного блока 93 приема сообщения.

При работе микропроцессорного блока 90 создания процесса, требующего память для формирования ТУП 5 создаваемого процесса, или микропроцессорного блока 92 передачи сообщения, требующего память для формирования посылаемого процессом сообщения, возможно отсутствие достаточного объема свободной памяти. В этом случае микропроцессорный блок 90 или 92 выполняет P-операцию над CEM

ПАМ, устанавливает в ТУП процессасоздателя или процесса-передатчика соответствующий указатель БЛОК llAM С или БЛОК ПЯМ ПЕР, выполняет Р-операцию над CEM СПИСКА БЛОК FLAN, вклю" чает ТУП в список блокированных над СЕМ ПАМ процессов и выполняет

V-операцию над СЕМ СПИСКА БЛОК ПАМ.

При работе микропроцессорного блока 91 уничтожения процесса ocsoбождается память, занимаемая ТУП и сообщениями уничтожаемого процесса, а при работе микропроцессорного блока 93 приема сообщения освобождается память, занимаемая прочитанным сообщением. После упорядочения СПИСКА llAM микропроцессорный блок 91 или 93 посредством V-операции над

СЕМ ПАМ проверяет наличие блокированных на этом семафоре процессов, и в ТУП первого из СПИСКА БЛОК ПАМ процесса устанавливается указатель

С или ПЕР, после чего с пятого управляющего выхода микропроцессорного блока 91 уничтожения процесса или с третьего управляющего выхода микропроцессорного блока 93 приема сооб- 40 щения посылается сигнал через третий элемент ИЛИ 98 на второй управляющий вход микропроцессорного блока

90 создания процесса, либо с шестого управляющего выхода микропроцессорного блока 91 уничтожения процесса, или с четвертого управляющего выхо" да микропроцессорного блока 93 приема сообщения посылается сигнал через элемент ИЛИ 101 на третий управляющий вход микропроцессорного блока 92 передачи сообщения.

Оперативный выход из режима связыва ющей блокировки реализуется с гомощью микропроцессорного блока 89 синхронизации. При выполнении одним из микропроцессорных блоков 4,90,91,92,93

P-операции над системным семафором и в случае блокировки на этом семафоре в памяти устанавливается указатель соответствующего микропроцессорного блока, требующего доступа к системному списку. При выполнении одним из микропроцессорных блоков 4,90, 91,92,93 V-операции над системным семафором и в случае наличия блокированного микропроцессорного блока на второй управляющий вход микропроцессорного блока 89 синхронизации поступает сигнал через элемент

ИЛИ 96 с соответствующего управляющего выхода одного из микропроцессорных блоков 4,90,91,92,93, выполнявшего Ч-операцию. По этому сигналу микропроцессорный блок 89 синхронизации анализирует соответствующие указатели блокировок, снимает указатель и выдает на третий управляющий выход код, по которому через регистр

95 на третий управляющий вход блокированного микропроцессорного блока 90, и на входы блоков 9l, 92,93 или на третий управляющий вход микропроцессорного блока 4 распределения ресурсов поступает сигнал, выводящий блок из режима связывающей блокировки.

Между микропроцессорными блоками

92 и 93 может возникать связывающая блокировка на СЕМ СПИСКА СООБЩ. При выполнении микропроцессорным блоком

92 передачи сообщений или микропроцессорным блоком 93 приема сообщения Р-операции над СЕМ СПИСКА СООБЩ и в случае блокировки на этом семафоре микропроцессорный блок переходит в режим ожидания сигнала на своем втором управляющем входе. При выполнении одним из микропроцессорных блоков 92,93 V-операции над СЕМ СПИСКА СООБЩ и в случае наличия блокировки на этом семафоре другого из микропроцессорных блоков 92 и 93 производится выдача сигнала разблокировки либо с шестого управляющего выхода микропроцессорного блока 92 передачи сообщения через элемент

ИЛИ 100 на второй управляющий вход микропроцессорного блока 93 приема сообщения, либо с пятого управляюще27

9О7551

Взаимодействие системы с внешними устройствами осуществляется через микропроцессорный блок 5 ввода-вывода и устройство 6 связи с памятью.

Устройство 6 связи с памятью работает в двух режимах: "Программирование канала" и "Передача". В режиме "Программирование канала" микропроцессор" ный блок 5 ввода-вывода производит запись в блок 67 регистров адреса начала записи, кода длины записи и кода режима передачи данных, причем запись осуществляется в два этапа.

На первом этапе адрес начала записи данных через коммутатор 66 поступает го выхода микропооцессорного блока

93 приема сооощения через элемент

ИЛИ 99 на второй управляющий вход микропроцессорного блока 92 передачи сообщения.

Выполнение пользовательского процесса заканчивается обработкой экстракода обращения к ядру ОС. При этом происходит прерывание микропроцессорного блока 92 передачи сообщения, который формирует сообщение планировщику заданий. Планировщик заданий переводится из списка блокированных процессов в число готовых к выполнению процессов, микропроцессорный блок 4 распределения ресурсов назначает ему один из исполнительных микропроцессорных блоков 18.1-.18.п, после чего планировщик заданий обращается к микропроцессорному блоку 93 приема сообщений, анализирует считанное сообщение, выводит через микропроцессорный блок 5 ввода-вывода и устройство 6 r.âÿçè с памятью выходные данные пользовательского процесса на устройство печати (не показано) и выдает экстракод обращений к микропроцессорному блоку 91 уничтожения процесса. Отработавший пользовательский процесс удаляется из системы, а микропроцессорный блок 93 приема сообщения выполняет Р-операцию над

СЕИ СООБЩ в ТУП планировщика заданий и включает эту ТУП в список блокированных на ожидании сообщения процессов. После получения сообщения о завершении выполнения 1-го задания планировщик заданий помещает в оперативную память очередную порцию из нескольких заданий, хранящихся на магнитном диске, и описанный выше цикл работы системы повторяется

5 0

Зо

55 на второй информационный вход блока

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

6 связи с памятью на третий вход блока 68 управления поступает сигнал

"Запись", который устанавливает второй триггер 79 блока 68 управления в состояние "Программирование канала".

В этом со=тоянии разрешено поступление адреса регистра через переключатель 69 на третий информационный вход блока 67 регистров и разрешено прохождение синхроимпульсов через первый элемент И 76 и первый элемент ИЛИ 77 на четвертый и седьмой выходы блока 68 управления. Адрес регистра поступает в блок 67 регистров на дешифраторы 81-86 и адрес начала записи данных запоминается в заданном регистре первой группы регистров 87. 1- .87.8. После этого микропроцессорный блок 5 ввода-вывода снимает сигнал Запись". На втором этапе микропроцессорный блок 5 ввода-вывода выдает на шину 8 данных код длины записи данных, код режима передачи и адрес регистра из второй группы регистров 88.1-. 88,8 блока 67 регистров, в который должна быть произведена запись. Код длины записи данных и код режима передачи поступают через коммутатор 66 на первый информационный вход блока 67 регистров. Дальнейший порядок работы устройства 6 связи с памятью на втором этапе аналогичен работе устройства на первом этапе.

В режиме "Передача" запросы на передачу данных поступают от внешних устройств по линии 73 в регистр 70 запросов. Шифратор 71 формирует на выходе код запроса, который, являясь одновременно адресом регистра в блоке

67 регистров, поступает на вход переключателя 68. С третьего выхода шифратора 71 выдается сигнал нЗапрос шин на третий управляющий выход уст ройства 6 связи с памятью, Этот сигнал транслируется микропроцессорным блоком 5 ввода-вывода в блок 3 коммутации. Получив иэ блока 3 коммутации сигнал "Подтверждение запроса" микропроцессорный блок 5 ввода-вы29

9075

Мультимикропроцессорная система, содержацая исполнительное микропровода транслирует его через второй управляющий вход устройства 6 связи с памятью в буферный узел 72 и приостанавливает свою работу. Из буферного узла 72 по линии 74 во внешнее уст- s ройство поступает сигнал, по которому внешнее устройство выдает подготовленные данные на шину 8 данных. Из буферного узла 72 посылается также сигнал на второй вход блока 68 управ- о пения, который устанавливает первый триггер 72 в состояние "Передача".

Этим самым разрешается прохождение адреса регистра через переключатель

69 на третий информационный вход бло- is ка 67 регистров и прохождение синхроимпульса через третий элемент И 80 на вход счетчика 82, который устанавливается в состояние "Чтение . Че реэ дешифратор 81 сигнал "Чтение" zo передается в блок 67 регистров и осуществляется считывание содержимого двух регистров из групп регистров 87.1-:87 8 и 88.1-88.8, адрес которых установлен на входе дешифра- 2s торов 84-86. Содержимое адресованных регистров поступает в счетчик

63 адреса записи, счетчик 64 длины записи и регистр 65 режима работы.

С приходом второго синхроимпульса счетчик 82 переходит в состояние "+1"

Через дешифратор 81 сигнал +1" передается в блок 67 регистров, увеличивает содержимое счетчика 63 адреса записи и уменьшает содержимое счетчика 64 длины записи на единицу.

Третий синхроимпульс устанавливает счетчик 82 в состояние "Общий сброс" и (если содержимое счетчика длины записи 64 равно нулю ) сигнал со вто- 40 рого выхода дешифратора 81 через второй элемент И 78 поступает на второй и седьмой выходы блока 68 управления. Содержимое адресуемых регистров блока 67 регистров установит- 4s ся равным нулю. По сигналу на своем втором управляющем входе микропроцессорный блок 5 ввода-вывода через первый управляющий вход устройства 6 связи с памятью, буферный узел 72 и второй вход блока 68 управления установит первый триггер 75 в исходное состояние. Если содержимое счетчика 64 длины записи не равно нулю> то состояние устройства 6 связи с

55 памятью не меняется. Четвертый синхроимпульс устанавливает в счетчике

82 состояние "Запись" . В этом случае сигнал "Запись" с дешифратора 81

51 30 поступит в блок 67 регистров, где произведет запись содержимого счетчика 63 адреса записи, счетчика 64 длины записи и регистра 65 режима работы в два регистра первой и второй групп регистров 87.1 87.8 и

88.1-,88.8 по адресу, установленному на третьем информационном входе блока 67 регистров. Этот же сигнал поступит и в микропроцессорный блок 5 ввода-вывода. С приходом пятого синхроимпульса дешифратор 81 сформирует сигнал "Сброс", который установит счетчик 63 адреса записи, счетчик 4 длины записи и счетчик 82 в нулевое состояние. После этого сигнал с микропроцессорного блока 5 ввода-вывода установит блок 68 управления в исходное состояние, а также снимет запрос со входа блока 3 коммутации. Последующие сеансы связи внешних устройств с запоминающим устройством 2 осуществляются аналогично.

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

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

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

31 9075 цессорное устройство, микропроцессорный блок р спределения ресурсов, микропроцессорный блок ввода-вывода, устройство свзяи с памятью, управляющее микропроцессорное устройство, включающее микропроцессорный блок синхронизации, первые управляющие выходы, адресные выходы и информационные входы-выходы которых соединены соответственно с управляющим l0 входом, через шину адреса - с адресным входом и через шину данных — с информационным входом-выходом запоминающего устройства, блок коммутации, включающий регистр запросов, >s первые группы элементов И, элементов ИЛИ, элементов НЕ, два элемента

ИЛИ, два элемента НЕ, элемент И, выход которого соединен с первым управляющим входом микропроцессорного блока ввода-вывода, второй и третий управляющие входы и второй, третий и четвертый управляющие выходы которого соединены соответственно с вторым и третьим управляющими выходами и с первым и вторым управляющими входами устройства связи с памятью и с входом первого разряда регистра запросов, выход первого разряда регистра запросов блока коммутации сое- 3ц динен с первыми входами элемента И и первого элемента ИЛИ блока коммутации, выход первого элемента ИЛИ блока коммутации через первый элемент HE соединен с входом синхронизации регистра запросов, выходы элементов И первой группы соединены с первым управляющим входом исполнительного микропроцессорного устройства, второй управляющий вход и второй и третий управляющие выходы которого соединены соответственно с вторым управляющим выходом и с первым управляющим входом микропроцессорного блока распределения ресурсов и с входами первой группы разрядов регистра запросов, выходы последнего разряда первой группы, последнего разряда второй группы разрядов регистра запросов блока коммутации

56 соединены с первыми входами соответственно второго элемента ИЛИ и первого элемента ИЛИ первой группы блока коммутации, первые входы остальных элементов ИЛИ первой группы

55 соединены с выходами оставшихся раз-.. рядов первой группы регистра запросов, первые и вторые входы элементов И первой группы блока коммутации

32 соединены соответственно с выходами разрядов первой группы регистра запросов и через элементы НЕ первой группы — выходами элементов ИЛИ первой группы, выход каждого предыдущего элемента ИЛИ первой группы блока коммутации соединен с вторым входом последующего элемента ИЛ 1 первой группы, а выход последнего элемента ИЛИ первой группы соединен с вторым входом второго элемента ИЛИ блока коммутации, выход которого соединен с вторым входом первого элемента ИЛИ и через второй элемент НЕс вторым входом элемента И блока коммутации, третий управляющий выход и второй управляющий вход микропроцессорного блока распределения ресурсов соединены соответственно со входом и выходом второго разряда регистра запросов, с. т л и ч а ю щ ая с я тем, что, с целью повышения пр >изводительности системы, в управляющее микропроцессорное устройство введены микропроцессорный блок создания процесса, микропроцессорный блок уничтожения процесса микропро7 цессорный блок передачи сообщения, микропроцессорный блок приема сообщения, два управляющих регистра, семь элементов ИЛИ, а в блок коммутации введены вторые группы элементов ИЛИ, элементов НЕ и элементов И, причем первые управляющие входы и выходы, вторые управляющие выходы, адресные выходы и информационные входы-выходы микропроцессорных блоков создания процесса, уничтожения процесса, передачи сообщения, приема сообщения соединены соответственно с выходом второй группы элементов И, с входом второй группы разрядов регистра запросов, с управляющим входом, через шину адреса с адресным входом и через шину данных с информационным входом-выходом запоминающего устройства, первый и второй управляющие входы и второй и третий управляющие выходы микропроцессорного блока синхронизации соединены соответственно с выходом второй группы элементов И, с выходом первого элемента ИЛИ управляющего микропроцессорного устройства, со входом второй группы разрядов регистра запросов, с входом первого регистра, третий и четвертый управляющие выходы и второй и третий управляющие входы микропроцессорного блока создания про40

Источники информации, принятые во внимание при экспертизе

1. Патент США NÃ 4034347, 45 кл. G 06 F 1 3/10,15/16, 1977.

33

90 цесса соединены соответственно с первыми входами первого и второго элементов ИЛИ управляющего микропроцессорного устройства, с выходом третьего элемента ИЛИ и с первым выходом первого регистра, второй, третий, четвертый и пятый выходы которого соединены соответственно с третьим управляющим входом микропроцессорного блока распределения ресурсов, с первыми входами четвертого и пятого элементов ИЛИ, с вторым управляющим входом микропроцессорного блока уничтожения процесса, третий управляющий вход, третий, четвертый, пятый, шестой, седьмой управляющие выходы которого соединены соответственно с первым выходом второго регистра, с первым управляющим входом микропроцессорного блока распределения ресурсов, с вторым входом второго элемента ИЛИ управляющего микропроцессорного устройства, с первыми входами третьего и шестого элементов ИЛИ с вторым входом первого элемента

ИЛИ управляющего микропроцессорного устройства, третий вход котоporo соединен с вторым выходом второго ре гистра, вход, третий, четвертый и пятый выходы которого соединены соответственно с четвертым управляющим выходом микропроцессорного блока распределения ресурсов, вторыми входами третьего и шестого элементов

ИЛИ, с первым входам седьмого элемента ИЛИ, второй вход которого соединен с третьим управляющим выходом микропроцессорного блока передачи сообщения, второй и третий управляющие входы, четвертый, пятый и шестой управляющие выходы которого соединены соответственно с выходами четвертого и шестого элементов ИЛИ, с третьим входом второго элемента ИЛИ управляющего микропроцессорного устройства, с четвертым входом первого элемента ИЛИ управляющего микропроцес сорного устройства, с вторым входом пятого элемента ИЛИ, выход которого соединен с вторым управляющим входом

7551 34 микропроцессорного блока приема сообщения, третий управляющий вход, третий, четвертый, пятый, шестой и седьмой управляющие выходы которого соединены соответственно с выходом седьмого элемента ИЛИ, с третьими входами третьего и шестого элемента

ИЛИ, с вторым входом четвертого элемента ИЛИ, с пятым входом первого и

f0 с четвертым входом второго ЭЛементов ИЛИ управляющего микропроцессорного устройства, выход второго элемента ИЛИ управляющего микропроцессорного устройства соединен с четвертым управляющим входом микропроцессорного блока распределения ресурсов, выход последнего разряда второй группы регистра запросов соединен с первым входом элемента И второй груп20 пы, выходы остальных разрядов вто-. рой группы регистра запросов соединены с первыми входами оставшихся элементов И второй группы и с первыми входами элементов ИЛИ второй

2s группы, вторые входы элементов И второй группы соединены, с выходами соответствующих элементов НЕ второй группы, вход первого элемента НЕ второй группы соединен с выходом второго разряда регистра запросов, входы остальных элементов НЕ второй группы соединены с выходами соответствующих элементов ИЛИ второй группы, выход каждого предыдущего элемента ИЛИ второй

35 группы соединен с BTopblM входом последующего зле мен т а ИЛИ второй г руппы, выход последнего элемента ИЛИ второй группы соединен с вторым входом первого элемента ИЛИ первой группы.

2. Патент США h 4065809, кл. С 06 F 15/16, 1977 °

3. "Computer design". 1974, !! 3, р 86 °

907551

Составитель Аедоницкий

Редактор В. Лазаренко. Техред М.Рейвес Корректор Г. Огар

Заказ 592/58 Тираж 732 Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, N-35, Раушская наб., д. 4/5

Филиал ППП "Патент", г. Ужгорор, ул. Проектная, 4

Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система Мультимикропроцессорная система 

 

Похожие патенты:

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

Изобретение относится к вычислительной технике и может быть использовано в электронной цифровой вычислительной машине

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

Изобретение относится к системам передачи стоимости товара при безналичных операциях

Изобретение относится к области операционной системы мультипроцессорных отказоустойчивых вычислительных систем

Изобретение относится к области цифровой вычислительной техники и может быть использовано при организации многомашинных комплексов и многопроцессорных систем

Изобретение относится к области вычислительной техники и предназначено для создания высокоскоростных систем обработки больших потоков данных в реальном режиме времени

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

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

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