Мультимикропроцессорная система Советский патент 1982 года по МПК G06F15/16 

Описание патента на изобретение SU907551A1

И: обретение относится к вычислительной технике и может быть использовано при проектировании мультимикр процессорных систем. Известны однородные мультимикропроцессорные системы, содержащие бло ки памяти и микропроцессорные блоки, связанные шинами адреса и данных и подключенные к коммутатору шин. В однородных мультимикропроцессорных системах функции регулировщика и сис темных примитивов реализованы в виде набора программ ядра операционной системы(ОС)и могут выполняться любым микропроцессорным блоком 1 и 2. Недостатком этих систем являются большие затраты времени на управление и синхронизацию процессов. Наиболее близкой по технической сущности к изобретению является муль тимикропроцессорная система, содержащая группу .исполнительных микропроцессов и микропроцессор распределения ресурсов, связанные шинами с блоками памяти и подсистемой ввода- вывода, причем управляющие выходы микропроцессора распределения ресурсов подключены к управляющим входам группы исполнительных микропроцессоров, выходы которых связаны по линии запроса ресурсов со входом микропроцессора распределения ресурсов. Микропроцессор распределения ресурсов выполняет здесь функции регулировщика 3. Недостатком известной системы является то, что существует необходимость реализации ко лмутатора типа каждый с каждым между исполнительными микропроцессорными для организации оперативного выхода микропроцессоров из связывающих блокировок на ресурсах. Кроме того, реализация системных примитивов с помощью универсального набора команд, используемого исполнительными микропроцес сорэми, приводит к значительным потерям времени при выполнении функции управления процессами, что вызывает снижение производительности системы в целом. Цель изобретения - повышение производительности системы. Поставленная цель достигается тем, что в мультимикропроцессорную систему, содержащую исполнительное микропроцессорное устройство, микропроцессорный блок распределения ресурсов, микропроцессорный блок ввода-вывода, устройство связи с памятью, управляющее микропроцессорное устройство, включающее микропроцессорный блок синхронизации, первые .управляющие выходы, адресные выходы и информационные входы-выходы которых соединены соответственно с управляющим входом, через шину адреса - с адресным входом и через шину данных - с информационным входом-выходом запоминающего устройства, блок коммутации, включающий регистр заnpi coB, первые группы элементов И, элементов ИЛИ, элементов НЕ, два элемента ИЛИ, два элемента НЕ, элемент И, выход которого соединен с первым управляющим входом микропроцессорного блока ввода-вывода, второй и третий управляющие входы и вто рой, третий и четвертый управляющие выходы которого соединены соответственно со вторым и третьим управляющи ми выходами и с первым и вторым управляющими входами устройства связи с памятью и со входом первого разряда регистра запросов, выход первого разряда регистра запросов блока коммутации соединен с первыми входами элемента И и первого элемента ИЛИ блока коммутации, выход первого элемента ИЛИ блока коммутации через первый элемент НЕ соединен со входом синхронизации регистра запросов выходы элементов И первой группы соединены с первым управляющим входом исполнительного микропроцессорного устройства, второй управляющий вход и второй и третий управляющие выходы которого соединены соответственно со вторым управляющим выходом и с первым управляющим входом микропроцессорного блока распределения ресурсов и со входами первой группы разрядов регистра запросов, выходы последнего разряда первой груп пы разрядов и последнего разряда второй группы разрядов регистра запросов блока коммутации соединены 14 с первыми входами соответственно второго элемента ИЛИ и первого элемента ИЛИ первой группы блока коммутации, первые входы остальных элементов ИЛИ первой группы соединены с выходами оставшихся разрядов первой группы регистра запросов, первые и вторые входы элементов И первой группы блока коммутации соединены соответственно с выходами разрядов первой группы регистра запросов и через элементы НЕ первой группы - с выходами элементов ИЛИ первой группы, выход каждого предыдущего элемента ИЛИ первой группы блока коммутации соединен со вторым входом последующего элемента ИЛИ первой группы, а выход последнего элемента ИЛИ первой группы соединен со вторым входом второго элемента ИЛИ блока коммутации, выход которого соединен со вторым входом первого элемента ИЛИ и через второй элемент НЕсо вторым входом элемента И блока коммутации, третий управляющий выход и второй управляющий вход микропроцессорного блока распределения ресурсов соединены соответственно со входом и выходом второго разряда регистра запросов, в управляющее микропроцессорное устройство дополнительно введены микропроцессорный блок создания процесса, микропроцессорный блок уничтожения процесса, микропроцессорный блок передачи сообщения, микропроцессорный блок приема сообщения, два управляющих регистра, семь элементов ИЛИ, а в блок коммутации введены вторые группы элементов ИЛИ, элементов НЕ и элементов И, причем первые управляющие входы и выходы, вторые управляющие выходы, адресные выходы и информационые входы-выходы микропроцессорных блоков создания процесса, уничтожения процесса, передачи сообщения, приема сообщения соединены соответственно с выходом второй группы элементов И, со входом второй группы разрядов регистра запросов, с управляющим входом через шину адреса с адресным входом и через шину данных с информационным входом-выходом запоминающего устройства, первый и второй управляющие входы и второй и третий управляющие выходы микропроцессорного блока синхронизации соединены соответственно с выходом второй группы элементов И, с выходом первого элемента ИЛИ управляющего микропроцессорного устройства, с входом второй группы разрядов регистра запросов, с входом первого регистра, третий и четвертый управляющие выходы и второй и третий управляющие входы микропроцессорного блока создания процесса соединены соответственно с первыми входами пер вого и второго элементов ИЛИ управляющего микропроцессорного устройств с выходом третьего элемента ИЛИ и с первым выходом первого регистра, вто рой, третий, четвертый и пятый выходы которого соединены соответст;венно с третьим управляющим входом микропроцессорного блока распределения ресурсов, с первыми входами четвертого и.пятого элементов ИЛИ, с вторым управляющим входом микропроцессорного блока уничтожения процесса, третий управляющий вход, третий четвертый, пятый, шестой, седьмой управляющие выходы которого соединены соответственно с первым выходом второго регистра, с первым управляющим входом микропроцессорного блока распределения ресурсов, с вторым входом второго элемента ИЛИ управляющего микропроцессорного устройства, с первыми входами третьего и шестого элементов ИЛИ, с вторым вхо дом первого элемента ИЛИ управляюще го микропроцессорного устройства, третий вход которого соединен с вто рым выходом второго регистра, вход, третий, четвертый и пятый выходы которого соединены соответственно с четвертым управляющим выходом микропроцессорного блока распределения ресурсов, вторыми входами третьего и шестого элементов ИЛИ, с первым входом седьмого элемента ИЛИ, второй вход которого соединен с третьим управляющим выходом микропроцессорного блока передачи сообщения, второй и третий управляющие входы, .чет вертый, пятый и шестой управляющие выходы которого соединены соответст венно с выходами четвертого и шестого элементов ИЛИ, с третьим входом второго элемента ИЛИ управляющего микропроцессорного устройства, с четвертым входом первого элемента ИЛИ управляющего микропроцессорного устройства, с вторым входом пятого элемента ИЛИ, выход которого соединен с вторым управляющим входом микропроцессорного блока приема со16общения, третий управляющий вход, третий, четвертый, пятый, шестой и седьмой управляющие выходы которого соединены соответственно с выходом седьмого элемента ИЛИ, с третьими входами третьего и шестого элементов ИЛИ, с вторым входом четвертого элемента ИЛИ, с пятым входом первого и с четвертым входом второго элеt-ieHtOB ИЛИ управляющего микропроцессорного устройства, выход второго элемента ИЛИ управляющего микропроцессорного устройства соединен с четвертым управляющим входом микро процессорного блока распределения ресурсов, выход последнего разряда второй группы регистра запросов соединен .с первым входом элемента И второй группы, выходы остальных разрядов второй группы регистра запросов соединены с первыми входами оставшихся элементов И второй группы и с первыми входами элементов ИЛИ второй группы, вторые входы элементов И .второй группы соединены с выходами соответствующих элементов НЕ второй группы, вход первого элемента НЕ второй группы соединен с выходом второго разряда регистра запросов, входы остальных элементов НЕ второй группы соединены с выходами соответствующих элементов ИЛИ второй группы, выход каждого предыдущего элемента ИЛИ второй группы соединен с вторым входом последующего элемента ИЛИ второй группы, выход последнего элемента ИЛИ второй группы соединен с вторым входом первого элемента ИЛИ первой группы. На фиг. 1 показана блок-схема мультимикропроцессорной системы; на фиг. 2 - блок-схема исполнительного микропроцессорного устройства; на фиг. 3 структура микропроцессорного блока; на фиг. - структура микропроцессорного узла; на фиг. 5 структура узла прерывания микропроцессорного блока; на фиг. 6 - блоксхема запоминающего устройства; на фиг. 7 структура блока памяти запоминающего устройства; на фиг.8 структура блока коммутации; на фиг.9 блоксхема устройства связи с памятью на фиг.10 - структура блока управления устройства связи с памятью; на фиг. 11 - структура блока регистров устройства связи с памятью;на. фиг. 12 блок-схема управляющего микропроцессорного устройства. 7 Система содержит исполнительное микропроцессорное устройство 1, запоминающее устройство 2, блок 3 ком мутации, микропроцессорный блок распределения ресурсов, микропроцес сорный блок 5 ввода-вывода, устройство 6 связи с памятью, управляющее микропроцессорное устройство 7. Исполнительное микропроцессорное устройство 1 предназначено для обработки пользовательских и системных процессов. Запоминающее устройство 2 предназначено для хранения программ пол зователей и программ операционной системы, оформленных в виде пользовательских и системных процессов, для хранения системных таблиц, спис ков и семафоров синхронизации, а также для накопления результатов выполнения. Блок 3 коммутации предназначен для организации приоритетного доступа блоков системы к запоминающему устройству 2. Микропроцессорный блок 4 распределения ресурсов предназначен для назначения процессов исполнительному микропроцессорному устройству Микропроцессорный блок 5 ввода-в вода предназначен для управления оп рациями ввода-вывода информации. Устройство 6 связи с памятью пре назначено для организации режима прямого доступа при обмене массивами данных между запоминающим устрой ством 2 и внешними устройствами (на фиг. 1 не показаны). Управляющее микропроцессорное устройство 7 предназначено для выполнения функций системных примитивов. Первые управляющие выходы, информационные входы-выходы и адресные выходы исполнительного микропро цессорного устройства 1, микропроцессорного блока 4 распределения ре сурсов, микропроцессорного блока 5 ввода-вывода, устройства 6 связи с памятью и управляющего микропроцессорного устройства 7 связаны соответственно с управляющим входом через шину 8 данных с информационными входом-выходом и через шину 9 адреса с адресным входом запоминающего устройства2. Третьи управляющие выходы исполнительного микропроцессорного устройства 1 и микропроцессорного блока распределения ресуо 18 сов, микропроцессорного блока 5 ввода-вывода и управляющего микропроцессорного устройства 7 соединены соответственно линиями 10-13 с первым-четвертым входами блока 3 коммутации, а их управляющие входы связаны соответственно линиями с первым-четвертым выходами блока 3 коммутации. Исполнительное микропроцессорное устройство 1 содержит исполнительные микропроцессорные блоки 18.17 18.п и регистр 19 (фиг.2). Исполнительные микропроцессорные блоки I8,1rl8.n предназначены для выполнения команд обрабатываемых пользовательских и системных процессов. Регистр 19 предназначен для приема и хранения кодов прерываний исполнительных микропроцессорных блоков 18.1-18.п. Исполнительный микропроцессорный блок 18.К содержит группу микропроцессорных узлов 20.1720.8, регистр 21 адреса микрокоманд, узел 22 памяти микрокоманд, регистр 23 микрокоманд, узел 2 прерывания, регистр 25 расширения (фи-г.З). Микропроцессорные узлы 20.1г20.8 предназначены для выполнения арифметических и логических операций, а также операций сдвигов и переносов. Регистр 21 адреса микрокоманд предназначен для формирования адреса микрокоманды, следующей за исполняемой, а также для стробирования узла 2 прерывания по входу 26. Узел 22 памяти микрокоманд предназначен для хранения и выдачи микрокоманд и содержит матрицу запоминающих элементов. В узле 22 памяти микрокоманд каждого исполнительного микропроцессорного блока 18.1т-18.п записана микропрограмма обработки обращения к ядру операционной системы, обработки прерывания от микропроцессорного блока k распределения ресурсов и интерпретации принятой системы команд. Регистр 23 микрокоманд предназначен для приема кодов микрокоманд из узла 22 памяти микрокоманд и формирования управляющих сигналов во все узлы исполнительного микропроцессорного блока 18.К. 9 Узел 2t прерывзния предназначен для приоритетного выбора запросов на прерывание и идентификации источника прерывания. Регистр 25 расширения предназначен для занесения, хранения и выдачи адреса блоков памяти запоминающего устройства 2. Микропроцессорный узел 20,i представляет собой двухразрядную процессорную секцию и содержит регистр 27 адреса памяти, накапливающий регистр 28, операционный элемент 29, дешифратор 30, первый коммутатор 31 второй коммутатор 32, элемент 33 памяти, первый выходной буфер З, второй выходной буфер 35 (фиг.. Регистр 27 адреса памяти предназначен для формирования и хранения ад реса при обращении к запоминающему устройству 2. Накапливающий регистр 28 предназначен для запоминания результатов операций операционного элемента 29 и содержит два триггера. Операционный элемент 29 предназначен для выполнения арифметических и логических операций и содержит группу логических элементов И, ИЛИ, НЕ. Дешифратор 30 предназначен для преобразования состояния поля функций микрокоманд в последовательность сигналов управления элементами микропроцессорного узла 20. i. Первый и второй коммутаторы 31 и 32 предназначены для коммутации си|- налов на входах операционного элемента 29. Элемента 33 памяти предназначен для временного хранения результатов операций, выполняемых операционным элементом 29, и содержит группу двух разрядных регистров. Первый выходной буфер З предназначен для подключения выхода регистра 27 адреса памяти к адресной шине 9 и содержит группу логических элементов . Второй выходной буфер 35 предназначен для подключения выхода накапливающего регистра 28 к шине 8 данных и содержит группу логических эле ментов . Узел 2t прерывания содержит шифратор 36, регистр 37 текущего приоритета, элемент 38 сравнения, регист 39 запросов (фиг.5). 1 Шифратор 36 предназначен для формирования кода прерывания и выработки сигнала подтверждения прерывания Регистр 37 текущего приоритета предназначен для хранения кода приоритета выполняемой программы. Элемент 38 сравнения предназначен для сравнения кода текущего приоритета и кода запроса на прерывание. Регистр 39 запросов предназначен для хранения запросов от источников прерывания. Запоминающее устройство 2 содержит дешифратор kQ адреса блока памяти и группу блоков l.lftl.m памяти (фиг.6). Дешифратор kO адреса блока памяти предназначен для преобразования кода адреса блока памяти в сигналы запуска блоков памяти. Блоки памяти Al..m предназначены для записи, хранения и считывания информации. Блок 41 памяти содержит дешифратор 42, первый триггер , элемент И k, второй триггер 5, первый, второй, третий и четвертый элементы задержки, группу запоминающих элементов 50(фиг.7). Дешифратор k2 предназначен для преобразования кода адреса в сигналы выборки запоминающих элементов. Первый триггер 3 предназначен для формирования сигнала Хранение, Второй триггер 45 предназначен для формирования сигнала Запись/ Чтение для группы запоминающих элементов 50. Группа запоминающих элементов 50 предназначена для хранения информации и представляет собой матрицу полупроводниковых кристаллов. Блок 3 коммутации содержит первую группу элементов И 51..п, элемент И 52, вторую группу элементов И 53.1-53.5, первую группу инверторов 54.15+.п, первый инвертор 55, вторую группу инверторов 5б,1т5б.5, второй инвертор 57, первую группу элементов ИЛИ 58,175В.п, первый элемент ИЛИ 59, вторую группу элементов ИЛИ 60,1-f60,, второй элемент ИЛИ 61, регистр 62 запросов (фиг.8), Регистр 62 запросов предназначен для приема и хранения запросов на обращение к общей памяти. Первый, второй, третий и четвертый Ыходы блока 3 коммутации подключены соответственно к выходам первой груп пы элементов И 51.1г51.п, через линии l4,1flA.n к старшему разряду регистра б2 запросов, к выходу элемента И 52 и через линии 17..5 к вы ходам второй группы элементов И 53. И 53.5. Первые входы пеовой группы эле ментов И 51..п, элемента И 52 и второй группы элементов И 53.1т53.5 соединены соответственно с выходами первой группы инверторов 5.1т5.п, с выходом первого инвертора 55 и с выходами второй группы инверторов 5б.1г5б.5. Число элементов И 51.1т 51. п; 52. 53.1 33.5 число инверторов 5.1т5.п; 55,5б.Тт5б.5 и число элементов ИЛИ 58Л-58.п; 59,60.1460.4, 61 на единицу меньше числа разрядов регистра б2 запросов. Каждый разряд регистра б2 запросов, кроме старшего разряда, связан со вторым входом соответствующего элемента И 51.1г51.п; 52,53.If53.5 и с первым входом соответствующего элемента ИЛИ 58,1т58.п; 59,60.1-60.. 61. Старший разряд per ист ра 62 запрЪсов подключен ко входу инвертора 56.1 и ко второму входу элемента ИЛИ 60.1. Выход элемента ИЛИ 58.I первой группы соединен со входом инвертора 5.i первой группы и со вторым входом элемента ИЛИ 58.п Выход элемента ИЛИ 58, связан со вторым входом первого элемента ИЛИ 59 выход которого подключен ко входу пе вого инвертора 55 и ко BtopOMy входу второго элемента ИЛИ б1. Выход элемента ИЛИ 60.i соединен со входом ин вертора 5б. i+1 и со вторым входом элемента ИЛИ 60.i+1. Выход элемента ИЛИ 60.4 подключен ко второму вхо ду элемента ИЛИ 58.1. Выход второго элемента ИЛИ 61 связан через второй инвертор 57 с управляющим входом регистра 62 запросов, установочные вхо ды которого подключены соответственно к первому входу через линии 10,1-г 10.П ко второму входу, к третьему входу и через лмнии 13.1т13.5 к четвертому входу блока 3 коммутации. Синхронизирующий вход регистра 62 за просев по линии 2б соединен с выходом генератора синхросигналов (на фиг.8 не показан). Структура микропроцессорного, блока k распределения ресурсов и микропроцессорного блока 5 ввода-вывода аналогична структуре исполнительного микропроцессорного блока 18.К, представленной на фиг.З. В узле 22 памяти микрокоманд микропроцессорного блока Ц распределения ресурсов записана микропрограмма, выполняющая системные функции регулировщика, назначающего процессы для обработки в исполнительном микропроцессорном устройстве 1, а также микропрограмма обработки прерываний от исполнительного микропроцессорного устройства 1 и управляющего микропроцессорного устройства 7. В узле 22 памяти микрокоманд микропроцессорного блока 5 ввода-вывода записана микропрограмма, реализующая операции ввода-вывода, а также микропрограмма обработки прерываний от устройства 6 связи с памятью. Устройство 6 связи с памятью содержит счетчик 63 адреса записи, счетчик 64 длины записи, регистр 65 режима работы, коммутатор 66, блок б7 регистров, блок 68 управления, переключатель 69, регистр 70 запросов, шифратор 71, буферный узел 72 (фиг.9). Счетчик 63 адреса записи предназначен для хранения и модификации адресов передаваемых данных. Счетчик 64 длины записи предназначен для хранения и модификации кодов длины передаваемых записей. Регистр б5 режима работы предназначен для указания направления передачи данных. Коммутатор 66 предназначен для передачи данных, поступающих с шины 8 данных, по двум направлениям. Блок б7 регистров предназначен для хранения, записи и чтения адресов записей, кодов длин записей и кодов режимов передачи. Блок 68 управления предназначен для формирования временной последовательности сигналов управления узлами устройства 6 связи с памятью. Переключатель 63 предназначен для переключения сигналов на входе блока 67 регистров и содержит логические элементы И, ИЛИ, НЕ. - Регистр 70 запросов предназначен для записи и хранения запросов на прерывание от внешних устройств по входу 73. Шифратор 71 предназначен для идентификации источников запросов на прерывание. Выход 74 устройства 6 связи соединен с внешними устройствами. Блок 68 управления содержит перв триггер 75, первый элемент И 7б, пе вый элемент ИЛИ 77, второй элемент И 7-8, второй триггер 79, третий эле мент И 80, дешифратор 81, счетчик 82, второй элемент ИЛИ 83 (фиг.10). Первый триггер 75 предназначен . для Ьормирования сигнала разрешения ре жима - Передача. Второй триггер 79 предназначен для формирования сигнала разрешения режима Программирование канала. Дешифратор 81 предназначен для формирования сигнала Чтение, Запись +1, Сброс. Счетчик 82 предназначен для формирования последовательности кодов управления. Блок 67 регистров содержит первый, второй и третий дешифраторы 8 86, первую группу регистров 87.1т 87-8 и вторую группу регистров 88.1 88.8 (фиг.11). Дешифраторы предназначены для преобразования кодов адресов ре гистров в сигналы Чтение, Запись Сброс. Первая группа регистров 87.. предназначена для хранения адресов записей. Вторая группа регистров 88.1т88. предназначена для хранения кодов дл записей. Управляющее микропроцессорное ус ройство 7 содержит микропроцессорный блок 89 синхронизации, микропроцессорный блок 90 создания процесса, микропроцессорный блок 91 уничтожения процесса, микропроцессорнь й бло 92передачи сообщения, микропроцессорный блок 93 приема сообщения, пер вый регистр 9, второй регистр 95, первый - седьмой элементы ИЛИ (фиг.12). Микропроцессорный блок 89 синхро низации .предназначен для синхрониэа ции микропроцессорных блоков 9093при обращении к системным семафорам. Структура микропроцессорного блока 89 синхронизации аналогична структуре исполнительного микропро цессорного блока 18.К, представленной на фиг.З. В узле 22 памяти микрокоманд микропроцессорного блок 89 синхронизации записана микропрог рамма просмотра -указателей системны семафоров по сигналам прерываний. Микропроцессорный блок 90 созда«ния процесса, микропроцессорный блок 91 уничтожения процесса, микропроцессорный блок 92 передачи сообщения, и микропроцессорный блок 93 приема сообщения предназначены соответственно для выполнения системных функций по созданию и уничтожению процессов, по передаче и приему сообщений. Их структуры аналогичны структуре исполнительного микропроцессорного блока 18.К, представленной на фиг.З. В узле 22 памяти микрокоманд каждого микропроцессорного блока 90т-93 записаны микропрограмма обработки прерываний и микропрограмма соответствующего системного примитива. Первый второй 95 регистры предназначены для приема и хранения кодов причин прерываний. Система работает следующим образом. Мультимикропроцессорная система обрабатывает как независимые последовательные задания, так и задания алгоритмы выполнения которых допускают распараллеливание. Обработка заданий выполняется в пакетном режиме с мультипрограммированием под управлением операционной системы. В мультимикропроцессорных системах, работающих в режиме мультипрограммирования мультиобработки, в данный период времени на обслуживании находится пакет заданий, каждое из которых представлено совокупностью процессов. Понятие процесса (в качестве основной единицы обработки), используется в вычислительной технике как необходимое средство представления задач,, выполняемых одновременно и параллельно и конкурирующих друг с другом прц обращении к общим ресурсам внутри вычислительной. системы. процесс - это часть задания (или задание) пользователя, образующая независимую ветвь и выполняемая параллельно с другими ветвями (процессами) этого задания и других заданий. Процесс включает в себя операторы пользователя, области сохранения информации при прерываниях и управлящую информацию для связи с другими процессами. Управляющая информация, представляющая достаточную автономность процессу, оформляется а виде таблицы управления процессом (ТУП). Процесс находится в одном из

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

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

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

УКАЗ СОСТ образуют список указателей состояний исполнительных микропроцессорных блоков I8.1fl8.n и используются для индикации состояний этих блоков при обращении к ним микропроцессорного блока k распределения ресурсов. Кроме того, каждый указатель состояния содержит адрес ТУП процесса, выполняемого в данный момент на этом исполнительном микропроцессорном блоке;

СЛЕДУЮЩИЙ является указателем про цесса, который должен быть назначен первым из готовых процессов на освободившийся исполнительный микропроцессорный блок,

УКАЗ ПАМ является указателем адреса первой зоны своЬодной памяти в

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

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

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

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

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

Средством связи процессов в системе является ТУП, которую образуют следующие составляющие:

имя процесса (ИМЯ);

указатель следующего процесса в ОБ1Д СПИСКЕ (СЛЕД ОБЩ) ;

указатель следующего.процесса в списке группы процессов,относящихся к одному заданию (СЛЕД ГРУПП);

указатель состояния активности процесса (А);

указатель состояния готовности процесса к выполнению (Г); указатели обращения процесса к микропроцессорным блокам ЭОтЭЗ создания процесса, уничтожения процесса, передачи сообщения и приема сообщения (С,. У, ПЕР, ПР);

указатель блокировки процесса на ожидании сообщения (БЛОК СООБЩ);

указатель блокировки процесса на ожидании свободной памяти при выполнении микропроцессорным блоком 90 примитива СОЗДАТЬ ГТРОЦЕСС(БЛОК ПАИ Г.) ; указатель блокировки процесса на ожидании свободной памяти при выпол нении микропроцессорным блоком 92 примитива ПЕРЕДАТЬ COOBLIE.HME. (БЛОК ПАИ ПЕР); семафор сообщений процесса (СЕМ СООБ1Д) ; семафор списка сообщений, адресо ванных данному процессу (СЕМ СПИСКА СООБЩ); указатель адреса следующей ТУП в списке процессов, блокированных на одном семафоре (СЛЕД СЕМ); область сохранения слова состояния и содержимого регистров микропроцессорных блоков (ОБЛ СОХР) ; область параметров обращения к управляющему микропроцессорному уст ройству 7 (ПАРАМЕТРЫ), После инициализации операционной системы планировщик заданий, оформленный в виде процесса и являющийся одним из компонентов ОС, назначается на один из исполнительных микропроцессорных блоков I8.1rl8.n, например блок 18.1. Далее исполнитель ный микропроцессорный блок 18.1 через устройство 6 связи с памятью и микропроцессорный блок 5 ввода-выво вводит I заданий использователей с манитного диска (не показан) в проб лемную область оперативной памяти. После окончания ввода 1-го задания исполнительный микропроцессорный блок 18.1 выполняет команду обращения к ядру ОС, в результате чего возникает прерывание, обрабатываемо стандартным образом путем смены сло ва состояния процесса. По коду причины прерывания в ТУП планировщика заданий устанавливается указатель С и переписывается сохраняемая информация, после чего указатель блока 18.1 в списке указателей состояния исполнительных микропроцессорных бл ков 18..п устанавливается в состояние СВОБОДЕН, и через микропроцессорный блок Ц распределения ресурсов происходит обращение к микропроцессорному блоку 90 создания процесса, который оформляет ТУП пер вого из введенных заданий и сообщае микропроцессорному блоку распреде ления ресурсов о наличии готового к выполнению процесса в системе. Посл этого возобновляется выполнение пла нировщика заданий на исполнительном компрессорном блоке 18.1. Планировщик заданий повторяет вышеописанный цикл по созданию процессов для каждого из 1 загруженных заданий. Параллельно с этим микропроцессорный блок распределения ресурсов выполняет назначение вновь созданных процессов пользователей на свободные исполнительные микропроцессорные блоки 18.1т18.п. После того, как планировщик заданий закончит 1-ый цикл создания процесса, он выполняет обращение к ядру ОС и с помощью микропроцессорного блока 93 приема сообщения переводится в список блокированных на ожидании сообщения процессов до появления сообщения об обработке одного из введенных в систему заданий. Созданные пользопательские процессы выполняются параллельно на исполнительном микропроцессорном устройстве 1. При этом области оперативной памяти, с которыми работают исполнительные микропроцессорные блоки I8.1rl8.n, задаются соответствующими параметрами ТУП. Выполнение команды программы исполнительным микропроцессорным блоком 18.К осуществляется s следующем порядке. В регистре 27 адреса памяти под управлением микрокоманд, поступающих из узла 22 памяти микрокоманд через регистр 23 микрокоманд, устанавливается адрес команды. С двенадцатого выхода регистра 23 микрокоманд на второй управляющий выход исполнительного микропроцессорного блока 18.К подается сигнал Запрос шин, после чего микропроцессорный блок 18.К переходит в режим Ожидание. Появление на первом управляющем входе исполнительного микропроцессорного блока 18.К сигнала Подтверждение запроса, поступающего на четвертый управляющий вход регистра 21 адреса микрокоманд, вызывает считывание микрокоманды, согласно которой на первый и второй управляющие входы микропроцессорных узлов 20.1г20.8 подаются сигналы открытия первого и второго в-ыходных буферов З и 35. В результате этого на адресном выходе исполнительного микропроцессорного блока 18.К устанавливается адрес команды, а на первый управляющий выход микропроцессорного блока 18.К с одиннадцатого выхода регистра 23 микрокоманд поступает сигнал, определяющий режим работы запоминающего устройства 2. Через промежуток времени, определяемый физическими свойствами запоминающих элементов запоминающего устройства 2, на информационном входе-выходе исполнительного микропроцессорного блока 18,К устанавливается код адрессованной команды. Адресная часть команды поступает в микропроцессорные узлы 20.т20,8, а операционная часть команды поступает в регистр адреса 21 микрокоманд. Операционная часть команды является адресом первой микрокоманды из микропрограммы, интерпретирующей данную команду. Микрокоманда также имеет адресную и операционную часть Адресная часть микрокоманды, содержащая адрес следующей за ней микрокоманды, поступает на третий управляющий вход регистра 21 адреса микрокоманд. Операционная часть микрокоманды содержит коды микрофункций по которым формируются управляющие сигналы, поступающие в узлы и элементы исполнительного микропроцессорного блока 18,К, С приходом каждо го синхроимпульса по линии 26 на син хронизирующие входы микропроцессорны узлов 20,1г20,8, на их третьи управ ляющие входы поступают микрокоманды которые декодируются дешифратором 30, Первый и второй коммутирующие элементы 31 и 32 выбирают операнды и операционный элемент 29 производит нужную операцию. По второму фрон ту синхроимпульса.результат операции помещается либо в накапливающий регистр 28, либо в заданный регистр элемента 33 памяти, либо в регистр 27 адреса памяти, В конце выполнения каждой команды производится стробирование узла 2k прерывания. Запрос, принятый в регистр 39 запросов в течение действия строба, поступает совместно с кодом из регистра 37 текущего приоритета н элемент 38 сравнения. Если приоритет поступившего запроса выше текущего приоритета, то шифратор Зб вырабатывает сигнал, поступающий на вт рой выход узла 2 прерывания. По это му сигналу из регистра 2 Г адреса ми рокоманд 21 выдается адрес начала микропрограммы обработки прерывания которая считывает код прерывания и 120 после соответствующей обработки переписывает этот код в регистр 37 текущего приоритета. Обмен командами и данными между блоками системы и запоминающим устройством 2 осуществляется по шине 8 данных, а выдача адресов производится по шине 9 адреса. При этом запоминающее устройство 2 работает в двух режимах: Чтение и Запись, В режиме Чтение код шестнадцати младших разрядов адреса данных поступает на адресные входы блоков памяти, на первых управляющих входах которых устанавливается код режима Чтение, Код четырех старших разрядов адреса данных, поступающий на вход дешифратора 40, определяет номер блока памяти. На второй управляющий вход выбранного блока k7. i памяти поступает сигнал запуска, с приходом которого на выходе дешифратора 2 появляется сигнал выборки, разрешающий считывание данных из группы запоминающих элементов 50, Через время, определяемое первым элементом 6 задержки, первый триггер kj устанавливается в состояние приема адреса, а на информационный входвыход блока ,1,1 памяти выдаются считанные данные, С первого управляющего входа блока k. памяти на элемент И 4 подается запрещающий сигнал, а второй триггер 46 остается в исходном состоянии Чтение, Через время, определяемое четвертым элементом 49 задержки, первый триггер 43 устанавливается в исходное состояние Хранение, В режиме Запись на первых управляющих входах блоков 4l.1fit1,m памяти устанавливается код режима Запись, а на первый вход элемента И 44 выбранного блока 41,1 памяти поступает разрешающий сигнал, что позволяет сначала установить второй триггер 45, в состояние Запись, а затем перевести в состояние Хранение, Блоки системы получают доступ к запоминающему устройству 2 через блок 3 коммутации, который обрабатывает запросы к памяти согласно их приоритетам. Запросы поступают на вход регистра б2 запросов. Наиболее приоритетный запрос формирует на одном из выходов блпка 3 коммутации сигнал подтверждения запроса, который одновременно блокирует менее приоритетные запросы. Когда все запросы

21

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

При прохождении пользовательского процесса через систему, он с помощью управляющего микропроц&ссорного устройства 7 может порождать новые процессы, относящиеся к выполняемому распараллеливаемому заданию, обмениваться сообщениями с ними и с системными процессами, удалять созданные процессы из системы. Запрос управляющего микропроцессорного устройства 7 выполняется исполнительным микропроцессорным блоком 18.К путем обработки экстра кода обращения к ядру ОС. По коду причина прерывания в ТУП пользовательского процесса устанавливается, соответствующий указатель обращения С,У.ПЕР или ПР переписывается, сохраняемая информация и указатель состояния исполнительного микропроцессорного блока 18.К устанавливается в состояние Свободен, после чего с третьего управляющего выхода исполнительного микропроцессорного блока 18.К выдается сигнал на второй управляющий выход исполнительного микропроцессорного устройства 1. Этот сигнал поступает на первый управляющий вход микропроцессорного блока k распределения ресурсов, который начинает просмотр списка УКАЗ СОСТ, анализирует ТУП прерванного процесса и формирует на своем четвертом управляющем выходе соответствуюе ий код прерывания управляющего микропроцессорного устройства 7. После выполнения функций затребованного системного примитива управляющим микропроцессор ным устройством 7 в ТУП прерванного процесса устанавливается указатель готовности процесса к выполнению, и на четвертый управляющий вход микропроцессорного блока k распределения ресурсов поступает сигнал о наличии готового процесса в системе. Микропроцессорный блок Ц распределения ресурсов через Р-операцию над СЕМ ОБЩ СПИСКА входит в общий список процессов, находит ТУП готового процесса, выполняет V-операцию над СЕМ ОБЩ, СПИСКА, Помещает адрес найденной ТУП и метку ЗАНЯТ в УКАЗ СОСТ

122

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

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

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

Микропроцессорный блок 31 унич-. тожения процесса при появлении на его третьем управляющем входе сигнала, поступающего со второго управляющего входа управляющего микропроцессорного устройства 7 через второй регистр 95I выполняет Р-операцию над СЕМ ОБЩ СПИСКА, находит ТУП с указателем У, загружает на собственные регистры необходимые для выполнения параметры из этой ТУП и произ водит поиск ТУП уничтожаемого процес са, после чего производится ее исключение из общего списка процессов и выполняется У-Операция над СЕМ ОБЩ СПИСКА. Затем микропроцессорный блок 91 уничтожения процесса по указателю СЕМ СООБ1Д находит адрес списка сообщений уничтожаемого процесса и через СЕМ СПИСКА ПАМ производит включение памяти, занимаемой адрессованными этому процессу сообщениями, в СПИСОК ПАМ, после чего в этот же список включается память, занимаемая ТУП уничтожаемого процесса После этого в ТУП прерванного процесса устанавливается указатель Г и с четвертого управляющего выхода мик ропроцессорного блока 91 уничтожения процесса,через элемент ИЛИ 96 посылается сигнал на четвертый управляющий выход управляющего микропроцессорного устройства 7. Если микропроцессорный блок 91 уничтожения процесса удаляет из системы процесс, находящийся в стадии выполнени на одном из исполнительных микропроцессорных блоков 8,IT 18,п, то в УКАЗ СОСТ этого исполнительного блока устанавливается метка Свободен а с третьего управляющего выхода мик ропроцессорного блока 91 уничтожения процесса посылается сигнал на третий управляющий выход управлящего микропроцессорного устройства 7 Микропроцессорный блок 92 передачи сообщения при появлении на его третьем управляющем входе сигнала, поступающего со второго управляющего входа управляющего микропроцессорного устройства 7 через регистр 95 и элемент ИЛИ 101, выполнен Роперацию над СЕМ ОБЩ СПИСКА, находит ТУП с указателем ПЕР, загружает на собственные регистры необходимые для выполнения примитива параметры ИЗ этой ТУП,производит поиск ТУП процесса-приемника и выполняет У-опе рацию над СЕМ ОБЩ СПИСКА. Затем над СЕМ СПИСКА ПАМ выполняется Р-операция, производится поиск зоны памяти объем которой достаточен для оформления передаваемого сообщения, и выполняется V-операция над СЕМ СПИСКА ПАМ. После этого оформляется сообщение в выделенной зоне памяти, выполняется Р-операиия над СЕМ СПИСКА СООБЩ процесса-приемника, сообщение включается в СПИСОК СООБЩ выполняется V-операция над СЕМ СПИСКА СООБЩ и производится V-операция над СЕМ СООБЩ процесса-приемника, после чего в ТУП процесса-передатчика устанавливается указатель Г и с управляющего выхода микропроцессорного блока 92 передачи сообщения посылается сигнал через элемент ИЛИ 97 на чертвертый управляющий выход управляющего микропроцессорного устройства 7. Микропроцессорный блок 93 приема сообщения при появлении на его третьем управляющем ходе сигнала, поступающего со второго управляющего входа управляющего микропроцессорного устройства 7 через регистр 95 и элемент ИЛИ 102, выполняет Р-операцию над СЕМ ОБЩ СПИСКА, находит ТУП с указателем ПР, загружает на собственные регистры необходимые для выполнения примитива параметры из этой ТУП и производит У-операцию1 над СЕМ OBUL СПИСКА, Затем над СЕМ СООБЩ в найденной ТУП выполняется Р-операция и, в случае наличия адресованных про-, цессу сообщений, производится Р-операция над СЕМ СПИСКА СООБЩ, из СПИСКА СООБЩ считывается первое сообщение и выполняется V-операция над СЕМ СПИСКА СООБЩ, после чего производится Р-операция над СЕМ СПИСКА ПАМ, память, занимаемая прочитанным сообщением, включается в СПИСОК ПАМ и выполняется V-операция над СЕМ СПИСКА ПАМ, После этого в ТУП устанавливается указатель Г и с седьмого управляющего выхода микропроцессорного блока 93 приема сообщения посылается сигнал через элемент ИЛИ 97 на четвертый управляющий выход управляющего микропроцессорного устройства 7, В случае отсутствия адресованных процессу сообщений в ТУП устанавливается указатель БЛОК СООБЩ, что переводит процесс в список блокированных процессов. Если при выполнении микропроцессорным блоком 92 передачи сообщений V-операции -над СЕМ СООБЩ процессприемник находится в состоянии БЛОК СООБЩ, то в ТУП процесса-приемника снимается указатель БЛОК СООБЩ, устанавливается указатель ПР и с управляющего выхода микропроцессорного блока 92 передачи сробщения посылается сигнал через элемент ИЛИ 102 на второй управляющий вход микропоог

цессорного блока 93 приема сообщения .

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

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

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

Оперативный выход из режима связыва ющей блокировки реализуется с помощь микропроцессорного блока 89 синхронизации. При выполнении одним из микропроцессорных блоков 4,90,91,92,93 Р-операции над системным семафором и в случае блокировки на этом семафоре в памяти устанавливается указатель соответствующего микропроцессорного блока, требующего доступа к системному списку. При выполнении одним из микропроцессорных блоков А,90 91,92,93 V-операции над системным семафором и в случае наличия блокированного микропроцессорного блока на второй управляющий вход микропроцессорного блока 89 синхронизации поступает сигнал через элемент ИЛИ 9б с соответствующего управляющего выхода одного из микропроцессорных блоков 4,90,91,92,93, выполнявшего У-операцию. По этому сигналу микропроцессорный блок 89 синхронизации анализирует соответствующие указатели блокировок, снимает указатель и выдает на третий управляющий выход код, по которому через регистр 95 на третий управляющий вход блокированного микропроцессорного блока 90, и на входы блоков 91, 92,93 или. на третий управляющий вход микропроцессорного блока 4 распределения ресурсов поступает сигнал, выводящий блок из режима связывающей блокировки.

Между микропроцессорными блоками 92 и 93 может возникать связывающая блокировка на СЕМ СПИСКА СООБЩ. При выполнении микропроцессорным блоком 92 передачи сообщений или микропроцессорным блоком 93 приема сообщения Р-операции над СЕМ СПИСКА СООБЩ и в случае блокировки на этом семафоре микропроцессорный блок переходит в режим ожидания сигнала на свое втором управляющем входе. При выполнении одним из микропроцессорных блоков 92,93 V-операции над СЕМ СПИСКА СООБЩ и в случае наличия блокировки на этом семафоре другого из микропроцессорных блоков 92 и 93 производится выдача сигнала разблокировки либо с шестого управляющего выхода микропроцессорного блока 92 передачи сообщения через элемент ИЛИ 100 на второй управляющий вход микропроцессорного блока 93 приема сообщения, либо с пятого управляющего выхода микропроцессорного блока 93 приема сооЬщения через элемент ИЛИ 99 на второй управляющий вход микропроцессорного блока 92 передачи сообщения. Выполнение пользовательского процесса заканчивается обработкой экстракода обращения к ядру ОС. При этом происходит прерывание микропроцессорного блока 92 передачи сообщения, который формирует сообщение планировщику заданий. Планировщик заданий переводится из списка блокированных процессов в число готовых к выполнению процессов, микропроцессорный блок распределения ресурсов назначает ему один из исполнительных микропроцессорных блоков I8,1rl8.n, после чего планировщик заданий обращается к микропроцессорному блоку 93 приема сообщений, анализирует считанное сообщение, выводит через микропроцессорный блок 5 ввода-вывода и устрой ство 6 связи с памятью выходные дан ные пользовательского процесса на устройство печати (не показано) и выдает экстракод обращений к микропроцессорному блоку 91 уничтожения процесса. Отработавший пользователь ский процесс удаляется из системы, а микропроцессорный блок 93 приема сообщения выполняет Р-операцию над СЕМ СООБЩ в ТУП планировщика заданий и включает эту ТУП в список бло кированных на ожидании сообщения процессов. После получения сообщения о завершении выполнения 1-го задания планировщик заданий помещае в оперативную память очередную порцию из нескольких заданий, хранящих ся на магнитном диске, и описанный выше цикл работы системы повторяетс Взаимодействие системы с внешними устройствами осуществляется чере микропроцессорный блок 5 ввода-вывода и устройство 6 связи с памятью Устройство 6 связи с памятью работа ет в двух режимах: Программировани канала и Передача. В режиме Про раммирование канала микропроцессор ный блок 5 ввода-вывода производит запись в блок б7 регистров адреса начала записи, кода длины записи и кода режима передачи данных, причем запись осуществляется в два этапа. На первом этапе адрес начала записи данных через коммутатор 66 поступае 128 на второй информационный вход блока 67 регистров, а адрес регистра, в который будет произведена запись, поступает на третий информационный вход блока б7 регистров через переключатель б9. Одновременно с третьего управляющего выхода микропроцессорного блока 5 ввода-вывода через второй управляющий вход устройства 6 связи с памятью на третий вход блока 68 управления поступает сигнал Запись, который устанавливает второй триггер 79 блока 68 управления в состояние Программирование канала. 8 этом состоянии разрешено поступление адреса регистра через переключатель б9 на третий информационный вход блока 67 регистров и разрешено прохождение синхроимпульсов через первый элемент И 7б и первый элемент ИЛИ 77 на четвертый и седьмой выходы блока 68 управления. Адрес регистра поступает в блок 67 регистров на дешифраторы и адрес начала записи данных запоминается в заданном регистре первой группы регистров 87.1г87.8. После этого микропроцессорный блок 5 ввода-вывода снимает сигнал Запись. На втором этапе микропроцессорный блок 5 ввода-вывода выдает на шину 8 данных код длины записи данных, код режима передачи и адрес регистра из второй группы регистров 88.1г88,8 блока б7 регистров, в который должна быть произведена запись. Код длины записи данных и код режима передачи поступают через коммутатор 66 на первый информационный вход блока 67 регистров. Дальнейший порядок работы устройства 6 связи с памятью на втором этапе аналогичен работе устройства на первом этапе. В режиме Передача запросы на передачу данных поступают от внешних устройств по пинии 73 в регистр 70 запросов. Шифратор 71 формирует на выходе код запроса, который, являясь одновременно адресом регистра в блоке б7 регистров, поступает на вход переключателя 68. С третьего выхода шифратора 71 выдается сигнал Запрос шин на третий управляющий выход уст- ройства 6 связи с памятью. Этот си|- нал транслируется микропроцессорным блоком 5 ввода-вывода в блок 3 коммутации. Получив из блока 3 коммутации сигнал Подтверждение запроса микропроцессорный блок 5 ввода-вывода транслирует его через второй управляющий вход устройства 6 связи с памятью в буферный узел 72 и приостанавливает свою работу. Из буферного узла 72 по линии fk во внешнее устройство поступает сигнал, по которому внешнее устройство выдает подготовленные данные на шину 8 данных. Из буферного узла 72 посылается также сигнал на второй вход блока 68 управления, который устанавливает первый триггер 72 в состояние Передача. Этим самым разрешается прохождение адреса регистра через переключатель б9 на третий информационный вход блока б7 регистров и прохождение синхроимпульса через третий элемент И 80 на вход счетчика 82, который устанавливается в состояние Чтение. Че рез дешифратор 81 сигнал Чтение передается в блок б7 регистров и осуществляется считывание содержимого двух регистров из групп регистров 87.1т87.8 и 88.1-88.8, адрес которых установлен на входе дешифраторов . Содержимое адресованных регистров поступает в счётчик 63 адреса записи, счетчик 6 длины записи и регистр б5 режима работы.

С приходом второго синхроимпульса счетчик 82 переходит в состояние +1 Через дешифратор 81 сигнал +1 передается в блок 67 регистров, увеличивает содержимое счетчика 63 адреса записи и уменьшает содержимое счетчика б длины записи на единицу. Третий синхроимпульс устанавливает счетчик 82 в состояние Общий сброс и (если содержимое счетчика длины записи 6 равно нулю) сигнал со -второго выхода дешифратора 81 через второй элемент И 78 поступает на второй и седьмой выходы блока 68 управления. Содержимое адресуемых регистров блока 67 регистров установится равным нулю. По сигналу на своем втором управляющем входе микропроцессорный блок 5 ввода-вывода через первый управляющий вход устройства 6 связи с памятью, буферный узел 72 и второй вход блока 68 управления установит первый триггер 75 в исходное состояние. Если содержимое счетчика 6А длины записи не равно нулю, то состояние устройства 6 связи с памятью не меняется. Четвертый синхроимпульс устанавливает в счетчике 82 состояние Запись . В этом случае сигнал Запись с дешифратора 81

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

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

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

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

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

соединены соответственно с выходами разрядов первой группы регистра Запросов и через элементы НЕ первой группы - k. выходами элементов ИЛИ первой группы, выход каждого предыдущего элемента ИЛИ первой группы блока коммутации соединен с вторым входом последующего элемента ИЛк) первой группы, а выход последнего элемента ИЛИ первой группы соединен с вторым входом второго элемента ИЛИ блока коммутации, выход которого соединен с вторым входом первого элемента ИЛИ и через второй элемент НЕс вторым входом элемента И блока коммутации, третий управляющий выход и второй управляющий вход микропроцессорного блока распределения ресурсов соединены соответственно со входом и выходом второго разряда регистра запросов, отличающаяся тем, что, с целью повышения пр ;из8одительности системы, а управляющее микропроцессорное устройство введены микропроцессорный блок создания процесса, микропроцессорный блок уничтожения процесса микропроцессорный блок передачи сообщения, микропроцессорный блок приема сообЩения, два управляющих регистра. семь элементов ИЛИ, а в блок коммутации введены вторые группы элементов ИЛИ, элементов НЕ и элементов И, причем первые управляющие входы и выходы, вторые управляющие выходы, адресные выходы и информационные входы-выходы микропроцессорных блоков создания процесса, уничтожения процесса, передачи сообщения, приема сообщения соединены соответственно с выходом второй группы элементов И, . с входом второй группы разрядов регистра запросов, с управляющим входом, через шину адреса с адресным входом и через шину данных с информационным входом-выходом запоминающего устройства, первый и второй управлящие входы и второй и третий управляющие выходы микропроцессорного блока синхронизации соединены соответственно с выходом второй группы элементов И, с выходом первого элемента ИЛИ управляющего микропроцессорного устройства, со входом второй группы разрядов регистра запросов, с входом первого регистра, третий и четвертый управляющие выходы и второй и третий управляющие входы микропроцессорного блока создания процесса соединены соответственно с пер выми входами первого и второго элементов ИЛИ управляющего микропроцессорного устройства, с выходом третьего элемента ИЛИ и с первым выходом первого регистра, второй, третий, четвертый и пятый выходы которого соединены соответственно с третьим управляющим входом микропроцессорного блока распределения ресурсов с первыми входами четвертого и пятого элементов ИЛИ, с вторым управляющим входом микропроцессорного блока уничтожения процесса, третий управляющий вход, третий, четвертый, пятый, шестой, седьмой управляющие выходы которого соединены соответствен но с первым выходом второго регистра с первым управляющим входом микропро цессорного блока распределения ресурсов, с вторым входом второго элемента ИЛИ управляющего микропроцессорного устройства, с первыми входами третьего и шестого элементов ИЛИ с вторым входом первого элемента ИЛИ управляющего микропроцессорного устройства, третий вход которого сое динен с вторым выходом второго регистра, вход, третий, четвертый и пятый выходы которого соединены соот ветственно с четвертым управляющим выходом микропроцессорного блока рас пределения ресурсов, вторыми входами третьего и шестого элементов ИЛИ, с первым входом седьмого элемента ИЛИ, второй вход которого соединен с третьим управляющим выходом микропроцессорного блока передачи сообщения, второй и третий управляющие входы, четвертый, пятый и шестой управляющие выходы которого соединены соответственно с выходами чет вертого и шестого элементов ИЛИ, с третьим входом второго элемента ИЛИ управляющего микропроцессорного устройства, с четвертым входом первого элемента ИЛИ управляющего микропроце сорного устройства, с вторым входом пятого элемента ИЛИ, выход которого соединен с вторым управляющим входом микропроцессорного блока приема сообщения, третий управляющий вход, третий, четвертый, пятый, шестой и седьмой управляющие выходы которого соединены соответственно с выходом седьмого элемента ИЛИ, с третьими входами третьего и шестого элемента ИЛИ, с вторым входом четвертого элемента ИЛИ, с пятым входом первого и с четвертым входом второго элементов ИЛИ управляющего микропроцессорного устройства, выход второго элемента ИЛИ управляющего микропроцессорного устройства соединен с четвертым управляющим входом микропроцессорного блока распределения ресурсов, выход последнего разряда второй группь регистра запросов соединен с первым входом элемента И второй группы, выходы остальных разрядов вто-.. рой группы регистра запросов соединены с первыми входами оставшихся элементов И второй группы и с первыми входами элементов ИЛИ второй группы, вторые входы элементов И второй группы соединены, с выходами соответствующих элементов НЕ второй группы, вход первого элемента НЕ второй группы соединен с выходом второго разряда регистра запросов, входы остальных элементов НЕ второй группы соединены с выходами соответствующих элементов ИЛИ второй группы,выход каждого предыдущего элемента ИЛИ второй группы соединен с вторым входом последующего элемента ИЛИ второй группы,выход последнего элемента ИЛИ второй группы соединен с вторым входом первого элемента ИЛИ первой группы. Источники информации, принятые во внимание при экспертизе 1.Патент США ff , кл. G Об F ГЗ/10,15/16, 1977. 2.Патент США N 4065809, кл. G 06 F 15/16, 1977. 3. Computer design. 197, W 3, p. 86.

