SU479113A1 - Устройство дл передачи управлени подпрограммам - Google Patents

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

Info

Publication number
SU479113A1
SU479113A1 SU1770543A SU1770543A SU479113A1 SU 479113 A1 SU479113 A1 SU 479113A1 SU 1770543 A SU1770543 A SU 1770543A SU 1770543 A SU1770543 A SU 1770543A SU 479113 A1 SU479113 A1 SU 479113A1
Authority
SU
USSR - Soviet Union
Prior art keywords
register
subroutine
index
block
subroutines
Prior art date
Application number
SU1770543A
Other languages
English (en)
Inventor
Владимир Михайлович Долкарт
Михаил Матвеевич Каневский
Илья Романович Крамфус
Григорий Хацкелевич Новик
Виктор Николаевич Степанов
Original Assignee
Предприятие П/Я Г-4128
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Предприятие П/Я Г-4128 filed Critical Предприятие П/Я Г-4128
Priority to SU1770543A priority Critical patent/SU479113A1/ru
Application granted granted Critical
Publication of SU479113A1 publication Critical patent/SU479113A1/ru

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

Изобретение относитс  к вычислительной технике и, в частности, к устройствам управлени  центральных процессоров.
Известны устройства дл  передачи управлени  подпрограммам, в которых примен ютс  регистры-указатели дл  записи в них базовых адресов различных участков пам ти. Эти регистры образуют быструю пам ть, имеющую матрицу выборки регистра по его адресу, а также оборудование управлени . Аппаратные затраты при этом весьма значительны .
Известны также устройства, содержащие аппаратуру дл  выполнени  функций индексрегистров . Количество индекс-регистров, реализованных аппаратно, обычно не превыщает 16. Поэтому необходимы специальные программные средства дл  перезапоминани  содержимого индекс-регистров в пам ть и из пам ти при прерывани х и переходах к подпрограммам .
Это уменьшает эффективность использовани  процессоров.
В процессорах, где примен ютс  в качестве индекс-регистров произвольные  чейки ОЗУ, проблема сохранени  содержимого индекс-регистров решаетс  за счет аппаратного выделени  нового участка ОЗУ под индексрегистры при переходе к подпрограммам. Это свойство обеспечивает повышение эффективности работы процессоров за счет ликвидации издержек на вспомогательные программы перезапоминани . Цель изобретени  - сокращение оборудовани . При этом незначительно снижаетс  быстродействие, так как дл  вхождени  в подпрограмму необходимы два обращени  к индикаторному регистру. Исполнение подпрограммы требует значительно большего (на несколько пор дков) числа обращений к ЗУ. Таким бразом, в процентном отношении потери времени из-за обращени  к индикаторному регистру весьма незначительны .
В предлагаемое устройство введены индикаторный регистр и блок пуска подпрограмм, входы которого соединены соответственно с выходами индикаторного регистра, блока управлени  и регистра базы индекса. Первый
выход блока пуска подпрограмм подключен к входу блока управлени , второй выход - к второму входу регистра базы индекса, третий выход - к первому входу индикаторного регистра , второй вход которого соединен с выходом блока управлени .
На чертеже представлена схема устройства.
Она содержит блок 1 формировани  адреса;
блок 2 перемещени  и защиты программ;
регистр 3 номера индекса; регистр 4 базы индекса; индикаторный регистр 5; блок 6 пуска подпрограмм; блок 7 управлени ; шину 8 переполнени ; шину 9 зан ти  уровн ; шину 10 номера уровн . При построении многопрограммных вычислительных машин, особенно многолроцессорных вычислительных комплексов, возникает проблема передачи управлени  общим подпрограммам , т. е. таким подпрограммам, которые используютс  совместно с несколькими задачами многопрограммной системы, выполн юш ,имис , возможно, на нескольких процессорах . При этом возникают ситуации, когда обща  подпрограмма, будучи незаконченной , прерываетс , а затем происходит новое обраш,ение к ней из другой задачи. Возможна также ситуаци , когда два процессора почти одновременно могут обратитьс  к обшей подпрограмме и далее выполн ть ее со сдвигом на одну или несколько команд. В первом случае следует выполнить обшую подпрограмму, выйти из нее и в будущем довыполнить ее с прерванного места и выйти из подпрограммы в точку обращени . Во втором случае необходимы независимое исполнение общей подпрограммы двум  или более процессорами и по окончании подпрограммы выход из нее каждого процессора в точку обращени . Дл  того- чтобы подпрограмма обладала такими свойствами, нужно выполнить несколько условий. В частности, подпрограмма должна быть закодирована так, чтобы она не содержала в своем теле переменных команд и рабочих  чеек. В противном случае повторное вхождение в обшую подпрограмму до окончани  ее работы по первому вхождению должно быть запрещено. Вторым необходимым условием рентабельности общей подпрограммы  вл етс  предоставление каждому вхождению в общую подпрограмму своей группы индекс-регистров и рабочих  чеек. Обеспечение требуемой формы кодировани  возлагаетс  на программиста. Второе же условие может быть реализовано аппаратно. Особенно это удобно, если индекс-регистры .физически размещаютс  в оперативной пам ти и адрес их начала тем или иным образом св зан с адресом начала общей подпрограммы. Предлагаемое устройство решает эту заКажда  подпрограмма, расположенна  в . оперативном запоминающем устройстве, начинаетс  со служебной группы  чеек, назы .ваемых программным уровнем. Эти  чейки используютс  в качестве индекс-регистров. Одна из этих  чеек отведена дл  хранени  содержимого индикаторного регистра 5. Если подпрограмма рассчитана на несколько вхождений , то в ее начале отводитс  несколько групп служебных  чеек - программных уровней. .Разр ды регистра 5 пронумерованы слева направо и первый разр д регистра соответствует первому уровню, второй разр д - второ / уровню,и т. д. Если значение разр да регистра 5 равно единице, это означает, что соответствующий уровень зан т вхождением в подпрограмму , т. е. подпрограмма выполн етс  или, по крайней мере, начала выполн тьс  каким-либо процессором с использованием данного программного уровн . Если значение разр да регистра 5 равно нулю, это значит, что соответствующий уровень свободен. При выполнении процедуры входа в подпрограмму , блок 6 пуска подпрограмм просматривает слева направо регистр 5 данной подпрограммы дл  того, чтобы найти ближайший нулевой разр д. Если нулевой разр д найден, то блок 6 пуска подпрограмм через шину 9 зан ти  уровн  устанавливает в этом разр де единицу, а на щине 10 номера уровн  - номер этого разр да в регистре 5. Номер уровн  с щины 10 поступает на регистр 4 базы индекса и в дальнейшем используетс  при определении физических адресов  чеек пам ти, используемых в качестве индекс-регистров. Если при просмотре блоком 6 пуска подпрограмм регистра 5 нулевого разр да не обнаружено , то блок 6 через шину 8 переполнени  сообщает об этом блоку 7 управлени , который прекращает выполнение передачи управлени  подпрограмме. Таким образом, если подпрограмма рассчитана на одно вхождение, то индикаторный регистр 5 должен вначале содержать только один нулевой разр д. Все остальные разр ды должны быть единичными. В случае выполнени  процедуры выхода из подпрограммы блок 6 пуска подпрограмм, по номеру уровн , поступающему на его вход из регистра 4 базы индекса, устанавливает в нуль по шине 9 зан ти  уровн  разр д индикаторного регистра, соответствующий номеру освобождаемого уровн . При исполнении подпрограммы на любом из уровней вхождени  физические адреса индексрегистров образуютс  следующим образом. Блок 2 перемещени  и защиты программ предназначен дл  преобразовани  относительных адресов программ и групп программ в физические адреса оперативной пам ти. При этом преобразовании блок 2 перемещени  и защиты программ провер ет не выходит ли полученный адрес за диапазон адресов, допустимых дл  данной группы протрамм, осуществл   тем самым функцию защиты программ . При образовании физического адреса индекс-регистра , блок 2 передает в блок 1 формировани  адреса физический адрес начала подпрограммы в оперативной пам ти. Этот адрес должен содержать в младших разр дах нули. Регистр 4 базы индекса передает в блок 1 формировани  адреса номер уровн  вхождени  в подпрограмму, образу  следующую , более младшую группу разр дов физического адреса индекс-регистра. Младшие разр ды физического адреса индекс-регистра берутс  из регистра 3 номера индекса, откуда они поступают в блок 1 формировани  адреса,
Таким образом, устройство дл  передачи управлени  подпрограммам обеспечивает предоставление каждому новому вхождению в подпрограмму своего набора индекс-регистров . Если подпрограмма не рассчитана на повторные вхождени , то устройство нозвол ет обнаружить попытки такого вхожден 1 .
Предмет изобретени 
Устройство дл  передачи управлени  подпрограммам , содержащее регистр номера индекса , регистр базы индекса, блок перемещени  и защиты программ, выходы которых подключены к соответствующим входам блока формировани  адреса, входы соединены с выходом блока управлени , вход -блока формировани  адреса подключен к выходу блока управлени , отличающеес  тем, что, с целью сокращени  оборудовани , оно содержит индикаторный регистр и блок пуска подпрограмм , входы которого соединены соответственно с выходами индикаторного регистра, блока управлени  и регистра базы индекса, первый выход блока пуска подпрограмм подключен к входу блока управлени , второй выход соединен с вторым входом регистра базы индекса, третий выход подключен к первому входу индикаторного регистра, второй вход которого подключен к выходу блока управлени .
..„ и
SU1770543A 1972-04-06 1972-04-06 Устройство дл передачи управлени подпрограммам SU479113A1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU1770543A SU479113A1 (ru) 1972-04-06 1972-04-06 Устройство дл передачи управлени подпрограммам

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU1770543A SU479113A1 (ru) 1972-04-06 1972-04-06 Устройство дл передачи управлени подпрограммам

