SU670937A1 - Multiprocessor computing system - Google Patents

Multiprocessor computing system

Info

Publication number
SU670937A1
SU670937A1 SU772476352A SU2476352A SU670937A1 SU 670937 A1 SU670937 A1 SU 670937A1 SU 772476352 A SU772476352 A SU 772476352A SU 2476352 A SU2476352 A SU 2476352A SU 670937 A1 SU670937 A1 SU 670937A1
Authority
SU
USSR - Soviet Union
Prior art keywords
output
unit
priority
input
block
Prior art date
Application number
SU772476352A
Other languages
Russian (ru)
Inventor
Владимир Михайлович Долкарт
Илья Романович Крамфус
Рудольф Робертович Пурэ
Виктор Николаевич Степанов
Анатолий Николаевич Федосеев
Original Assignee
Предприятие П/Я Г-4128
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 Предприятие П/Я Г-4128 filed Critical Предприятие П/Я Г-4128
Priority to SU772476352A priority Critical patent/SU670937A1/en
Application granted granted Critical
Publication of SU670937A1 publication Critical patent/SU670937A1/en

Links

Landscapes

  • Multi Processors (AREA)

Description

1one

Изобретение относитс  к вычислительной технике, в частиости к нроектированию многопрограммных, многопроцессорных систем .The invention relates to computing, in part, to the design of multiprogram, multiprocessor systems.

Известна многопроцессорна  вычислительна  система 1, содержаща  св занные между собой процессоры, блок управлени  прерыванием и оперативное запоминающее устройство (ОЗУ), причем каждый процессор включает в себ  блок сопр жеии  с ОЗУ, операционный блок, блок управлени  и синхронизации, регистр текущего приоритета , схемы сравнени  и блок контрол .A multiprocessing computing system 1 is known that contains interconnected processors, an interrupt control unit and a random access memory (RAM), each processor including a RAM interfacing unit, an operating unit, a control and synchronization unit, a current priority register, and a comparison circuit. and control unit.

К недостатку данной системы относ тс  большие затраты времени на переключение задач.The disadvantage of this system is the large amount of time it takes to switch tasks.

Из известных многопроцессорных вычислительных систем наиболее близкой по технической сущности к изобретенню  вл етс  многопроцессорна  вычислительна  система 2. Она содержит нроцессоры, устройство управлени  прерыванием и оперативное запоминающее устройство, входы и выходы которого соединены соответственно с первымн выходом и входом каждого нз процессоров, второй выход каждого из процессоров подключен к соответствующим входам других процессоров, причем каждый из процессоров содержит блок сопр жени , первые вход и выход которого соединены соответствеьло с нервыми входом и выходом процессора, блок выполнени  операцнй, первый выход которого соединен с вторым входом блока сопр жени , второй выход которого соединен с первым входом блока выполнени  операций, вторым выходом подключенного к входу блока контрол . Выход блока контрол  соединен с первым входом блока управленн  иOf the known multiprocessor computing systems, the closest in technical essence to the invention is multiprocessor computing system 2. It contains processors, interrupt control device and random access memory, the inputs and outputs of which are connected respectively to the first output and input of each nz processors, the second output of each processors connected to the corresponding inputs of other processors, each of the processors contains a mating block, the first input and output of which sootvetstvelo connected with nerve input and output processor unit performing operatsny, a first output connected to the second input interface unit, the second output of which is connected to the first input of the block operations, a second output connected to the input control block. The output of the control unit is connected to the first input of the control unit and

синхроннзации, первый выход которого св зан с вторым входом блока выполнени  операций, третий выход которого через последовательно соединенные первый элемент И и элемент ИЛИ подключен к первомуsynchronization, the first output of which is connected with the second input of the operation execution unit, the third output of which is connected through the first AND element and the OR element connected in series to the first

