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

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

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

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

Известны также устройства, содержащие аппаратуру для выполнения функций индексрегистров. Количество индекс-регистров, реализованных аппаратно, обычно не превыщает 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я.

Предмет изобретения

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

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

название год авторы номер документа
ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА 1989
  • Пентковский В.М.
  • Зайцев А.И.
  • Коваленко С.С.
  • Фельдман В.М.
RU2028663C1
Вычислительная система 1977
  • Бурцев В.С.
  • Рыжов В.И.
  • Хайлов И.К.
  • Бабаян Б.А.
  • Сахин Ю.Х.
  • Никитин Ю.В.
  • Лаут В.Н.
  • Горштейн В.Я.
  • Назаров Л.Н.
  • Ялунин Е.В.
  • Жеренов А.И.
  • Пентковский В.М.
SU692400A1
Устройство для сопряжения центрального процессора с группой арифметических процессоров 1984
  • Михнов Юрий Павлович
  • Петров Геннадий Алексеевич
  • Степанов Виктор Степанович
  • Шаляпин Владимир Валентинович
SU1254495A1
Центральный процессор 1991
  • Бабаян Борис Арташесович
  • Волконский Владимир Юрьевич
  • Горштейн Валерий Яковлевич
  • Ким Александр Киирович
  • Назаров Леонид Николаевич
  • Сахин Юлий Хананович
  • Семенихин Сергей Владимирович
SU1804645A3
Устройство управления буферной памятью 1978
  • Сахин Юлий Хананович
  • Багаев Александр Николаевич
  • Ким Ген Сик
SU737952A1
Вычислительная система 1989
  • Бабаян Борис Арташесович
  • Волконский Владимир Юрьевич
  • Горштейн Валерий Яковлевич
  • Ким Александр Киирович
  • Назаров Леонид Николаевич
  • Сахин Юлий Хананович
  • Семенихин Сергей Владимирович
SU1777148A1
СПОСОБ ПЕРЕКЛЮЧЕНИЯ КОНТЕКСТА ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА ПРИ ПРЕРЫВАНИИ ПРОГРАММЫ ИЛИ ПЕРЕХОДЕ К ПОДПРОГРАММЕ 2006
  • Шишарин Сергей Александрович
RU2340933C2
Устройство для сопряжения центрального процессора с группой арифметических процессоров 1988
  • Михнов Юрий Павлович
SU1529236A1
Устройство для сопряжения центрального процессора с группой арифметических процессоров 1989
  • Петров Геннадий Алексеевич
  • Пузанков Дмитрий Викторович
  • Шишкин Вадим Викторинович
  • Шишкина Ольга Юрьевна
SU1702377A1
Многопроцессорная вычислительная система с изменяемой конфигурацией 1974
  • Долкрат Владимир Михайлович
  • Евдолюк Юрий Максимович
  • Каневский Михаил Матвеевич
  • Кащавцев Юрий Андреевич
  • Колтыпин Игорь Сергеевич
  • Крамфус Илья Романович
  • Новик Григорий Хацкелевич
  • Степанов Виктор Николаевич
  • Подлесный Эдуард Сергеевич
  • Федосеев Анатолий Николаевич
SU525953A1

Иллюстрации к изобретению SU 479 113 A1

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

Формула изобретения SU 479 113 A1

..„ и

SU 479 113 A1

Авторы

Долкарт Владимир Михайлович

Каневский Михаил Матвеевич

Крамфус Илья Романович

Новик Григорий Хацкелевич

Степанов Виктор Николаевич

Даты

1975-07-30Публикация

1972-04-06Подача