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

 

Изобретение относится к вычислительной технике и может быть использовано в устройствах управления ЭВМ. Цель изобретения - расширение области применения устройства за счет обеспечения возможности обращения к подпрограммам по динамическому адресу. В устройство введены блок памяти, содержимое которого монет меняться в процессе работы устройства, два регистра, два дешифратора, генератор импульсов, распределитель импульсов , два триггера, пять элементов И, три элемента ИЛИ, блок элементов ИЛИ. Устройство позволяет в случае применения его в многопроцессорных ЭВМ обращаться к подпрограммам, выполняемым параллельно с основной программой, по динамически устанавливаемому адресу. 1 ил

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

ФИЛИ

РЕСПУБЛИК (53)5 С 06 F 9 46

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

Н А ВТОРСНОМУ СВИДЕТЕЛЬСТВУ

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

Il0 ИЗОБРЕТЕНИЯМ И OTKPblTHSIM

ПРИ ГКНТ СССР (21) 4693801/24 (22) 22.05.89 (46) 15.05.91. Бюл. Р 18 (72) М.И.Гвоздик и В.В. Казимир (53) 68.1 . 325 (088. 8) (56) Авторское свидетельство СССР

Ф 1144110, кл. С 06 F 9/46, 1985„

Авторское свидетельство СССР

Ф 849214, кл. G 06 F 9/46, 1979. ! (54) УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ ПОДПРОГРЙЧИАИИ (57) Изобретение относится к вычислительной технике и может быть использовано в устройствах управления

ЭВИ. Цель изобретения — расширение

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

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

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

Устройство содержит счетчик счетчик 2, регистр 3, регистр 4, схемы 5 и 6 сравнения, регистр 7, регистр 8, блоки 9-11 элементов И, счетчик 12, регистр 13, распределитель 14 импульсов, регистр 15, блок

16 памяти, депифраторы 17 и 18, группу 19 элементов И, триггеры 20-23, элементы И 24-29 группы 19, элементй

„,SU„, 1649542 А1

2 области применения устройства за счет обеспечения возможности обращения к подпрограммам по динамическому адресу. В устройство введены блок памяти, содержимое которого может меняться в процессе работы устройства, два регистра, два дешифратора, генератор импульсов, распределитель импульсов, два триггера, пять элементов И, три элемента ИЛИ, блок элементов ИЛИ. Устройство позволяет в случае применения его в многопроцессорных ЭИ1 обращаться к подпрограммам, выполняемым параллельно с основной программой, по динамически устанавливаемому адресу. 1 ил., И 30-35 генератор импульсов 36 блок

37 элементов ИЛИ, элементы ИЛИ 38-40, группы информационных входов 41 и 42 устройства, группы адресных входов

