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

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

Авторы: Долкарт, Каневский, Крамфус, Новик, Степанов

ZIP архив

Текст

А Н-Иг Е ОПИСИЗОБРЕТЕНИЯ 111 479 НЗ Союз Советских Социалистических Реслублик(51) А,б 061 9/ЮЧ 21) 1770543/18-24 заявкиГосударственный комите Совета Министров СССР Бюллетень28Дата опубликования описания 09.10.75 Авторыизобретения В. М, Долкарт, М(71) Заявител 4) УСТРОЙСТВО ДЛЯ ПЕРЕДАЧИ УПРАВЛЕНИЯ ПОДПРОГРАММАМсокращение оборудоачительно снижается для вхождения в поддва обращения к инИзобретение относится к вычислительнойтехнике и, в частности, к устройствам управления центральных процессоров.Известны устройства для передачи управления подпрограммам, в которых применяются регистры-указатели для записи в них базовых адресов различных участков памяти,Эти регистры образуют быструю память,имеющую матрицу выборки регистра по егоадресу, а также оборудование управления. 10Аппаратные затраты при этом весьма значительны.Известны также устройства, содержащиеаппаратуру для выполнения функций индексрегистров. Количество индекс-регистров, реализованных аппаратно, обычно не превышает16, Поэтому необходимы специальные программные средства для перезапоминания содержимого индекс-регистров в память и изпамяти при прерываниях и переходах к подпрограммам,Это уменьшает эффективность использования процессоров.В процессорах, где применяются в качестве индекс-регистров произвольные ячейки 25ОЗУ, проблема сохранения содержимого индекс-регистров решается за счет аппаратноговыделения нового участка ОЗУ под индексрегистры при переходе к подпрограммам. Этосвойство обеспечивает повышение эффектив ности работы процессоров за счет ликвидации издержек на вспомогательные программы перезапоминания.Цель изобретения -вания, При этом незибыстродействие, так какпрограмму необходимыдикаторному регистру.Исполнение подпрограммы требует значительно большего (на несколько порядков) числа обращений к ЗУ. Таким бразом, в процентном отношении потери времени из-за обращения к индикаторному регистру весьма незначительны.В предлагаемое устройство введены индикаторный регистр и блок пуска подпрограмм, входы которого соединены соответственно с выходами индикаторного регистра, блока управления и регистра базы индекса, Первый выход блока пуска подпрограмм подключен к входу блока управления, второй выход - к второму входу регистра базы индекса, третий выход - к первому входу индикаторного регистра, второй вход которого соединен с выходом блока управления.На чертеже представлена схема устройства, Она содержит блок 1 формирования адреса; блок 2 перемещения и защиты программ; регистр 3 номера индекса; регистр 4 базы индекса; индикаторный регистр 5; блок 6 пуска4 3подпрограмм; блок 7 управления; шину 8 переполнения; шину 9 занятия уровня; шину 10 номера уровня.Т 1 ри построении многопрограммных вычислительных машин, особенно многопроцессорных вычислительных комплексов, возникает проблема передачи управления общим подпрограммам, т. е. таким подпрограммам, которые используются совместно с несколькими задачами многопрограммной системы, выполняющимися, возможно, на нескольких про. цессорах, При этом возникают ситуации, когда общая подпрограмма, будучи незаконченной, прерывается, а затем происходит новое обращение к ней из другой задачи. Возможна также ситуация, когда два процессора почти одновременно могут обратиться к общей подпрограмме и далее выполнять ее со сдвигом на одну или несколько команд, В первом случае следует выполнить общую подпрограмму, выйти из нее и в будущем довыполнить ее с прерванного места и выйти из подпрограммы в точку обращения. Во втором случае необходимы независимое исполнение общей подпрограммы двумя или более процессорами и по окончании подпрограммы выход из нее каждого процессора в точку обращения.Для того чтобы подпрограмма обладала такими свойствами, нужно выполнить несколь. ко условий. В частности, подпрограмма должна быть закодирована так, чтобы она не содержала в своем теле переменных команд и рабочих ячеек. В противном случае повторное вхождение в общую подпрограмму до окончания ее работы по первому вхождению должно быть запрещено,Вторым необходимым условием рентабель. ности общей подпрограммы является предоставление каждому вхождению в общую подпрограмму своей группы индекс-регистров и .рабочих ячеек,Обеспечение требуемой формы кодирования .возлагается на программиста, Второе же условие может быть реализовано аппаратно. Особенно это удобно, если индекс-регистры .физически размещаются в оперативной памяти .и адрес их начала тем или иным образом связан с адресом начала общей подпрограммы.Предлагаемое устройство решает эту задачу,Каждая подпрограмма, расположенная в .оперативном запоминающем устройстве, начинается со служебной группы ячеек, назы.ваемых программным уровнем. Эти ячейки используются в качестве индекс-регистров, Одна из этих ячеек отведена для хранения содержимого индикаторного регистра 5. Если подпрограмма рассчитана на несколько вхождений, то в ее начале отводится несколько групп служебных ячеек - программных уровней, .Разряды регистра 5 пронумерованы слева направо и первый разряд регистра соответствует первому уровню, второй разряд - второму уровню и т. д. Если значение разряда регистра 5 равно единице, это означает, что соответ 5 10 15 20 25 30 35 40 45 50 55 60 65 ствующий уровень занят вхождением в под. программу, т. е, подпрограмма выполняется или, по крайней мере, начала выполняться каким-либо процессором с использованием данного программного уровня. Если значение разряда регистра 5 равно нулю, это значит, что соответствующий уровень свободен,При выполнении процедуры входа в подпрограмму, блок 6 пуска подпрограмм просматривает слева направо регистр 5 данной подпрограммы для того, чтобы найти ближайший нулевой разряд.Если нулевой разряд найден, то блок 6 пуска подпрограмм через шину 9 занятия уровня устанавливает в этом разряде единицу, а на шине 10 номера уровня - номер этого разряда в регистре 5, Номер уровня с шины 10 поступает на регистр 4 базы индекса и в дальнейшем используется при определении физических адресов ячеек памяти, используемых в качестве индекс-регистров,Если при просмотре блоком 6 пуска подпрограмм регистра 5 нулевого разряда не обнаружено, то блок б через шину 8 переполнения сообщает об этом блоку 7 управления, который прекращает выполнение передачи управления подпрограмме,Таким образом, если подпрограмма рассчитана на одно вхождение, то индикаторный регистр 5 должен вначале содержать только один нулевой разряд. Все остальные разряды должны быть единичными.В случае выполнения процедуры выхода из подпрограммы блок б пуска подпрограмм, по номеру уровня, поступающему на его вход из регистра 4 базы индекса, устанавливает в нуль по шине 9 занятия уровня разряд инди. каторного регистра, соответствующий номеру освобождаемого уровня.При исполнении подпрограммы на любом из уровней вхождения физические адреса индекс- регистров образуются следующим образом.Блок 2 перемещения и защиты программ предназначен для преобразования относительных адресов программ и групп программ в физические адреса оперативной памяти. При этом преобразовании блок 2 перемещения и защиты программ проверяет не выходитли полученный адрес за диапазон адресов, допустимых для данной группы программ, осуществляя тем самым функцию защиты программ.При образовании физического адреса индекс-регистра, блок 2 передает в блок 1 формирования адреса физический адрес начала подпрограммы в оперативной памяти. Этот адрес должен содержать в младших разрядах нули. Регистр 4 базы индекса передает в блок 1 формирования адреса номер уровня вхождения в подпрограмму, образуя следующую, более младшую группу разрядов физического адреса индекс-регистра. Младшие разряды физического адреса индекс-регистра берутся из регистра 3 номера индекса, откуда они поступают в блок 1 формирования адреса,479113 Составитель А. ЖереновРедактор И, Грузова Техред М. Семенов Корректор Е. Рогайлнна Заказ 2486/2 Изд, Ио 1649 Тираж 679 Подписное ЦНИИПИ Государственного комитета Совета Министров СССР по делам изобретений и открытий Москва, Ж, Раушская наб., д. 4/5Типография, гр. Сапунова, 2 Таким образом, устройство для передачи управления подпрограммам обеспечивает предоставление каждому новому вхождению в подпрограмму своего набора индекс-регистров. Если подпрограмма пе рассчитана на повторные вхождения, то устройство позволяет обнаружить попытки такого вхождения. Предмет изобретенияУстройство для передачи управления подпрограммам, содержащее регистр номера индекса, регистр базы индекса, блок перемещения и защиты программ, выходы которых подключены к соответствующим входам блока формирования адреса, входы соединены с выходом блока управления, вход блока формирования адреса подключен к выходу блока управления, о тл и ч а ю щее с я тем, что, с целью сокращения оборудования, оно содержит индикаторный регистр и блок пуска подпрограмм, входы которого соединены соответственно с выходами индикаторного регистра, блока управления и регистра базы индекса, первый выход блока пуска подпрограмм подключен к входу блока управления, второй выход соединен с вторым входом регистра базы индекса, третий выход подключен к первому входу индикаторного регистра, второй вход которого подключен к выходу блока уп равления.

Смотреть

Заявка

1770543, 06.04.1972

ПРЕДПРИЯТИЕ ПЯ Г-4128

ДОЛКАРТ ВЛАДИМИР МИХАЙЛОВИЧ, КАНЕВСКИЙ МИХАИЛ МАТВЕЕВИЧ, КРАМФУС ИЛЬЯ РОМАНОВИЧ, НОВИК ГРИГОРИЙ ХАЦКЕЛЕВИЧ, СТЕПАНОВ ВИКТОР НИКОЛАЕВИЧ

МПК / Метки

МПК: G06F 9/19

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

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

Код ссылки

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

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