SU1532926A1 - Microprogram dispatcher of multiprocessor computing system - Google Patents

Microprogram dispatcher of multiprocessor computing system Download PDF

Info

Publication number
SU1532926A1
SU1532926A1 SU874377001A SU4377001A SU1532926A1 SU 1532926 A1 SU1532926 A1 SU 1532926A1 SU 874377001 A SU874377001 A SU 874377001A SU 4377001 A SU4377001 A SU 4377001A SU 1532926 A1 SU1532926 A1 SU 1532926A1
Authority
SU
USSR - Soviet Union
Prior art keywords
group
inputs
register
outputs
input
Prior art date
Application number
SU874377001A
Other languages
Russian (ru)
Inventor
Сергей Николаевич Ткаченко
Виктор Иванович Ярмонов
Сергей Петрович Козий
Григорий Николаевич Тимонькин
Вячеслав Сергеевич Харченко
Александр Иванович Просвирницин
Original Assignee
Харьковское Высшее Военное Командно-Инженерное Училище Ракетных Войск Им.Маршала Советского Союза Крылова Н.И.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Харьковское Высшее Военное Командно-Инженерное Училище Ракетных Войск Им.Маршала Советского Союза Крылова Н.И. filed Critical Харьковское Высшее Военное Командно-Инженерное Училище Ракетных Войск Им.Маршала Советского Союза Крылова Н.И.
Priority to SU874377001A priority Critical patent/SU1532926A1/en
Application granted granted Critical
Publication of SU1532926A1 publication Critical patent/SU1532926A1/en

Links

Landscapes

  • Multi Processors (AREA)

Abstract

Изобретение относитс  к вычислительной технике и может быть использовано при построении многопроцессорных вычислительных систем. Цель изобретени  - расширение области применени  устройства за счет возможности перераспределени  задач между процессорами. Микропрограммный диспетчер многопроцессорной вычислительной системы содержит блок микропрограммного управлени , блок очереди за вок, регистр кода номера задачи, регистр кода числа процессоров, регистр дообслуживаемых за вок, регистр готовности процессоров, триггер пуска, группу триггеров управлени , коммутатор, дешифратор управлени , два элемента И, группу элементов И, группу блоков элементов И, два элемента ИЛИ, дешифратор управлени  очередью, группу элементов ИЛИ, группу регистров дообслуживаемых за вок, мультиплексор дообслуживаемых за вок, блок формировани  логических условий. 1 з.п. ф-лы, 5 ил.The invention relates to computing and can be used in the construction of multiprocessor computing systems. The purpose of the invention is to expand the field of application of the device due to the possibility of redistributing tasks between processors. The multiprocessor computing system microprogram manager contains a microprogram control block, a queue block, a task number code register, a processor number code register, a register of serviced backups, a processor readiness register, a start trigger, a group of control triggers, a switch, a control decoder, two elements And a group of elements AND, a group of blocks of elements AND, two elements OR, a decoder for queue management, a group of elements OR, a group of registers that are serviced separately, a multiplexer before maintenance them- wok, logical block forming conditions. 1 hp f-ly, 5 ill.

Description

Изобретение относитс  к вычислительной технике и может быть использовано при построении -многопроцессор- ных вычислительных систем.The invention relates to computing and can be used in the construction of multiprocessing computing systems.

Цель изобретени  - расширение области применени  за счет возможности перераспределени  задач между процессорами .The purpose of the invention is to expand the field of application due to the possibility of redistributing tasks between processors.

На фиг.1 приведена функциональна  схема устройства; на фиг.2 - схема блока очереди за вок; на фиг.З - схе-т ма блока формировани  логических условий; на фиг„4 - временна  диаграмма импульсов, формируемых генератором тактовых импульсов; на фиг,5 - блок-схема алгоритма функционировани  устройства,,Figure 1 shows the functional diagram of the device; Fig. 2 is a block diagram of a queuing queuing block; in FIG. 3, a schema of a block for the formation of logical conditions; FIG 4 is a timing diagram of pulses generated by a clock pulse generator; FIG. 5 is a block diagram of a device operation algorithm,

Устройство содержит блок 1 пам ти микропрограмм, блок 2 очереди за вок , регистр 3 адреса микрокоманд, регистр 4 микрокоманд, регистр 5 ко да номера задачи, регистр 6 кода числа процессоров, группу регистров 7 дообслуживаемых за вок, регистр 8 готовности процессоров, триггер 9 пуска , группу триггеров 10 управлени , мультиплексор 11 логических условий, мультиплексор 12 адреса, мультиплексор 13 дообслуживани , коммутатор 14, дешифратор 15 дообслуживани , дешифратор 16 управлени  очередью за вок, элемент И 17, группу элементов И 18, группу блоков элементов И 19, элемент И 20, элемент ИЛИ 21, группу элеменtenThe device contains block 1 of firmware memory, block 2 queues of the request, register 3 addresses of micro-instructions, register of 4 micro-instructions, register 5 of the task number code, register 6 of the code for the number of processors, group of registers 7 of the serviced requests, register 8 of processor availability, trigger 9 start, control trigger group 10, logical conditions multiplexer 11, address multiplexer 12, pre-service multiplexer 13, switch 14, pre-service decoder 15, decoder control decoder 16, element 17, element group I 18, element group comrade AND 19, AND gate 20, an OR 21 group elementen

со юwith y

СОWITH

гоgo

оabout