входу регистра текущего приоритета. Второй вход последнего соединен е вторым выходом блока управлени  и синхронизации , а выход - с вторым входом процессора , первым входом схемы сравнени  приоритетов и первым входом схемы сравнени , выход которой соедннен с вторым входом блока управлени  и спнхронизации, третьим выходом подключенного через группу триггеров блокировки к первым входамthe current priority register entry. The second input of the latter is connected to the second output of the control and synchronization unit, and the output is connected to the second input of the processor, the first input of the priority comparison circuit and the first input of the comparison circuit, the output of which is connected to the second input of the control and synchronization block, the third output connected via the blocking trigger group to first entrances

группы элементов И, вторые входы которых соединены с соответствующими входами процессора, а выходы - с входами схемы сравненн  приоритетов. Выход последней св зан с вторым входом схемы сравнени ,the groups of elements And, the second inputs of which are connected to the corresponding inputs of the processor, and the outputs - with the inputs of the compared priorities. The output of the latter is connected to the second input of the comparison circuit,

третий вход которой соединен с вторым входом процессора и с первым входом второго элемента И, выход которого подключен к входу элемента ИЛИ, а второй вход соединен с вторым входом первого элемента И и четвертым выходом блока правленн  и синхроннзации. Недостатками известно многопроцессорной вычислительной системЕз  вл ютс  большие затраты оборудовани  на реализацию приоритетного распределени  задач по процессорам и большие затраты времени на переключение задач. Цель изобретени  - упрощение и увеличение быстродействи  системы. Поставленна  цель достигаетс  тем, что в многоироцессорной вычислительной системе устройство управлени  прерыванием содержит блок приоритетного выбора запросов , блок установки регистра заполненных очередей, регистр заполненных очередей и блок определени  старшей единицы, причем третьи выходы процессоров соединены с входами устройства управлени  прерыванием и входами блока приоритетного выбора запросов, выходом подключенного к входу блока установки регистра заполненных очередей, выход которого через регистр заполненных очередей соединен с входом блока определени  старшей единицы , выходом св занного с выходом устройства унравлени  прерыванием и с вторым входом каждого из процессоров, третий выход которого подключен к первому выходу введенного в каждый процессор блока занесени  в очередь, второй выход которого соединен с третьим входом блока сопр жени , а вход - с четвертым выходом блока выполнени  операций. Схема системы показана на чертеже. Она содержит процессоры 1, оперативное запоминающее устройство (ОЗУ) 2, устройство 3 управлени  прерыванием, причем каждый из процессоров включает в себ  блок 4 сопр жени , блок 5 выполнени  операций, блок 6 управлени  и синхронизации , блок 7 контрол , регистр 8 текущего приоритета, схему 9 сравнени  приоритетов , схему 10 сравнени , блок 11 занесени  в очередь. Устройство 3 )шравлени  прерыванием содержит блок 12 приоритетного выбора запросов, блок 13 установки регистра заполненных очередей, регистр 14 заполненных очередей, блок 15 определени  старшей единицы. В вычислительную систему вход т также элементы И 16, 17, группа элементов И 18, 19, элемент ИЛИ 20, группа триггеров 21, 22 блокировки. Обработка информации в процессоре 1 производитс  блоком 5, который обмениваетс  информацией с ОЗУ 2 с помощью блока 4 сопр жени . Управл ющие и синхронизирующие импульсы, необходимые дл  функционировани  процессора, вырабатываютс  блоком 6 управлени  и синхронизации . При этом первый его выход синхронизирует работу блока 5, второй выход - изменение регистра 8 текущего приоритета , третий выход - прием информации в триггеры 21, 22 блокировки, а четвертый выход - прием информации в регистр 8 текущего приоритета. Блок 7 контролирует работу блока 5. При наличии сбо  блок 7 контрол  передает информацию о сбое в блок 6 управлени  и синхронизации, который через четвертый выход устанавливает наивысший приоритет в регистре 8 текущего приоритета и осуществл ет переход в диагностический режим дл  локализации места неисправности. Многопрограммна  работа в данной многопроцессорной системе организуетс  следующим образом. Операционна  система, размеща  программы в пам ти, присваивает каждой программе приоритет (возможно присвоение одинакового приоритета нескольким программам ). Дл  каждого из возможных значений приоритета операционна  система формирует очередь программ. При этом часть очередей может быть пустой, если в текущий момент в системе отсутствуют за вки на выполнение программ с данными приоритетами. Распределение программ по процессорам происходит с помощью устройства 3 управлени  прерыванием. Занесение программы в очередь процессором 1 осуществл етс  путем передачи информации из блока 5 через его четвертый выход в блок 11 занесени  в очередь, который через второй выход передает информацию программы в ОЗУ 2, а через первый выход - запрос и номер приоритета программы на третий выход процессора 1, который соединен с входом блока 12. Блок 12 приоритетного выбора запросов при одновременном обращении к нему нескольких процессоров 1 выбирает наиболее приоритетный (по позиционному приоритету) и передает номер приоритета программы в блок 13 установки регистра заполненных очередей, который устанавливает в «1 соответствующий разр д в регистре 14. Таким образом, по мере занесени  операционной системой программы в очереди разных приоритетов в регистре 14 устанавливаютс  единицы в разр дах, соответствующих приоритетам непустых очередей. Блок 15 определени  старщей единицы формирует на выходе двоичный код наиболее приоритетной непустой очереди. При выполнении текущей программы на процессоре 1 блок 5 через схемы И 17, ИЛИ 20 заносит приоритет выполн емой программы в регистр 8 текущего приоритета . Аппаратура процессоров непрерывно сравнивает приоритеты выполн емых программ во всех процессорах н тот процессор, чь  программа имеет самый низкий приоритет , становитс  кандидатом на нрерывание . Этот процессор по состо нию регистраthe third input of which is connected to the second input of the processor and to the first input of the second element AND, the output of which is connected to the input of the element OR, and the second input is connected to the second input of the first element AND and the fourth output of the correlation and synchronization unit. The disadvantages of a multiprocessor computing system known are the high hardware costs of implementing the prioritized distribution of tasks among processors and the large amount of time required for switching tasks. The purpose of the invention is to simplify and increase the speed of the system. The goal is achieved by the fact that in a multiprocessor computing system the interrupt control unit contains a block of priority selection of requests, a block for setting the register of filled queues, a register of filled queues and a block for determining the highest unit, the third processor outputs are connected to the inputs of the interrupt control selector , the output connected to the input of the installation unit register of queues, the output of which is through the register filled ocher The action is connected to the input of the senior unit determining unit, the output associated with the output of the interruptor control device and the second input of each of the processors, the third output of which is connected to the first output of the input unit inserted into each processor, the second output of which is connected to the third input of the counter unit the input, with the fourth output of the operation block. The system diagram is shown in the drawing. It contains processors 1, random access memory (RAM) 2, interrupt control device 3, each of the processors includes an interface unit 4, an operation unit 5, a control and synchronization unit 6, a control unit 7, a current priority register 8, a priority comparison circuit 9, a comparison circuit 10, a queue block 11. The device 3) with interrupted shunting contains a block 12 of priority selection of requests, a block 13 for setting the register of filled queues, a register 14 for filled queues, a block 15 for determining the highest unit. The computing system also includes elements AND 16, 17, a group of elements AND 18, 19, an element OR 20, a group of trigger triggers 21, 22. The processing of information in the processor 1 is carried out by a unit 5, which exchanges information with the RAM 2 by means of an interface 4. The control and timing pulses necessary for the operation of the processor are generated by the control and timing unit 6. At the same time, its first output synchronizes the operation of block 5, the second output - changing the register 8 of the current priority, the third output - receiving information into the blocking triggers 21, 22, and the fourth output - receiving information into the register 8 of the current priority. Unit 7 controls the operation of unit 5. If there is a failure, the monitoring unit 7 transmits information about the failure to the control and synchronization unit 6, which, through the fourth output, sets the highest priority in register 8 of the current priority and transitions to the diagnostic mode to localize the fault. Multiprogram operation in this multiprocessor system is organized as follows. The operating system assigns a program priority to each program (it is possible to assign the same priority to several programs). For each of the possible priority values, the operating system creates a queue of programs. In this case, part of the queues may be empty if there are currently no applications for executing programs with these priorities in the system. The distribution of programs on the processors occurs with the help of the interrupt control device 3. The program enters the queue by the processor 1 by transferring information from block 5 through its fourth output to block 11 to enter the queue, which sends the program information to RAM 2 via the second output, and the request and priority number of the program to the third output of the processor via the second output 1, which is connected to the input of block 12. Block 12, the priority selection of requests while simultaneously addressing it to multiple processors 1, selects the highest priority (by positional priority) and sends the priority number of the program to block 13 setting the register of filled queues, which sets in "1 the corresponding bit in register 14. Thus, as the operating system enters the program in a queue of different priorities in register 14, units are set in the bits corresponding to the priorities of non-empty queues. The unit 15 for determining the senior unit generates at the output a binary code of the highest priority non-empty queue. When executing the current program on processor 1, block 5, through schemes AND 17, OR 20, enters the priority of the program being executed in register 8 of the current priority. The equipment of the processors continuously compares the priorities of the programs being executed in all processors to the processor whose program has the lowest priority becomes a candidate for interruption. This processor is case sensitive.

