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

 

АН-ИЕ

ОПИС

ИЗОБРЕТЕНИЯ

Союз Советских

Социалистических

Реслублик

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (61) Дополнительное к авт. свид-ву (22) Заявлено 06.04.72 (21) 1770543 18-24 с присоединением заявки № (23) Приоритет

Опубликовано 30.07.75. Бюллетень № 28

Дата опубликования описания 09.10.75 (51) М, Кл. G 06f 9/ 9D

Государственный комитет

Совета Министров СССР ла делам изобретений и открытий (53) УДК 681.326.77 (088.8) (72) Авторы изобретения

В. М. Долкарт, М. М. Каневский, И. Р. Крамфус, Г. Х. Новик и В. H. Степанов (71) ЗаявителЬ (54) УСТРОЙСТВО ДЛЯ ПЕРЕДАЧИ УПРАВЛЕНИЯ

ПОДП РО ГРАММАМ

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

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

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

Аппаратные затраты при этом весьма значительны.

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

16. Поэтому необходимы специальные программные средства для перезапоминания содержимого индекс-регистров в память и из памяти при прерываниях и переходах к подпрограммам.

Это уменьшает эффективность использования процессоров.

В процессорах, где применяются в качестве индекс-регистров произвольные ячейки

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

Цель изобретения — сокращение оборудования. При этом незначительно снижается быстродействие, так как для вхождения в подпрограмму необходимы два обращения к индикаторному регистру.

Исполнение подпрограммы требует значительно большего (на несколько порядков) числа обращений к ЗУ. Таким бразом, в процентном отношении потери времени из-за обращения к индикаторному регистру весьма незначительны.

В предлагаемое устройство введены индикаторный регистр и блок пуска подпрограмм, входы которого соединены соответственно с выходами индикаторного регистра, блока управления и регистра базы индекса. Первый

20 выход блока пуска подпрограмм подключен к входу блока управления, второй выход — к второму входу регистра базы индекса, третий выход — к первому входу индикаторного регистра, второй вход которого соединен с вы25 ходом блока управления.

На чертеже представлена схема устройства.

Она содержит блок 1 формирования адреса; блок 2 перемещения и защиты программ; регистр 3 номера индекса; регистр 4 базы ин30 декса; индикаторный регистр 5; блок 6 пуска

479113

3 подпрограмм; блок 7 управления; шину 8 переполнения; шину 9 занятия уровня; шину 10 номера уровня.

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

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

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

Обеспечение требуемой формы кодирования .возлагается на программиста. Второе же условие может быть реализовано аппаратно.

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

Предлагаемое устройство решает эту задачу, Каждая подпрограмма, расположенная в оперативном запоминающем устройстве, начинается со служебной группы ячеек, назы.ваемых программным уровнем. Эти ячейки используются в качестве индекс-регистров. Одна из этих ячеек отведена для хранения содержимого индикаторного регистра 5. Если подпрограмма рассчитана на несколько вхождений, то в ее начале отводится несколько групп служебных ячеек — программных уровней, .Разряды регистра 5 пронумерованы слева направо и первый разряд регистра соответствует первому уровню, второй разряд — второму уровню и т. д. Если значение разряда регистра 5 равно единице, это означает, что соответ5

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 Подписное

ЦНИИПИ Государственного комитета Совета Министров СССР по делам изобретений и открытий

Москва, Ж-35, Раушская наб., д. 4/5

Типография, г . Сапунова, 2

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

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

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

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

 

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

Изобретение относится к устройствам программного управления и предназначено для использования в составе автоматизированных систем управления и регулирования с использованием ЭВМ вышестоящего уровня

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

Изобретение относится к цифровым компьютерным системам и предназначено для обработки двух и более команд параллельно

Изобретение относится к области сельского хозяйства и предназначено для автоматизации полива

Изобретение относится к информационно-рекламным системам на основе больших экранов (панно), предназначенных для воспроизведения графических, цифровых или видеотелевизионных изображений

Изобретение относится к рекламному делу и может быть использовано в системах визуального воспроизведения дистанционно изменяемой информации преимущественно рекламного характера

Изобретение относится к рекламному делу и может быть использовано в системе визуального воспроизведения дистанционно изменяемой информации преимущественно рекламного характера

Изобретение относится к устройству обработки данных и способу выполнения инструкции по обработке данных

Изобретение относится к вычислительной технике

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