МНОГОКАНАЛЬНОЕ УСТРОЙСТВО ПРИОРИТЕТА Российский патент 1998 года по МПК G06F9/46 

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

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

Известно многоканальное устройство приоритета [1], содержащее в каждом канале триггер заявок канала, элементы И, ИЛИ, НЕ и выходной триггер канала. Информационный вход триггера заявок канала соединен с соответствующим запросным входом устройства, прямой выход триггера заявок канала соединен с первым входом элемента ИЛИ и первым входом элемента И, выход которого соединен с информационным входом выходного триггера канала, прямой выход выходного триггера канала соединен с соответствующим выходом устройства. Инверсный выход выходного триггера заявок канала, C-вход выходного триггера канала соединен с C-входом триггера заявок канала и тактовым входом устройства. Выход элемента ИЛИ предыдущего канала соединен с входом элемента НЕ и вторым входом элемента ИЛИ последующего канала, выход элемента НЕ канала соединен с вторым входом элемента И канала, вход элемента НЕ и второй вход элемента ИЛИ первого канала соединен с входом логического нуля устройства.

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

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

Известное устройство содержит в каждом канале триггер заявок канала, первый, второй и третий элементы И, элемент ИЛИ, выходной триггер канала, а также первый и второй элементы НЕ.

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

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

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

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

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

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

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

Поэтому целью изобретения является исключение потери заявок на обслуживание.

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

Выходы первых триггеров запросов соединены с соответствующими входами элемента ИЛИ-НЕ.

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

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

Многоканальное устройство приоритета содержит каналы 11...1n, каждый из которых содержит первый 2 и второй 3 триггеры заявок и элемент И4, а также общие для всего устройства элемент ИЛИ-НЕ 5, первый счетчик 6, дешифратор 7, первый 8, второй 9, третий 10 элементы ИЛИ, триггер наличия запросов 11, второй 12 и третий 13 счетчики, а также блок памяти 14, группу запросных входов устройства 151... 15n, группу входов сброса 161... 16n, тактовый вход устройства 17, информационный выход устройства 18 и выход сигнала прерывания 19.

Блок памяти выполнен на микросхемах типа К155РП1 или 555ИР26, представляющих собой матрицу памяти, организованную по системе файл-регистров, что позволяет независимо и одновременно записывать в память одно слово и считывать из нее другое. Организация указанных микросхем представляет из себя 16 ячеек и позволяет хранить 4 слова по 4 бита каждое. Наращиванием числа микросхем можно получить увеличение как количества хранимых слов, так и их длины.

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

В исходном состоянии (при отсутствии заявок на запросных входах 15) триггеры 2, 3, 11, а также счетчики 6, 12, 13 находятся в нулевом состоянии, блок памяти 14 очищен от информаций, на выходах 18 и 19 сигналы отсутствуют, на выходе элемента ИЛИ-НЕ 5 присутствует высокий уровень, поступающий на вход сброса счетчика 6, запрещая его работу.

При поступлении группы заявок на запросные входы 15 триггеры 2 и 3 заявок соответствующих каналов устанавливаются в единичное состояние, при этом на выходе элемента ИЛИ-НЕ 5 устанавливается низкий уровень, разблокирующий работу счетчика 6. По тактам, поступающим на вход 17, с помощью дешифратора 7 и элементов И 4 осуществляется опрос каналов, начиная с наиболее приоритетного на предмет наличия заявки в данном канале. При наличии такой заявки на выходе соответствующего элемента И 4 появляется сигнал, поступающий на один из информационных входов блока памяти 14, а также через первый элемент ИЛИ 8 на вход разрешения записи блока памяти 14.

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

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

По заднему фронту сигнала с выхода элемента И 4 и соответственно первого элемента ИЛИ 8 происходит увеличение содержимого счетчика 12 и на его выходах установится адрес следующего слова блока памяти 14.

Аналогичным образом производится опрос и запись информации в блок памяти 14 для остальных каналов устройства, после чего первый счетчик 6 обнуляется через элемент ИЛИ-НЕ.

