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

 

УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ СОПРОГРАММАМИ, содержащее счетчик команд, блок стековой памяти и первый блок элементов ИЛИ, выходы которого соединены с информационными входами блока стековой памяти, информационные выходы которого соединены с первой группой входов первого блока элементов ШШ, отличающееся тем, что, с целью расширения области применения за счет возможности обращения к подпрограммам по динамическому адресу, оно содержит второй блок элементов ИЛИ, блок ассоциативной памяти, регистр команд, регистр адреса активной памяти, регистр информации, три блока элементов И, группу элементов И, элемент И, триггер, два элемента ИЖ, дешифратор, распределитель импульсов, генератор импульсов, причем группа входов начальной записи устройства соединена с группой установочных входов блока ассоциативной памяти, группа информационных входов которого соединена с выходами регистра информации, входы которого соединены с вьЬсодами второго блока элементов ИЛИ, первая группа входов которого соединена с выходами )3, вого блока элементов И, группа входов которого соединена с выходами счетчика команд и с первой группой адресных выходов устройства, группа адресных входов которого соединена с второй группой входов первого блока элементов ИЛИ, третья группа входов которого соединена с информационными выходами блока ассоциативной памяти , группа адресных входов которого соединена с выходами регистра адреса активной сопрограммы и с группой входов второго блока элементов И, выходы которого соединены с второй группой входов второго блока элементов ИЛИ, группа информационных входов устройства соединена С/ с входами регистра команд, первая с группа выходов которого соединена с группой информационных выходов устройства и с группой входов дешифратора , вход запуска устройст - ; ва соединен с единичным входом триггера , установочный вход устройства соединен с установочными входами 4 распределителя импульсов и регистра адреса активной сопрограммы, информационные входы которого соединены с выходами третьего блока элементов И, группа входов которого соединена с второй группой выходов регистра команд и с второй труппой адресных выходов устройства, первый выход распределителя импульсов соединен со счетным входом с етчика команд, выход первого элемента И группы соединен с управляюс им входом первого блока элементов И и с входом записи . блока стековой памяти, выход перво го элемента ИЛИ соединен с входом записи блока ассоциативной памяти, .

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК

