Есть еще 7 страниц.

Смотреть все страницы или скачать ZIP архив

Текст

ВСбо о юз исая ли ы А ЕТЕНИЯ У СВИДЕТЕЛЬСТВУ О Й ИЗО 0745 ббйз Соеетсккк адистическиаРеснублик РСКО 1) Дополнительное к авт. свил-ву Ч, 1 л,- О 06 Г 15/О 2) Заявлено 28.10.75 (2 ) 21848 О/18-2 с присоединением заявкиГосударственный комитет Совета Министров СССР ио делам нэобретенийн открытий 3) Приоритет ДК 681 325(08 30.01.78. Бюллетеньнация опис аппя 28.03,78 43) Опубликова 5) Дата опубли(72) Лвторыизсбретени А. А. Арефьев, В. Л. Арлазаров, С.А. Н, Годунов, Н, В. Дагурова, Н,Н. Г. Зенкина, Г. М. Золотухина, А.В. Т. Лысиков, В. А, Макаров, Г, КОрдена Ленина институт п 1) Заявител 54) ПРОНГССОР МУЛЬТИОБРАБОТКИ ДЛННЬ тетность заявки с приоритетностью рсшасмои задачи и по результату сравнения либо ставит поступившую заявку в очередь, либо прерывает решение прежней задачи и переводит про цессор на решение поступившей задачи 2),Наиболее близким техническим решением кданному изобретению является процессор мультиобработки данны.;, который содержит, как и данный процессор мультиобработки дан ных, блок сопряжения, адресные вход и выход, первые управляющие вход и выход, первые информационные вход и выход которого подключены соответственно к адресным входу и выходу, управляющим входу и выходу, пн формационным вхоЛу и выходу процессорамульгпобработкп данных, вторыс управлощие вход и выход блока сснряжсппя подключены к псрвым управляюпцм выходу и входу блока управления, вторыс ннформагпонные 20 вход и выход блока сопряжснпя соедпены спервыми информационными выхолом и входом арифметическо-логического блока, а третьи информационные вход и выхоч блока сопряжения полключсны к первым информационным 25 выходу и входу блока управляющих регистров,второй, третий и четвертый информационные входы которого подключены соответственно к первым информационным выхочам блока постоянной памяти и блока управления и ко Изобретение относится к области вычислительной техники и может быть использовано в информационно-поисковых системах, предназначенных для решения широкого класса задач управления, где имеет место работа с большими массивами информации сложной структуры (информационно-поисковые задачи, мультитерминальные в режиме разделения времени, игровые задачи).Известен процессор мультиобработки данных, который содержит арифметическо-логический блок, блок постоянной памяти, блок сопряжения, блок управления, регистры слова состояния программы и блок автоматического перехода с одной задачи на другую. Введение этого олока, в котором записываются интервалы времени, отведенные для рсшснп той или иной задачи, позволяет уменьшить время обработки всей программы, состоящей пз многих отдельных задач 1.Дру ой известный процессор мультиобработки данных для повышения производительности при решении многих задач с различными приоритетами в режиме разделения времени содержит блок прерываний с несколькими приоритетными уровнями, который представляет собой аппаратурную реализацию той части операционных систем, которая при поступлении заявки на обслу кивание сравнивает приори. Беркович, А. ф. Волков, Емельянов, В. Д, Зенкин, Л ем ан, В. С. Л ихон инск ий Сорокин и И. А. фараджев облем управленияОпишем работу процессора мультиобработки данных при выполнении им некоторых наиболее емких команд, а именно, команд Создать паспорт и Жду блока номер И.Пусть процессор мультиооработки данныхведет программу некоторого процесса (решает некоторую задачу). В ходе программы встречается команда Создать паспорт.На первом этапе выполнения этой команды необходимо выделить свободную страницу для заголовка паспорта. Блок управления 7 расшифровывает код операции, устанавливает в регистре номера управляющих регистров 2 помер регистра распределения памяти 9 и фопмирует сигнал считывания из блока управляющих регистров 3 на .выходной регистр 8. Под управлением этого сигнала происходит передача содержимого регистпа распределения памяти 9 (начальный адпес первой страницы в списке свободных страниц) на выходной регистп 8 блока управляющих регистров 3.После этого производится запись начального адреса выделенной страницы в регистр базового адпеса страницы 10. Для этого блок ппавленпя 7 выдает сигнал, который разрешает пепеда чу из выходного регистра 8 олокаппавляюших пегистров во входной регистр 17 блока управляющих пегистров 3. Одновпеменно блок уппавления 7 устанавливает в регисти- номепаппавляюших регистров 2 номеп пегистпа сазового адпеса страницы 10. После того. ак во входном регистре 17 блокаппавляюших пегпстров установится адрес начала стпаницы, блок уипавления 7 вырабатывает сигнал, по котором производится запись солепжимого входного регистра 17 блока уппавляюших пегистров 3 в регистр базового адреса страницы 10.На пегпс;, е распределения памяти 9 всегда должен находиться начальный адрес пепвой стпанипы в списке свободных страниц. Поэтом. после того, как страница, адрес котопой находится на регигтпе распределения памяти 9. была занята под заголовок паспорта, необходимо ооновить содс пжание регистра расппеделения памяти 9, то есть записать в него адпее следлогцей в списке свободной стпаницы. Для этого блок управления 7 выла т управляюгций сигнал, которьцл разпешает передач инфопмации из выходного регистра 8 олока уппавляюших регистров (в нем записано старое содержимое регистра расппеделения памяти 9 в блок сопряжения 1. Адресный выход блока сопряжения 1 связан с регистром адреса главной памяти вычислительной системы Ьа чептеже не показан). По адресу из пегистпа паспределения памяти 9 производится считывание, информация из этой ячейки главной памяти и является адресом следующей свободной страницы в списке. Этот адрес поступает в блок сопряжения 1 на пепвый инфопмационный вход. Блок уппавления 7 вырабатывает сигнал, который разрешает передачу этой информации из блока сопряжения 1 на входной регистр 17 блока управляющих 5 1 15 )ц 7 Д 30 35 40 45 6 Э 65 регистров, Одновременно блок управления 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 адрес2ячейки, в которой хранится длина данного вида информации, По сип(алу из блока управления 7 содержимое этой ячейки передается на третий информационный вход арифметическо-логического блока 4, которое определяет физический адрес главной памяти, по котооому записан следующий вл информации, Далее, блок управления 7 формирует сигнал, разрсшаюпгий псрелачу этого физического адреса в Олок сОпр 51 женпя 1. С 1 итыв(нис информации ш) .)тому алрсю и запись сс в паспорт произ- ЦС)ДИТС 51 ЯНЯЛОИНО ОПИСЯННОМУ ВЫШС,Описанные оцсрс)с 155 повторяОтс 51 до пор, ги)ка вся цеобхо;имая цнфор.(ация цс будет записана в заголовок паспорта.Следующим этапом выполнения команды Сс)з;51 ь насцс)р 51 вл 5 стс 51 в 11 дслспис пям 51- т( НГ). )Гн)Нс. 51 с( к. Э О э 1 яп цячинастс 5 с тс)10, О блок 1 прявлсии 51 7 1 рсбэ 1 ьвяс сигнал передачи кола количества страниц, которые должны с)ыть выделены под рабочие ячейки. Из блока сопряжения 1 на входной рсгистр 17 блока управляОц(их регистров 3. В олок сопряжения 1 эта информация поступает пз главной памяти системы, как один из видов информации. Олновременно блок управления 7 устанавливает на регистре номера управляющих регистров 2 номер регистра остатка 11. После того, как входной регистр 17 управляющих регистров установлен блок управления 7 выдает сигнал записи в блок управл 5 поцих регистров. Таким образом в регистр остатка 11, записывается код количества страниц, которь(с лолжны быть выделены под оаоочие ячейки,Теперь необхолимо выделить страниц под таблицу номера страниц, занятых рабочими (чсйками. Для этого блок управления 7 устанавливает на регистре номера управляюцих )егистоов 2 номер регистра распределения памяти 9 и выдаст сигнал считывания пз поля поавляюших регистров на выходной регистр 8 блока управляющих регистров 3. На выходном оегпстрс блока управляющих регистров 3 устанявлпгается код начального алреса выделенной страницы. Затем блок управления 7 устанавливает на регистре номера управляющих регистров 2 код номера регистра начального алрсса страницы 12 и выдает сигнал, разоешаюц 1 пй передачу пз выходного регистра 8 блока упрявля 0(цпх регистров 3 во вхолной регистр 17 после того. как передача закончится, блок управления 7 выдает сигнал записи в блоке управляющих регистоов, Обновление содержимого регистра распределения памяти 9 поопсхолит аналогично тому, как это делалось ирп вылслсцип страницы пол заголовок няснортя. В нугСву(о ячейку выделенной страницы необходимо записать код количества страниц, отводимых пол рабочие ячейки. В выхолном регистре 8 блока управляющих регист)ов 3 записан начальный адрес стоаницы (адрес нулевой ячейки страницы). Блок управления 7 формирует сигнал, разрешающий передачу из выходного регистра 8 блока уп 65 ления 7 выдает сигнал разрешения перелачи 22равляюцих регистров 3 в блок сопряжения 1.Код количества страниц записан в регистре остатка 11. Блок управления 7 устанавливаетномер реги тра остатка 11 в регистре номерауправляющих регистров 2 и формирует сигналсчитывания из блока управл 5 иощих регистров,После того, как считывание закончено, блокуправления 7 выдает сигнал, разрешающийперелачу из выходного регистра 8 блока уп 1 н оавляющих регистров 3 в блок сопряжения.После окончания этой передачи блок упрявлсци 5 7 выдает в олок онряжсцпя 1 сигналзаписи в главную память системы,Теперь цеобход 5 мо сформировать и запп 1 д сать в заголовок паспорта ссылку на выделенную страницу. В ссылке указывается номервь 1 дслсн ной страниць 1. ТЯИ кЯк НЯчальный ЯЛрос срацицы цзцсстсп, 10 нсобходимО вычислить только сс помер. В регистре границы 13записан физический адрес главной памяти, скоторого начинается зола паспортов. Если вычесть из начального адреса страницы алресначала зоны паспортов и разлелить результатца объем страницы, то получим номер стра Н2;, кицы. Так как объем страницы равен 2 оаитов, то деление можно заменить обыкновенным сдвигом на б разрядов вправо.Таким образом, блок управления 7 устанавливает на регистре номера управляющих резО гистров 2 номер регистра гранины 13 и выдаетсигнал считывания пз поля управляюпих регистров на его выходной регистр 8. Затемблок управления 7 выдает сигнал разрешающий перелачу пз выходного регистра 8 блоказ 5 управляющих регистров 3 на второй информационный вхол арифметическо-логического блока 4. Блок упоавления 7 устанавлгвает нарегистре номера управляющих рсс петров, цо.мер регистра начального алоеса страницы 1240 и выдает сигнал считывания из блока управляошцх регистров ца выходной регистр блокауправляющих регистров 3. Затем блок управлс:-Ня 7 выдает сигнал, разрешающий передачу из выходного регистра блока управляющихн45 ,)сгпстров на аопфметпческо-логическии олок4. После окончания этой операции олок упоавления 7 формирует сигнал вычитания. Послеоксцчяция операции вычитания олок упоавлсния 7 вьлает сигнал сдвига на шесть ряззГ) оя (ов впоаво. По окончании этой операцииблок управления 7 вырабатывает сигнал разрешения передачи пз арпфмстпческо-логического бло(я 4 в блок сопряжения 1. Такимобо азом, ссылка сформирована, цсобхолпмодд сформировать алрес, по которому она оулетзаписана,Лдосс, ПО котот)омт эт( ссь(,кс(,Г(ОГ)кц 1 Г)ы(ьзаписана, формпрется слеллощцм с)боязом.Блок управления 7 устанавливает на регистрег)о номера управляющих регистров 2 номер регистра базового алреса страницы 10 и выдаетв блок упоавляюших регистров 3 сигнал считывания на его выходной регисто 8. Послетого, как считывание закончено блок управ 5907452324с выхолного регистра 8 блока управляющих регистров 3 на арифметическо-логический блок 4. Одновременно блок управления 7 передает в блок постоянной памяти 5 адрес ячейки, в которой записан относительный адрес (внутри страницы), по которому должна быть записана ссылка. После того, как адрес установлен, блок управлеттия 7 вылает сигнал считывания из блока постоянной памяти 5. После окончания считывания блок управления 7 выласт сигнал разрешения передачи из блока постоянной памяти 5 на третий информационный вход арифметнческо-логического блока 4.Г 1 ссле этого блок управления 7 выдает сигнал сложения. Результат сложения есть физиче"кий алрес главной памяти, по которому должна быть записана ссылка.По окончании сложеттия блок управления 7вырабатывает сигнал разрешения передачи из адифметическо-логического блока 4 в блок сопчяжения 1 и сигнал .записи в главную память по сформированному адресу.После записи этой ссылки начинается собственно выделение своболных страниц под рабочие ячейки и запись ссылок в таблицу номеров стпаттиц, занятых рабочими ячейками, на выделенные страницы.Выделение своболных страниц и вычисление ттомеца стттаницьт (формирование ссылки) происходит аналогично вылелению страницы пол таблицу страниц, за;-ятых оабочими ячейками.Рассмотрим, как проттсхолит фопмированпе алресов чля записи осы.чок в таблицу страниц, занятых рабочимтт я тейтами,Блок уппавления 7станавливает на регистпе номера управляюших пегистров 2 номер регистпа начального алреса страницы и выдает сигнал считывания в б".ок управлявших регистров 3. Считанный начальный адрес страницы, на которой нахолтттся таблица стттаниц отвеленных пол работт с яч йки .станавливается на выходном ттегтлсттте 8 блока управляющих регистров 3. Блок хпттавления 7 выдает сигнал, разрешаютций передачу из выхолного ттегистра блока управляющих ттегистттов 3 на аттифметическо-логический блок 4. Одновременно блок управления 7 устанавливает в блоке постоянной памяти 5 адрес ячейки, в котовой записана ллина ссылки и вылает сигнал считывания из блока постоянной памяти 5 на тоетий инфоттмационттьтй вхол арифметическологического блока 4 После окончания перецачи блокуправления 7 вылает сигнал сложения, в результате чего на выхоле аттифметическологического блока 4 гстаттавлттвается адрес, по которому лолжна быть записана сфопмированная ссылка. После окончания сложения блок управления 7 вьтлает сигналы разрешения петтедачи из арифтетическо-логического блока 4 в блок сопряжения 1 и на входной вегиств 17 блока управляюших вел стттов. По окончании передачи блок птавл .ния 7 выдает сигналы записи в главную память и в блок управляющих регистров (в регистре номера управлятоших регистров 2 ранее был 5 1 т 5 2) Г) зт з 4) -т 5 5:) 55 6 т 65 установлен номер регистра начального адресастраницы 12).Теперь необходимо осуществить проверку;выделено уже требуемое количество страницпод рабочие ячейки или нет. Для этого блокуправления 7 устанавливает на регистре номера управляющих регистров 2 номер регистра остатка 11 и выдает сигнал считывания вблоке управляющих регистров. По окончаниисчитывания блок управления 7 вырабатываетсигнал разрешения передачи из выходного региства 8 блока управляющих регистров 3 варифметическо-логический блок 4. По окончании передачи блок управления 7 выдает сигнал вычитания единицы младшего разряда ипо окончании операции анализирует результат.Если результат равен нулю, то требуемое количество страниц выделено, если нет, то блокуправления 7 выдает сигнал разрешения перелачи из арифметическо-логического блока 4на входной регистр 17 блока управляющих регистров 3. По окончании передачи блок управления 7 выдает сигна я записи в блок управляющих регистров. Вылеляется следующаястраница и т. л.После окончания вылеления памяти под рабочие ячейки необхолимо записать номер страницы, на которой находится заголовок создаваемого паспорта по адресу, указанному вкоманде Создать паспорт. Лдрсс, по котором. лолжна быть записана ссылка являетсяоперанлом команды и находится в блоке сопряткения 1. Номер страницы формируетсяаналогично тому, как формируются номерастраниц при выделении памяти под рабочиеячейки, После того, как номер страницы будетсформирован в арифметичсско-логическомблоке 4 блок управления 7 выдает сигнал разрешения передачи из арифметическо-логического блока 4 в блок сопряжения 1 и выдаетсигнал записи в главную память стлстемьт.На этом выполнение командьт Создать паспоот заканчивается.Рассмотрим теперь выполнение командыЖлу блок номер И.После поступления команды в блок сопряжения 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 производится сравнение кодов номеров требуемого блока информации и считанного из таблицы блоков информации, Если совпадение происходит, то операция заканчивается, если нет,О 15 20 25 30 35 40 45 50 55 60 65 то выбирается следующая строка таблицы и снова производится сравнение и т. д.В последней строке таблицы записан специальный код, по которому арнфметическо-логический блок 4 выдает в блок управления 7 сигнал, указывающий на то, что требуемого блока в главной памяти системы нет.Получив этот сигнал блок управления 7 устанавливает на регистре номера управляющих репстров 2 номер регистра номера работанпцсго процессы 15 и выдает сии л считывания из блока уиравляощих регистров на его выходной регистр 8.Г 1 о окончании считывания блок управления 7 выдаст сигнал разрешения передачи с выходного регистра блока управляющих регистров 3 на регистр адреса 18 блока статусов процессов 6, Одновременно с этим блок управления 7 устанавливает на входном регистре 24 блока статусов процессов 6 1 в разряд работоспособности, в поле типа ожидания - код, указываоций на то, что процесс ждет блок информации, в поле информации ожидания - код номера требуемого блока. В регистре маски 23 блока статусов процессов блок управления 7 устанавливал код, который маскирует все остальные поля в слове статуса процесса. По окончании этих операций блок управления 7 выдает сигнал записи в узел характеристик 19 статусов процессов.Тасим образом, процесс пзддв 1 пп (ом;нду Жду блок помер М объявляется вердботоспосооым с ожиданием т 1)сбусмого О,Оке.Одновременно блок упрсвони 7 передаст в олок сопряя(сни 5 1 зд 5 в(у на Вво , пз вне 1- ней памяти олока номер Х.После того, как работавший процесс был объявлен неработоспособным, необходимо запомнить состояние, в котором он был прерван. Для этого необходимо записать в статус процесса адрес команды, на которой он был прерван, а в паспорт - содержимое регистров текущсго состояния процесса (16 - :16,).Теперь необходимо запустить следующий процесс. Для этого блок управления 7 устанавливает 1 в старший разряд поля приоритетов и в разряд работоспособности во входном регистре 24 блока статусов процессов. Все остальные разряды маскируются, для чего блок управления 7 устанавливает соответствующий код в регистре маски 23. После этого блок управления 7 выдает сигнал опроса в узел харастеристис статусов процессов 19. Если в узле характеристик статусов процессов 19 имеется ячейка памяти, содержимое которой соответствует содержимым входного регистра 24 и регистра маски 23, то происходит совпадение, означающее, что есть работоспособный процесс с наивысшим приоритетом, который запускается в работу. Если совпадения не происходит, то блок управления 7 устанавливает 1 в более младший разряд поля приоритетов входного регистра 24 блока статусов процессов и соответственно изменяет (од маски. Затем блок управления 7 выдает сиг50 55 60 65 сг Опрос гзс ха)сатерстпк ст 3 тгсов процессов 19. Эта операция продолжается до тех пор, пока не будет найден процесс с наивысшим приоритетом среди работоспособных процессов, этот процесс и должен быть запущен в раооту.Если совпадение происходит, то в блок управления 7 поступает соответствующий сигнал узла индикации совпадения 20.Может возникнуть ситуация, при которой работоспособными окажутся несколько процессов с одинаковыми приоритетами, В этом случае с узла индикации совпадения 20 на узел обработки приоритетов 21 поступят несколько сигналов совпадения. Узел обработки приоритетов 21 выбирает сигнал совпадения того процесса, который имеет наименьший или какой-либо другой номер. Этот сигнал совпадения поступает с узла обработки приоритетов 21 на узел выдачи номера процесса 22, по этому сигналу узел выдачи номера процесса 22 формирует код номера процесса, в котором произошло совпадение.После того, как код номера процесса сформирован, блок управления 7 вырабатывает сигнал, разрешающий передачу из узла выдачи номера процесса 22 на входной регистр 17 блока управляюгцих регистров 3 и устанавливает на регистре номера управляющих регистров 2 код адреса регистра номера работающего процесса 15. После этого блок управления 7 вырабатывает сигнал записи в блоке управляющих регистров.Затем по сигналам блока управления 7 производится считывание адреса команды, на которой был прерван запускаемый процесс из :еоперативной части его статуса и запомина:ие этого адреса в блоке сопряжения 1. Кроме ;ого, производится заполнение регистров теку,цего состояния (1 б - :1 б) процесса, то есть запись в них информации, которая находилась в них в момент последнего прерывания процесса и хранилась до этого момента в паспорте процесса в главной памяти вычислительной системы.На этом выполнение команды заканчивается. Формула изобретения 1. Процессор мультиобработки данных, содержащий блок сопряжения, адресные вход и выход, первые управляющие вход и выход, первые информационные вход и выход которого подключе(ны соответственно к адресным входу и выходу, управляющим входу и выходу, информационным входу и выходу процессора мультиобработки данных, вторые управляющие вход и выход блока сопряжения подключены к первым управляющим выходу и входу блока управления, вторые информацио:ные вход и выход блока сопряжения соединены с первыми информационными выходом и входом ариф метическо-логического блока, а третьи информационные вход и выход блока сопряжения подключены к первым информа 5 1 О 15 20 25 30 35 1 О цио 3 Иь.ч вьходу и в.(оду блока упранл 5 ю)цпх регистров, второй, третий и четвертый информационные входы которого подключены соответственно к первым информационным выходам блока постоянной памяти и блока управления и ко второму информационному выходу арпфметическо-логического блока, второй информационный выход блока управляющих регистров подключен ко второму информационному входу арифметическо-логического блока, управляющий вход блока управляющих регистров соединен непосредственно, а адресный вход через регистр номера управляющих регистров со вторым управляющим и первым адресным выходами блока управления, третий и четвертый управляющие выходы которого подключены к управляющим входам блока постоянной памяти и арифметическо-логического блока, управляющий выход и третий информационный вход которого подключены к первому информационному входу блока управления и второму информационному выходу блока постоянной памяти, о т л и ч а ю щ и й с я тем, что, с целью повышения быстродействия процессора, он содержит блок статусов процессов, адресный, управляющий и информационный входы которого подключены соответственно к третьему информационному выходу блока управляющих регистров, пятому управляющему и второму информационным выходам блока управления, а информационный и управляющий выходы соединены с пятым информационным входом блока управляющих регистров и вторым информационным входом блока управления.2. Процессор по п. 1, отличающийся тем, что блок статусов процсссов содержит регистр маски, входной регистр, Гегистр адреса, узел характеристик статусов процессов, узел индикации совпадения, узел обработки приоритетов и узел выдачи номера процесса, выход которого соединен с информационным выходом блока статусов процессов, управляющий вход которого соединен с первыми входами узла характеристик статусов процессов и регистров адреса, подключенного вторым входом к адресному входу блока статусов процессов и соединенного выходом со вторым входом узла характеристик статусов процессов, третий и четвертый входы которого через регистр маски и входной регистр, соответственно, соединены с информационным входом блока статусов процессов, управляющий выход которого соединен с первым выходом узла индикации совпадения, подключенного входом к выходу узла характеристик (статусов процессов и соединенного вторым выходом через узел ооработки приоритетов со входом узла выдачи номера процесса. Источники информации,принятые во внимание при экспертизе1. Лкцептовапная заявка Японии48 -б 374, кл. 97 (7) Н 3, 9717) Н 21, опублик.06.11.73,6 - 135.590745 303. Патент Ф 1 занпцн2208351, кгк 6 061 9,00, опублпк. 26.07.74,30. С;оставитель Т. АрешевТехред Н, Рыбкина Редактор Р. Киселева Подписное Заказ 823 у Изд,269 Тираж 818 НПО Государственного комитета Совета Министров СССР по делам изобретений н открытий 113035, Москва, Ж, Раушская наб., д. 4/5второму информационному выходу арифметическо-логического блока, второй информационный выход блока управляющих регистров подключен ко второму информационному входу арифметическо-логического блока, управлявший вход блока управляющих регистров соединен непосредственно, а адресный вход через регистр номера управляющих регистров со вторым управляющим и первым адресным выходами блока управления, третий и четвертый управляющие выходы которого подключены к управляющим входам блока постоянной памяти и арифметическо-логического блока, управляющий выход и третий информационный вход которого подключены к первому информационному входу блока управления и второму информационному выходу блока постоянной памяти 3.Однако при работе известного процессора мультиобработки данных в информационнопоисковых системах, предназначенных для решения широкого класса задач управления, где необходима работа с большими массивами информации, обработка такого рода информации осуществляется программными средствами, что обуславливает неэкономное расходование главной памяти вычислительной системы и низкую скорость выполнения алгоритмов обработки больших массивов данных.Цель изобретения состоит в повышении быстродействия процессора мультиобработки данных при решении информационно-поисковых задач, игровых задач, требующих обработки больших массивов информации.Поставленная цель достигается тем, что процессор мультиобработки данных содержит блок статусов процессов, адресный, управляющий и информационный входы которого подключены соответственно к третьему информационному выходу блока управляющих регистров, пятому управляющему и второму информационным выходам блока управления, а информационный и управляющий выходы соединены с пятым информационным входом блока управляющих регистров и вторым информационным входом блока управления, а также тем, что блок статусов процессов содержит регистр маски, входной регистр, регистр адреса, узел характеристик статусов процессов, узел индикации совпадения, узел обработки приоритетов и узел выдачи номера процесса, выход которого соединен с информационным выходом блока статусов процессов, управляющий вход которого с первыми входами узла характеристик статусов процессов и регистров адреса, подк;поченного вторым входом к адресному входу блока статусов процессов и соединенного выходом со вторым входом узла характеристик статусов процессов, третий н четвертый входы которого через регистр маски входной регистр, соответственно, соединены с информационным входом блока статусов процессов, управляющий выход которого соединен с первым выходом узла индикации совпадения,подключенного входом и выходуузла 1 О 15 2) эб 30 35 40 5) 60 Г)5 арактернстик статусов процессов и соединенного вторым выходом через узел обработки приоритетов со входом узла выдачи номера процесса,Процессор мультиобработки данных содержит аппаратную реализацию функций операционной системы по организации мультипрограммной (мультипроцессной) работы и обмена информацией между главной памятью и внешними носителями, Система команд процессора мультиобработки данных ориентирована на организацию параллельных вычислительных и обменных процедур в вычислительной системе, в состав которой он входит, Процессор мультиобработки данных подключается к универсальной вычислительной системе как некоторое внешнее устройство (как, например, терминал, диск и т. д.) через стандартное сопряжение, Собственной оперативной памяти процессор мультиобработки не имеет, а использует главную память системы.Для обеспечения эффективной организации мультипроцессной работы и обмена с внешними носителями информации процессор мультиобработки данных содержит справочную статусов процессов.Основные функции процессора мультиобработки данных следующие:а) ведение одновременно болыпого числа параллельных процессов;б) обеспечение работы с виртуальной памятью большого объема.При наличии в вычислительной системе процессора мультиобработки данных одновременно в состоянии работы (т. е. в процессе выполнения) могут находиться большое число процсссов (сотни и тысячи). Образование новых процессов, уничтожение процессов, взаимодействие и синхронизация процессов осуществляется специальными командами, Операционные таблицы описывающие обрабатываемые процессы, находятся в процессоре мультиобработки данных в справочных, хранящих основную информацию о выполняемых процессах. Благодаря этою переключение одного процесса на другой осуществляется за 10 - :40 тактов главной памяти вычислительной системы. В известных операционных системах, на процедуру переключения процессов (программы) уходят сотни команд или порядка 200 - : - ;1000 циклов главной памяти вычислительной системы, т. с. процсссор мультиобработки данных позволяет сократить время переключения процессов на 1 - :2 порядка,Таким образом, появляется возможность без значительных затрат процессорного времени образовывать в вычислительной системе большое число параллельных процессов (Параллельных в том смысле, что одновременно в вычислительной системе существует большое число процессов готовых к выполнению). Естественно, что они образуют некоторую последовательную очередь к арифметическо-логическому устройству процессора мультиобработки данных нли к процсссорам классического типа,хо;т 5 ннх в состав Вычислительной систеъ.1 с,и т системс будет носко;ько .роцсссоров мультиобработки данных или процессоров классического типа, то и число одновременно работающих процессов (работающих уже фактически параллельно) будет равно числу этих процессоров, Таким образом, аппаратная реализация и процессоре мультиобработки данных некоторых функций операционной системы по образованию, уничтожению и переключению процессов, позволяет в вычислительной системс, имеющей в своем составе процессор мультиобработки данных, эффективно вести одновременно обработку большого числа процессов,Если учесть, что при обычном (нс аппаратном) построении операционной системы при мультипрограммной работе значительная часть процессорного времени тратится именно н а деятельность по переходу от одних процессов к другм, то такое сокращение времени переключения процессов должно привести к существенному росту реальной производительности вычислительной системы в целом.Способность процессора мультиобработки данных оосспсчивать одновременное выполнение в вычислительной системе большого числа процессов (до нескольких сот или тысяч) открывает новыс возможности в решении таких основных вопросов мультиобработки, как обеспечение эффективного обмена между главной памятью вычислительной системы и внешними,носителями и активного взаимодействия с развитой системой терминалов (в режиме разделения времени).Организация эффективного обмена с внешними носителями основана на том, что в каждый текущий момент работы вычислительной системы процессор мультиобработки данных располагает информацией о всех запросах процессов (существующих в системе) на обмен. (Эта информация содержится в паспортах и сатусх каждоо из процессов). Тем амм, появляется возможность выбора оптимальной последовательности заявок к внешним носителям, т. с. например, за один проход магнитной ленты можно удовлетворить все заявки к данной ленте, выбранные к текущему моменту. Получаемый при этом эффект определяется числом одновременно выполняемых процессов. (Чем больше запущено процессов, тем меньше возвратов ленты). При работе с магнитными лентами можно ожидать, что среднее время удовлетворения заявок может быть уменьшено на 1,5 - :2 порядка по сравнению с организацией обменов принятых в обычных операционных системах (системы типа ИБМ, ИСЛ и т. д.) Если учесть, что во многих задачах, например, информационно-поисковых, обмен с внешними носителями является основной функцией, то резкое сокращение времени на обмен приводит к столь же резкому повышению реальной производительности вычислительной системы в целом на данном классе .задач.55 Г, 65 Это возможно потому, что в данном случае запуск новых процессов требует время, соответствующее 10 - :40 циклов обращений к главной памяти вычислительной системы. В обычных вычислительных системах для этого требуется время, соответствующее нескольким сотням циклов памяти.На чертеже приведена блок-схема процессора мультиобработки данных.Процессор содержит блок сопряжения 1, регистр номера управляющих регистров 2, блок управляющих регистров 3, арифмсти еско-логический блок 4, блок постоянной памяти 5,Лкпинос взаимодействие с разиной системой термал.ных устройств (в режиме разделения времени) обеспечигастся организацнй в выичпслительной системе (за счет наГора специальных команд) развитого аппар гасобытий. Предусматривается широкий наборэлементарных событий (например, считывание заданного блока информации с внешнегоносителя и главную память ы ислительнои10 системы, окончание работь; одного или группыпроцессов, запросы от терминальных устройств,сообщение одного процесса другим процессам,изменение содержимого заданных ячеек главной памяти и т. д.). Этп элементарные собы 15 тия могут образовывать комбинации событий сложныс события,Взаимодействие и синхронизация процессовобеспечивается этим аппаратом событий.Наличие развитого аппарата событий (реа 20 лизуемого аппаратурой процессора мультиобработки данных обеспсчпваст:а) упрощение программирования и процедур отладки программ (сокращается длинапрограмм и упрощается описание различныхусловий и событий),б) аппаратурную реализацию некоторыхфункций операционной системы (создание иуничтожение процессов, пуск процессов поприоритетам, приостанов процессов по ожида.з нию каких-либо событий и т. д.),в) эффективное решение задач в режимеразделения времени.Главная трудность в организации режимаразделения времени состоит в выборе интерЗ 5 валов времени, которые отводятся каждой задаче. Этот интсрвал времени определяется:а) временем перестройки вычислительнойсистемы на очередную задачу (изменение соответствующих операционны.; таблиц, смена40 содержимого управляющих регистров и т. д.),б) временем загрузки в главную памятьинформации с внешних носителей, необходимой для решения очередной задачи,в) временем, выделяемым на собственно45 вычисления.Наличие в вычислительной системе процессора мультиобработки данных позволяет фактически вести псевдопараллельное выполнение задач за счет существенного сокращения50 интервала смены задач, т. е. вести каждыйпроцесс небольшими порциями.блок статусов процессов 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 15 20 25 30 35 40 45 5) д 5 60 65 сов процессов 6, а третий информационный выход соединен с адресным входом блока статусов процессов 6.Процессор мультиобработки данных работает следующим образом. В режиме выполнения некоторого процесса работа процессора мультиобработки данных аналогична работе известных процессоров, входящих в состав вычислительной системы, Особенности работы процессора мультиобработки данных проявляются при переключении одного процесса на другой, при образовании новых и уничтожении старых процессов, при организации обмена информацией между внешними носителями и главной памятью вычислительной системы.Процесс - это программа или ее часть, функционирующая самостоятельно, Процесс, создающий в ходе вычисления другие процессы, будем называть порождающим процессом, а созданные им процессы - порожденными процессами.Паспорт процесса - эта информация, необходимая для автономного функционирования процесса.Структура паспорта представлена в виде таблицы. Процессу при его создании могут не придаваться функции создания новых паспортов и не выделяться самостоятельные рабочие ячейки, а указываться границы и количество рабочих ячеек порождающего процесса, которыми может пользоваться создаваемый процесс. В этом случае паспорт не будет содержать таблицу созданных данным процессом паспортов и таблицу номеров страниц, занятых рабочими ячейками, а в заготовке паспорта будет находиться ссылка на таблицу номеров страниц, занятых рабочими ячейками порождающего процесса. Но может быть и тяк, что паспорт будет содержать как вышеперечисленные таблицы, так и ссылки на таблицу рабочих ячеек порождающего процесса,Заголовок паспорта процесса содержит след ющее:- физический адрес главной памяти вычислительной системы, где хранится начало программы данного процесса и код ее длины;- математический адрес страницы (номер) области паспортов, в которой хранится таблица номеров страниц (в области паспортов) рабочих ячеек, принадлежащих данному процессу;- математический адрес страницы, где содержится таблица созданных паспортов;- области адресов в главной памяти, общие для создаваемого и некоторых чругих процессов и задаваемые процессу при его создании (таких областей может быть четыре). Каждая область может иметь два вида адресации, Вид адресации указывается признаком. В первом случае (признак - 1) - физическими адресами начала и конца области, во втором (признак - О) - математическим адресом страницы, в которой хранится таблица номеров страиц рабочих ячеек порождающего процесса и номерами рабочих ячеек от и до);590745 10 Формат заголовка паспорта Длина программы Ллрес прогреточы Ргчс - го Номер страницы, в которой хранится таблица номеров страниц рабочих ячеек Физический алрес гаавнай памяти,указывающий начало ооласти обЦе й 1 ах 5 ти признак 1 или 0Конечный номеррабочих я:еекпорожлающегопроцесса Начачьныи поа.р рабочих ячеек иорожлающегося процессаНомер странниц, гле хранится таблица рабочих ячеек порождающего процесса С о ОЖ Д г у( С г и О ) Номер статуса порождающего про- цесса 4м Солсржимое 1-го регистра текущего состояния программы Со;ержимое п-го регистра текущего состояния программы прсрываннях н приостановках данного процссса.Каждый процесс имеет свой статус. В статус входит информация о со:тоянии процесса 5 в текущий момент. Формат статуса Информация об ожщгиии Тип ожиданияКоличество работоспособныхпорожденных процессов ПС Текуцая точка программы ввести в главную память с внешних носителе" информации.М статуса порождающего процесса - номер строки блока статусов процессов 6,в которо хранится статус порождающего процесса.Адрес паспорта - номер страницы в области паспорта, где хранится паспорт данного процссса,Бывает нсобходимость работы нескольких процессов по одной программе. Такие процессы ссьлаются на один паспорт, но имеют разные статусы. Подобные процессы отличаются друг от друга содержимым буф"рного регистра (некоторым полем в неоператнвной части статуса) и текущей точкой программы.Первые 6 байтов статуса (приоритет, все признаки, тип и информация об ожидании, М статуса порождающего процесса служит для синхронизации и взаимодействия процессов друг с другом. Эта часть статуса называется оперативной. Остальная часть статуса служит для прпостанозкп и запуска процесса в работу. Эта часть называется неоперативной.Оперативная часть статуса хранится в блоке "татусов процессов 6 мультиобработки дан. Приоритет процесса - приоритет данного процесса в системе.РСП - признак работоспособности процесса. Наличие 1 в этом разряде указывает нато, что данный процесс ждет какого-то события, указанного в типе ожидания н информации об ожидании.ПР -- признак, указывающий на то, что данный процесс был прерван процессом с болеевысоким приоритетом, 15ОС - признак, указывающий на то, чтоокончил работу один из порожденных процессов. МЗ - служебная метка. Определяет занятост;, строя справочной стату"ов процессов 6.Тип ожидания - указывает код события, до 20выполнения которого, данный процесс считается не работоспособным.К этим событиям относятся: ввод в главнуюпамять вычислительной системы с внешнихносителей информации необходимого блока 25информации, обработка супервизором заявки,изданной данным процессом и т. д,Информация об ожидании - это дополнительная информация оо ожидаемом событии,например, номер блока, который необходимо зэ- номер статуса порождающего процессаи блоке статусов процессов 6;- место для хранения содержимых регистром теку пего состояния процесса 16 - :16 при Приоритет процесса РСП ПР )С МЗ М статуса иорожлающего Лдрес паспорта процесса Солержимое буферного регистра Физический алрес главной памяти,указывающий конец области общейпамяти Номер страницы, гле солержится таблица созланных паспортов590745 Адрес, куда зашсать номер созданного испортаАдрес данных Код операции ных. Нсопсративная часть - в области паспортов главной памяти вычислительной системы,Количество работоспособных порожденных процессов - код, указывающий количество не окончивших свою работу процессов, созданных данным. ПС - младший бит этого кода используется в качестве признака того, что данный процесс создавал процессы.Содержимое буферного регистра, в котором хранится некоторая константа или ее адрес, задается при создании процесса,Текущая точка программы - физический адрес главной памяти вычислительной системы, по которому хранится текущая точка программы при прерываниях или приостановке процесса. При формировании статуса в это место записывается адрес начала программы.Коосра 1 ии 11 азначение команды: создание паспорта позаданной информации,Алгоритм выполнения. На свободной странице области паспортов создается паспорт.Если в массиве данных, адресуемых этойкоманде есть ссылка на рабочие ячейки, товыделяется необходимое число страниц подрабочие ячейки (в области паспортов). а также под таблицу номеров страниц, выделенныхпод рабочие ячейки. Заплняется таблица ипаспорт,В таблице созданных паспортов выполняемого процесса указывается адрес (номер страницы) создаваемого паспорта.Номер создаваемого паспорта (т, е, номепсоздаваемого процесса) записывается по адресу, указанному в команде.При создании паспорта необходима информация, которая задается массивом. Начальныйадрес этого массива указан в команде какадрес данных. Этот массив содержит:- адрес программы создаваемого процессаи ее длины;- количество страниц раоочих ячеек, необходимых данному процессу;признак адресации, указывающий какимобразом задается поле памяти общей для нескольких процессов, в одном случае - физичеНазначение: создапис сттус 1 процесса по за даной информации.11 ачало информа 1 гии необходимой для формирования статуса задается адресом данных. В качестве данных в этой команде задается - приоритет;- физический адрес главной памяти вычислительной системы, с которого начинается программа данногг) процесса (точка входа в программу); Система команд процессора мультиобработки данных разбита на две группы. В первую группу входят специальныс команды процессора, во вторую - арифметические и логические.5 Специальные команды подразделяются натри типа:- команды управления процессами;команды распределения памяти;- команды взаимодсйствия и синхроииза ции процессов.К командам уп)авле 11 и 11 процессами огос)1)ся три команды; Создать паспорт, Создать процесс по паспорту, Окончить пр цесе. г 1)орма)т команды Создать паспорт скис адреса главной памяти вычислительной.системы, указываю 1 цие начало поля памяти, общей для нескольких процессов, и ее конец 20 (может быть длина), в другом - номер страницы, где хранится таблица раоочих ячеек порождающего процесса, а также началь)1 ый и конечный номер рабочих ячеек, доступны.данному процессу (таких признаков и адре сов мо)кет быть четыре);- иногда при создании паспорта могут бытьуказаны адреса, где хранятся исходные данные процесса, которые необходимо поместить в регистры текущего состояния процесса 30 16 - :16, при запуске процесса в работу, В этомслучае содержимое эт 11 х ячеек необходимо и;- реписать в заголовок паспорта на место, которос отводится для запоминания регистра текущего состояния процесса 16, - :16, 35 Время выполнения данной команды зависитот количества страниц, отводимы.; под рабочие ячейки, от количества полей памяти, обп 1 их для нескольких процессов, от необходимости переписи содержимого регистров теку щего состояния процесса 16 - :1 би можетколебаться в пределах от 30 до 50 циклов главной памяти.Формат команды Создать процесс попаспорту-- содержимое буферного регистра.Определяется адрес свободной сгроки в блоке статусов пргшеосов 6 и по этому адресу н оперативную часть статуса производится запись приоритета и номера статуса, порождающего процесса издавшего команду создания процесса, Номер процесса, работающего в текущий момент, хранится на регистре номера работающего процесса 15 процесса мультиобработки данных. По адресу ячейки, содержащей номер паспорта, находится номер страни- Формат команды Освобожление памятицы, гле лежит паспорт (математический адрес Кол операциипаспорта). адрес таблицы распределения выделеннойФормируются адреса неоперативной частипамятистатуса и произволится запись адреса паспоп Страницы памяти, в соответстзии с таблита, точки входа в программу и солсржимое цей распределения, переводятся в списоксвобуферного регистра по этим адресам, болных страниц. Время выполнения зависитВремя выполнения данной команды - 12 от количества страниц освобождаемой памяти.Персвол одной страницы в список своболныхФормат команды Окончить процесс 10 составляет 5 циклов главной памяти. ОсвоКод Операции Оожленне клжлой слелу 1 ощей странИ трсСлужит для освобождения памяти, зани- бует лополннтельно 2 цикла глльчой памяти.маемой паспортом, рабочими ячейками, и Команды распределения памяти служит лляуничтоисения статуса процесса. динамического распределения памяти прп раВ статусе порождающего процесса из байта, 15 боте какого-либо процесса, когла при ппограмопределяющего количество порожденных ппо- мировании залачи нельзя запанее прелсказатьцессов вычитается единица, в разряд ОС количество необхолпмой ппоцессу памяти.(Осонил порожленный процесс) записывается Напримср, ПСВОзможно заранее прелсказлтьколичество обьсктов с характерньМи признаелиница.Если процесс работал по паспорту и на этот 20 ками, которые необхолимо отыскать В заланпаспорт не ссылаются (т. е. не работают по ном массиве информации.нему) другие процессы, то процедуры оконча- К командам взаимодействия и синхпониза,ния деятельности этого процесса будет иметь ции процессов относятся коматлы жду блоследующие этапы; ка номер Х, Клу окончания работы любого- уничтожение статуса процесса, 25 попос:снного процесса, КЛу окончания ра - уничтожение паспорта процесса и пе е- боты всех порожленных процессов.Пповепь,Вол Всех страниц, занятых паспоптом и пабо- жли паВенстВа (Проверь, жлн неравенстчими ячи 1 сами ланного процесса, В спис 01 с сВО- Ва), Ожп:анис записи ПО чказднному алпеболных страниц. с , Кт, сообц 1 ений, Псрслаю сообщенВ случае, если процесс гопо сдал процессы, 30 нис, М(л полтвгржлснпя приема сооощсто окончание его леятельности связано с окон- н. Ж:у отработки заявки, Пересылкалнием деятельности попожленных им ппо-;лцных и Сборка.нессов, т. е. уничтожение паспортов и статусов В этих команлах опрслсляются те события,ло выполнения котс 1 пых процессы, солержапцеВ случае, если ппоцесс не имел собственно- З 5 Ланныс комапы, счптаотея непа отоспосо -го паспопта, а работал на ррп авах процсса, нымн с ожпланпем события соответствуОшегоссылаюцегося на олин общий паспопт, то типа.окончание деятельности этого процесса тпе- К этгм сос 1 ытпям относятся:бует только уничтожения его статуса. Этм - низов и гл;зо,гллвнуо иачять иссихо.могссложную процсЛуру выявления вида процесса, 40 олока:анных из внешней памяти;а тасисе окончание леятельятельностн процесса вы- - осончсПнс иботы олного ппоцессл (люПопЯет СЦЕЦИаЛЬциальная ппогрлмма (процесс). бого из попожленных процессов);/11 - анлу, передает заявку - окончание раооть всех процессов (впоцесс, издавшии комэтой специальной ппограмме, а сам переводит- попо 1 ленных процессов);ся в состояние с ожиланием отработки этой 45 - запись по указанному алресу;- переллча какого-либо сообщения;за явки.К ных процесс командам распр,елеления памяти относят- - сооощение, переланное Лан.ся комлнлы; Вылеление памяти и Освобож- сом, принято;заявка супепвизопу принята им.ленге памяти.ФОПМЛТ СОМВНЧЬ ВЫЛЕЛСНИЕ ПЛМЯТИ 50 ПрОВЕПяЕТСЯ, Нс ППС 1 ИЗОПло Ли ЖЕ ОЖИЛЛЕКол опепации Количество страниц памяти мое сооытпе и, сслп ппопзошло, то выполСвисалрсс таблицы расгргрсдсзення вылслснной команль иа этом заканчивлстся и ппоцесс пспс хо тпт к выполнению слеЛуошей комлнлыпамятиИз свобо- он памяти вылелястся ллзанное своей программы.в комлнле количество стпаниц, Таб "пца выле Есч. ожИас мое сооытнс не пПонзошло, толен .х страниц записывается по адресу, ука- ппоцесс объявляется непаоотоспосооным допоявления ожилаемого:обытия. Призцлк него событияВремя выполнения команды зависит от ко- плботоспособности. тпч ожичлгмого со ытиялпчества выделяемых страниц памяти. В ми- и "ополнитс,льнля пнфопмацпя об ож папиннимальном варианте (тре уетсяе ( буетс выделить од- бо события записываются в соответствующие разгстраницу) время выполнения равно 6-ти рялы статуса пропсссл.ы " -н хершциклам главнои памяти выычислительной систе- Фсгпмлт команль Жл биоса .о.мы, При увеличении количества выделяемых КОЛ Оп рац Н и ., 1о, опспации Номер олоклстраниц требуется дополнительно по 2 цикла По этой ко. лр , р , рман, е п оне яется, переписан лпн а кажлую выделяемую стр ан ицу. 65 .собходимый блок информации из внешнейпамяти (диск, лента) в главную память вычислительной системы, Если такой блок находится в главной памяти, то выполнение команды на этом заканчивается и процесс переходитк выполнению следующей команды. Если нужного блока нет, то процесс объявляется неработоспособным с ожиданием блока номер ХВремя выполнения команды: минимальное -3 цикла обращения и главной памяти максимальное - 5 циклов обращения к главной памяти,Команда необходима лобому процессу, осуцествляюшему поиск информации на внешнемносителе. Команда, в некотором смысле, эквивалентна заявке на обмен в обычных операционных системах.Формат команды Жду окончанияработы любого порожденного процессаКод операцииВ статусе порождающего процесса проверяется специальный разряд (окончил порожденный процесс). Если данный разряд единица,что указывает на то, что кто-то из порожденных процессов окончил работу, то порождающий процесс переходит к выполнению следуюшей команды своей программы. Если разрядравен нулю, то порождающий пронсс ооъявляется нсраоотоспособным, с ожи;анием окончания работы любого из поро:кдснных процессов. ЗОВремя выполнения команды: минимальнос -1,5 цикла главной памяти, максимальное - -2цикла главной памяти.Команда необходима для обраоотки порождающим процессом, например, результатов З 5деятельности порождснэяых процессов в порядке их поступления.Например, для поиска произвольного объекта с характерными признаками порокга 1 ош 1 йпроцесс создает процессы, каждый из котооых 4ищет необходимьй ооъект в различных блоках информации. Результат поиска записывается порожденным процессом в соответствующую область главной памяти и об этом сообщается порождающему процессу, Порождающий процесс приступает к работе (например,анализу результатов поиска повожденногопроцесса) только лишь, послс окончания работы хотя бы одного порожденного процесса.50Формат команды Кду окончания работы всех порожденных процессов Код операции В статусе порождающего процесса проверяется количество порождсиых процсссов, не окончивших свою работу. Если это коли ссгпо равно нулю (это указываст на то, что все порождснныепроцессы окончили работу),то порождающий процесс переходит к выполнению 00 следующей команды.Если хотя бы один порожденный процесс не окончил работу, порождающий процесс становится неработоспособным с окиданием окончания работы всех порол(денных процессов, 65 Время выполнения команды: минимальное -1,5 цикла главной памяти, максимальное - 2цикла главной памяти,Команда необходима, например, для поискавсех объектов с характерными признаками, атакже для ожидания конца всей инициированной данным процессом, деятельности.Формат команды Проверь, ждиравенства (Проверь, жди неравенства)нли 0 кидание записи по указанномуадресуКод операции Адрес байта эталонаАдрес ячейкиПо этой команде выбирается из главной памяти содержимое проверяемой и эталоннойячеек, сравнивается на равенство (неравенство) между собой.При равенстве (неравенстве) содержимогоячеек процесс переходит к выполнению следуоцей команды своей программы. При неравенстве (равенстве) - процесс становитсянеработоспособным с ожиданием записи впроверяемую ячейку,Время выполнения; минимальное - 7 циклов главной памяти, максимальное - 8 цикловглавной памяти.Команда служит для синхронизации и общенп 5 процессов дру с друГОм, 5 вл 51 стс 5единственным средством дождаться окончан 55работы определенного процесса. Кроме этогоиспользуется как средство при отладке программ в системе, содержащей параллельныси:оцсссы.Формат команды Жду сообщенийКод операции Адрес, куда записатьсообщениеПо этой команде проверяется если ли процесс (с тсм же номером порождающего процесса), ожидающий передачи выработанногоим сообщения.Если такой процесс ссть, то сообщение, атакже номер процесса, издавшего сообщение,передается по адресу, указанному в команде.Если такого процесса (процессов) нет, то процесс объявляется неработоспособным с ожиданием сообщения.Время выполнения: минимальное - 4 циклаглавной памяти, максимальное - 5 цикловглавной памяти,Каждый процесс, наряду с обычными процессами, может создать один привилегированный процесс. В частности на этот процесс могут возлагаться функции приема и обработкисообщений, поступающих от обычных процессозданных этим кс порокдаОшим процессом. Этот процесс называется приемциксообщсппй, 5 Кду сообщений - является командой приемщика сообщений,Формат команды Передаю сообщениеили Жду подтверждения приемасообщенияКод операции Сообщение, либоадрес сообщенияПроверяется, есть ли приемшик. сообще-.ний, Если такой процесс есть и он ждет сооб590745 17 18 Код операции Адрес начала поля памяти, куда записать информацию Адрес начала таблицы сборки Номер блока, нсмерзаписи откуда взятьинформацию Номер байтавнутри записи Кол-во байтов Номер байтавнутри записи Кол-во байтов Признак конца таблицы и.= 6+ м+ 35 щений, то ему передается сообщение (либо его адрес), а также номер процесса, издавшего сообщение. При этом приемщик ста:;овится работоспособным.Сам процесс, издавший сообщение, переходит к выполнению следующей команды сво"й программы. В случае занятости приемщика (т. е. процесс приостановили по какой-то другой причине) процесс становится неработоспособным с ожиданием подтверждения приема сообщения. Время выполнения: минимальное -- 3 цикла главной памяти, максимальное -- 5 цикгов главной памяти.Команды 5 Кду сообщений и Передаю сообщение служат для общения процессов с приемщиком сообщения не через главную память, а через поле статусов процессов. Если сообщение короткое, т, е. умещается в поле статуса процесса, то оно передается в это пол:, ссли же сообщение длинное, то в поле стаКоманда предназначена для выборочной записи в главную память информации, находящейся на внешнем носителе.Алгоритм выполнения. Проверяется наличие необходимого блока в главной памяти вычислительной системы, Если блока нет, то процесс, издавший команду, становится нерабоВ первом байте этой таблицы, указан номер байта внутри записи, начиная с которого необходимо переписать информацию по адресу, указанному в команде.Количество байтов, которое необходимо переписать, указывается вторым байтом таблицы. Эта операция производится столько раз, сколько строк в таблице,Время выполнения команды зависит от многих факторов, а именно; наличия требуемого блока информации в главной памяти: от количества и содержимого строк таблицы. туса процесса передается лишь адрес этого сообщения.Формат команды Жду отработкизаявки5 Код операций Содержание заявкиЕсли процесс, который должен отработатьзаявку исполняет команду Принял заявку от процесса, то процесс, выдавший команду Жду обработки заявки остается работоспо собным, В противном случае, процесс становится неработоспособным с ожиданием под тверждения приема сообгцения.Время выполнения данной команды завииот типа заявки, от величин очереди на отра ботку заявки и т. д.Команда аналогична команде Передаю сообщение некоторому привилегированному процессу, который берет на себя функции операционной системы, не реализованной аппа ра тно.Формат команды Пересылка данныхили Сборка тоспособным с ожиданием блока Х, Если блок есть, то в поле главной памяти, указанном в 25 команде, производится запись информации из блока упорядоченным образом. Порядок записи определяется таблицей сборки, которая имеет следующий вид:При наличии требуемого блока в главной памяти вычислительной системы время выполнения команды определяются формулой где Л 1 - число строк таблицы,40 У - число байтов, указанной в ий строке.

Смотреть

Заявка

2184810, 28.10.1975

ОРДЕНА ЛЕНИНА ИНСТИТУТ ПРОБЛЕМ УПРАВЛЕНИЯ

АРЕФЬЕВ АНДРЕЙ АРКАДЬЕВИЧ, АРЛАЗАРОВ ВЛАДИМИР ЛЬВОВИЧ, БЕРКОВИЧ СЕМЕН ЯКОВЛЕВИЧ, ВОЛКОВ АЛЬБЕРТ ФЕДОРОВИЧ, ГОДУНОВ АЛЕКСАНДР НИКОЛАЕВИЧ, ДАГУРОВА НАТАЛЬЯ ВИТАЛЬЕВНА, ЕМЕЛЬЯНОВ НИКОЛАЙ ЕВГЕНЬЕВИЧ, ЗЕНКИН ВЛАДИМИР ДМИТРИЕВИЧ, ЗЕНКИНА НАТАЛЬЯ ГЕОРГИЕВНА, ЗОЛОТУХИНА ГАЛИНА МИХАЙЛОВНА, ЛЕМАН АНДРЕЙ АНДРЕЕВИЧ, ЛИХОНИНСКИЙ ВАЛЕРИЙ СЕРГЕЕВИЧ, ЛЫСИКОВ ВИКТОР ТИХОНОВИЧ, МАКАРОВ ВАЛЕРИЙ АЛЕКСЕЕВИЧ, СОРОКИН ГЕНРИ КЛАВДИЕВИЧ, ФАРАДЖЕВ ИГОРЬ АЛЕКСАНДРОВИЧ

МПК / Метки

МПК: G06F 15/76

Метки: данных, мультиобработки, процессор

Опубликовано: 30.01.1978

Код ссылки

<a href="https://patents.su/15-590745-processor-multiobrabotki-dannykh.html" target="_blank" rel="follow" title="База патентов СССР">Процессор мультиобработки данных</a>

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