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

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

Info

Publication number
SU590745A1
SU590745A1 SU752184810A SU2184810A SU590745A1 SU 590745 A1 SU590745 A1 SU 590745A1 SU 752184810 A SU752184810 A SU 752184810A SU 2184810 A SU2184810 A SU 2184810A SU 590745 A1 SU590745 A1 SU 590745A1
Authority
SU
USSR - Soviet Union
Prior art keywords
register
address
control
information
block
Prior art date
Application number
SU752184810A
Other languages
English (en)
Inventor
Андрей Аркадьевич Арефьев
Владимир Львович Арлазаров
Семен Яковлевич Беркович
Альберт Федорович Волков
Александр Николаевич Годунов
Наталья Витальевна Дагурова
Николай Евгеньевич Емельянов
Владимир Дмитриевич Зенкин
Наталья Георгиевна Зенкина
Галина Михайловна Золотухина
Андрей Андреевич Леман
Валерий Сергеевич Лихонинский
Виктор Тихонович Лысиков
Валерий Алексеевич Макаров
Генри Клавдиевич Сорокин
Игорь Александрович Фараджев
Original Assignee
Ордена Ленина Институт Проблем Управления
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ордена Ленина Институт Проблем Управления filed Critical Ордена Ленина Институт Проблем Управления
Priority to SU752184810A priority Critical patent/SU590745A1/ru
Application granted granted Critical
Publication of SU590745A1 publication Critical patent/SU590745A1/ru

Links

Description

