Процессор мультиобработки данных

 

Всбоо юз н &.:я ли ка iA

ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

590745 ббйз Соеетсйа

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

Реснублик (б1) Дополнительное к авт. свид-ву (22) Заявлено 28.10.75 (2! ) 21848! О/18-24 с присоединением заявки № (23) Приоритет (43) Опубликова но 30.01.78. Бюллетень X 4 (45) Дата опубликования описания 28.03.78

М. 1 л. - О 06Г 15/00 государственный комитет

Совета Министров СССР оо делам нэобретений н открытий

УДК 681 325(088 8) (72) Авторы изобретения

А. А. Арефьев, В. Л. Арлазаров, С. Я. Беркович, А. Ф. Волков, А. H. Годунов, Н, В. Дагурова, Н. E. Емельянов, В. Д. Зенкин, Н. Г. Зенкина, Г. М. Золотухина, А. А. Леман, В. С. Лихонинский, В. T. Лысиков, В. А. Макаров, Г. К. Сорокин и И. А. Фараджев

Ордена Ленина институт проблем управления (71) Заявитель (51) ПРОНГССОР МУЛЬТИОБРАБОТКИ ДЛННЬIX

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

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

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

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

20 вход и выход блока сопряж;нпя соединены с первыми информационными выходом и входом арифметическо-логического блока, а третьи информационные вход и выхо1 блока сопряжения подключсны к первым информационным

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

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

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

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

Поставленная цель достигается тем, что процессор мультиобработки данных содержит блок статусов процессов, адресный, управляю.ций и информационный входы которого подключены соответственно к третьему информационному выходу блока управляющих регистров, пятому управляющему и второму информационным выходам блока управления, а информационный и управляющий выходы соединены с пятым информационным входом блока управляющих регистров и вторым информационным входом блока управления, а также тем, что блок статусов процессов содержит регистр маски, входной регистр, .регистр адреса, узел характеристик статусов процессов, узел индикации совпадения, узел обработки приоритетов и узел выдачи номера процесса, выход которого соединен с информационным выходом блока статусов процессов, управляющий вход которого с первыми входами узла характеристик статусов процессов и регистров адреса, подк;поченного вторым входом к адресному входу блока статусов процессов и соединенного выходом со вторым входом узла характеристик статусов процессов, третий н четвертый входы которого через регистр маск t Il входной регистр, соответственно, соединены с информационным входом блока статусов процессов, управляющий выход которого соединен с первым выходом узла индикации cottпадения, подключенного вхо.toì и выходу узла

2i)

40 .t5

5)

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

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

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

Основные функции процессора мультиобработки данных следующие: а) ведение одновременно большого числа параллельны: процессов; б) обеспечение работы с виртуальной памятью большого объема.

При наличии в вычислительной системе процессора мультиобработки данных одновременно в состоянии работы (т. е. в процессе выполнения) могут находиться большое число процсссов (сотни и тысячи). Образование новых процессов, уничтожение процессов, взаимодействие и синхронизация процессов осуществляется специальными командами. Операционные таблицы описывающие обрабатываемые процессы, находятся в процессоре мультиобработки данных в справочных, хранящих основную информацию о выполняемых процессах. Благодаря этому переключение одного процесса на другой осуществляется за 10 —:40 тактов главной памяти вычислительной системы. В известных операционных системах, на процедуру переключения процессов (программы) уходят сотни команд или порядка 200 —: —:1000 циклов главной памяти вычислительной системы, т. с. процсссор мультиобработки данных позволяет сократить время переключения процессов на 1 —:2 порядка.

Таким образом, появляется возможность без значительных затрат процессорного времени образовывать в вычислительной системе большое число параллельных процессов («Параллельных» в том смысле, что одновременно в вычислительной системе существует большое число процессов готовых к выполнению). Естественно, что они образуют некоторую последовательную очередь к арифметическо-логическому устройству процессора мультиобработки данных нли к нроцсссорам классического типа, 590745

Ьход111ц11х 13 сосТВВ Bl l tffcчнтсльной систeмь1.

1- с, llf B системс будет 1ссколько . 1роцссcopoB мультиобработки данных илн процессоров классического типа, то и число одновременно работающих процессов (работающих уже фактически параллельно) будет равно числу этих процессоров. Таким образом, аппаратная реализаци11 II процессоре мультиобработки данных некоторых функций операционной системы по образованию, уничтожению и переключению процессов, позволяет в вычислительной системс, имеющей в своем составе процессор мультиобработки данных, эффективно вести одновременно обработку большого числа процессов.

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

Способность процессора мультиобработки данных оосспсчивать одновременное выполнение (3 ьч1числительной системе большого числа процессов (до нескольких сот или тысяч) открывает 110Bblc возможности в решении таких основных вопросов мультиобработки, как обеспечение эффективного обмена между главной памятью вычислительной системы и внешними,носителями и активного взаимодействия с развитой системой терм иналов (в режиме разделения времени).

Организация эффективного обмена с внешними носителями основана на том, что в каждый текущий момент работы вычислительной системы процессор мультиобработки данных располагает информацией о всех запросах процессов (существующих в системе) на обмен. (Эта н11формация содержится в паспортах If с 1 атус11 х каждого из п13оцессо13) . Тем самым, появляется возможность выбора оптимальной последовательности заявок к внешним носителям, т. с. например, за один проход магнитной ленты можно удовлетворить все заявки к данной ленте, выбранные к текущему моменту. Получаемый при этом эффект определяется числом одновременно выполняемых процессов. (Чем больше запущено процессов, тем меньше возвратов ленты). При работе с магнитными лентами можно ожидать, что среднее время удовлетворения заявок может быть уменьшено на 1,5 —:2 порядка по сравнению с организацией обменов принятых в обычных операционных системах (системы типа ИБМ, ИСЛ и т. д.) Если учесть, что во многих задачах, например, информационно-поисковых, обмен с внешними носителями является основной функцией, то резкое сокращение времени на обмен приводит к столь же резкому повышению реальной производительности вычислительной системы в целом на данном классе зтlдач.

6:)

Это возможно потому, что в данном случае запуск новых процессов требует время, соответствующее 10 —:40 циклов обращений к главной памяти вычислительной системы. В обычных вычислительных системах для этого требуется время, соответствующее нескольким сотням циклов памяти.

На чертеже приведена блок-схема процессора мультиобработки данных.

Процессор содержит блок сопряжения 1, регистр номера управляющих регистров 2, блок управляющих регистров 3, арифмсти 1еско-логический блок 4, блок постоянной памяти 5, Лктп13нос B3апмодействис с ра,3вптой системой тсрм11цалт.ных устройств (13 режиме разделения времени) обеспечигастся организац111й в выичислительной системе (за счет наГора специальных команд) развитого «аппарга событий». Предусматривается широкий набор