В свою очередь, сигнал единичного выхода любого из триггеров 3 через второй элемент ИЛИ 9 устанавливает в единичное состояние триггер наличия запросов 11, на выходе которого формируется сигнал прерывания 19 в устройство обработки прерываний (на чертеже не показано) и сигнал разрешения чтения из блока памяти 14 по адресу, указанному в содержимом третьего счетчика 13. Это вызывает появление информации на выходе 18 устройства, являющейся адресом вектора прерывания для устройства обработки прерываний. Последнее, считывая код с выхода 18, обрабатывает данное прерывание и выдает сигнал сброса по соответствующему входу сброса 16, что приводит к установке в нулевое состояние второго триггера заявок 3 и через третий элемент ИЛИ триггера наличия запросов 11.

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

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

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

название год авторы номер документа
ДВУХВХОДОВОЕ УСТРОЙСТВО ПРИОРИТЕТА 2008
  • Туравинин Владимир Викторович
  • Галаган Олег Васильевич
  • Карабельников Игорь Анатольевич
RU2390825C2
Многоканальное устройство приоритета 1983
  • Непутин Валерий Степанович
SU1148030A1
Отказоустойчивая вычислительная система 1990
  • Кислецов Александр Васильевич
  • Поленов Виктор Петрович
SU1798800A1
Устройство смешанного приоритета 1989
  • Белан Александр Михайлович
SU1619272A1
МНОГОКАНАЛЬНОЕ УСТРОЙСТВО ПРИОРИТЕТА 2009
  • Туравинин Владимир Викторович
  • Жнякин Андрей Анатольевич
RU2415465C2
Устройство приоритетного обслуживания каналов 1989
  • Белан Александр Михайлович
  • Козловский Николай Николаевич
SU1702369A1
Устройство для обслуживания разноприоритетных групп заявок 1990
  • Белан Александр Михайлович
SU1718219A2
Устройство для распределения заданий процессорам 1987
  • Лясковский Виктор Людвигович
  • Прокофьев Юрий Витальевич
  • Капиносов Юрий Александрович
  • Лучин Игорь Николаевич
SU1509891A1
УСТРОЙСТВО ДЛЯ ПРИОРИТЕТНОГО ОБСЛУЖИВАНИЯ ЗАЯВОК 1999
  • Воробьев Л.В.
  • Гужва Д.Ю.
  • Жиров В.А.
  • Поляков А.В.
  • Стратьев А.А.
RU2158022C1
Многоканальное устройство для обслуживания запросов 1985
  • Улитенко Валентин Павлович
  • Тимонькин Григорий Николаевич
  • Харченко Вячеслав Сергеевич
  • Дмитров Дмитрий Владимирович
  • Ткаченко Сергей Николаевич
  • Сперанский Борис Олегович
SU1322283A1

Реферат патента 1998 года МНОГОКАНАЛЬНОЕ УСТРОЙСТВО ПРИОРИТЕТА

Изобретение относится к вычислительной технике и может быть использовано для организации доступа к коллективно используемому ресурсу. Многоканальное устройство приоритета содержит каналы 11 ...1n, каждый из которых содержит первый 2 и второй 3 триггеры заявок и элемент И 4, а также общие для всего устройства элемент ИЛИ - НЕ 5, первый счетчик 6, дешифратор 7, первый 8, второй 9, третий 10 элементы ИЛИ, триггер наличия запросов 11, второй 12 и третий 13 счетчики, блок памяти 14. Целью изобретения является повышения надежности работы устройства за счет исключения потери вновь поступивших заявок. 1 ил.

Формула изобретения RU 2 108 618 C1

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

Документы, цитированные в отчете о поиске Патент 1998 года RU2108618C1

Многоканальное устройство приоритета 1979
  • Захаров Виктор Григорьевич
  • Свердлов Сергей Сергеевич
SU826349A1
Приспособление для точного наложения листов бумаги при снятии оттисков 1922
  • Асафов Н.И.
SU6A1
Многоканальное устройство приоритета 1983
  • Непутин Валерий Степанович
SU1148030A1
Приспособление для точного наложения листов бумаги при снятии оттисков 1922
  • Асафов Н.И.
SU6A1

RU 2 108 618 C1

Авторы

Кашин И.О.

Сечкин В.А.

Даты

1998-04-10Публикация

1992-06-18Подача