второму информационному выходу ариф.метическо-логнчбского блока, второй информационный выход блока управл ющих регистров подключен ко второму информационному входу арифметическо-логического блока, унравл юЩИЙ вход блока управл ющих регистров соединен непосредственно, а адресиый вход через регистр номера управл ющих регистров со вторым управл ющим и первым адресным выходами блока управлени , третий и четвертый управл ющие выходы которого подключены к управл ющнм входам блока посто нной пам ти и арифметическо-логического блока , управл ющий выход и третий информационный вход которого подключены к первому информационному входу блока управлени  и второму информационному выходу блока посто нной пам ти 3. Одпако при работе известного процессора мультиобработки данных в ипформациоилопоисковых системах, нредназначепных дл  решени  широкого класса задач управлени , где необходима работа с большими массивами информации, обработка такого рода информации осуществл етс  программными средствами , что обуславливает неэкономиое расходование главной нам ти вычислительной системы и низкую скорость выполнени  алгоритмов обработки больших массивов данных. Цель изобретеци  состоит в иовышении быстродейетви  процессора мультиобработки данных при решении информационно-поисковых задач, игровых задач, требующих обработки больших массивов информации. Поставленна  цель достигаетс  тем, что процессор мультиобработки данных содержит блок статусов процессов, адресный, управл ющий и информационный входы которого подключены соответственно к третьему информацнонному выходу блока управл ющих регистров , п тому управл ющему и второму информационным выходам блока управлени , а информационный и управл ющий выходы соединены с п тым информационным входом блока уиравл ющих регистров и вторым информациоипым входом блока управлени , а также тем, что блок статусов процессов содержит регистр маски, входной регистр, регистр адреса , узел характеристик статусов процессов, узел индикации совпадени , узел обработки нриоритетов и узел выдачи номера процесса, выход которого соедииен с информационным выходом блока статусов процессов, управл ющий вход которого с первыми входами узла характеристик статусов процессов и регистров адреса, подключенного вторым входом к адресному входу блока статусов процессов и соединенного выходом со вторым входом узла характеристик статусов процессов, третий и четвертый входы которого через регистр масK:I и входной регистр, соответственно, соединены с ииформациоииым входом блока статусов процессов, управл ющий выход которого соединен с первым выходом узла индикации совпадепи , иодключенного входом к выходу узла характеристик статусов процессов и соединенного вторым выходом через узел обработки приоритетов со входом узла выдачи номера процесса. Процессор мультиобработки данных содержит аипаратную реализацию фуикций оиерациоциой системы по организации мультиирограммной (мультипроцессной) работы и обмеца информацией между главной пам тью и внешними носител ми. Система команд процессора мультиобработки данных ориеитирована на организацию иараллельных вычислительных и обменных процедур в вычислительной системе, в состав которой он входит. Процессор мультиобработки данных подключаетс  к универсальной вычислительной системе как некоторое внещнее устройство (как, например, терминал, диск и т. д.) через стандартное сопр жение . Собственной оперативной пам ти процессор мультиобработки не имеет, а использует главную пам ть системы. Дл  обеспечени  эффективной организации мультипроцессной работы и обмена с внешними носител ми информации процессор мультиобработки данных содержит справочную статусов процессов. Основные функции ироцессора мультиобработки данных следующие; а)ведение одновременно большого числа параллельных процессов; б)обеспечение работы с виртуальной пам тью большого объема. При наличии в вычислительной системе процессора мультиобработки данных одновременно в состо нии работы (т. е. в процессе выполнени ) могут находитьс  большое число процессов (сотни и тыс чи). Образование новых процессов, уничтожение процессов, взаимодействие и синхронизаци  процессов осуществл етс  специальными командами. Операпионные таблицы описывающие обрабатываемые процессы, наход тс  в процессоре мультиобработки данных в справочных, хран щих основную информацию о выполн емых процессах . Благодар  этому переключение одного процесса па другой осуществл етс  за тактов главной пам ти вычислительной системы . В известных операционных системах, на процедуру переключени  процессов (программы ) уход т сотпи команд или пор дка 1000 циклов главной пам ти вычислительиой системы, т. е. процессор мультиобработки данных позвол ет сократить врем  переключени  процессов па 1-4-2 пор дка. Таким образом, по вл етс  возможпость без значительных затрат процессорного времени образовывать в вычислительной системе большое число параллельных процессов («Параллельных в том смысле, что одновременно в вычислительной системе существует большое число процессов готовых к выполнению). Естественно , что они образуют некоторую последовательную очередь к арифметическо-логическому устройству процессора мультиобработки данных или к процессорам классического типа,
Вход щих Б состав вычислительной системы. .ли п системе будет несколько процессоров мультиобработки данных или ироцессоров классического типа, то и число одновредменно работаюн их ироцеесов (работающих уже фактически параллельно) будет равно чйслу этих ироцессоров. Таким образом, аппаратна  реализаийЯ в ироцесеоре мультиобработки данных некоторых функций операциоииой системы по образованию, уничтожению и переключению процесеов, позвол ет в вычислительной системе, имеющей в своем составе процессор мультиобработки данных, эффективно вести одновременно обработку большого числа процессов .
Если учесть, что при обычном (не аппаратиом ) построении операционной системы при мультипрограммной работе значительиа  часть процессорного времени тратитс  именно на де тельность по переходу от одиих процессов к друг1:м, то такое сокращение времени переключени  процеесов должно привести к существенному росту реальной производительпости вычислительиой системы в целом.
Сиособмость процессора мультиобработки данных обеспечивать одновременное выполпеиие в вычислительной системе большого числа процессов (до нескольких сот или тыс ч) открывает новые возможности в рещении таких оспоБпых вопросов мультиобработки, как обеепечение эффективного обмена между главной пам тью вычислительной системы и внешними .носител ми и активного взаимодействи  с развитой системой терминалов (в режиме разделени  времени).
Организаци  эффективного обмена с внешни .ми носител ми основана на том, что в каждый текущий момент работы вычислительной систе.мы нроцессор мультиобработки данных раснолагает информацией о всех запросах процессов (существующих в системе) на обмен. (Эта информаци  содержитс  в наспортах и статусах каждого из процессов). Тем самым, по вл етс  возможность выбора оптимальной последовательности за вок к внешним носител м , т. е. например, за один проход магнитной ленты можно удовлетворить все за вки к данной ленте, выбранные к текущему моменту . Получаемый при этом эффект определ етс  числом одновре.менно выполн емых процессов . (Чем больше запущено процессов, тем меньше возвратов ленты). При работе с магнитными лентами можно ожидать, что среднее врем  удовлетворени  за вок может быть уменьшено на 1,5ч-2 пор дка по сравнению с организацией обменов прин тых в обычных операционных системах (системы типа ИБМ, ИСЛ и т. д.) Если учесть, что во многих задачах , например, информационно-поисковых, обмен с внешними носител .ми  вл етс  основной функцией, то резкое сокращение времени на обмен приводит к столь же резкому повышению реальной производительности вычислительной систем) в целом на данном классе .задач.
Активное взаимодействие с |)азиитой системой терм11па.;1ьных устройств (в режиме разделени  времени) обеспечиваетс  организацией п вычислительной системе (за счет наГ/ора специальных команд) развитого «аппарата событий. Предусматриваетс  широкий набор «элементарных событий (например, считывание заданного блока информации с внешнего носител  в главную пам ть вычислительной
системы, окончание работь; одного или группы процессов, запросы от терминальных устройств, сообщение одиого ироцееса другим процессам, изменение содержимого заданных  чеек главной пам ти и т. д.). Эти элементарные событи  могут образовывать комбинации событий - «сложные событи .
Взаимодействие и синхронизаци  процессов обеспечиваетс  этим аппаратом событий. Наличие развитого аппарата событий (реализуемого аппаратурой процессора мультиобработки данных обеспечивает:
а)упрощение нрограммировани  и процедур отладки программ (сокращаетс  длипа программ и упрощаетс  описаиие различных
условий и событий),
б)аппаратурную реализацию некоторых функций операционной системы (создание и уничтожение процессов, пуск процессов по приоритетам, приостанов процессов по ожиданию каких-либо событий и т. д.),
в)эффективное решение задач в режиме разделени  времени.
Главна  трудность в организации режима разделени  времени состоит в выборе интервалов времени, которые отвод тс  каждой задаче . Этот интервал времени определ етс :
а)временем перестройки вычислительной системы па очередную задачу (изменение соответствующих операционных таблиц, смена
содержимого управл ющих регистров и т. д.),
б)временем загрузки в главную пам ть информации с внешних носителей, необходимой дл  решени  очередной задачи,
в)временем, выдел емым на собственно вычислени .
Наличие в вычислительной системе процессора мультиобработки данных позвол ет фактически вести «исевдопараллельное выполнение задач за счет существенного сокращени  интервала смены задач, т. е. вести каждый нроцесс небольшими порци ми.
Это возможно потому, что в данном случае запуск новых процессов требует врем , соответствующее циклов обращении к главной цам ти вычислительной системы. В обычных вычислительных системах дл  этого требуетс  врем , соответствующее нескольким сотн м цИКлов пам ти.
На чертеже приведена блок-схема процессора мультиобработки данных.
Процессор содержит блок сопр жени  1, регистр номера управл ющих регистров 2, блок управл ющих регистров 3, арифметическо-логический блок 4, блок посто нной пам ти 5,
блок статусов процессов 6 и блок управлени  7.
Блок управл ющих регистров 3 содержит выходной регистр 8, регистр распределени  пам ти 9, регистр базового адреса страницы 10, регистр остатка 11, регистр начального адреса страницы 12, регистр границы 13, регистр начального адреса таблицы блоков информации
14,регистр номера работающего процесса
15,регистры текущего состо ни  процесса и входной регистр 17.
Блок статусов процессов 6 содержит регистр адреса 18, узел характеристик статусов процессов 19, узел индикации совпадени  20, узел обработки приоритетов 21, узел выдачи номера процесса 22, регистр маски 23 и входной регистр 24.
Первый, второй, третий, четвертый и п тый управл ющие выходы блока управлени  7 соединены соответственно со вторым управл ющим входом блока сопр лсени  1, с управл ющим входом блока управл ющих регистров 3, управл ющим входом посто нной пам ти 5, с управл ющим входом арифметическо-логического устройства 4 и управл ющим входом блока статусов процессов 6, адресный вь1ход подключен к адресному входу регистра номера управл ющих регистров 2, первый и второй информационные выходы подключены соответственно к третьему информационному входу блока управл ющих регистров 3 и информациопному входу блока статусов процессов 6, а первый и второй информационные входы подключены соответственно к управл ющим выходам арифметическо-логического блока 4 и блока статусов процессов 6, управл ющий вход цодключен ко второму управл ющему выходу блока сопр жепи  1. Первый, второй и третий информационные входы арифметическо-логического блока 4 соединены соответственно со вторым информационпым выходом блока сопр жени  1, со вторым информационным выходом блока управл ющих регистров 3 и со вторым информационным выходом блока посто нной пам ти 5, а первый и второй информационные выходы подключены соответственно ко второму информационному входу блока сопр жени  1 и к четвертому информационному входу блока управл ющих регистров 3. Адресный, первый управл ющий и первый информационный входы и выходы блока сопр жени  1 подключены соответственно к управл ющему, информационному и адресному входам и выходам процессора мультиобработки данных. Третий информационный выход блока соир жени  1 подключен к первому информационному.входу блока управл ющих регистров 3, а третий информационный вход подключен к первому информационному выходу блока управл ющих регистров 3. Второй и п тый информационные входы блока управл ющих регистров соединены соответственно с первым информационным выходом посто нной пам ти 5 и информационпым выходом блока статусов процессов 6, а третий ипформациопиый выход соединен с адресным входом блока статусов процессов 6.
Процессор мультиобработки даниых работает следующим образом. В режиме выполнени  некоторого процесса работа процессора мультиобработки дапных аналогична работе известных процессоров, вход щих в состав вычислительной системы. Особенности работы процессора мультиобработки данных про вл ютс  при переключении одного процесса на другой, при образовании новых и уничтожении старых процессов, при организации обмена информацией между внеЩними носител ми и главной пам тью вычислительной системы.
Процесс - это программа или ее часть, функционирующа  самосто тельно. Процесс, создающий в ходе вычислени  другие процессы , будем называть .порождающим процессом, а созданные им процессы - порожденными процессами.
Паспорт процесса - эта информаци , необходима  дл  автономного функционировани  процесса.
Структура паспорта представлена в виде таблицы. Процессу при его создании могут не придаватьс  функции создани  новых паспортов и не выдел тьс  самосто тельные рабочие  чейки, а указыватьс  границы и количество рабочих  чеек цорождающего процесса, которыми может пользоватьс  создаваемый процесс . В этом случае паспорт не будет содержать таблицу созданных данным процессом паспортов и таблицу номеров страниц, зап тых рабочими  чейка.ми, а в заготовке паспорта будет находитьс  ссылка на таблицу номеров страниц, зан тых рабочими  чейками порождающего ироцесса. Но может быть и так, что иаспорт будет содержать как выщеперечисленные таблипы, так и ссылки па таблицу рабочих  чеек порождающего процесса.
Заголовок паспорта процесса содержит следующее:
-физический адрес главной пам ти вычислительной системы, где хранитс  начало программы данного процесса и код ее длины;
-математический адрес страницы (номер) области паспортов, в которой хранитс  таблица номеров страниц (в области иаспортов) рабочих  чеек, принадлежащих данному процессу;
-математический адрес страницы, где содержитс  таблица созданных паспортов;
- области адресов в главной пам ти, обп;ие дл  создаваемого и некоторых других процессов и задаваемые процессу при его создании (таких областей может быть четыре). Кажда  область может иметь два вида адресации. Вид адресации указываетс  признаком. В первом случае (признак-1)-физическими адресами начала и конца области, во втором (признак- 0)-математическим адресом страницы , в которой хранитс  таблица номеров страииц рабочих  чеек порождающего процесса и номерами рабочих  чеек «от и «до);
)
Формат заголовка паспорта
Адрес программы
Номер страницы, в которой хранитс  таблица номеров страниц рабочих  чеек
Физический адрес глашэй нам ти,
признак
1 указывающий начало области общей пам ти или
о
Номер страницы, где хранитс  таблица рабочих  чеек порождающего
с процесса
CJ
Номер статуса иорождающего процесса Содержимое Isl Содержимое -номер статуса порождающего процесса п блоке статусов процессов 6; -место дл  хранени  содержимых регистром текущего состо ни  процесса 16|Ч-16кПри 5
Приоритет нроцесса РСП ПР )С .МЗ
.NO статуса норождающего Адрес наснорта нроцесса
Содержи.мое буферного регистра
Приоритет процесса - приоритет да.нного процесса в системе.
РСП - признак работоспособности процесса . Наличие «1 в этом разр де указывает на то, что данный процесс ждет какого-то событи , указанного в типе ожидани  и информации об ожидании.
ПР - признак, указывающий на то, что данный пропе-сс был прерван процессом с более высоким приоритетом.
ОС - признак, указывающий на то, что окончил работу один из порожденных процессов . .V13 - служебна  метка. Определ ет зан тость строки справочной статусов процессов 6. Тип ожидани  - указывает код событи , до выполнени  которого, данный процесс считаетс  не работоспособным.
К этим событи м относ тс : ввод в главную пам ть вычислительной системы с внешних носителей информации необходимого блока инфор.мации, обработка супервизором за вки, изданной данным процессом и т. д.
Информаци  об ожидании - это дополнительна  информаци  об ожидаемом событии, например, номер блока, который необ.ходимо
10
Длина iipoi-раммы
Физический адрес главной нам ти,
указывающий конец области общей
нам ти
Конечный номер
рабочих  чеек
норождающего
нроцесса
Номер страницы, где содержитс  таблица созданных наснортов
Формат статуса
Иифор.маци  об ожидании
Тин ожидани 
Количество работосиособных порожденных процессов ПС
Текуща  точка нрогра.м.мы
ввести в главную пам ть с внешних носителе информации.
№ статуса порождающего процесса-номер строки блока статусов процессов 6, в которо хранитс  статус порождающего процесса.
Адрес паспорта - номер страницы в области паспорта, где хранитс  паспорт данного процесса .
Бывает необходимость работы .нескольких процессов по одной программе. Такие процессы ссылаютс  на один паспорт, но имеют разные статусы. Подобные процессы отличаютс  друг от друга содержимым буферного регистра (некоторым полем в неоперативной части статуса) и текущей точкой программы.
Первые 6 байтов статуса (прпоритет, все признаки, тип и информаци  об ожидании, № статуса порождающего процесса служит дл  синхронизации и взаимодействи  процессов друг с другом. Эта часть статуса называетс  оперативной. Остальна  часть статуса служит дл  приостановки и запуска процесса в работу. Эта часть называетс  неоперативной.
Оперативна  часть статуса хранитс  в блоке статусов процессов 6 мультиобработки дай1-го регистра текущего состо ни  программы п-го регистра текущего состо ни  программы прерывани х и приостановках данного процесса . Каждый процесс имеет свой статус. В статуе входит информаци  о состо нии процесса в текушпй момент.
И
иых. Исо11сратив 1а  часть - в области паспортов главпой пам ти вычислительной Системы.
Количество работоспособных порожденных процессов - код, указываюпдий количество не окончивших свою работу процессов, созданных данным. ПС - младший бит этого кода используетс  в качестве признака того, что дапный процесс создавал процессы.
Содержимое буферного регистра, в котором хранитс  Некотора  константа или се адрес, задаетс  при создании процесса.
Текуща  точка программы - физический адрес главной пам ти вычислительной Системы, по которому хранитс  текуща  точка программы при прерывани х или приостановке процесса . При формировании статуса в это место записываетс  адрес начала программы.
Код олерацш
Адрес, куда записать помер
12
Система команд процессора мультиобработки данных разбита на две группы. В первую группу вход т специальные ко.манды процессора , во вторую - арифметические и логические.
Специальные команды подраздел ютс  па три типа:
-команды управлени  процессами;
-команды распределени  пам ти;
-ко.манды взаимодействи  и синхронизации процессов.
К командам управлени  п|юцсссами относ тс  три ко.манды: «Создать паспорт, «Создать процесс по паспорту, «Окончить пр цесс.
Формат ко Мапды «Создать паспо;)т
)ес созданного наснорта дапш х
Назначение ко.мапды: создание паспорта по заданной информации. Алгоритм выполнени . На свободной странице области паспортов создаетс  паспорт. Еслп в массиве данных, адресуемых этой команде есть ссылка на рабочие  чейки, то выдел етс  необходимое число страниц под рабочие  чейки (в области паспортов), а также под таблицу номеров страниц, выделенных под рабочие  чейки. Заполн етс  таблица и паспорт. В таблице созданных паспортов выполн емого процесса указываетс  адрес (номер страницы ) создаваемого паспорта. Номер создаваемого паспорта (т. е. номер создаваемого процесса) записываетс  по адресу , указанному в команде. При создании паспорта необ.ходи.ма информаци , котора  задаетс  массивом. Начальный адрес этого массива заказан в команде как «адрес данных. Этот массив содержит: -адрес программы создаваемого процесса и ее длины; -количество страниц рабочих  чеек, необходимых данному процессу; -признак адресации, указывающий каким образом задаетс  поле пам ти общей дл  нескольких процессов, в одном случае - физнчеАдрес  чейки, содержащей
Код операции
Назначение: создаиие статуса процесса по зада нпой информации.
Начало информации необходимой дл  формировани  статуса задаетс  адресом данных. В качестве данных 1з этой команде задаетс  - приоритет;
- физический адрес главной пам ти вычислительной системы, -с которого начинаетс  програ.мма данного npoiiacea (точка входа в программу);
Адрес но.мер паспорта данных
- со:1ержимое буферного регистра.
Определ етс  адрес свободной строки )i блоке ст-атусов ироцсссов 6 и по этому адресу в оператн и)ую часть статуса производитс  запись приоритета и номера статуса, порождающего процесса издавщего команду создани  процесса. Номер процесса, работающего в текущий момеит, хранитс  иа регистре номера работающего процесса 15 процесса мультиобработки данных. По адресу  чейки, содержаские адреса главной пам ти вычислительной, системы, указывающие начало пол  пам ти,, общей дл  нескольких процессов, и ее конец, (может быть длина), в другом - помер страницы , где хранитс  таблица рабочих  чеек порождающего процесса, а также начальный и конечный номер рабочих  чеек, доступных данному процессу (таких признаков и адресов может быть четыре); - иногда при создании иаспорта могут быть указаны адреса, где хран тс  исходные данные процесса, которые необходимо поместить в регистры текущего состо ни  процесса при запуске процесса в работу. В этом случае содержимое этих  чеек необходимо П ,реписать в заголовок паспорта на место, которое отводитс  дл  запомипани  регистров текущего состо ни  процесса 16|Н-1б„. Вре.м  выполнени  данной команды зависит от количества страниц, отводимых под рабочие  чейки, от количества полей пам ти, общпх дл  нескольких процессов, от необходимости переписи содержимого регистров текущего состо ни  процесса 1б1-4-16„ и молсет коЛебатьс  в пределах от 30 до 50 циклов главной пам ти. Формат команды «Создать процесс по паспорту щей номер паспорта, находитс  номер страницы , где лежит паспорт (математический адрес паспорта). Формируютс  адреса неоперативной части статуса и производитс  запись адреса паспоэта , точки входа в программу и содержимое буферного регистра по этим адресам. Врем  выполнени  данной команды-12 циклов пам ти. Формат команды «Окончить процесс Код операции Служит дл  освобождени  пам ти, занимаемой паспортом, рабочими  чейками, и уничтожени  статуса процесса. В статусе порождающего процесса из байта, определ ющего количество порожденных пооцессов вычитаетс  единица, в разр д ОС (окончил порожденный процесс) записываетс  единица. Если процесс работал по паспорту и на этот паспорт не ссылаютс  (т. е. не работают по нему) другие процессы, то процедуры окончани  де тельности этого процесса будет иметь следующие этапы: -уничтожение статуса процесса, -уничтожение паспорта процесса и ие рвод всех страниц, зан тых паспортом и оабочими  чейками данного ироцесса, в список свободных страниц. В слзчае, если процесс порождал процессы, то окончание его де тельности св зано с окон анием де тельности порожденных им пооиессов , т. е. уничтожение паспортов и статусов процессов. В случае, если процесс не имел собственного паспорта, а работал на правах процесса, ссылающегос  на один общий паспорт, то окончание де тельности этого процесса тпебует только уничтожени  его статуса. ЭТУ сложную процедуру вы влени  вида процесса, а также окончание де тельности процесса выгол т ет сцециальна  программа (процесс). ТТроцесс. издавщий команду, передает за вку этой специальной программе, а сам переводитс  в состо ние с ожиданием отработки этой за вки. К командам распределени  пам ти относ тс  команды: «Выделение пам ти и «Освобождение пам ти. Формат команты «Выделение пам ти Код операции Количество страниц пам ти адрес таблицы распределени  выделенной пам тн Из свободной пам ти выдел етс  к зaннoe в команде количество страниц. Таблица выделрниых страниц записываетс  по адресу, указа ;тому в команде. Врем  выполнени  команды зависит от количества выдел емых страниц пам ти. В мини .мальиом варианте (требуетс  выделить одну страницу) врем  выполнени  равно 6-ти плкл м главной пам ти вычислительной системы . При увеличении количества выдел емых страниц требуетс  дополнительно по 2 цикла на каждую выдел емую страницу. Формат команды «Освобождение пам ти Код операции адрес таблицы распределени  выделенной пам ти Страницы пам ти, в соответствии с таблицей распределени , перевод тс  в список свободных страниц. Врем  выполнени  зависит от количества страниц освобождаемой пам ти. Перевод одной страницы в список свободных составл ет 5 циклов главной пам ти. Освобождсчще каждой следующей страницы требует дополнительно 2 цикла главной пам ти. Команды распределени  нам ти служит дл  динамического распределени  пам ти при работе какого-либо процесса, когда при программировании задачи нельз  заранее предсказать количество необходимой процессу пам ти. Например, невозможно заранее предсказать количество объектов с характерными нрпзнаками , которые необходимо отыскать в заданном массиве информации. К командам взаимодействи  и синхронизации процессов относ тс  команды «Жду блока номер К, «Жду окончани  работы любого порожденного процесса, «Жду окончани  работы всех иорожденных нроцессов. «Проверь, жди равенства («Проверь, жди неравенства ), «Ожидание записи по казанному адресу , сообщений, «Передаю соэбщеиие , подтверждени  приема сообщени . «Жду отработки за вки, «Пересылка дап- ых «Сборка. В этих командах определ югс  те событи , до выполнени  7 оторых процессы, содержащие данные команды, считаготс  неработоспособными с ожиданием событи  соответствующего типа. К этим событи м отиос тс : - вызов в главную пам тг) необходимого блока данн1 1х из внешней пам ти; -01 оичание работы одного процесса (любого из порожденных процессов); -окончание работы всех процессов (всепорожденных процессов); - запись ио указанному адресу; -передача какого-либо сообщени ; -сообщение, переданное данным процессом , прин то; - за вка супервизору прин та им. Провер етс , не произошло ли же ожидаемое событие и, если ПРОИЗОПЬДО, то выпод:1ение команды а этом закапчиваетс  и процесс иерехо ит к выполнению следуюн1ей команды своей программы. Если ожидаемое событие не произошло, то нроиесс объ вл етс  неработоспособным до по влени  ожидаемого событи . Признак неработоспособности , тип ожидаемого событи  и дополнительна  информаци  об ожидании событи  записываютс  в соответствующие разр ды статуса процесса. Фоом т команды «Жду блока номер N Код операции Помер блока По этой команде провер етс , переписан ли дсобходимый блок информации из внещней
15
пам ти (диск, лента) в главную пам ть вычислительной системы. ЕСли такой блок находитс  в главной пам ти, то выполнение команды па этом заканчиваетс  и процесс переходит к выполнению следующей команды. Если нужного блока «ет, то процесс объ вл етс  неработоспособным с ожиданием блока помер N
Врем  выполнени  команды: минимальное - 3 цикла обращени  и главной пам ти максимальное- 5 циклов обращени  к главной пам ти .
Команда необходима любому процессу, осуществл ющему поиск информации на внещпем посителе. Команда, в некотором смысле, эквивалентна за вке на обмен в обычных операционных системах.
Формат команды «Жду окончани  работы любого порожденного процесса Код операции
В статусе порождающего процесса провер етс  специальный разр д (окончил порожденный процесс). Если данный разр д единица, что указывает на то, что кто-то из порожденных процессов окончил работу, то порождающий процесс переходит к выполнению следующей команды своей программы. Если разр д равен нулю, то порождающий процесс объ вл етс  неработоспособным, с ожиданием окончани  работы любого из порожденных процессов .
Врем  выполнени  команды: минимальное - 1,5 цикла главной пам ти, макеимальное - 2 цикла главной пам ти.
Команда необходима дл  обработки порождающим процессом, например, результатов де тельности порожденных процессов в пор дке их поступлени .
Например, дл  поиска произвольного объекта с характерными признаками порождающий процесс создает процессы, каждый из которых ищет необходимый объект в различных блоках информации. Результат поиска записываетс  порожденным процессом в соответствующую область главной пам ти и об этом сообщаетс  порождающему процессу. Порождающий процесс приступает к работе (например, анализу результатов поиска пооожденного процесса) только лищь, после окончани  работы хот  бы одного порожденного процесса.
Формат команды «Жду окончани 
работы всех порожденных процессов
Код операции
В статусе порождающего процесса провер етс  количество порожденных процессов, не окончивших свою работу. Если это количестио равно нулю (это указывает на то, что все порожденные процессы окончили работу),то порождающий процесс переходит к выполнению следующей команды.
Ёс и хот  бы один порожденный процесс не Окончил работу, порождающий процесс становитс  неработоспособным с ожиданием окончани  работы всех 110рол де«ных процессов.
16
Врем  выполнени  команды: минимальное - 1,5 цикла главной пам ти, максимальное - 2 цикла главной пам ти.
Команда необходима, например, дл  поиска всех объектов с характерными нризнаками, а также дл  ожидани  конца всей инициированной данным процессом, де тельности.
Формат команды «Проверь, жди равенства (Проверь, жди неравенства) нлн «Ожидание записи по указанному
адресу Код опе)ации Адрес байта эталона
Адрес  чейки
По этой команде выбираетс  из главной пам ти содержимое провер емой и эталонной  чеек, сравниваетс  на равенство (неравенство ) между собой.
При равенстве (неравенстве) содержимого  чеек процесс переходит к выполнению следующей команды своей программы. При неравенстве (равенстве)-процесс становитс  неработосиособным с ожиданием записи в провер емую  чейку.
Врем  выполнени : минимальное - 7 цикТов главной пам ти, максимальное - 8 циклов главной пам ти.
Команда служит дл  синхронизации и общени  процессов друг с другом,  вл етс  единственным средством дождатьс  окончани  работы определенного процесса. Кроме этого иснользуетс  как средство при отладке программ в системе, содержащей параллельные процессы.
Формат команды «Жду сообщений Код операции Адрес, куда записать
сообщение
По этой команде провер етс  если ли про- ,. цесс (с тем же номером порождающего процесса ), ожидающий передачи выработанного им сообщени .
Если такой процесс есть, то сообщение, а также номер процесса, издавщего сообщение, передаетс  по адрееу, указанному в команде. Если такого процесса (нроцессов) нет, то ироцесс объ вл етс  неработоспособным с ожиданием сообщени .
Врем  выполнени : м-инимальное - 4 цикла главной пам ти, максимальное - 5 циклов главной пам ти.
Каждый процесс, нар ду с обычными процессами , может создать один привилегированный процесс. В частности на этот процесс могут возлагатьс  функции приема и обработки сообщений, поступающих от обычных процессов , созданных этим же порождающим процессом . Этот процесс называетс  «нриемишк сообн1,ений, «Жду сообщений -  вл етс  командой «приемщика сообщений.
Формат команды «Передаю сообщение или «Жду подтверждени  приема
сообщени  Код операции Сообщение, либо
адрес сообщени 
Провер етс , есть ли «приемщик, сообщеНИИ , Если такой процесс есть и он ждет сообщений , то ему передаетс  -сообщение (либо его адрес), а также номер процесса, издавшего сообщение. При этом «приемщик становитс  работоспособным. Сам процесс, издавщий сообщение, переходит к выполнению следующей команды своей программы. В случае зан тости приемщика (т. е. процесс приостановили по какой-то другой причине) процесс становитс  неработоспособным с ожиданием подтверждени  приема сообщени . Врем  выполнени : минимальное - 3 цикла главной иам ти, максимальное - 5 циклов главной пам ти. Команды «Жду сообщений и «Передаю сообщение служат дл  общени  процессов с «приемщиком сообщени  «е через главную пам ть, а через поле статусов процессов. Если сообщепие короткое, т. е. умещаетс  в поле статуса процесса, то оно передаетс  в это поле , если же сообщение длинное, то в поле стаКод операции
Номер блока, нсмер записи откуда вз ть ипформацию
Команда предназначена дл  выборочной записи в главную пам ть информации, наход щейс  на впещнем носителе.
Алгоритм выполнени . Провер етс  наличие необходимого блока в главной пам ти вычислительной системы. Если блока нет, то процесс , издавщий команду, становитс  нерабоВ первом байте этой таблицы, указан номер байта внутри записи, начина  с которого необходимо переписать информацию по адресу, указаН|НО.му в команде.
Количество байтов, которое необходимо переписать , указываетс  вторым байтом таблицы . Эта операци  производитс  столько раз, сколько строк в таблице.
Врем  выполнени  команды зависит от многих факторов, а-именно: наличи : требуемого блока информации в -главной пам ти: от колитества и содержимого строк таблицы.
Адрес пачала пол  пам ти, куда записать информацию
Адрес начала таб.лицы сборки
тоспособным с ожиданием блока N. Если блок есть, то в поле главной пам ти, указанном в команде, производитс  запись информации из блока упор доченным образом.
Пор док записи определ етс  таблицей сборки, котора  имеет следующий вид:
При наличии требуемого блока в главной пам ти вычислительной системы врем  вынолнени  команды определ ютс  формулой
м
N,n + 1
.
6 + М +
где М - число строк таблицы,
Nm - число байтов, указанной в т° строке . туса процесса передаетс  лищь адрес этого сообщени . Формат команды «Жду отработки за вки Код операций Содержание за вки Если процесс, который должен отработать за вку исполн ет команду «Прин л за вку от процесса, то процесс, выдавший команду «Жду обработки за вки остаетс  работоспособным . В противном случае, процесс становитс  неработоспособным с ожиданием подтверждени  приема сообщени . Врем  выполнени  данной команды зави ит от типа за вки, от величин очереди на отр ботку за вки и т. д. Команда аналогична команде «Передаю сообщение некоторому привилегированному процессу, который берет на себ  функции операционной системы, не реализованной аппаратно . Формат команды «Пересылка данных или «Сборка
Опишем работу процессора мультиобработки данных при выполнении им некоторых наиболее емких команд, а именно, команд «Создать паспорт и «Жду блока номер N.
Пусть процессор мультиобработки данных ведет программу некоторого процесса (решает некоторую задачу). В ходе программы встречаетс  команда «Создать паспорт.
На первом этапе выполнени  этой команды необходимо выделить свободную Страницу дл  заголовка наспорта. Блок управлени  7 расшифровывает код операции, устанавливает в регистре номера управл юпшх регистров 2 номер регистра расиределени  пам ти 9 и фоомирует сигнал считывани  из блока управл юших регистров 3 на ,выходпой регистр 8. Под управлением этого сигнала происходит передача содержимого регистра распределени  пам ти 9 (начальный адрес первой страницы в списке свободных страниц) на выходной регигто 8 блока управл юших регистров 3.
После этого производитс  запись начального адреса выделенной страницы в регистр базового алоеса страницы 10. Дл  этого блок ппавлени  7 выдает сигнал, который разреinaer пеоедетчу из выходного регистра 8 блока нпавл юших регистров во входной регистр 17 блока управл ющих регистров 3. Одновременно блок унравлени  7 устанавливает в регистп .- номера унравл юших регистров 2 номер регистра газового адреса страницы 10. После того, как во входном регистре 17 блока управл ют их регистров установитс  адрес начала страницы, блок унравлени  7 вырабатывает сигнал, по которому производитс  запись солплжимого входного регистра 17 блока управЛЯЮИ1ИХ регистров 3 в регистр базового адреса ст аницы 10.
На регистпр распределени  пам ти 9 всегда должен нахолитьс  начальный адрес первой странипы в списке свободных страниц. Поэтому , после того, как страница, адрес которой находитс  на регистре распределени  пам ти 9, была зан та иод заголовок иаепорта, необходимо обновить содержание регистра распределени  пам ти 9, то есть записать в него алрес следующей в списке свободной стпанипы . Дл  этого блок .управлени  7 выдаст управл юший сигнал, который разрешает передачу информации из выходного регистра 8 блока управл юших регистров (в нем записано старое содержимое регистра распределени  пам ти 9 в блок сопр жени  1. Адресный выход блока сопр жени  1 св зан с регистром адреса главной пам ти вычислительной системы (на чертеже не показан). По адресу из регистра распределени  пам ти 9 производитс  считывание, информаци  из этой  чейки главной пам ти и  вл етс  адресом следующей свободной страницы в списке. Этот адрес поступает в блок сопр жени  1 на первый информационный вход. Блок управлени  7 вырабатывает сигнал, который разрешает передачу этой информации из блока сопр жени  1 на входной регистр 17 блока управл ющих
регистров. Одновременно блок управлени  7 устанавливает иомер регистра распределени  пам ти на регистре номера управл ющих регистров 2. После этого блок управлени  7 вырабатывает сигнал записи в блоке управл юших регистров и начальный адрес первой страницы в списке свободных из входного 17 регистра блока уиравл юших регистров 3 записываетс  в регистр распределени  пам ти 9.
Тенерь начинаетс  заполнеиие заголовка паспорта. Ииформаци , котора  должна быть записана в заголовок паспорта, находитс  в главной иам ти системы, начина  с адреса,
который указаи в команде «Создать паспорт. Этот адрес запоминаетс  в блоке сопр жени  1.
Блок управлени  7 посылает в блок соир жеии  1 сигнал считывани  по адресу начала
информации, указанному в команде «Создать процесс. Одновременно начинаетс  формирование адреса, по которому данный вид информации должен быть записан в заголовок паспорта . Формат заголовка иаспорта строго
фиксирован дл  всех процессов, поэто.му относительные адреса (внутри страницы) всех видов информации, записывае.мой в заголовок паспорта хран тс  в блоке посто нной пам ти 5. Блок управлени  7 передает
в блок посто нной иа.м ти 5 адрес  чейки, в которой хранитс  относительный адрес требуемого вида информации, и пересылает содержимое этой  чейки ц а вход арифметическологического блока 4.
Одновременно с этим блок управлени  7 устанавливает в регистре номера управл ющих регистров 2 номер регистра базового адреса страницы 10, в котором хранитс  физический адрес начала страницы, и выдает сигнал считываии  из блока управл ющих регистров на выходной регистр 8 блока зПравл ющих регистров 3. После этого блок управлени  7 выдает сигнал, разрешающий передачу с выходного регистра 8 блока управл ющих регистров 3 на второй информационный вход арифметическо-логического блока 4.
После того, как сложение окончено блок управлени  7 формирует сигнал передачи физического адреса в блок сопр жени  1, Если
операци  считывани  информации, подлежащей записи в заголовок паспорта, закончена, то блок управлени  7 формирует сигнал заииси этой информации в главную пам ть системы по вновь сформированному адресу.
Дл  считывани  следующего вида информации необходимо увеличить адрес, по которому было произведено иредыдущее считываиие , на длину считанного вида информации. Поэтому, после того, как считывание данного вида информации закоичено, блок управлени  7 формирует сигнал, разрешающий передачу адреса данного вида информации из блока сопр жени  1 на арифметическо-лргический блок 4. Одновременно блок управлени 
7 передает в блок посто нной пам ти 5 адрес
21
 чейки, в которой хранитс  длина данного вида информации. По сигналу из блока ynpajлени  7 содержимое этой  чейки передаетс  иа третий информационный вход арифметическо-логического блока 4, которое определ ет физический адрес главной пам ти, по кототому записан следующий вид информации. Далее , блок управлени  7 формирует сигнал, разрешающий передачу этого физического адреса в блок сопр жени  1. Считьиишие информации но этому адресу и запись ее в паспорт производитс  анало ично описанному выще.
Опнсаппые операции повтор ютс  до тех пор, пока пеобходима  информаци  не будет записана в заголовок паспорта.
Следуюппгм этапо г выиолнепи  команды «Создать иаепорт  вл етс  выделение пам ти под рабо.ие  чейки. Этот этап иачипаетс  с того, что блок уиравлеии  7 вырабатывает спгна.ч нередачи кода количества страниц, которые долЖНЫ быть выделены под рабочие  чейки, из блока сопр жени  1 на входной регистр 17 блока управл юпшх регистров 3. В блок сопр жени  1 эта информацп  поступает из главной пам ти системы, как один из видов информации. Одновременно блок управлени  7 устанавливает на регистре номера управл юнщх регистров 2 помер регистра остатка П. После того, как входной регистр 17 управ.л ющих регистров уетаиовлеп блок управлени  7 выдает сигнал записи в блок управл ющих регистров. Таким образом в регистр остатка II, записываетс  код количества страниц, которые должны быть выделены под рабочие  чейки.
Теперь необходимо выделить страницу под таблицу номера страниц, зап тых рабочими  чейками. Дл  этого блок управлени  7 устанавливает на регистре номера управл ющих регистров 2 но.мер регистра распределени  иам тп 9 и выдает сигнал считывани  из пол  уппавл ющих регистров на выходной регистр
8блока управл юпшх регистров 3. На выходном регистре блока управл ющих регистров 3 устанавливаетс  код начального адреса выделенной страницы. Затем блок управлени  7 устанавливает на регистре номера управл ющих регистров 2 код номера регистра начального адреса етраницы 12 и выдает сигнал, разрешающий передачу из выходного регистра 8 блока управл юп1их регистров 3 во входной регистр 17 после того, как передача закончитс , блок управлеип  7 выдает сигнал записи в блоке управл ющих регистров. Обновление содержимого регистра распределени  пам ти
9происходит аналогичтю тому, как это дела .тось выделеппи страппцы иод заголовок паспорта. В пулевую  чейку выделеппой страиппы необходимо записать код количества страниц, отводимых под рабочие  чейки. В выходном регистре 8 блока управл ющих регистров 3 записан начальный адрес страницы (адрес нулевой  чейки страницы). Блок управлени  7 формирует сигнал, разрещающий передачу из выходного регистра 8 блока уп22
равл ющих регистров 3 в блок сопр жени  I. Код количества страниц записап в регистре остатка 11. Блок управлени  7 устанавливает номер регистра остатка 11 в регистре номера управл ющих регистров 2 и формирует сигнал считывани  из блока управл ющих регистров. После того, как считывание закончено, блок управлени  7 выдает сигнал, разрешающий передачу из выходного регистра 8 блока управл ющих регистров 3 в блок сопр жени . После окончани  этой передачи блок управлени  7 выдает в блок сопр жени  1 сигпал записи в главную пам ть системы. Теперь необходимо сформировать и заипсать в заголовок паспорта ссылку на выделенную страницу. В ссылке указываетс  номер выделенной страницы. Так как иачальный адрес страницы известен, то необходимо вычислить только ее номс). В регист)е гранпцы 13
занисап физический адрес главной пам ти, с которого начинаетс  зона паспортов. Если вычесть из иачальпого адреса страницы адрес начала зоны паспортов и разделить результат на объем страницы, то получим номер страницы . Так как объем страницы равен байтов , то деление можно заменить обыкновенным сдвигом на 6 разр дов вправо.
Таким образом, блок управлени  7 устанавливает на регистре номера уиравл ющих регистров 2 номер регистра границы 13 и выдает сигнал считывани  из пол  управл ющих регистров на его выходной регистр 8. Затем блок уиравлеии  7 выдает сигнал разрешающий передачу нз выходпого регпстра 8 блока
управл ющпх регистров 3 на второй информационный вход арифметическо-логического блока 4. Блок управлени  7 устанавливает на регистре номера уиравл юпдих регистров, номер регистра иачального адреса страницы 12
и выдает сигнал считывани  из блока управл ющих регистров па выходной регистр блока хправл ющих регистров 3. Зателг блок управлени  7 выдает еигнал, разрещающий передачу из выходпого регистра блока управл ющих
регистров па арпфметическо-логический блок 4. После окончанн  этой операции блок управлени  7 формирует сигнал вычитаии . После окончани  операции вычитани  блок управлени  7 выдает сигнал сдвига на шесть разР тов вправо. По окончании этой операции блок управлени  7 вырабатывает сигнал разрешени  передачп из арифметпческо-логического блока 4 в блок сопр жени  1. Таким образом, ссылка сформирована, необходимо
сформнровать адрес, по которому она будет записапа.
Адрес, по которому эта ссы.лка должна бьпь заипсана, формируетс  сле.ичощим образом. Блок управлени  7 устанавливает на регистре
номера управл ющих регистров 2 номер регистра базового адреса страницы 10 и выдает в блок управл ющих регистров 3 сигнал считывани  «а его выходной регистр 8. После того, как считывание закопчено блок управлени  7 выдает сигнал разрещени  передачи
23
с выходного регистра 8 блока управл ющих регистров 3 на арифметическо-логический блок 4. Одновременно блок управлени  7 передает в блок посто нной пам ти 5 адрес  чейки, в которой записан относительный адрес (внутри страницы), по которому должна быть записана ссылка. После того, как адрес установлен , блок унравлени 7выдает сигнал считывани  из блока посто нной пам ти 5. После окончани  считывани  блок управлени  7 выдает сигнал разрешени  передачи из блока посто нной пам ти 5 на третий информационный вход арифметпческо-логического блока 4. После этого блок уцравлени  7 выдает сигнал сложени . Результат сложени  есть физический адрес главной пам ти, по которому должна быть записана ссылка.
По окончании сложени  блок управлени  7 вырабатывает сигнал разрешени  передачи из аоифметическо-логического блока 4 в блок сопо жени  1 и сигнал записи в главную пам ть по сформированному адресу.
После записи этой ссылки начинаетс  собственно выделение свободных страниц под рабочие  чейки и запись ссылок в таблицу номеров стоаниц, зан тых рабочими  чейками, на выделенные страницы.
Выделение свободных страниц и вычисление номера страницы (формирование ссылки) происходит аналогично выделению страницы под таблицу страниц, ззр тых рабочими  чейками.
Рассмотрим, как происходит формирование адресов дл  записи ссылок в таблицу страниц, зан тых рабочими  чейками.
Блок управлени  7 лстанавливает на регистре номера управл ющих регистров 2 номер регистра начального адреса страницы и выдает сигнал считывани  в блок управл ющих регистров 3. Считанный начальный адрес страницы , на которой находитс  таблица страниц отведенных под рабочие устанавливаетс  на выходном регистре 8 блока управл ющих регистров 3. Блок лПравлени  7 выдает сигнал, разрешающий передачу из выходного регистра блока управл ющих регистров 3 lia арифметическо-логический блок 4. Одновременно блок управлени  7 устанавливает в блоке посто нной пам ти 5 адрес  чейки, в которой записана длина ссылки и выдает сигнал считывани  из блока посто нной пам ти 5 на третий информационный вход арифметическологического блока 4 После окончани  передачи блок управлени  7 выдает сигнал сложени , в результате чего на выходе арифметическологического блока 4 устанавливаетс  адрес, по которому должна быть записана сформированна  ссылка. После окончани  сложени  блок управлени  7 выдает сигналы разрешени  передачи нз арифмртическо-логического блока 4 в блок сопр жени  1 и на входной регистр 17 блока управл ющих регистров. По окончании передачи блок утавлени  7 выдает сигналы записи в главную пам ть и в блок управл ющих регистров (в регистре номера управл ющих регистров 2 ранее был
Z4:
устаиовлен номер регистра начального адреса страницы 12).
Теперь необходимо осуществить проверку; выделено уже требуемое количество страниц под рабочие  чейки или нет. Дл  этого блок управлени  7 устанавливает на регистре номера управл ющих регистров 2 номер регистра остатка И и выдает сигнал считывани  в блоке управл ющих регистров. По окончании
считывани  блок управлени  7 вырабатывает сигнал разрещени  передачи из выходного регистра 8 блока управл ющих регистров 3 в арифметическо-логический блок 4. По окончании передачи блок управлени  7 выдает сигнал вычитани  единицы младщего разр да и по окончании операцпи анализирует результат. Если результат равен нулю, то требуемое количество страниц выделено, если нет, то блок управлени  7 выдает сигнал разрешени  передачи из арифметическо-логического блока 4 на входной регистр 17 блока управл ющих регистров 3. По окончании передачи блок управлени  7 выдает сигнал записи в блок управл ющих регистров. Выдел етс  следующа 
страница и т. д.
После окончани  выделени  пам ти под рабочие  чейки необходимо записать номер страницы , на которой находитс  заголовок создаваемого паспорта по адресу, указанному в
команде «Создать паспорт. /1дрес, по которому должна быть записана ссылка  вл етс  операндом команды и находитс  в блоке сопр жени  1. Номер страницы формируетс  аналогично тому, как формируютс  номера
страниц при выделении пам ти под рабочие  чейки. После того, как номер страницы будет сформирован в арифметическо-логическом блоке 4 блок управлени  7 выдает сигнал разрешени  передачи из арифметическо-логического блока 4 в блок сопр жени  1 и выдает сигнал записи в главизпо пам ть системы.
Па этом выполнение команды «Создать паспорт заканчиваетс .
Рассмотрим теперь выполнение команды «Жду блок номер N.
После поступлени  команды в блок сопр жени  1, код операции передаетс  в блок управлени  7 и там расщифровываетс . Дл  выполиени  этой команды необходимо просмотреть таблицу блоков информации, наход щуюс  в главной пам ти системы и определить, находитс  ли требуемый блок в главной пам ти или нет.
Дл  этого блок управлени  7 устанавливает на регистре номера управл ющих регистров 2, номер регистра начального адреса таблицы блоков информации 14 и вырабатывает сигнал считывани  из пол  управл ющих регистров . Одновременно блок управлени  вырабатывает сигнал, разрещающий передачу операнда команды из блока сопр жени  1 на арифметическо-логический блок 4.
После окончани  считывани  из блока управл ющих регистров блок управлени  7 вырабатывает сигнал, разрешающий передачу из выходного регистра 8 блока управ.ч ющих регистров 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 производитс  сравнение кодов номеров требуемого блока информации и считанного из таблицы блоков информации. Если совиадение происходит , то операци  закаичиваетс , если нет, то выбираетс  следующа  строка таблицы и снова производитс  сравнение и т. д. В последней строке таблицы запцсан специальпый код, по которо.му арифметическо-логический блок 4 выдает в блок управлени  7 сигнал, указываюпщй на то, что требуемого блока в главной нам ти системы пет. Получив этот сигнал блок управлени  7 устанавливает на регистре номера уира1)л юntnx регистров 2 номер pcrncipa номе)а ja6oтаю1цсго цроцесса 15 и выдает сигнал считывани  из блока уиравл ющих регистров на его выходной регистр 8. По окончании сч 1тывани  блок уцравлени  7 выдает сигнал разрешени  нередачи с выходного регистра блока уиравл ющих регистров 3 на регистр адреса 18 блока статусов процессов 6. Одновременно с этим блок управлени  7 устанавливает на входном регистре 24 блока статусов процессов 6 «1 в разр д работоспособности , в поле типа ожидани  - код, указываюнщй на то, что процесс ждет блок информации , в поле информации ожидани  - код номера требуемого блока. В регистре маски 23 блока статусов ироцессов блок управлени  7 устанавливал код, который маскирует все остальные пол  в слове статуса процесса. По окончании этих операций блок управлени  7 выдает спгпал записи в узел характеристик 19 статусов процессов. Таким образом, процесс издавший команду «Жду блок помер N обь вл етс  не эаботоснособпым с ожиданием требуемо1Ч) блока. Одновременно блок унравлени  7 передает в блок сопр жени  1 за вку на ввод 1з внеп1ней пам ти блока помер N. После того, как работавпшй процесс был объ влен неработоспособным, необходимо запомнить состо ние, в котором он был прерван. Дл  этого необходимо записать в статус процесса адрес команды, на которой он был прерван , а в паспорт-содержимое регистров текущего состо ни  процесса (16i-Hl6re). Теперь необходимо запустить следующий процесс. Дл  этого блок управлени  7 устанавливает «1 в старший разр д пол  приоритетов и в разр д работоспособности во входном регистре 24 блока статусов процессов. Все остальные разр ды маскируютс , дл  чего блок управлени  7 устанавливает соответствующий код в регистре маски 23. После этого блок управлени  7 выдает сигнал опроса в узел характеристик статусов процессов 19. Если в узле характеристик статусов процессов 19 имеетс   чейка пам ти, содержимое которой соответствует содержимым входного регистра 24 и регистра маски 23, то происходит совпаде)1ие, означающее, что есть работоспособный процесс с наивысщим приоритетом, который запускаетс  в работу. Если совпадепи  не происходит, то блок уцравлени  7 устанавливает «1 в более младший разр д пол  приоритетов входного регистра 24 блока статусов процессов и соответственно измен ет код маски. Затем блок уцравлени  7 выдает сигНал опроса узла характеристик статусов процессов 19. Эта операци  продолжаетс  до тех лор, пока не будет найден процесс с наивысшим приоритетом среди работоспособных процессов , этот процесс и должен быть запущен в работу. Бели совпадение происходит, то в блок управлени  7 поступаетCOOTBeTCTByioHuift сигнал узла индикации совпадени  20. Может возникнуть ситуаци , ири которой работоспособными окажутс  несколько процессов с одинаковыми приоритетами. В этом случае с узла индикации совпадени  20 на узел обработки приоритетов 21 поступ т несколько сигналов совпадени . Узел обработки приоритетов 21 выбирает сигнал совпадени  того процесса, который имеет наименьший или какой-либо другой номер. Этот сигнал совпадени  поступает с узла обработки приоритетов 21 на узел выдачи номера процесса 22, по этому сигналу узел выдачи номера ироцесса 22 формирует код номера процесса, в котором произошло совпадение. После того, как код номера процесса сформирован , блок управлени  7 вырабатывает сигнал, разрешаюш,ий передачу из узла выдачи номера процесса 22 на входной регистр 17 блока управл ющих регистров 3 и устанавливает на регистре номера управл ющих регистров 2 код адреса регистра номера работающего нроцесса 15. После этого блок управлени  7 вырабатывает сигнал записи в блоке управл ющих регистров. Затем по сигналам блока управлени  7 производитс  считывание адреса команды, на которой был прерван запускаемый процесс из неоперативной части его статуса и запоминание этого адреса в блоке сопр жени  1. Кроме того, нроизводитс  заполнение регистров текущего состо ни  (16iH-16n) процесса, то есть запись в них информации, котора  находилась в них в момент последнего прерывани  процесса и хранилась до этого момента в паспорте процесса в главной пам ти вычислительной системы. На этом выполнение команды заканчиваетс . Ф о р м } л а изобретени  1. Процессор мультиобработки данных, содержащий блок сопр жени , адресные вход и Быход, первые управл ющие вход и выход, первые информационные вход и выход которого подключены соответственно к адресным входу и выходу, управл ющим входу и выходу , информационным входу и выходу процессора мультиобработки данных, вторые управл ющие вход и выход блока сопр жени  подключены к первым управл ющим выходу и в.ходу блока управлени , вторые информационные вход и выход блока сопр жени  соединены с первыми информационными выходом и входом арифметическо-логического блока, а третьи информационные вход и выход блока сопр жени  нодключены к первым информационн )1м выходу н входу б;1ока упр 1 л ющи ; регистров, второй, третий и четвертьи информационные входы которого подключены соответственно к первым пнформационным выходам блока посто нной нам ти и блока управлени  и ко второму информационному выходу арифметическо-логического блока, второй информационный выход блока унравл ющих регистров нодключен ко второму информационному входу арифметическо-логического блока, унравл юии1Й вход блока управл ющих регистров соединен непосредственно, а адресный вход через регистр номера управл ющих регистров со вторым управл ющим и первым адресным выходами блока управлени , третий н четвертый управл ющие выходы которого подключены к управл ющим входам блока посто нной пам ти и арифметическо-логического блока, управл ющий выход и третий информационный вход которого нодключены к первому информационному входу блока управлени  и второму информационному выходу блока посто нной пам ти, отличающийс  тем, что, с целью повышени  быстродействи  процессора, он содержит блок статусов процессов , адресный, управл ющий и информационный входы которого подключены соответственно к третьему информационному выходу блока управл ющих регистров, п тому управл ющему и второму информацион 1ым выходам блока управлени , а информационный ц уиравл ющий выходы соединены с п тым информационным входом блока управл ющих регистров и вторым информационным входом блока управлени . 2. Процессор по п. 1, отличающийс  тем, что блок статусов процессов содержит регистр маски, входной регистр, регистр адреса , узел характеристик статусов процессов, узел индикации совпадени , узел обработки приоритетов и узел выдачи номера процесса, выход которого соединен с информационным выходом блока статусов процессов, управл ющий вход которого соединен с первыми входами узла характеристик статусов процессов и регистров адреса, подключенного вторым входом к адресному входу блока статусов процессов и соединенного выходом со вторым входом узла характеристик статусов процессов , третий и четвертый входы которого через регистр маски и входной регистр, соответственно , соединены с информационным входом блока статусов процессов, управл ющий выход которого соединен с первым выходом узла индикации совпадени , подключенного входом к в з1ходу узла характеристик статусов процессов и соединенного вторым выходом через узел обработки приоритетов со входом узла выдачи номера процесса. Источники информации, прин тые во внимание при экспертизе 1. Акцентованна  за вка Японии № 48- 5374, кл. 97 (7) Н 3, 97 (7) Н 21, онублик. 06.11.73, № 6-135. 2. Патент США № 3825902, кл. 340-172,5, опублик. 23.07.74, т. 924, N° 4. 3. Патент Франции 2208551, кл. G OGf 9/00, опублпк. 26.07.74, № 30.
е
20
22
2/
Г
SU752184810A 1975-10-28 1975-10-28 Процессор мультиобработки данных SU590745A1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU752184810A SU590745A1 (ru) 1975-10-28 1975-10-28 Процессор мультиобработки данных

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU752184810A SU590745A1 (ru) 1975-10-28 1975-10-28 Процессор мультиобработки данных