«элементарных событий» (например, считывание заданного блока информапии с внешнего носителя и главную память ы 1ислительнои

10 системы, окончание работь; одного или группы процессов, запросы от терминальных устройств, сообщение одного процесса другим процессам, изменение содержимого заданных ячеек главной памяти и т. д.). Этп элементарные собы15 тия могут образовывать комбинации событий «сложныс события».

Взаимодействие и синхронизация процессов обеспечивается этим аппаратом событий.

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

a) упрощение программирования и процедур отладки программ (сокращается длина программ и упрощается описание различных

2;, условий и событий), б) аппаратурную реализацию це функций операционной системы (создание и уничтожение процессов, пуск процессов по приоритетам, приостанов процессов Ilo ожиданию каких-либо событий и т. д.), в) эффективное решение задач в режиме разделения времени.

Главная трудность в организации режима разделения времени состоит в выборе интервалов времени, которые отводятся каждой задаче. Этот интсрвал времени определястся: а) временем перестройки вычислительной системы на очередную задачу (изменение соответствующих операционны.; таблиц, смена

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

15 ВЫЧИСЛЕНИЯ.

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

;о интервала смены задач, т. е. вести каждый процесс небольшими порциями.

500745 блок статусов процессов 6 и блок управления 7.

Блок управляющих регистров 3 содержит выходной регистр 8, регистр распределения памяти 9, регистр базового адреса страницы 10, регистр остатка 11, регистр начального адреса страницы 12, регистр границы 13, регистр начального адреса таблицы блоков информации

14, регистр номера работающего процесса

15, регистры текущего состояния процесса

16,—:-16 и входной регистр 17.

Блок статусов процессов 6 содержит регистр адреса 18, узел характеристик статусов процессов 19, узел индикации совпадения 20, узел обработки приоритетов 21, узел выдачи номера процесса 22, регистр маски 23 и входной регистр 24.

Первый, второй, третий, четвертый и пятый управляющие выходы блока управления 7 соединены соответственно со вторым управляющим входом блока сопряжения 1, с управляющим входом блока управляющих регистров 3, управляющим входом постоянной памяти 5, с управляющим входом арифметическо-логического устройства 4 и управляющим входом блока статусов процессов 6, адресный выход подключен к адресному входу регистра номера управляющих регистров 2, первый и второй информационные выходы подключены соответственно к третьему информационному входу блока управляющих регистров 3 и информационному входу блока статусов процессов 6, а первый и второй информационные входы подключены соответственно к управляющим выходам арифметическо-логического блока 4 и блока статусов процессов 6, управляющий вход подключен ко второму управляющему выходу блока сопряжения 1. Первый, второй и третий информационные входы арифметическо-логического блока 4 соединены соответственно со вторым информационным выходом блока сопряжения 1, со вторым информационным выходом блока управляющих регистров 3 и со вторым информационным выходом блока постоянной памяти 5, а первый и второй информационные выходы подключены соответственно ко второму информационному входу блока сопряжения 1 и к четвертому информационному входу блока управляющих регистров 3. Лдресный, первый управляющий и первый информационный входы и выходы блока сопряжения 1 подключены соответственно к управляющему, информационному и адресному входам и выходам процессора мультиобработки данных. Третий информационный выход блока сопряжения 1 подключен к первому информационному-входу блока управляющих регистров 3, а третий информационный вход подключен к первому информационному выходу блока управляющих регистров 3. Второй и пятый информационныс входы блока управляющих регистров соединены соответственно с первым информационным выходом постоянной памяти 5 и нчформацнонным выходом блока стату10

5, )

65 сов процессов 6, а третий информационный выход соединен с ядреспым входом блока статусов процессов 6.

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

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

Паспорт процесса — эта информация, необходимая для автономного функционирования процесса.

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

Заголовок паспорта процесса содержит следующее: — физический адрес главной памяти вычислительной системы, где хранится начало программы данного процесса и код ее длины; — математический адрес страницы (номер) области паспортов, в которой хранится таблица номеров страниц (в области паспортов) рабочих ячеек, принадлежащих данному процессу; — математический адрес страницы, где содержится таблица созданных паспортов; — области адресов в главной памяти, общие для создаваемого и некоторых других процессов и задаваемые процессу при его создании (таких областей может быть четыре) . Каждая область может иметь два вида адресации. Вид адресации указывается признаком. В первом случае (признак — 1) — физическими адресами начала и конца области, во втором (признак — О) — математическим адресом страницы, в которой хранится таблица номеров стра;.иц рабочих ячеек порождающего процесса и номерами рабочих ячеек «от» и «до»);

590745

Формат заголовка паспорта

Длина программы

Ллрес программы с а с

2 с

C)

=5 с — o

Номер страницы, в которой хранится таблица номеров страниц рабочих ячеек

Физический алрес главной памяти, указывающий начало области обIце и нам 11 ти признак

1 и tH

Конечный номер рабочих я:еек порожлающего процесса

Начальный номер рабочих ячеек иорожлающегося процесса

Номер страницы, t!Ie хранится таблица рабочих ячеек порожлающего процесса