14провер ет, есть ли в списке очередей программа с приоритетом более высоким, чем та, которую он исполн ет. Если така  программа есть, то процессор - кандидат на прерывание прерывает исполнение текущей программы, заносит ее в список очередей и выбирает из списка дл  исполнени  программу с высшим приоритетом.14 checks whether there is a program in the queue with a priority higher than that which it executes. If there is such a program, the interrupt candidate processor interrupts the execution of the current program, puts it in the queue list and selects the program with the highest priority from the list for execution.

Работает аппаратура следующим образом .The equipment operates as follows.

В каждом процессоре схема 9 сравнивает текущие приоритеты данного и других процессоров и вырабатывает на выходе единичный сигнал, если текущий приоритет данного процессора меньше текущих приоритетов других процессоров. Группа элементов И 18, 19, управл емых триггерами 21, 22 блокировки, служит дл  отключени  от схемы 9 сравнени  приоритетов процессоров , которые не участвуют в работе (например, процессоров, в которых зафиксирован отказ или которые наход тс  на профилактике). Установка триггеров блокировки осуществл етс  операционной системой через третий выход блока 6 управлени  и синхронизации.In each processor, circuit 9 compares the current priorities of this and other processors and generates a single signal at the output if the current priority of this processor is less than the current priorities of other processors. The group of elements 18, 19, controlled by the blocking triggers 21, 22, is used to disconnect from the circuit 9 the comparison of priorities of processors that do not participate in the operation (for example, processors that have a failure or are under prevention). The blocking triggers are installed by the operating system via the third output of the control and synchronization unit 6.

