RU2179737C1 - Method and device for servicing different-priority requests of computer system subscribers - Google Patents
Method and device for servicing different-priority requests of computer system subscribers Download PDFInfo
- Publication number
- RU2179737C1 RU2179737C1 RU2001100104A RU2001100104A RU2179737C1 RU 2179737 C1 RU2179737 C1 RU 2179737C1 RU 2001100104 A RU2001100104 A RU 2001100104A RU 2001100104 A RU2001100104 A RU 2001100104A RU 2179737 C1 RU2179737 C1 RU 2179737C1
- Authority
- RU
- Russia
- Prior art keywords
- input
- inputs
- output
- code
- subscriber
- Prior art date
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Предлагаемые технические решения объединены единым изобретательским замыслом, относятся к области вычислительной техники и могут быть применены в системах обмена данными. The proposed technical solutions are united by a single inventive concept, relate to the field of computer technology and can be used in data exchange systems.
Известны способы обслуживания запросов вычислительной системы, реализованные, например, в устройстве по а.с. СССР 1441398 "Многоканальное устройство динамического приоритета", МПК G 06 F 9/46, опубл. 30.11.88, БИ 44, где повышение приоритета запроса осуществляется линейно через определенные интервалы времени; по а.с. СССР 1562912 "Многоканальное устройство с динамическим изменением приоритета", МПК G 06 F 9/46, опубл. 07.05.90, БИ 17, где повышение приоритета запроса происходит после каждого обслуживания запроса по другим приоритетным направлениям. (Под терминами обслуживание, запрос, приоритет понимается следующее. Обслуживание - совокупность действий вычислительной системы, включающая выборку запроса из очереди, выделение ему ресурса, а также проведение завершающих операций. Запрос - посылка сигнала, инициирующего ответ. Входное сообщение, содержащее требование к системе на выделение ресурса. Приоритет - число, предписанное задаче, процессу или операции, определяющее очередность их выполнения или обслуживания. Чем меньше число, тем выше уровень приоритета). Known methods for servicing queries of a computing system, implemented, for example, in a device by AS USSR 1441398 "Multichannel device of dynamic priority", IPC G 06 F 9/46, publ. 11.30.88, BI 44, where the increase in the priority of the request is carried out linearly at certain intervals of time; by A.S. USSR 1562912 "Multichannel device with dynamic priority change", IPC G 06 F 9/46, publ. 05/07/90,
Однако известные способы-аналоги не учитывают допустимое время нахождения запроса в очереди, следствием чего является высокая вероятность потери низкоприоритетных запросов в результате их несвоевременного обслуживания. However, the known methods-analogues do not take into account the permissible time the request was in the queue, which results in a high probability of loss of low-priority requests as a result of their untimely service.
Известны устройства обслуживания запросов - см., например, а.с. СССР 1441398 "Многоканальное устройство динамического приоритета", МПК G 06 F 9/46, опубл. 30.11.88, БИ 44; а.с. СССР 1562912 "Многоканальное устройство с динамическим изменением приоритета", МПК G 06 F 9/46, опубл. 07.05.90, БИ 17. Known service query devices - see, for example, A. with. USSR 1441398 "Multichannel device of dynamic priority", IPC G 06 F 9/46, publ. 11/30/88, BI 44; A.S. USSR 1562912 "Multichannel device with dynamic priority change", IPC G 06 F 9/46, publ. 05/07/90,
Известные аналоги содержат устройства наращивания приоритета и блоки анализа приоритетов. Общим недостатком аналогов является невысокая вероятность своевременного обслуживания запросов низшего приоритета. Known analogues contain devices for increasing priority and priority analysis blocks. A common disadvantage of analogues is the low probability of timely service of requests of lower priority.
Наиболее близким по своей технической сущности к заявленному способу обслуживания запросов является способ, реализованный в устройстве для обслуживания запросов см. а.с. РФ 2140666 "Способ обслуживания запросов пользователей вычислительной системы и устройство его реализующее", МПК G 06 F 9/46, опубл. 27.10.99, БИ 30. The closest in technical essence to the claimed method of servicing requests is the method implemented in the device for servicing requests, see.c. RF 2140666 "Method of servicing user requests of a computing system and its device that implements", IPC G 06 F 9/46, publ. 10.27.99,
Способ-прототип заключается в том, что формируют коды максимального времени ожидания обслуживания запроса Тож.i, где i=1,2,...,N - соответствующий номер приоритета i-го абонента, а N - общее число абонентов, и запоминают их. Затем формируют сигналы запросов и организуют из сигналов запросов очередь второго порядка в соответствии с номерами приоритетов абонентов. Запросы из очереди второго порядка, достигшие максимального времени ожидания, переносят в очередь первого порядка на позиции, соответствующие номерам их приоритетов. Последовательно обслуживают запросы из очереди первого порядка в соответствии с возрастанием номеров их приоритетов, а при отсутствии запросов в очереди первого порядка, обслуживают запросы из очереди второго порядка.The prototype method consists in the formation of codes for the maximum waiting time for the service request T ozh.i , where i = 1,2, ..., N is the corresponding priority number of the i-th subscriber, and N is the total number of subscribers, and remember them. Then, request signals are generated and a second order queue is organized from the request signals in accordance with the priority numbers of the subscribers. Requests from the second-order queue that have reached the maximum waiting time are transferred to the first-order queue at the positions corresponding to their priority numbers. Consistently serve requests from the first-order queue in accordance with an increase in their priority numbers, and if there are no requests in the first-order queue, service requests from the second-order queue.
Способ-прототип учитывает максимальное время нахождения запросов в очереди второго порядка, а также приоритет запросов при переносе их в очередь первого порядка, чем обеспечивает высокую вероятность их своевременного обслуживания. The prototype method takes into account the maximum time spent by requests in the second order queue, as well as the priority of requests when transferring them to the first order queue, which ensures a high probability of their timely service.
Однако способ-прототип имеет недостаток: невысокую вероятность своевременного обслуживания низкоприоритетных запросов. Это объясняется тем, что способ-прототип не учитывает временные интервалы запросов (ВИЗ) из очереди второго порядка при их приоритетном обслуживании. По этой причине запросы с малыми ВИЗ ожидают обслуживания столько же, сколько и запросы того же приоритета с большими ВИЗ. (Под ВИЗ понимается время, требуемое для обслуживания запроса). However, the prototype method has a drawback: a low probability of timely servicing of low priority requests. This is because the prototype method does not take into account time intervals of requests (VIZ) from the second-order queue for their priority servicing. For this reason, requests with small VIZs expect the same amount of service as requests with the same priority with large VIZs. (VIZ refers to the time required to service a request).
Из известных наиболее близким аналогом (прототипом) по своей технической сущности заявленному устройству является устройство (первый вариант) см. а. с. РФ 2140666 "Способ обслуживания запросов пользователей вычислительной системы и устройство его реализующее", МПК G 06 F 9/46, опубл. 27.10.99, БИ 30. Of the known closest analogue (prototype) in its technical essence of the claimed device is a device (first option), see a. from. RF 2140666 "Method of servicing user requests of a computing system and its device that implements", IPC G 06 F 9/46, publ. 10.27.99,
Устройство обслуживания запросов абонентов вычислительной системы, содержащее N абонентских блоков, где N≥2, счетчик, элемент И, генератор тактовых импульсов, делитель, N-входовый элемент ИЛИ-НЕ, мультиплексор, первый инвертор. При этом счетный вход счетчика соединен с выходом элемента И, а второй вход элемента И подключен к выходу генератора тактовых импульсов и входу делителя. Выход делителя соединен с тактовыми входами N абонентских блоков. Запросные входы и K-разрядные входы, где К≥2 - разрядность кода максимального времени ожидания обслуживания запросов, "Код максимального времени ожидания" N абонентских блоков являются соответствующими запросными входами и K-разрядными входами "Код максимального времени ожидания" устройства, N входов N-входового элемента ИЛИ-НЕ подключены к выходам "Превышение" соответствующих N абонентских блоков, а выход N-входового элемента ИЛИ-НЕ подключен к входам "Запрет" N абонентских блоков. N информационных входов мультиплексора соединены с первыми сигнальными выходами соответствующих N абонентских блоков. J, где J = ]log2N[, выходов "Код абонента" счетчика подключены к соответствующим J адресным входам мультиплексора и одновременно являются соответственно J выходами "Код абонента" устройства. Выход мультиплексора подключен к входу первого инвертора и одновременно является разрешающим выходом устройства. Выход первого инвертора соединен с первым входом элемента И, а вход сброса счетчика является опросным входом устройства. Входы "Обнуление" N абонентских блоков являются соответствующими входами "Обнуление" устройства.A device for servicing subscriber requests of a computing system containing N subscriber units, where N≥2, counter, AND element, clock generator, divider, N-input OR-NOT element, multiplexer, first inverter. In this case, the counting input of the counter is connected to the output of the And element, and the second input of the And element is connected to the output of the clock generator and the input of the divider. The output of the divider is connected to the clock inputs of N subscriber units. Query inputs and K-bit inputs, where K≥2 is the capacity of the code for the maximum waiting time for service requests, the “Maximum waiting time code” N subscriber units are the corresponding request inputs and the K-bit inputs “Maximum waiting time code” for the device, N inputs N the input element OR is NOT connected to the “Exceed” outputs of the corresponding N subscriber units, and the output of the N-input element is NOT connected to the “Prohibition” inputs of N subscriber units. N information inputs of the multiplexer are connected to the first signal outputs of the corresponding N subscriber units. J, where J =] log 2 N [, the subscriber code outputs of the counter are connected to the corresponding J address inputs of the multiplexer and at the same time are respectively the J outputs of the subscriber code of the device. The multiplexer output is connected to the input of the first inverter and at the same time is the enable output of the device. The output of the first inverter is connected to the first input of the AND element, and the counter reset input is the polling input of the device. Inputs "Zeroing" N subscriber units are the corresponding inputs "Zeroing" of the device.
Причем каждый абонентский блок состоит из счетчика, элемента И, трехвходового элемента И, инвертора, элемента ИЛИ. Инверсный вход разрешения счета счетчика является запросным входом абонентского блока и подключен к первому входу элемента И. К информационных входов счетчика являются соответствующим К-разрядным входом "Код максимального времени ожидания" абонентского блока. Вход сброса счетчика является входом "Обнуление" абонентского блока. Инверсный выход счетчика подключен к первому входу трехвходового элемента И и входу инвертора. Выход инвертора подключен к второму входу элемента ИЛИ и является выходом "Превышение" абонентского блока. Второй вход трехвходового элемента И подключен к первому входу элемента И. Второй вход элемента И является входом "Запрет" абонентского блока. Третий вход трехвходового элемента И является тактовым входом абонентского блока. Выход трехвходового элемента И подключен к счетному входу счетчика. Выход элемента И подключен к первому входу элемента ИЛИ. Выход элемента ИЛИ является первым сигнальным выходом абонентского блока. Moreover, each subscriber unit consists of a counter, an AND element, a three-input AND element, an inverter, an OR element. The inverse input of the counter account resolution is the request input of the subscriber unit and is connected to the first input of the element I. The information inputs of the counter are the corresponding K-bit input "Maximum waiting time code" of the subscriber unit. The counter reset input is the “Zeroing” input of the subscriber unit. The inverse output of the counter is connected to the first input of the three-input element And and the input of the inverter. The inverter output is connected to the second input of the OR element and is the “Exceed” output of the subscriber unit. The second input of the three-input element And is connected to the first input of the element I. The second input of the element And is the input "Prohibition" of the subscriber unit. The third input of the three-input element And is the clock input of the subscriber unit. The output of the three-input element AND is connected to the counting input of the counter. The output of the AND element is connected to the first input of the OR element. The output of the OR element is the first signal output of the subscriber unit.
Такая схема позволяет по сравнению с устройствами-аналогами повысить вероятность своевременного обслуживания запросов низкого приоритета. This scheme allows, in comparison with analog devices, to increase the likelihood of timely service of low priority requests.
Однако устройство-прототип имеет недостаток: невысокую вероятность своевременного обслуживания низкоприоритетных запросов. Это объясняется тем, что устройство-прототип не учитывает ВИЗ запросов из очереди второго порядка при их приоритетном обслуживании. По этой причине запросы с малыми ВИЗ ожидают обслуживания столько же, сколько и запросы того же приоритета с большими ВИЗ. However, the prototype device has a drawback: a low probability of timely servicing of low priority requests. This is because the prototype device does not take into account VIZ requests from the second order queue when they are priority serviced. For this reason, requests with small VIZs expect the same amount of service as requests with the same priority with large VIZs.
Целью заявленных технических решений является разработка способа и устройства обслуживания запросов, обеспечивающих повышение вероятности своевременного обслуживания низкоприоритетных запросов без дополнительных временных потерь для запросов с более высоким уровнем приоритета за счет уменьшения времени нахождения в очереди второго порядка запросов с малыми ВИЗ. The purpose of the claimed technical solutions is to develop a method and device for servicing requests that increase the likelihood of timely servicing of low-priority requests without additional time loss for requests with a higher priority level by reducing the time spent in the second-order queue of requests with small VIZs.
В заявленном способе поставленная цель достигается тем, что в известном способе обслуживания запросов вычислительной системы, заключающемся в том, что формируют коды максимального времени ожидания обслуживания запроса Тож.i, где i=l,2,...,N - соответствующий номер приоритета i-го абонента, а N - общее число абонентов, запоминают их, формируют сигналы запросов, организуют из сигналов запросов очередь второго порядка в соответствии с номерами приоритетов абонентов, из очереди второго порядка переносят в очередь первого порядка запросы, достигшие максимального времени ожидания на позиции, соответствующие номерам их приоритетов, последовательно обслуживают запросы из очереди первого порядка в соответствии с возрастанием номеров их приоритетов, а при отсутствии запросов в очереди первого порядка, обслуживают запросы из очереди второго порядка, одновременно с формированием кодов максимального времени ожидания обслуживания запросов дополнительно формируют М, где М≥2, кодов максимальных, отличающихся по длительности временных интервалов ΔTоб, достаточных для обслуживания соответствующих запросов. При обслуживании запросов из очереди второго порядка предварительно сравнивают временной интервал ΔTож.min, оставшийся до истечения времени ожидания обслуживания запроса с минимальным номером приоритета, с максимальными временными интервалами ΔTоб остальных запросов из очереди второго порядка. При наличии запросов, ΔTоб которых меньше ΔTож.min, обслуживают из их числа запрос, имеющий наименьший номер приоритета, а при их отсутствии обслуживают запрос из очереди второго порядка с минимальным номером приоритета, причем сравнивают ΔTож.min и ΔTоб и обслуживают запросы из очереди второго порядка до тех пор, пока отсутствуют запросы в очереди первого порядка.In the claimed method, the goal is achieved by the fact that in the known method of servicing queries of a computing system, which consists in generating codes for the maximum waiting time for servicing a request T oz.i , where i = l, 2, ..., N is the corresponding priority number i-th subscriber, and N - the total number of subscribers, remember them, generate request signals, organize a second-order queue from request signals in accordance with subscriber priority numbers, transfer requests from the second-order queue to the first-order queue, reaching f the maximum waiting time for positions corresponding to their priority numbers, sequentially serve requests from the first order queue in accordance with the increase in the numbers of their priorities, and if there are no requests in the first order queue, service requests from the second order queue, simultaneously with the formation of the maximum waiting time codes service requests additionally form M, where M≥2, codes maximum, differing in the duration of time intervals ΔT about , sufficient for servicing relevant queries. When servicing requests from the second-order queue, the time interval ΔT exp.min remaining before the request service timeout with the minimum priority number has expired is preliminarily compared with the maximum time intervals ΔT about the remaining requests from the second-order queue. If there are requests, ΔT ΔT is less than about ozh.min, from among the service request having the smallest priority number, and in absence of service request from the second-order priority queue with a minimum number, and comparing ΔT and ΔT ozh.min of service and requests from the second order queue until there are no requests in the first order queue.
Новая совокупность существенных признаков позволяет достичь указанного технического результата за счет формирования М, где М≥2, кодов максимальных, отличающихся по длительности временных интервалов ΔTоб, достаточных для обслуживания соответствующих запросов, причем при обслуживании запросов из очереди второго порядка предварительно сравнивают временной интервал ΔTож.min, оставшийся до истечения времени ожидания обслуживания запроса с минимальным номером приоритета, с максимальными временными интервалами ΔTоб остальных запросов из очереди второго порядка и при наличии запросов, ΔTоб которых меньше ΔTож.min, обслуживают из их числа запрос, имеющий наименьший номер приоритета, а при их отсутствии обслуживают запрос из очереди второго порядка с минимальным номером приоритета, причем сравнивают ΔTож.min и ΔTоб и обслуживают запросы из очереди второго порядка до тех пор, пока отсутствуют запросы в очереди первого порядка.The new set of essential features enables to achieve said technical result by forming M, where M≥2, maximal codes differing in the length of the time intervals ΔT sufficient to service the respective queries, and requests for maintenance of second order compared to pre-queue time interval ΔT standby .min remaining before the request service time-out with a minimum priority number, with maximum time intervals ΔT about the remaining requests and from the second-order queue and in the presence of requests, ΔT of which is less than ΔT wait.min , from among them serve the request with the lowest priority number, and if they are absent, the request from the second-order queue with the lowest priority number is served, and ΔT wait.min is compared and ΔT about and serve requests from the second order queue until there are no requests in the first order queue.
Поставленная цель в заявленном устройстве обслуживания разноприоритетных запросов абонентов вычислительной системы достигается тем, что в известном устройстве обслуживания запросов абонентов вычислительной системы, содержащем N абонентских блоков, где N≥2, счетчик, счетный вход счетчика соединен с выходом элемента И, второй вход элемента И подключен к выходу генератора тактовых импульсов и входу делителя, выход делителя соединен с тактовыми входами N абонентских блоков, запросные входы и К-разрядные входы "Код максимального времени ожидания" N абонентских блоков являются соответствующими запросными входами и K-разрядными входами "Код максимального времени ожидания" устройства, N-входового элемента ИЛИ-НЕ, N входов которого подключены к выходам "Превышение" соответствующих N абонентских блоков, а выход N-входового элемента ИЛИ-НЕ подключен к входам "Запрет" N абонентских блоков, мультиплексора, N информационных входов которого соединены с первыми сигнальными выходами соответствующих N абонентских блоков, а его J, где J = ]log2N[, адресных входа подключены к соответствующим J выходам "Код абонента" счетчика, выход мультиплексора подключен к входу первого инвертора, выход первого инвертора соединен с первым входом элемента И, а вход сброса счетчика является опросным входом устройства, причем входы "Обнуление" N абонентских блоков являются соответствующими входами "Обнуление" устройства, дополнительно введены селектор-мультиплексор, второй инвертор, N-входовый элемент И-НЕ, шифратор приоритетов, дешифратор низкого уровня, К блоков выборки и фиксации. J информационных входов первой группы селектора-мультиплексора подключены к соответствующим J выходам "Код абонента" счетчика, J выходов селектора-мультиплексора являются соответственно J выходами "Код подлежащего обслуживанию абонента" устройства. Вход второго инвертора подключен к входу первого инвертора, а выход второго инвертора подключен к разрешающему входу селектора-мультиплексора и одновременно является разрешающим выходом устройства, n-й, где n=1,2,...,N, инверсный вход шифратора приоритетов подключен к второму сигнальному выходу (N+l)-n-гo абонентского блока. J инверсных выходов шифратора приоритетов подключены к соответствующим J входам второй группы входов селектора-мультиплексора. N входов N-входового элемента И-НЕ подключены к соответствующим N инверсным входам шифратора приоритетов, а выход N-входового элемента И-НЕ подключен к управляющему входу селектора-мультиплексора. J входов дешифратора низкого уровня подключены к соответствующим J выходам "Код абонента" счетчика, а N инверсных выходов дешифратора низкого уровня подключены к входам "Разрешение сравнения" соответствующих N абонентских блоков. J входов "Код абонента" каждого из К блоков выборки и фиксации подключены к соответствующим выходам "Код абонента" счетчика. m-й, где m=1,2,...,К, разряд выхода "Код оставшегося времени ожидания" n-го абонентского блока подключен к n-му разряду N-разрядного входа "Разряд кода оставшегося времени ожидания" m-го блока выборки и фиксации. Управляющий вход каждого из К блоков выборки и фиксации подключен к выходу первого инвертора. Выходы "Разряд выбранного кода оставшегося времени ожидания" К блоков выборки и фиксации подключены к соответствующим разрядам K-разрядных входов "Выбранный код оставшегося времени ожидания" каждого из N абонентских блоков. При этом каждый абонентский блок снабжен дополнительно K-разрядным входом "Код максимального времени обслуживания", которые одновременно являются K-разрядными входами "Код максимального времени обслуживания" устройства.The goal in the inventive device for servicing multi-priority requests of subscribers of a computer system is achieved by the fact that in a known device for servicing requests for subscribers of a computer system containing N subscriber units, where N≥2, the counter, the counter input of the counter is connected to the output of the element And the second input of the element And is connected to the output of the clock generator and the input of the divider, the output of the divider is connected to the clock inputs of N subscriber units, interrogation inputs and K-bit inputs "Maximum time code “N subscriber units” are the corresponding request inputs and K-bit inputs “Maximum latency code” of the device, N-input element OR NOT, N inputs of which are connected to the “Exceed” outputs of the corresponding N subscriber units, and the output of the N-input element OR-NO element is connected to the inputs of "prohibition" N subscriber units, multiplexer, N data inputs of which are connected with the first output signal corresponding to N subscriber units, and its J, where J =] log 2 N [, address inputs connected to respective J you odes "Subscriber code" of the counter, the multiplexer output is connected to the input of the first inverter, the output of the first inverter is connected to the first input of the And element, and the counter reset input is a polling input of the device, and the inputs of "Zeroing" N subscriber units are the corresponding inputs of "Zeroing" the device, In addition, a selector-multiplexer, a second inverter, an N-input NAND element, a priority encoder, a low level decoder, K sampling and fixing blocks are introduced. J information inputs of the first group of the selector-multiplexer are connected to the corresponding J outputs of the “Subscriber Code” of the counter, J outputs of the selector-multiplexer are respectively J outputs of the “Subscriber Subscriber Code” of the device. The input of the second inverter is connected to the input of the first inverter, and the output of the second inverter is connected to the enable input of the selector-multiplexer and at the same time is the enable output of the device, n-th, where n = 1,2, ..., N, the inverse input of the priority encoder is connected to the second signal output (N + l) -n-th subscriber unit. J inverse outputs of the priority encoder are connected to the corresponding J inputs of the second group of inputs of the selector-multiplexer. N inputs of the N-input element AND are NOT connected to the corresponding N inverse inputs of the priority encoder, and the output of the N-input element AND is NOT connected to the control input of the selector-multiplexer. J inputs of the low level decoder are connected to the corresponding J outputs of the “Subscriber Code” counter, and N inverse outputs of the low level decoder are connected to the “Resolution Comparison” inputs of the corresponding N subscriber units. The J inputs of the “Subscriber Code” of each of the K blocks of fetching and fixing are connected to the corresponding outputs of the “Subscriber Code” counter. m-th, where m = 1,2, ..., K, the discharge bit "Code remaining timeout" of the n-th subscriber unit is connected to the n-th bit of the N-bit input "Bit code remaining time-out" of the mth block sampling and fixing. The control input of each of the K blocks of sampling and fixing is connected to the output of the first inverter. Outputs "The discharge of the selected code of the remaining latency" To the sampling and latching units are connected to the corresponding bits of the K-bit inputs "Selected code of the remaining latency" of each of the N subscriber units. Moreover, each subscriber unit is additionally equipped with a K-bit input "Code maximum service time", which are also K-bit inputs "Code maximum service time" device.
Абонентский блок состоит из счетчика, элемента И, трехвходового элемента И, инвертора, элемента ИЛИ, трехвходового элемента И-НЕ, компаратора. Инверсный вход разрешения счета счетчика является запросным входом абонентского блока и подключен к первому входу элемента И. К информационных входов счетчика являются соответственно K-разрядным входом "Код максимального времени ожидания" абонентского блока, а вход сброса счетчика является входом "Обнуление" абонентского блока, причем инверсный выход счетчика подключен к первому входу трехвходового элемента И и входу инвертора. Выход инвертора подключен к второму входу элемента ИЛИ и является выходом "Превышение" абонентского блока. Второй вход трехвходового элемента И подключен к первому входу элемента И. Второй вход элемента И является входом "Запрет" абонентского блока. Третий вход трехвходового элемента И является тактовым входом абонентского блока, а выход трехвходового элемента И подключен к счетному входу счетчика. Выход элемента И подключен к первому входу элемента ИЛИ и первому входу трехвходового элемента И-НЕ. Выход элемента ИЛИ является первым сигнальным выходом абонентского блока. Второй вход трехвходового элемента И-НЕ подключен к выходу компаратора, первая и вторая группы входов по К входов в каждой которого являются соответственно К-разрядным входом "Выбранный код оставшегося времени ожидания" и К-разрядным входом "Код максимального времени обслуживания" абонентского блока. Третий вход трехвходового элемента И-НЕ является входом "Разрешение сравнения" абонентского блока. Выход трехвходового элемента И-НЕ является вторым сигнальным выходом абонентского блока. К выходов счетчика являются соответственно K-разрядным выходом "Код оставшегося времени ожидания" абонентского блока. The subscriber unit consists of a counter, an AND element, a three-input AND element, an inverter, an OR element, a three-input AND element, a comparator. The inverse input of the counter account resolution is the request input of the subscriber unit and is connected to the first input of the element I. The counter information inputs are the K-bit input “Code of maximum waiting time” of the subscriber unit, and the counter reset input is the input “Reset” of the subscriber unit, the inverse output of the counter is connected to the first input of the three-input element And and the input of the inverter. The inverter output is connected to the second input of the OR element and is the “Exceed” output of the subscriber unit. The second input of the three-input element And is connected to the first input of the element I. The second input of the element And is the input "Prohibition" of the subscriber unit. The third input of the three-input element And is the clock input of the subscriber unit, and the output of the three-input element And is connected to the counting input of the counter. The output of the AND element is connected to the first input of the OR element and the first input of the three-input element AND NOT. The output of the OR element is the first signal output of the subscriber unit. The second input of the three-input AND element is NOT connected to the output of the comparator, the first and second groups of inputs of K inputs in each of which are respectively the K-bit input "Selected code for the remaining latency" and the K-bit input "Code for maximum service time" of the subscriber unit. The third input of the three-input element AND is NOT the input "Resolution comparison" of the subscriber unit. The output of the three-input element AND is NOT the second signal output of the subscriber unit. The counter outputs are respectively the K-bit output "Code remaining time out" of the subscriber unit.
Блок выборки и фиксации состоит из мультиплексора и D-триггера. N информационных входов мультиплексора являются соответственно N-разрядным входом "Разряды кода оставшегося времени ожидания" блока выборки и фиксации, a J адресных входов мультиплексора являются соответственно J входами "Код абонента" блока выборки и фиксации. Информационный вход D-триггера подключен к выходу мультиплексора, управляющий вход D-триггера является управляющим входом блока выборки и фиксации. Выход D-триггера является выходом "Разряд выбранного кода оставшегося времени ожидания" блока выборки и фиксации. The fetch and lock block consists of a multiplexer and a D-trigger. The N information inputs of the multiplexer are respectively the N-bit input "Remains of the code for the remaining time to wait" of the fetch and hold unit, and the J address inputs of the multiplexer are respectively the J inputs of the "Subscriber code" of the fetch and hold unit. The information input of the D-trigger is connected to the output of the multiplexer, the control input of the D-trigger is the control input of the fetch and lock block. The output of the D-flip-flop is the output "The discharge of the selected code of the remaining time to wait" block sampling and fixing.
Проведенный заявителем анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностями признаков, тождественных всем признакам, заявленных способа и устройства обслуживания разноприоритетных запросов абонентов вычислительной системы, отсутствуют. Следовательно, каждый из заявленных изобретений соответствует условию патентоспособности "Новизна". The analysis of the prior art carried out by the applicant made it possible to establish that there are no analogs characterized by sets of features identical to all the features of the claimed method and device for servicing diverse priorities of subscribers of a computing system. Therefore, each of the claimed inventions meets the condition of patentability "Novelty".
Результаты поиска известных решений в данной и смежных областях техники, с целью выявления признаков, совпадающих с отличительными от прототипов признаками каждого заявленного изобретения показали, что они не следуют явным образом из уровня техники. Из определенного заявителем уровня техники не выявлена известность влияния предусматриваемых существенными признаками каждого из заявленных изобретений на достижение указанного технического результата. Следовательно, каждое из заявленных изобретений соответствует по условию патентоспособности "Изобретательский уровень". Search results for known solutions in this and related fields of technology, in order to identify features that match the distinctive features of the prototypes of each claimed invention showed that they do not follow explicitly from the prior art. From the prior art determined by the applicant, the popularity of the influence of the essential features of each of the claimed inventions on the achievement of the specified technical result is not revealed. Therefore, each of the claimed inventions corresponds to the condition of patentability "Inventive step".
Заявленные объекты изобретения поясняются чертежами, где показано
на фиг.1 - структура вычислительной системы;
на фиг.2 - размещение запросов в очереди второго порядка;
на фиг. 3 - порядок переноса запросов из очереди второго порядка в очередь первого порядка;
на фиг. 4 - фиг.7 - временные диаграммы работы устройства обслуживания разноприоритетных запросов абонентов вычислительной системы;
на фиг. 8 - среднее время нахождения в вычислительной системе и вероятность своевременного обслуживания запросов с различными приоритетами и различными ВИЗ;
на фиг.9 - среднее время нахождения в очереди запросов с различными приоритетами и различными ВИЗ;
на фиг. 10 - среднее время нахождения в вычислительной системе запросов всех приоритетов с различными ВИЗ;
на фиг.11 - устройство обслуживания разноприоритетных запросов абонентов вычислительной системы;
на фиг.12 - абонентский блок;
на фиг.13 - блок выборки и фиксации.The claimed objects of the invention are illustrated by drawings, where shown
figure 1 - the structure of the computing system;
figure 2 - placing requests in the queue of the second order;
in FIG. 3 - the order of transferring requests from the second order queue to the first order queue;
in FIG. 4 - Fig. 7 - timing diagrams of the operation of a device for servicing multi-priority requests of subscribers of a computing system;
in FIG. 8 - the average time spent in the computer system and the likelihood of timely service requests with different priorities and different VIZ;
figure 9 is the average time spent in the queue of requests with different priorities and different VIZ;
in FIG. 10 - average time spent in the computing system of requests of all priorities with different VIZ;
11 - a device for servicing multi-priority requests of subscribers of a computing system;
in Fig.12 - subscriber unit;
in Fig.13 - block sampling and fixing.
Реализация заявленного способа заключается в следующем. Для каждого запроса (группы запросов) формируются коды ВИЗ ΔTоб.i и коды максимального времени ожидания обслуживания Тож.i. Формирование вышеуказанных кодов осуществляется из следующих соображений. Время пребывания запроса i-го абонента в вычислительной системе известно и установлено нормативными документами. Оно определяется величиной Тдоп.i. Величина ВИЗ i-го абонента ΔTоб.i характеризует временные затраты вычислительной системы на его обслуживание (выделение ресурса). Величина ΔTоб.i для каждого запроса определяется экспериментальным путем в начальный период функционирования системы или на основании статистических данных функционирования аналогичных систем. Причем, в общем случае, возможно объединение запросов i-го абонента, имеющих близкие по величине ВИЗ в М, где М≥2, групп и назначение для каждой группы запросов величины ΔTоб.ji, где j - порядковый номер группы запросов, достаточной для обслуживания (выделения ресурса) запроса с максимальным ВИЗ из данной группы. Величина максимального времени ожидания обслуживания запроса Тож.i, определяет максимальное время пребывания запроса в очереди, по истечении которого запросу должен быть выделен ресурс вычислительной системы и может быть определена следующим соотношением:
Tож.i= Tдоп.i-ΔTоб.ji-Tзап.i; (1)
где Tож.i - максимальное время ожидания обслуживания запроса i-го приоритета (абонента), где i=l,2,...,N;
Тдоп.i - допустимое время пребывания запроса i-го абонента в вычислительной системе, по истечении которого запрос теряет актуальность или данный абонент несет определенные убытки;
ΔTоб.ji- ВИЗ i-го абонента, где j=1,2,...,M - номер группы запросов;
Tзап.i - некоторый запас времени определяемый издержками обслуживания.The implementation of the claimed method is as follows. For each request (group of requests), VIZ codes ΔT vol.i and codes for the maximum service waiting time T ozh.i are generated . The formation of the above codes is carried out for the following reasons. The residence time of the request of the i-th subscriber in the computer system is known and established by regulatory documents. It is determined by the value of T add.i. The value of the VIZ of the ith subscriber ΔT vol.i characterizes the time spent by the computing system on its maintenance (resource allocation). The value ΔT vol.i for each request is determined experimentally in the initial period of the functioning of the system or on the basis of statistical data on the functioning of similar systems. Moreover, in the general case, it is possible to combine requests of the ith subscriber having similar VIZ values in M, where M≥2, groups and the assignment of ΔT vol.ji for each group of requests, where j is the sequence number of the request group sufficient for service (resource allocation) request with the maximum VIZ from this group. The value of the maximum waiting time for servicing the request, T.sub.i , determines the maximum time the request stays in the queue, after which the resource of the computing system must be allocated to the request and can be determined by the following relation:
T exp.i = T add.i -ΔT vol.ji -T app.i ; (1)
where T exp. i - the maximum waiting time for the service of the request of the i-th priority (subscriber), where i = l, 2, ..., N;
T add.i - permissible residence time of the request of the i-th subscriber in the computer system, after which the request loses relevance or the given subscriber incurs certain losses;
ΔT rev.ji - VIZ of the i-th subscriber, where j = 1,2, ..., M is the number of the request group;
T app.i is a certain margin of time determined by the costs of maintenance.
Сформированные для каждого абонента вычислительной системы коды максимального времени ожидания обслуживания и коды ВИЗ запоминаются (заносятся в память). После чего система готова к работе и принимает сигналы запросов, вырабатываемые абонентами вычислительной системы (см. фиг.1). Они поступают на устройство обслуживания запросов, где осуществляется постановка их в очередь второго порядка согласно начальным приоритетам (первый абонент имеет высший приоритет, а N-й абонент - низший) (см. фиг.2). Непосредственно после этого начинается подсчет времени нахождения запросов в данной очереди. The codes for the maximum waiting time for service and the VIZ codes generated for each subscriber of the computing system are stored (stored in memory). After which the system is ready for operation and receives request signals generated by subscribers of the computing system (see figure 1). They arrive at the request servicing device, where they are placed in the second order queue according to the initial priorities (the first subscriber has the highest priority, and the Nth subscriber has the lowest) (see Fig. 2). Immediately after this, the calculation of the time spent by the requests in this queue begins.
После поступления от вычислительной системы сигнала об освобождении ресурса, устройство обслуживания запросов определяет в очереди второго порядка запрос с минимальным номером z приоритета, сравнивает промежуток времени ΔTож.z, оставшийся до истечения максимального времени ожидания обслуживания данного запроса, с временными интервалами ΔTоб.ji (i=z+1,z+2,...,N) остальных запросов, находящихся в данный момент времени в очереди второго порядка. При обнаружении запроса, ВИЗ которого не превышает времени, оставшегося до истечения времени ожидания обслуживания запроса с наименьшим номером приоритета, то есть удовлетворяющего неравенству
ΔTоб.ji< ΔTож.z, (2)
где ΔTоб.ji- ВИЗ i-го абонента, где i=z+1, z+2,...,N; j=1,2,...,М - номер группы запросов;
ΔTож.z- временной интервал, оставшийся до истечения максимального времени ожидания обслуживания запроса в очереди второго порядка,
устройство обслуживания выдает вычислительной системе код АБ, в котором находится обнаруженный запрос, после чего система выделяет затребованный ресурс. При обнаружении нескольких запросов, удовлетворяющих неравенству (2), вычислительный ресурс будет выделен запросу с наименьшим номером приоритета.After a signal is received from the computing system about the release of the resource, the request service device determines in the second-order queue a request with a minimum priority number z, compares the time interval ΔT exp. Z remaining until the maximum waiting time for servicing this request expires, with time intervals ΔT rev.ji (i = z + 1, z + 2, ..., N) of the remaining requests that are currently in the second-order queue. Upon detection of a request, the VIZ of which does not exceed the time remaining before the time to wait for servicing the request with the lowest priority number, that is, satisfying the inequality
ΔT vol.ji <ΔT burn.z , (2)
where ΔT rev.ji is the VIZ of the i-th subscriber, where i = z + 1, z + 2, ..., N; j = 1,2, ..., M is the number of the query group;
ΔT ozh.z - the time interval remaining until the expiration of the maximum waiting time for servicing the request in the second-order queue,
the service device issues the AB code to the computing system in which the detected request is located, after which the system allocates the requested resource. If several queries are found that satisfy inequality (2), the computing resource will be allocated to the query with the lowest priority number.
В том случае, когда один или несколько запросов достигнут максимального времени ожидания обслуживания в очереди второго порядка, в устройстве обслуживания запросов организуется очередь первого порядка (из запросов с истекшим максимальным временем ожидания обслуживания) (см. фиг.3). Причем запросы из очереди второго порядка переносят в очередь первого порядка на позиции, соответствующие номерам их приоритетов (см. фиг.3). При этом правом первоочередного обслуживания обладают запросы из очереди первого порядка. Из очереди первого порядка запросы извлекаются в соответствии с приоритетами. In the case when one or more requests have reached the maximum waiting time for service in the second order queue, a first order queue is organized in the request servicing device (from requests with the elapsed maximum service waiting time) (see Fig. 3). Moreover, requests from the second-order queue are transferred to the first-order queue at positions corresponding to their priority numbers (see Fig. 3). At the same time, requests from the first-order queue have the right of primary service. From the first order queue, requests are retrieved in accordance with the priorities.
Например, в начальный момент времени t1 (см. фиг.4а) в системе находятся 4 запроса и поступил сигнал вычислительной системы об освобождении ресурса. Наивысшим приоритетом обладает запрос 1 (с минимальным номером приоритета). Кроме того, в устройстве находятся запрос 3, чью потребность в вычислительном ресурсе можно удовлетворить за отрезок времени, оставшийся запросу 1 до истечения максимального времени ожидания (ΔTоб.j3< ΔTож.1) и при этом запрос 1 не будет считаться опоздавшим. Ресурс будет выделен запросу 3. После освобождения ресурса запросом 3, в момент времени t2a (см. фиг.5а), ресурс будет выделен запросу 1, так как он имеет минимальный номер приоритета и в устройстве нет запросов, удовлетворяющих условию (2). После освобождения ресурса запросом 1 в момент времени t3а (см. фиг.6а) ресурс будет выделен запросу 4, так как к этому моменту времени максимальное время ожидания обслуживания запроса 4 в очереди второго порядка превысило величину Тож.4, и запрос перенесен в очередь первого порядка. После освобождения ресурса запросом 4, в момент времени t4a (см. фиг.7а) ресурс будет выделен запросу 2.For example, at the initial time t 1 (see Fig. 4a), there are 4 requests in the system and a signal from the computing system about the release of the resource is received.
Последовательность обслуживания запросов при применении способа-прототипа будет следующей. В начальный момент времени t1 ресурс будет выделен запросу 1 (см. фиг.4б). В момент времени t2б ресурс будет выделен запросу 2 (см. фиг.5б). Далее в моменты времени t3б и t4б ресурс будет выделен запросам 4 и 3 соответственно, поскольку у каждого из них к соответствующим моментам времени истечет время ожидания. В результате запросам 4 и 3 ресурс будет выделен с существенным опозданием.The sequence of service requests when applying the prototype method will be as follows. At the initial time t 1, the resource will be allocated to request 1 (see Fig. 4b). At time t 2b, the resource will be allocated to request 2 (see FIG. 5b). Further, at times t 3b and t 4b, the resource will be allocated to
Заявленный способ обслуживания разноприоритетных запросов обеспечивает высокую вероятность обслуживания низкоприоритетных запросов за счет учета максимального времени ожидания обслуживания запросов в очереди второго порядка, а также уменьшение времени нахождения в очереди запросов с малыми ВИЗ (по сравнению с способом-прототипом) за счет использования резерва времени, оставшегося до истечения максимального времени ожидания обслуживания первоочередных запросов. The claimed method of servicing multi-priority requests provides a high probability of servicing low-priority requests by taking into account the maximum waiting time for servicing requests in the second-order queue, as well as reducing the time spent in the queue of requests with small VIZ (in comparison with the prototype method) by using the time reserve remaining before the maximum waiting time for serving priority requests.
Правомерность теоретических предпосылок проверялась с помощью имитационной модели вычислительной системы, при экспоненциальном законе распределения поступления запросов на обслуживание. Результаты проверки приведены в табличном виде на фиг.8-10, где
Пр. - номер приоритета запросов (для упрощения рассмотрено три приоритета);
ВИЗ - временной интервал запроса;
Тcр. - среднее время нахождения запроса в вычислительной системе (среднее время обслуживания);
σ- среднеквадратическое отклонение;
Р(Т≤Тдоп.) - вероятность своевременного обслуживания запросов вычислительной системой;
Тcр. в о череди - среднее время ожидания запросом выделения ресурса вычислительной системой.The validity of the theoretical assumptions was checked using a simulation model of a computing system, with the exponential law of the distribution of receipt of service requests. The verification results are shown in tabular form on Fig-10, where
Etc. - request priority number (three priorities are considered for simplicity);
VIZ - time interval of the request;
T cf. - average time spent by the request in the computing system (average service time);
σ is the standard deviation;
P (T≤T add. ) - the probability of timely service requests by the computing system;
T cf. in the middle - the average wait time by a request for resource allocation by a computing system.
Из приведенных данных следует, что заявленный способ позволяет увеличить вероятность своевременного обслуживания низкоприоритетных запросов до 3% за счет уменьшения времени нахождения в очереди запросов с малыми ВИЗ в 1.1-1.3 раза по сравнению со способом-прототипом, что указывает на возможность достижения данного технического результата. From the above data it follows that the claimed method allows to increase the likelihood of timely servicing of low priority requests to 3% by reducing the time spent in the queue of requests with small VIZ by 1.1-1.3 times in comparison with the prototype method, which indicates the possibility of achieving this technical result.
Устройство (фиг.11) состоит из генератора тактовых импульсов 2, делителя 3, N-входового элемента ИЛИ-НЕ 4, счетчика 5, элемента И 6, первого инвертора 7, мультиплексора 8, дешифратора низкого уровня 11, шифратора приоритетов 12, N-входового элемента И-НЕ 13, второго инвертора 14, селектора-мультиплексора 15, N абонентских блоков (АБ) l1-lN (схема АБ изображена на фиг.12), К блоков выборки и фиксации (БВФ) 91-9k (схема БВФ изображена на фиг.13).The device (Fig. 11) consists of a
Элементы соединены между собой следующим образом (см. фиг.11). Выход генератора тактовых импульсов 2 подключен к входу делителя 3 и второму входу элемента И 6. Выход делителя 3 подключен к тактовым входам 20 АБ. Первые сигнальные выходы 251-25N АБ подключены соответственно к информационным входам A1-AN мультиплексора 8, выход Y которого подключен к входу первого инвертора 7 и к входу второго инвертора 14. Выход первого инвертора 7 подключен к первому входу элемента И 6 и к управляющим входам 29 каждого из К БВФ. Выход элемента И 6 подключен к счетному входу С счетчика 5. Вход сброса R счетчика 5 является опросным входом устройства 31. J информационных выходов Q1-QJ счетчика 5 подключены к соответствующим J входам "Код абонента" 27 БВФ, к соответствующим J управляющим входам V мультиплексора 8, к J входам а1-аj первой группы информационных входов селектора-мультиплексора 15, и к J информационным входам X1-XJ дешифратора низкого уровня 11. Выход второго инвертора 14 подключен к разрешающему входу Е селектора-мультиплексора 15 и является разрешающим выходом 32 устройства. Запросные входы 16 АБ являются соответствующими запросными входами устройства. K-разрядные входы 17 "Код максимального времени ожидания" АБ являются соответствующими K-разрядными входами 17 "Код максимального времени ожидания" устройства. Входы "Обнуление" 18 АБ являются соответствующими входами "Обнуление" устройства. K-разрядные входы 19 "Код максимального времени обслуживания" АБ являются соответствующими К-разрядными входами 19 "Код максимального времени обслуживания" устройства. Инверсные входы 28 шифратора приоритетов 12 соединены с вторыми сигнальными выходами 28 АБ 11-1N, при этом подключение осуществлено следующим образом: 1-й инверсный вход шифратора приоритетов 12 подключен к второму сигнальному выходу N-го АБ, 2-й инверсный вход шифратора приоритетов 12 подключен к второму сигнальному выходу N-1-гo АБ, n-й инверсный вход шифратора приоритетов 12 подключен к второму сигнальному выходу (N+1)-n-гo АБ, а N-й инверсный вход шифратора приоритетов 12 подключен к второму сигнальному выходу 1-го АБ. Кроме того, N инверсных входов 28 шифратора приоритетов 12 соединены с соответствующими N входами N-входового элемента И-НЕ 13. Инверсные выходы шифратора приоритетов 12 подключены к соответствующим J входам второй группы информационных входов B1-BJ селектора-мультиплексора 15. Выход элемента И-НЕ 13 подключен к селективному входу V селектора-мультиплексора 15.Elements are interconnected as follows (see Fig.11). The output of the
Выходы Y1-Yj селектора-мультиплексора 15 являются соответствующими J выходами 33 "Код подлежащего обслуживанию абонента" устройства. Выходы "Превышение" 241-24N АБ 11-1N подключены к соответствующим входам N-входового элемента И-НЕ 4. Выход N-входового элемента И-НЕ 4 подключен к входам 21 "Запрет" АБ 11-1N. Инверсные выходы дешифратора низкого уровня 11 подключены соответственно к входам 221-22N "Разрешение сравнения" АБ. K-разрядные выходы 231-23N "Код оставшегося времени ожидания" каждого из N АБ подключены к N-разрядным входам 301-30N "Разряды кода оставшегося времени ожидания" К БВФ, при этом подключение осуществлено следующим образом: 1-е разряды K-разрядных выходов 231-23N "Код оставшегося времени ожидания" каждого из N АБ подключены к соответствующим разрядам N-разрядного входа 301 "Разряды кода оставшегося времени ожидания" 1-го БВФ, 2-е разряды K-разрядных выходов 231-23N "Код оставшегося времени ожидания" каждого N АБ подключены к соответствующим разрядам N-разрядного входа 302 "Разряды кода оставшегося времени ожидания" 2-го БВФ, m-е разряды К-разрядных выходов 231-23N "Код оставшегося времени ожидания" каждого из N AБ подключены к соответствующим разрядам N-разрядного входа 30m "Разряды кода оставшегося времени ожидания" m-го БВФ, К-е разряды K-разрядных выходов 231-23N "Код оставшегося времени ожидания" каждого из N АБ подключены к соответствующим разрядам N-разрядного входа 30K "Разряды кода оставшегося времени ожидания" K-го БВФ. Выходы 101-10K "Разряд выбранного кода оставшегося времени ожидания" К блоков выборки и фиксации подключены к соответствующим разрядам K-разрядных входов 26 "Выбранный код оставшегося времени ожидания" каждого из N АБ.The outputs Y 1 -Y j of the selector-
Генератор тактовых импульсов 2 предназначен для выработки синхронизирующей последовательности импульсов и может быть построен по любой известной схеме. См. , например, В.Л. Шило. Популярные микросхемы ТТЛ. - М.: АРГУС, 1993, с. 18. The
Делитель 3 предназначен для увеличения периода следования поступающей на его вход последовательности импульсов. Конкретная величина необходимого деления зависит от выбранной тактовой частоты генератора тактовых импульсов устройства, а также от заданного диапазона выдержек времени Тож.i. Схемы реализации такого делителя известны. В частности, делитель может быть построен на счетчике. См., например, П.П. Мальцев, Н.С. Долидзе и др. Цифровые интегральные микросхемы. Справочник. - М.: Радио и связь, 1994, с. 62-74. При этом входом делителя будет счетный вход счетчика, а выходом делителя - один из выходов счетчика.
Счетчик 5 предназначен для счета поступающих на его счетный вход импульсов и вывода их числа в двоичном коде. См., например, П.П. Мальцев, Н.С. Долидзе и др. , Цифровые интегральные микросхемы. Справочник. - М.: Радио и связь, 1994, с. 62-74.
Мультиплексор 8 предназначен для поочередной коммутации сигнальных выходов 14 абонентских блоков на вход инвертора 7 и вход инвертора 14. См., например, B.C. Тутников, В.В. Лопатин и др. Электронные устройства информационно-измерительной техники. Учебное пособие. -Л.: ЛПИ им. Калинина, 1980, с.70-72. The
Дешифратор низкого уровня 11 предназначен для преобразования поступающего на его вход двоичного кода в сигнал низкого уровня на одном из его выходов. Схемы реализации дешифратора низкого уровня известны. См., например, П. П. Мальцев, Н.С. Долидзе и др. Цифровые интегральные микросхемы. Справочник. - М.: Радио и связь, 1994, с.42-43. The
Шифратор приоритетов 12 предназначен для преобразования сигнала низкого уровня на одном из его входов в двоичный код на его выходе, причем преобразование осуществляется с учетом приоритетов сигналов, соответствующих номерам входов. Схема реализации шифратора приоритетов известна. См., например, П. П. Мальцев, Н. С. Долидзе и др. Цифровые интегральные микросхемы. Справочник. - М.: Радио и связь, 1994, с. 40.
Селектор-мультиплексор 15 предназначен для коммутации одной из двух J-разрядных групп входов на выход. Схемы реализации такого селектора-мультиплексора известны. См., например, П.П. Мальцев, Н.С. Долидзе и др. Цифровые интегральные микросхемы. Справочник. - М.: Радио и связь, 1994, с. 36. The selector-
Абонентские блоки 11-1N предназначены для контроля поступления сигналов запросов, подсчета оставшегося времени ожидания, сравнения оставшегося времени ожидания выбранного запроса с ВИЗ остальных запросов, выработки управляющих сигналов на внеочередное обслуживание запросов по результатам сравнения, а также управляющих сигналов на повышение приоритета по истечении установленного времени ожидания для каждого запроса.Subscriber units 1 1 -1 N are designed to control the receipt of request signals, calculate the remaining waiting time, compare the remaining time to wait for the selected request with the VIZ of the remaining requests, generate control signals for extraordinary service of requests based on the results of comparison, as well as control signals to increase priority after the set timeout for each request.
Абонентский блок может быть реализован в различных вариантах. В частности, его схема, показанная на фиг. 12, содержит элемент И 1.1, элемент ИЛИ 1.2, инвертор 1.3, счетчик 1.4, трехвходовый элемент И 1.5, компаратор 1.6, трехвходовый элемент И-НЕ 1.7. The subscriber unit can be implemented in various ways. In particular, its circuit shown in FIG. 12, contains the AND element 1.1, the OR element 1.2, the inverter 1.3, the counter 1.4, the three-input element AND 1.5, the comparator 1.6, the three-input element AND-NOT 1.7.
Первый вход элемента И 1.1 (см. фиг. 12) соединен с инверсным входом разрешения счета счетчика 1.4, с вторым входом трехвходового элемента И 1.5 и является запросным входом 16 АБ. K информационных входов D1-DK счетчика 1,4 являются К-разрядным входом 17 "Код максимального времени ожидания" АБ. Вход обнуления R счетчика 1.4 является входом 18 "Обнуление" АБ. Счетный вход С счетчика 1.4 подключен к выходу трехвходового элемента И 1.5, инверсный выход переполнения счетчика 1.4 подключен к первому входу трехвходового элемента И 1.5 и к входу инвертора 1.3. Третий вход трехвходового элемента И 1.5 является тактовым входом 20 АБ. Выход инвертора 1.3 подключен к второму входу элемента ИЛИ 1.2 и одновременно является выходом 24 "Превышение" АБ. Второй вход элемента И 1.1 является входом 21 "Запрет" АБ. Выход элемента И 1.1 соединен с первым входом элемента ИЛИ 1.2 и с первым входом трехвходового элемента И-НЕ 1.7. Выход элемента ИЛИ 1.2 является первым сигнальным выходом 25 АБ. К информационных выходов Q1-ОK счетчика 1.4 являются К-разрядным выходом 23 "Код оставшегося времени ожидания" АБ. К входов B1-ВK второй группы информационных входов компаратора 1.6 являются K-разрядным входом 19 "Код максимального времени обслуживания" АБ. К входов А1-АK первой группы информационных входов компаратора 1.6 являются K-разрядным входом 26 "Выбранный код оставшегося времени ожидания" АБ. Выход "А<В" компаратора 1.6 подключен к второму входу трехвходового элемента И-НЕ 1.7. Третий вход трехвходового элемента И-НЕ 1.7 является входом 22 "Разрешение сравнения" АБ. Выход трехвходового элемента И-НЕ 1.7 является вторым сигнальным выходом 28 АБ.The first input of the element And 1.1 (see Fig. 12) is connected to the inverse input of the account resolution counter 1.4, with the second input of the three-input element And 1.5 and is a request input of 16 AB. K information inputs D 1 -D K counter 1,4 are K-
Счетчик 1.4 предназначен для счета поступающих на его вход импульсов (счетных импульсов), формирования результата счета в двоичном коде, выработки управляющего сигнала, определяемого кодом начального заполнения по входам D и периодом следования тактовых импульсов, то есть является настраиваемым таймером. Описание работы и схема такого счетчика известны и приведены, например, в книге: П.П. Мальцев, Н.С. Долидзе и др. Цифровые интегральные микросхемы. Справочник - М.: Радио и связь, 1994, с. 64-65. Counter 1.4 is intended for counting pulses (counting pulses) received at its input, generating the counting result in binary code, generating a control signal determined by the initial filling code for inputs D and the repetition period of the clock pulses, that is, it is a configurable timer. The description of the operation and the circuit of such a counter are known and are given, for example, in the book: P.P. Maltsev, N.S. Dolidze et al. Digital integrated circuits. Directory - M .: Radio and communications, 1994, p. 64-65.
Компаратор 1.6 предназначен для сравнения двоичных кодов двух групп К-разрядных входов и формирования результата сравнения. Описание работы и схема компаратора приведены, например, в книге: В.Л. Шило Популярные микросхемы ТТЛ. - М.: АРГУС, 1993, с. 183-184. Comparator 1.6 is intended for comparing binary codes of two groups of K-bit inputs and generating a comparison result. A description of the work and the comparator circuit are given, for example, in the book: V.L. Shilo Popular TTL chips. - M.: ARGUS, 1993, p. 183-184.
Блоки выборки и фиксации 91-9K предназначены для выделения разрядов кода оставшегося времени ожидания выбранного запроса и их фиксации для последующего сравнения в АБ.The sampling and fixing blocks 9 1 -9 K are designed to allocate bits of code for the remaining time to wait for the selected request and to fix them for subsequent comparison in AB.
БВФ может быть реализован в различных вариантах. В частности, его схема, показанная на фиг. 13, содержит мультиплексор 9.1 и D-триггер 9.2. BVF can be implemented in various ways. In particular, its circuit shown in FIG. 13, comprises a multiplexer 9.1 and a D-trigger 9.2.
N информационных входов a1-an мультиплексора 9.1 (см. фиг.13) являются N-разрядным входом 30 "Разряды кода оставшегося времени ожидания" БВФ. J адресных входов V мультиплексора 9.1 являются соответствующими J входами 27 "Код абонента" БВФ. Выход Y мультиплексора 9.1 соединен с информационным входом D D-триггера 9.2. Управляющий вход С D-триггера 9.2 является управляющим входом 29 БВФ. Выход D-триггера 9.2 является выходом 10 "Разряд выбранного кода оставшегося времени ожидания" БВФ.N information inputs a 1 -a n of multiplexer 9.1 (see Fig. 13) are N-
Мультиплексор 9.1 предназначен для коммутации одного из N входов на его выход. Схема реализации такого мультиплексора известна. См., например, в книге: П. П. Мальцев, Н.С. Долидзе и др. Цифровые интегральные микросхемы. Справочник. - М.: Радио и связь, 1994, с. 34-35. The multiplexer 9.1 is designed for switching one of the N inputs to its output. The implementation scheme of such a multiplexer is known. See, for example, in the book: P.P. Maltsev, N.S. Dolidze et al. Digital integrated circuits. Directory. - M .: Radio and communications, 1994, p. 34-35.
D-триггер 9.2 предназначен для хранения сигнала поступившего на его информационный вход. См. , например, в книге: П.П. Мальцев, Н.С. Долидзе и др. Цифровые интегральные микросхемы. Справочник. - М.: Радио и связь, 1994, с. 50-51. D-trigger 9.2 is designed to store the signal received at its information input. See, for example, in the book: P.P. Maltsev, N.S. Dolidze et al. Digital integrated circuits. Directory. - M .: Radio and communications, 1994, p. 50-51.
Устройство работает следующим образом. В начальный период работы, когда запросы на обслуживание не поступают, на запросных входах 161-16N АБ 11-1N (см. фиг. 11) установлены низкие логические уровни. Импульсы поступают от генератора тактовых импульсов 2 через открытый элемент И 6 на счетный вход С счетчика 5, на выходах которого по фронту каждого тактового импульса происходит последовательная смена кодовых комбинаций, являющихся номерами АБ в двоичном J-разрядном коде (2J= N). Кодовые комбинации с выхода счетчика 5 поступают на адресные входы V мультиплексора 8, поочередно коммутируя на выход Y мультиплексора 8 сигналы с первых сигнальных выходов 251-25N АБ 11-lN в последовательности, определяемой их приоритетами (то есть сверху вниз). На разрешающем выходе 32 устройства установлен высокий логический уровень.The device operates as follows. In the initial period of operation, when service requests are not received, low logic levels are set at the request inputs 16 1 -16 N АБ 1 1 -1 N (see Fig. 11). The pulses come from the
При поступлении запроса по группе входов 171-17N "Код максимального времени ожидания" на информационные входы D1-DK- счетчика 1.4 АБ поступает K-разрядный код максимального времени ожидания обслуживания запроса Тож.i. Наименьшему времени ожидания соответствует наибольший код, который является дополнением до максимального числа, представимого в K-разрядном коде. По группе входов 19 "Максимальное время обслуживания" на информационные входы b1-bk компаратора 1.6 соответствующего АБ поступает K-разрядный код ВИЗ. Наименьшему ВИЗ соответствует наибольший код, который является дополнением до максимального числа, представимого в K-разрядном коде. Затем на запросном входе 16 соответствующего АБ устанавливается высокий уровень. При этом на сигнальном выходе 25 АБ установится высокий уровень (через открытый элемент И 1.1 и элемент ИЛИ 1.2). На счетный вход С счетчика 1.4 соответствующего АБ поступают импульсы от генератора тактовых импульсов 2 по цепи: делитель 3, тактовый вход 20 АБ, открытый трехвходовый элемент И 1.5 АБ. Счетчик 1.4 АБ выполняет функцию таймера, который срабатывает через определенный интервал времени (по достижении переполнения).When a request is received on a group of inputs 17 1 -17 N "Code maximum waiting time" to the information inputs D 1 -D K - counter 1.4 AB receives a K-bit code for the maximum waiting time for servicing a request Т ozh.i. The smallest latency corresponds to the largest code, which is in addition to the maximum number represented in the K-bit code. According to the group of
На K-разрядные выходы 231-23N "Код оставшегося времени ожидания" АБ поступают текущие значения счетчиков 1.41-1.4N с выходов Q1-QK. Разряды текущих значений счетчиков поступают на N-разрядные входы 301-30K "Разряды кода оставшегося времени ожидания" БВФ, при этом разряды с одинаковым порядковым номером поступают на БВФ с номером, соответствующим этому порядковому номеру, то есть m-й разряд K-разрядного выхода 23 "Код оставшегося времени ожидания" (где m =1,2,..., К) n-го АБ поступает на n-й разряд (где n=1, 2,..., N) N-разрядного входа 30 "Разряд кода оставшегося времени ожидания" m-го блока выборки и фиксации.The current values of the counters 1.4 1 -1.4 N from the outputs Q 1 -Q K are sent to the K-bit outputs 23 1 -23 N "Remaining standby time code" of the battery. The bits of the current values of the counters are supplied to the N-bit inputs 30 1 -30 K “bits of the code for the remaining latency time” of the BVF, while the bits with the same serial number arrive at the BVF with the number corresponding to this serial number, that is, the m-th bit K-
По мере освобождения ресурса вычислительная система вырабатывает импульс высокого уровня, который поступает на опросный вход 31 устройства, при этом происходит обнуление счетчика 5. Далее, по мере поступления тактовых импульсов от генератора тактовых импульсов 2 на счетный вход счетчика 5 производится сканирование мультиплексором 8 сигнальных выходов 251-25N АБ в порядке их приоритета (сверху вниз), а также поочередная коммутация разрядов текущих значений кода оставшегося времени ожидания запросов с входов 301-30N БВФ на выходы 101-10K БВФ по цепи: информационные входы A1-AN мультиплексоров 9.11-9.1K, информационные выходы Y мультиплексоров 9.11-9.1K информационные входы D D-триггеров 9.21-9.2K информационные выходы D-триггеров 9.21-9.2K.As the resource becomes free, the computing system generates a high-level pulse, which is fed to the
При обнаружении первого встречного высокого уровня на сигнальных выходах 25 АБ он коммутируется на выход Y мультиплексора 8. При этом на выходе инвертора 7 устанавливается низкий уровень, который закрывает элемент И 6 и запрещает поступление тактовых импульсов на вход С счетчика 5, прекращая сканирование и фиксируя на выходе счетчика 5 код выбранного АБ? а также устанавливает низкий уровень на управляющих входах 29 БВФ 91-9K, переводя тем самым D-триггеры 9.21-9.2K БВФ 91-9K в режим хранения информации. При этом на выходах 101-10K БВФ 91-9K фиксируется текущее значение кода оставшегося времени ожидания запроса, находящегося в выбранном АБ, который поступает по K-разрядным входам 26 "Выбранный код оставшегося времени ожидания" АБ 11-1N на K-разрядные входы группы А компараторов 1.61-1.6N каждого из АБ. В компараторах 1.61-1.6N всех АБ происходит сравнение текущего значения оставшегося времени ожидания запроса, находящегося в выбранном АБ с кодами ВИЗ запросов, находящихся в других АБ с меньшими приоритетами для выявления одного или нескольких АБ с запросами, ВИЗ которых не превышает оставшееся время ожидания запроса в выбранном АБ. В том случае, если в АБ находится запрос, ВИЗ которого меньше времени, оставшегося до истечения максимального времени ожидания обслуживания запроса в выбранном АБ (то есть "А<В", так как сравниваются коды, являющиеся дополнением до максимального значения, представимого в K-разрядном коде), на выходе "А<В" компаратора 1.6 формируется сигнал высокого уровня, который поступая на трехвходовый элемент И-НЕ 1.7, устанавливает низкий уровень на втором сигнальном входе 28. Высокий уровень на вторых сигнальных выходах 28 будет только у тех АБ, в которых отсутствует сигнал запроса на запросном входе 16 (трехвходовый элемент И-НЕ 1.7 закрыт низким уровнем на первом входе), а также в выбранном АБ, поскольку на третий вход трехвходового элемента И-НЕ 1.7 выбранного АБ подан сигнал низкого уровня от соответствующего выхода дешифратора низкого уровня 11. Дешифратор низкого уровня 11 позволяет исключить из дальнейшего рассмотрения результат сравнения оставшегося времени ожидания запроса в выбранном АБ с его же ВИЗ. С вторых сигнальных выходов 28 АБ сигналы поступают на инверсные входы шифратора приоритетов 12, причем второй сигнальный выход n-ого АБ подключен к (N+1)-n-му инверсному входу шифратора приоритетов 12. Указанный способ подключения вторых сигнальных выходов 281-28N АБ на входы шифратора приоритетов 12 обусловлен тем, что выходы шифратора приоритетов 12 инверсные, то есть для получения на его выходе кода АБ с наименьшим номером приоритета следует скоммутировать его входы в обратном порядке. Шифратор приоритетов 12 формирует на своих выходах код АБ с наименьшим номером приоритета из числа АБ, имеющих низкий уровень на втором сигнальном выходе 28 (то есть из числа АБ, участвующих в рассмотрении). С инверсных выходов шифратора приоритетов 12 код АБ поступает на J входов B1-BJ второй группы информационных входов селектора-мультиплексора 15. Одновременно на J входов A1-AJ второй группы информационных входов селектора-мультиплексора 15 поступает код выбранного АБ. В том случае, если существует хотя бы один АБ, в котором находится сигнал запроса, ВИЗ которого меньше текущего значения времени ожидания запроса в выбранном АБ, на входе V селектора-мультиплексора 15 N-входовым элементом И-НЕ 13 будет установлен сигнал высокого уровня. При этом селектор-мультиплексор 15 коммутирует на выходы 33 "Код подлежащего обслуживанию абонента" устройства код АБ, установленный на группе входов b1-ВJ. В противном случае селектор-мультиплексор 15 коммутирует на выходы 33 "Код подлежащего обслуживанию абонента" устройства код АБ, установленный на группе входов A1-AJ. Сигналом, разрешающим работу селектора-мультиплексора 15 является сигнал низкого уровня на разрешающем входе Е, поступающий через второй инвертор 14 с выхода Y мультиплексора 8. Одновременно сигнал низкого уровня с выхода второго инвертора 14 является разрешающим сигналом вычислительной системе на считывание кода АБ, подлежащего обслуживанию. Второй инвертор 14 выбирается таким образом, чтобы время задержки сигнала в нем было не меньше, чем время последовательного прохождения сигналов по цепи: мультиплексор 9.1 БВФ, D-триггер 9.2 БВФ, компаратор 1.6 АБ, трехвходовый элемент И-НЕ 1.7 АБ, шифратор приоритетов 12.Upon detection of the first counter high level at the signal outputs of 25 AB, it is switched to the output Y of
В случае, если один или несколько запросов в результате создавшейся очереди достигли максимального времени ожидания, происходит их приоритетное обслуживание. При достижении максимального времени ожидания на инверсном выходе переполнения счетчика 1.4 устанавливается низкий уровень, который запирает трехвходовый элемент И 1.5, запрещая поступление тактовых импульсов на счетный вход С счетчика 1.4. Переключается инвертор 1.3 и на его выходе устанавливается высокий уровень. При этом высокий уровень с выхода "Превышение" 24 данного АБ переключает N-входовый элемент ИЛИ-НЕ 4 и на входах 21 "Запрет" всех АБ устанавливается сигнал низкого уровня. В результате на выходе элемента И 1.1 всех АБ устанавливается сигнал низкого уровня, который запирает трехвходовые элементы И-НЕ 1.7. При этом высокий уровень на первых сигнальных выходах 25 АБ будет только у запросов, достигших максимального времени ожидания, а на вторых сигнальных выходах 28 всех АБ будет установлен высокий уровень. В результате на селективном входе V селектора-мультиплексора 15 N-входовым элементом И-НЕ 13 будет установлен низкий уровень, коммутирующий на выходы 33 "Код подлежащего обслуживанию абонента" коды АБ, поступающие на входы группы А селектора-мультиплексора 15. В результате сканирования первых сигнальных выходов 25 АБ счетчиком 5 будет выбран АБ, имеющий наивысший приоритет из числа АБ с запросами, достигшими максимального времени ожидания. После выполнения очередного запроса с истекшим временем ожидания осуществляется сброс счетчика 1.4 АБ по входу "Обнуление" 18, что установит высокий уровень на выходе счетчика 1.4, устанавливая тем самым на выходе "Превышение" 24 низкий уровень, что позволит устройству после выполнения всех запросов с истекшим временем ожидания перейти к обслуживанию вновь поступивших, либо ждущих своей очереди запросов в порядке, определенном логикой работы устройства.If one or several requests as a result of the created queue have reached the maximum waiting time, their priority service is performed. Upon reaching the maximum latency on the inverse overflow output counter 1.4 is set to a low level that locks the three-input element And 1.5, prohibiting the receipt of clock pulses at the counting input From the counter 1.4. The inverter 1.3 is switched and a high level is set at its output. At the same time, the high level from the “Exceed”
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2001100104A RU2179737C1 (en) | 2001-01-03 | 2001-01-03 | Method and device for servicing different-priority requests of computer system subscribers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2001100104A RU2179737C1 (en) | 2001-01-03 | 2001-01-03 | Method and device for servicing different-priority requests of computer system subscribers |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2179737C1 true RU2179737C1 (en) | 2002-02-20 |
Family
ID=20244315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2001100104A RU2179737C1 (en) | 2001-01-03 | 2001-01-03 | Method and device for servicing different-priority requests of computer system subscribers |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2179737C1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2589363C1 (en) * | 2015-04-23 | 2016-07-10 | Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "ВОЕННАЯ АКАДЕМИЯ СВЯЗИ имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации | Device for servicing different-priority requests of subscribers of computer system |
US10068086B2 (en) | 2014-09-29 | 2018-09-04 | Yandex Europe Ag | System and method of automatic password recovery for a service |
CN116609726A (en) * | 2023-05-11 | 2023-08-18 | 钉钉(中国)信息技术有限公司 | Sound source positioning method and device |
-
2001
- 2001-01-03 RU RU2001100104A patent/RU2179737C1/en active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10068086B2 (en) | 2014-09-29 | 2018-09-04 | Yandex Europe Ag | System and method of automatic password recovery for a service |
RU2589363C1 (en) * | 2015-04-23 | 2016-07-10 | Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "ВОЕННАЯ АКАДЕМИЯ СВЯЗИ имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации | Device for servicing different-priority requests of subscribers of computer system |
CN116609726A (en) * | 2023-05-11 | 2023-08-18 | 钉钉(中国)信息技术有限公司 | Sound source positioning method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6246256B1 (en) | Quantized queue length arbiter | |
US7698486B1 (en) | Method and apparatus for bus arbitration dynamic priority based on waiting period | |
US4488218A (en) | Dynamic priority queue occupancy scheme for access to a demand-shared bus | |
US10037295B2 (en) | Apparatus and methods for generating a selection signal to perform an arbitration in a single cycle between multiple signal inputs having respective data to send | |
CN1215281A (en) | Processor | |
US3633163A (en) | Plural level high-speed selection circuit | |
EP0214840A2 (en) | Method of conflict resolution in a parallel processor network | |
RU2179737C1 (en) | Method and device for servicing different-priority requests of computer system subscribers | |
RU2186420C1 (en) | Device for servicing equal-priority requests of computing system subscribers | |
RU2553093C1 (en) | Information search apparatus | |
CN103116527A (en) | Super-large-scale barrier synchronization method based on network controller | |
Garncarek et al. | Stable memoryless queuing under contention | |
RU2296361C1 (en) | Device for servicing different priority requests from clients of computing system | |
CN111078598B (en) | Memory module data access control method, data access device and chip | |
WO2015067295A1 (en) | Method and arrangement for controlling requests to a shared electronic resource | |
RU2296365C1 (en) | Information finding device | |
RU2287179C1 (en) | Device for servicing requests of different priorities from clients of a computer system | |
RU2140666C1 (en) | Method and device for servicing requests of computer system users (options) | |
RU2290684C1 (en) | Device for servicing of various priority calls of computer system users | |
RU2610012C1 (en) | System of innovation project personnel formation | |
RU2250489C1 (en) | Random series generator | |
RU2109327C1 (en) | Multichannel priority device | |
SU1481765A2 (en) | Servicing priority control unit | |
RU2182723C2 (en) | Priority device | |
RU2111530C1 (en) | Device for identification of terminal user |