C (с

С) (Ll (I у () с Д

tc с с

) с

Номер статуса порождающего процесса

Солсржимое 1-го регистра текущего состояния программы

Со:(ержимое п- го регистра текущего состояния программы прсрыванпях н приостановках данного процссса.

Каждый процесс имеет свой статус. В статус входит информация о со=тоянии процесса

5 в текуший момент.

Формат статуса

Информация об ож1 IAlttftt

T I I tf ожидания

Количество работоспособных порожленных процессов ПС

1 еку1цая точка программы ввести в главную память с внешних носителе" информации.

¹ статуса порождающего процесса — номер строки блока статусов процессов 6, в которо" хранится статус порождаюшего процесса.

Адрес паспорта — номер страницы в области паспорта, где хранится паспорт данного процссса.

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

Первые 6 байтов статуса (прноритет, все признаки, тип и информация об ожидании, М статуса порождаюшего процесса служит для синхронизации и взаимодействия процессов друг с другом. Эта часть статуса называется оперативной. Остальная часть статуса служит для прпостанозкп и запуска процесса в работу.

Эта часть называется неоперативной.

Оперативная часть статуса хранится в блокr

"татусов процессов 6 мультиобработки данПриоритет процесса — приоритет данного процесса в системе.

РСП вЂ” признак работоспособности процесса. Наличие «1» в этом разряде указывает на то, что данный процесс ждет какого-то собы- 10 тия, указанного в THIIc ожидания н информации об ожидании.

HP — — признак, указывающий на то, что данный прîLIå."ñ был прерван процессом с более высоким приоритетом. 15

ОС вЂ” признак, указываюший на то, что окончил работу один из порожденных процессов. МЗ вЂ” служебная метка. Определяет занятост;, строки справочной стату"ов процессов 6.

Тип ожн faння — указывает код сооытия, до 20 выполнения которого, данный процесс считается не работоспособным.

K этим =îáûòèÿ,ì относятся: ввод в главную память вычислительной системы с внешних носителей информации необходимого блока информации, обработка супервизором заявки, изданной данным процессом и т. д.

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

It блоке статусов процессов 6; — место для хранения содержимых регистром теку него состояния процесса 161 —.. 16„при

Приоритет процесса РС11 HP 1С Л13

Я статуcft иорожлающего Ллрес паспорта процесса

Солержимое буферн1го регистра

Физический алрес главной памяти, указывающий конец области общей памяти

Номер страницы, гле солер>кится таблица созланных паспортов

590745

Адрес, куда з IIIIICIIxl поппер созданного паспорта

Адрес да!ппях

Адрес ячейки, содержащей номер паспорта

Адрес данных

Код операции ных. Нсопсративная часть — и области IIHcIIopтов главной памяти вычислительной системы.

Количество работоспособных порожденных процессов — код, указывающий количество не окончивших свою работу процессов, созданных данным. ПС вЂ” младший бит этого кода используется в качестве признака того, что данный процесс создавал процессы.

Содержимое буферного регистра, в котором хранится некоторая константа или ее адрес, задается при создании процесса.

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

Код OIICpcllIIIII

11азначение команды: создание паспорта по заданной информации.

Алгоритм выполнения. На свободной странице области паспортов создается паспорт.

Если в массиве данных, адресуемых этой команде есть ссылка на рабочие ячейки, то выделяется необходимое число страниц II03. рабочие ячейки (в области паспортов). а также под таблицу номеров страниц, выделенных под рабочие ячейки. Зап лняется таблица и паспорт.

В таблице созданных паспортов выполняемого процесса указывается адрес (номер страницы) создаваемого паспорта.

Номер создаваемого паспорта (т. е. номеп создаваемого процесса) записывается по адpecv, указанному в команде.

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

«адрес данных». Этот массив содержит: — адрес программы создаваемого процесса и ее длины; — количество страниц раоочих ячеек, необходимых данному процессу; признак адресации, указывающий каким образом задается поле памяти общей для .нескольких процессов, в одном случае — физичеНазначение: создание статуса процесса по заданной информации.

11ачало информации иеобходимоi1 дл51 формирования статуса задается адресом данных.

В качестве данных в этой команде задается— приоритет; — физический адрес главной памяти вычи"лительной системы, с которого начинается программа данногг> процесса (точка входа в программу);

Система команд процессора мультиобработки данных разбита на две гру1пты. В первую группу входят специальныс команды процессора, во вторую — арифметические и логические.

5 Специальные команды подразделяются на три типа: — команды управления процессами;

-- команды распределения памяти; — команды взаимодсйствия и сиихроиизаlo ции процессов.

К командам управлеи11и процессами ог н>C5I1C51 TpI KOVldII1,bI. < IIBCIIopT>>, «Создать процесс по паспорту», «Окончить п1п цесе».

Формат команды «Создать Ilacllo;Il» скис адреса главной памяти вычислительной. системы, указывающие начало поля памяти, общей для нескольких процессов, и ее конец

20 (может быть длина), в другом — номер страницы, где хранится таблица раоочих ячеек порождающего процесса, а также началь:-1ый и конечный номер рабочих ячеек, доступны.; данному процессу (таких признаков и адре25 сов мо>кет быть четыре); — иногда при создании паспорта могут быть указаны адреса, где хранятся исходные данные процесса, которые необходимо поместить в регистры текущего состояния процесса

3о 16 —:16, при запуске процесса в работу. В этом случае содержимое эт11х ячеек необходимо и;реписать в заголовок паспорта на место, которос отводится для запоминания регистро» текущего состояния процесса 16,=.16„.

35 Время выполнения данной команды зависит от количества страниц, отводимы.; под рабочие ячейки, от количества полей памяти, общих для нескольких процессов, от необходимости переписи содержимого регистров теку40 щего состояния процесса 16I —.16„и может колебаться в пределах от 30 до 50 циклов главной памяти.

Формат команды «Создать процесс по паспорту» — — содержимое буферного регистра.

Определяется адрес свободной сгроки в блоке статусов пргшеосов 6 и по этому адресу в

olicpII l IIIIIIyIo часть статуса производится запись приоритета и номера статуса, порождающего процесса издавшего команду создания процесса. Номер процесса, работающего в текущий момент, хранится на регистре номера работающего процесса 15 процесса мультиобработки данных. По адресу ячейки, содержа590745 шей номер паспорта, находится номер страни- Формат команды «Освобожление памяти» цы, гле лежит паспорт (математический адрес Кол операции паспорта). адрес таблицы распределения выделенной

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

Время выполнения данной команды — 12 от количества страниц освобождаемой памяти.

Персвол одной страницы в список своболных

Формат команды «Окончить процесс» 11! составляет 5 циклов главной памяти. ОсвоКод операции оожленнс кажлой следующей страницы трсСлужит для освобо>кления памяти, заци- бует дополнительно 2 цикла глт)г>цой памятт1. маемой паспортом, рабочими ячейками, и Команды распределения памяти cëóæèò лля уничтожения статуса процесса. динамического распределения памяти прц раВ статусе порождающего процесса из байта, 15 боте какого-либо процесса, когла прц програмопределяющего количество порожденных про- мировании за",à÷è нельзя заранее прелсказать цессов вычитается едини113, в разряд ОС количсст»о необхолцмой процессу памяти. (окончил порожленный процесс) записывается Например, невозможно заранее предсказать колцчсст»о об.ьсктов с характерными црцзнаелиница.

Если процесс работал по паспорту и на этот 20 ками, которые необхолимо отыскать » заланпаспорт не ссылаются (т. е. не работают по ном массиве информации. нему) другие процессы, то процедуры оконча- К командам взаимодействия и синхвониза,ния деятельности этого процесса будет иметь ции процессов относятся команды « Кду блоследующие этапы: к;! номер Х», « Клу окончания работы любого — уничто>кение статуса процесса, ri00o>I<:reHftoro процесса», «5Клу окончания ðà— уничтожение паспорта процесса и пе е- боты вссх порожлецных процессов».«Проверь, вол всех cTp3HHI1, 33HITTbi>; 113cltopToM H t>300- >f<:IH равенства» («Проверь. >T<;Itt нера»енстчими ячейками данного процесса, в список сво- ва»), «Ож)панца записи по сказанному аввебодны х стр а ниц. ст», «Кi сообшеццй», «Псрслаю cnобщеВ случае, если процесс Пот>о>клал процессы, 30 Httc», «М(лi п1)лтв< рж re!iris! прис!та cnnorrtcто окончание его леятельности связано с окон- tt;rs» . «гКлу Отработки заявки», «Пересылка анием деятельности попожленных им поо-;ла> )ых» и «Сборка». цессов, т. е. уничтожение паспортов и статусов В этих команлах 0»pc>rc slrn tetr те события, лo выполнения котовых процессы, солержаццте