тов ИЛИ 22, элемент ИЛИ 23, блок 24 формировани  логических условий-, генератор 25 тактовых импульсов, группу входов 26 кодов операций, группу входов 27 кодов за вок первого типа, вход 28 пуска, группу входов 29 внешних логических условий, группы входов 30 кодов за вок второго типа, группу входов 31 сигналов готовности процессоров, группы выходов 32 кодов номеров задач, группу управл ющих выходов 33, группу выходов 34 микроопераций , группу управл ющих выходов 35, группу адресных выходов 36 блока 1 пам ти микропрограмм, управл ющий вы- |ход 37 устройства, первый 38 и второй 39 выходы генератора 25 тактовых импульсов , выход 40 завершени  режима, группу выходов 41 сигналов управлени  очередью за вок, выход 42 управлени  коммутацией, группу выходов 43 управлени  дообслуживанием за вок регистра 4 микрокоманд, первый 44, второй 45 и третий 46 выходы дешифратора 16 управлени  очередью за вок, группу управл ющих выходов 47 блока 2 очереди за вок, первый 47.1, второй 47.2, третий 48, четвертый 49, п тый 50.1, шестой 50„2 и третий 51 входы внут- :; ренних логических условий мультиплексора 11 логических условий. Причем блоки 11, 12, 3, 1, 4 и 16 образуют блок микропрограммного управлени . Блок 2 очереди за вок содержит группу регистров 52 очереди за вок, первую 53 и вторую 54 группы элементов И, элемент И 55, элемент ИЛИ 56, элемент И 57, элемент И 58 и группу триггеров 59оcom or 22, element OR 23, logical conditions-forming unit 24, generator 25 clock pulses, group of inputs 26 operation codes, group of inputs 27 codes of the first type, start input 28, group of inputs 29 external logic conditions, groups of inputs 30 codes a second type of input, a group of inputs 31 of processor readiness signals, a group of outputs 32 task number codes, a group of control outputs 33, a group of outputs 34 micro-operations, a group of control outputs 35, a group of address outputs 36 of microprogram memory block 1, controlling | move 37 devices, ne 38 and second 39 outputs of the generator 25 clock pulses, output 40 for terminating the mode, group of outputs 41 for queuing control signals, output 42 for switching control, group of outputs 43 for managing additional servicing of microcommand register 4, first 44, second 45 and third 46 outputs decoder 16 queue management, a group of control outputs 47 of the block 2, a queue of the request, the first 47.1, the second 47.2, the third 48, the fourth 49, the fifth 50.1, the sixth 50 and 2, and the third 51 inputs are internal-; The logical conditions of the multiplexer are 11 logical conditions. Moreover, blocks 11, 12, 3, 1, 4, and 16 form a microprogram control unit. Block 2 of the queue for the wok contains a group of registers 52 queues of the wok, the first 53 and the second 54 groups of elements AND, element AND 55, element OR 56, element AND 57, element AND 58 and the group of triggers 59o

Блок 24 формировани  логических условий состоит из группы элементов ИЛИ 60, элемента ИЛИ 61 и элемента И 62„The logical condition block 24 consists of the group of elements OR 60, the element OR 61 and the element AND 62 "

Устройство работает следующим образам .The device works as follows.

В исходном состо нии регистры и триггеры устройства установлены в нулевое состо ние за исключением регистра 8, который находитс  в единичном состо нии, что свидетельствует о готовности процессоров к исполнению задачиIn the initial state, the device registers and triggers are set to the zero state with the exception of register 8, which is in the single state, which indicates that the processors are ready for the task

По сигналу пуска, поступающему на вход 28 устройства, триггер 9 устанавливаетс  в единичное состо ние. При этом на выходах 38 и 39 генератора 25 разрешаетс  формирование тактовой сетки импульсов в соответствииAccording to the start signal received at the input 28 of the device, the trigger 9 is set to one. At the same time, at outputs 38 and 39 of generator 25, the formation of a clock pulse grid in accordance with

00

5five

00

5five

00

5five

00

5five

с временными диаграммами, приведенными на фиг о 4 оwith time diagrams shown in FIG. 4 o

Одновременно с сигналом пуска на входы 26 и 27 устройства подаютс  код операции и код за вки соответственно „Simultaneously with the start signal, the operation code and application code, respectively, are supplied to the device inputs 26 and 27

Код операции определ ет начальный адрес микропрограммы управлени  диспетчеризацией задач, а код за вки - номер соответствующей задачи и число процессоров дл  ее выполнени .The operation code determines the starting address of the task scheduling control firmware, and the application code determines the number of the corresponding task and the number of processors to execute it.

В устройстве реализованы очереди за вок двух типовThe device implemented queues for two types of wok

За вки первого типа - это за вки, впервые поступающие на обслуживание коды этих за вок хран тс  в регистрах 52 блока 2„Applications of the first type are applications, the first time the service codes of these applications are stored in registers 52 of block 2 "

За вки второго типа - это за вки, которые после получени  кванта обслуживани  на процессорах возвращаютс  на дообслуживание в устройство; коды этих за вок хран тс  в регистрах 7.Applications of the second type are those that, after receiving a quantum of service on the processors, are returned for additional maintenance to the device; These codes are stored in registers 7.

В зависимости от реализуемой микропрограммы диспетчеризации возможны следующие дисциплины приоритетного взаимодействи  между очеред ми за вок первого и второго типов„Depending on the dispatching firmware implemented, the following disciplines of priority interaction between the first and second types of queues are possible:

Приоритет обслуживани  принадлежит за вкам первого типа ,The priority of service belongs to applications of the first type,