JLJLJJf.

/3

/

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

название год авторы номер документа
Устройство для управления каналами 1974
  • Качков Владимир Петрович
  • Каптюг Виктор Осипович
  • Овсянников Валерий Иванович
  • Тихович Юрий Витольдович
SU520592A1
Устройство для сопряжения периферийных устройств с процессором и оперативной памятью 1983
  • Дещиц Евгений Федорович
SU1156084A1
Устройство для сопряжения оперативной памяти с внешними устройствами 1981
  • Верига Маргарита Андреевна
  • Овсянников Валерий Иванович
  • Погодаев Валерий Викторович
  • Шевченко Тарас Григорьевич
SU993237A1
Процессор для мультипроцессорной системы 1985
  • Белицкий Роберт Израилевич
  • Зайончковский Анатолий Иосифович
  • Палагин Александр Васильевич
SU1295410A1
Внешнее устройство управления 1978
  • Кондратьев Анатолий Павлович
  • Овсянников Валерий Иванович
  • Рудаковский Виктор Викторович
  • Коротченя Михаил Иванович
SU736100A1
ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА 1991
  • Булавенко Олег Николаевич[Ua]
  • Коваль Валерий Николаевич[Ua]
  • Палагин Александр Васильевич[Ua]
  • Рабинович Зиновий Львович[Ua]
  • Авербух Анатолий Базильевич[Ua]
  • Балабанов Александр Степанович[Ua]
  • Дидык Петр Иванович[Ua]
  • Любарский Валерий Федорович[Ua]
  • Мушка Вера Михайловна[Ua]