В случае, если Hf>otrecc не имел собственно- 35 Iafrные коматпы, счцта)отея непа отоспосо— го паспопта, а работал на р . р п авах проц сса, ньяи с ожцланцем события соответству)ошего ссылаю)цегося на олин общий паспот>т, то типа. окончание деятельности этого процесса тпе- К этим событиям относятся: бует только уничтожения его статуса. Зтм — »r>1»o»» гл; 1 зо, > гла»нуlo намять цсобхо.l iìnão сложную процсЛуру выявления вида процесса, 40 блока taftfr»fх цз внешней памяти; а тат<же окончание леятель . -ятельностн процесса вы- — окончание т)т)боты oл»010 пооцесса (люг>Олцяст сцециаль циальная программа (процесс). бого цз попожленных процессов);

I f! —... анлу, передает заявку — окончание раоотьТ всех процессов (в

1)ОТтесс. издавшии ком этой специальной пвограмме, а сам переводит- цопожлснцых процессов); ся в состояние с о>киЛанием отработки этой 4;, — запись по указанному аЛресу; — перелача какого-либо сообтценця;

Ва ЯВКИ.

К, ных процесх командам распр . елеления памяти относят- — сооошение, переланное Лан.

cя команлы; «Вылеление памяти» и «Освобож- сом, принято;

-- заявка супег)»изооу принята им. лен!те памяти».

Фоп м ат ко .>1 ан >»1 <

t>f IP HcHTTc па мяти» ">f! Пр овен яеTcя, Нс пп011зоц1 )О IH т >ке ОжиллеКоЛ опера)тии Количество страниц памяти м<)с 00011-це и, сслц пооцзошло, то выпотиfc;-Тис алрсс таблицы расгр грсдсзенця вылслснной коман:)ы . а этом заканч)твт)етс)1 ц пвоцесс Нс")т хо цт к выполнению слелуюшсй команлы памяти

Из свобо-: >Ой памяти вылеля< тся лказанное своей программы.

ta комацпе количество стт)аниТТ, Таб."Ттца выЛе- зд Есч.т О>к)пас мгг сооытцс и= пвоцзошло, то

ЛеН) ЬТХ CTT)3HHtr ЗаПИСЫВастея ПО адрЕСу, уКа- ttt>OIICСС OR.H»Ëÿ "тея цЕТ)абОтОСИОСOОНЫiТ дО появления ожилаемого =Ооытця, Призна него события

Время в!!полнения команды зависит От ко- 0300Tnc»ncnn»nсти. тцч ожипасмого со ьттия лцчества выделяемых страниц памяти. В ми- ц "ополнитс, льца я инфоp ì .Böfr st об ож:папин нимальном варианте (тре уется е (буетс выделить од- 6

fT>, страницу) время выполнения равно 6-ти рялы статуса пропссса.

ы .. " - . н этери» циклам главнои памяти вы

ычислительной систе- Фовмат команлы «5Клт блока .о.

%it>l. При увеличении количества выделяемых Колон рац Н р ., и о, оп >пацци Номер оло а страниц требуется дополнительно по 2 цикла По этой ко. л > р, р, р ман. е п о»е яется, переписан лц н а кажлую выделяемую стр ан ицу. г>3 Тсобходимый блок информации из внешней

590745 памяти (диск, лента) в главную память вычислительной системы, Если такой блок .находится в главной памяти, то выполнение команды на этом заканчивается и процесс переходит к выполнению следующей команды. Если нуж- 5 ного блока нет, то процесс объявляется неработоспособным с ожиданием блока номер Х

Время выполнения команды: минимальное—

3 цикла обращения и главной памяти максимальное — 5 циклов обращения к главной па- 10 мяти.

Команда необходима л1обому процсссу, осу1цествляющему поиск информации на внешнем носителе. Команда, в некотором смысле, эквивалентна заявке на обмен в обычных опера- 15 ционных системах.

Формат команды «5Кду окончания работы любого порожденного процесса»

Код операции

B статусе порождающего процесса проверя- 20 ется специальный разряд (окончил порожденный процесс). Если данный разряд едчница, что указывает на то, что кто-то из порожденных процессов окончил работу, то порождающий процесс переходит к выполнен1по следую- 25 щей команды своей программы. Если разряд равен нулю, то порождающий процсс ооъявляется нсраоотоспособным, с ожиданием окончания работы любого из поро кдснных пронеc сов. Зо

Время выполнения команды: минимальнос—

1,5 цикла главной памяти, максимальное — -2 цикла главной памяти.

