Способ обслуживания запросов пользователей вычислительной системы и устройство, его реализующее (варианты)
Реферат
Изобретение относится к области вычислительной техники и может быть применено в системах обмена данными. Техническим результатом является повышение вероятности своевременного обслуживания низкоприоритетных запросов. Способ заключается в формировании кодов максимального времени ожидания запросов, их запоминании, формировании сигналов запросов на обслуживание, организации из поступающих запросов очереди второго порядка в соответствии с номерами приоритетов абонентов, по достижении запросами в очереди второго порядка максимального времени ожидания (tmi), переносе их в очередь первого порядка в последовательности истечения у них максимального времени ожидания tmi, решении запросов из очереди 1-го порядка, а при отсутствии в ней запросов - из очереди 2-го порядка. Каждое устройство содержит N одинаковых абонентских блоков, генератор тактовых импульсов, делитель, элемент ИЛИ-НЕ, счетчик, элемент И, инвертор и мультиплексор. 3 с. и 2 з.п. ф-лы, 6 ил.
Предлагаемые технические решения объединены единым изобретательским замыслом, относятся к области вычислительной техники и могут быть применены в системах обмена данными.
Известны способы обслуживания запросов, реализованные, например, в устройстве по Авт. св. СССР N 1441398 "Многоканальное устройство динамического приоритета" МПК G 06 F 9/46, опубликованное 30.11.88, Бюл. N 44, где повышение приоритета запроса осуществляется линейно через определенные интервалы времени; и по Авт. св. СССР N 1562912 "Многоканальное устройство с динамическим изменением приоритета" МПК G 06 F 9/46, опубликованное 07.05.90., Бюл. N 17, где повышение приоритета запроса происходит после каждого обслуживания заявки по другим приоритетным направлениям. Однако известные способы - аналоги не учитывают допустимое время нахождения запроса в очереди, следствием чего является высокая вероятность потери низкоприоритетных запросов в результате их несвоевременного обслуживания. Толкование терминов, используемых в заявке: Запрос - посылка сигнала, инициирующего ответ. Входное сообщение, содержащее требование к системе на выделение ресурсов. Приоритет - число, предписанное задаче, процессу или операции, определяющее очередность их выполнения или обслуживания. Чем меньше число, тем выше уровень приоритета. Обслуживание - совокупность действий системы при подготовке запроса к выполнению: чтение и интерпретация, постановка в очередь, выделение ресурсов, выборка из очереди, а также проведение завершающих операций. Известны устройства обслуживания запросов - см., например, Авт. св. СССР N 1441398 "Многоканальное устройство динамического приоритета", МПК G 06 F 9/46, опубликованное 30.11.88., Бюл. N 44; Авт. св. СССР N 1522206 "Устройство динамического приоритета", G 06 F 9/46, опубликованное 15.11.89, Бюл. N 42. Известные аналоги содержат устройства наращивания приоритета и блоки анализа приоритетов. Общим недостатком аналогов является невысокая вероятность своевременного обслуживания запросов низшего приоритета. Наиболее близким по своей технической сущности к заявленному способу обслуживания запросов является способ, реализованный в устройстве для обслуживания запросов см. Авт. св. СССР N 1347080, МПК G 06 F 9/46, заявленному 04.11.85, опубликованному 23.10.87, Бюл. N 39. Способ - прототип заключается в формировании кодов максимального времени tmi (где i=1,2,3,...,N - соответствующий номер приоритета i-го абонента, а N - общее число абонентов системы и общее число приоритетов), их запоминании. Формировании сигналов запросов на обслуживание, организации из поступающих запросов очереди второго порядка в соответствии с номерами приоритетов абонентов. По достижении запросами в очереди второго порядка максимального времени ожидания (tmi) переносе их в очередь первого порядка в последовательности истечения в них максимального времени ожидания tmi. Решении запросов из очереди 1-го порядка, а при отсутствии в ней запросов - из очереди 2-го порядка. Способ - прототип учитывает максимальное время нахождения заявок в очереди второго порядка и обеспечивает высокую вероятность их своевременного обслуживания. Однако способ - прототип имеет недостаток: невысокую вероятность своевременного обслуживания высокоприоритетных запросов. Это объясняется тем, что запросы в очереди первого порядка размещаются в последовательности истечения у них максимального времени ожидания. Из известных наиболее близким аналогом (прототипом) по своей технической сущности к заявленному устройству является "Устройство для обслуживания запросов" Авт.св. СССР N 1347080, МПК G 06 F 9/46, заявленному 04.11.85, опубликованному 23.10.87, Бюл. N 39. Устройство - прототип содержит N абонентских блоков (каналы), где N2, триггер, счетчик, генератор тактовых импульсов, делитель частоты, первый, второй и третий элементы И, первый, второй и третий элементы ИЛИ, блок регистров, приоритетный шифратор, первый, второй и третий дешифраторы. При этом единичный выход триггера подключен к первому входу первого элемента И, выход которого подключен к синхровходу первого дешифратора и счетному входу счетчика, выходы которого подключены к информационным входам первого дешифратора, каждый выход которого подключен к входу "Сканирование" соответствующих N абонентских блоков, запросные входы устройства подключены к входам второго элемента ИЛИ, выход которого является сигнальным выходом устройства. Первые выходы всех абонентских блоков подключены к соответствующим входам приоритетного шифратора, выходы которого подключены к информационным входам блока регистров и информационным входам второго дешифратора, каждый выход которого подключен к второму входу каждого абонентского блока. Выход делителя частоты подключен к первому входу второго элемента И, синхронизирующим входам второго дешифратора и блока регистров, группа выходов которого подключена к входам третьего дешифратора, каждый выход которого подключен к четвертому входу соответствующих абонентских блоков. Вторые выходы абонентских блоков подключены к входам третьего элемента ИЛИ, выход которого соединен с управляющим входом блока регистров, сигнальный выход которого подключен к второму входу второго и к инверсному входу третьего элементов И соответственно. Выход второго элемента И подключен к третьим входам соответствующих абонентских блоков, опросный вход устройства подключен к третьему входу второго элемента И и к прямому входу третьего элемента И, выход которого подключен к входу триггера. Выход генератора тактовых импульсов подсоединен к второму входу первого элемента И и к входу делителя частоты, выход которого подключен к тактовым входам всех абонентских блоков. Сигнальные выходы N абонентских блоков подключены к N входам первого элемента ИЛИ, выход которого подключен к входам сброса счетчика и триггера. Причем каждый абонентский блок (канал) состоит из счетчика, триггера, первого, второго и третьего элемента И, элемента ИЛИ. Первый вход первого элемента И соединен с первым входом третьего элемента И, со вторым входом второго элемента И и является запросным входом абонентского блока. Выход второго элемента И подключен к счетному входу счетчика, выход которого соединен с тактовым входом триггера и с инверсным входом второго элемента И. Второй вход первого элемента И является входом сканирования абонентского блока, выход данного элемента подключен к второму входу элемента ИЛИ и является сигнальным выходом абонентского блока. Второй и третий входы третьего элемента И являются третьим и четвертым входами абонентского блока соответственно. Выход третьего элемента И подключен к первому входу элемента ИЛИ и является вторым выходом абонентского блока. Выход элемента ИЛИ подключен к обнуляющему входу счетчика и является выходом абонентского блока. Группа информационных входов счетчика является группой входов "Код максимального времени" абонентского блока. Счетный вход счетчика, инверсный выход триггера и вход сброса триггера являются соответственно синхронизирующим входом, первым выходом и вторым входом абонентского блока. Запросные входы, группа входов "Код максимального времени", выходы абонентских блоков и синхронизирующие входы являются соответственно запросными входами, группами входов "Код максимального времени", выходами и синхронизирующими входами устройства. Такая схема позволяет по сравнению с устройствами-аналогами повысить вероятность своевременного обслуживания заявок более низкого приоритета. Однако устройство - прототип имеет недостатки: высокую вероятность потери заявок более высокого приоритета и относительно невысокую надежность из-за большего количества составляющих элементов. Целью изобретения способа обслуживания запросов и вариантов устройств его реализующих является разработка технических решений, позволяющих повысить вероятность своевременного обслуживания низкоприоритетных запросов, с минимальным уровнем потерь для запросов, имеющих более высокий приоритет. В заявленном способе поставленная цель достигается тем, что в известном способе обслуживания запросов вычисленной системы, заключающемся в формировании кодов максимального времени ожидания запроса tmi, где i=1,2,3,...,N - соответствующий номер приоритета i-го абонента, а N - общее число абонентов системы и общее число приоритетов, их запоминании, формировании сигналов запросов на обслуживание, организации из поступающих запросов очереди второго порядка в соответствии с номерами приоритетов абонентов. По достижении запросами в очереди второго порядка максимального времени ожидания запроса tmi переносе их в очередь первого порядка, решении первоочередного запроса из очереди 1-го порядка, а при отсутствии в ней запросов - из очереди 2-го порядка. Запрос из очереди второго порядка переносят в очередь первого порядка на позицию, соответствующую номеру его приоритета, а из очереди первого порядка первоочередным решают запрос, имеющий наименьший номер приоритета. Новая совокупность существенных признаков позволяет достичь указанного технического результата за счет переноса запросов (по достижении ими максимального времени ожидания) из очереди второго порядка в очередь первого порядка на позицию, соответствующую номеру его приоритета, а из очереди первого порядка первоочередным решают запрос, имеющий наименьший номер приоритета. Поставленная цель в первом варианте устройства обслуживания запросов пользователей вычислительной системы достигается тем, что в известном устройстве для обслуживания запросов пользователей вычислительной системы, содержащем N абонентских блоков, где N2, счетчик, счетный вход которого соединен с выходом элемента И, второй вход которого подключен к выходу генератора и входу делителя, выход которого соединен с тактовыми входами соответствующих N абонентских блоков, запросные входы и входы "Код максимального времени" N абонентских блоков являются соответствующими запросными входами и входами "Код максимального времени" устройства, дополнительно введены N-входовый элемент ИЛИ-НЕ, N входов которого подключены к соответствующим управляющим выходам абонентских блоков, входы "Запрет" которых подключены к выходу N-входового элемента ИЛИ-НЕ, мультиплексор, N информационных входов которого соединены с сигнальными выходами соответствующих N абонентских блоков, а его K адресных входа подключены к соответствующим K выходам счетчика и являются выходами "Код абонента" устройства, где K=]log2N[, выход мультиплексора подключен к входу инвертора и является разрешающим выходом устройства, выход инвертора соединен с первым входом элемента И, а вход обнуления счетчика является опросным входом устройства, причем входы "Обнуление" N абонентских блоков являются соответствующими входами "Обнуление" устройства. В свою очередь абонентский блок состоит из элемента И, элемента ИЛИ, инвертора, счетчика и трехвходового элемента И, первый вход элемента И соединен с входом "Запись" счетчика и со вторым входом трехвходового элемента И и является запросным входом абонентского блока, выход счетчика соединен с первым входом трехвходового элемента И и с входом инвертора, выход которого подключен к второму входу элемента ИЛИ и является управляющим выходом абонентского блока, второй вход элемента И является входом "Запрет" абонентского блока, а его выход соединен с первым входом элемента ИЛИ, выход которого является сигнальным выходом абонентского блока, третий вход трехвходового элемента И является тактовым входом абонентского блока, а его выход подключен к счетному входу счетчика. Группа информационных входов счетчика является входами "Код максимального времени" абонентского блока, а обнуляющий вход счетчика является входом "Обнуление" абонентского блока. Поставленная цель во втором варианте устройства обслуживания запросов пользователей вычислительной системы достигается тем, что в известном устройстве обслуживания запросов пользователей вычислительной системы, содержащем N абонентских блоков, где N2, N-входовый элемент ИЛИ, к входам которого подключены сигнальные выходы соответствующих N абонентских блоков, дешифратор, N выходов которого подключены к входам "Сканирование" соответствующих N абонентских блоков, счетчик, K выходов которого, где K=]log2N[, подключены к соответствующим K входам дешифратора, элемент И, выход которого подключен к счетному входу счетчика, а его второй вход подключен к выходу генератора и входу делителя, выход которого подключен к тактовым входам N абонентских блоков, а запросные входы и входы "Код максимального времени" абонентских блоков являются соответствующими запросными входами и входами "Код максимального времени" устройства, дополнительно введены N-входовый элемент ИЛИ-НЕ, входы которого подключены к управляющим выходам соответствующих N абонентских блоков, а его выход - к входам "Запрет" всех абонентских блоков, инвертор, вход которого подключен к выходу элемента ИЛИ и является разрешающим выходом устройства, а его выход подключен к первому входу элемента И, K выходов счетчика являются K выходами "Код абонента" устройства, а обнуляющий вход счетчика является опросным входом устройства, причем входы "Обнуление" N абонентских блоков являются соответствующими входами "Обнуление" устройства. В свою очередь абонентский блок состоит из первого элемента И, элемента ИЛИ, второго элемента И, инвертора, счетчика, трехвходового элемента И. Первый вход первого элемента И соединен с входом "Запись" счетчика и со вторым входом трехвходового элемента И и является запросным входом абонентского блока. Выход счетчика подключен к первому входу трехвходового элемента И и к входу инвертора, выход которого соединен со вторым входом элемента ИЛИ и является управляющим выходом абонентского блока. Второй вход первого элемента И является входом "Запрет" абонентского блока, а выход данного элемента подключен к первому входу элемента ИЛИ, выход которого соединен с первым входом второго элемента И, второй вход которого и его выход являются соответствующим входом "Сканирование" и сигнальным выходом абонентского блока, третий вход трехвходового элемента И является тактовым входом абонентского блока. Выход трехвходового элемента И соединен с счетным входом счетчика, входы "Код максимального времени" и "Обнуление" абонентского блока являются соответственно группой информационных входов и входом обнуления счетчика. Проведенный заявителем анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностями признаков, тождественных всем признакам заявленных способа и устройств (варианты) обслуживания запросов пользователей вычислительной системы, отсутствуют. Следовательно, каждое из заявленных изобретений соответствует условию патентоспособности "Новизна". Результаты поиска известных решений в данной и смежных областях техники, с целью выявления признаков, совпадающих с отличительными от прототипов признаками каждого заявленного изобретения показали, что они не следуют явным образом из уровня техники. Из определенного заявителем уровня техники не выявлена известность влияния предусматриваемых существенными признаками каждого из заявленных изобретений на достижение указанного технического результата. Следовательно, каждое из заявленных изобретений соответствует условию патентоспособности "Изобретательский уровень". Заявленные объекты изобретения поясняются чертежами, на которых: на фиг. 1 - структура вычислительной системы; на фиг. 2 - очередь второго порядка; на фиг. 3 - организация очереди первого порядка; на фиг. 4 - результаты моделирования; на фиг. 5 - устройство обслуживания запросов (первый вариант); на фиг. 6 - устройство обслуживания запросов (второй вариант). Реализация заявленного способа заключается в следующем. Для каждого абонента (или группы абонентов) формируются двоичные коды, определяющие максимальное время нахождения их запросов в очереди второго порядка. Формирование кодов осуществляется по следующему правилу: tmi=tдоп.i-tзап.i, где tmi - максимальное время ожидания запроса i-го приоритета (абонента), где i=1,2,3,...,N; tдоп.i - допустимое время пребывания запроса i-го абонента в вычислительной системе, по истечении которого запрос теряет актуальность или данный абонент несет определенные убытки; tзап.i - некоторый запас времени, определяемый издержками обслуживания. Время tдоп.i для каждого запроса известно и определяется нормативными документами. Величина запаса времени tзап.i определяется на основе статистической оценки характеристик данной вычислительной системы. Сформированные для каждого абонента вычислительной системы коды максимального времени заполняются (заносятся в память). После чего система готова к работе и принимает сигналы запросов, выработанные абонентами вычислительной системы (см. фиг. 1). Они поступают на устройство обслуживания запросов, где осуществляется постановка их в очередь второго порядка согласно начальным приоритетам (первый абонент имеет высший приоритет, а N-й абонент - низший) см. фиг. 2. А также подсчет времени нахождения запросов в данной очереди. Устройство обслуживания запросов определяет запрос с наименьшим номером приоритета (то есть имеющего больший приоритет) и выставляет на своем выходе код абонента, выработавшего данный запрос. Этот код поступает на вход ЭВМ, где происходит решение задачи указанного абонента. После чего абонент снимает с входа устройства обслуживания запросов сигнал запроса. Далее процесс обслуживания продолжается в очередности, определяющейся приоритетами поступивших запросов. В случае, когда запрос любого абонента достигнет максимального времени ожидания в очереди второго порядка, в устройстве обслуживания запросов организуется очередь первого порядка (из запросов с истекшим максимальным временем ожидания) см. фиг. 3. Причем запросы из очереди второго порядка переносят в очередь первого порядка на позиции, соответствующие номерам их приоритетов. Устройство обслуживания запросов определяет в очереди первого порядка запрос с наименьшим номером приоритета и выдает код абонента для решения данного запроса. Далее процесс обслуживания продолжается в очередности, определяющейся приоритетами имеющихся запросов в очереди первого порядка. А в случае отсутствия в ней запросов выбор осуществляется из очереди второго порядка. Заявленный способ обслуживания запросов обеспечивает высокую вероятность своевременного обслуживания низкоприоритетных запросов за счет учета максимального времени нахождения запросов в очереди второго порядка; высокую вероятность своевременного обслуживания запросов высшего приоритета (по сравнению со способом-прототипом) в результате учета начальных приоритетов запросов при переносе их из очереди второго порядка в очередь первого порядка. Правомерность теоретических предпосылок проверялась с помощью имитационной модели вычислительной системы при равномерном и экспоненциальном законах распределения поступления запросов на обслуживание. Результаты проверки приведены в табличном виде на фиг. 4, где: Пр. - номер приоритета запросов (для упрощения взято три приоритета); tср.(с) - среднее время, необходимое на решение запроса ЭВМ; P(ttдоп.) - вероятность своевременного обслуживания запросов. Из приведенных данных следует, что вероятность своевременного обслуживания высокоприоритетных запросов увеличивается до 9% (в зависимости от закона распределения поступления запросов) при практически неизменной вероятности своевременного обслуживания запросов низкого приоритета, что указывает на возможность достижения данного технического результата. Первый вариант устройства обслуживания запросов пользователей вычислительной системы, показанный на фиг. 5, состоит из одинаковых N абонентских блоков 11-1N, генератора тактовых импульсов 2, делителя 3, элемента ИЛИ-НЕ 4, счетчика 5, элемента И 6, инвертора 7 и мультиплексора 8. Выход генератора тактовых импульсов 2 подключен к входу делителя 3 и второму входу элемента И 6. Выход делителя соединен с тактовыми входами 12 всех N абонентских блоков. Управляющие выходы 15 всех N абонентских блоков подключены к N входам элемента ИЛИ-НЕ 4, а его выход соединен в входами "Запрет" 13 всех N абонентских блоков. Выход элемента И 6 подключен к счетному входу C счетчика 5, а его обнуляющий вход R является опросным входом 16 устройства. Группа выходов счетчика 5 подключена к K адресным входам мультиплексора 8 и является выходом "Код абонента" 18 устройства. N информационных входов D мультиплексора 8 подключены к сигнальным выходам соответствующих N абонентских блоков. А его выход соединен с входом инвертора 7 и является разрешающим выходом 17 устройства. Выход инвертора 7 подключен к первому входу элемента И 16. Генератор тактовых импульсов 2 предназначен для выработки синхронизирующей последовательности импульсов и может быть построен по любой известной схеме. См. , например, В.Л.Шило "Популярные микросхемы ТТЛ", М.: "АРГУС", 1993, с. 18. Делитель 3 предназначен для увеличения периода следования поступающей на его вход последовательности импульсов. Конкретная величина необходимого деления зависит от выбранной тактовой частоты генератора тактовых импульсов устройства, а также от заданного диапазона выдержек времени tmi. Схемы реализации такого делителя известны. В частности, делитель может быть построен на счетчике. См. , например П. П. Мальцев, Н.С. Долидзе и др. Справочник "Цифровые интегральные микросхемы", М.: "Радио и связь", 1994, с. 62 - 74. При этом входом делителя будет счетный вход счетчика, а выходом делителя - один из выходов счетчика. Счетчик (5) предназначен для счета поступающих на его счетный вход импульсов и вывода их числа в двоичном коде. См., например, П.П. Мальцев, Н.С. Долидзе и др. Справочник "Цифровые интегральные микросхемы", М.: "Радио и связь", 1994, с. 62 - 74. Мультиплексор 8 предназначен для поочередной коммутации сигнальных выходов 14 абонентских блоков на вход инвертора 7 и разрешающий выход 17 устройства. Схема мультиплексора известна, описана, например, в книге: В.С.Тутников, В. В. Лопатин и др. "Электронные устройства информационно-измерительной техники: учебное пособие", - Л.: ЛПИ им. Калинина, 1980, с. 70 - 72. Абонентские блоки 11-1N предназначены для контроля поступления запросов и выработки управляющих сигналов на повышение их приоритета по истечении определенного времени для каждого запроса. Абонентский блок может быть реализован в различных вариантах. В частности, его схема, показанная на фиг. 5, содержит элемент И 1.1, элемент ИЛИ 1.2, инвертор 1.3, счетчик 1.4, трехвходовый элемент И 1.5. Первый вход элемента И 1.1 соединен с записывающим входом V счетчика и со вторым входом трехвходового элемента И 1.5 и является запросным входом 9 абонентского блока. Выход (переполнения ) счетчика соединен с первым входом трехвходового элемента И и с входом инвертора 1.3, выход которого подключен к второму входу элемента ИЛИ 1.2 и является управляющим выходом 15 абонентского блока. Второй вход элемента И 1.1 является входом "Запрет" абонентского блока, а его выход соединен с первым входом элемента ИЛИ, выход которого является сигнальным выходом 14 абонентского блока. Третий вход трехвходового элемента И является тактовым входом абонентского блока, а его выход подключен к счетному входу C счетчика, группа информационных входов D счетчика является входами "Код максимального времени" абонентского блока. Обнуляющий вход счетчика R является входом "Обнуление" абонентского блока. Счетчик 1.4 предназначен для выработки управляющего сигнала через промежуток времени, определяемый кодом начального заполнения по входам D и периодом следования тактовых импульсов. То есть является настраиваемым таймером. Описание работы и схема такого счетчика приведены, например, в книге: П. П. Мальцев, Н. С.Долидзе и др., "Цифровые интегральные микросхемы: справочник ". М.: "Радио и связь", 1994, с. 64 - 65. Второй вариант устройства обслуживании запросов пользователей вычислительной системы, показанный на фиг. 6, состоит из одинаковых N абонентских блоков 11-1N, генератора тактовых импульсов 2, делителя 3, N-входового элемента ИЛИ-НЕ 4, N-входового элемента ИЛИ 5, дешифратора 6, счетчика 7, элемента И 8 и инвертора 9. К входам N-входового элемента ИЛИ 5 подключены сигнальные выходы 15 соответствующих N абонентских блоков, N выходов дешифратора 6 подключены к входам "Сканирование" 17 соответствующих N абонентских блоков. K выходов счетчика 7, где K=]log2N[, подключены к соответствующим K входам дешифратора. Выход элемента И 8 подключен к счетному входу C счетчика, а его второй вход подключен к выходу генератора и входу делителя, выход которого подключен к тактовым входам 13 N абонентских блоков. Входы N-входового элемента ИЛИ-НЕ 4 подключены к управляющим выходам 16 соответствующих N абонентских блоков, а его выход - к входам "Запрет" 14 всех абонентских блоков. Вход инвертора 9 подключен к выходу элемента ИЛИ 5 и является разрешающим выходом устройства 20. Его выход подключен к первому входу элемента И 8. K выходов счетчика являются K выходами "Код абонента" 18 устройства. Обнуляющий вход R счетчика 7 является опросным входом устройства 19. Причем абонентский блок состоит из первого элемента И 1.1, элемента ИЛИ 1.2, второго элемента И 1.3, инвертора 1.4, счетчика 1.5, трехвходового элемента И 1.6. Первый вход первого элемента И 1.1 соединен с входом "Запись" V счетчика 1.5 и со вторым входом трехвходового элемента И 1.6 и является запросным входом 10 абонентского блока. Выход (переполнения ) счетчика подключен к первому входу трехвходового элемента И и к входу инвертора 1.4, выход которого соединен со вторым входом элемента ИЛИ 1.2 и является управляющим выходом 16 абонентского блока. Второй вход первого элемента И 1.1 является входом "Запрет" 14 абонентского блока. Его выход подключен к первому входу элемента ИЛИ 1.2, выход которого соединен с первым входом второго элемента И 1.3, второй вход которого и его выход являются соответствующими входами "Сканирование" 17 и сигнальным выходом 15 абонентского блока. Третий вход трехвходового элемента И является тактовым входом 13 абонентского блока. Выход трехвходового элемента И соединен с счетным входом C счетчика. Входы "Код максимального времени" 12 и "Обнуление" 11 абонентского блока являются соответственно группой информационных входов D и входом обнуления R счетчика. Заявленное устройство обслуживания запросов пользователей вычислительной системы (первый вариант) работает следующим образом. Перед началом работы устройство по группе входов "Код максимального времени" 10 на информационные входы D счетчиков 1.4-N.4 абонентских блоков поступают коды, задающие максимальное время ожидания при обслуживании запросов. Наименьшему времени ожидания соответствует наибольший код, который является дополнением до максимального числа, которое можно записать в счетчик. В начальный период обслуживания, когда запросы на обслуживание не поступают, на всех запросных входах 9 абонентских блоков низкие логические уровни. Импульсы от генератора тактовых импульсов 2 поступают через открытый элемент И 6 на счетный вход счетчика 5, на выходах которого по фронту каждого тактового импульса происходит последовательная смена кодовых комбинаций (номера абонентских блоков в двоичном виде). Кодовые комбинации с выхода счетчика поступают на адресные входы K мультиплексора 8. Таким образом, на выход мультиплексора поочередно проключаются сигналы с сигнальных выходов 14 абонентских блоков в определенной последовательности (сверху-вниз). При поступлении запроса на запросном входе 9 абонентского блока устанавливается высокий уровень. При этом на сигнальном выходе 14 блока будет высокий уровень (через открытый элемент И 1.1 и элемент ИЛИ 1.2). На счетный вход C счетчика 1.4 поступают импульсы от генератора тактовых импульсов 2 по цепи: делитель 3, тактовый вход 12 абонентского блока, открытый элемент И 1.5. Счетчик выполняет роль таймера, который сработает через установленный интервал времени. По мере освобождения вычислительного ресурса, ЭВМ вырабатывает импульс положительной полярности, который поступает на опросный вход устройства 16. При этом осуществляется обнуление счетчика 5. Далее происходит сканирование сигнальных выходов абонентских блоков в порядке их приоритета (то есть сверху-вниз). При обнаружении первого встречного высокого уровня инвертор 7 переключается и на его выходе устанавливается низкий уровень, который запрещает поступление тактовых импульсов на вход C счетчика 5 через элемент И 6. Сканирование прекращается. При этом на разрешающем выходе 17 устройства устанавливается высокий уровень, а на выходах "Код абонента" - код текущего абонентского блока (абонента). ЭВМ производит решение запроса данного абонента. После обслуживания на запросном входе 9 абонентского блока устанавливается низкий уровень и счетчик 1.4 обнуляется коротким импульсом по входу "Обнуление" 11. На опросный вход 16 устройства подается импульс и процесс обслуживания запросов продолжается. В случае, если один или несколько запросов в результате создавшейся очереди достигли максимального времени ожидания, происходит их приоритетное обслуживание. При достижении максимального времени ожидания на выходе переполнения счетчика 1.4 устанавливается низкий уровень, который запирает элемент И 1.5, запрещая поступление на счетный вход C счетчика 1.4 тактовых импульсов. Переключается инвертор 1.3 и на его выходе устанавливается высокий уровень. При этом высокий уровень с управляющего выхода 15 данного абонентского блока переключает элемент ИЛИ-НЕ 4 и на входах "Запрет" всех абонентских блоков устанавливается низкий уровень. Следовательно, высокий уровень на сигнальных выходах будет только у запросов, достигших максимального времени ожидания. В результате сканирования сигнальных выходов будет определен и решен запрос, имеющий высший приоритет. Заявленное устройство обслуживания запросов пользователей вычислительной системы (второй вариант) работает следующим образом. Перед началом работы устройства по группе входов "Код максимального времени" 12 на информационные входы D счетчиков 1.5-N.5 абонентских блоков поступают коды, задающие максимальное время ожидания при обслуживании запросов. Наименьшему времени ожидания соответствует наибольший код, который является дополнением до максимального числа, которое можно записать в счетчик. В начальный период обслуживания, когда запросы на обслуживание не поступают, на всех запросных входах абонентских блоков низкие логические уровни. Импульсы от генератора тактовых импульсов 2 поступают через открытый элемент И 8 на счетный вход счетчика 7, на выходах которого по фронту каждого тактового импульса происходит последовательная смена кодовых комбинаций (номера абонентских блоков в двоичном виде). Кодовые комбинации с выхода счетчика поступают на входы дешифратора 6. Таким образом, на выходе дешифратора 6 согласно входным кодам поочередно сверху-вниз появляются высокие уровни (сигналы сканирования), которые подаются на входы "Сканирование" всех N абонентских блоков. При поступлении запроса на выходе элемента ИЛИ 1.2 абонентского блока устанавливается высокий уровень. На счетный вход C счетчика 1.5 поступают импульсы от генератора тактовых импульсов 2 по цепи: делитель 3, тактовый вход 13 абонентского блока, открытый элемент И 1.6. Счетчик выполняет роль таймера, который сработает через установленный интервал времени. По мере освобождения вычислительного ресурса ЭВМ вырабатывает импульс положительной полярности, который поступает на опросный вход устройства 19. При этом осуществляется обнуление счетчика 7. Далее происходит сканирование сигнальных выходов абонентских блоков в порядке их приоритета (то есть сверху-вниз). Импульсы сканирования поступают с дешифратора 6 на входы "Сканирование" абонентских блоков. При обнаружении запроса в данном абонентском блоке открывается элемент И 1.3 и высокий уровень поступает на элемент ИЛИ 5. Он переключается и на его выходе устанавливается высокий уровень, который запрещает поступление тактовых импульсов на вход C счетчика 7 через элемент И 8. Сканирование прекращается. При этом на разрешающем выходе 20 устройства устанавливается высокий уровень, а на выходах "Код абонента" 18 - код текущего абонентского блока (абонента). ЭВМ производит решение запроса данного абонента. После обслуживания на запросном входе 10 абонентского блока устанавливается низкий уровень и обнуляется счетчик 1.5 коротким импульсом по входу "Обнуление" 11. На опросный вход 19 устройства подается импульс и процесс обслуживания запросов продолжается. В случае, если один или несколько запросов в результате ожидания достигли максимального времени, происходит их приоритетное обслуживание. При достижении максимального времени ожидания на выходе (переполнения счетчика 1.5 устанавливается низкий уровень, который запирает элемент И 1.6, запрещая поступление на счетный вход C счетчика тактовых импульсов. Переключается инвертор 1.4 и на его выходе устанавливается высокий уровень. При этом высокий уровень с управляющего выхода 16 данного абонентского блока переключает элемент ИЛИ-НЕ 4 и на входах "Запрет" всех абонентских блоков устанавливается низкий уровень. Следовательно, высокий уровень на выходах элементов 1.2 абонентских блоков будет только у запросов, достигших максимального времени ожидания. В результате сканирования сигнальных выходов будет определен и решен запрос, имеющий высший приоритет.Формула изобретения
1. Способ обслуживания запросов пользователей вычислительной системы, заключающийся в формировании кодов максимального времени ожидания запроса tmi, где i = 1, 2, 3, ..., N - соответствующий номер приоритета i-го абонента, а N - общее число абонентов, их запоминании, формировании сигналов запросов, организации из поступающих запросов очереди второго порядка в соответствии с номерами приоритетов абонентов, переносе в очередь первого порядка запросов из очереди второго порядка по достижении ими времени ожидания в очереди второго порядка, равного tmi, решении первоочередного запроса из очереди первого порядка, а при отсутствии в ней запросов - из очереди второго порядка, отличающийся тем, что запрос из очереди второго порядка переносят в очередь первого порядка, на позицию, соответствующую номеру его приоритета, причем из очереди первого порядка первоочередным решают запрос, имеющий наименьший номер приоритета. 2. Устройство обслуживания запросов пользователей вычислительной системы, содержащее N абонентских блоков, где N2, счетчик, счетный вход которого соединен с выходом элемента И, второй вход которого подключен к выходу генератора и входу делителя, выход которого со