При наличии единицы на выходе схемы 9 сравнени  приоритетов включаетс  схема 10, котора  сравнивает содержимое регистра 8 текущего приоритета с выходом блокаIf there is a unit at the output of the priority comparison circuit 9, the circuit 10 is included which compares the contents of the current priority register 8 with the output of the block

15определени  старшей единицы устройства 3 управлени  прерыванием. Если содержимое регистра текущего приоритета меньще кода на выходе блока определени  старшей единицы, то это означает, что в списке очередей есть программа с приоритетом более высоким, чем программа, исполн ема  данным процессором.15 determine the highest unit of the interrupt control device 3. If the contents of the current priority register are less than the code at the output of the senior unit, then this means that in the queue list there is a program with a priority higher than the program executed by this processor.

При этом выходной сигнал со схемы 10 сравнени  поступает на второй вход блока 6 управлени  и синхронизации, который через блок 5 и блок И осуществл ет занесение в очередь текущей программы, а через блок 4 сопр жени  - выборку из ОЗУ 2 задачи из очереди с приоритетом, соответствующим коду на выходе блока 15 определени  старшей единицы. Если из очереди данного приоритета выбрана последн   программа, то блок 5 через блоки 11, 12 и 13 гасит соответствующий разр д регистра 14.In this case, the output signal from the comparison circuit 10 is fed to the second input of the control and synchronization unit 6, which, through block 5 and block I, enters the current program into the queue, and through the interface 4, selects from the RAM 2 tasks from the queue with priority corresponding to the code at the output of block 15 for determining the highest unit. If the last program is selected from the queue of this priority, then block 5 through blocks 11, 12 and 13 extinguishes the corresponding register bit 14.