В этом случае, при наличии очереди за вок в- блоке 2 устройства обслуживаютс  только за вки этой очереди, а обслуживание за вок второго типа возможно только в случае, когда в блоке 2 очередь пуста. Этот режим целесообразно использовать в тех случа х когда интенсивность поступлени  за вок первого типа мала и они требуют небольшого количества процессоров. Приоритет обслуживани  принадлежит за вкам второго типа. В этом случае, если в регистрах 7 есть за вки на до- обслуживание, то устройством обслуживаютс  только эти за вки, а за вки первого типа обслуживаютс , когда в устройстве нет за вок на дообслуживание . Этот режим целесообразно использовать в том случае, когда за вки второго типа требуют большого числа процессоров, а интенсивность поступлени  за вок первого типа высока или они требуют большого времени зан ти  процессоров системы.In this case, if there is a queue of the request in block 2, the devices are serviced only by the requests of this queue, and service of the second type of call is possible only if in block 2 the queue is empty. This mode is expedient to use in those cases when the intensity of arrival of applications of the first type is low and they require a small number of processors. The priority of service belongs to the second type of application. In this case, if in registers 7 there are applications for additional services, then only these applications are serviced by the device, and applications of the first type are serviced when the device is not required for additional maintenance. This mode is expedient to use in the case when applications of the second type require a large number of processors, and the flow rate of applications of the first type is high or they require a long time to occupy the system processors.

В тех случа х, когда характеристики потоков за вок первого и второго типа не определены, целесообразно использовать режим равноприоритетногоIn those cases when the flow characteristics of the first and second types of the flows are not defined, it is advisable to use the equal priority mode.

5153251532

обслуживани  очередей. При этом за-  вки из очередей выбираютс  на обслуживание попеременно.queue service. In this case, queuing requests are selected alternately for maintenance.

Описанные режимы работы устройства соответствуют дисциплине обслужи- вани  очередей в соответствии с относительными приоритетами. Нар ду с этим в устройстве возможно обслуживание очередей за вок в соответствии С дисциплиной абсолютных и смешанных приоритетов„The described operating modes of the device correspond to the discipline of servicing the queues in accordance with relative priorities. Along with this, it is possible to service the queues in the device according to the discipline of absolute and mixed priorities “

Предпочтительное обслуживание за вок второго типа (фиг05).The preferred service of the second type bids (Fig. 05).

По тактовому импульсу с выхода 38 генератора 25 в регистр 3 записываетс  код операции соответствующей микропрограммы управлени , который поступает с входа 26 устройства через мульThe clock pulse from the output 38 of the generator 25 into the register 3 records the operation code of the corresponding control firmware, which is received from the input 26 of the device through

15 формируетс  сигнал на выходе 44, затем - на выходе 45, затем - на выходе 46 дешифратора 16. Выполнение микроопераций , определ емых перечисленными сигналами, осуществл етс  по так-15, a signal is generated at the output 44, then at the output 45, then at the output 46 of the decoder 16. The execution of the microoperations determined by the listed signals is carried out according to

типлексор 12„ При этом настройка нуль-20 товым импульсам с выхода 38 генератора типлексора 12 определ етс  нулевым 25.Tiplexer 12 "In this case, the setting for zero-20 pulses from the output 38 of the generator of the typlexor 12 is determined to be zero 25.

кодом на выходе 33 блока 1 „ Код one- Рассмотрим запись за вки с входа рации определ ет начальный адрес мик- 27 блока 2 в регистр 52.1. По уста- ропрограммы управлени . Считанна  - новлении единичного потенциала на по этому адресу микрокоманда из блока 25 входе 44 блока 2 и тактовому импульсуcode at output 33 of block 1 “The code one- Consider the recording of the application from the input of the radio sets the starting address of mic- 27 block 2 in register 52.1. By the control program. The reading of the unit potential at this address is a microcommand from block 25, input 44, block 2, and a clock pulse

с входа 38 блока 2 осуществл етс  установка в нулевое состо ние триггеров 59. Это обеспечивает сохранение за вок в очереди и уничтожение их дублейFrom the input 38 of the unit 2, the zeroing of the flip-flops 59 is carried out. This ensures that the queued quotes are saved and their duplicates are destroyed.

Код за вки с входа 26 блока 2 поступает на вход регистра 52.J, а признак наличи  за вки - на вход элемента И 54.1. Так как регистр 52.1 находитс  в нулевом состо нии, то по р етс  по логическому условию на вхо- сигналу с входа 45 и импульсу с входа де 50.1, а за вок первого типа - по « 2 ка записываетс  вThe code for the input from the input 26 of block 2 is fed to the input of the register 52.J, and the sign of the presence of the application to the input of the AND 54.1 element. Since the register 52.1 is in the zero state, it follows the logical condition on the input signal from input 45 and the pulse from input 50.1, and the request of the first type is recorded in

1 определ ет выполнение следующих функций в устройстве в соответствии с алгоритмом функционировани , приведенным на фиг05.1 defines the performance of the following functions in a device in accordance with the operation algorithm shown in Fig. 05.

Определ ющим условием функциониро- зд вани  устройства в этом режиме  вл етс  наличие за вок второго и первого типов в соответствующих очеред хThe decisive condition for the operation of the device in this mode is the presence of the second and first types of applications in the corresponding queues.

Наличие за вок второго типа провелогическому условию на входе 47.2 мультиплексора 11 „Presence of the second type of requisite for the diagnostic condition at the input 47.2 of the multiplexer 11 "

1 -л1 l

В случае вылолнени  услови  ЛУ50.1«ЛУ 51 1 () в устройстве реализуетс  процесс обслуживани  за вок второго типа. Если же выполн етс  условие ЛУ50.ЬЛУ51-ЛУ47.1 1, (2) то в устройстве реализуетс  процесс , записи за вок первого типа в очередь блока 2оIn case of fulfillment of the condition LU50.1 "LU 51 1 (), the device implements the process of servicing the second type of bids. If the condition LU50 is fulfilled. LU51-LU47.1 1, (2) then the device implements the process of recording the first type of application in the queue of block 2o

