(54) УСТРОЙСТВО ДЛЯ ВЫБОРА ПОДПРОГРАММ
название | год | авторы | номер документа |
---|---|---|---|
Устройство для сопряжения центрального процессора с группой арифметических процессоров | 1984 |
|
SU1254495A1 |
Автоматизированная система контроля радиоэлектронных устройств | 1989 |
|
SU1683038A1 |
Устройство для сопряжения центрального процессора с группой арифметических процессоров | 1989 |
|
SU1702377A1 |
Устройство для сопряжения центрального процессора с группой арифметических процессоров | 1988 |
|
SU1529236A1 |
Устройство для сопряжения центрального процессора с группой арифметических процессоров | 1984 |
|
SU1288704A1 |
Устройство для программного управления технологическим оборудованием | 1989 |
|
SU1714575A1 |
Управляющая векторная вычислительная система | 1982 |
|
SU1120340A1 |
Мультипроцессорная система | 1983 |
|
SU1156088A1 |
Устройство для обработки данных | 1980 |
|
SU896625A1 |
Устройство микропрограммного управления | 1985 |
|
SU1287156A1 |
1
Изобретение относится к вычислительной технике и может быть использовано, например в управляющих устройствах электронных узлов коммутации автоматизированных систем связи,
Известно устройство, содержащее первый и второй регистры заявок, группы элементов ИЛИ и группы элементов И 1.
Недостатком этого устройства является жесткая организация очередности обслуживания поступающих заявок в соответствии с предписанными приоритетами, что снижает гибкость работы устройства и ведет к потере управляющей информации.
Наиболее близким по технической сущности к предлагаемому является устройство, содержащее буферный блок памяти, блок памяти программ, блок управления, блоки формирования реального времении и фиксации величин разностей, блоки памяти временных данных и памяти постоянных данных и блок определения величин разностей 2.
Недостатком устройства является наличие потерь управляющей информации высших приоритетов, а значит и наиболее важной, возникающих вследствии замены предписанной приоритетности программ приоритетностью текущих допустимых времен ожиданияЦель изобретения - повьшление надежности работы устройства.
Поставленная цель достигается тем, что в устройство для выбора подпрограмм, содержащее буферный блок памяти, первый вход которого является информационным входом устройства, второй вход буферного
блока памяти соединен с первым выходо.м блока управления, второй выход которого соединен с первым входами блока памяти переменных данных и блока формирования реального времени и с входом блока памяти постоянных данных, первый и второй выходы буферного блока памяти соединены соответственно со вторым входом блока памяти переменных данных и с первым входом блока управления, второй и третий входы которого соединены соответственно с
первым выходом блока памяти програ.мм и с выходом блока фиксации величин разностей, вход которого соединен с выходом арифметического блока, первый, второй и третий входы которого соединены соответственно с первым выходом блока формирования реального времени, с выходами блока памяти постоянных данных и блока памяти переменных данных, третий вход которого соединен с выходом блока формирования реального времени, второй вход которого соединен с третьим выходом блока управления, четвертый и пятый выходы которого соединены соответственно с первым и вторым входами блока памяти программ, введен блока памяти времен выполнения программ, причем вход и выход блока памяти времен выполнения программ соединены соответственно с шестым выходом блока управления и четвертым входом арифметического блока, четвертый вход блока управления соединен с третьим выходом буферного блока памяти, четвертый которого соединен соединен со вторым выходом блока памяти программ, третий вход которого соединен с седьмым выходом блока управления и с третьим входом буферного блока памяти. Кроме того, блок управления содержит дешифратор приоритетов, дешифратор адреса, регистр кодов номеров подпрограмм, регистр адреса, дешифратор знака, триггер, элемепты И, ИЛИ, причем первый вход первого элемента И соединен с первым входом блока, второй вход первого элемента И соединен с нулевым выходом триггера и с первым входом второго элемента И, второй вход которого соединен с седьмым выходом блока, с выходом дешифратора адреса, с первым входом третьего элемента И и с первым информационным входом регистра кодов номеров подпрограмм, второй информационный вход которого соединен с четвертым входом блока, группа разрядных выходов регистра кодов но.меров подпрограм.м соединена с группами входом дешифратора приоритетов и дешифратора адреса, вход которого соединен с выходо.м дешифратора приоритетов, выходы первого и второго элементов И соединены соответственно со вторым и шестым выходами блока, третий выход которого соединен с выходо.м третьего элемента И и с первым информационным входом регистра адреса, второй информационный вход которого соединен с разрядным выходом регистра кодов номеров подпрограмм, выход регистра адреса соединен с пятым выходом блока, четвертый выход которого соединен с первым выходом дешифратора знака, вход которого соединен с третьим входом блока и с первым входом четвертого элемента И, второй вход которого соединен с единичным выходом триггера, первым выходом блока и вторым входом третьего элемента И, второй выход дешифратора знака соединен с первым входом элемента ИЛИ, второй вход которого соединен с выходом четвертого элемента И с нулевым входом триггера, единичный вход которого соединен со вторым входом блока, выход элемента ИЛИ соединен с входом установки в нуль регистра кодов номеров подпрограмм. На чертеже представлена блок-схема устройства. Устройство содержит буферный блок 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 предназначен для хранения информации о значениях максимально допустимого времени задержки включения каждой из выполняемых подпрограмм. Арифметический блок 7 служит для -вычисления разности поступающих на его входы величин и передачи ее на вход блока 6. Блок 6 фиксирует величину ра.зности и передает ее в блок 2. Блок 8 - датчик реального времени. Блок 9 предназначен для хранений информации о времени выполнения подпрограмм. Каждую подпрограмму, хранящуюся в блоке 3, можно охарактеризовать максимальным временем ее выполнения. Информация о значениях этих величин хранится в ячейках блока 9, представляющего собой оперативный запоминающий блок, каж дая ячейка которого закреплена за отдельной подпрограммой. . Устройство работает следующим образом, В исходном состоянии регистр 10 кодов и регистр 14 адреса обнулены, а триггер 13 находится в Нулевом состоянии. При поступлении запроса на выполнение какойлибо подпрограммы в блок 1 он через открытый триггером 13 элемент И 16 блока 2 выдает сигнал об этом в блок 8, по которому блок 8 передает отметку текущего времени в ту ячейку блока 4, которая закреплена за подпрограммой, на выполнение которой пришел запрос. По окончании выполнения очередной подпрограммы блок 3 выдает сигнал в блок 2, перебрасывая триггер 13 блока 2 в единичное состояние.
Сигналом с единичного выхода триггера 13 от блока 1 запрашиваются номера всех подпрограмм, запросы на выполнение которых находятся в настоящий момент в блоке I.
Блок 1 выдает коды номеров подпрограмм в блок 2, где они записываются в регистре 10 кодов. Из регистра 10 значения кодов номеров подпрограмм поступают на дешифратор 11 приоритетов и дешифратор 12 адреса, которые выделяют из всех кодов код старшей по приоритету подпрограммы. Управляющий сигнал с выхода дешифратора 12 адреса, соответствующий выбранной подпрограмме, старшей по приоритету, через открытый элемент И 17, поступает в те ячейки блоков4 и 5, которые закреплены за выбранной подпрограммой, и в блок 8.
Одновременно код адреса старшей по приоритету подпрйграммы записывается в регистре 14 адреса. После получения в арифметическом блоке 7 величины допустимого времени ожидания старшей по приоритету подпрограммы на выходе блока 6 появляется сигнал через открытый эле.мёнт И 19, обнуляющий ту ячейку регистра 10 кодов, в которой записан код выбранной дешифратором адреса подпрограммы, и перебрасывающий триггер 13 в нулевое состояние.
Затем дешифратор И приоритетов и дешифратор 12 адреса выделяют код следующей по приоритету подпрограммы, и управляющий сигнал с выхода дещифратора 12 адреса через открытый элемент И 18 поступают в ту ячейку блока 9, которая закреп лена за данной подпрограммой. Определенная в арифметическом блоке 7 величина разности между допустимым временем ожидания старшей по приоритету подпрограммы и временем выполнения выбранной подпрограммы запоминается в блоке 6, откуда она поступает на вход дещифратора 15 знака блока 2.
В том случае, если получаемая разность отрицательна, сигнал, с выхода дешифратора 15 знака через элемент ИЛИ 20 обнуляет ячейку регистра 10 кодов, соответствующую выбранной подпрограмме, так как выполнять ее перед старщей по приоритету подпрограммой нельзя. На выходе дешифратора 12 адреса появляется сигнал, соответствующий следующей по приоритету подпрограмме, и т. д.
Если же получаемое значение разности положительно, то выбранную подпрограмму можно выполнять без ущерба для старшей по приоритету подпрограммы, поэтому сигнал с выхода дешифратора 15 знака поступает в блок 3, где в соответствии с этим сигналом начинается выполнение выбранной дешифратором II приоритетов и дешифратором 12 адреса подпрограммы.
В том случае, если ни одна из подпрограмм, коды номеров которых записаны в регистре 10 кодов, не может быть выполнена перед старщей по приоритету подпрограммой, то после нескольких циклов сравнений регистр 10 обнуляется, и сигнал об этом поступает ь регистр 14 адреса. По этому сигналу регистр 14 адреса выдает код адреса старщей по приоритету подпрограммы в блок 3, где и начинается ее выполнение.
Таким образом, в предлагаемом устройстве,.благодаря введению блока памяти времен выполнения программ и новых логических связей вероятность потери информации старшего, а значит и более важного приоритета понижается, что повышает эффективност.ь его работы.
Формула изобретения
Авторы
Даты
1981-04-30—Публикация
1979-06-27—Подача