Устройство для распределения заданий процессорам

Иллюстрации

Показать все

Реферат

 

Изобретение.относится к вычислительной технике и может быть использовано в качестве аппаратного диспетчера программ, готовых к выполнению , для ,их распределения по процессорам многопроцессорной системы , предназначенной для управления сложными объектами в реальном времени . Цель изобретения - расширение функциональных возможностей устройства путем организации очередей заданий с равными приоритетами. Б устройство, содержащее блок анализа приоритетов процессоров, блок анализа приоритетов заданий и скему сравнения, введена группа элементов И, распределитель иммульсов и блок запоминания заданий, основным узлом которого является модуль оперативной памяти, каждая страница которой содержит группу заданий с равными приоритетами. Блок анализа приоритетов заданий содержит два дешифратора , группу триггеров, группу элементов И и шифратор. Это блок .выделяет наиболее приоритетное задание по групповому принципу. Положительный эффект достигается благодаря совместной работе блока запоминания заданий и блока анализа приоритетов заданий, что позволяет производить распределение заданий не только в соответствии с их приоритетами, но и распределение равноприоритетных заданий согласно очередности их поступления в устройство. 2 ил. с в (Л to о 00 со

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИК

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

Н АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 3947570/24-24 (22) 14.08.85 (46) 23.02.87. Бюл; № 7 (71) Институт технической кибернетики АН БССР (72) А.Г.Ярусов, M.М.Маханек и В.Е.Чернявский (53) 681.325(088.8) (56) Авторское свидетельство СССР

¹ 1111165, кл. G 06 F 9/46, 1984.

Авторское свидетельство СССР по заявке № 3727173, кл. С 06 F 9/46, 1984. (54) УСТРОЙСТВО ДЛЯ РАСПРЕДЕЛЕНИЯ

ЗАДАНИЙ ПРОЦЕССОРАМ (57) Изобретение. относится к вычислительной технике и может быть использовано в качестве аппаратного диспетчера программ, готовых к выполнению, для их распределения по процессорам многопроцессорной системы, предназначенной для управления сложными объектами в реальном времени. Цель изобретения — расширение функциональных возможностей устрой„„SU„„1291983 А 1 (51)4 G 06 F 9/46 ства путем организации очередей заданий с равными приоритетами. В устройство, содержащее блок анализа приоритетов процессоров, блок анализа приоритетов заданий и схему сравнения, введена группа элементов

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

1291983

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

Цель изобретения — расширение фун- 10 кциональных возможностей устройства для распределения заданий процессорам путем организации очередей заданий с равными приоритетами и сокращение оборудования.

На фиг. 1 изображена структурная схема устройства;.на фиг. 2 — функциональная схема блока анализа приоритетов процессоров.

Устройство (фиг. 1) содержит блок

1 анализа приоритетов процессоров, схему 2 сравнения, группу элементов

И 3, блок 4 запоминания заданий,распределитель 5 импульсов, блок 6

25 анализа приоритетов заданий, группу запросных входов 7 устройства, группу кодовых входов 8 устройства, группу выходов 9 прерывания устройства, группу информационных входов 10 устройства, вход 11 синхронизации устройства, группу выходов 12 номера задания устройства. Блок 4 содержит регистры 13 и 1 4, коммутатор 15, модули 16-18 памяти, счетчик 19 и схему 20 сравнения, буквами а-л обозн»- 35 чены выходы распределителя 5, буквой м — выход схемы 2.

Блок 6 анализа приоритетов заданий содержит дешифраторы 21 и 22, гр группу триггеров 23, группу элементов И 24, шифратор 25.

Блок 1 содержит каналы 26, в каждом канале (кроме последнего) — первую и вторую группы элементов ИЛИ-НЕ

27 и 28, первую и вторую группы элементов ИЛИ 29 и 30. В последнем канале 26 содержится первая, вторая группы элементов ИЛИ-НЕ 27 и 28, группа элементов ИЛИ 29, группа элементов

ИЛИ-НЕ 31.

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

В системе постоянно имеется группа заданий, запуск которых (возбуждение готовности) производится по сигналам, поступающим на входы системы с датчиков объекта управления и от операторов, а также от ранее запущенных заданий (ведущих программных модулей) . В зависимости от взаимной срочности заданиям присвоены коды приоритетов. Задание, для которого возникла готовность к выполнению, передается на входы IO устройства в виде кода имени и кода приоритета этого задания и заносится в модуль 16 памяти. Из всех заданий, находящихся в устройстве и ждущих предоставления им процессоров, блоки 4 и 6 выделяют задание с высшим приоритетом, Код приоритета этого задания поступает на вход схемы 2 сравнения.

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

Коды приоритетов всех процессоров поступают на входы 8 устройства.

Блок" 1 анализа приоритетов процессоров из числа исправных процес. соров выделяется процессор с низшим приоритетом. Это характеризуется появлением логической единицы на одном из выходов блока 1, который позиционно соответствует выделенному процессору. Код приоритета выделенного процессора поступает на другои вход схемы 2 сравнения, где сравнивается с кодом приоритета выделенного задания, Если код приоритета выделенного наиболее приоритетного задания,готового к выполнению, меньше или равен коду приоритета выделенного наименее приоритетного процессора,устройство не вырабатывает никаких сигналов до тех пор, пока в него не поступает более приоритетное задание или пока один из процессоров не закончит выполнение своего задания и не снизит свой код приоритета.

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

5, с выхода которого единичный сигнал поступает на элементы И 3, в результате чего с одного из выходов

1291983

9 на выделенный блоком 1 процессор с низшим приоритетом поступает сигнал прерывания. В это же время на выходах 12 устройства формируется код, состоящий из имени и кода 5 приоритета выделенного наиболее приоритетного задания.

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

Основным узлом блока 4 является модуль 16 оперативной памяти, предназначенный для хранения имен заданий, готовых к выполнению. Модуль 16 представляет единый узел, информационно-разделенный на страницы, каждая из которых предназначена для хранения заданий только одного из приоритетных уровней. 35

При занесении новых заданий в устройство страницы модуля 16, соответствующие приоритетным уровням этих заданий, постепенно заполняют- 4р ся, а текущие адреса границ записи на эти страницы возрастают. Эти текущие адреса границ записи хранятся в модуле 17 памяти.

Чтение заданий с какой-либо стра- 15 ницы модуля 16 происходит в порядке поступления этих заданий, т.е.

„цля заданий одного приоритетного уровня реализуется дисциплина обслу живания "первым пришел — первым вы шел . По мере чтения заданий с данI ной страницы адрес границы чтения постепенно возрастает. Текущие адреса границ чтения хранятся в модуле

18 памя ти . 55

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

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

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

С помощью элементов И 24 происходит позиционное выделение группы заданий с высшим приоритетом. Сформированный шифратором код приоритета используется для определения номера страницы модуля 16 памяти, на которой записана группа заданий с высшим приоритетом. Из этой груп— пы извлекается и направляется на процессор задание, поступившее в устройство первым (раньше других заданий этой приоритетной группы).

В режиме приема в устройство нового задания код, содержащий имя и код приоритета одного задания, поступает на выходы 10. Задание сопровождается синхропотенциалом,поступающим через вход 11 на вход синхронизации регистра 13. Передним фронтом синхропотенциала код регист— рируется в регистре 13. Этот же синхропотенциал поступает с входа 11 на вход распределителя 5, который начинает вырабатывать серию импульсов, управляющих приемом нового задания.

Потенциалом с выхода э- блока 5, поступающим на первый управляющий вход коммутатора 15, коммутатор пе— реключается в состояние, в котором на его выход проходит код приоритета задания, поступающий с выхода регистра 13. Этот код приоритета задания поступает на первый адресный вход модуля 16 памяти, определяя номер его страницы, и на адресный вход модуля

17 памяти, определяя в нем адрес

1291983 ячейки, в которой хранится текущее значение границы записи выбранной страницы модуля 16 памяти. Код приоритета задания с выхода коммутатора

15 поступает также на группу входов дешифратора 21.

Импульсом с выхода е распределителя 5 происходит чтение границы записи из модуля 17 памяти. Одновременно с этим вырабатывается импульс на выходе ж блока 5; который поступает на вход управления счетчика 19, в результате чего граница записи из модуля 17 заносится в счетчик 19, с выхода которого эта граница поступает на второй адресный вход модуля 16 памяти, определяя адрес ячейки для записи нового задания на страницу, определенную кодом приоритета этого задания. Одновременно с этим вырабатывается импульс на выходе и. распределителя 5. Этот импульс поступает на управляющий вход дешифратора

21, в результате чего устанавливается в единичное состояние один из триггеров 23, номер которого соответствует коду приоритета задания, который поступил на группу входов дешифратора 21. Единичное состояние этого триггера свидетельствует о наличии хотя бы одного задания с данным кодом приоритета на выбранной странице модуля 16 памяти.

Затем вырабатывается импульс на выходе к распределителя 5. Этот импульс поступает на вход управления записью модуля 16 памяти, в результате чего имя нового задания, поступившего с выхода регистра 13 на вход данных модуля 16, записывается на выбранную страницу в выбранную ячейку этого модуля памяти.

Затем вырабатывается импульс на выходе а распределителя 5. Этот импульс поступает на счетный вход счетчика 19, увеличивая на единицу значение границы записи задания с данным приоритетом. Счетчик 19 устроен так, что если его содержимое больше размера страницы модуля 16 памяти, благодаря наличию обратных связей содержимое счетчика становится равным единице и адреса ячеек на странице модуля 16 начинают возрастать вновь. Этим обеспечивается возможность занесения на данную страницу новых заданий.

Модифицированное в счетчике 19 текущее значение границы записи поступает на вход данных модуля 17 памяти.

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

17 памяти. В конце приема задания

10 в устройство синхропотенциал с вхо— да 11 снимается.

В результате поступления на входы

10 устройства группы заданий, готовых к выполнению и имеющих разные приоритеты, имена этих заданий окажутся записанными на различные страницы модуля 16 памяти, которые соответствуют кодам приоритетов поступивших заданий. Если среди посту20 пивших заданий присутствуют задания с равными приоритетами, они запишутся на одну страницу модуля 16.

Занесение хотя бы одного задания

25 на какую-либо страницу модуля 16 памяти сопровождается установкой в единичное состояние соответствующего триггера 23 ° Поэтому после поступления в устройство группы заданий

30 окажутс% в единичном состоянии те триггеры 23, которые соответствуют не пустым страницам.

Состояние триггеров 23 анализируется группой элементов И 24 так,что при наличии нескольких триггеров 23 в единичном состоянии на вход шифратора 25 проходит только один единичный сигнал с самого верхнего по схеме, установленного в единицу триггера. Этот триггер соответствует заданию (заданиям) с высшим кодом прио— ритета из всех заданий, поступивших в устройство. Шифратор 25 вырабатывает двоичный код приоритета этого наиболее приоритетного задания. Этот код приоритета поступает на вход схемы 2 сравнения, где сравнивается с кодом приоритета процессора с низшим приоритетом. При условии, что приоритет выделенного в блоке 6 задания с высшим приоритетом больше приоритета процессора с низшим приоритетом, схема 2 сравнения вырабатывает единичный сигнал, который поступает на вход распределителя 5. Если устройство в данный момент времени свободно от приема новых заданий (отсутствует единичный потенциал на входе 11 устройства), 1291983

25 распределитель 5 переключается в режим чтения (выдачи) задания.

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

Код приоритета наиболее приоритетного задания с выхода коммутатора 15 поступает на первый адресный вход модуля 16 памяти, определяя страницу, соответствующую этому коду приоритета. Код приоритета с входа коммутатора 15 поступает также на адресные входы модулей 17 и 18 памяти и на входы дешифратора

22 и регистра 14.

Затем распределитель 5 вырабатывает импульс на выходе Г. Этот импульс поступает на вход управления чтением модуля 18 памяти, в результате чего текущее значение границы чтения выделенной страницы модуля 16 поступает на вход счетчика

19. Одновременно с этим вырабатывается импульс на выходе ж распределителя 5, в результате чего граница чтения из модуля 18 заносится в счетчик 19. С выхода счетчика

19 граница чтения поступает на второй адресный вход модуля 16 и на нижний по схеме кодовый вход схемы

20 сравнения.

Затем импульсом с выхода Ь распределителя 5 происходит чтение имени первого по очереди наиболее приоритетного задания с выбранной страницы модуля 16 памяти и занесение имени и кода приоритета этого задания в регистр 14.

Затем вырабатывается импульс на выходе распределителя 5; Этим импульсом в счетчике 19 значение границы чтения данной страницы увеличивается на единицу.

Затем импульсом с выхода 8 распределителя 5 модифицированное зна— чение границы чтения записывается в соответствующую этому коду приоритета ячейку модуля 18 памяти. Этим же импульсом открывается группа элементов И 3, в результате чего вырабатывается сигнал на одном из выходов

9, который в виде сигнала прерыва30

55 ния поступает на процессор с низшим приоритетом выделенный блоком

1 анализа приоритетов процессора.

Этот процессор принимает код с выходов 12, содержащий имя и приоритет выделенного ему наиболее приоритетного задания.

Одновременно с сигналом на выходе

3 распределителя .5 вырабатывается сигнал на его выходе е. Этим сигналом производится чтение границы записи из модуля 17 и сравнение ее с границей чтения этой же страницы в схеме 20 сравнения. Если эти границы равны, что свидетельствует о чтении последнего задания, находившегося на выбранной странице модуля 16, схема 20 сравнения вырабатывает импульс, который поступает на вход управления дешифратора 22. При этом один из триггеров 23, соответствую- щий коду приоритета, поступившему на вход дешифратора 22, сбрасывается в нулевое состояние.

Формула изобретения

Устройство для распределения заданий процессорам, содержащее блок анализа приоритетов процессоров, группа запросных и группа кодовых входов которого подключены соответственно к группе запросных и группе кодовых входов устройства, блок анализа приоритетов заданий и схему сравнения, первая группа входа которой соединена с первой группой выходов блока анализа приоритетов процессоров, о тл и ч а ю щ е е с я тем, что, с це,пью расширения функциональных воэможностей путем организации очередей заданий с равными приоритетами,оно содержит группу элементов И, распределитель импульсов и блок запоминания заданий, содержащий два регистра, коммутатор, три модуля па— мяти, счетчик и схему сравнения, блок анализа приоритетов заданий содержит два дешифратора, группу триггеров, группу элементов И и шифратор, гричем i-й выход второй группы выходов блока анализа приоритетов процессоров (i= 1,2,..., m, где m— число процессоров) подключен к первому входу i-го элемента И первой группы, выход которого является

i-м выходом группы выходов прерывания устройства, группа информацион9 12

91983 ных входов первого регистра блока запоминания заданий подключена к группе информационных входов устройства, вход синхронизации перво-го регистра блока запоминания заданий подключен к входу синхронизации устройства и к входу синхронизации распределителя импульсов, первая группа выходов первого регистра блока запоминания заданий подключена к первой группе информационных входов коммутатора, вторая группа выходов первого регистра блока запоминания заданий подключена к входу данных первого модуля памяти, первый адресный вход которого соединен с адресными входами второто и третьего модулей памяти, с группами входов первого и второго дешифраторов, с выходом коммутатора и с первой группой информационных входов второго регистра блока запоми- нания заданий, второй адресный вход первого модуля памяти соединен с входами данных второго и третьего модулей памяти, с группой выходов счетчика и с первой группой входов схемы сравнения блока запоминания заданий, выходы первого модуля памяти соединены с второй группой информационных входов второго регистра, выходы которого являются группой выходов номера задания устройства, выходы второго и третьего модулей памяти объединены и подключены к группе информационных входов счетчика и к второй группе входов схемы сравнения блока запоминания заданий, выход которой соединен с управляющим входом первого дешифратора, j-й выход которого (j = 1, 2,..., n, где n — число, приоритетных уровней заданий) подключен к нулевому входу j-го триггера группы, j-й выход второго дешифратора соединен с единичным входом j-ro триггера группы, еди— ничный выход первого триггера группы подключен к первому входу шифратора, единичный выход К-го триггера!

О группы (К = 2, 3,...,) связан с первым входом (К- 1)-го элемента И группы блока анализа приоритетов заданий, нулевой выход (К-1)-ro триггера группы соединен с К-ми входами S-x (S >К-1) элементов И группы блока анализа приоритетов заданий, выход (K- 1)-го элемента И группы подключен к К-му входы шифратора, группа

10 выходов которого соединена с второй группой информационных входов коммутатора и второй группой входов схемы сравнения, выход которой соединен с входом запуска распределителя импульсов, первый выход которого подключен к первому управляющему входу коммутатора, второй выход распределителя импульсов

" подключен к входу управления чте20 нием третьего модуля памяти,третий выход распределителя импульсов подключен к входу управления чтением первого модуля памяти и к

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

30 ду управления схемы сравнения блока запоминания заданий, к входу управления записью третьего модуля памяти и к вторым входам элементов

И группы, шестой выход распределите35 ля импульсов подключен к входу управления чтением второго модуля памяти, седьмой выход распределителя импульсов подключен к входу управления записью счетика, восьмой выход

40 распределителя импульсов подключен к второму управляющему входу коммутатора, девятый выход распределителя импульсов соединен с управляющим входом второго дешифратора, десятый

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

1291983 юг 1

Составитель М Кудряшев

Редактор Н.Рогулич ТехредИ.Попович Корректор С.Шекмар

Заказ 272/48 тираж 673 Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж 35, Раушская наб., д. 4/5

Производственно †полиграфическ предприятие, r. Ужгород, ул. Проектная, 4