При выполнении услови When satisfied

38 блока 2 за вка записываетс  в регистр 5201« При этом на выходе признака наличи  за вки этого регистра устанавливаетс  единичный потенциал,38 of block 2 of the application is recorded in register 5201. "At the same time, at the output of the sign of the presence of the application of this register, a single potential is established

4Q запрещающий, запись за вки в этот регистр в очередном такте Поскольку триггер 59.1 установлен в нулевое состо ние , обнуление регистра 52.1 по тактовому импульсу с входа 38 при на45 личии сигнала на входе 46 не происходит „4Q prohibiting, recording the application to this register in the next clock cycle. Since the trigger 59.1 is set to the zero state, the register 52.1 on the clock pulse from input 38 when the 45 input signal 46 is not reset does not occur.

В. очередном цикле записи за вок в очередь бчока 2 за вка из регистра 52,1 переписываетс  в регистрV. The next write cycle of the application to queue 2 of the register from register 52.1 is rewritten to register

ЛУ50„1 ЛУ47.2 ЛУ51 - 1ЛУ50 „1 ЛУ47.2 ЛУ51 - 1

(3)(3)

выполн етс  обслуживание за вок первого типа, одновременно с этим за вки первого типа, поступающие на обслуживание со входа 27 устройства, записываютс  в очередь блока 2„servicing of the first type of request is performed; at the same time, the first type of applications received for service from the device input 27 are recorded in the queue of the 2 "block

Состо нию завершени  работы устройства соответствует условиеThe condition for shutting down the device corresponds to the condition

ЛУ50,ЬЛУ47.2 ЛУ51 ЛУ48 1 . (4)ЛУ50, ЬЛ47.2 ЛУ51 ЛУ48 1. (four)

На начальной фазе работы устройства первым истинным условием из провер емых  вл етс  условие , ЛУ47.2 ЛУ4701 1. В соответствии с этим рассмотрим реализацию функции записи за вок первого типа в очередь блока 2„At the initial phase of operation of the device, the first true condition among the tested ones is the condition LU47.2 LU4701 1. In accordance with this, consider the implementation of the function of recording the first type request to the queue of block 2 "

В этом режиме функционировани In this mode of operation

0 устройства на выходе 42 регистра 4 ус- установлен единичный потенциал, а на выходе 41 этого регистра последовательно формируютс  коды сигналов управлени  очередью. Причем вначале0, at the output 42 of register 4, a single potential is accepted, and at the output 41 of this register, codes of queue control signals are sequentially generated. And at the beginning

формируетс  сигнал на выходе 44, затем - на выходе 45, затем - на выходе 46 дешифратора 16. Выполнение микроопераций , определ емых перечисленными сигналами, осуществл етс  по так-a signal is generated at output 44, then at output 45, then at output 46 of the decoder 16. The micro-operations, determined by the listed signals, are performed according to the

0 товым импульсам с выхода 38 генератора 25.0 output pulses from the output 38 of the generator 25.

Код за вки с входа 26 блока 2 поступает на вход регистра 52.J, а признак наличи  за вки - на вход элемента И 54.1. Так как регистр 52.1 находитс  в нулевом состо нии, то по сигналу с входа 45 и импульсу с входа 2 ка записываетс  вThe code for the input from the input 26 of block 2 is fed to the input of the register 52.J, and the sign of the presence of the application to the input of the AND 54.1 element. Since the register 52.1 is in the zero state, the signal from input 45 and the pulse from input 2 are recorded in

38 блока 2 за вка записываетс  в регистр 5201« При этом на выходе признака наличи  за вки этого регистра устанавливаетс  единичный потенциал,38 of block 2 of the application is recorded in register 5201. "At the same time, at the output of the sign of the presence of the application of this register, a single potential is established

Q запрещающий, запись за вки в этот регистр в очередном такте Поскольку триггер 59.1 установлен в нулевое состо ние , обнуление регистра 52.1 по тактовому импульсу с входа 38 при на5 личии сигнала на входе 46 не происходит „Q prohibiting, recording the application to this register in the next clock cycle. Since the trigger 59.1 is set to the zero state, register 52.1 is not clocked at input 38 when there is a 5 input signal at input 46.

В. очередном цикле записи за вок в очередь бчока 2 за вка из регистра 52,1 переписываетс  в регистрV. The next write cycle of the application to queue 2 of the register from register 52.1 is rewritten to register

0 52.2, если он не зан т другой за вкой . При этом триггер 59.1 устанавливаетс  в единичное состо ние, что обеспечивает возможность обнулени  регистра 52.1 и уничтожение копии0 52.2, if it is not occupied by another application. In this case, the trigger 59.1 is set to one, which provides the possibility of zeroing the register 52.1 and destroying the copy

5 за вки.5 for vki.

Выбор за вки на обслуживание осуществл етс  из регистра 52.L0 При этом на входе 42 блока 2 установлен нулевой потенциал, что обеспечиваетThe choice of service request is made from the register 52.L0 In this case, the input 42 of the unit 2 is set to zero potential, which ensures

установку триггера 59 .L в единичное состо ние и в последующем обнуле- нИе регистра 52.L,installation of the trigger 59 .L in one state and in the subsequent zeroing of the register 52.L,