RU2042193C1
Устройство для управления каналами 1979
  • Вайзман Александр Яковлевич
  • Пронин Владислав Михайлович
  • Рымарчук Александр Григорьевич
SU877519A1
Микропрограммное устройство управления 1987
  • Ицкович Юрий Соломонович
  • Храмцова Любовь Петровна
SU1522203A1
Микропрограммный процессор 1980
  • Бурова Елена Алексеевна
  • Горбачев Сергей Владимирович
  • Диденко Владимир Дмитриевич
  • Игнатьев Михаил Борисович
  • Кочкин Андрей Агафанилович
  • Малышко Виктор Михайлович
  • Мясников Владимир Александрович
  • Торгашев Валерий Антонович
  • Харитонова Ирина Александровна
SU947868A1
Устройство для обмена данными между группой каналов ввода-вывода и оперативной памятью 1985
  • Пронин Владислав Михайлович
  • Пыхтин Вадим Яковлевич
  • Зильбергельд Иосиф Михайлович
  • Рымарчук Александр Григорьевич
  • Хамелянский Владимир Семенович
SU1280642A2

Иллюстрации к изобретению SU 907 551 A1

Реферат патента 1982 года Мультимикропроцессорная система

Формула изобретения SU 907 551 A1

/7

16

ю

lit

/4/

м/

8

ш,г

Ю.Л

18П

....л

tjr

36

3

J9

19

f4

W

Фиг. 5

SU 907 551 A1

Авторы

Заблоцкий Владимир Николаевич

Грек Василий Васильевич

Карабань Дмитрий Иванович

Спасский Виктор Евгеньевич

Даты

1982-02-23Публикация

1980-01-07Подача