Команда необходима для обраоотки IIQI?o?I(дающим процессом, например, результатов деятельности порожден?ных процессов в порядке их поступления.

Например, для поиска произвольного объекта с характерными признаками порождающий процесс создает процессы, ка?кдый из кото1?ых ищет необходимый ооъект в различных оо.10ках информации. Результат поиска записывается порожденным процессом в соответствующую область главной памяти и об этом сообщается порождающему процессу. Порождающий процесс приступает к работе (например, анализу результатов поиска повожденного процесса) только лишь, послс окончания работы хотя бы одного порожденного процесса.

Формат команды «5Кду окончания работы всех порожденных процессов»

Код операции

В статусе порождающего процесса проверяется количество порождс1п1ых процсссов, не окончивших свою работу. Если это коли1сство равно нулю (это указываст на то, ITo все поро кдснные процессы окончили работу), то порождающий процесс переходит к выполнению 00 следующей команды.

Если хотя бы один порожденный процесс IIe окончил работу, порождающий процесс становится неработоспособным с о?киданием окончания работы всех порол(денных процессов. 05

Время выполнения команды: минимальное—

1,5 цикла главной памяти, максимальное — 2 цикла главной памяти.

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

Формат команды «Проверь, жди равенства» (Проверь, жди неравенства) нли «0?кидание записи по указанному адресу»

Код операции Адрес байта эталона

Адрес ячейки

Г1о этой команде выбирается из главной памяти содержимое проверяемой и эталонной ячеек, сравнивается на равенство (неравенство) м ежду со бой.

При равенстве (неравенстве) содержимого ячеек процесс переходит к выполнению следг1о1цей команды своей программы. При неравенстве (равенстве) — процесс становится неработоспособным с ожиданием записи в проверяемую ячейку, Время выполнения; минимальное — 7 циклов главной памяти, максимальное — 8 циклов главной памяти.

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

Формат команды «Жду сообщений»

Код операции Адрес, куда записать сообщение

По этой команде проверяется если ли процесс (c тсм же номером порождающего процесса), ожидающий передачи выработанного им сообщения.

Если такой процесс ссть, то сообщение, а также номер процесса, издавшего сообщение, передается по адресу, указанному в команде.

Если такого процесса (процессов) нет, то процесс объявляется неработоспособным с ожиданием сообщения.

Время выполнения: минимальное — 4 цикла главной памяти, максимальное — 5 циклов главной памяти.

Каждый процесс, наряду с обычными процессами, может создать один привилегированный процесс. В частности на этот процесс могут возлагаться функции приема и обработки сообщений, поступающих от обычных процессов, созданных этим ?кс по1?о?кдаIощим про цсссом. Этот 11poIIecc называется «присм1цик сообщений», «5Кду сообщений» вЂ” является командой «приемщика» сообщений.

Формат команды «Передаю сообщение» или «?Кду подтверждения приема сообщения»

Код операции Сообщение, либо адрес сообщения

Проверяется, есть ли «приемщик». сообще-. ний, Если такой процесс есть и он ждет сооб590745

18

Код операции

Адрес начала поля памяти, куда записать информацию

Адрес начала таблицы сборки

Номер блока, нсмер записи откуда взять информацию

Номер байта внутри записи

Кол- во байтов

Номер байта внутри записи

Кол-во байтов

Признак конца таблицы и„.„= 6+ м+

35 щений, то ему передается сообщение (либо его адрес), а также номер процесса, издавшего сообщение. При этом «приемщик» становится работоспособным.

Сам процесс, издавший сообщение, переходит к выполнению следующей команды сво"й программы. В случае занятости приемщика (т. е. процесс приостановили по какой--о другой причине) процесс становится неработоспособным с ожиданием подтверждения приема сообщения.

Время выполнения: минимальное — — 3 цикла главной памяти, максимальное — — 5 цикгов главной памяти.

Команды «Жду сообщений» и «Передаю сообщение» служат для общения процессов с

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

Алгоритм выполнения. Проверяется наличие необходимого блока в главной памяти вычислительной системы. Если блока нет, то процесс, издавший команду, становится нерабоВ первом байте этой таблицы, указан номер байта внутри записи, начиная с которого необходимо переписать информацию (Io адресу, указанному в командс.

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

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

Формат команды «Жду отработки заявки»

5 Код операций Содержание заявки

Если процесс, который должен отработать заявку исполняет команду «Принял заявку от процесса», то процесс, выдавший команду

«Жду обработки заявки» остается работоспоI0 собным. В противном случае, процесс становится неработоспособным с ожиданием подтверждения приема сообгцения.

Время выполнения данной команды завии от типа заявки, от величин очереди на отра15 ботку заявки и т. д.

Команда аналогична команде «Передаю сообщение» некоторому привилегированному процессу, который берет на себя функции операционной системы, не реализованной аппа20 ра тно.

Формат команды «Пересылка данных» или «Сборка» тоспособным с ожиданием блока N. Если блок есть, то в поле главной памяти, указанном в

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

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

При наличии требуемого блока в главной памяти вычислительной системы время выполнения команды определяются формулой где Л1 — число строк таблицы, 40 У вЂ” число байтов, указанной в т " строке.

19

Опишем работу процессора мультиобработки данных при выполнении им некоторых наиболее емких команд, а именно, команд «Создать паспорт» и « Кду блока номер N».

Пусть процессор мультиооработки данных ведет программу некоторого процесса (решает некоторую задачу). В ходе программы встречается команда «Создать паспорт».

На первом этапе выполнения этой команды необходимо выделить свободную страницу для заголовка паспорта. Блок управления 7 расшифровывает код операции, устанавливает в регистре номера управляющих регистров 2 номер регистра распределения памяти 9 и фоомирует сигнал считывания из блока управляющих регистров 3 на .выходной регистр 8. Под управлением этого сигнала происходит передача содержимого регистпа распределения памяти 9 (начальный адпес первой страницы в списке свободных страниц) на выходной реги то 8 блока управляющих регистров 3.

После этого производится запись начального адреса выделенной страницы в регистр базового аnneca страницы 10. Для этого блок

i.ппавленпя 7 выдает сигнал, который разрешаст ncnpда чу из выходного регистра 8 олока

4 ппавляюших пегистров во входной регистр 17 блока управляющих оегистров 3. Одновоеменно блок управления 7 устанавливает в регистп- ном" оа поавляюших регистров 2 номен

ne! FIc na с азового адреса страницы 10. После того. «ак во входном регистре 17 блока vnnaaляюших оегпстров установится адрес начала стваницы, блок упгоавления 7 вырабатывает

cIIIFIaл, по котором производится запись со. . жимого входного регистра 17 блока vnnaBляюших псгистров 3 в регистр базового адреса

CT RHHIII,l 10.

На пегпс;, и распределения памяти 9 вссгда

ДОЛжЕH НаХОЛП«ЬСЯ НаЧаЛЬНЫй аДРЕС ПЕПВОй стпанипы в списке свободных страниц. Поэтом .. после того, как страница, адрес котовой наход тся на регигтпе распределения памяти

9. была занята по3, заголовок паспорта, необiîлимо ооновить coze»HaHHe регистра расппеделения памяти 9, T(есть записать в него алвес следлогцей в списке свободной стэаниLIbI. Для этого блок управления 7 выдает управляюгций сигнал, который разпешает перетач информации из выходного регистра 8 олока упоавляюших регистров (в нем записано старое содержимое регистра распоеделения памяти 9 в блок сопряжения 1. Адресный выход блока сопряжения 1 связан с регистром адреса главной памяти вычислительной системы (на чептеже не показан). По адоесу из

neIHcina «аспределения памяти 9 производится считывание, информация из этой ячейки главной памяти и является адресом следующей свободной страницы в списке. Этот адрес пост пает в блок сопряжения 1 íà ncnBbIH инфоомационный вход. Блок тпоавления 7 вырабатывает сигнал, который разрешает передачу этой информации из блока сопряжения 1 на входной регистр 17 блока управляющих

15 ) J

2;)

45 - 1

65 регистров, Одновременно блок управления 7 устанавливает номер регистра распределения памяти на регистре номера управляющих регистров 2. После этого блок управления 7 вырабатывает сигнал записи в блоке управляюших регистров и начальный адрес первой страницы в списке свободных из входного 17 регистра блока управляющих регистров 3 записывается в регистр распредсления памяти 9.

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

Этот адрес запоминается в блоке сопряжения 1.

Блок управления 7 посылает в блок сопряжения 1 сигнал считывания по адресу начала информации, указанному в команде «Создать процесс». Одновременно начинается формирование адреса, по которому данный вид информации должен быть записан в заголовок паспорта. Формат aaroловка паспорта строго фиксирован для всех процессов, поэт< му относительные адреса (внутри страницы) всех видов информации, записываемой в заголовок паспорта хранятся в блоке постоянной памяти 5. Блок управления 7 передает в блок постоянной памяти 5 адрес ячейки, в которой хранится относительный адрес требуемого вида информации, и пересылает содержимое этой ячейки на вход арифметическологического блока 4.

Одновременно с этим блок управления 7 устанавливает в регистре номера управляющих регистров 2 номер регистра базового адреса страницы 10, в котором хранится физический адрес начала страницы, и выдает сигнал считывания из блока управляющих регистров на выходной регистр 8 блока управляющих регистров 3. После этого блок управления

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

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

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

Поэтому, после того, как считывание данного вида информации закончено, блок управления 7 формирует сигнал, разрегцзющий передачу адреса данного вида информации из блока сопряжения 1 на арифметическо-логический блок 4. Одновременно блок управления

7 передает в блок постоянной памяти 5 адрес

590745

2! ячейки, в которой хранится длина данного вила информации. По сигналу из блока упра;,ления 7 содержимое этой ячейки передается ня третий информационный вход арифметическо-лог!1(еского блока 4, которое определяет физический адрес главной памяти, по которому записан следующий(вил инфоомации. Далее, блок управления 7 формирует сигнал, разрешающий передачу этого физического адреса в Олок collp51)I

II0 )тому a;Ipc> и запись сс в паспорт произНо IHTC51 аНЯЛОI И>!НО ОПИСаННОМУ BI>lllIC.

Описанные О!!сряции

flop, пока вся необхо.(имая 1!нфор.лация нс будет записана в заголовок паспорта.

Следуlollltti(этапом выполнения команды

«С Оз;15! ь ll (! Г11091 » 51 вл 5!с1 ся III>1(cëct! è ñ и ам я1 II 110 !) с! ()0 И(. 5! 1 с!! 1<51». Зтот э 1 яп начинается с то! О, !>!р(! б(! !ывя(.т сигнал передачи кола количества страниц, которые должны быть выделены под рабочие ячейки. из блока сопряжения 1 на входной регистр 17 блока управля!Оц(их регистров 3.

В блок сопряжения 1 эта информация поступает из главной памяти системы, как один из видов информации. Олновременно блок управления 7 устанавливает на регистре номера управляющих регистров 2 номер регистра остата 11. После того, как входной регистр 17 управляющих регистров установлен блок управления 7 выдает сигнал записи в блок управллпоших регистров. Таким образом в р=гистр остатка 11, записывается код количества страниц, которь(с лолжны быть выделены под паоочие ячейки.

Теперь необхолимо выделить страницу под таблицу номера страниц, занятых рабочими !чсйками. Для этого блок управления 7 устанавливает на регистре номера управляющих )сгистров 2 номер регистра распределения памяти 9 и выдаст спгняд считывания пз поля гппавляющих регистров на выходной регистр

8 блока управляющих регистров 3. На выходном пегпстрс блока управляющих регистров 3 устанявлигается кОд начального алреса выделенной страницы. Затем блок управления 7 устанавливает на регистре номера управляющих регистров 2 код номера регистра начального алрсса страницы 12 и выдает сигнал, раз-!

>ец!я!Ощий(передачу из выходного регистра 8 блока управляю)цих регистров 3 во входной регистр 17 после того, как передача закончитc5I. блок управления 7 выдает сигнал записи в блоке управляющих регистров. Обновление содержимого регистра распределения памяти

9 ппопсхолит аналогично тому, как это дела1001, при выл(ленин страницы поц заголовок

H(IcIIo!)тя. В ну,1свуlo ячейку выделенной страницы необходимо записать код количества страниц, отводимых пол рабочие ячейки. В выходном регистре 8 блока управляющих регистпов 3 записан начальный адрес cTDBHHUbl (адрес нулевой ячейки страницы). Блок управления 7 формирует сигнал, разрешающий передачу из выходного регистра 8 блока уп6„> ления 7 выдает сигнал разрешения передачи

22 равляю(цих регистров 3 в блок сопряжения 1.

Кол количества страниц записан в регистре остатка 11. Блок управления 7 устанавливает номер регистра остатка 11 в регистре номера управляющих регистров 2 Il формирует сигнал считывания из блока управляющих регистров.

После того, как считывание закончено, блок управления 7 выдает сигнал, разрешающий передачу из выходного регистра 8 блока уп-! о павляющих регистров 3 в блок сопряжения.

После окончания этой .Iãpc.tà÷è блок управления 7 вы.(ает в олок онряжсния 1 сигнал записи в главную память системы, Теперь необходимо сформировать и записать в заголовок паспорта ссылку на выделенную страницу. В ссылке указывается номер и(lдс1(. иной стряницьl. Тяк !l нзнсстсll, То и> ОбходимО вычислить толь!<0 сс номер. В регистре границы !3

)() "(IlIHcaIt физический адрес главной памяти, с которого начинается зо>ta пяспоэтов. Если вычесть из начального ялрсса страницы адрес начала зоны паспортов и разлелить результат

IIa объем страницы, то получим номер стракицы. Так как объем страницы равен 2 оаитов, то деление можно заменить обыкновенным сдвигом на б разрядов вправо.

Таким образом, блок управления 7 устанавливает на регистре номера управляющих ре30 гистров 2 номер регистра гранины 13 и выдает сигнал считывания пз поля управляющих регистров на его выходной регистр 8. Затем блок управления 7 выдает сигнал разрешающий передачу из выходного регист()а 8 блока

;35 управляющих регистров 3 на второй информационный вход арифметическо-логического блока 4. Блок управления 7 устанавливает на регистре номера управляющих рс(истров, lloмер регистра начального адреса страницы 12

4() и выдает сигнал считывания из блока управля!ощих регистров на выходной регистр блока управляющих регистров 3. Затем блок управлс:-!Ня 7 выдает сигнал, разрешающий передачу из выходного регистра блока управляющих

45 >, »

>)сгистров на а 11!фметическо-логическии олок !

4. После окончания этой операции о 1ol< управления 7 формирует сигнал вычитания. После око>! яния операции вычитания олок управлсн!!я 7 вылает сигна1 сдвига на шесть разо пятов вппяво. По окончании этой операции блок управления 7 вырабатывает сигнал разрешения нсрслачи пз арифмстпческо-логического блок; 4 в 6.1ок сопряжения 1. Таким обпазом, ссылка сформирована, нсобхолимо

53д сформировать алрес, по которому она оулет записана.

Лд!), ПО I<отог)ом i Jт(! Сс!>1 11 зап!!саня, (рормир ется с;!е;(тощим Образом.

Блок управления 7 устанавливает на регистре номера управляющих регистров 2 номер регистра базового алреся страницы 10 и выдает в б1ol< уп()являющих регистров 3 сигнал с !итывания на его выходной регист() 8. TIoc;, того, как считывание закончено блок управ590745

23

24 с выходного регистра 8 блока управляющих регистров 3 на арифметическо-логический блок

4. Одновременно блок управления 7 передает в блок постоянной памяти 5 адрес ячейки, в которой записан относительный адрес (внутри страницы), по которому должна быть записана ссылка. После того, как адрес установлен, блок управления7выдает сигнал считывания из блока постоянной памяти 5. После окончания считывания блок управления 7 выдаст сигнал разрешения передачи из блока постоянной памяти 5 на третий информационный вход арифметнческо-логического блока 4.

После этого блок управления 7 выдает сигнал сложения. Результат сложения есть физиче"кий адрес главной памяти, по которому должна быть записана ссылка.

По окончании сложения блок управления 7 вырабатывает сигнал разрешения передачи из авифметическо-логического блока 4 в блок сопчяжения 1 и сигнал .записи в главную память по сформированному адресу.

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

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

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

Блок ппавления 7 i.ñòàíàâëèâàåò на регистпе номера управляющих пегистров 2 номер пегистпа начального адреса страницы и выдает сигнал считывания в б".ок управляющих регистров 3. Считанный начальный адрес страницы, на которой нахолптся таблица стпаниц отведенных пол рабо ц е яч йки станавливается на выходном оегист1>е 8 блока управляющих регистров 3. Блок хпвавления 7 выдает сигнал, разрешаюгций передачу из выхолного регистра блока управляющих регистт>ов 3 на арифметическо-логический блок 4. Одновременно блок управления 7 устанавливает в блоке постоянной памяти 5 адрес ячейки, в котоt>oH записана длина ссы IKH и выдает сигнал считывания из блока постоянной памяти 5 на тпетий инфопмационный вход арифметическологического блока 4 После окончания передачи блокуправления7вылает сигнал сложения, в результате чего на выхоле арифметическологического блока 4 i стан авливается адрес, по которому лолжна быть записана сфопмированная ссылка. После окончания сложения блок управления 7 вттлает сигналы разрешения певелачи из ариф летическо-логического блока 4 в блок сопря>кения 1 и на входной вегиств 17 блока управляющих вепстпов. По окончании передачи блок .п >авления 7 выдает сигналы записи в главную память и в блок управляющих регистров (в регистре номера управляющих регистров 2 ранее был

1()

23

3>

3>

4)

-l5

5:)

5> г>>

6> установлен номер регистра начального адреса страницы 12).

Теперь необходимо осуществить проверку; выделено уже требуемое количество страниц под рабочие ячейки или нет. Для этого блок управления 7 устанавливает на регистре номера управляющих регистров 2 номер регистра остатка 11 и выдает сигнал считывания в блоке управляющих регистров. По окончании считывания блок управления 7 вырабатывает сигнал разрешения передачи из выходного региства 8 блока управляющих регистров 3 в арифметическо-логический блок 4. По окончании передачи блок управления 7 выдает сигнал вычитания единицы младшего разряда и по окончании операции анализирует результат.

Если результат равен нулю, то требуемое количество страниц выделено, если нет, то блок управления 7 выдает сигнал разрешения перелачи из арифметическо-логического блока 4 на входной регистр 17 блока управляющих регистров 3. По окончании передачи блок управления 7 выдает сигна д записи в блок управляющих регистров. Вылеляется следующая страница и т. л.

После окончания выделения памяти под рабочие ячейки необходимо записать номер страницы, на которой на одится заголовок создаваемого паспорта по адресу, указанному в команде «Создать паспорт». Лдрсс, по котором должна быть записана ссылка является операндом команды и находится в блоке сопря>кения 1. Номер страницы формируется аналогично тому, как формируются номера страниц при выделении памяти под рабочие ячейки. После того, как номер страницы будет сформирован в арифметичсско-логическом блоке 4 блок управления 7 выдает сигнал разрешения передачи из арифметическо-логического блока 4 в блок сопряжения 1 и выдает сигнал записи в главную память системы.

На этом выполнение команды «Создать паспоот» заканчивается.

Рассмотрим теперь выполнение команды

«Жлу блок номер N».

После поступления команды в бло:< сопряжения 1, код операции передается в б.ток управления 7 и там расшифровывается. Для выполнения этой команды необхолимо ппосмотреть таблицч блоков информации. -13xoëÿùóþñÿ в главной памяти системы и опрелелить, находится ли требуемый блок в главной памяти или нет.

Для этого блок управления 7 устанавливает на регистре номера управляющих региствов 2, номен регистра начального адреса таблицы блоков информации 14 и вырабатывает сигнал считывания из поля управляющих регистпов. Одновременно блок управления вырабатывает сигнал, разрешающий передачу опеоанла команлы пз блока сопряжения 1 на а и нф метическо-логический блок 4.

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

590745

26 вь<ходного регистра 8 блока управляющих реI Hc t pot) 3 в бло)< сопряжения 1. По Окончании передачи блок управления 7 выдает в блок сопряжения 1 сигнал считывания из главной памяти по переданному адресу.

После окончания считывания из главной памяти блок управления 7 выдаст в блок сопряжения 1 сигнал, разрешающий передачу считанного числа в арифметическо-логический блок 4.

В арифметичсско-лог)<чсском блоке 4 производится сравнение номеров блоков информации. Если номера совпадают, то это значит, что требуемый блок информации находится в главной памяти. В блок управления 7 поступает сигнал совпадения из арифметическо-логического блока 4 и выполнение команды на этом заканчивается.

Если совпадения не происходит, то блок управления 7 вырабатывает сигнал, разрешающий передачу операнда команды (номера требуемого блока) из блока сопряжения 1 на входной регистр 17 блока управляющих регистров 3 и устанавливает на регистре номера управляющих регистров 2 адрес регистра .начального адреса страницы 14. Затем блок управления 7 выдает сигнал записи в поле управляющих регистров.

Одновременно с этим блок управления 7 вырабатывает сигнал, разрешающий передачу из выходного регистра 8 блока управляющих регистров 3 в арифметическо-логический блок

4. В арифметическо-логическом блоке 4 полученный адрес .начала таблицы блоков информации по сигналу блока управления 7 увеличивается на длину строки таблицы блоков инфор м а ции.

По окончании этой операции блок управления 7 вырабатывает сигнал, разрешающий передачу из арифметическо-логического блока 4 в блок сопряжения 1. По окончании передачи блок управления 7 выдает в блок сопряжения

1 сигнал считывания из главной памяти по полученному адресу.

Одновременно блок управления 7 выдает сигнал считывания в блок управляющих регистров (код адреса регистра начального адреса страницы 14 был установлен в регистре номера управляющих ргистров 2 ранее).

По окончании считывания блок управления

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

4.

По окончании считывания из главной памяти блок управления 7 вырабатывает сигнал, разрешающий передачу считанной информации из блока сопря)кения 1 в арифметическологический блок 4.

На арифметическо-логическом блоке 4 производится сравнение кодов номеров требуемого блока информации и считанного из таблицы блоков информации. Если совпадение происходит, то операция заканчивается, если нет, !

<)

25 зо

<)а

65 то выбирается следующая строка таблицы и

ctto»a производится сравнение п т. д.

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

Получив этот сигнал блок управления 7 устанавливает на регистре номера управляющих ре)я<строп 2 номер регистра номера работа3<пцсго процесса 15 и выдаст си<пил считывания из блока упраиля3ощих регистров па cr0

33ыходнои pcl IlcTp 8.

По окончании считывания блок управления

7 выдаст сигнал разрешения передачи с выходного регистра блока управляющих регистров

3 на регистр адреса 18 блока статусов процессов 6. Одновременно с этим блок управления

7 устанавливает на входном регистре 24 блока статусов процессов 6 «1» в разряд работоспособности, в поле типа ожидания — код, указывающий на то, что процесс ждет блок информации, в поле информации ожидания — код номера требуемого блока. В регистре маски 23 блока статусов процессов блок управления 7 устанавливал код, который маскирует все остальные поля в слове статуса процесса. По окончании этих операций блок управления 7 выдает сигнал записи в узел характеристик 19 статусов процессов.

Т а!< и м О б р а 3 О м, l I p o lt < . ñ с 3 (зд а 13 и) 3 3 Й 3:0 м а 3 3 д у

«/Êft) Олок дом<..Р М» Объ3<13л3<етс33 ll< )) tt 60TO,II0C0OIILIVI С ОЖИдап)1см тp<)t)) Смого ОЛО)<с).