Если все регистры 52 блока 2 содер- за вки, то на выходе 47.1 эле- Цента И 55 устанавливаетс  единич-  )ый потенциал, по которому запреща- е)тс  запись за вок в очередь. 1 Если хот  бы в одном регистре 52.1 «|сть за вка на обслуживание, на выгоде 47.2 элемента ИЛИ 56 установлен единичный потенциал, по которому разрешаетс  выборка за вок из очереди ,н|а обслуживаниеIf all registers 52 of block 2 are content, then at output 47.1 of the element C 55 there is a unit potential, according to which it is forbidden to write a quota to the queue. 1 If at least in one register 52.1 "| application for service, on the benefit of 47.2 of the element OR 56 there is a single potential, according to which the sample of the quota from the queue is allowed, but | service

После завершени  цикла записи за в- ци в очередь в устройстве осуществл етс  последовательна  проверка выполнени  условий (1)(4).After completion of the write cycle per in-queue, the device performs a sequential check of conditions (1) (4).

Пусть в очередном цикле проверок логических условий выполн лось усло- лие (1)о Но этому условию в устройстве реализуетс  процесс обслуживани  за вки второго типа.Suppose that in the next cycle of checks of logical conditions the following condition was fulfilled (1) о But this condition in the device implements the process of servicing the second type of application.

При обслуживании за вок второго типа на выходе 42 регистра 4 устанавливаетс  единичный потенциал, а на выходе 43 формируетс  последователь- ность кодов, управл ющих настройкой гультиплексора 13 и дешифратора 15, Код за вки из одного регистра 7 через мультиплексор 13 поступает на вход коммутатора 14 и в дальнейшем записываетс  в регистры 5 и 6 под воздействием тактового импульса с выхода 38 генератора 25, после чего на соответствующем выходе дешифратора 15 формируетс  единичный импульс, устанавли - вающий соответствующий триггер 10 и регистр 7 в нулевое состо ние„When servicing the second type of bays, a single potential is established at the output 42 of the register 4, and a sequence of codes is controlled at the output 43 that control the configuration of the multiplexer 13 and the decoder 15, the application code from one register 7 goes through the multiplexer 13 to the input of the switch 14 and is further recorded in registers 5 and 6 under the influence of a clock pulse from the output 38 of the generator 25, after which a single pulse is formed at the corresponding output of the decoder 15, setting the corresponding trigger 10 and the register 7 at zero new state "

Одной из фаз обслуживани  за вок первого и второго типов  вл етс  распределение их по процессорам вычислительной системы Дл  за вок первоOne of the service phases of the applications of the first and second types is their distribution among the processors of the computing system.

5five

00

5five

00

5five

00

т.е. если К-й разр д регистра 6 содержит единицу, К-й процессор свободен и триггер 10.К установлен в нулевое состо ние.those. if the K-th bit of register 6 contains one, the K-th processor is free and the trigger 10.K is set to the zero state.

При выполнении перечисленных условий на выходах соответствующего блока элементов И 19.К устанавливаетс  код номера задачи, который поступает в процессорное поле с выходов 32„К устройства. При выполнении перечисленных выше условий распределени  возможно одновременное назначение группы процессоров задаче.When the listed conditions are fulfilled, the outputs of the corresponding block of elements I 19 are set. The code of the task number is set, which enters the processor field from the outputs of 32 "K devices. When the above distribution conditions are met, it is possible to simultaneously assign a processor group to a task.

В том случае, когда произошло назначение К-го процессора, дл  решени  задачи на выходе соответствующего элемента ИЛИ 22„К устанавливаетс  единичный потенциал, по которому в нулевое состо ние устанавливаютс  соответствующие К-е разр ды регистров 6 и 8 В дальнейшем соответствующий процессор не может быть назначен дл  решени  задачи до полного освобождени  „ Одновременно с назначением К-го процессора дл  решени  задачи из очереди за вок блока 2 в единичное состо ние устанавливаетс  соответствующий триггер 10.К. Назначение этой функции в устройстве по сн етс  при описании обслуживани  за вок второго типа,In the case when the K-th processor was assigned, for solving the problem, the output potential of the corresponding element OR 22 "K is set to a single potential, according to which the corresponding K-bits of registers 6 and 8 are set to the zero state. In the future, the corresponding processor cannot be assigned to solve the task until complete release. Simultaneously with assigning the K-th processor to solve the task from the queue of the block 2, the corresponding trigger 10.K is set to one. The purpose of this function in the device is explained in the description of the service of the second type of bids,

Распределение задач по процессорам в устройстве осуществл етс  до тех пор, пока в системе есть свободные процессоры и в очеред х блока 2 и группе регистров 7 есть за вки на решениеThe distribution of tasks among the processors in the device is carried out as long as there are free processors in the system and there are requests for solving in the queues of block 2 and group of registers 7

При распределении задач из очереди блока 2 имеютс  следующие особенности Задача, определ юща  системную управл ющую программу, может быть распределена более чем на один процессор В силу того, что на наWhen allocating tasks from the queue of block 2, there are the following features. A task that defines a system control program can be distributed to more than one processor. Due to the fact that

го типа эта фаза имеет некоторые осо- 45 чальном этапе работы устройства, ког- бенности Да все процессоры в системе свободны , требуемое число процессоров этойtype of phase, this phase has some special stage of operation of the device, yes, all the processors in the system are free, the required number of processors

После записи кода номера задачи в регистр 5 и кода числа процессоров вAfter writing the code of the task number in register 5 and the code of the number of processors in

задаче назначаетс  одновременноtask is assigned simultaneously

При последующих распределени хSubsequent distributions

