Устройство для управления запуском программ

Номер патента: 1287157

Авторы: Корбашов, Руд

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

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

Текст

(19) 1 ) 4 0 06 Р 9 / 2 2 , 9 / ПИСАНИЕ ИЗОБРЕТЕН ЕЛЬСТВ К ОРСКОМУ СВ ОЙСТВО ОГРАММ(57) Изо РАВЛЕНИЯ ЗАвычислит использо рограмм ационны кра ро содержит типле лок программногимпульсов,ментов И, п коммутатоединицы,элементов ра, фактич набора, оч Устройство а регистрез мультиез блок элатор пост ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССРПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ(56) Авторское свидетельство СССУ 807292, кл. С 06 Г 9/46, 1979.Авторское свидетельство СССРМ 877546, кл, О 06 Р 9/22, 1980. ретение относится к области льной техники и может быть ано для управления запуском имеющих между собой инфорсвяэи, Цель изобретения - е оборудования. Устройство о уЛравления, генератор регистр заявок, блок элеять элементов ИЛИ, дваблок выделения старшей ему сравнения, три блска ИЛИ, регистры номера, набоского набора, эталонного реди и буферный регистр, анализирует номера заявокзаявок, поступающих челексор, Номера заявок чеементов И и второй коммупают на блок выделения старшей единицы, По старшему номеру через первый коммутатор и мультиплексор из памяти системы извлекается на регистр набора набор программ, информационно связанных с заявкой, Для каждой программы из этого набора из памяти системы на регистры фактического и эталонного наборов соответ ственно извлекаются эталонное и фактическое значения условий включения этой программы. Порядок рассмотрения определяется блоком выделения старшей единицы. При совпадении этих условий на схеме сравнения программа ставится в очередь на регистр очереди, Определение наиболее приоритетной программы из очереди осуществляется путем сравнения для всех программ времени их выполнения на схеме сравнения. Порядок сравнения определяется блоком вйделения старшей единицы. Обработанные заявки исключаются из рассмотрения путем обнуления соответствующих разрядов регистров набора, очереди, заявок через блоки элементов ИЛИ, Первый - пятый элементы ИЛИ фиксируют факты обнуления регистров номера, буферного, набора, очереди, заявок. Устройство функционирует под управлением микропрограммного блока управления. 1 з.п. ф-лы, 9 ил.1287157 Сос оч ль Ю, Сере Пожо Ре оррек.Олеиник е Подписное оизводственно-полиграфическое предприятие, г, Ужгород, ул. Проектная,каз 7718752 Тираж ВНИИПИ Государствен по делам изобрете 113035, Москва, Ж, 94го комитета СССРй и открытийаушская наб, д.Изобретение относится к вычислительной технике и может быть использовано в вычислительных системах,работающих в реальном масштабе времени, для управления запуском программ, 5имеющих между собой информационныесвязи.Цель изобретения - сокращение затрат оборудования.Сущность изобретения заключаетсяв том, что устройство для управлениязапуска программ фиксирует факт наличия входных данных - наличие информационной связи в виде условий запуска программ, заносит их в фактический набор условий запуска каждойпрограммы, анализирует полноту еефактического набора путем сравненияс эталонным набором, выбирает наибо 20лее приоритетную программу из программ с полным набором входных данныхи передает ее номер по межпроцессорному интерфейсу в ЭВМВ основу работы предлагаемого устройства положен принцип составленияплана реализации информационного связанного набора программ с учетом ихприоритета. При этом приоритет каждой программы определяется величинойкритического пути в графе, представляющем структуру набора программ поправилу, чем больше величина критического пути от вершины графа, соответствующей данной программе, до конечной вершины, тем вьппе ее приори 35тет,На фиг, 1 приведена структурнаясхема предлагаемого устройства; нафиг. 2 - функциональная схема мультиплексора; на фиг, 3 - функциональная схема блока микропрограммногоуправления; на фиг, 4 - функциональная схема блока вьщеления старшейединицы на фиг. 5-9 - алгоритм функ"Ф45ционирования предлагаемого устройства для управления запуском программ.Устройство содержит мультиплексор1, блок 2 микропрограммного управления, генератор 3 импульсов, Б-разряд 50ный регистр 4 заявок, второй элементИЛИ 5, блок элементов И 6, второйкоммутатор 7, блок 8 выделения старшей единицы, первый коммутатор 9,Б-разрядный регистр 10 номера, Б-разрядный регистр 11 набора, Б-разряд 55ный регистр 12 фактического набора,И-разрядный регистр 13 эталонногонабора, схему 14 сравнения, Б-разрядный регистр 15 очереди, первыйблок элементов ИЛИ 16, первый элемент ИЛИ 17, третий элемент ИЛИ 18,третий блок элементов ИЛИ 19, второйблок элементов ИЛИ 20, четвертый элемент ИЛИ 21, пятый элемент ИЛИ 22,Б-разрядный буферный регистр 23,вход 24 и выход 25 мультиплексора.Мультиплексор 1 содержит элементИЛИ 26, шифратор 27, регистр 28 адреса, блок элементов ИЛИ 29, два блока элементов И 30 и 31, коммутатор32 выходов, группу входов и выходов33-38,Блок 2 содержит группу элементовИ 39, группу элементов ИЛИ 40, элемент ИЛИ 41, группу элементов НЕ 42,группу узлов 43 дешифрации управляющих воздействий, узел 44 дешифрацииусловий, регистр 45 микрокоманды,триггер 46 запуска, память 47 микрокоманд, группу входов и выходов 4859, Блок 8 вьщеления старшей единицысодержит группу триггеров 60 приемаи хранения числового кода, группуэлементов ИЛИ 61, группу элементовИ 62, группу входов и выходов 63-65,Устройство работает следующим образом,Перед началом решения программ синформационными связями по междупроцессорному и интерфейсу на вход 24мультиплексора 1 поступает запрос навключение устройства (запрос - единицы во всех разрядах слова). В выключенном состоянии управляющие сигналы не поступают на коммутатор 32выходов и через элемент ИЛИ 26 запрос в виде единичного уровня черезвыход 34 поступает в блок 2 и перебрасывается триггер 46 запуска в единичное состояние, который разрешаетпрохождение тактовых импульсов с генератора 3 импульсов,Блок 2 микропрограммного управления работает следующйм образом.Сигнал включения поступает по входу 34 и перебрасывает триггер 46 запуска в единичное состояние, разрешая прохождение тактовых импульсовпо входу 48 в память 47 микрокоманд,По первому импульсу извлекается микрокоманда по нулевому адресу и покаждому следующему импульсу на памяти 47 микрокоманд извлекается микрокоманда на регистр 45 микрокоманд.Микрокоманда содержит пять полей:два поля номеров управляющих воздей 287157ствий, поле условий и два поля адресов перехода, Такая структура микрокоманды позволяет одновременно выдавать два управляющих воздействия иучитывать наличие поступающих условий, Номера управляющих воздействийдешифрируотся на узлах 43 дешифрацииуправляющих воздействий и через группу элементов ИЛИ 40 поступают в устройство. ЮНомер условия дешифрируется наузле 44 дешифрации условий и при наличии или отсутствии соответствующего условия на одном из элементов И1 539 группы на входе элемента появляется или не появляется высокий потенциал, При наличии условия в память 47 микрокоманд передается одинадрес, а при отсутствии - другой ад 20рес микрокоманды. Последней командоймикропрограммы триггер 46 запуска перебрасывает в нулевое состояние, перекрывая прохождения тактовых импульсов в память 47 микрокоманд,Блок 2 по запросу на включениеустройства обнуляет регистры и счетчики устройства (блок 66), устанавливает разрешение на прием запросовв регистр 4 заявок (блок 67) и переводит устройство в режим ожиданияпоявления заявок ра регистре 4 заявок, о чем свидетельствует сигнал свыхода элемента ИЛИ 5 (блоки 68 и 69).Освободившийся от вычислительнойработы процессор по межпроцессорному35интерфейсу посылает запрос о готовности к реализации очередной программы набора, Этот запрос поступает через мультиплексор 1 на регистр 4заявок, Элемент ИЛИ 5 обнаруживаетналичие информации на регистре 4 заявок и сигнал с элемента ИЛИ 5 поступает в блок 2, Блок 2 организуетдальнейшее функционирование устройства. На регистре 4 заявок в позиционном коде фиксируются номера запросов - программ, которые выполнены,Для своей работы устройство использует четыре массива информации, хранящихся в оперативном запоминающемустройстве вычислительной системы,Массив М 1 содержит таблицу информационных связей программ.Массив М 2 содержит фактическое55наличие условий для запуска программ(номера выполненных программ). В исходном состоянии массив М 2 - нулевойМассив М 3 содержит эталонное значение условий, необходимых для запуска программ (для каждой программы - номера программ, выполнение которых необходимо для запуска программы).Массив М 4 содержит временные характеристики программ.По сигналам блока 2 происходит выделение старшего номера запроса номера программы (блок 70). Для чего информация с регистра 4 заявок через блок элементов И 6, коммутатор 7, поступает на блок 8 выделения старшей единицы. Далее старший номер запроса через коммутатор 9 поступает в регистр 10 номера. По старшему номеру запроса из массива М 1 извлекается набор номеров программ, для которых данная программа является условием включения (блок 71). Для чего с регистра О номера старший номер программы поступает через коммутатор 7 на блок 8 вьщеления старшей единицы еБлок 8 вьщеления старшей единицы работает следующим образом, По входам 64 блока 7 коммутации поступает двоичный код на группу триггеров 60 приема и хранения числового кодаПо управляюшему входу 63 от блока 2 поступает управляющий сигнал на вторые входы элементов И 62 группы.При наличии на выходе триггера 60 группы высокого потенциала (единичный уровень) на выходе соответствующего элемента И 62 группы появляется единичный уровень, которым все последующие триггера сбрасываются в нулевое состояние через элементы ИЛИ 61 группы. Таким образом, остается в единичном состоянии крайний триггер, С блока 8 вьщеления старшей единицы номер программ поступает на коммутатор 9 и в мультиплексор 1. Мультиплексор 1 по старшему номеру программы извлекает из массива Мнабор программ и заносит его на регистр 11 набора.Для передачи (извлечения) информации по нужному адресу по управляющим входам 33 в мультиплексор 1 поступает набор управляющих воздействий, характеризующих номер выбранного массива (например, 10 - второй массив). Эти воздействия являются старшими разрядами адреса, поступающими на регистр 28 адреса, Младшие разряды поставляют адрес, поступаюший по входу 35 в мультиплексор 1, предварительно преких условий (блок 79) по номеру )-й программы. Для Чего содержимое регистра 12 фактического набора (фактический набор номеров программ) передается в мультиплексор 1 и по номеру старшей программы, поступающего с регистра 11 набора через коммутатор 7, блок 8 выделения старшей единицы, коммутатор 9, мультиплексор 1 записывает фактический набор в массив М 2, Далее регистры 12 и 13 фактического и эталонного набора обнуляются (блок 80), Старший номер обнуляется (блок 81) путем установки этого номера на входах блока элементов ИЛИ 16, под 11 11 ключенных к входам установки в 0 регистра 1 1 набора, вторые входы блок а элементов ИЛИ 1 6 используются для общей установки в " 0 " регистра 1 1 набора .После этого переходят к анализу наличия номеров на регистре 1 1 н абор а ( блок 8 2 ) , При наличии номеров . ( о чем свидетельствует наличие единично го потенциала с выхода элемента ИЛИ 1 7 ) устройство переходит к выделению старшего номера 1 -й программы и э набора ( блок 7 2 ) с повторени ем описанного алгоритма . При от- сут ствии номеров на регистре 1 1 набора устройство обнуляе т -ю р а с смотренную заявку ( блок 8 3 ) на регистре 4 заявок , заслав этот номер с реги стр а 1 О номера через коммут атор 7 , блок 8 вьщеления старшей единицы , коммутатор 9 , блок элементов ИЛИ 1 9 на входы установки регистр а 4 заявок в нулевое состояние . Регистр 1 О номера затем обнуляется ,Устройство переходит к анализу номеров программ, готовых к запуску на регистре 15 очереди (блок 84).При отсутствии программ, готовых к запуску (о чем свидетельствует нулевой потенциал с выхода элемента ИЛИ 18) устройство переходит к анализу следующего условия включения на регистре 4 заявок (блок 68).При наличии программ, готовых к запуску на регистре 16 очереди, устройство переходит к выбору наиболее приоритетной программы по временному критерию.Выбор наиболее приоритетной программы из очереди готовых на решение программ осуществляется следующим образом. Обнуляются регистры 10, 12 и 13. Вьщеляется старший номер прог 5 1287157 бобразуемой в шифраторе 27 в двоичныйпозиционный код, Сформированный адреснеобходимой ячейки через блок элементов ИЛИ 29 поступает на блок элементов И 30 и при наличии разрешающегопотенциала адреса через выход 25 поступает в память ЭВМ, Содержимое, которое необходимо записать (считать)по этому адресу поступает по входу36 через блок элементов И 31, блок 10элементов ИЛИ 29 и блок элементовИ 30 на выход 25 (регистр адресапредварительно обнуляется).Из данного набора программ на регистре 11 набора программ вьщеляется 15старший номер программы (блок 72).Для чего содержимое регистра 11 набора поступает через коммутатор 7на блок 8 вьщеления старшей единицыи старший номер программы через коммутатор 9 передается в мультиплексор 1,По старшему номеру программы измассива М 2 мультиплексор выбираетфактический набор программ и засылает на регистр 12 фактического набора(блок 73),В фактический набор программ заносится номер заявки программы, поступающий от процессора (блок 74) пу 30тем передачи содержимого с регистра10 номера на регистр 12 фактическогонабора через коммутатор 7, блок 8 выделения старшей единицы, коммутатор 9,Выделяется старший номер программы с регистра 11 набора и передаетсяв мультиплексор 1, По старшему номеру программы из массива М 3 мультиплексор 1 выбирает эталонный наборпрограмм и засылает его на регистр 13 40эталонного набора (блок 75). Содержимое регистров 12 и 13 сравниваетсяна блоке 14 сравнения (блок 76).Если эталонный набор совпал с фактическим, это означает, что для данной программы присутствует полный набор условий включения, этот номерпрограммы вьщеляют (старший номер нарегистре 11 набора) и засылают нарегистр 15 очереди (блок 77). Регистр 5012 фактического набора обнуляют (блок78) и переходят к засылке в массивМ 2 набора фактических условий (блок79) по номеру -й программы (в данном случае набор - нулевой). 55Если же эталонный набор не совпалс фактическим, то сразу переходят кзасылке в массив М 2 набора фактичес 1287157раммы из очереди номеров программ готовых на решение (блок 85). Для чегосодержимое регистра 15 очереди черезкоммутатор 7 подается на блок 8 выделения старшей единицы, и старшийномер программы через коммутатор 9засылается на регистр 1 О номера вмельтиплексор 1, и через блок элементов ИЛИ 20 - на установленные в "0"входы регистра 15 очереди, обнуляя 1 Отем самым старший номер программы(-й),Мультиплексор 1 по старшему номеру программы извлекает из массива М 4критическую величину пути для данной 15программы и заносит его на регистр 12фактического набора (блок 86).Устройство анализирует очередьпрограмм, готовых к решению (блок 87),Если очередь программ не пуста (о 20чем свидетельствует единичный потенциал с выхода элемента ИЛИ 18), тоустройство переходит к анализу содержимого буферного регистра 23 (блок 88),в противном случае - к сравнению времен выполнения -й и 1-й программ,готовых к решению (блок 89).Если содержимое буферного регистра 23 равно нулю (о чем свидетельствует нулевой потенциал с выхода элемента ИЛИ 22), т,е. он не содержитномера )-й программы из очереди программ, готовых к решению, то выделяютстарший номер -й) из очереди программ, готовых к решению (блок 90), 35Для чего содержимое регистра 15 очереди через коммутатор 7 подается наблок 8 выделения старшей единицы,старший номер программы через коммутатор 9 засылается на буферный регистр 23, в мультиплексор 1 и черезблок элементов ИЛИ 20 на установленные в "0" входы регистра 15 очереди,обнуляя тем самым старший номер программы (-й) .45Мультиплексорпо 1-му номерупрограммы извлекает из массива М 4величину критического пути для данной программы (или времени решения)и заносит его на регистр 13 эталонного набора (блок 91),Далее устройство анализирует очередь программ, готовых к решению (блок 87). Если же содержимое буферного регистра 23 не равно нулю, то переходит к анализу содержимого регистра 10 номера (блок 92). Если содержимое регистра О номера равно нулю ( о чем свидетельствует нулевой потенциал на выходе элемента ИЛИ 21, то переходят к выделению старшего номера (д-го) из очереди программ, готовых к решению, и засылке его на регистр О номера (блок 85) в противном случае переходят к сравнению времен выполнения -й и 1-й программ (блок 93).Если время выполнения -й программы больше или равно времени выполнения -й программы (содержимое регистров 12 и 13 фактического и эталонного набора сравниваются на блоке 14 сравнения), то номер )-й программы запоминается (блок 94) на регистре 11 набора (содержимое буферного регистра 23 через коммутатор 7, блок 8 выделения старшей единицы, коммутатор 9 передается на регистр 11 набора), Регистр 3 эталонного набора и буферный регистр 23 обнуляют (блок 95) и устройство переходит к анализу очереди программ, готовых к решению (блок 87),Если же время выполнения -й программы меньше времени выполнения )-й программы, то запоминается номер -й программы (блок 96) на регистре 11 набора, .Регистры 10 и 12 номера и фактического набора обнуляются (блок 97) и устройство переходит к анализу очерези программ, готовых к решению (блок 87).Если очередь программ, готовых к решению пуска (о чем свидетельствует низкий потенциал с выхода элемента ИЛИ 18, это означает, что все программы проанализированы и на одном из регистров находится номер наиболее приоритетной программы), то переходят к сравнению времен выполнения х-й и 1-программ (блок 89).Если время выполнения -й программы больше или равно времени выполнения 1-й программы (содержимое регистров 12 и 13 фактического эталонного набора сравниваются на схеме 14 сравнения, имеющей три выхода по результатам сравнения: Ъольше "Меньше", "Равно" ), то номер ) - й программы запоминается (блок 98) на регистре 11 набора. Номер -й программы с регистра 10 номера через коммутатор 7, блок 8 выделения старшей единицы, коммутатор12871599 передается через мультиплексор 1на вход устройства (блок 99).Устройство далее восстанавливаеточередь программ, готовых к решению(блок 100), 5Если же время выполнения х-й программы меньше времени выполнения 1-йпрограммы, то на регистре 11 наборазапоминается номер -й программы(блок 101), Номер 1-й программы с буферного регистра 23 через коммутатор7, блок 8 выделения старшей единицы,коммутатор 9 передается через мультиплексор 1 на выход устройства(блок 00) путем передачи содержимого регистра 11 набора через коммутатор 7, блок 8 выделения старшей единицы, коммутатор 9 на регистр 15очереди и на входы блока элементовЫИ 16, выходы которых подключены квходам установки в 0 разрядов ре 25гистра 11 набора, тем самым исключаяиз рассмотрения номер программы, восстановленный на регистре 15 очереди,Восстановление происходит до тех пор,пока все номера программ, запомненные на регистре 11 набора не будутзаписаны на регистре 15 очереди (очем свидетельствует нулевой потенциал с выхода элемента ИЛИ 17). Далееобнуляются регистры номера 10, фактического набора 12, эталонного на эбора 13 и буферный 23 (блок 103) иустройство переходит к анализу нали-.чия условий на регистре 4 заявок(блок б 8).формула изобретения1. Устройство для управления запуском программ, содержащее мультиплексор, блок микропрограммного управления, генератор импульсов, И-разрядный (Б - число программ) регистр заявок, блок элементов И, причем выход генератора импульсов подключен к тактовому входу блока микропрограммного управления, вход пуска которого подключен к первому выходу мультиплексора, первая группа информационных выходов которого соединена с группой информационных входов регистра заявок, группа выходов которого подключена к группе входов блока элементов И, вход которого соеди 710нен с первым выходом блока микропрограммного управления, первый информационный вход и второй информационный выход мультиплексора являются соответственно информационным входом и информационным выходом устройства, о т л и ч а ю щ е е с я тем, что, с целью сокращения оборудования, устройство содержит пять элементов ИЛИ, два коммутатора, блок выделения старшей единицы, схему сравнения, три блока элементов ИЛИ, регистр номера, регистр набора, регистр фактического набора, регистр эталонного набора, регистр очереди и буферный регистр, информационный вход которого подключен к первому выходу первого коммутатора, а выход - к входу первого элемента ИЛИ и к первому информационному входу второго коммутатора, с второго по пятый информационные входы которого подключены соответственно к выходам регистра номера, регистра набора, регистра очереди и выходу блока элементов И, выход регистра номера подключен к входу второго элемента ИЛИ, а выход второго коммутатора подключен к информационному входу блока выделения старшей единицы, выход которого подключен к информационному входу первого коммутатора, с второй по девятый выходы которого подключены соответственно к первым входам первого, второго и третьего блока элементов ИЛИ, информационному входу регистра фактического набора, информационному входу регистра очереди, информационному входу регистра номера, второму информационному входу мультиплексора, третий информационный вход которого подключен к выходу регистра фактического набора, а вторая группа ин- формационных выходов мультиплексора/подключена к группе информационных входов регистра набора, к группе инФормационных входов регистра фактического набора и группе информационных входов регистра эталонного набора, группа выходов которого подключена к первой группе входов схемы сравнения, к второй группе входов которой подключена группа выходов регистра фактического набора, входы с элементов ИЛИ с третьего по пятый подключены соответственно к выходам регистра набора, регистра очереди и регистра заявок, а выходы элемен 1287157ции обнуления регистра набора, регистра номера, регистра очереди, реги - стра заявок и буферного регистра бло -ка микропрограммного управления, свторого по десятый выходы которого 5подключены к управляющим входам первого коммутатора, одиннадцатый выходблока микропрограммного управленияподключен к входу запуска блока выделения старшей единицы, с двенадцатого по шестнадцатый выходы блока ЗО микропрограммного управления подключены соответственно к управляющим входам с первого по пятый второго коммутатора, выходы Меньше", Больше , Равно схемы сравнения подключены соответственно к входам условий сравнения регистров фактического и эталонного наборов с первого по третий блока микропрограммного управления, семнадцатый выход которого подключен к вторым входам первого, второго и третьего блоков элементов И 11 И, выходы которых подключены соответст25 венно к входам установки в О регистра набора, регистра очереди и регистра заявок, группа выходов блока микропрограммного управления подключена к группе управляющих входов мультиплексора2, Устройство по п. 1, о т л и ч а ю щ е е с я тем, что мультиплексор содержи г шифратор, коммутатор.выходов, два блока элементов И и элемент ИЛИ, вьход которого являетсяпервым выходом мультиплексора, группа входов которого соединена с информационными входами коммутатора вы -ходов, две группы выходов коммутатора выходов являются соответственнопервой и второй группами информационных выходов мультиплексора, группауправляющих входов которого соединена со стробирующим входом шифратора,первыми входами первого и второгоблоков элементов И, управляющими входами коммутатора выходов, входов записи регистра адреса и старшими информационными входами регистра адреса, младшие информационные входы которого соединены с выходами шифратора, информационный вход которого является вторым информационным входоммультиплексора, третий информационный вход которого соединен с вторымвходом первого блока элементов И,выход которого соединен с первымвходом блока элементов ИЛИ, выхоД которого соединен с вторым входом второго блока элементов И, выход которого является вторым выходом мультиплексора, а выход регистра адресасоединен с вторым входом блока элементов ИЛИ,

Смотреть

Заявка

3952173, 05.09.1985

ПРЕДПРИЯТИЕ ПЯ Г-4677

КОРБАШОВ ЮРИЙ МИХАЙЛОВИЧ, РУДЬ НИКОЛАЙ ВЛАДИМИРОВИЧ

МПК / Метки

МПК: G06F 9/54

Метки: запуском, программ

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

Код ссылки

<a href="https://patents.su/13-1287157-ustrojjstvo-dlya-upravleniya-zapuskom-programm.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для управления запуском программ</a>

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