Одновременно блок у<<ра<3 303<и)3 7 передаст в Олок сОпряжс1!ия 1 зая!3ку ltd Вво,3, 333 1333<япней памяти Олока номер

После того, как работавший процесс был объявлен неработоспособным, необходимо запомнить состояние, в котором он был прерван.

Для этого необходимо записать I3 статус процесса адрес команды, на которой он был прерван, а в паспорт — содержимое регистров текущсго состояния процесса (163 —. 16) .

Теперь необходимо запустить следующий процесс. Для этого блок управления 7 устанавливает «1» в старший разряд поля приоритетов и в разряд работоспособности во входном регистре 24 блока статусов процессов.

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

Если в узле характеристик статусов процессов

19 имеется ячейка памяти, содержимое которой соответствует содержимым входного регистра 24 и регистра маски 23, то происходит совпадение, означающее, что есть работоспособный процесс с наивысшим приоритетом, который запускается в работу. Если совпадения не происходит, то блок управления 7 устанавливает «1» в более младший разряд поля приоритетов входного регистра 24 блока статусов процессов и соответственно изменяет код маски. Затем блок управления 7 выдает сиг.

590745

1lIl,1 ОПРОС;l ГЗЛ11 Ха )11ете))11С Гик статгсов Hj)Oцессов 19. Э"à операция продолжается до тех пор, пока не будет найден процесс с наивысшим приоритетом среди работоспособных процессов, этот процесс и до l)KOH быть запущен в раооту.