Publications (1)

Publication Number Publication Date
SU479113A1 true SU479113A1 (ru) 1975-07-30

Family

ID=20509958

Family Applications (1)

Application Number Title Priority Date Filing Date
SU1770543A SU479113A1 (ru) 1972-04-06 1972-04-06 Устройство дл передачи управлени подпрограммам

Country Status (1)

Country Link
SU (1) SU479113A1 (ru)

Similar Documents

Publication Publication Date Title
US3303477A (en) Apparatus for forming effective memory addresses
US3242467A (en) Temporary storage register
US3858182A (en) Computer program protection means
US4268904A (en) Interruption control method for multiprocessor system
US3614742A (en) Automatic context switching in a multiprogrammed multiprocessor system
US4783736A (en) Digital computer with multisection cache
US3631405A (en) Sharing of microprograms between processors
Conway A multiprocessor system design
US4488227A (en) Program counter stacking method and apparatus for nested subroutines and interrupts
US3889243A (en) Stack mechanism for a data processor
CA1081857A (en) Apparatus for processing interrupts in microprocessing systems
US4347565A (en) Address control system for software simulation
US4794521A (en) Digital computer with cache capable of concurrently handling multiple accesses from parallel processors
CA1139451A (en) Virtual cache
US4109311A (en) Instruction execution modification mechanism for time slice controlled data processors
EP0106572B1 (en) Data processing system with virtual machines
EP0214718A2 (en) Digital computer
GB1353951A (en) Data processing system
US4769770A (en) Address conversion for a multiprocessor system having scalar and vector processors
US5590301A (en) Address transformation in a cluster computer system
DE3650602T2 (de) Datenverarbeitungssystem
GB1498145A (en) Multi-microprocessor unit on a single semi-conductor chip
US3943495A (en) Microprocessor with immediate and indirect addressing
US3555513A (en) Multiprocessor digital computer system with address modification during program execution
US4782443A (en) Main storage control system for virtual computing function system with plural address modes in main storage access operations