Publications (1)

Publication Number Publication Date
SU590745A1 true SU590745A1 (ru) 1978-01-30

Family

ID=20635772

Family Applications (1)

Application Number Title Priority Date Filing Date
SU752184810A SU590745A1 (ru) 1975-10-28 1975-10-28 Процессор мультиобработки данных

Country Status (1)

Country Link
SU (1) SU590745A1 (ru)

Similar Documents

Publication Publication Date Title
US3566358A (en) Integrated multi-computer system
US3781810A (en) Scheme for saving and restoring register contents in a data processor
US4796178A (en) Special purpose processor for off-loading many operating system functions in a large data processing system
US5010482A (en) Multi-event mechanism for queuing happened events for a large data processing system
EP0318221A2 (en) Controlling responding by users of an intercommunications bus
ES465431A1 (es) Disposicion perfeccionada de acceso de memoria en un sistemade computadora.
US4691280A (en) High performance multi-processor system
US3812475A (en) Data synchronizer
EP0364000B1 (en) A special purpose processor for off-loading many operating system functions in a large data processing system
SU590745A1 (ru) Процессор мультиобработки данных
JPS6334490B2 (ru)
US4451882A (en) Data processing system
JPS584445A (ja) 動作中ジョブに対するプログラム修正反映方式
SU692400A1 (ru) Вычислительна система
JPS6075938A (ja) タイマ−割込み時のデイスパツチ方式
JP2864496B2 (ja) 多重処理計算機
RU2042193C1 (ru) Вычислительная система
Fletcher et al. Computer storage structure and utilization at a large scientific laboratory
SU907551A1 (ru) Мультимикропроцессорна система
Fong LTSS compendium: an introduction to the CDC 7600 and the Livermore Timesharing System
JPS6049464A (ja) マルチプロセッサ計算機におけるプロセッサ間通信方式
JPH0329049A (ja) マルチプロセッサシステム
Chao The system organization of MOBIDIC B
RU1839261C (ru) Ортогональна многопроцессорна система
JPH0573507A (ja) 電子計算機間メツセージ交信時の救済装置