43 и 44 устройства, группы адресных {© выводов 45-48 устройства, группы информационных выходов 49 и 50 устройства, выходы 51-58 распределителя 14 импульсов, выход 59 элемента И 24, выход 60 элемента И 26, выход 61 элемента ИЛИ 39, выход 62 элемента И 28, выход 63 элемента И 29, вход 64 запуска устройства и группу входов 65 начально условий устройства.

Устройство работает следующим образом.

В исходном состоянии триггеры 1 и 3 установлены в "1", триггеры 2 н 4в "0",. ни на один из выходов распре1649542 целителя 14 сигнал- не выдается. По специальной команде информация о подпрограммах заносится по группе входов

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

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

Адрес первой команды основной программы записывается по группе входов

43 в счетчик 1 ° Этот адрес поступает через блок 9 элементов И на группу

;выходов 45, которая годключается к запоминающему устройству. Из запоми нающего устройства на регистр 7 по группе входов 41 считывается первая команда основной программы. После

35 этого устройство готово к управлению подпрограммами, информация о которых записана в блок 16. Команды обращения к подпрограммам и возврата из

10 подпрограмм в основную программу выполняются в предлагаемом устройстве, а остальные — в других узлах устрой ства управления, йричем коды операций команд основной программы и подпрограммы поступают на группы выходов !

49 и 50, а адресные части — на группы выходов 47 и 48 соответственно.

После приема кода команды на регистр 7 подается импульс на вход .64, который устанавливает триггер 23 в 50 единичное состояние. При этом открывается элемент И 35 и импульсы с выхода генератора 36 проходят на вход распределителя 14. Если на регистр 7 принята команда обращения к подпрограмме, то появляется сигнал на выходе дешифратора 17. Другие коды операций дешифратор 17 не расшифровывает. Распределитель 14 начинает выдавать импульсы последовательно на своих выходах, начиная с 51 и кончая

58, По импульсу иа выходе 51, проходящему через элемент И 34, содержимое счетчика 1 увеличивается на единицу, т.е. формируется адрес следующей команды основной программы. Если в регистре 7 не находится команда управления подпрограммами, то больше никакие операции в устройстве не выполняются, По импульсу с выхода 58 распределителя 14 триггер 23 устанавливается в "0" и прохождение импульсов через элемент И 35 запрещается.

Распределитель 14 после появления импульса на выходе 58 приходит в исходное состояние.

Пусть на регистр 7 прочитана кома ца обращения К подпрограмме. Она иг т вид С А, где С вЂ” код операции, А адрес точки входа в подпрограмму.

После расшиФровки кода операции сигнал с выхода дешифратора 17 проходит на выход элемента И 31 и подготавливает к работе элементы И 28 и 29 группы 19. Этим же сигналом с выхода элемента И 31 триггер 22 устанавливается в нулевое состояние, в котором он находится до тех нор, пока не произойдет возврат из подпрограммы в основную программу, т.е. пока не создадутся условия для нового обращения к подпрограммам. Адрес точки входа в подпрограмму поступает на регистр 13 и через него на группу адрес-. ных входов блока 16, По импульсу с входа 64 запускается распределитель

14. В результате этого в первую очередь увеличивается на единицу содержимое счетчика 1 . Затем импульс с вьг хода 56 распределителя 14 проходит на выход 62 элемента И 28.и происходит считывание содержимого информационных частей первой и второй ячеек блока 16, относящихся к данной подпрограмме и выбираемых по адресу точки входа в подпрограмму,, записанному в регистр 13. Содержимое информационной части первой ячейки, равное адресу входа в подпрограмму, считывается на счетчик 2. Содержимое первой и второй информационных частей второй ячейки заносится в регистр адреса списка параметров и регистр точки выхода соответственно. По импульсу. с выхода 57 распределителя 14, проходящему на выход 63 элемента И 29, 1649542 триггер 21 переводится в единичное состояние и адрес первой команды подпрограммы через блок 10 элементов И поступает на труппу выходов 46, подключенную к запоминающему устрой5 ству. Кроме того, с установлением триггера 21 в "1" открывается элемент

И 33, через который проходит сигнал плюс единица в счетчик 2. Начинается выполнение подпрограммы, одновременно с которым продолжается выполнение основной программы. По группе входов

44 на вход схемы б сравнения постуI пают адреса областей памяти, к кото- 15 рым обращается основная программа.

При совгадении адреса списка параметров с кодом адреса, поступающим по группе входов 44, на выходе схемы 6 появляется сигнал, который, проходя через элементы И 30 и ИЛИ 38, перево.дит триггер 20 в нулевое состояние, и выполнение основной программы прерывается. В счетчике 1 сохраняется адрес команды, при которой произошло 25 прерывание и с которой возобновится выполнение основной программы. Прерывание выполнения основной программы происходит также и в том.случае, если при одновременной работе подпрограммы 30 и основной программы в основной.программе встречается команда перехода к подпрограмме, в результате чего сигнал с выхода дешифратора 17 через элементы И 32 и ИЛИ 38 поступает на нулевой вход триггера 20. Таким образом, обеспечивается исключение ограничений на использование команд переходов к подпрограммам в основной программе. 40

Из запоминающего устройства по группе входов 42 на регистр 8 считываются команды подпрограммы, коды операций поторых расшифровываются дешифратором 18. Если поступившая команда 45 является командой возврата к основной программе, состоящая из одного кода операций, то на выходе деши@ратора 18 .появляется импульс, который, проходя через элемент ИЛИ 40, подготавливает к работе элементы И 24 и 25 группы 19, триггеры 20 и 22 устанавливает в "1". а триггер 21 — в "0".

Таким образом прекращается выполнение подпрограммы и возобновляется выполнение основной программы. По сигналу на входе 64 распределитель 14 начи- нает выдавать импульсы на своих выходах. Импульсом с выхода 51 добавт ляется единица в счетчик 1. Следующий импульс с выхода 52 распределителя 14 через открытый элемент И 24 проходит на егo выход 59 и добавляет единицу в счетчик 12, формируя адрес команды подпрограммы, следующей непосредственно за командой возврата к основной программе. Именно с этого адреса начинается выполнение подпрограммы после очередного обращения к ней. Импульсом с выхода 53 распределителя 14, проходящим через элементы И 25 и ИЛИ 39 на выход 61, происходит запись адреса входа в подпрограмму в информационную часть первой из двух ячеек блока 16, относящихся к данной подпрограмме и выбираемых по адресу точки входа, записанному s регистре 13.

В том случае, когда на счетчике 2 находится адрес, совпадающий с адресом точки выхода, появляется импульс на выходе схемы 5, который подготавливает. к работе элементы И 26 и 27, а также, проходя через элемент ИЛИ 40, прекращает выполнение подпрограммы и возобновляет выполнение основной программы подобно тому, как это происходило при расшифровке команды возврата. Однако при этом по импульсу с выхода 54 распределителя 14, проходящему через элемент И 26 на вы ход 60, осуществляется прием адреса точки входа.вынолнявшейся подпрограммы в регистр 15 через блок 11 элементов И и блок 37 элементов ИЛИ. Импульс с выхода 55 распределителя 14 проходит через. элемент .И 27 и элемент

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

Таким образом, при вызове подпрограи мы в счетчик 2 не обязательно запи» сывается адрес точки входа в эту под программу. Он записывается только в том случае, когда происходит первое обращение к подпрограмме либо предыдущее выполнение этой подпрограммы закончилось на точке выхода, Если предыдущее выполнение подпроГДаммы было прервано командой возвра

1649542 та к основной программе, то при последующем обращении к прерванной подпрограмме в счетчик 2 заносится адрес команды, следующей за последней вы полнившейся при предыдущем обращении к ней команды. Такое обращение к подпрограммам по динамическому адресу обеспечивает изменение содержимого блока 16 в процессе работы устройства.

Формула изобретения

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

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

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

ИЛИ соединен с нулевым входом первого триггера, единичный вход которого соединен с выходом второго элемента

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

164954?

9

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

1649542

Составитель М. Кудряшев

Техр ед Д. Олийнык Корректор Н. Король

Редактор А. Огар

Заказ 1522. Тираж 410 Подписное

ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР

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

Производственно-издательский комбинат "Патент", г, Ужгород, ул. Гагарина, 101

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

 

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

Изобретение относится к вычиспи ельной технике и может быть использовано при проектировании системы управления группой станков с ЧПУ от вычислительной машины

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

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

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

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

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

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

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

Изобретение относится к вычислительной технике и предназначено для использования в локальных вычислительных сетях с шинной топологией для управления передачей пакетов данных через общий канал

Изобретение относится к способам управления перегрузкой сообщениями элементарной программы в электронной системе коммутации

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

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

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

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