Если совпадение происходит, то в блок управления 7 поступает соответствующий сигнал узла индикации совпадения 20.

Может возникнуть ситуация, при которой р а ботоспособны ми окажутся несколько процессов с одинаковыми приоритетами. В этом случае с узла индикации совпадения 20 на узел обработки приоритетов 21 поступят несколько сигналов совпадения. Узел обработки приоритетов 21 выбирает сигнал совпадения того процесса, который имеет наименьший или какой-либо другой номер. Этот сигнал совпадения поступает с узла обработки приоритетов

21 на узел выдачи номера процесса 22, по этому сигналу узел выдачи номера процесса 22 формирует код номера процесса, в котором произошло совпадение.

После того, как код номера процесса сфорvIHpoBBH, блок управления 7 вырабатывает сигнал, разрешающий передачу из узла выдачи номера процесса 22 на входной регистр 17 блока управляюгцих регистров 3 и устанавливает на регистре номера управляющих регистров 2 код адреса регистра номера работающего процесса 15. После этого блок управления

7 вырабатывает сигнал записи в блоке управляющих регистров.

Затем по сигналам блока управления 7 производится считывание адреса команды, на которой был прерван запускаемый процесс из

:1еоперативной части его статуса и запомина:1ие этого адреса в блоке сопряжения 1. Кроме