в регистр 6 на выходе 51 элемента ИЛИ 50 задач возможны следующие ситуации. 23 устанавливаетс  единичный потенци- После записи кода числа процессоров ал, запрещающий запись в регистры 5 и 6, и разрешающий выполнение сдвига содержимого регистра 6„in register 6 at the output of 51 elements OR 50 tasks, the following situations are possible. 23, a single potential is established after writing the code of the number of processors al, which prohibits writing to registers 5 and 6, and allowing execution of the shift of the contents of the register 6 „

Назначение К-го процессора задаче 55 осуществл етс  при выполнении следующего услови The assignment of the Kth processor to task 55 is accomplished under the following condition

в регистр 6 назначение соответствую щего процессора задаче невозможно п причине зан того его состо ни . Дл  обеспечени  возможности распределени  задачи на другие процессоры осуществл етс  кольцевой сдвиг содержимого регистра 6 в цел х поиска свободного процессора Таким обра6 .К 10.К-8.К 1,In register 6, the assignment of the corresponding processor to the task is impossible due to its busy state. In order to ensure that the task is distributed to other processors, a circular shift of the contents of register 6 is carried out for the purpose of finding a free processor in such a way. 6.K 10.K-8.K 1,

задач возможны следующие ситуации. После записи кода числа процессоров The following situations are possible. After writing the code number of processors

в регистр 6 назначение соответствующего процессора задаче невозможно по причине зан того его состо ни . Дл  обеспечени  возможности распределени  задачи на другие процессоры осуществл етс  кольцевой сдвиг содержимого регистра 6 в цел х поиска свободного процессора Таким обраBOM , процесс распределени  задачи по процессорам осуществл етс  до тех пор, пока все требуемые процессоры будут назначены. Завершаетс  процесс распределени  задач по обнулению всех разр дов регистра 6„In register 6, the assignment of the corresponding processor to the task is impossible due to the state of its occupied state. To ensure that the task can be distributed to other processors, a circular shift of the contents of register 6 is performed for the purpose of finding a free processor. Thus, the task is distributed among the processors until all the required processors are assigned. The process of assigning tasks to zero all of the bits in the register 6 is completed.

При выполнении обслуживани  за вок второго типа, в устройстве реализуют- с  следующие процессы: формирование очереди за вок второго типа в регистрах 7; освобождение процессоров; распределение задач из очереди дообслу- живаемых задач по процессорам ,When performing servicing of the second type of bids, the device implements the following processes: formation of the second batch of the second type in registers 7; release of processors; distribution of tasks from the queue of additional tasks by processors,

Рассмотрим процесс формировани  очереди за вок второго типа. По завершению решени  задачи на первой фазе обслуживани  за вок соответствующий К-й процессор выставл ет код за вки на соответствующих входах 30„К устройства , а также формирует импульс сигнала готовности на входе. 30„К. При этом код за вки записываетс  в регистр 7„К и осуществл етс  восстановление единичного потенциа- ла готовности К-го разр да регистра 8. При наличии за вок в регистрах 7 на выходе 50„1 блока 24 устанавливаетс  единичный потенциал, который  вл етс  провер емым логическим уело- вием 50.1 мультиплексора 11.Consider the process of forming the queue of the second type of queuing. Upon the completion of the task at the first service phase of the request, the corresponding K-th processor places a code on the corresponding inputs of the 30 K device, and also generates a readiness signal at the input. 30 „K. In this case, the code of the application is recorded in the register 7 К K and the readiness of the unit readiness potential of the K-th digit of the register 8 is restored. If there are applications in registers 7, the unit potential that is checked is found at the output 50 1 of unit 24 logic multiplication 50.1 11.1.

В том случае, если процессор завершил выполнение задачи и дообслу- живани  за вки не требуетс , то в соответствующий регистр 7 кода за вки не заноситс , а готовность процессора к выполнению других задач восстанавливаетс  в регистре 8 по сигналу готовности .In the event that the processor has completed the task and no further service is required, then the application code is not entered into the corresponding register 7, and the processor’s readiness to perform other tasks is restored in register 8 by the ready signal.

Завершаетс  работа устройства при выполнении услови  (4). При этом из блока 1 считываетс  конечна  микрокоманда . На выходе 40 регистра 4 этой ; микрокоманды установлен единичный потенциал . В очередном такте по импуль- су с выхода 38 генератора 25 на выходе элемента И 17 формируетс  единичный импульс, запрещающий формирование тактовой, сетки импульсов на выходах генератора 25.The device is terminated when the condition (4) is met. In this case, the final micro-command is read from block 1. At output 40, register 4 of this; microinstructions set a single potential. In the next cycle, the pulse from the output 38 of the generator 25 at the output of the element 17 forms a single pulse prohibiting the formation of a clock grid of pulses at the outputs of the generator 25.

Claims (2)

