выход второго элемента И группы соединен с управляющим входом треть го блока элементов И, выход третьего элемента И группы соединен с входом чтения блока ассоциативной памяти, выход четвертого элемента И группы соединен с управлякйцим входом второго блока элементов И и с входом чтения блока стековой памяти, установочньй вход устройства соединен с первым входом второго элемента ИЛИ, выход которого соединен с нулевьгм входом триггера;, выхо триггера соединен с первым входом элемента И второй вход которого соединен с выходом генератора импульсов, выход элемента И соединен с входом запуска распределителя им™
пульсов, второй, третий, четвертый, пятый, шестой и седьмой выходы распределителя импульсов соединены с первыми входами первого, второго, третьего, четвертого, пятого и шестого элементов И группы соответственно, nepBbrii выход дешифратора соединен с вторыми входами первого, второго, третьего и пятого элементов И группы, второй вькод деомфратора соединен с вторыми входами четвертого и шестого элементов И группы5 выходы пятого и шестого элементов И группы соединен с первым, вторым входами первого элемента ИЛИ восьмой выход распределителя импульсов соединен с вторым входом второго элемента ИЛИ.
название | год | авторы | номер документа |
---|---|---|---|
Устройство управления обращением к подпрограммам | 1984 |
|
SU1273929A1 |
Устройство для управления параллельным выполнением команд в электронной вычислительной машине | 1982 |
|
SU1078429A1 |
Устройство для управления подпрограммами | 1989 |
|
SU1649542A1 |
Устройство для поиска информации в памяти | 1985 |
|
SU1352494A1 |
Устройство для отладки программ | 1988 |
|
SU1511750A1 |
Устройство для синтаксически-управляемого перевода | 1982 |
|
SU1062721A1 |
УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ЭЛЕКТРОННОЙ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ | 1992 |
|
RU2066877C1 |
Устройство сопряжения | 1979 |
|
SU857967A1 |
Устройство для отладки программ | 1983 |
|
SU1290334A1 |
Устройство управления | 1978 |
|
SU750488A1 |
УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ СОПРОГРАММАМИ, содержащее счетчик команд, блок стековой памяти и первый блок элементов ИЛИ, выходы которого соединены с информационными входами блока стековой памяти, информационные выходы которого соединены с первой группой входов первого блока элементов ШШ, отличающееся тем, что, с целью расширения области применения за счет возможности обращения к подпрограммам по динамическому адресу, оно содержит второй блок элементов ИЛИ, блок ассоциативной памяти, регистр команд, регистр адреса активной памяти, регистр информации, три блока элементов И, группу элементов И, элемент И, триггер, два элемента ИЖ, дешифратор, распределитель импульсов, генератор импульсов, причем группа входов начальной записи устройства соединена с группой установочных входов блока ассоциативной памяти, группа информационных входов которого соединена с выходами регистра информации, входы которого соединены с вьЬсодами второго блока элементов ИЛИ, первая группа входов которого соединена с выходами )3, вого блока элементов И, группа входов которого соединена с выходами счетчика команд и с первой группой адресных выходов устройства, группа адресных входов которого соединена с второй группой входов первого блока элементов ИЛИ, третья группа входов которого соединена с информационными выходами блока ассоциативной памяти, группа адресных входов которого соединена с выходами регистра адреса активной сопрограммы и с группой входов второго блока элементов И, выходы которого соединены с второй группой входов второго блока элементов ИЛИ, группа информационных входов устройства соединена С/ с входами регистра команд, первая с группа выходов которого соединена с группой информационных выходов устройства и с группой входов дешифратора, вход запуска устройст - ; ва соединен с единичным входом триггера, установочный вход устройства соединен с установочными входами 4 распределителя импульсов и регистра адреса активной сопрограммы, информационные входы которого соединены с выходами третьего блока элементов И, группа входов которого соединена с второй группой выходов регистра команд и с второй труппой адресных выходов устройства, первый выход распределителя импульсов соединен со счетным входом с етчика команд, выход первого элемента И группы соединен с управляюс им входом первого блока элементов И и с входом записи . блока стековой памяти, выход перво го элемента ИЛИ соединен с входом записи блока ассоциативной памяти, .
Изобретение относится к вычислительной технике и может быть исполь зовано в усчрой.ствах управления ЭВМ Известно устройство для управлений подпрограммами, содержащее регистры конанд, счетчик команд, элементы И и блок памяти jljj Его недостаток - невозможность управления сопрограммами,, Наиболее близким к изобретению по технической сущности и достигавмому результату является система oq работки информации, использузседая запоминанщее устройство и магазинную память выталкиваемого типа для вложенных подпрограмм, содержащая счет чик команд, узел увеличения адреса, блок стековой памяти, управляющее запоминакяцее устройство и группу элементов ИЛИ 2 . Недостатком известного устройства является невозможность управления сопрограммами, так как переход к подпрограмме осутцествляется по фиксированному, заранее ощ еделенно му (а не устанавливаемому динамичес ки) адресу. Цель изобретения расшшение об ласти применения устройства за сче возможности обращения к подпрограммам по динамическому адресу. Поставленная цель достигается тем, что в устройство для управления . сопрограммами, содержащее счетчик команд, блок стековой памяти и первый блок элементов ИЛИ, выходы которого соединены с информационными входами счетчика команд, выходы которого соединены с информационными входами блока стековой памяти, информационные выходы которого соединены с первой группой входов первого блока элементов ИЛИ, введены второй блок элементов ИЛИ, блок ассоциативной памяти, регистр команд, регистр адреса активной памяти, регистр информации, три блока элементов И, группа элементов И, элемент И, триггер, два элемента ИЛИ, дешифратор, распределитель импульсов, генератор импульсов, причем группа входов начальной записи устройства соединена с группой установочных входов блока ассоциативной памяти, группа информационных Екодов которого соединена с выходами регистра информации, входы которого соединены с выходами второго блока элементов ИЛИ, первая группа входов которого соединена с выходами первого блока элементов И, группа входов которого соединена с выходами счетчика команд и с первой группой адресных выходов устройства, группа
3
адресных входов которого соединена с второй группой входов первого блока элементов ИЛИ, третья группа входов которого соединена с информационными выходами блока ассоциативной памяти, группа адресных входов которого соединена с выходами регистра адреса активной сопрограммы и с группой входов второго блока элеь ентов И, выходы которого соединены с второй группой входов второго блока элементов ИЛИ, группа информационных входов устройства соединена с входами регистра команд, первая группа выходов которого соединена с группой информационных выходов устройства и с группой входов дешифратора, вход запуска устройства соединен с единичным входом триггера, установочньп вход устройства соеди-i нен с установочными входами распределителя импульсов и регистра адреса активной сопрограммы, информационные входы которого соединены с выходами третьего блока элементов И, группа входов которого соединена с второй группой выходов регистра команд и с второй группой адресных вьрсодов устройства, первь1й выход распредели еля импульсов соединен со счетным входом счетчика команд, выход первого элемента И группы .соединен с управляющим входом первого блока элементов И и с входом записи блока стековой памяти, выход первого элемента ИЛИ соединен с входом записи блока ассоциативной памяти, выход второго элемента И группы соединен с управляницим входом третьего блока элементов И, выход третьего элемента И группы соединен с входом чтения блока ассоциативной памяти, выход четвертого элемента И группы соединен с управляющим входом второго блока элементов И и с входом чтения блока стековой памяти, установочный вход устройства соединен с первым входом второго элемента ИЛИ, выход которого соединен с нулевым входом триггера, выход триггера соединен с первым входом элемента И, второй вход которого соединен с выходом генератора импульсов, выход элемента И соединен с входом запуска распределителя импульсов, второй, третий, четвертый
пятый, шестой и седьмой выходы распределителя импульсов соединены с первыми входами первого, второго.
441104
третьего, четвертого, пятого и шестого элементов И группы соответственно, первьй выход дешифратора соединен с вторыми входами первого, второго,
5 третьего и пятого элементов И групг пы, второй выход дешифратора соединен с вторыми входами четвертого и шестого элементов И группы, выходы пятого и шестого элементов И группы соединены с первым, вторым входами первого элемента ИЛИ, восьмой выход распределителя импульсов соединен с ,. вторым входом второго элемента ИЛИ.
На чертеже показана схема устройства.
Устройство содержит счетчик 1 команд, блок 2 стековой памяти, блоки. 3 и 4 элементов ИЛИ, блок 5 ассоциативной памяти, группу 6 элементов И, регистр 7 команд, регистр 8 адреса активной сопрограмьвл, регистр 9 информации, блоки 10-12 элементов И, группу входов 13 начальной записи устройства, группу адресных входов 14 устройства, группу информационньйс входов 15 устройства, вход 16 запуска устройства, установочный вход 17 устройства, группы адресных выходов 18 и 19 устройства, группу информационных выходов 20 устройства, генератор 21 импульсов, триггер 22, распределитель 23 импульсов, дешифратор 24, элементы ИЛИ 26, элементы И 27-33 группы 6, выходы 34-41 распределителя 23 импульсов, выход 42 распределителя 23, выход 43 элемента И 28, выход 44 элемента ИЛИ 26, выходы 45-47 элементов И 30-32. I
0 Связь между основной программой и
подпрограммой несимметрична, так как вход в подпрограмму всегда осуществляется через ее начало, в то время как в основную программу управление всегда возвращается в точку, непосредственно следующую за обращением. Связь же между сопрограммами совершенно симметрична. Если А и В conpdr/раммы, то вхрд в В осуществляется всегда в точку, непосредственно следующувэ за самым последним вызовом А из В, и наоборот.
. Устройство работает следующим образом.
5 При включении питания импyhьcoм с входа 17 регистр 8 и триггер 22 обнуляются, а распределитель 23 устанавливается в исходное состояние (при этом ни на один из его выходов сигнал не выдается). Адрес первой команды управляющей программы записывается через блок 3 элементов ИЛИ в счётчик 1 с группы входов 14. Этот адрес.поступает на группу вькодов 18, которая подключае ся к запоминающему устройству. Из за поминающего устройства на регистр 7 по группе входов 15 считывается первая команда управляющей программы. Команды обращения к сопрограмме и возврата вьгполняются в предлагаемом устройстве, а остальные - в других узлах устройства управления, причем код операции поступает на гру пу выходов 20, а адресная часть на группу выходов 19. После приема кода команды на регистр 7 подается импуЛьс на вход .16, которьш устанавливает триггер 22в единичное состояние. При этом открывается элемент И 27, и импульс с выхода генератора 21 проходят на вход распределителя 23. Если на регистр 7 принята команда обращения к сопрограмме, то появляется сигнал на первом вькоде дешифратора 24, а если команда возврата - то на второ Другие, коды операций дешифратор 24 не расшифровывает, распределитель 23начинает вьщавать импульсы последовательно на своих выходах, начи ная с 34 и кончая 41. По импульсу на выходе 34 содержимое счетчика 1 увеличивается на единицу, т.е. формируется адрес следующей команды. Если в регистре 7 не находится кома да управления сопрограммами, то бол „ „ ше никаких операции в устройстве не вьшолняется. По импульсу с выход 41 распределителя 23 триггер 22 устанавливается в нулевое состояние и прохождение импульсов через элемент И 27 запрещается. Распределитель 23 после появления импульса на выходе 41 переходит в исходное состояние. По специальной команде информаци о Сопрограммах заносится по группе входов 13 в блок 5 ассоциативной па мяти. При этом для катвдой сопрограм мы отводится одна ячейка ассоциатив ной памяти. Адресная и информационj ная части каждой ячейки после начал ной записи содержит одинаковую информацию, а именно адрес точки вход В соответствующую сопрограмму) находящуюся в запоминающем устройстве. После этого устройство готово к управлению сопрограммами, адреса точек входд в которые записаны в блок 5. Пусть на регистр 7 прочитана., команда обращения к сопрограмме. Она имеет вид: С А, где С - код операцйи А - адреса точки входа в сопрограмму. При этом открываются элементы И 28-31. По импульсу с входа 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
адреса команды, следующей за командой обрацеНня к сопрограмме, в ячейку блока 5 адресной частью, равной адресу точки входа вызывающей сопрограммы В конце цикла выполнения этой команды в счетчик 1 не обязательно записывается только адрес точки входа в вызываемую сопрограмму. Он записывается только в том случае, когда происходит первое обращение к сопрограмме,. либо предыдущее выполнение этой сопрограммы закончилось командой возврата, а не командой обращения к другой сопрограмме. Если же предьщущее выполнение сопрограммы было прервано командой обращения к другой сопрограмме, то .при последующем обращении к прерванной сопрограмме в счетчик 1 заносится адрес команды, следующей за последней, выполнившейся при предыдущем обращении к ней команды. Это происходит вследствие изменения содержимого блока 5 в процессе работы устройс ва. ,
Если же на регистр 7 считывается команда возврата, состоящая только из одного кода операции, то. откры4NO8
ваются элементы И 32 и 33. После запуска .распределителя 23 содержимое счетчика 1 увеличивается на единицу. Импульсы с выходов 35-38 распределителя 23 на входы элементов И группы 6 не проходят, По имПульсу с выхода 39 распределителя 23 осзпдествляется прием адреса выполняющейся сопрограммы в регистр 9 через блоки 11 элементов И и 4 элементов ИЛИ. Кроме того, адрес возврата .в вызываемую сопрограмму из вершины блока 2 .стековой памяти переписывается через блок 3 элементов ИЛИ в счетчик
f5 1. Импульс с выхода 40 распределителя 23 проходит через элемент И 33 и элемент 26 на вход записи блока 5, При этом по-адресу точки входа в сопрограмму, выполнение которой завершается, записывается этот, же адрес точки входа, т.е. восстанавливается содержимое первоначальное соответствующей ячейкидля того, чтобы следующее обращение к этой сопрограмме
5 привело к передаче управления в ее точку входа.
.Применение изобретения позволяет расширить область применения устройства.
Печь для непрерывного получения сернистого натрия | 1921 |
|
SU1A1 |
Устройство для управления подпрограммами | 1980 |
|
SU942024A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
Патент США № 3909797, кл | |||
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1985-03-07—Публикация
1983-11-23—Подача