Устройство для управления подпрограммами Советский патент 1991 года по МПК G06F9/46 

Описание патента на изобретение SU1649542A1

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

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

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

Устройство содержит счетчик 1, счетчик 2, регистр 3, регистр 4, схемы 5 и 6 сравнения, регистр 7, регистр 8, блоки 9-11 элементов И, счетчик 12, регистр 13, распределитель 14 импульсов, регистр 15, блок 16 памяти, дешифраторы 17 и 18, группу 19 элементов И, триггеры 20-23, элементы И 24-29 группы 19, элементе

И 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 h 3 установлены в 1, триггеры 2 и 4 в О, ни на один из выходов распре%

&

2

1C

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

Адрес первой команды основной программы записывается по группе входов 43 в счетчик 1. Этот адрес поступает через блок 9 элементов И на группу выходов 45, которая подключается к запоминающему устройству. Из запоми- нающего устройства на регистр 7 по группе входов 41 считывается первая команда основной программы. После этого устройство готово к управлению подпрограммами, информация о которых записана в блок 16. Команды обращения к подпрограммам и возврата из подпрограмм в основную программу выполняются в предлагаемом устройств а остальные - в других узлах устройства управления, Причем коды операций команд основной программы и подпрограммы поступают на группы выходо 49 и 50, а адресные части - на группы выходов 47 и 48 соответственно.

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

0

5

0

5

5

0

5

5

0

вает. Распределитель 14 начинает выдавать импульсы последовательно на своих выходах, начиная с 51 и кончая 58. По импульсу на выходе 51, проходящему через элемент И 34, содержимое счетчика 1 увеличивается на единицу, т.е. формируется адрес следующей команды основной программы. Если в регистре 7 не находится команда управления подпрограммами, то больше никакие операции в устройстве не выполняются. По импульсу с выхода 58 распределителя 14 триггер 23 устанавливается в О и прохождение импульсов через элемент И 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,

триггер 21 переводится в единичное состояние и адрес первой команды подпрограммы через блок 10 элементов И поступает на труппу выходов 46, подключенную к запоминающему устройству. Кроме того, с установлением триггера 21 в 1 открывается элемент

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

Из запоминающего устройства по группе входов 42 на регистр 8 считываются команды подпрограммы, коды операций поторых расшифровываются дешифратором 18, Если поступившая команда является командой возврата к основной программе, состоящая из одного кода операций, то на выходе дешифратора 18 появляется импульс, который, проходя через элемент ИЛИ 40, подготавливает к работе элементы И 24 и 25 группы 19, триггеры 20 и 22 устанавливает в 1, а триггер 21 - в О. Таким образом прекращается выполнение подпрограммы и возобновляется выполнение основной программы. По сигналу на входе 64 распределитель 14 начинает выдавать импульсы на своих вы- ходах. Импульсом с выхода 5t добав

10

15

20

25

6495426

ляется единица в счетчик 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 не обязательно записывается адрес точки входа в эту подпрограмму. Он записывается только в том случае, когда происходит первое обращение к подпрограмме либо предыдущее выполнение этой подпрограммы закончилось на точке выхода. Если предыдущее выполнение подпро- .Граммы было прервано командой возвра30

35

40

45

50

55

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

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

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

0

5

0

5

5

0

0

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

91

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

0

9542

5

0

5

10 ,

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

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

название год авторы номер документа
Устройство управления обращением к подпрограммам 1984
  • Богумирский Борис Сергеевич
  • Черных Геннадий Сергеевич
SU1273929A1
Устройство для управления сопрограммами 1983
  • Богумирский Борис Сергеевич
  • Яцук Виктор Яковлевич
  • Сычев Сергей Васильевич
SU1144110A1
Устройство для отладки программ 1988
  • Виноградов Владимир Львович
  • Козлов Александр Егорович
  • Павлов Александр Павлович
  • Сараф Игорь Борисович
SU1511750A1
Автоматизированная система контроля радиоэлектронных устройств 1989
  • Ларичев Анатолий Павлович
  • Рогожин Олег Владимирович
  • Кочнев Александр Александрович
  • Гришин Сергей Викторович
SU1683038A1
Устройство для поиска информации в памяти 1985
  • Волков Анатолий Яковлевич
  • Малышев Анатолий Павлович
  • Окулов Станислав Михайлович
  • Тюленина Вера Григорьевна
SU1352494A1
Устройство для контроля выполнения программ 1989
  • Мызь Александр Николаевич
  • Якименко Виталий Григорьевич
SU1709319A1
Устройство для контроля выполнения программ 1987
  • Антосик Валерий Васильевич
  • Дербунович Леонид Викторович
  • Мызь Александр Николаевич
  • Нешвеев Виталий Владимирович
  • Иванов Лев Николаевич
  • Лобанов Владимир Иванович
  • Морозов Сергей Алексеевич
  • Черкай Александр Данилович
SU1434439A1
Устройство для отладки программно-аппаратных блоков 1986
  • Гудзенко Ольга Юрьевна
  • Леонтьев Виктор Леонидович
  • Палагин Александр Васильевич
  • Сигалов Валерий Иосифович
  • Цвелодуб Олег Владимирович
SU1363219A1
Устройство микропрограммного управления 1988
  • Карпов Анатолий Федорович
SU1536380A1
Устройство для сопряжения центрального процессора с группой арифметических процессоров 1984
  • Михнов Юрий Павлович
  • Петров Геннадий Алексеевич
  • Степанов Виктор Степанович
  • Шаляпин Владимир Валентинович
SU1254495A1

Иллюстрации к изобретению SU 1 649 542 A1

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

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

Формула изобретения SU 1 649 542 A1

Документы, цитированные в отчете о поиске Патент 1991 года SU1649542A1

Устройство для управления сопрограммами 1983
  • Богумирский Борис Сергеевич
  • Яцук Виктор Яковлевич
  • Сычев Сергей Васильевич
SU1144110A1
Приспособление для точного наложения листов бумаги при снятии оттисков 1922
  • Асафов Н.И.
SU6A1
Приспособление для точного наложения листов бумаги при снятии оттисков 1922
  • Асафов Н.И.
SU6A1
I

SU 1 649 542 A1

Авторы

Гвоздик Михаил Иванович

Казимир Владимир Викторович

Даты

1991-05-15Публикация

1989-05-22Подача