ОБЛАСТЬ ТЕХНИКИ
Изобретение относится к области вычислительной техники и может быть использовано для арбитража в многопроцессорных системах обработки информации для распараллеливания потока заявок.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Известно многоканальное устройство приоритета (RU №2415465 С2, МПК G06F 9/46, заявл. 01.06.2009, опубл. 27.03.2011, Бюл. №9), содержащее M каналов, каждый из которых содержит дешифратор, группу элементов И, первый и второй элементы ИЛИ, элемент И с прямым и инверсными входами, элемент задержки, группу кодовых входов приоритете, вход запроса и выход ответа, причем в каждом канале вход запроса соединен с входом элемента задержки, выход которого соединен со вторыми входами всех элементов И группы элементов И своего канала, группа кодовых входов канала соединена с группой входов дешифратора канала, а выход первого элемента ИЛИ является выходом ответа канала.
В данном устройстве введена дисциплина обслуживания запросов абонентов с абсолютными приоритетами, которые могут оперативно изменяться при перенастройке вычислительной системы. Недостатком данного устройства является задание только не одинаковых приоритетов.
Известен арбитр приоритетов многоранговых запросов (RU №2649948 С1, МПК G06F 13/37, заявл. 15.05.2017, опубл. 05.04.2018, Бюл. №10), содержащий N групп внешних входов запросов IZ1, IZ2, …, IZN, каждая из которых содержит M разрядов ранга приоритета (высший ранг приоритета имеет старший М-ый разряд, старший приоритет имеет старшая группа IZN), первую группу из N внешних выходов указателей группы старшего приоритета U1, U2, …, UN, вторую группу из M внешних выходов указателей высшего ранга приоритета в группе OZ1, OZ2,…, OZM, группу из (N-2) элементов ИЛИ 41, 42, …, 4(N-2), первую группу из (N-1) элементов запрета И с одним инверсным входом 51, 52, …, 5(N-1), группу из M элементов ИЛИ-НЕ 61, 62, …, 6M, вторую группу из (М-1) элементов запрета И с одним инверсным входом 71, 72, 7(M-1), инвертор 8 и группу из N блоков каналов анализа приоритета 11, 12, …, 1N, каждый из которых содержит элемент ИЛИ 3 и группу из (М-1) элементов И 21, 22, …, 2(M-1), при этом каждый v-й элемент И 2v (v=1, 2, …, (М-1)) содержит (М-v+1) входов.
Недостатком данного устройства является отсутствие средств для анализа параметров требуемых параметров входных заявок и параметров каналов обработки задач.
Наиболее близким устройством того же назначения к заявленному изобретению по совокупности признаков является, принятый за прототип, арбитр диспетчера задач (RU №2749151 С1, МПК G06F 13/37, G06F 9/50, заявл. 26.10.2020, опубл. 07.06.2021, Бюл. №16), содержащий внешнюю шину входной заявки IP и N внешних шин параметров каналов IC1, IC2, …, ICN, которые состоят из L групп параметров, N внешних шин занятости каналов IT1, IT2, …, ITN, каждая из которых содержит M разрядов ранга приоритета (высший ранг приоритета имеет младший нулевой разряд, старший приоритет имеет старший канал ITN), первую группу из N внешних выходов указателей канала старшего приоритета QU1, QU2, …, QUN и вторую группу из M внешних выходов указателей высшего ранга приоритета в канале OZ0, OZ1, …, OZ(M-1), N внутренних шин запросов IZ1, IZ2, …, IZN, каждая из которых содержит M разрядов приоритета, N разрядов внутренней шины состояния каналов S1, S2, …, SN, N разрядов внутренней шины готовности каналов K1, K2, …, KN и флаг готовности F, а также содержит группу из N блоков анализа параметров, каждый из которых содержит группу из L компараторов, и элемент И, группу из N блоков разрешения запросов, каждый из которых содержит первую группу из M элементов И, первую группу из M элементов ИЛИ, вторую группу из (М-1) элементов запрета И с инверсными входами, группу из N блоков анализа готовности каналов, каждый из которых содержит третью группу из (М-1) элементов И и первый элемент ИЛИ, а также второй элемент ИЛИ, вторую группу из (N-2) элементов ИЛИ и четвертую группу из (N-1) элементов запрета И с одним инверсным входом.
Недостатком данного устройства является отсутствие средств для сравнения рангов приоритетов обслуживаемых заявок и ранга приоритета входной заявки.
ЗАДАЧА ИЗОБРЕТЕНИЯ
Задача, на решение которой направлено предлагаемое изобретение, заключается в создании арбитра диспетчера задач для многопроцессорных систем обработки за счет анализа ранга приоритета входной задачи, сравнения с рангами приоритетов текущих выполняемых задач в каналах обработки и выявления канала с минимальным рангом.
Техническим результатом изобретения является расширение функциональных возможностей в части возможности выявления канала обработки с минимальным рангом приоритета и сравнения с рангом приоритета входной задачи.
КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Указанный технический результат при осуществлении изобретения достигается тем, что арбитр диспетчера задач каскадной структуры содержит N каналов обработки задач, внешнюю шину входной заявки IP и N внешних шин параметров каналов IC1, IC2, …, ICN, каждая из которых состоит из L групп параметров каналов, внешнюю шину приоритета входной заявки IPR, которая содержит m разрядов задания ранга приоритета (где m=] log2M [(] [ - большее целое), M - количество рангов приоритета в диапазоне от 0 до (М-1), высший ранг приоритета имеет старший номер (М-1)), N внешних шин приоритетов каналов IV1, IV2, …, IVN и N внутренних шин приоритетов каналов BV1, BV2, …, BVN, каждая из которых содержит по m разрядов ранга приоритета (младший приоритет имеет младший первый канал, старший приоритет имеет старший N-й канал), N разрядов внутренней шины S состояния каналов S1, S2, …, SN, группу из N внешних выходов указателей канала QU1, QU2, …, QUN младшего приоритета в унитарном коде «1 из N», внешний флаг готовности QF и внешний флаг состояния QFS,
а также содержит группу из N блоков анализа параметров 11, 12, …, 1N, каждый из которых содержит группу из L компараторов 21, 22, …, 2L и элемент И 3, группу из N блоков разрешения приоритетов 41, 42, …, 4N, каждый из которых содержит группу из m элементов ИЛИ с инверсным входом 51, 52 …, 5m, компаратор сравнения входного приоритета 10, дешифратор 11, элемент ИЛИ-НЕ 12,
а также содержит Z каскадов блоков сравнения приоритетов 6IJ, причем каждый I-й каскад содержит по N/2I блоков сравнения приоритетов 6IJ (где Z=] log2N[(] [ - большее целое); I - номер каскада, где I=2, 3, … Z; J - номер блока сравнения приоритетов в I-м каскаде, где J=1, 2, …, N/2I),
причем каждый блок сравнения приоритетов 6IJ содержит компаратор 7, первый мультиплексор 8 приоритета и второй мультиплексор 9 номера канала,
причем L групп параметров задачи внешней шины входной заявки IP соединены с первыми группами входов соответствующих одноименных компараторов 21, 22, …, 2L всех N блоков анализа параметров 11, 12, …, 1N, в каждом из которых вторые группы входов компараторов 21, 22, …, 2L соединены с соответствующими одноименными L группами соответствующих N внешних шин параметров каналов IC1, IC2, …, ICN, а также в каждом блоке анализа параметров 11, 12, …, 1N выходы компараторов 21, 22, …, 2L соединены с соответствующим элементом И 3, выходы которых являются соответствующими N разрядами S1, S2,…, SN внутренней шины состояния каналов и подключены к соответствующим входам элемента ИЛИ-НЕ 12,
в каждом из N блоков разрешения приоритетов 41, 42, …, 4N первые инверсные входы элементов ИЛИ групп из m элементов 51, 52, …, 5m соединены между собой, а также подключены к соответствующим одноименным N разрядам S1, S2, …, SN внутренней шины состояния каналов одноименным номеру канала, а вторые прямые входы элементов ИЛИ групп из m элементов 51, 52, …, 5m подключены к соответствующим одноименным m разрядам из N внешних шин приоритетов каналов IV1, IV2, …, IVN одноименных номеру канала, причем выходы элементов ИЛИ групп из m элементов 51, 52, …, 5m являются соответствующими m разрядами ранга приоритета соответствующих N внутренних шин приоритетов каналов BV1, BV2, …, BVN одноименных номеру канала,
причем нечетные внутренние шины приоритетов каналов BV1, BV3, …, BV(N-1) (нч) и четные внутренние шины приоритетов каналов BV2, BV4, …, BVN (чт) попарно соединены с первыми и вторыми группами входов соответственно N/2 блоков сравнения приоритетов 611, 612, …, 61N первого каскада, в которых на третьи и четвертые группы входов попарно задаются двоичные коды номеров соответственно нечетных 1, 3, …, (N-1) (нч) и четных 2, 4, …, N (чт) номеров каналов,
в каждом из блоков сравнения приоритетов 6IJ всех каскадов первые и вторые группы входов соединены соответственно с одноименными первыми и вторыми группами входов компаратора 7 и первого мультиплексора 8 приоритета, а третьи и четвертые группы входов соединены соответственно с первыми и вторыми группами и второго мультиплексор 9 номера канала, выход компаратора 7 соединен с адресными входами А первого мультиплексора 8 приоритета и второго мультиплексор 9 номера канала, а выходы первого мультиплексора 8 приоритета и второго мультиплексор 9 номера канала являются соответственно первой и второй группами выходов соответствующих блоков сравнения приоритетов 6IJ всех каскадов,
причем первые и вторые группы выходов нечетных блоков сравнения приоритетов 6IJ (нч) и одноименные первые и вторые группы выходов четных блоков сравнения приоритетов 6IJ (чт), начиная с первого каскада до предпоследнего (Z-1)-го каскада, соединены одноименными парами соответственно с первыми и вторыми группами входов и третьими и четвертыми группами входов блоков сравнения приоритетов 6IJ последующих каскадов, начиная со второго каскада до последнего Z-го каскада,
первая группа выходов блока сравнения приоритетов 6Z1 последнего Z-го каскада соединена со второй группой входов компаратора сравнения входного приоритета 10, первая группа входов которого соединена с внешней шиной приоритета входной заявки IPR, а выход компаратора сравнения входного приоритета 10 соединен с входом разрешения работы E дешифратора 11, у которого группа входов соединена со второй группой выходов блока сравнения приоритетов 6Z1 последнего Z-го каскада,
выход компаратора сравнения входного приоритета 10 является внешним флагом готовности QF, инверсный выход элемента ИЛИ-НЕ 12 является внешним флагом состояния QFS, а группа выходов дешифратора 11 является группой из N внешних выходов указателей канала QU1, QU2, …., QUN младшего приоритета в унитарном коде «1 из N».
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На фиг. 1 представлена схема предлагаемого арбитра диспетчера задач каскадной структуры для входного приоритета IPR содержащего m=3 разрядов ранга приоритета при М=8, входных заявок IP содержащих L=2 групп параметров задач, для N=4 каналов обработки, каждый из которых содержит по m=3 разрядов входных шин приоритета канала IV (высший ранг имеет старший номер приоритета (М-1)=7, младший приоритет имеет младший первый канал) и Z=2 каскадов блоков сравнения приоритетов 6.
На фиг. 1 и в тексте введены следующие обозначения:
N - количество каналов обработки задач;
IP - внешняя шина параметров входной заявки, содержащая L групп параметров задачи;
IC1, IC2, …, ICN (IC4) - внешние шины параметров N каналов обработки задач, содержащие по L групп параметров каналов;
IPR - внешняя шина приоритета входной заявки, содержащая m разрядов;
M - количество рангов приоритета в диапазоне от 0 до (М-1);
m - разрядность ранга приоритета, где m=] log2M [(] [ - большее целое); (высший ранг приоритета имеет старший номер (М-1), младший ранг при нулевом значении соответствует отсутствию входного запроса или канал не занят обслуживанием);
IV1, IV2, …, IVN (IV4) - N внешних шин приоритетов каналов, каждая из которых содержит по m разрядов ранга приоритета (младший приоритет имеет младший первый канал IV1, старший приоритет имеет старший N-й канал IVN (IV4);
BV1, BV2, …, BVN (BV4) - N внутренних шин приоритетов каналов, каждая из которых содержит по m разрядов ранга приоритета (младший приоритет имеет младший первый канал BV1, старший приоритет имеет старший N-й канал BVN (BV4);
Z - количество каскадов, где Z=] log2N [(] [ - большее целое);
I - номер каскада, где I=2, 3, …, Z;
J - номер блока сравнения приоритетов в I-м каскаде, где J=1, 2, …, N/2I;
S1, S2, …, SN (S4) - N разрядов внутренней шины S состояния каналов;
А - адресный вход мультиплексора;
E - вход разрешения работы дешифратора;
QF - внешний флаг готовности;
QFS - внешний флаг состояния;
QU1, QU2, …, QUN (QU4) - группа из N внешних выходов указателей канала младшего приоритета в унитарном коде «1 из N»,
11, 12, …, 1N (14) - группа из N блоков анализа параметров;
21, 22, …, 2L (22) - группа из L компараторов (СОМР) каждого блока анализа параметров 11, 12, …, 1N,
3 - элемент И (AND) каждого блока каналов анализа параметров 11, 12, …, 1N,
41, 42, …, 4N (44) - группа из N блоков разрешения приоритетов;
51, 52, …, 5m (53) - группа из m элементов ИЛИ (OR) с инверсным входом каждого блока разрешения запросов 41, 42, …, 4N,
6IJ - J-й блок сравнения приоритетов I-го каскада, где I=2, 3, …, Z, J=1, 2, …, N/2I;
7 - компаратор (СОМР) каждого блока сравнения 6IJ;
8 - первый мультиплексор (MUX) приоритета каждого блока сравнения 6IJ;
9 - второй мультиплексор (MUX) номера канала каждого блока сравнения 6IJ;
10 - компаратор (СОМР) сравнения входного приоритета;
11 - дешифратор (DC);
12 - элемент ИЛИ-НЕ (NOR).
Предлагаемый арбитр диспетчера задач каскадной структуры содержит N каналов обработки задач, внешнюю шину входной заявки IP и N внешних шин параметров каналов IC1, IC2, …, ICN, каждая из которых состоит из L групп параметров каналов, внешнюю шину приоритета входной заявки IPR, которая содержит m разрядов задания ранга приоритета (где m=] log2M [(] [ - большее целое), M - количество рангов приоритета в диапазоне от 0 до (М-1), высший ранг приоритета имеет старший номер (М-1)), N внешних шин приоритетов каналов IV1, IV2, …, IVN и N внутренних шин приоритетов каналов BV1, BV2, …, BVN, каждая из которых содержит по m разрядов ранга приоритета (младший приоритет имеет младший первый канал, старший приоритет имеет старший N-й канал), N разрядов внутренней шины S состояния каналов S1, S2, …, SN, группу из N внешних выходов указателей канала QU1, QU2, …, QUN младшего приоритета в унитарном коде «1 из N», внешний флаг готовности QF и внешний флаг состояния QFS.
Предлагаемый арбитр диспетчера задач также содержит группу из N блоков анализа параметров 11, 12, …, IN, каждый из которых содержит группу из L компараторов 21, 22, …, 2L и элемент И 3, группу из N блоков разрешения приоритетов 41, 42, …, 4N, каждый из которых содержит группу из m элементов ИЛИ с инверсным входом 51, 52, …, 5m, компаратор сравнения входного приоритета 10, дешифратор 11, элемент ИЛИ-НЕ 12, а также содержит Ζ каскадов блоков сравнения приоритетов 6IJ, причем каждый I-й каскад содержит по N/2I блоков сравнения приоритетов 6IJ (где Z=] log2N[(] [ - большее целое); I - номер каскада, где I=2, 3, … Z; J - номер блока сравнения приоритетов в I-м каскаде, где J=1, 2, …, N/2I), причем каждый блок сравнения приоритетов 6IJ содержит компаратор 7, первый мультиплексор 8 приоритета и второй мультиплексор 9 номера канала.
Причем L групп параметров задачи внешней шины входной заявки IP соединены с первыми группами входов соответствующих одноименных компараторов 21, 22, …, 2L всех N блоков анализа параметров 11, 12, …, 1N, в каждом из которых вторые группы входов компараторов 21, 22, …, 2L соединены с соответствующими одноименными L группами соответствующих N внешних шин параметров каналов IC1, IC2, …, ICN. Также в каждом блоке анализа параметров 11, 12, …, 1N выходы компараторов 21, 22, …, 2L соединены с соответствующим элементом И 3, выходы которых являются соответствующими N разрядами S1, S2, …, SN внутренней шины состояния каналов и подключены к соответствующим входам элемента ИЛИ-НЕ 12.
В каждом из N блоков разрешения приоритетов 41, 42, …, 4N первые инверсные входы элементов ИЛИ групп из m элементов 51, 52, …, 5m соединены между собой, а также подключены к соответствующим одноименным N разрядам S1, S2, …, SN внутренней шины состояния каналов одноименным номеру канала, а вторые прямые входы элементов ИЛИ групп из m элементов 51, 52, …, 5m подключены к соответствующим одноименным m разрядам из N внешних шин приоритетов каналов IV1, IV2, …, IVN одноименных номеру канала. Причем выходы элементов ИЛИ групп из m элементов 51, 52, …, 5m являются соответствующими m разрядами ранга приоритета соответствующих N внутренних шин приоритетов каналов BV1, BV2, …, BVN одноименных номеру канала.
Причем нечетные внутренние шины приоритетов каналов BV1, BV3, …, BV(N-1) (нч) и четные внутренние шины приоритетов каналов BV2, BV4, …, BVN (чт) попарно соединены с первыми и вторыми группами входов соответственно N/2 блоков сравнения приоритетов 611, 612, …, 61N первого каскада, в которых на третьи и четвертые группы входов попарно задаются двоичные коды номеров соответственно нечетных 1, 3, …, (N-1) (нч) и четных 2, 4, …, N (чт) номеров каналов.
В каждом из блоков сравнения приоритетов 6IJ всех каскадов первые и вторые группы входов соединены соответственно с одноименными первыми и вторыми группами входов компаратора 7 и первого мультиплексора 8 приоритета, а третьи и четвертые группы входов соединены соответственно с первыми и вторыми группами и второго мультиплексор 9 номера канала. Выход компаратора 7 соединен с адресными входами А первого мультиплексора 8 приоритета и второго мультиплексор 9 номера канала. Выходы первого мультиплексора 8 приоритета и второго мультиплексор 9 номера канала являются соответственно первой и второй группами выходов соответствующих блоков сравнения приоритетов 6IJ всех каскадов.
Причем первые и вторые группы выходов нечетных блоков сравнения приоритетов 6IJ (нч) и одноименные первые и вторые группы выходов четных блоков сравнения приоритетов 6IJ (чт), начиная с первого каскада до предпоследнего (Z-1)-го каскада, соединены одноименными парами соответственно с первыми и вторыми группами входов и третьими и четвертыми группами входов блоков сравнения приоритетов 6IJ последующих каскадов, начиная со второго каскада до последнего Z-го каскада.
Первая группа выходов блока сравнения приоритетов 6Z1 последнего Z-го каскада соединена со второй группой входов компаратора сравнения входного приоритета 10, первая группа входов которого соединена с внешней шиной приоритета входной заявки IPR. Выход компаратора сравнения входного приоритета 10 соединен с входом разрешения работы E дешифратора 11, у которого группа входов соединена со второй группой выходов блока сравнения приоритетов 6Z1 последнего Z-го каскада.
Выход компаратора сравнения входного приоритета 10 является внешним флагом готовности QF, инверсный выход элемента ИЛИ-НЕ 12 является внешним флагом состояния QFS, а группа выходов дешифратора 11 является группой из N внешних выходов указателей канала QU1, QU2, …, QUN младшего приоритета в унитарном коде «1 из N».
ПОДРОБНОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Принцип работы предлагаемого устройства состоит в следующем.
В предлагаемом устройстве в N блоках анализа параметров 11, 12, …, IN осуществляется проверка возможности обслуживания заявок путем сравнения L групп требуемых параметров для задачи на внешней шине IP и соответствующих L групп параметров каналов обработки задач, поступающим по шинам IC1, IC2, …, ICN. При соответствии всех параметров L групп по каналам формируются единичные значения в соответствующих N разрядах внутренней шины состояния каналов S1, S2, …, SN или нулевые значения при несоответствии параметров. При нулевых значениях в соответствующих разрядах внутренней шины состояния каналов S1, S2, …, SN в соответствующих блоках разрешения приоритетов 41, 42, …, 4N на внутренние шины приоритетов каналов BV1, BV2, …, BVN (BV4) формируются единичные значения по всем m разрядам шины, что соответствует высшему рангу приоритета (М-1)=7 (при m=3), так как приоритет входной заявки не может быть больше высшего ранга и, следовательно, поступившая заявка в данном канале не может быть обслужена. При нулевых значениях всех разрядов шины состояния каналов S1, S2, …, SN на инверсном выходе элемента ИЛИ-НЕ 12 формируется единичное значение флага состояния QFS=1 - несоответствие параметров входной заявки IP параметрам во всех N каналах обработки заявок.
В предлагаемом устройстве в блоках 6IJ сравнения приоритетов первого каскада осуществляется попарно сравнение двоичных кодов приоритетов соседних нечетного и последующего четного каналов, начиная с первого канала, выявление из них младшего ранга приоритета и передача на выходы соответствующих блоков 6IJ значения кода этого ранга и соответствующего ему номера канала обработки задач. При равенстве кодов рангов приоритета, на выходы блоков 6IJ передается значение меньшего номера канала (при нулевом значении на выходе компаратора СОМР 7), так как младший ранг имеет первый канал, а старший приоритет N-й канал.
Далее в каскадах, начиная со второго до последнего Z-го каскада, также осуществляется сравнение двоичных кодов приоритетов соседних нечетного и последующего четного блоков 6IJ и передача на первые группы выходов кода младшего ранга приоритета и на вторые группы выходов соответствующего ему номера канала обработки задач. Таким образом, на выходах блока сравнения приоритетов 6Z1 последнего Z-го каскада формируется двоичный код младшего приоритета для обслуживаемых задач и соответствующий номер канала.
Далее в компараторе СОМР 10 проводится сравнение кода приоритета входной заявки с внешней шины IPR и кода младшего приоритета для обслуживаемых задач с первой группы выходов блока сравнения приоритетов 6Z1 последнего Z-го каскада. При этом если значение двоичного кода приоритета входной заявки IPR больше кода приоритета обслуживаемых заявок, то формируется единичное значение флага готовности QF=1, разрешается работа дешифратора 11, в котором преобразуется двоичный код номера канала в единичный код, и на выходах дешифратора 11 в группе внешних выходах указателей канала младшего приоритета QU1, QU2, …, QUN формируется результат в виде унитарного коде «1 из N» (единичное значение на одном из разрядов выходов). Если значение двоичного кода приоритета входной заявки IPR равно или меньше кода приоритета обслуживаемых заявок, то формируется нулевое значение флага готовности QF=0, запрещается работа дешифратора DC 11 и на группе внешних выходах указателей канала младшего приоритета QU1, QU2, …, QUN формируются нулевые значения.
Предлагаемый арбитр диспетчера задач работает следующим образом.
В предлагаемом устройстве входная заявка на внешней шине приоритета входной заявки IPR содержит m разрядов задания ранга приоритета в диапазоне от 0 до (М-1) (высший ранг приоритета имеет старший номер (М-1), младший ранг при нулевом значении соответствует отсутствию входного запроса) и на внешней шине IP содержит L групп требуемых параметров для исполнения вычислительной задачи - объем памяти для ввода и вывода информации, наличие соответствующих программ для алгоритма обработки вычислительной задачи. Предлагаемый арбитр диспетчера задач в N блоках анализа параметров 11, 12, …, 1N проверяет возможность обслуживания заявок путем сравнения L групп требуемых параметров для задачи на внешней шине IP и соответствующих L групп параметров каналов обработки задач, поступающим по шинам IС1, IC2, …, ICN. При соответствии всех параметров L групп по каналам формируются единичные значения в соответствующих N разрядах внутренней шины состояния каналов S1, S2, …, SN или нулевые значения при несоответствии параметров. Если нулевые значения установлены во всех разрядах шины состояния каналов S1, S2, …, SN, то на инверсном выходе элемента ИЛИ-НЕ 12 формируется единичное значение флага состояния QFS=1 несоответствие параметров входной заявки IP параметрам во всех N каналах обработки заявок.
Одновременно по внешним шинам приоритетов N каналов IV1, IV2, …, IVN (IV4) поступают в двоичном коде значения приоритетов предыдущих заявок обслуживаемых в каналах (значение ранга М=0 соответствует отсутствию заявок на обслуживании в канале). В N блоках разрешения приоритетов 41, 42, …, 4N, при единичных значениях соответствующих разрядов внутренней шины состояния каналов S1, S2, …, SN (S4), значения с входных шин приоритетов N каналов IV1, IV2, …, IVN (IV4) передаются на соответствующие внутренние шины приоритетов каналов BV1, BV2, …, BVN (BV4) или единичные значения по всем m разрядам, при нулевых значениях соответствующих разрядов внутренней шины состояния каналов S1, S2, …, SN (S4), что соответствует высшему рангу приоритета (М=7 при m=3), так как в данном канале поступившая заявка не может быть обслужена.
Далее в блоках 6IJ сравнения приоритетов Z каскадов осуществляется выявление номера канала не занятого обслуживанием заявок (при нулевых значениях кода приоритета) или кода ранга с наименьшим приоритетом (меньший номер). При этом если значение двоичного кода приоритета IPR входной заявки больше кода приоритета обслуживаемых заявок, то формируется единичное значение флага готовности QF=1 и на выходах дешифратора DC 11 в группе внешних выходах указателей канала младшего приоритета QU1, QU2, …, QUN формируется результат в виде унитарного кода «1 из N» (единичное значение на одном из разрядов выходов соответствующее номеру канала).
В таблице 1 (см. в графической части) приведены тестовые примеры формирования указателей канала младшего приоритета QU1, QU2, …, QU4, флага готовности QF и флага состояния QFS для входного приоритета IPR, содержащего m=3 разрядов ранга приоритета при количестве рангов приоритетов М=8, для N=4 каналов обработки, каждый из которых содержит по m=3 разряда входных шин приоритета канала IV1, IV2, …, IV4 (высший ранг имеет старший номер приоритета (М-1)=7, младший приоритет имеет младший первый канал) и Z=2 каскадов блоков сравнения приоритетов 6.
В тесте №1 значения параметров L групп входной заявки IP не соответствуют параметрам L групп всех каналов IC1, IC2, …, IC4, поэтому нулевые значения формируются во всех N=4 разрядах внутренней шины состояния каналов S1, S2, …, S4 и далее формируется единичное значение флага состояния QFS=1 - несоответствие параметров входной заявки IP параметрам всех N каналов обработки заявок. Одновременно поступают соответствующие значения кодов рангов приоритетов каналов уже обслуживаемых заявок по шинам IV1, IV2, …, IV4, которые при нулевых значениях разрядов шины состояния каналов S1, S2, …, S4 преобразуются в блоках разрешения приоритетов 41, 42, …, 44 в единичные значения всех m=3 разрядов на всех внутренних шинах приоритетов каналов BV1, BV2, …, BV4 - соответствует высшему рангу приоритета (М-1)=7. Далее в блоках 6IJ сравнения приоритетов всех Z каскадов проводится сравнение кодов рангов приоритета каналов (при этом нулевые значения установлены на выходах всех компараторов СОМР 7, поэтому на вторые выходы соответствующих блоков 6IJ сравнения приоритетов передаются номера младших каналов) и на выходах блока сравнения приоритетов 6Z1 последнего Z-го (второго) каскада формируется двоичный код высшего ранга приоритета (621[1]=7) для обслуживаемых задач и соответствующий номер первого канала (621[2]=1). Далее код ранга приоритета входной заявки IPR=4 сравнивается на компараторе СОМР 10 и формируется нулевое значение флага готовности QF=0 (так как код приоритета IPR=4 входной заявки не больше кода приоритета обслуживаемых заявок 621[1]=7) и нулевые значения на всех выходах указателей канала младшего приоритета QU1, QU2, …, QU4, что соответствует запрету передачи данных.
В тесте №2 значения параметров L групп входной заявки IP соответствуют параметрам L групп во всех каналах IC1, IC2, …, IC4, поэтому единичные значения формируются во всех N=4 разрядах внутренней шины состояния каналов S1, S2, …, S4 и далее формируется нулевое значение флага состояния QFS=0 - соответствие параметров входной заявки IP параметрам каналов обработки заявок. Одновременно поступают нулевые значения кодов рангов приоритетов каналов по шинам IV1, IV2, …, IV4, что соответствует отсутствию обрабатываемых заявок в каналах, которые через блоки разрешения приоритетов 41, 42, …, 44 передаются на разряды всех внутренних шин приоритетов каналов BV1, BV2, …, BV4. Далее в блоках 6IJ сравнения приоритетов всех Z каскадов проводится сравнение кодов рангов приоритета каналов (при этом нулевые значения установлены на выходах всех компараторов СОМР 7) и на выходах блока сравнения приоритетов 6IJ последнего Z-го (второго) каскада формируется нулевой двоичный код приоритета (621[1]=0) для обслуживаемых задач и соответствующий номер первого канала (621[2]=1). Далее код ранга приоритета входной заявки IPR=0 (при нулевом значении ранга отсутствует входной запрос) сравнивается на компараторе СОМР 10 и формируется нулевое значение флага готовности QF=0 (так как код приоритета IPR=0 входной заявки не больше кода приоритета обслуживаемых заявок 621[1]=0) и нулевые значения на всех выходах указателей канала младшего приоритета QU1, QU2, …, QU4, что соответствует отсутствию запроса на обслуживание (запрету передачи данных).
В тесте №3 значения параметров L групп входной заявки IP соответствуют параметрам L групп всех каналов IC1, IC2, …, IC4, поэтому единичные значения формируются во всех N=4 разрядах внутренней шины состояния каналов S1, S2, …, S4 и далее формируется нулевое значение флага состояния QFS=0 - соответствие параметров входной заявки IP параметрам каналов обработки заявок. Одновременно поступают нулевые значения кодов рангов приоритетов каналов по шинам IV1, IV2, …, IV4, что соответствует отсутствию обрабатываемых заявок в каналах, которые через блоки разрешения приоритетов 41, 42, …, 44 передаются на разряды всех внутренних шин приоритетов каналов BV1, BV2, …, BV4. Далее в блоках 6IJ сравнения приоритетов всех Z каскадов проводится сравнение кодов рангов приоритета каналов (при этом нулевые значения установлены на выходах всех компараторов СОМР 7) и на выходах блока сравнения приоритетов 6Z1 последнего Z-го каскада (второго) формируется нулевой двоичный код приоритета (621[1]=0) для обслуживаемых задач и соответствующий номер первого канала (621[2]=1). Далее код ранга приоритета входной заявки IPR=2 сравнивается на компараторе СОМР 10 и формируется единичное значение флага готовности QF=1 (так как код приоритета IPR=2 входной заявки больше кода приоритета обслуживаемых заявок 621[2]=1) и на выходах указателей канала младшего приоритета QU1, QU2, …, QU4 формируется унитарный код «0001» (единичное значение соответствует младшему первому каналу QU1=1).
В тесте №4 значения параметров L групп входной заявки IP не соответствуют параметрам L групп в третьем канале S3=0 и соответствуют параметрам в первом S1=1, втором S2=1 и четвертом S4=1 каналах и формируется нулевое значение флага состояния QFS=0 - соответствие параметров входной заявки IP параметрам каналов обработки заявок. Одновременно поступают соответствующие значения кодов рангов приоритетов каналов по шинам IV1=3, IV2=5, IV3=1, IV4=2, которые передаются через блоки разрешения приоритетов 41, 42, …, 44 на разряды соответствующих внутренних шин приоритетов каналов BV1=3, BV2=5, BV4=2 и устанавливается код ранга высшего приоритета на шине IV3=7, так как нулевое значение установлено в третьем разряде S3=0 внутренней шины состояния каналов. Далее в блоках 6IJ сравнения приоритетов всех Z каскадов проводится сравнение кодов рангов приоритета каналов (при этом единичные или нулевые значения установлены на соответствующих выходах всех компараторов СОМР 7) и на выходах блока сравнения приоритетов 6Z1 последнего Z-го (второго) каскада формируется двоичный код приоритета (621[1]=2) для обслуживаемых задач и соответствующий номер четвертого канала (621[2]=4). Далее код ранга приоритета входной заявки IPR=3 сравнивается на компараторе СОМР 10 и формируется единичное значение флага готовности QF=1 (так как код приоритета IPR=3 входной заявки больше кода приоритета обслуживаемых заявок 621[1]=2) и на выходах указателей канала младшего приоритета QU1, QU2, …, QU4 формируется унитарный код «1000» (единичное значение соответствует четвертому каналу QU4=1).
В тесте №5 значения параметров L групп входной заявки IP не соответствуют параметрам L групп во втором канале S2=0 и соответствуют параметрам в первом S1=1, третьем S3=1 и четвертом S4=1 каналах и формируется нулевое значение флага состояния QFS=0 - соответствие параметров входной заявки IP параметрам каналов обработки заявок. Одновременно поступают соответствующие значения кодов рангов приоритетов каналов по шинам IV1=2, IV2=2, IV3=1, IV4=3, которые передаются через блоки разрешения приоритетов 41, 42, …, 44 на разряды соответствующих внутренних шин приоритетов каналов BV1=2, BV3=1, BV4=3 и устанавливается код ранга высшего приоритета на шине IV2=7, так как нулевое значение установлено во втором разряде S2=0 внутренней шины состояния каналов. Далее в блоках 6IJ сравнения приоритетов всех Z каскадов проводится сравнение кодов рангов приоритета каналов (при этом единичные или нулевые значения установлены на соответствующих выходах всех компараторов СОМР 7) и на выходах блока сравнения приоритетов 6Z1 последнего Z-го (второго) каскада формируется двоичный код приоритета (621[1]=1) для обслуживаемых задач и соответствующий номер третьего канала (621[2]=3). Далее код ранга приоритета входной заявки IPR=4 сравнивается на компараторе СОМР 10 и формируется единичное значение флага готовности QF=1 (так как код приоритета IPR=4 входной заявки больше кода приоритета обслуживаемых заявок 621[1]=1) и на выходах указателей канала младшего приоритета QU1, QU2, …, QU4 формируется унитарный код «0100» (единичное значение соответствует третьему каналу QU3=1).
В тесте №6 значения параметров L групп входной заявки IP не соответствуют параметрам L групп в первом канале S1=0 и соответствуют параметрам во втором S1=1, третьем S3=1 и четвертом S4=1 каналах и формируется нулевое значение флага состояния QFS=0 - соответствие параметров входной заявки IP параметрам каналов обработки заявок. Одновременно поступают соответствующие значения кодов рангов приоритетов каналов по шинам IV1=1, IV2=2, IV3=3, IV4=1, которые передаются через блоки разрешения приоритетов 41, 42, …, 44 на разряды соответствующих внутренних шин приоритетов каналов BV2=2, BV3=3, BV4=1 и устанавливается код ранга высшего приоритета на шине IV1=7, так как нулевое значение установлено в первом разряде S1=0 внутренней шины состояния каналов. Далее в блоках 6IJ сравнения приоритетов всех Z каскадов проводится сравнение кодов рангов приоритета каналов (при этом единичные или нулевые значения установлены на соответствующих выходах всех компараторов СОМР 7) и на выходах блока сравнения приоритетов 6Z1 последнего Z-го (второго) каскада формируется двоичный код приоритета (621[1]=1) для обслуживаемых задач и соответствующий номер четвертого канала (621[2]=4). Далее код ранга приоритета входной заявки IPR=1 сравнивается на компараторе СОМР 10 и формируется нулевое значение флага готовности QF=0, так как входной код ранга приоритета IPR=1 равен, а не больше младшего ранга обслуживаемых заявок (621[1]=1). Поэтому на выходах указателей канала младшего приоритета QU1, QU2, …, QU4 формируется нулевой код «0000», что соответствует запрету передачи данных.
Таким образом, в предлагаемом устройстве на группе внешних выходов указателей канала младшего приоритета QU1, QU2, …, QUN будет установлено значения соответствующего унитарного кода «1 из N» и формируются единичное значения флага готовности QF=1 и нулевое значение флага состояния QFS=0, если параметры L групп входной заявки по шине IP соответствуют параметрам L групп по шинам каналов обработки IC1, IC2, …, ICN и код ранга приоритета входной заявки IPR превышает младший ранг заявок обслуживаемых в каналах. Если код ранга приоритета входной заявки IPR не превышает или равен младшему рангу заявок обслуживаемых в каналах, то формируется нулевой код «0000» на выходах указателей канала младшего приоритета QU1, QU2, …, QU4 и нулевое значение флага готовности QF=0 - запрет передачи данных. Кроме того, если значения параметров L групп входной заявки IP не соответствуют параметрам L групп во всех каналов IC1, IC2, …, IC4, то формируется единичное значение флага состояния QFS=1 - несоответствие параметров входной заявки IP параметрам всех N каналов обработки заявок, при этом также формируются нулевое значение флага состояния QFS=0 и нулевой код «0000» на выходах указателей канала младшего приоритета QU1, QU2, …, QU4 - запрет передачи данных.
Вышеизложенные сведения позволяют сделать вывод, что предлагаемый арбитр диспетчера задач каскадной структуры обладает регулярностью узлов и связей и соответствует заявляемому техническому результату - расширение функциональных возможностей в части возможности выявления канала обработки с минимальным рангом приоритета и сравнения с рангом приоритета входной задачи.
название | год | авторы | номер документа |
---|---|---|---|
АРБИТР ДИСПЕТЧЕРА ЗАДАЧ ПАРАЛЛЕЛЬНОЙ СТРУКТУРЫ | 2022 |
|
RU2799386C1 |
МНОГОКАНАЛЬНЫЙ АРБИТР ДИСПЕТЧЕРА ЗАДАЧ | 2021 |
|
RU2777841C1 |
АРБИТР ДИСПЕТЧЕРА ЗАДАЧ | 2020 |
|
RU2749151C1 |
КРУГОВОЙ АРБИТР ДИСПЕТЧЕРА ЗАДАЧ | 2022 |
|
RU2785771C1 |
УСТРОЙСТВО ДЛЯ КОМПРЕССИИ ДАННЫХ | 2019 |
|
RU2710987C1 |
УСТРОЙСТВО ДЛЯ ДЕТЕКТИРОВАНИЯ ГРУПП ЕДИНИЧНЫХ БИТ И МАКСИМАЛЬНЫХ ГРУПП В БЛОКАХ БИНАРНОЙ ПОСЛЕДОВАТЕЛЬНОСТИ | 2023 |
|
RU2815502C1 |
УСТРОЙСТВО ДЛЯ КОМПРЕССИИ ДАННЫХ | 2017 |
|
RU2672625C1 |
УСТРОЙСТВО ДЛЯ ДЕТЕКТИРОВАНИЯ ГРУПП БИТ | 2021 |
|
RU2780985C1 |
ДВУХПОРОГОВЫЙ КОМПАРАТОР ДИАПАЗОНА ДВОИЧНЫХ БИТ | 2020 |
|
RU2758205C1 |
УСТРОЙСТВО ДЛЯ УПАКОВКИ ДАННЫХ | 2019 |
|
RU2701711C1 |
Изобретение относится к арбитру диспетчера задач каскадной структуры. Техническим результатом является возможность выявления канала обработки с минимальным рангом приоритета и сравнения с рангом приоритета входной задачи. Устройство содержит N каналов обработки задач, внешнюю шину входной заявки IP и N внешних шин параметров каналов IC1, IC2, …, ICN, которые состоят из L групп параметров каналов, внешнюю шину приоритета входной заявки IPR, которая содержит m разрядов задания ранга приоритета (где m=] log2M [(] [- большее целое), M - количество рангов приоритета, высший ранг приоритета имеет старший номер (М-1), N внешних шин приоритетов каналов IV1, IV2, …, IVN, (младший приоритет имеет младший первый канал), N внутренних шин приоритетов каналов BV1, BV2, …, BVN, N разрядов внутренней шины S состояния каналов S1, S2, …, SN, группу из N внешних выходов указателей канала QU1, QU2, …, QUN младшего приоритета в унитарном коде «1 из N», внешний флаг готовности QF и внешний флаг состояния QFS, а также содержит группу из N блоков анализа параметров 11, 12, …, 1N, каждый из которых содержит группу из L компараторов 21, 22, …, 2L и элемент И 3, группу из N блоков разрешения приоритетов 41, 42, …, 4N, каждый из которых содержит группу из m элементов ИЛИ с инверсным входом 51, 52 …, 5m, компаратор сравнения входного приоритета 10, дешифратор 11, элемент ИЛИ-НЕ 12, а также содержит Z каскадов блоков сравнения приоритетов 6IJ, причем каждый I-й каскад содержит по N/2I блоков сравнения приоритетов 6IJ (где Z=] log2N[(] [ - большее целое); I - номер каскада, где I=2, 3, … Z; J - номер блока сравнения приоритетов в I-м каскаде, где J=1, 2, …, N/2I), причем каждый блок сравнения приоритетов 6IJ содержит компаратор 7, первый мультиплексор 8 приоритета и второй мультиплексор 9 номера канала. 1 ил., 1 табл.
Арбитр диспетчера задач каскадной структуры содержит N каналов обработки задач, внешнюю шину входной заявки IP и N внешних шин параметров каналов IC1, IC2, …, ICN, каждая из которых состоит из L групп параметров каналов, внешнюю шину приоритета входной заявки IPR, которая содержит m разрядов задания ранга приоритета (где m=] log2M [(] [ - большее целое), М - количество рангов приоритета в диапазоне от 0 до (М-1), высший ранг приоритета имеет старший номер (М-1)), N внешних шин приоритетов каналов IV1, IV2, …, IVN и N внутренних шин приоритетов каналов BV1, BV2, …, BVN, каждая из которых содержит по m разрядов ранга приоритета (младший приоритет имеет младший первый канал, старший приоритет имеет старший N-й канал), N разрядов внутренней шины S состояния каналов S1, S2, …, SN, группу из N внешних выходов указателей канала QU1, QU2, …, QUN младшего приоритета в унитарном коде «1 из N», внешний флаг готовности QF и внешний флаг состояния QFS,
а также содержит группу из N блоков анализа параметров 11, 12, …, 1N, каждый из которых содержит группу из L компараторов 21, 22, …, 2L и элемент И 3, группу из N блоков разрешения приоритетов 41, 42, …, 4N, каждый из которых содержит группу из m элементов ИЛИ с инверсным входом 51, 52 …, 5m, компаратор сравнения входного приоритета 10, дешифратор 11, элемент ИЛИ-НЕ 12,
а также содержит Z каскадов блоков сравнения приоритетов 6IJ, причем каждый I-й каскад содержит по N/2I блоков сравнения приоритетов 6IJ (где Z=] log2N[(] [ - большее целое); I - номер каскада, где I=2, 3, … Z; J - номер блока сравнения приоритетов в I-м каскаде, где J=1, 2, …, N/2I),
причем каждый блок сравнения приоритетов 6IJ содержит компаратор 7, первый мультиплексор 8 приоритета и второй мультиплексор 9 номера канала,
причем L групп параметров задачи внешней шины входной заявки IP соединены с первыми группами входов соответствующих одноименных компараторов 21, 22, …, 2L всех N блоков анализа параметров 11, 12, …, IN, в каждом из которых вторые группы входов компараторов 21, 22, …, 2L соединены с соответствующими одноименными L группами соответствующих N внешних шин параметров каналов IC1, IC2, …, ICN, а также в каждом блоке анализа параметров 11, 12, …, IN выходы компараторов 21, 22, …, 2L соединены с соответствующим элементом И 3, выходы которых являются соответствующими N разрядами S1, S2, …, SN внутренней шины состояния каналов и подключены к соответствующим входам элемента ИЛИ-НЕ 12,
в каждом из N блоков разрешения приоритетов 41, 42, …, 4N первые инверсные входы элементов ИЛИ групп из m элементов 51, 52, …, 5m соединены между собой, а также подключены к соответствующим одноименным N разрядам S1, S2, …, SN внутренней шины состояния каналов одноименным номеру канала, а вторые прямые входы элементов ИЛИ групп из m элементов 51, 52, …, 5m подключены к соответствующим одноименным m разрядам из N внешних шин приоритетов каналов IV1, IV2, …, IVN одноименных номеру канала, причем выходы элементов ИЛИ групп из m элементов 51, 52, …, 5m являются соответствующими m разрядами ранга приоритета соответствующих N внутренних шин приоритетов каналов BV1, BV2, …, BVN одноименных номеру канала,
причем нечетные внутренние шины приоритетов каналов BV1, BV3, …, BV(N-1) (нч) и четные внутренние шины приоритетов каналов BV2, BV4, …, BVN (чт) попарно соединены с первыми и вторыми группами входов соответственно N/2 блоков сравнения приоритетов 611, 612, …, 61N первого каскада, в которых на третьи и четвертые группы входов попарно задаются двоичные коды номеров соответственно нечетных 1, 3, …, (N-1) (нч) и четных 2, 4, …, N (чт) номеров каналов,
в каждом из блоков сравнения приоритетов 6IJ всех каскадов первые и вторые группы входов соединены соответственно с одноименными первыми и вторыми группами входов компаратора 7 и первого мультиплексора 8 приоритета, а третьи и четвертые группы входов соединены соответственно с первыми и вторыми группами и второго мультиплексор 9 номера канала, выход компаратора 7 соединен с адресными входами А первого мультиплексора 8 приоритета и второго мультиплексор 9 номера канала, а выходы первого мультиплексора 8 приоритета и второго мультиплексор 9 номера канала являются соответственно первой и второй группами выходов соответствующих блоков сравнения приоритетов 6IJ всех каскадов,
причем первые и вторые группы выходов нечетных блоков сравнения приоритетов 6IJ (нч) и одноименные первые и вторые группы выходов четных блоков сравнения приоритетов 6IJ (чт), начиная с первого каскада до предпоследнего (Z-1)-го каскада, соединены одноименными парами соответственно с первыми и вторыми группами входов и третьими и четвертыми группами входов блоков сравнения приоритетов 6IJ последующих каскадов, начиная со второго каскада до последнего Z-го каскада,
первая группа выходов блока сравнения приоритетов 6Z1 последнего Z-го каскада соединена со второй группой входов компаратора сравнения входного приоритета 10, первая группа входов которого соединена с внешней шиной приоритета входной заявки IPR, а выход компаратора сравнения входного приоритета 10 соединен с входом разрешения работы Е дешифратора 11, у которого группа входов соединена со второй группой выходов блока сравнения приоритетов 6Z1 последнего Z-го каскада,
выход компаратора сравнения входного приоритета 10 является внешним флагом готовности QF, инверсный выход элемента ИЛИ-НЕ 12 является внешним флагом состояния QFS, а группа выходов дешифратора 11 является группой из N внешних выходов указателей канала QU1, QU2, …, QUN младшего приоритета в унитарном коде «1 из N».
МНОГОКАНАЛЬНЫЙ АРБИТР ДИСПЕТЧЕРА ЗАДАЧ | 2021 |
|
RU2777841C1 |
АРБИТР ДИСПЕТЧЕРА ЗАДАЧ | 2020 |
|
RU2749151C1 |
АРБИТР ПРИОРИТЕТОВ МНОГОРАНГОВЫХ ЗАПРОСОВ | 2017 |
|
RU2649948C1 |
МНОГОКАНАЛЬНОЕ УСТРОЙСТВО ПРИОРИТЕТА | 2009 |
|
RU2415465C2 |
US 10268604 B2, 23.04.2019 | |||
МНОГОКАНАЛЬНОЕ УСТРОЙСТВО ПРИОРИТЕТА | 2015 |
|
RU2589317C1 |
Авторы
Даты
2023-07-14—Публикация
2022-12-09—Подача