Мультимикропроцессорная система
Иллюстрации
Показать всеРеферат
Союз Советскик
Социалистических
Республик
ОПИСАНИЕ
ИЗОБРЕТЕН ИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ ()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 выдается адрес начала микропрог