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

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

Авторы: Богумирский, Сычев, Яцук

ZIP архив

Текст

(21) (22) (46) (72) и С.В (53) (56) У 94 вого блокакоторого сочика командресных выхоадресных вхвторой групэлементов ИПкоторого со В.Я.Яцук детельство С9/46, 1982.09797,ых м 2. кл. 0тип п ГОСУДАРСТВЕННЫЙ КОМИТЕТ ССПО ДЕЛАМ ИЗ РЕ(54)(57) УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯСОПРОГРАММАМИ, содержащее счетчиккоманд, блок стековой памяти и первый блок злементов ИЛИ, выходы которого соединены с инФормационнымивходами блока стековой памяти, инФормационные выходы которого соединены с первой группой входов первого блока элементов ИЛИ, о т л и -ч а ю щ е е с я тем, что, с цельюрасширения области применения эасчет возможности обращения к подпрограммам по динамическому адресу,оно содержит второй блок элементовИЛИ, блок ассоциативной памяти, регистр команд, регистр адреса активной памяти, регистр инФормации,три блока элементов И, группу элементов И, элемент И, триггер, два элемента ИЛИ, дешиФратор, распредели- фтель импульсов, генератор импульсов,причем группа входов начальной записи устройства соединена с группойустановочных входов блока ассоциативной памяти, группа инФормационныхвходов которого соединена с выходамирегистра инФормации, входы которогосоединены с выходами второго блокаэлементов ИЛИ, первая группа входовкоторого соединена с выходами перэлементов И, группа входо единена с выходами счети с первой группой аддов устройства, группа одов которого соединена с пой входов первого блока И, третья группа входов единена с инФормационны- и блока ассоциативной памяти, группа адресных входов которого соединена с выходами регистраадреса активной, сопрограммы и сгруппой входов второго блока элементов И, выходы которого соединеныс второй группой входов второго блока элементов ИЛИ, группа информа"ционных входов устройства соединенас входами регистра команд, перваягруппа выходов которого соединенас группой инФормационных выходовустройства и с группой входов дешифратора, вход запуска устройст -ва соединен с единичным входом триггера, установочный вход устройствасоединен с установочными входамираспределителя импульсов и регистраадреса активной сопрограммы, инФормационные входы которого соединены свыходами третьего блока элементовИ, группа входов которого соединенас второй группой выходов регистракоманд и с второй группой адресныхвыходов устройства, первый выходраспределителя импульсов соединенсо счетным входом сЧетчика команд,выход первого элемента И группы соединен с управляюЩим входом первогоблока элементов И и с входом записиблока стековой памяти, выход нервого элемента .ИПИ соединен с входомзаписи блока ассоциативной памяти, 114 Двыход второго элемента И группы соединен с управляющим входом третье го блока элементов И, выход третьего элемента И группы соединен с входом чтения блока ассоциативной памяти, выход четвертого элемента И группы соединен с управляющим входом второго блока элементов И и с входом чтения блока стековой памяти, установочный вход устройства соединен с первым входом второго элемента ИЛИ, выход которого соединен с нулевым входом триггера, выход триггера соединен с первым входом элемента И, второй вход которого соединен с выходом генератора импульсов, выход элемента И соединен с входом запуска распределителя им-. гопульсов, второй, третий, четвертый,пятый, шестой и седьмой выходы распределителя импульсов соединены спервыми входами первого, второго,третьего, четвертого, пятого и шестого элементов И группы соответственно, первый выход дешиФратора, соединен с вторыми входами первого,второго, третьего и пятого элементов И группы, второй выход дешиФратора соединен с вторыми входамичетвертого и шестого элементов Игруппы, выходы пятого и шестого элементов И группы соединен с первым,вторым входами первого элемента ИЛИ,восьмой выход распрецелителя импульсон соединен с вторым входомвторого элемента ИЛИ, Изобретение относится к вычислительной технике н может быть использовано в устройствах управления ЭВИ.Известно устройство для управления подпрограммами, содержащее регистры команд, счетчик команд, элементы И и блок памяти ЦЕго недостаток - невозможность управления сопрограммами,Наиболее близким к изобретениюпо технической сущности и достигаемому результату является система обработки информации использующаязапоминающее устройство и магазиннуюпамять выталкиваемого типа для вложенных подпрограмм, содержащая счетчик команд, узел увеличения адреса,блок стековой памяти, управляющее26запоминающее устройство и группуэлементов ИЛИ 2Недостатком известного устройства является невозможность управления сопрограммами, так как переход25к подпрограмме осуществляется поФиксированному, заранее определенно-"му а не устанавливаемому динамически) адресу,Цель изобретения - расапщение об"ласти применения устройства за счет фвоэможности обращения к подпрограммам по динамическому адресу. Поставленная цель достигаетсятем, что в устройство для управлениясопрограммами, содержащее счетчиккоманд, блок стековой памяти и первыйблок элементов ИЛИ, выходы которогосоединены с инФормационными входамисчетчика команд, выходы которогосоединены с инФормационными входамиблока стековой памяти, инФормационныевыходы которого соединены с первой группой входов первого блока элементов ИЛИ, введены второй блок элеменгов ИЛИ, блок ассоциативной памяти, регистр команд, регистр адреса активной памяти, регистр инФормации, три блока элементов И, группа элементов И, элемент И, триггер два элемента ИЛИ, дешиФратор, распределитель импульсов, генератор импульсов, причем группа входов начальной записи устройства соединена с группойустановочных входов блока ассоциативной памяти, группа инФормационныхвхоцов которого соединена с выходамирегистра инФормации, входы которогосоединены с выходами второго блока элементов ИЛИ, первая группа входов которого соединена с выходами первого блока элементов И, группа входовкоторого соединена с выходами счетчика команд и с первой группой адресных выходов устройства, группа1144адресных входов которого соединена с второй группой входоц первого блока элементов ИЛИ, третья группа входов которого соединена с информационными вьмодами блока ассоциативной памяти, группа адресных входов которого соединена с выходами регистра адреса активной сопрограммы и с группой входов второго блока элементов И, выходы которого соединены с 1 О второй группой входов второго блока элементов ИЛИ, группа информационных входов устройства соединена с входами регистра команд, первая группа выходов которого соединена с группой информационных выходов устройствч и с группой входов дешифратора, вход запуска устройства соединен с единичным входом триггера, установочньп вход устройства соеди- нен с установочными входами распределителя импульсов и регистра адреса активной сопрограммы, информационные входы которого соединены с выходами третьего бл 6 ка элементов И, группа входов которого соединена с второй группой выходов регистра команд и с второй группой адресных выходов устройства, первый выход распределителя импульсов соединен со счетным входом счетчика команд, выход первого элемента И группы,соединен с управляющим входом первого блокй элементов И и с входом записи блока стековой памяти, выход первого элемента ИЛИ соединен с вхо дом записи блока ассоциативной памяти, выход второго элемента И группы соединен с управляющим входом третье. го блока элементов И, выход третье 40 го элемента И группы соединен с входом чтения блока ассоциативной памяти, выход четвертого элемента И группы соединен с управляющим входом второго. блока элементов И и с входом чтения блока стековой памяти, установочный вход устройства соединен с первым входом второго . элемента ИЛИ, выход которого соединен с нулевым входом триггера, выход триггера соединен с первым входом элемента И, второй вход которого соединен с выходом генератора импульсов, выход элемента И соединен с входом запуска распределителя импульсов, второй, третий, четвертый 55 пятый, шестой и седьмой выходы рас-. пределителя импульсов соединены с первыми входами первого, второго,1 О 4третьего, четвертого, пятого и шестого элементов И группы соответственно, первьп выход дешифратора соединен с вторыми входами первого, второго, третьего и пятого элементов И груп-. пы, второй выход дешифратора соединен с вторыми входами четвертого и шестого элементов И группы, выходы пятого и шестого элементов И группы соединены с первым, вторым входами первого элемента ИЛИ, восьмой выход распределителя импульсов соединен с,; вторым входом второго элемента ИЛИ.На чертеже показана схема устройства.Устройство содержит счетчик 1 команд, блок 2 стековой памяти, блоки.3 и 4 элементов ИЛИ, блок 5 ассоциативной памяти, группу б элементов И, регистр 7 команд, регистр 8 адреса активной сопрограммы, регистр 9 информации, блоки 10-12 элементов И, группу входов 13 начальной записи устройства, группу адресньм входов 14 устройства, группу информационных входов 15 устройства, вход 16 запуска устройства, установочный вход 17 устройства, группы адресных выходов 18 и 19 устройства, группу информационных выходов 20 устройства, генератор 21 импульсов, триггер 22, распределитель 23 импульсов, дешифратор 24, элементы ИЛИ 25 и 26, элементы И 27-33 группы 6, выходы 34-4 1 распределителя 23 импульсов, выход 42 распределителя 23, выход 43 элемента И 28, выход 44 элемента ИЛИ 26, выходы 45-47 элементов И 30-32..Связь между основной программой и подпрограммой несимметрична, так как вход в подпрограмму всегда осу- . ществляется через ее начало, в то время как в основную программу управление всегда возвращается в точку, непосредственно следующую за обращением, Связь же между сопрограм. мами совершенно симметрична. Если А и В сопрограммы, то вход в В осуществляется всегда в точку, непосредственно следующую за самым последним вызовом А из В, и наоборот,. Устройство работает следующим образом.При включении питания импуьсом с входа 17 регистр 8 и триггер 22 обнуляются, а распределитель 23 устанавливается в исходноесостояние(при этом ни на один из его выходов сигнал не выдается).Адрес первой команды управляюц 1 ей программы записывается через блок 3 элементов ИЛИ в счетчик 1 с группы 5 входов 14. Этот адрес поступает на группу выходов 18, которая подключается к запоминающему устройству. Из запоминающего устройства на регистр 7 по группе входов 15 считывается первая команда управляюц 1 ей программы, Команды обращения к сопрограмме и возврата выполняются в предлагаемом устройстве, а остальные - в других узлах устройства управления, 15 причем код операции поступает на группу выходов 20, а адресная частьна группу выходов 19После приема кода команды на ре гистр 7 подается импульс на вход 16, который устанавливает триггер 22 в единичное состояние. При этом открывается элемент И 27, и импульсы с выхода генератора 21 проходят25 на вход распределителя 23. Если на регистр 7 принята команда обрацения к сопрограмме, то появляется сигнал на первом выходе дешифратора 24, а если команда возврата - то на втором, Другие, коды операций дешифратор 24 не расшифровывает, распределитель 23 начинает выдавать импульсы последовательно на своих выходах, начиная с 34 и кончая 41. По импульсу на выходе 34 содержимое счетчика 135 увеличивается на единицу, т,е, формируется адрес следующей команды. Если в регистре 7 не находится команда управления сопрограммами, то боль 40 ше никаких операций в устройстве не выполняется, По импульсу с выхода 41 распределителя 23 триггер 22 устанавливается в нулевое состояние, и прохождение импульсов через эле 45 мент И 27 запрецается. Распределитель 23 после появления импульса на выходе 41 переходит в исходное состояние.По специальной команде информация 5 о сопрограммах заносится по группе входов 13 в блок 5 ассоциативной памяти. При этом для каждой сопрограммы отводится одна ячейка ассоциативной памяти, Адресная и информацион ная части каждой ячейки после начальной записи содержит одинаковую информацию, а именно адрес точки входа в соответствующую сопрограмму находящуюся в запоминающем устройстве.После этого устройство готово к управлению сопрограммами, адреса точек входа в которые записаны в блок 5.Пусть на регистр 7 прочитана,команда обращения к сопрограмме, Она имеет вид: С А, где С - код операции, А - адреса точки входа в сопрограмму. При этом открываются элементы И 28-3 1. По импульсу с входа 16 за - пускается распределитель 23. А в ре. зультате этого в первую очередь содержимое счетчика 1 увеличивается на единицу. После этого импульс с выхода 35 распределителя 23 проходит на выход 43, открывает блок 10 элементов И, и содержимое счетчика 1 (адрес команды,следуюцей эа командой обращения к сопрограмме) через блок 4 элементов ИЛИ записывается в регистр 9. По этому же импульсу этот же адрес записывается в вершину блока 2 стековой памяти (так как импульс проходит на вход записи этого блока), Импульс с выхода 36 распределителя 23 проходит через элементы И 29 и ИЛИ 26, в результате чего осуществляется попытка записи содержимого регистра 9 в блок 5 по адресу (с признаком) содержимого регистра 8, но так как первоначально он был обнулен, то запись не производится, Регистр 8 хранит адрес точки входа в активную (вьполняюшуюся в настояцее время) сопрограмму, но в данный момент активна управляющая программа, Импульс с выхода 37 распределителя 23 прохоцит через элемент И 30 и открывает блок 12 элементов И, вследствие чегб адрес точки входа в сопрограмму заносится в регистр 8. По импульсу на выходе 38 распределителя 23 содержимоеячейки блока 5 с адресной частью, определяемой содержимым регистра 8, т.е, адрес точки входа в сопрограмму, через блок 3 элементов ИЛИ записывает-. ся в счетчик 1, чем завершается переход к сопрограмме. Первоначальный вход в сопрограмму осуществляется через ее начало (через точку входа). Последуюцие команды обращения к сопрограмме выполняются аналогично, за исключением того, что по импульсу с выхода 44 осуцествляется запись7 144 адреса команды, следующей за командой обрацейия к сопрограмме, в ячейку блока 5 адресной частью, равной адресу точки входа вызывающей сопрограммы. В конце цикла выполнения этой команды в счетчик 1 не обязательно записывается только адрес точки входа в вызываемую сопрограмму. Он записывается только в том случае, когда происходит первое обращение к 1 О сопрограмме,.либо предыдущее выполнение этой сопрограммы закончилось командой возврата, а не командой . обращения к другой сопрограмме, Если же предыдущее выполнение сопрограммы было прервано командой обращения к другой сопрограмме, то.при лоследующем обращении к прерванной сопрограмме в счетчик 1 заносится адрес команды, следующей за последней, выполнившейся при предыдущем обращении к ней команды. Это происходит вследствие изменения содержимого блока 5 в процессе работы устройства. 25 Если же на регистр 7 считывается. команда возврата, состоящая только из одного кода операции, то,откры 11 О 8ваются элементы И 32 и 33. После за- пуска распределителя 23 содержимое счетчика 1 увеличивается на единицу. Импульсы с выходов 35-38 распределителя 23 на входы элементов И группы 6 не проходят, По импульсу с выхода 39 распределителя 23 осуществляется прием адреса выполняющейся сопрограммы в регистр 9 через блоки 11 элементов И и 4 элементов ИЛИ. Кроме того, адрес возврата .в вызываемую сопрограмму из вершины блока 2 .стековой памяти переписывается через блок 3 элементов ИЛИ в счетчик 1. Импульс с выхода 40 распределите-ля 23 проходит через элемент И 33 и элемент 26 на вход записи блока 5. При этом по адресу точки входа в сопрограмму, выполнение которой завершается, записывается этот же адрес точки входа, т.е. восстанавливается содержимое первоначальное соответствующей ячейкидля того, чтобы сле" дующее обращение к этой сопрограмме привело к передаче управления в ее точку входа.,Применение изобретения позволяет расширить область применения устройства.1144110Составитель М.КудряшевРедактор Р.Цицика Техред А,Кикемезей Корректор Е.СирохманЗаказ 931/40 Тираж 710 Подписное БНИИПИ Государственного комитета СССР по делам изобретений и открытий 113035, Москва, Ж, Раушская наб д. 4/5 Филиал ППП "Патент", г, Ужгород, ул. Проектная, 4

Смотреть

Заявка

3689357, 23.11.1983

ВОЕННЫЙ ИНЖЕНЕРНЫЙ КРАСНОЗНАМЕННЫЙ ИНСТИТУТ ИМ. А. Ф. МОЖАЙСКОГО

БОГУМИРСКИЙ БОРИС СЕРГЕЕВИЧ, ЯЦУК ВИКТОР ЯКОВЛЕВИЧ, СЫЧЕВ СЕРГЕЙ ВАСИЛЬЕВИЧ

МПК / Метки

МПК: G06F 9/54

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

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

Код ссылки

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

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