SU1649542A1 - Устройство дл управлени подпрограммами - Google Patents
Устройство дл управлени подпрограммами Download PDFInfo
- Publication number
- SU1649542A1 SU1649542A1 SU894693801A SU4693801A SU1649542A1 SU 1649542 A1 SU1649542 A1 SU 1649542A1 SU 894693801 A SU894693801 A SU 894693801A SU 4693801 A SU4693801 A SU 4693801A SU 1649542 A1 SU1649542 A1 SU 1649542A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- group
- output
- inputs
- input
- outputs
- Prior art date
Links
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
Изобретение относитс к вычислительной технике и может быть использовано в устройствах управлени ЭВМ. Цель изобретени - расширение области применени устройства за счет обеспечени возможности обращени к подпрограммам по динамическому адресу. В устройство введены блок пам ти, содержимое которого монет мен тьс в процессе работы устройства, два регистра, два дешифратора, генератор импульсов, распределитель импульсов , два триггера, п ть элементов И, три элемента ИЛИ, блок элементов ИЛИ. Устройство позвол ет в случае применени его в многопроцессорных ЭВМ обращатьс к подпрограммам, выполн емым параллельно с основной программой, по динамически устанавливаемому адресу. 1 ил
Description
Изобретение относитс к вычислительной технике и может быть использовано в устройствах управлени ЭВМ.
Цель изобретени - расширение области применени устройства путем обеспечени возможности обращени к подпрограммам по динамическому адресу .
На чертеже показана схема устройства .
Устройство содержит счетчик 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 в процессе работы устройства .
Claims (1)
- Формула изобретениУстррйство дл управлени подпрограммами , содержащее два счетчика, четыре регистра, две схемы сравнени три блока элементов И, первый элемент И, первый и второй триггеры, причем группа выходов первого блока элементов И соединена с первой группой адресных выходов устройства, перва группа адресных входов которого соединена с группой входов первого счетчика, выходы которого соединены с группой информационных входов первого блока элементов И, управл ющий вход которого соединен с выходом первого триггера, выходы первого регистра соединены с первой группой входов первой схемы сравнени , втора группа входов которой соединена с второй группой адресных выходов устройства и с группой выходов второго блока элементов И, группа информационных входов которого соединена с группой выходов второго счетчика, управл ющий вход второго блока элементов И соединен с выходом второго триггера и с первым входом первого элемента И, второй вход которого соединен с выходом второй схемы сравнени , перва группа входов которой соединена с группой выходов второго регистра, втора группа входов второ схемы сравнени соединена с второй группой адресных входов устройства, отличающеес тем, что, с целью расширени области применени устройства путем обеспечени возможности обращени к подпрограммам по динамическому адресу, в него введены п тый и шестой регистры, два дешифратора , блок пам ти, группа элементов И, генератор импульсов, распределитель импульсов, третий счетчик, тр тий и четвертый триггеры, второй, третий, четвертый, п тый и шестой элементы И, блок элемента ИЛИ, первы0505500второй и третий элементы ИЛИ. причем группа входов начальных условий устройства соединена с группой установочных входов блока пам ти, группа информационных входов которого соединена с группой выходов третьего регистра , группа входов которого соединена с группой выходов блока элементов ИЛИ, перва группа входов которого соединена с группой выходов третьего счетчика, группа информационных входов которого соединена с группой выходов второго блока элементов И, перва группа информационных входов устройства соединена с группой входов четвертого регистра, перва группа выходов которого соединена с первой группой информационных выходов устройства и группой входов первого дешифратора , выход которого соединен с первыми входами второго и третьего элементов И, второй вход третьего элемента И соединен с выходом второго триггера, с вторым входом первого элемента И и первым входом четвертого элемента И, выход которого соединен со счетным входом второго счетчика , группа информационных входов которого соединена с первой группой информационных выходов блока пам ти, втора группа информационных выходов которого соединена с группой входов второго регистра, выход третьего элемента И соединен с первым входом первого элемента ИЛИ, второй вход которого соединен с выходом первого элемента И, выход первого элемента ИЛИ соединен с нулевым входом первого триггера, единичный вход которого соединен с выходом второго элемента ИЛИ, с первыми входами первого и второго элементов И группы, с нулевым входом второго триггера и единичным входом третьего триггера, выход которого соединен с вторым входом второго элемента И, выход которого соединен с нулевым входом третьего триггера и первыми входами третьего и четвертого элементов И группы, выход первого элемента И которой соединен со счетным входом третьего счетчика, выход второго элемента И группы соединен с первым входом третьего элемента ИЛИ, выход которого соединен-с входом записи блока пам ти, треть группа информационных выходов которого соединена с группой входов первого регистра, выход п того элемента91И группы соединен с управл ющим входом третьего блока элементов И,,выходы которого соединены с второй групой входов блока элементов ИЛИ, выход шестого элемента И группы соединен с вторым входом третьего элемента ИЛИ, выход третьего элемента И группы соединен с входом чтени блока пам ти, первые входы п того и шестого элементов И группы соединены с выходом первой схемы сравнени , выход генератора импульсов соединен с первым входом п того элемента И, выход которого соединен с входом распределител импульсов, первый выход которого соединен с вторым входом четвертого элемента И и с первым входом шестого элемента И, второй вход которого соединен с выходом первого триггера, выход шестого элемента И соединен со счетным входом первого счетчика, второй, третий, четвертый, п тый, шестой и седьмой выходы распределител импульсов соединены с вторыми входами первого, второго, п того, шестого, третьего и четвертого элементов И группы соответственно , треть группа адресных выходов0954250510 ,устройства соединена с второй группой выходов четвертого регистра и группой входов п того регистра, группа выходов которого соединена с группой адресных входов блока пам ти и группой информационных входов третьего блока элементов И, четверта группа адресных выходов устройства соединена с первой группой выходов шестого регистра , втора группа выходов которого соединена с второй группой информационных выходов устройства и группой входов второго дешифратора, выход которого соединен с первым входом второго элемента ИЛИ, второй вход которого соединен с выходом первой схемы сравнени , выход четвертого элемента И группы соединен с единичным входом второго триггера, восьмой выход распределител импульсов соединен с нулевым входом четвертого триггера , единичный вход которого соединен с входом запуска устройства, выход четвертого триггера соединен с вторым входом п того элемента И, втора группа информационных входов устройства соединена с группой входов шестого регистра,
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU894693801A SU1649542A1 (ru) | 1989-05-22 | 1989-05-22 | Устройство дл управлени подпрограммами |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU894693801A SU1649542A1 (ru) | 1989-05-22 | 1989-05-22 | Устройство дл управлени подпрограммами |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1649542A1 true SU1649542A1 (ru) | 1991-05-15 |
Family
ID=21448740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU894693801A SU1649542A1 (ru) | 1989-05-22 | 1989-05-22 | Устройство дл управлени подпрограммами |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1649542A1 (ru) |
-
1989
- 1989-05-22 SU SU894693801A patent/SU1649542A1/ru active
Non-Patent Citations (1)
Title |
---|
Авторское свидетельство СССР № 1144110, кп. G 06 F 9/46, 1985, Авторское свидетельство СССР № 849214, кп. G 06 F 9/46, 1979. I * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
GB1324617A (en) | Digital processor | |
CA1197626A (en) | Least recently used resolver network | |
SU1649542A1 (ru) | Устройство дл управлени подпрограммами | |
SU1144110A1 (ru) | Устройство дл управлени сопрограммами | |
SU1273929A1 (ru) | Устройство управлени обращением к подпрограммам | |
SU651416A1 (ru) | Ассоциативное запоминающее устройство | |
SU1481854A1 (ru) | Динамическое запоминающее устройство | |
SU809182A1 (ru) | Устройство управлени пам тью | |
SU1126972A1 (ru) | Устройство дл поиска информации | |
SU1472909A1 (ru) | Запоминающее устройство с динамической адресацией | |
SU1037262A1 (ru) | Микропрограммный процессор | |
RU1306360C (ru) | Устройство для ввода информации с ограниченным доступом | |
SU1161944A1 (ru) | Устройство дл модификации адреса зон пам ти при отладке программ | |
SU1485255A1 (ru) | Устройство для адресации буферной памяти | |
SU1065886A1 (ru) | Динамическое запоминающее устройство | |
SU1176346A1 (ru) | Устройство дл определени пересечени множеств | |
SU634278A1 (ru) | Устройство дл управлени подпрограммами | |
SU1578717A1 (ru) | Устройство дл измерени частот по влени групп команд | |
SU1193727A1 (ru) | Запоминающее устройство | |
SU1183979A1 (ru) | Устройство для сбора информации о работе процессора | |
SU1513526A1 (ru) | Резервированное запоминающее устройство | |
SU450233A1 (ru) | Запоминающее устройство | |
SU1290423A1 (ru) | Буферное запоминающее устройство | |
SU1589288A1 (ru) | Устройство дл выполнени логических операций | |
SU1552190A2 (ru) | Устройство дл отладки программ |