Изобретение относится к области вы- ислительной техники и может быть исполь- овано в разработках аппаратного
Диспетчера при обработке пакета задач в ногопроцессорной или многомашинной
(ычислительной системе.
Цель изобретения - расширение функ- иональных возможностей за счет органи- ации распределения пакета задач с рерываниями.
На фиг.1 представлена структурная схе- :а устройства для распределения заданий роцеСсорам; на фиг.2 - структурная схема лока управления; на фиг.З - структурная хема коммутатора; на фиг.4 - структурная хема сумматора.
Устройство содержит (см. фиг. 1) блок уп- авления 1, элемент ИЛИ 2, счетчик 3, реги- тры 4 и 5, счетчик б, коммутатор 7, схему равнения 8, элемент ИЛИ 9, регистр 10, лок регистров 11i...11n, мультиплексор 12, шоки элементов И-ИЛИ 13 и 14, сумматор Т
15. блок элементов И-ИЛИ 16, регистр 17, схему деления 18, регистр 19, схему сравнения 20, элемент задержки 21, блок элементов И 22, вход 23т, на который подается сигнал запуска, входные шины 232. на которые подается код числа процессоров, входные шины 23з, на которые подается код числа заданий, входы 24,...,24П для записи кодов весов задач, выход 25, с которого выдается сигнал останова, выходные шины 26, с которого выдается код задания в процессоры.
Блок управления 1 (см. фиг.2) содержит формирователь импульса 27, элемент ИЛИ 28, триггер 29, генератор импульсов 30, элемент ИЛИ 31, постоянное запоминающее устройство (ПЗУ) 32, элемент ИЛИ 33, счетчик 34, триггер 35, элемент ИЛИ 36, дешифратор 37, элемент ИЛИ 38, элементы И 39, 40 и 41, вход 42, вход 43, на который поступает сигнал со схемы сравнения 20 (см. фиг.1), вход 44, на который поступает сигнал
00
СА) VJ
ГО 00 4
со схемы сравнения 8 (см. фиг.1), выход 45, по которому подается сигнал сброса, выходные шины 46, по которым выдаются управляющие сигналы 1... 20.
Коммутатор 7 (см. фиг.З) содержит элемент И-ИЛИ 47, элементы 48i...48k, И 49t...49n. дешифратор 50, элементы И 511...51м, выходные шины 52i...52n, на которые выдается код веса задания, код номера процессора, код номера задания, синхронизирующий импульс, вход 53 синхроимпульса, входные шины 54, по которым подается номер процессора, входные шины 55, по которым подается номер задания, входные шины 56, по которым поступает код веса задания с выхода буферного регистра 10, вход 57, по которому поступает разрешающий импульс, с выхода ПЗУ 31 (15), входные шины 59, по которым поступает код веса задания, с выхода буферного регистра 17, вход 58, по которому поступает разрешающий импульс с выхода ПЗУ 32 (17), сходные шины СО, по которым поступает код веса задания с выхода мультиплексора 12, вход 61, по которому поступает разрешающий импульс с выхода ПЗУ 32 (18).
Сумматор 15 (см. фиг.4) содержит блок элементов И 62, схему сложения 63, блок элемент И-НЕ 64, блок элементов И-ИЛИ 65, элемент НЕ 66, .входные шины 67, по которым поступает код первого операнда, входные шины-68, по которым поступает код второго операнда, вход 69, по которому поступает синхронизирующий иг--:пульс с ПЗУ 32, вход 70, по которому поступает код операции с ПЗУ 32, выходные шины 71, по которым выдается код результата.
В исходном состоянии все счетчики, регистры и триггеры находятся в нулевом состоянии (входы установки в нуль на рисунках не показаны). По входам 24i...24n заносится веса решаемых задач, на регистр 4 по входу 23з заносится число задач в пакете, по входу 232 на регистр 5 заносится код числа процессоров.
Работа устройства начинается после подачи сигнала запуска по входу 23i блока 1 (вход 42 бл.1, см. фиг.2), после чего устанавливается в единицу триггер 29, единичны сигнал с выхода которого поступает на вход формирователя импульсов 27. Сформированный единичный сигнал с выхода формирователя 27 (выход 45 блока 1 сбрасывает в нуль счетчики 3, 6, регистры 10, 17 (см. фиг.1). Кроме того единичным сигналом с выхода триггера 29 запускается генератор 30 блока t. Единичным сигналом с выхода формирователя 27 устанавливается в нуль счетчик 34 и а единицу триггер 35 через элемент ИЛ И 33. После занесения информации в регистр 4 на выходе схемы сравнения 8 (выход несравненил) будет сигнал логической единицы, который по входу 44 поступает в блок 1. Единичный сигнал с выхода
триггера 35 переводит счетчик 34 в режим счета. Следовательно, по первому импульсу с выхода генератора 30, счетчик 34 переходит п состояние 00001, после чего выбирается первая строка матрицы ПЗУ, в
результате чего на шинзх 2 и 8 (выход 46) матрицы 32 появляются сигналы логической 1 и к содержимому счетчика 3 прибавляется единица, а сумматор 15 переводится в. режим сложения. Выходы счетчика 3 подсое5 динены к адресным входам мультиплексора 12, на выходе которого появится код, зафиксированный на регистре 11, Далее, по второму импульсу генератора 30 выбирается вторая строка матрицы 32 и сигналы логнче0 ской единицы появятся на ее шинах 3, 4, 7, 8, 9, 12. Информация с регистра 11i через мультиплексор 12 поступает на первый вход элемента И-ИЛИ 13 и после подачи строби- рующего сигнала по шине 3 блока 1 посту5 п ает на вход Л первого слагаемого сумматора 15. Одновременно на пероый вход элемента И-ИЛИ 14 поступает код, выхода регистра 17 через открытый блок элементов И 22 (вначале это будет нулевой код)
0 и по стробирующему сигналу по шине 4 блока 1 поступает на вход В второго слагаемого. По сигналам с шины 7, 0 блока 1 сумматор выполняет операцию сложения и через элементы И-ИЛИ 16 по стробирующе5 му сигналу с шины 9 блока 1 результат суммирования записывается в регистр 17, причем запись осуществляется по единичному сигналу, поступающему по шине 12 блока 1 через элемент задержки 21. Необхо0 димость применения элементов 21,22 обусловлена тем, что возникает необходимость закрытия шины с выходов регистра 17 для правильной работы сумматора. По третьему импульсу, с выхода генератора 30 считыва5 ется третья строка матрицы 32, к содержимому счетчика 3 прибавляется единица, при Этом никаких других преобразований в устройстве не производится. Теперь на выходе счетчика 34 хранится код 000И, который
0 поступает на вход дешифратора 37, на третьем выходе которого формируется сш- нал логической единицы. Этот сигнал проходит через открытый элемент И 39, элемент ИЛИ 36 и сбрасывает триггер 35 а нупь, тем
5 самым счетчик 34 переводится в режим записи информации. Кроме того, единичный сигнал с выхода элемента 39 через элемент ИЛИ 31 обеспечивает запись в счетчик 34 кода 00010. Далее суммирование кодов происходит аналогично, пока на выходе схемы
8 не появится нулевой сигнал, и триггер 35 останется в состоянии логической единицы, на счетчике 34 сформируется код 0100 и будет далее выбрана четвертая строка матрицы 32. Далее, сигналом логической единицы по шине 13 блока 1 запускается схема деления 18, где происходит деление суммы весов заданий, которые поступают на пер- вый вход А схемы 18, на значение числа процессоров, которое хранится на регистре 5. С приходом очередного импульса на счет- чик 34 из матрицы 32 считывается пятая строка, после чего единичный сигнал по ши- не 14 блока 1 переписывает частное из бло- ка 18 на регистр 19. При считывании из матрицы 32 шестой строки единичный сиг- нал по шине 1 блока 1 через элемент ИЛИ 9 устанавливает в нуль регистры 10 и 17, а через элемент ИЛИ 2 - счетчик 3. После считывания седьмой строки матрицы 32 единичным сигналом по шине 2 блока 1 в счетчик 3 заносится вновь код единицы. Од- новременно с этим единица заносится и в счетчик 6 по сигналу логической единицы с шины 20 блока 1. После считывания вось- мой строки матрицы 32 единичными сигна- лами по шинам 3 и 4 блока 1 производятся следующие действия. Код с регистра 11 че- рез мультиплексор 12, открытый единичным сигналом по шине 3 блока 1 элемент И-ИЛИ 13 поступает на вход А сумматора 15 (пер- вый операнд), на вход В второго операнда поступает с выхода регистра 17 (в начале код нулей) через открытый блокирующий элемент И 22 и через открытый единичный сигналом по шине 4 блока 1 элемент И- ИЛИ 14.
По сигналам погических единиц по ши- нам 7 и 8 блока 1 сумматор 15 выполняет перацию сложения, результат с выхода сумматора 15 через открытый единичным сигналом по шине 9 блока 1 элемент И-ИЛИ 16 поступает на вход регистра 17 и по еди- ничному сигналу по шине 12 через элемент задержки 21 блока 1 записывается на него. После считывания девятой строки матрицы 32, содержащей во всех разрядах только нули, никаких операций в устройстве не бу- цет происходить. При этом на выходе схемы сравнения 20 будет вырабатываться сигнал чогическогонуля, который поступает по вхоу 43 в блок 1, закрывая элемент И 40, если значение суммы на регистре 17 меньше тре- эуемого времени загрузки одного процессо- за или сигнал логической единицы в противном случае. В первом случае сигнал с входа 9 дешифратора 37 через элемент И 0 не будет сбрасывать триггер 35 в нуль, на счетчике 34 зафиксируется код числа 10 и- будет считана десятая строка матрицы 32.
После считывания десятой строки матрицы 32 сигналы логических единиц, поступающие на шины 16 и 18 блока 1 открывают элемент И-ИЛИ 47 блока 7 и информация с 5 мультиплексора 12, счетчика 3, счетчика б по разрешающему сигналу по шине 16 блока 1 поступит в блок 7, а затем на выход 26 устройства. Далее аналогично будет выбрана одиннадцатая строка матрицы 32. При 0 этом единичный сигнал поступает по шине 2 блока 1 и к содержимому счетчика 3 прибавляется единица. После считывания двенадцатой строки матрицы 32, содержащей все нули в устройстве никаких действий не
5 производится. Если текущий номер задачи меньше, чем общее количество заданий М, то на выходе схемы сравнения 8 будет присутствовать сигнал логической единицы, поступающий на вход 44 блока 1, в результате
0 открывается элемент И 41 и единичный сигнал через элемент ИЛИ 36 сбрасывает в нуль триггер 35, после чего счетчик 34 переводится в режим записи, и в счетчик 34 записывается код 01000 и после выбора
5 восьмой строки матрицы 32 с выхода 8 дешифратора 37 сигнал логической единицы через элемент ИЛИ 38, элемент ИЛИ 33 поступает на установочный в единицу вход триггера 35, переключая его в состояние
0 логической единицы. Тем самым счетчик 34 переводится опять в режим счета, и описанный выше процесс повторяется до тех пор пока на выходе схемы сравнения 8 не появится сигнал логического нуля. Этим сигна5 лом закрываются элементы 39 и 41 после чего будет выбрана тринадцатая строка матрицы 32 и на шине 19 блока 1 появится единичный сигнал. Если же на выходе схемы сравнения 20 (см. фиг.2) по входу 43 блока 1
0 будет сформирован сигнал логической единицы, то единичный сигнал с выхода 9 дешифратора 37 проходит через элемент И 40, элемент ИЛИ 36 и устанавливает триггер 35 в нуль, разрешается запись информации в
5 счетчик 34, куда заносится код 01110. Этот код появляется на выходах счетчика 34 и поступает на вход дешифратора 37, после чего единичный сигнал с выхода 14 дешифратора, проходя через элемент ИЛИ 33 и
0 вновь устанавливает в единичное состояние триггер 35, по которому счетчик 34 переводится в режим счета. Далее выбирается четырнадцатая (нулевая) строка матрицы 32, в результате чего никаких действий в устрой5 стве не происходит. По следующему импульсу с выхода генератора 30 на счетчике 34 фиксируется код числа 15 и выбирается пятнадцатая строка матрицы 32. Единичные сигналы по шинам 5 и 6 блока 1 разрешают работу элементов И-ИЛИ 13 и 14 и информация с выходов регистров 17 и 19 поступает на входы А и В сумматора 15, Сигналами логической единицы по шине 7 блока 1 на сумматоре 45 осуществляется операция вычитания, т.к. на шине 8 блока 1 будет нулевой сигнал, и результат такого сложения через элемент М-ИЛИ 16 по сигналу логической единицы по шине 9 блока 1 поступает на входы буферных регистров 10 и 17, а по сигналу логической единицы по шинам 11 записывается на регистр 10, а по сигналу логической единицы по шине 12 через элемент задержки 21 ззпитываетсл на регистр 17. По следующему импульсу с выхода генератора 30 будет выбрана шестнадцатая строка матрицы 32, после чего сигналами логических единиц с шин 3 и 4 блока 1 информация с мультиплексора 12 и буферного регистра 17 через элементы И-ИЛИ 13 и 14 подается на входы А и В сумматора 15, По сигналу логической единицы с шины 7 и при пулевом сигнале с шины 8 блока 1 сумматора 15 выполняет операцию вычитания. Результат этой операции сигналом логической единицы по шине 9 блока 1 передается через элемент И-ИЛИ 16 и по сигналу логической единицы на шине 12 блока 1 через элемент 21 записывается на регистр 17. Далее аналогично выбирается семнадцатая строка матрицы 32, после чего сигналам логических единиц на шинах 16 и 17 блока 1 информация с буферного регистра 17 со счетчиком 6 и 3, поступает в блок 7 для выдачи номера задачи; времени ее решения и номера процессора на выходы устройства, после чего считывается восемнадцатая строка матрицы 32, По единичному сигналу с шины 20 блока 1 в счетчик 6 прибавляется единица/Далее считывается девятнадцатая строка матрицы 32. Единичными сигналами по шинам 15 и. 16 блока 1 информация с регистра 10 поступает в блок 7 для выдачи очередного номера активного процессора на выход 26 устройства. Далее выбирается двадцатая строка матрицы 32 и сигналом логической единицы по шине 10 блока 1 информация с выхода буферного регистра 10 через элемент И-ИЛИ 16 поступает на вход регистра 17. Единичный сигнал с выхода 20 дешифратора 37 через элемент ИЛИ 36 сбрасывает триггер 35 в нуль, разрешается запись информации в счетчик 34. В счетчик 34 заносится код 01011,после чего будет считана одиннадцатая строка матрицы 32 и работа устройства будет продолжаться до тех пор, пока на выходе схемы сравнения 8 не сформируется сигнал логического нуля, по которому закрывается элемент И 41, благодаря чему далее будут последовательно считаны двенадцатая и
тринадцатая строки матрицы 32. После считывания тринадцатой строки матрицы 32 единичным сигналом по шине 19 блока 1 триггер 29 сбрасывается в нуль, запрещая
работу генератора 30, Сигнал на шине 19 (выход 40) блока 1 является сигналом окончания работы устройства.
Таким образом, предложенное устройство обеспечивает расширение функциональных возможностей за счет распределения заданий с учетом прерываний в программах и может быть использована в разработках аппаратных дислетгеров в многопрограммных или многомашинных вычислительных
системах.
Формула изобретения 1. Устройство для распределения заданий процессорам, содержащее группу регистров, пять регистров, мультиплексор,
первый и второй блоки элементов И-ИЛИ, первый и второй счетчики, причем группа выходов каждого регистра группы подсоединена к одноименной группе информационных входов мультиплексора, отличающ е е с л тем, что, с целью расширения функциональных возможностей за счет обеспечения распределения заданий с учетом прерываний программ, в него введены коммутатор, первая и вторая схемы сравнения, первый и второй элементы ИЛИ, сумматор, третий блок элементов И-ИЛИ, блок элементов И, элемент задержки, блок деления, блокуправления, первый выход которого подсоединен к первым входам первого и
второго элементов ИЛИ, вход сброса первого счетчика подсоединен к входу сброса первого регистра, второй выход блока управления подсоединен к вторым входам первого и второго элементов ИЛИ, выход
второго элемента ИЛИ подсоединен к входу синхронизации первого регистра и к входу сброса второго регистра, группа информационных входов которого подсоединена к группе выходов первого блока элементов
И-ИЛИ, а группа выходов подсоединена к группе информационных входов блока элементов И, к первой группе входов блока деления и к первой группе информационных входов коммутатора, третий выход бло0 ка управления подсоединен к счетному входу первого счетчика, вход сброса которого подсоединен к выходу первого элемента ИЛИ, группа выходов первого счетчика подключена к второй группе информационных
5 входов коммутатора, к первой группе входов первой схемы сравнения и к группе адресных входов мультиплексора, выходы которого подсоединены к третьей группе информационных входов коммутатора и к
первой группе входов второго блока элецентов И-ИЛИ, группа выходов которого подсоединена к первой группе информационных входов сумматора, вторая группа информационных входов которого подсоединена к группе выходов третьего Спока элементов И-ИЛИ, группа выходов сумматора подключена к первой группе вхо- ;ов блока элементов И-ИЛИ и к группе информационных входов первого регистра, Е ыходы которого подсоединены к четвертой группе информационных входов коммутато- ра и к второй группе входов первого блока элементов И-ИЛИ, группа выходов третьего f егистра подсоединена к второй группе входов первой схемы сравнения, выход которой подсоединен к первому входу блока управления, четвертый и пятый выходы блока управления подсоединены соответствен- о к первому и второму входам первого |лока элементов И-ИЛИ, шестой и седьмой ыходы блока управления подсоединены к ,:.ервому и второму входам блока элементов И-ИЛИ соответственно, восьмой выход блока управления подсоединен к входу синхронизации сумматора, девятый выход блока управления подсоединен к входу управления режимом сумматора, десятый и одиннадцатый выходы блока управления подсоединены к первому и второму входам третьего блока элементов И-ИЛИ, соответственно, двенадцатый выход блока управления подсоединен к входу управления записью пер- оого регистра, тринадцатый аыход блока управления подсоединен к входам элемента задержки, прямой выход которого подсоединен к входу синхронизации второго регистра, инверсный выход элемента задержки подключен к входу управления блока элементов И, группа выходов которого подсоединена к первой группе входов второй охемы сравнения, к второй группе входов ггорого и к первой группе входов третьего элоков элементов И-ИЛИ, четырнадцатый ыход блока управления подсоединен к входу управления режимом блока деления, второй группа входов;которо: о подсоединена к руппе выходов четвертого регистра, группа шходов блока деления подключена к груп- ie информационных входов регистра, вход синхронизации которого подсоединен к тятнадцатому выходу блока управления, руппа выходов пятого регистра подключе- ia к второй группе входов второй схемы :равнения и к второй группе входов третье- о блока элементов И-ИЛИ, шестнадцатый, семнадцатый, восемнадцатый и девятнадцатый выходы блока управления подсоединены соответственно к первому, второму, третьему и четвертому входам управления (соммутатора, двадцатый выход блока управления подсоединен к счетному входу второго счетчика, группа выходов которого подсоединена к группе адресных входов коммутатора, выход второй схемы сравне- ния подсоединен к второму входу блока уп- равления, вход запуска устройства соединен с третьим входом блока управления, двадцать первый выход которого язл.п- ется выходом готовности устройства,
0 группа информационных выходов которого соединена с группой выходов коммутатора, первая и вторая группы кодовых входов которого соединены соответственное группой информационных входов третьего регистра
5 и с группой информационных входов четвертого регистра, каждая группа информационных входов устройства соединена с группой информационных входов одноименного регистра группы.
0 2, Устройство по п.1, о т л и ч а ю щ е е- с я тем, что блок управления содержит генератор импульсов, формирователь импульсов, с первого по пятый элементы ИЛИ, первый и второй триггеры, первый, второй
5 и третий элементы И, счетчик, дешифратор и постоянную память, первый выход которой подсоединен к нулевому входу первого триггера, прямой выход которого подсоединен х входу генератора импульсов и через
0 формирователь импульсов - к входу установки Е О счетчика и к первому входу первого элемента ИЛИ, выход которого подключен к единичному входу второго триггера, прямой выход которого подсоеди5 пен к управляющему входу счета счетчика, а инверсный выход - к управляющему входу записи счетчика, группа выходов которого подсоединен к адресным входам постоянной памяти и к входам дешифратора, пер0 вый, второй, третий и четвертый выходы которого подсоединены к соответствующим входам второго элемента ИЛИ, выход которого подсоединен к второму входу первого элемента ИЛИ, пятый выход дешифратора
5 подсоединен к первому входу первого элемента И, выход которого подсоединен к первому входу третьего элемента ИЛИ и к первому входу четвертого элемента ИЛИ, выход которого подсоединен к нулевому
0 входу второго триггера, шестой выход дешифратора подсоединен к первому входу второго элемента И, выход которого подсоединен к второму входу четвертого элемен- . та ИЛИ. ктратьему информационному входу
5 третьего элемента ИЛИ и к первому входу пятого элемента ИЛИ, выход которого подсоединен к четвертому информационному входу счетчика, седьмой выход дешифратора подсоединен к первому входу третьего элемента И, выход которого подсоединен к
третьему входу четвертого элемента ИЛИ и к второму аходу пятого элемента ИЛИ, восьмой выход дешифратора подсоединен к четвертому входу четвертого элемента ИЛИ, к
ментов И, второй вход блока соединен с вторым входом второго элемента И, третий вход блока соединен с единичным входом первого триггера, первый выход блока соепервому информационному входу счетчика, 5 динен с выходом формирователя импуль- к третьему входу третьего и пятого элемен- сов, выходы блока с первого по двадцать тов ИЛИ, первый аход блока соединен с вторыми входами первого и третьего элепервый соединены с соответствующими выходами постоянной памяти.
ментов И, второй вход блока соединен с вторым входом второго элемента И, третий вход блока соединен с единичным входом первого триггера, первый выход блока сое динен с выходом формирователя импуль- сов, выходы блока с первого по двадцать
первый соединены с соответствующими выходами постоянной памяти.
Фиг.1
Редактор Н. Коляда
Щ.г- Составитель В.Титоп
Техред М.МоргенталКорректор С.Пзкарь
Авторы
Даты
1993-08-30—Публикация
1989-06-08—Подача