;ого, производится заполнение регистров теку,цего состояния (já) —.1б„) процесса, то есть

"-апись в них информации, которая находилась в них в момент последнего прерывания процесса и хранилась до этого момента в паспорте процесса в главной памяти вычислительной системы.

На этом выполнение команды заканчивается.

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

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

lIHoH11l>1 .vI 13bl xo;IУ и 13. одУ блока УпРа нл и ю)цпх регистров, второй, третий и чет13ертый информационные входы которого подключены соответственно к первым информационным выходам блока постоянной памяти и блока управления и ко второму информационному выходу арпфметическо-логического блока, второй информационный выход блока управляющих регистров подключен ко второму информационному входу арифметическо-логического блока, управляющий вход блока управляющих регистров соединен непосредственно, а адресный вход через регистр номера управляющих регистров со вторым управляющим и первым адресным выходами блока управления, третий и четвертый управляющие выходы которого подключены к управляющим входам блока постоянной памяти и арифметическо-логического блока, управляющий выход и третий информационный вход которого подключены к первому информационному входу блока управления и второму информационному выходу блока постоянной памяти, отличающийся тем, что, с целью повышения быстродействия процессора, он содержит блок статусов процессов, адресный, управляющий и информационный входы которого подключены соответственно к третьему информационному выходу блока управляющих регистров, пятому управляющему и второму информационным выходам блока управления, а информационный и управляющий выходы соединены с пятым информационным входом блока управляющих регистров и вторым информационным входом блока управления.

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

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

1. Лкцептовапная заявка Японии № 48— б374, кл. 97 (7) Н 3, 97 (7) Н 21, опублик.

06.11.73, № 6 — 135.

590745

С .оставитель Т. Арешев

Техред Н. Рыбкина

Корректоры: Е. Хмелева и Н. Федорова

Редактор Р. Киселева

Подписное

Заказ 823у! Изд, № 269 Тираж 818

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

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

Типо

Размно>кено в МИФИ стр. экз.

2. Патент СШЛ № 3825902, кл. 340 — 172,з, опублнк. 23.07.74, т. 924, N 4.

3. Патент Ф1>ан11пн № 2208351, к>к G 06

9, 00, опублпк. 26.07.74, № 30.

Процессор мультиобработки данных Процессор мультиобработки данных Процессор мультиобработки данных Процессор мультиобработки данных Процессор мультиобработки данных Процессор мультиобработки данных Процессор мультиобработки данных Процессор мультиобработки данных Процессор мультиобработки данных Процессор мультиобработки данных Процессор мультиобработки данных Процессор мультиобработки данных Процессор мультиобработки данных Процессор мультиобработки данных Процессор мультиобработки данных 

 

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

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

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

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

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

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

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

Изобретение относится к вычислительной технике и к многоагентным системам (MAC) и может быть использовано для автоматического прерывания задач, находящихся в цикличности
Наверх