I ((9) ((1) 4(51) (л 06 F 9(46

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗ РЕ (21) 3689357/24-24 (22) 23.11.83 (46) 07.03.85. Бюл. № 9 (72) Б.С.Богуглирский, В.Я.Яцук и С.В.Сычев (53) 681.325(088.8) (56) 1. Авторское свидетельство СССР

¹ 994422002244, кл. 5 06 F 9/46, 1982.

2. Патент СНА № 3909797, кл. Cj 06 F 9/ 12, 1975 (прототип). (54)(57) УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ

СОПРОГРАММАМИ, содержащее счетчик команд, блок стековой памяти и первый блок злементов ИЛИ, выходы которого соединены с информационными входами блока стековой памяти, информационные выходы которого соединены с первой группой входов первого блока элементов ИЛИ, о т л и— ч а ю щ е е с я тем, что, с целью расширения области применения за счет возможности обращения к подпрограммам по динамическому адресу, I оно содержит второй блок элементов

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

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

ro элемента .ИПИ соединен с входом записи блока ассоциативной памяти.

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

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

Изобретение относится к вычислительной технике н может быть использовано в устройствах управлении ЭВИ.

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

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

26 запоминающее устройство и группу элементов ИЛИ (2) .

Недостатком известного устройства является невозможность управления сопрограммами, так как переход

29 к подпрограмме осуществляется по фиксированному, заранее определенно-му (а не устанавливаемому динамически) адресу.

Цель изобретения - расхирение об ласти применения устройства за счет воэможности обращения к подпрограммам по динамическому адресу.

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

1144 адресных входов которого соединена с второй группой входов первого блока элементов ИЛИ, третья группа входов которого соединена с информационными выходами блока ассоциативной памяти, группа адресных входов которого соединена с выходами регистра адреса активной сопрограммы и с группой входов второго блока элементов И, выходы которого соединены с 1и второй группой входов второго блока элементов ИЛИ, группа информационных входов устройства соединена с входами регистра команд, первая группа выходов которого соединена с группой информационных выходов устройствч и с группой входов дешифратора, вход запуска устройства соединен с единичным входом триггера, установочньп» вход устройства соединен с установочными входами распределителя импульсов и регистра адреса активной сопрограммы, информационные входы которого соединены с выходами третьего бл6ка элементов И, группа входов которого соединена с второй группой выходов регистра команд и с второй группой адресных выходов устройства, первый выход распределителя импульсов соединен со счетным входом счетчика команд, выход первого элемента И группы .соединен с управляющим входом первого блока элементов И и с входом записи блока стековой памяти, выход первого элемента ИЛИ соединен с вхо- 5 дом записи блока ассоциативной памяти, выход второго элемента И группы соединен с управляющим входом третьего блока элементов И, выход третье40 го элемента И группы соединен с входом чтения блока ассоциативной памяти, выход четвертого элемента

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

Ъ вторым входом второго элемента HJIH.

На чертеже показана схема устройства.

Устройство содержит счетчик 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.

l.

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

А и В сопрограммы, то вход в В осуществляется всегда в точку, непосредственно следующую за самым последним вызовом А из В, и наоборот. . Устройство работает следующим образом.

При включении питания импу»»ьсом с входа 17 регистр 8 и триггер 22 обнуляются, а распределитель 23 устанавливается в исходное состояние

1144110 (при этом ни на один из его выходов сигнал не выдается).

Адрес первой команды управляюц1ей программы записывается через блок 3 элементов ИЛИ в счетчик 1 с группы 5 входов 14. Этот адрес поступает на группу выходов 18, которая подключается к запоминающему устройству. Из запоминающего устройства на регистр

7 по группе входов 15 считывается первая команда управляющей программы. Команды обращения к сопрограмме и возврата выполняются в предлагаемом устройстве, а остальные — в других узлах устройства управления, >5 причем код операции поступает на группу выходов 20, а адресная часть на группу выходов 19 °

После приема кода команды на ре- ро гистр 7 подается импульс на вход

16, который устанавливает триггер

22 в единичное состояние. При этом открывается элемент И 27, и импульсы с выхода генератора 21 проходят

25 на вход распределителя 23. Если на регистр 7 принята команда обрацения к сопрограмме, то появляется сигнал на первом выходе дешифратора 24, а если команда возврата — то на втором.

Другие, коды операций дешифратор 24 не расшифровывает, распределитель

23 начинает выдавать импульсы последовательно на своих выходах, начиная с 34 и кончая 41. По импульсу на выходе 34 содержимое счетчика 1

35 увеличивается на единицу, т.е, формируется адрес следующей команды.

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

41 распределителя 23 триггер 22 устанавливается в нулевое состояние, и прохождение импульсов через эле45 мент И 27 запрецается. Распределитель 23 после появления импульса на выходе 41 переходит в исходное состояние.

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

После этого устройство готово к управлению сопрограммами, адреса точек входа в которые записаны в блок 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 1144 адреса команды, следующей за командой обрацейия к сопрограмме, в ячейку блока 5 адресной частью, равной адресу точки входа вызывающей сопрограммы. В конце цикла выполнения этой команды в счетчик 1 не обязательно записывается только адрес точки входа в вызываемую сопрограмму. Он записывается только в том случае, когда происходит первое обращение к 1п сопрограмме,.либо предыдущее выполнение этой сопрограммы закончилось командой возврата, а не командой . обращения к другой сопрограмме. Если же предыдущее выполнение сопрограммы было прервано командой обращения к другой сопрограмме, то при лоследующем обращении к прерванной сопрограмме в счетчик 1 заносится адрес команды, следующей за последней, выполнившейся при предыдущем обращении к ней команды. Это происходит вследствие изменения содержимого блока 5 в процессе работы устройства. 25

Если же на регистр 7 считывается. команда возврата, состоящая только из одного кода операции, то.открыI

»о 8 ваются элементы И 32 и 33. После за- пуска распределителя 23 содержимое счетчика 1 увеличивается на единицу.

Импульсы с выходов 35-38 распределителя 23 на входы элементов И группы

6 не проходят. По импульсу с выхода

39 распределителя 23 осуществляется прием адреса выполняющейся сопрограммы в регистр 9 через блоки 11 элементов И и 4 элементов ИЛИ. Кроме того, адрес возврата в вызываемую сопрограмму из вершины блока 2 .стековой памяти переписывается через блок 3 элементов ИЛИ в счетчик

1. Импульс с выхода 40 распределите- ля 23 проходит через элемент И 33 и элемент 26 на вход записи блока 5.

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

Составитель M.Êóäðÿøåâ

Редактор Р.Цицика Техред А.Кикемезей Корректор Е.Сирохман

Заказ 931/40 Тираж 710 Подписное

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

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

Филиал ППП "Патент", г. Ужгород, ул. Проектная, 4

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

 

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

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

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

Изобретение относится к области вычислительной техники и может быть использовано в устройствах управления ЭВМ

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

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

Изобретение относится к средствам обработки информации

Изобретение относится к области приложений в мобильных терминалах. Техническим результатом является обеспечение межпроцессного взаимодействия между разными приложениями в мобильном терминале. Способ включает следующие этапы: создание в мобильном терминале сервера для межпроцессного взаимодействия; установление посредством сервера связи с процессом приложения-отправителя через интерфейс; прием сервером данных, отправленных процессом приложения-отправителя, с использованием протокола взаимодействия между процессом приложения-отправителя и сервером; и установление посредством сервера связи с процессом приложения-получателя через интерфейс; и отправка сервером данных процессу приложения-получателя с использованием протокола взаимодействия между процессом приложения-получателя и сервером. Предложенное изобретение обеспечивает возможность взаимодействия друг с другом процессам различных приложений в мобильном терминале. 2 н. и 8 з.п. ф-лы, 2 ил.

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

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