Таким образом, устройство 3 управлени  прерыванием осуществл ет распределение программ по процессорам 1, выбира  из очередей программы высшего приоритета.Thus, the interrupt control unit 3 performs the distribution of programs among the processors 1, choosing from the program queues the highest priority.

Введение регистра 14 заполненных очередей и блока 15 определени  старшей единицы в устройство 3 управлени  прерыванием позвол ет непрерывно сравнивать приоритеты задач, решаемых на процессорах 1, и задач, занесенных в приоритетные очереди. Это сокращает врем  переключени  задач и повышает быстродействие системы .Introduction of the register 14 of the filled queues and the senior unit 15 to the interrupt control device 3 allows to continuously compare the priorities of the tasks solved on the processors 1 and the tasks assigned to the priority queues. This reduces task switching times and improves system performance.

Claims (2)

1.Патент США № 3533082, кл. 340-172.5, опублик. 1970.1. US Patent No. 3533082, cl. 340-172.5, published. 1970. 2.Патент США № 3421150, кл. 340-172.5, опублик. 1969.2. US patent number 3421150, class. 340-172.5, published. 1969.
SU772476352A 1977-04-08 1977-04-08 Multiprocessor computing system SU670937A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU772476352A SU670937A1 (en) 1977-04-08 1977-04-08 Multiprocessor computing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU772476352A SU670937A1 (en) 1977-04-08 1977-04-08 Multiprocessor computing system

Publications (1)

Publication Number Publication Date
SU670937A1 true SU670937A1 (en) 1979-06-30

Family

ID=20705130

Family Applications (1)

Application Number Title Priority Date Filing Date
SU772476352A SU670937A1 (en) 1977-04-08 1977-04-08 Multiprocessor computing system

Country Status (1)

Country Link
SU (1) SU670937A1 (en)

Similar Documents

Publication Publication Date Title
US4402046A (en) Interprocessor communication system
CA1121513A (en) Multiconfigurable modular processing system integrated with a preprocessing system
US3787818A (en) Mult-processor data processing system
CA1143852A (en) Multiprocessor mechanism for handling channel interrupts
EP0529384B1 (en) CPU expansive gradation of I/O interruption subclass recognition
US3973256A (en) Key detection system interconnecting keyboard and data processing system
US5555414A (en) Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
US6697834B1 (en) Mutual exculsion system and method for restarting critical sections of code when preempted during a critical section
CA1153120A (en) Multiprocessor information processing system having fault detection function based on periodic supervision of updated fault supervising codes
US3735357A (en) Priority system for a communication control unit
EP0383475A2 (en) Shared resource arbitration
JPH06266676A (en) Interruption steering system of multiprocessor-computer
EP0013740B1 (en) Data processing apparatus having a system reset capability
EP0385487B1 (en) Interrupt controller for multiprocessor systems
GB1420878A (en) Data processing control system
US5077662A (en) Microprocessor control system having expanded interrupt capabilities
SU670937A1 (en) Multiprocessor computing system
KR900010537A (en) How to Unblock a Multiverse Multiprocessor System
CA1295751C (en) Increased bandwidth for multi-processor access of a common resource
US4894769A (en) Increased bandwith for multi-processor access of a common resource
US4773037A (en) Increased bandwidth for multi-processor access of a common resource
SU758155A1 (en) Program interrupting device
SU1259278A1 (en) Interface for linking processors in multiprocessor computer system with variable configuration
AU631246B2 (en) System and method for reducing timing channels in digital data processing systems
SU1405067A1 (en) Combination channel