1. Микропрограммный диспетчер многопроцессорной вычислительной систе- мы, содержащий блок очереди за вок, регистр кода номера задачи, регистр кода числа процессоров, регистр до- обслуживаемых за вок, регистр готовности процессора, триггер пуска, группу триггеров управлени , коммутатор, дешифратор управлени , первый и второй элементы Kf группу элементов И, группу блоков элементов И, первый и второй элементы ИЛИ, дешифратор управлени  очередью, группу элементов ИЛИ, причем вход пуска диспетчера соединен с единичным входом триггера пуска , выход которого соединен с входом запуска генератора тактовых импульсов , группа выходов регистра кода числа процессоров соединена с группой входов первого .элемента ИЛИ, выходы элементов ИЛИ группы соединены с первыми входами соответсвуюпшх элементов И группы, группа входов готовности процессоров диспетчера соединена с группой единичных входов регистра готовности процессоров, группа входов кода з вок первого типа устройства соединена с группой входов блока очереди за вок, о т л и ч а щ и и с   тем, что, с целью расширени  области применени  за счет возможности перераспределени  задач между процессорами, в диспетчер введены блок..микропрограммного управлени , группа регистров дообслуживаемых за вок , мультиплексор дообслуживаемых за вок, блок формировани  логических условий, причем группа входов кодов операций диспетчера соединена с первой группой информационных входов блока микропрограммного управлени , выход завершени  режима которого соединен с первым входом первого элемента И, группа выходов сигналов управлени  очередью за вок блока микропрограммного управлени  соединена с группой входов дешифратора управлени  очередью за вок, первый, второй и третий выходы которого соединены соответственно с входами сброса, записи и управлени  записи блока очереди за вок, выход управлени  коммутацией блока микропрограммного управлени  соединен с входом управлени  сдвигом блока очереди за вок, с управл ющим входом коммутатора и с вторыми входами элементов И группы, группа выходов управлени  дообслужива- ни  за вок блока микропрограммного управлени  соединена с группой информационных входов дешифратора управ- . лени  и с группой управл ющих входов мультиплексора дообслуживани , группа- выходов которого соединена с первой1. A microprocessor controller of a multiprocessor computing system containing a queue for a queue, a task number code register, a processor number code register, a register that is serviced by a processor, a processor ready register, a start trigger, a group of control triggers, a switch, a control decoder, the first and the second elements Kf are a group of elements AND, a group of blocks of elements AND, the first and second elements OR, a decoder of the queue management, a group of elements OR, and the start input of the dispatcher is connected to a single input of the start trigger The output of which is connected to the start input of the clock generator, the group of outputs of the register of the processor number code is connected to the group of inputs of the first OR element, the outputs of the elements OR of the group are connected to the first inputs of the corresponding AND elements of the group, the group of readiness of the processor’s processors is connected to the group of single inputs of the register processor availability, the group of inputs of the first type of device code is connected to the group of inputs of the queue of the queuing unit, which is designed to expand the due to the possibility of redistributing tasks between the processors, a microprogram control unit, a group of registers under maintenance served, a multiplexer under maintenance servicing, a logic condition generation unit are entered into the dispatcher, the dispatcher operation code input group is connected to the first group of information inputs of the microprogram control unit, the output of the completion of the mode of which is connected to the first input of the first element I, the group of outputs of the queue control signal signals of the microprogram block control unit is connected to a group of inputs of the decoder of the queue control decoder, the first, second and third outputs of which are connected respectively to the reset inputs, recording and control of the recording of the queue block, the output of the control commutation of the microprogram control unit is connected to the input of the shift control of the queue block for wok, s the control input of the switch and with the second inputs of elements AND of the group, the group of outputs of the control of additional servicing of the charge of the microprogram control block is connected to the group of information inputs into the decoder control-. with the group of control inputs of the multiplexer pre-maintenance, the group of outputs of which is connected to the first группой информационных входов комму- тфтора, группа информационных выхо- дфЕ блока очереди за вок соединена с второй группой информационных входов коммутатора, группа выходов к(да номера задачи которого соедине- н& с группой информационных входов регистра кода номера задачи, а группа выходов кода числа процессоров - с группой информации входов регистра кода числа процессоров, первый выход генератора тактовых импульсов соединен с первым входом синхронизации блока микропрограммного управле- ни , входами синхронизации регистра кода номера задачи, регистра кода числа процессоров, блока очереди за вок, стробирукодим входом дешифратора дообслуживани  и вторым входом первого элемента К, выход которого сЬедннен с нулевым входом триггера пуска, второй выхрд генератора тактовых импульсов соединен с вторым входом синхронизации блока микро- программного управлени , первый и вт оой выходы признаков заполнени  блока очереди за вок соединены со- о|тветственно с первым и вторым входами внутренних логических условий блока микропрограммного управлени , выход индикации записи за вки бло- з а очереди за вок соединен с сигналь Йым выходом диспетчера, выход пер- аого элемента ИЛИ соединен с входом разрешени  сдвига и входом разреше- йи  записи регистра кода числа про- iteccopoBj, с входом разрешени  записи регистра кода номера задачи и с третьим входом внутренних логических условий блока микропрограммного управлени  „ группа выходов регистра кода номера задачи соединена с группами входов блоков элементов И группы, группы выходов которых соединены с с ответствующими группами выходов кодов номеров задач диспетчера и с групами входов соответствующих элементов ИЛИ группы, выходы которых соединены с соответствующими нулевыми входами регистра готовности процессоров , группа выходов регистра кода числа процессоров соединена с первыми входами блоков элементов И группы, группа выходов дешифратора управлени  соединена с нулевыми входами регистро дообслуживаемых за вок группы и триггеров управлени  группы, инверсные выходы которых соединены с вторыми входами соответствующих блоков элементов И группы, группа выходов регистра готовности процессоров соединена с третьими входами блоков элементов И группы и с входами второго элемента ИЛИ и второго элемента И, выход которого соединен с четвертым входом внутренних логических условий блока микропрограммного управлени , выход второго элемента ИЛИ соединен с п тым входом внутренних логических условий блока микропрограммного управлени , группы входов кодов за вок второго типа диспетчера соединены с группами входов соответствующих регистров дооб служив аемых за вок группы, группы выходов которых соединены с группами информационных входов мультиплексора дообслуживани  и с группами входов блока формировани  логических условий , первый и второй выходы которого соединены соответственно с шестым и седьмым входами внутренних логических условий блока микропрограммного управлений, группа входов внешних логических условий диспетчера соединена с вторым информационным входом блока микропрограммного управлени .a group of information inputs of the commutator, a group of information outputs of the block of the queue of the request are connected to the second group of information inputs of the switch, a group of outputs to (yes the task numbers of which are connected to & a group of information inputs of the register of the task number code, and a group of outputs of the code processors - with a group of information of the inputs of the register of the code of the number of processors, the first output of the clock pulse generator is connected to the first synchronization input of the microprogrammed control unit task omer, register of the number of processors, block of the queue for the wok, strobe input of the after-care decoder and the second input of the first element K, the output of which is connected to the zero trigger start input, the second output of the clock generator of the microprocessor control, the first and the second outputs of the characteristics of the filling of the queue of the queuing block are connected respectively with the first and second inputs of the internal logic conditions of the microprogram control unit, the output of the recording indication the block queue request is connected to the dispatcher output signal YYm, the output of the first OR element is connected to the shift enable input and the enable input of the cctopojj number register code register, and the the third input of the internal logic conditions of the firmware control block is the group of outputs of the register of the code of the code of the task number connected to the groups of inputs of the blocks of elements AND of the group, the groups of outputs of which are connected with the corresponding groups of outputs of the codes of the number of tasks of the dispatcher and with groups of inputs of the corresponding elements OR groups whose outputs are connected to the corresponding zero inputs of the processor readiness register, the group of outputs of the register of the number code of the processors is connected to the first inputs of the blocks of elements AND groups, the group of outputs of the control decoder is connected to zero inputs of the register of the secondary control groups and control triggers groups, the inverse outputs of which are connected to the second inputs of the corresponding blocks of elements AND groups, the group of outputs of the processor readiness register in connected with the third inputs of the blocks of elements AND of the group and with the inputs of the second element OR and the second element AND, the output of which is connected to the fourth input of the internal logic conditions of the microprogram control unit, the output of the second element OR is connected with the fifth input of the internal logic conditions of the microprogram control unit the inputs of codes of the second dispatcher type are connected to the groups of inputs of the corresponding registers of the further maintained orders of the group, whose output groups are connected to the groups of information in repetition multiplexer moves and with input groups of the logical condition generation unit, the first and second outputs of which are connected respectively to the sixth and seventh inputs of the internal logic conditions of the microprogrammed control unit, the input group of external logic conditions of the dispatcher are connected to the second information input of the microprogrammed control unit. 2. Диспетчер по п. 1, отличающийс  тем, что блок формировани  логических условий содержит группу элементов ИЛИ, элементы И, ИЛИ выходы которых  вл ютс  соответственно первым и вторым выходами блока, группы входов которого соединены с входами элементов ИЛИ группы, выходы которых соединены с входами элемента И и элемента ИЛИ.2. The dispatcher according to claim 1, characterized in that the logical condition generation unit comprises a group of OR elements, the AND, OR outputs of which are the first and second outputs of the block, respectively, the groups of inputs of which are connected to the inputs of the OR elements of the groups whose outputs are connected to the inputs of the AND element and the OR element. Фае. 1Faye. one rirTtirirTti РЛ A/f П Ј XR A / f P Ј « " ( Начало }( Start } . I. I I коп -+- к&зI cop - + - to & w -- 00
SU874377001A 1987-11-18 1987-11-18 Microprogram dispatcher of multiprocessor computing system SU1532926A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU874377001A SU1532926A1 (en) 1987-11-18 1987-11-18 Microprogram dispatcher of multiprocessor computing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU874377001A SU1532926A1 (en) 1987-11-18 1987-11-18 Microprogram dispatcher of multiprocessor computing system

Publications (1)

Publication Number Publication Date
SU1532926A1 true SU1532926A1 (en) 1989-12-30

Family

ID=21355093

Family Applications (1)

Application Number Title Priority Date Filing Date
SU874377001A SU1532926A1 (en) 1987-11-18 1987-11-18 Microprogram dispatcher of multiprocessor computing system

Country Status (1)

Country Link
SU (1) SU1532926A1 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Авторское свидетельство СССР № П96866, кл0 G 06 F 9/46, 1984в Авторское свидетельство СССР № 1151966, кл. G 06 F 9/46, 1983. *

Similar Documents

Publication Publication Date Title
US4354227A (en) Fixed resource allocation method and apparatus for multiprocessor systems having complementarily phased cycles
US4435752A (en) Allocation of rotating memory device storage locations
US4374409A (en) Method of and system using P and V instructions on semaphores for transferring data among processes in a multiprocessing system
US4316245A (en) Apparatus and method for semaphore initialization in a multiprocessing computer system for process synchronization
US4432051A (en) Process execution time accounting system
US4387427A (en) Hardware scheduler/dispatcher for data processing system
US6272517B1 (en) Method and apparatus for sharing a time quantum
US4028663A (en) Digital computer arrangement for high speed memory access
KR960012357B1 (en) Method and apparatus for arbitration based on the availability of resources
JPS6223345B2 (en)
JPH0535454B2 (en)
KR960005388B1 (en) Timer channel
US3829839A (en) Priority interrupt system
US3961312A (en) Cycle interleaving during burst mode operation
US3703707A (en) Dual clock memory access control
SU1532926A1 (en) Microprogram dispatcher of multiprocessor computing system
SU1095181A1 (en) Device for distributing tasks to processors
RU2042191C1 (en) Device for allocation processes in computing system
RU1798782C (en) Device for allocation of requests to processors
GB2030331A (en) Real-time Data Processing System for Processing Time Period Commands
SU1545219A1 (en) Multichannel device for distribution of jobs between processors
RU1837287C (en) Interprocessor job-allocating device
SU864288A1 (en) Device for servicing requests
RU2209461C2 (en) Method for conflict resolution
SU1121671A1 (en) Device for distributing requests among processors