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

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

Авторы: Гвоздик, Казимир

ZIP архив

Текст

(51)5 С 06 Р 9 46 ПИСАНИЕ ОБРЕТЕНИ ЬСТВУ 2области применения устройства за счет обеспечения возможности обращения к подпрограммам по динамическому адресу. В устройство введены блок памяти, содержимое которого может меняться в процессе работы устройства, два регистра, два дешиФратора, генератор импульсов, распределитель импульсов, два триггера, пять элементов И, три элемента ИЛИ, блок элементов ИЛИ. Устройство позволяет в случае применения его в многопроцессорных ЭИ 1 обращаться к подпрограммам выполняемым параллельно с основной программой, по динамически устанавливаемому адресу. 1 ил Бюл, Рк и В.В8,8)свидетелСОбРидетель06 Р 9 зи ьство СССР /46, 1985 тво СССР 46, 1979.(57) Изобретелительной техпользовано вЭВМ. Цель изо УПРАВЛЕНИЯ ПОДотносится к вычисе и может быть исройствах управления тения - расширение И 30-35, генератор37 элементов ИЛИ, эгруппы информационнустройства, группы43 и 44 устройства,выводов 45-48 устроФормационных выходоства, выходы 51-58импульсов, выход 59выход 60 элементамента ИЛИ 39, выходвыход 63 элемента Ипуска устройства иначально условий уУстройство работразом.В исходном состоИ 3 установлены вв "0", ни на один и Изобреттельной техзовано в у ние отно нике и м тройства бретения менения ычисли сится кожет бытх управл- расшиустройстости обрдинамиче испольния ЭВ 1 ь ение а путем области побеспечен а щенияскому адвозмоммам и к подпрогрресу.На черт троие показана сх тва Устройство содержит счетчик счетчик 2, регистр 3, регистр 4, схемы 5 и 6 сравнения, регистр 7, регистр 8, блоки 9-11 элементов И, счетчик 12, регистр 13, распределитель 14 импульсов, регистр 15, блок 16 памяти, депиФраторы 17 и 18, группу 19 элементов И, триггеры 20-23, элементы И 24-29 группы 19, элементй ГОСУДАРСТВЕННЫЙ НОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМПРИ ГКНТ СССР Н А ВТОРСНОМУ СВИДЕТимпульсов 36, блоклементы ИЛИ 38-40,ых входов 4 1 и 42адресных входовгруппы адресныхйства, группы инв 49 и 50 устройраспределителя 14элемента И 24,1 26, выход 61 эле 62 элемента И 28,29, вход 64 загруппу входов 65стройства,ает следующим обянин триггеры 11", триггеры 2 и 4 з выходов распре 1649542целителя 14 сигнал.не выдается. По специальной команде информация о подпрограммах заносится по группе входов б 5 в блок 16 памяти. При этом для каждой программы отводятся две ячейки памяти, первая иэ которых содержит адресную и информационную части, а ,вторая .- две информацнойкые части . Адресная часть первой ячейки хранит адрес точки входа в подпрограмму и служит для выбора ячеек ассоциативной памяти, относящихся к данной подпрограмме. Информационная часть первой ,ячейки содержит адрес, с которого должно начаться выполнение подпрограмм после очередного обращения к ней, После начальной записи адресная и инйормационная части первой ячейки содержат одинаковую информа 20 цию, Первая и вторая информационные ,части второй ячейки содержат соответственно адрес списка параметров и адрес точки выхода данной подпрограммы и в процессе выполнения программ, как и адресная часть первой ячейки, не изменяются.Адрес первой команды основной программы записывается по группе входов 43 в счетчик 1Этот адрес поступает через блок 9 элементов И на группу ,выходов 45, которая годключается к запоминающему устройству. Из запоминающего устройства на регистр 7 по группе входов 41 считывается первая команда основной программы. После35 этого устройство готово к управлению подпрограммами, инйормация о которых записана в блок 16. Команды обращения к подпрограммам и возврата из10 подпрограмм в основную программу выполняются в предлагаемом устройстве, а остальные - в других узлах устрой ства управления, йричем коды операций команд основной программы и подпрограммы поступают на группы выходов5 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 35 триггер 21 переводится в единичное состояние и адрес первой команды подпрограммы через блок 10 элементов И поступает на труппу выходов 46, подключенную к запоминающему устрой"5 ству. Кроме того, с установлением триггера 21 в "1" открывается элемент И 33, через который проходит сигнал плюс единица в счетчик 2, Начинается 10 выполнение подпрограммы, одновременно с которым продолжается выполнение основной программы. По группе входов 44 на вход схемы б сравнения поступают адреса областей памяти, к кото рым обращается основная программа. При совгадении адреса списка параметров с кодом адреса, поступающим по группе входов 44, на выходе схемы б появляется сигнал, который, проходя через элементы И 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 проходит на его выход 59 и добавляет единицу в счетчик 12, формируя адрес команды подпрограммы, следующей непосредственно за командой возврата к основной программе. Именно с этого адреса начинается выполнение подпрограммы после очередного обраще. ния к ней, Импульсом с выхода 53 рас. пределителя 14, проходящим через элементы И 25 и ИЛИ 39 на выход 61, происходит запись адреса входа в подпрограмму в информационную часть первой из двух ячеек блока 16, относящихся к данной подпрограмме и выбираемых по адресу точки входа, записанному в регистре 13.В том случае, когда на счетчике 2 находится адрес, совпадающий с адресом точки выхода, появляется импульс на выходе схемы 5, который подготавливает. к работе элементы И 26 и 27, а также, проходя через элемент ИЛИ 40, прекращает выполнение подпрограммы и возобновляет выполнение основной программы подобно тому, как это происходило при расшифровке команды возврата. Однако при этом по импульсу с выхода 54 распределителя 14, проходящему через элемент И 26 на вы ход 60, осуществляется прием адреса точки входа вынолнявшейся подпрограммы в регистр 15 через блок 11 элементов И и блок 37 элементов ИЛИ. Импульс с выхода 55 распределителя 14 проходит через. элемент .И 27 и элементИЛИ 39 на вход записи блока 16, При этом в информационную часть первойячейки блока 16, выбираемой по адресу точки входа в подпрограмму, записывается этот же адрес точки входа, т.е. восстанавливается первоначальное содержимое соответствующей ячейки, в результате чего при следующемобращении к этой подпрограмме еевыполнение начинается с точки входа.Таким образом, при вызове подпрограи мы в счетчик 2 не обязательно записывается адрес точки входа в эту подпрограмму. Он записывается тольков том случае, когда происходит первое обращение к подпрограмме либо предыдущее выполнение этой подпрограммы закончилось на точке выхода,Если предыдущее выполнение подпроГДаммы было прервано командой возврата к основной программе, то при последующем обращении к прерванной подпрограмме в счетчик 2 заносится адрес команды, следующей за последней выполнившейся при предыдущем обращении к ней команды. Такое обращение к подпрограммам по динамическому адресу обеспечивает изменение содержимого блока 16 в процессе работы устройства.Формула изобретенияУстройство для управления подпрограммами, содержащее два счетчика, четыре регистра, две схемы сравнения, три блока элементов И, первый элемент И, первый и второй триггеры, причем группа выходов первого блока элементов И соединена с первой группой адресных выходов устройства, первая. грУппа адресных входов которого . соединена с группой входов первого счетчика, выходы которого соединены с группой информационных входов пер" вого блока элементов И, управляющий вход которого соединен с выходом первого триггера, выходы первого регистра соединены с первой группой входов первой схемы сравнения, вторая группа входов которой соединена с второй группой адресных выходов устройства и с группой выходов второго блока элементов И, группа информационных входов которого соединена с группой выходов второго счетчика, управляющий вход второго блока элементов И соединен с выходом второго триггера,и с первым входом первого элемента И, второй вход которого со 40 единен с выходом второй схемы сравнения, первая группа входов которой соединена с группой выходов второго регистра, вторая группа входов второй схемы сравнения соединена с второй5 группой адресных входов устройства, о т л и ч а ю щ е е с я тем, что, , с целью расширения области применения устройства путем обеспечения возможности обращения к подпрограммам по динамическому адресу, в него введены пятый и шестой регистры, два дешифратора, блок памяти, группа элементов И, генератор импульсов, распределитель импульсов, третий счетчик, третий и четвертый триггеры, второй, третий, четвертый, пятый и шестой элементы И, блок элемента ИЛИ, первый,второй и третий элементы ИЛИ, причемгруппа входов начальных условий устройства соединена с группой установочных входов блока памяти, группа информационных входов которого соединена с группой выходов .третьего регистра, группа входов которого соединенас группой выходов блока элементовИЛИ, первая группа входов которогосоединена с группой выходов третьегосчетчика, группа информационных входов которого соединена с группой выходов второго блока элементов И, первая группа информационных входов устройства соединена с группой входовчетвертого регистра, первая группавыходов которого соединена с первойгруппой информационньх выходов устройства и группой входов первого дешифратора, выход которого соединен спервыми входами. второго и третьегоэлементов И, второй вход третьегоэлемента И соединен с выходом второго триггера, с вторым входом первогоэлемента И и первым входом четвертого элемента И, выход .которого соединен со счетным входом второго счетчика, группа информационных входов которого соединена с первой группой информационных выходов блока памяти,вторая .группа информационных выходовкоторого соединена с группой входоввторого регистра, выход третьего элемента И соединен с первым входомпервого элемента ИЛИ, второй входкоторого соединен с выходом первогоэлемента И, выход первого элементаИЛИ соединен с нулевым входом первого триггера, единичный вход которогосоединен с выходом второго элементаИЛИ, с первыми входами первого и второго элементов И группы, с нулевымвходом второго триггера и единичнымвходом третьего триггера, выход которого соединен с вторым входом второгоэлемента И, выход которого соединенс нулевым входом третьего триггераи первыми входами третьего и четвертого элементов И группы, выход первого элемента И которой соединен сосчетным входом третьего счетчика, выход второго элемента И группы соединен с первым входом третьего элемента ИЛИ, выход которого соедйнен свходом записи блока памяти, третьягруппа информационных выходов которого соединена с группой входов первого регистра, выход пятого элемента1649542 ЗО 9И группы соединен с управляющим входом третьего блока элементов И, выходы которого соединены с второй груп" пой входов блока элементов ИЛИ, выход шестого элемента И группы соеди 5 нен с вторым входом третьего элемента ИЛИ, выход третьего элемента И группы соединен с входом чтения блока памяти, первые входы пятого и шес того элементов И группы соединены с выходом первой схемы сравнения, выход генератора импульсов соединен с первым входом пятого элемента И, выход которого соединен с входом Распределителя импульсов, первый выход которого соединен с вторым входом четвертого элемента И и с первым входом шестого элемента И, второй вход которого соединен с выходом первого триггера, выход шестого элемента И соединен со счетным входом первого счетчика, второй, третий, четвертый, пятый, шестой и седьмой выходы распределителя импульсов соединены с вторыми входами первого, второго, . пятого, шестого, третьего и четвертого элементов И группы соответственно, третья группа адресных выходов устройства соединена с второй группойвыходов четвертого регистра и группойвходов пятого регистра, группа выходов которого соединена с группойадресных входов блока памяти и группой информационных входов третьегоблока элементов И, четвертая группаадресных выходов устройства соединенас первой группой выходов шестого регистра, вторая группа выходов которого соединена с второй группой инФормационных выходов устройства и группой входов второго дешийратора, выход которого соединен с первым входомвторого элемента ИЛИ, второй входкоторого соединен с выходом первойсхемы сравнения, выход четвертогоэлемента И группы соединен с единичным входом второго триггера, восьмойвыход распределителя импульсов соединен с нулевым входом четвертого триггера, единичный вход которого соединен с входом запуска устройства, выход четвертого триггера соединен свторым входом пятого элемента И, вторая группа информационных вхОдов устройства соединена с группой входовшестого регистра.Производственно-издательский комбинат "Патент", г, Ужгород, ул, Г а Заказ 1522. ВНИИПИ Госу Тираж 410 Подписноерственного комитета по изобретениям и открытиям при ГКНТ ССС 113035, Москва, Ж, Раушская наб., д, 4/5

Смотреть

Заявка

4693801, 22.05.1989

ВЫСШЕЕ ВОЕННО-МОРСКОЕ УЧИЛИЩЕ РАДИОЭЛЕКТРОНИКИ ИМ. А. С. ПОПОВА

ГВОЗДИК МИХАИЛ ИВАНОВИЧ, КАЗИМИР ВЛАДИМИР ВИКТОРОВИЧ

МПК / Метки

МПК: G06F 9/46

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

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

Код ссылки

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

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