Устройство для выбора подпрограмм

 

О П И С А Н И Е (826354

ИЗЬБРЕТЕН ИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

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

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

Реслублнк (61) Дополнительное к авт. свид-ву— (22) Заявлено 27.06.79 (21) 2819485/18-24 с присоединением заявки №вЂ” (23) Приоритет— (51) /М. Кл.

G 06 F 9/42

Гарударетееииый камитет

СССР (53) УДК 681.325 (088.8) Опубликовано 30.04.81. Бюллетень № 16

Дата опубликования описания 30.04.81 па делам изебретеиий и аткрытий

В. П. Фролов и Ю. А. Максимо

1 (.:; " д, )

1 (72) Авторы изобретения (71) Заявитель (54) УСТРОЙСТВО ДЛЯ ВЫБОРА ПОДПРОГРАММ

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

Известно устройство, содержащее первый и второй регистры заявок, группы элементов ИЛИ и группы элементов И (1).

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

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

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

Цель изобретения — повышение надежности работы устройства.

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

10 блока памяти соединен с первым выходом блока управления, второй выход которого соединен с первым входами блока памяти переменных данных и блока формирования реального времени и с входом блока памяти

15 постоянных данных, первый и второй выходы буферного блока памяти соединены соответственно со вторым входом блока памяти переменных данных и с первым входом блока управления, второй и третий входы которого соединены соответственно с зо первым выходом блока памяти программ и с выходом блока фиксации величин разностей, вход которого соединен с выходом арифметического блока, первый, второй и третий входы которого соединены соответ826354

15

45

55 ствепно с первым выходом блока формирования реального времени, с выходами блока памяти постоянных данных и блока памяти переменных данных, третий вход которого соединен с выходом блока формирования реального времени, второй вход которого соединен с третьим выходом блока управ IpHHH, четвертый и пятый выходы которого соединены соответственно с первым и вторым входами блока памяти программ, введен блока памяти времен выполнения программ, причем вход и выход блока памяти времен выполнения программ соединены соответственно с шестым выходом блока управления и четвертым входом арифметического блока, четвертый вход блока управления соединен с третьим выходом буферного блока памяти, четвертый выход которого соединен соединен со вторым выходом олока памяти программ, третий вход которого соединен с седьмым выходом блока управления и с третьим входом буферного блока памяти.

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

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

Устройство содержит буферный блок 1 памяти, блок 2 управления, блок 3 памяти программ, блок 4 памяти переменных данных, блок 5 памяти постоянных данных, блок 6 фиксации величин разностей, арифметический блок 7, блок 8 формирования реального времени, блок 9 памяти времен выполнения программ. Блок 2 управления содержит регистр 10 кодов номеров подпрограмм, дешифратор 11 приоритетов, дешифратор 12 адреса, триггер 13, регистр 14 адреса, дешифратор 15 знака, элементы

И 16 — 19, элемент ИЛИ 20.

Блок 2 предназначен для управления процессом выбора подпрограмм и для передачи номера выбранной приоритетной подпрограммы в блок 3.

Блок 3 осуществляет хранение выполняемых подпрограмм. Он может представлять собой запоминаюший блок с неразрушимым считыванием, состоящий из отдельных секций, соответствуюц;их выполняемым подпрограммам. Каждая секция блока 3 обеспечивает выполнение операций, составляющих соответствующие подпрограммы.

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

Блок 5 предназначен для хранения информации о значениях максимально допустимого времени задержки вкл1очения каждой из выполняемых подпрограмм.

Арифметический блок 7 служит для вычисления разности поступающих на его входы величин и передачи ее на вход блока 6.

Блок 6 фиксирует величину разности и передает ее в блок 2.

Блок 8 — датчик реального времени.

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

Устройство работает следующим образом.

В исходном состоянии регистр 10 кодов и регистр 14 адреса обнулены, а триггер

13 находится в йулевом состоянии. При поступлении запроса на выполнение какойлибо подпрограммы в блок l он через откры826354 тый триггером 13 элемент И 16 блока 2 выдает сигнал об этом в блок 8, по которому блок 8 передает отметку текущего времени в ту ячейку блока 4, которая закреплена за подпрограммой, на выполнение которой пришел запрос. По окончании выполнения очередной подпрограммы блок 3 выдает сигнал в блок 2, перебрасывая триггер

13 блока 2 в единичное состояние.

Сигналом с единичного выхода триггера 13 от блока 1 запрашиваются номера всех подпрограмм, запросы на выполнение которых находятся в настоящий момент в блоке 1.

Блок 1 выдает коды номеров подпрограмм в блок 2, где они записываются в регистре

10 кодов. Из регистра 10 значения кодов номеров подпрограмм поступают на дешифратор 1! приоритетов и дешифратор 12 адреса, которые выделяют из всех кодов код старшей по приоритету подпрограммы. Управляющий сигнал с выхода дешифратора

12 адреса, соответствующий выбранной подпрограмме, старшей по приоритету, через открытый элемент И 17, поступает в те ячейки блоков 4 и 5, которые закреплены за выбранной подпрограммой, и в блок 8.

Одновременно код адреса старшей по приоритету подпрОграммы записывается в регистре 14 адреса. После получения в арифметическом блоке 7 величины допустимого времени ожидания старшей по приоритету подпрограммы на выходе блока 6 появляется сигнал через открытый элемент

И 19, обнуляющий ту ячейку регистра 10 кодов, в которой записан код выбранной дешифратором адреса подпрограммы, и перебрасывающий триггер 13 в нулевое состояние.

Затем дешифратор ll приоритетов и дешифратор !2 адреса выделяют код следующей по приоритету подпрограммы, и управляющий сигнал с выхода дешифратора

12 адреса через открытый элемент И 18 поступают в ту ячейку блока 9, которая закреп. лена за данной подпрограммой. Определенная в арифметическом блоке 7 величина разности между допустимым временем ожидания старшей по приоритету подпрограммы и временем выполнения выбранной подпрограммы запоминается в блоке 6, откуда она поступает на вход дешифратора 15 знака блока 2.

В том случае, если получаемая разность отрицательна, сигнал, с выхода дешифратора 15 знака через элемент ИЛИ 20 обнуляет ячейку регистра 10 кодов, соответствующую выбранной подпрограмме, так как выполнять ее перед старшей по приоритету подпрограммой нельзя. На выходе дешифратора 12 адреса появляется сигнал, соответствующий следующей по приоритету подпрограмме, и т. д.

Если же получаемое значение разности положительно. то выбранную подпрограмФормула изобретения

30 памяти переменных данных и блока формирования реального времени и с входом блока памяти постоянных данных, первый и второй выходы буферного блока памяти соединены соответственно со вторым вхо35 дом блока памяти переменных данных и с первым входом блока управления, второй и третий входы которого соединены соответственно с первым выходом блока памяти программ и с выходом блока фиксации величин разностей, вход которого соединен с выходом арифметического блока, первый, второй и третий входы которого соединены соответственно с первым выходом блока формирования реального времени, с выходами блока памяти постоянных данных и блока

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

1О !

20 му можно выполнять без ущерба для старшей по приоритету подпрограммы, поэтому сигнал с выхода дешифратора 15 знака поступает в блок 3, где в соответствии с этим сигналом начинается выполнение выбранной дешифратором 1! приоритетов и дешифратором 12 адреса подпрограммы.

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

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

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

826854

Составитель Г. Пономарева

Редактор С. Шевченко Техред А. Бойкас Корректор М. Демчик

Заказ 2501/71 Тираж 745 Подписное

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

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

Филиал ППП «Патент», г. Ужгород, ул. Проектная, 4 управления соединен с третьим выходом буферного блока памяти, четвертый выход которого соединен со вторым выходом блока памяти программ, третий вход которого соединен с седьмым выходом блока управления и с третьим входом буферного блока памяти.

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

Источники информации, принятые во внимание при экспертизе

1. Авторское свидетельство СССР № 281901, кл. G 06 F 9/18, 1969.

2. Авторское свидетельство СССР № 506855, кл. G 06 F 9/18, 1976 (прототип).

Устройство для выбора подпрограмм Устройство для выбора подпрограмм Устройство для выбора подпрограмм Устройство для выбора подпрограмм 

 

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

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

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

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

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

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

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

Группа изобретений относится к компьютерной технике и может быть использована для проверки адреса возврата процедуры. Техническим результатом является предотвращение несанкционированной модификации стека. Устройство содержит указатель стека для указания на первый адрес возврата, хранящийся в стеке; указатель буфера адреса возврата для указания на второй адрес возврата, хранящийся в буфере адреса возврата; и логическое устройство проверки адреса возврата для сравнения первого адреса возврата со вторым адресом возврата в ответ на прием команды возврата и исполнения, в ответ на прием команды модификации буфера адреса возврата, по меньшей мере одного действия из: сохранения адреса возврата в буфере адреса возврата или удаления адреса возврата из буфера адреса возврата, причем команда модификации буфера адреса возврата является привилегированной командой. 3 н. и 14 з.п. ф-лы, 12 ил.
Наверх