SU1254494A1 - Arbitrator of multiprocessor system - Google Patents

Arbitrator of multiprocessor system Download PDF

Info

Publication number
SU1254494A1
SU1254494A1 SU843781940A SU3781940A SU1254494A1 SU 1254494 A1 SU1254494 A1 SU 1254494A1 SU 843781940 A SU843781940 A SU 843781940A SU 3781940 A SU3781940 A SU 3781940A SU 1254494 A1 SU1254494 A1 SU 1254494A1
Authority
SU
USSR - Soviet Union
Prior art keywords
stack
output
block
memory
address
Prior art date
Application number
SU843781940A
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 SU843781940A priority Critical patent/SU1254494A1/en
Application granted granted Critical
Publication of SU1254494A1 publication Critical patent/SU1254494A1/en

Links

Landscapes

  • Bus Control (AREA)

Abstract

Изобретение относитс  к вычислительной технике и может быть использовано дл  распределени  общих ресурсов: секций пам ти и шин с временным разделением между процессорами в мультипроцессорных системах. Целью изобретени   вл етс  увеличение производительности мультипроцессорной системы при поступлении запросов общих ресурсов . С этой целью в арбитр мультипроцессорной системы, содержащий блок пам ти состо ни  и микропрограммный автомат, введены счетчик, коммутатор адресов, регистр, три блока стековой пам ти и две группы блоков стековой пам ти. 13 ил. (Л СThe invention relates to computing and can be used to allocate common resources: memory sections and time-division buses between processors in multiprocessor systems. The aim of the invention is to increase the performance of the multiprocessor system upon the receipt of requests for common resources. For this purpose, the multiprocessor system arbiter containing the state memory block and the firmware automator introduced a counter, an address switch, a register, three stack memory units and two groups of stack memory units. 13 il. (Ls

Description

ч1254494ch1254494

Изобретение относитс  к вычислительной технике и может быть использовано дл  распределени  общих ресурсов: секций пам ти и шин с временным разделением между профессорами в муль-5 типроцессорных системах.The invention relates to computing and can be used to allocate common resources: memory sections and buses with time division between professors in multi-processor systems.

Цель изобретени  - увеличение производительности мультипроцессорной системы при поступлении запросов общих ресурсов.10The purpose of the invention is to increase the performance of the multiprocessor system when receiving requests for shared resources.

На фиг. 1 показана структурна  схема арбитра; на фиг, 2 - граф микропрограммы функционировани  арбитра; на фиг. 3 - функциональна  схема микропрограммного автомата; на фиг. 4 - |5 функциональна  схема дешифратора признаков; на фиг. 5 - функциональна  схема коммутатора адресов; на фиг.6 - вариант построени  первого блока сте- ковой пам ти; на фиг.7 - вариант по- 20 строени  второго блока стековой пам ти; на фиг. 8 - вариант- построени  третьего блока стековой пам ти; на фиг. 9 - вариант построени  блоков стековой пам ти первой группы; на 25 фиг. 10 - вариант построени  блоков- стековой пам ти второй группы; на фиг. 11 - вариант построени  блока г ам ттл состо ни ; на фиг. 12 - вариант построени  счетчика; на фиг.13 -, Q вариант построени  регистра. .FIG. 1 shows the structure of the arbitrator; FIG. 2 is an arbitrator operation firmware graph; in fig. 3 - functional circuitry of the firmware; in fig. 4 - | 5 functional diagram of the attributes decoder; in fig. 5 - the functional diagram of the address switch; Fig. 6 illustrates the construction of the first block of stack memory; Fig. 7 shows a variation of the structure of the second stack memory unit; in fig. 8 shows a variant of constructing a third block of stack memory; in fig. 9 is a variant of building blocks of stack memory of the first group; at 25 of FIG. 10 - a variant of building block-stack memory of the second group; in fig. 11 is a variant of building a block of g am ttl states; in fig. 12 - version of the construction of the counter; in Fig. 13, the Q case construction variant. .

Арбитр содержит (фиг.1) микропрограммный автомат 1 (блок управлени ), пе)вый и второй блоки 2 и 3 с тековой пам ти, блок 4 пам ти состо ни , тре2The arbitrator contains (Fig. 1) a microprogram automat 1 (control unit), a first and second blocks 2 and 3 with a current memory, a state memory block 4, tre2

и блока 3, один из выходов которого подключен к входам блоков 9 стековой пам ти первой группы. Выход регистра 8 соединен с выходом арбитра, вхо ды которого подключены к входам бло ков 2 и 3 пам ти.and block 3, one of the outputs of which is connected to the inputs of blocks 9 of the stack memory of the first group. The output of register 8 is connected to the output of the arbiter, whose inputs are connected to the inputs of blocks 2 and 3 of memory.

Блок 1 (микропрограммный автомат представл ет собой управл ющий авто мат Мура, пред||азначенный дл  реали зации микропрограммы работы арбитра (фиг. 2). Автомат 1 (фиг. 3) содержит дешифратор 11 признаков, элемен ты И 12-39, элементы ИЛИ 40-47, ген ратор 48 синхронизирующих импульсов триггеры 49 - 52. Дешифратор 11 при знаков (фиг. 4) содержит элементы И 53- 64 и элементы ИЛИ 65-68. Ком1-1утатор 7 адресов (фиг. 5) содер жит элементы И 69-72, элементы ИЛИ 7 74, элементы И 75,-83. Блок 2 (фиг. содержит стековую пам ть 84, блок 8 анализа приоритетов, регистр 86 и элементы ИЛИ 87-88. Блок 3 (фиг.7) содержит стековую пам ть 89, блок 9 анализа приоритетов, регистр 91 и элемент ИЛИ 92. Блок 5 (фиг. 8) сод жит стековую пам ть 93, регистр 94 и элемент ИЛИ 95. Каждый из блоков (фиг. 9) содержит стековую пам ть 9 регистр 97 и элемент ИЛИ 98. Каждый из блоков 10 (фиг. 10) содержит сте вую пам ть 99, регистр 100 и элемент ИЛИ 101. Блок 4 пам ти состо н ( фиг. 11) содержит пам ть 102 с про извольной выборкой, регистр 103 иBlock 1 (the firmware automaton is Moore’s control automat, presumed for realizing the arbiter’s firmware (Fig. 2). The automaton 1 (Fig. 3) contains the decoder 11 features, the And 12-39 elements, the elements OR 40-47, the generator of 48 synchronizing pulses triggers 49 - 52. The decoder 11 with characters (Fig. 4) contains the elements AND 53 64 and the elements OR 65-68. Comm1-1 address 7 (Fig. 5) contains the elements AND 69-72, elements OR 7 74, elements AND 75, -83. Block 2 (FIG. Contains a stack memory 84, block 8 of priority analysis, register 86 and elements OR 87-88. Block 3 (f ig.7) contains the stack memory 89, the priority analysis block 9, the register 91 and the OR element 92. The block 5 (Fig. 8) contains the stack memory 93, the register 94 and the OR element 95. Each of the blocks (Fig. 9 ) contains the stack memory 9 register 97 and the element OR 98. Each of the blocks 10 (Fig. 10) contains a memory 99, a register 100 and the element OR 101. The memory block 4 of the states (Fig. 11) contains a memory 102 with random sample, register 103 and

тий блок 5 стековой пам ти, счетчик 6, элемент ИЛИ 104. Счетчик 6 (фиг.12)tiy block 5 of stack memory, counter 6, element OR 104. Counter 6 (Fig. 12)

коммутатор ки 9. - 10 и второй группыswitch ki 9. - 10 and the second group

7 адресов, регистр 8, бло- 2, стековой пам ти первой7 addresses, register 8, block 2, stack memory first

разделенные на группыdivided into groups

9 -9 -

W-4 W-4

ИAND

10, 1010, 10

г-g-

ВыходыOutputs

автомата 1 соединены с входами блоков 2 и 3 стековой пам ти, блока 4 пам ти состо ни , блока 5 стековой пам ти, коммутатора 7, регистра 8 и блоков 9 и 10 стековой пам ти первой и второй групп. Входы автомата 1 соединены с выходами блоков 2 и 3, блока 4 пам ти состо ни , блока 5 и блоков 9 и 10 стековой пам ти первой и второй групп. Выходы коммутатора 7 подключены к входам блока 4 пам ти, блоков 9 стековой пам ти первой группы , регистра 8, выходам блока 5 пам ти , блоков 9 стековой пам ти первой группы, входам блоков 10 стековой пам ти второй группы и счетчика 6. Входы коммутатора 7 соединены с выходами блока 4 пам ти, блока 2, входом и выходом блока 5, выходами счетчика 6automaton 1 is connected to the inputs of blocks 2 and 3 of the stack memory, block 4 of the state memory, block 5 of the stack memory, switch 7, register 8 and blocks 9 and 10 of the stack memory of the first and second groups. The inputs of the automaton 1 are connected to the outputs of the blocks 2 and 3, the block 4 of the state memory, the block 5 and the blocks 9 and 10 of the stack memory of the first and second groups. The outputs of the switch 7 are connected to the inputs of memory block 4, blocks 9 of stack memory of the first group, register 8, outputs of block 5 of memory, blocks 9 of stack memory of the first group, inputs of blocks 10 of stack memory of the second group and counter 6. Inputs of the switch 7 are connected to the outputs of the memory block 4, the block 2, the input and output of the block 5, the outputs of the counter 6

22

и блока 3, один из выходов которого подключен к входам блоков 9 стековой пам ти первой группы. Выход регистра 8 соединен с выходом арбитра, входы которого подключены к входам блоков 2 и 3 пам ти.and block 3, one of the outputs of which is connected to the inputs of blocks 9 of the stack memory of the first group. The output of register 8 is connected to the output of the arbiter, the inputs of which are connected to the inputs of blocks 2 and 3 of memory.

Блок 1 (микропрограммный автомат) представл ет собой управл ющий автомат Мура, пред||азначенный дл  реализации микропрограммы работы арбитра (фиг. 2). Автомат 1 (фиг. 3) содержит дешифратор 11 признаков, элементы И 12-39, элементы ИЛИ 40-47, генератор 48 синхронизирующих импульсов, триггеры 49 - 52. Дешифратор 11 признаков (фиг. 4) содержит элементы И 53- 64 и элементы ИЛИ 65-68. Ком1-1утатор 7 адресов (фиг. 5) содержит элементы И 69-72, элементы ИЛИ 73- 74, элементы И 75,-83. Блок 2 (фиг.6 содержит стековую пам ть 84, блок 85 анализа приоритетов, регистр 86 и элементы ИЛИ 87-88. Блок 3 (фиг.7) содержит стековую пам ть 89, блок 90 анализа приоритетов, регистр 91 и элемент ИЛИ 92. Блок 5 (фиг. 8) содержит стековую пам ть 93, регистр 94 и элемент ИЛИ 95. Каждый из блоков 9 (фиг. 9) содержит стековую пам ть 96, регистр 97 и элемент ИЛИ 98. Каждый из блоков 10 (фиг. 10) содержит стековую пам ть 99, регистр 100 и элемент ИЛИ 101. Блок 4 пам ти состо ни  (фиг. 11) содержит пам ть 102 с произвольной выборкой, регистр 103 иBlock 1 (microprogram automaton) is a Moore control automaton, predestined for the implementation of the arbitrator's microprogram (Fig. 2). The automaton 1 (Fig. 3) contains the decoder 11 features, the elements AND 12-39, the elements OR 40-47, the generator 48 clock pulses, triggers 49-52. The decoder 11 features (Fig. 4) contains the elements AND 53-64 and the elements OR 65-68. Kom1-1utator 7 addresses (Fig. 5) contains the elements And 69-72, elements OR 73- 74, elements And 75, -83. Block 2 (FIG. 6 contains the stack memory 84, priority analysis block 85, register 86, and elements OR 87-88. Block 3 (FIG. 7) contains the stack memory 89, priority analysis block 90, register 91, and element OR 92 Block 5 (Fig. 8) contains a stack memory 93, a register 94 and an element OR 95. Each of blocks 9 (Fig. 9) contains a stack memory 96, a register 97 and an element OR 98. Each of blocks 10 (Fig. 10) contains the stack memory 99, the register 100 and the element OR 101. The state memory block 4 (FIG. 11) contains the memory 102 with a random selection, the register 103 and

элемент ИЛИ 104. Счетчик 6 (фиг.12)element OR 104. Counter 6 (Fig. 12)

содержит суммирующий счетчик 105, дифференцирующую цепочку 106 и диод 107. Регистр 8 (фиг. 13) содержит регистр 108, элемент ИЛИ 109 и элементы И 110,- 11 OR.contains a summing counter 105, a differentiating chain 106 and a diode 107. Register 8 (FIG. 13) contains the register 108, the element OR 109 and the elements And 110, - 11 OR.

Блок 2 используетс  дл  записи и хранени  информации об освобождении общих ресурсов. Информаци  С; об освобождении общих ресурсов i-м процессором представл ет собой адреса освободившихс  J-X секций пам ти и т-й шины A|j, которые использовались процессором. Блок 3 предназначен дл  записи и хранени  запросов общих ресурсов. Запрос 3; процессора 1 представл ет собой адреса запрашиваемой секции пам ти А,; и запрашивающего процессора . Блок 4 пам ти состо ни  (блок пам ти с произ- вольной выборкой) предназначен дл  хранени  состо ни  арбитра. Под состо нием арбитра понимаетс  совокупность адресов шин, назначенных арбитром секци м пам ти. Адрес j-й  чейки блока 4 пам ти представл ет собой адрес соответствующей секции пам тиBlock 2 is used to record and store information about the release of shared resources. Information C; about the release of shared resources by the i-th processor is the addresses of the released J-X memory sections and the m-th bus A | j used by the processor. Block 3 is designed to record and store requests for shared resources. Request 3; processor 1 is the address of the requested memory section A; and the requesting processor. The state memory unit 4 (random access memory unit) is intended for storing the state of the arbitrator. The state of the arbitrator is a collection of tire addresses assigned by the arbitrator to the memory section. The address of the j-th cell of memory 4 is the address of the corresponding memory section.

АСП TSA

Информаци , записанна  в j-ую 5  чейку блока 4, представл ет собой адрес шины, назначенной арбитром соответствующей секции пам ти. Например , если во вторую  чейку блока 4 записан адрес нулевой шины (шины ю с адресом, равным нулю), в третью  чейку - адрес второй шины, в седьмую  чейку - адрес первой шины, то это означает, что второй секции пам ти (секции с адресом, равным двум) 13 арбитром назначена нулева  шина, третьей секции пам ти - втора  шина и седьмой-секции пам ти - перва  шина, а вс  совокупность адресов нулевой.The information recorded in the j-th 5th cell of block 4 is the address of the bus assigned by the arbiter of the corresponding memory section. For example, if the address of the zero bus is written in the second cell of block 4, the bus address with the address is zero, the address of the second bus is in the third cell, the address of the first bus is in the seventh cell, then the second memory section ( The address equal to two) 13 appointed the null bus as the arbitrator, the third memory section — the second bus and the seventh memory section — the first bus, and the entire set of addresses is zero.

разом, в блок lOg записываютс  признаки наличи  запросов нулевой сек- ции пам ти и т.д., в блок 10, - признаки дл  (Z - 1)-й секции пам ти Арбитр может работать при условии: только одна шина должна быть назначе на группе процессоров, требующих доступа к одной и гой же секции пам  ти; только одна шина должна быть назначена каждому процессору. Пор док обслуживани  запросов общих ресурсов первый пришел - первый обслужен.At once, signs of the presence of requests for a zero memory section, etc. are recorded in the lOg block, and in block 10, signs for the (Z - 1) -th memory section. The arbitrator can work under the condition: only one bus must be assigned on a group of processors requiring access to the same memory section; Only one bus should be assigned to each processor. The order of servicing common resource requests first arrived, first served.

Арбитр работает следующим образомThe arbitrator works as follows

В начальном состо нии он ожидает поступлени  информации об освобождении общих ресурсов в блок 2 или запроса общих ресурсов в блок 3 (фиг.1) При этом автомат 1 находитс  в состо нии а. и НС выдает никаких управпервой и второй шин представл ет сое-2о л ющих сигналов (фиг. 2). Если в арто ние арбитра.In the initial state, it waits for information about the release of shared resources in block 2 or the request for common resources in block 3 (Fig. 1). In this case, the automaton 1 is in the state a. and the HC issues no control and the second bus represents the co-2o signals (Fig. 2). If in artenie arbitrator.

Блок 5 используетс  дл  хранени  адресов свободных шин (не назначенных секци м пам ти). Счетчик 6 пред- 25 назначен дл  выдачи очередного адреса зан той гаины в случае прихода запроса , когда нет свободной шины, а запрашиваема  секци  пам ти свободна. Коммутатор 7 предназначен дл  св зи элементов арбитра. Регистр 8 используетс  дл  записи и выдачи информации, разрешающей запрашивающему процессору использование требуемых общих ресурсов . Данна  информаци  представл ет собой адреса запрашиваемой секцииBlock 5 is used to store addresses of free buses (unassigned memory sections). Counter 6 is assigned to issue the next occupied address in the event of a request arriving when there is no free bus and the requested section of memory is free. Switch 7 is intended for the communication of arbitrator elements. Register 8 is used to record and output information permitting the requesting processor to use the required shared resources. This information is the address of the requested section.

30thirty

3535

пам ти Аmemory A

CPJCPJ

запрашивающего процеси шины Л,requesting the bus A process,

назначеннойdesignated

4040

сора п- t lunnoi этой секции пам ти.sora p-t lunnoi of this section of memory.

Блоки 9 стековой пам ти используютс  дл  организации очередей запросов процессора к требуемым шинам. Так в блок 9о записываютс  запросы процессоров , поставленные арбитром в очередь к нулевой шине и т.д., в (и+3)-й блок 9 - запросы, поставленные в оче- редь к (и-1)-й шине. Блоки 10 стековой пам ти с номерами с W+4 по W+Z+3 (Юр - lOj., ) предназначены дл  хранени  признаков о наличии запросов к секци м пам ти, к которым уже имеютс  обращени  процессоров. Признак о наличги запроса к требуемой секции пам ти представл ет сабой адрес этой секции. Например, если запрос приодит к нулевой секции пам ти, к ко- 55 торой уже имеетс  обращение какого- то процессора, то в блок Юо записываетс  адрес этой секции. Таким об50 Stack memory blocks 9 are used to queue processor requests to the desired buses. So, in block 9o, requests of processors queued to the zero bus, etc., are written by the arbitrator, and (and + 3) -th block 9 are requests placed in turn to (and-1) -th bus. Stack memory blocks 10, numbered W + 4 to W + Z + 3 (Yr - lOj.), Are designed to store indications of the presence of requests to the memory sections to which the processors already have access. The sign on the availability of the request to the required memory section is the address of this section. For example, if the request goes to the zero section of the memory, to which a processor already accesses, then the address of this section is written to the unit Yuo. So about

разом, в блок lOg записываютс  признаки наличи  запросов нулевой сек- ции пам ти и т.д., в блок 10, - признаки дл  (Z - 1)-й секции пам ти. Арбитр может работать при условии: только одна шина должна быть назначена группе процессоров, требующих доступа к одной и гой же секции пам ти; только одна шина должна быть назначена каждому процессору. Пор док обслуживани  запросов общих ресурсов - первый пришел - первый обслужен.at one time, signs of the presence of requests for a zero memory section, etc., are recorded in block lOg, signs for a (Z - 1) -th memory section are recorded in block 10. An arbitrator can work on the condition that: only one bus must be assigned to a group of processors that require access to the same memory section; Only one bus should be assigned to each processor. The order of serving shared resource requests — first come — first served.

Арбитр работает следующим образом.The arbitrator works as follows.

В начальном состо нии он ожидает поступлени  информации об освобождении общих ресурсов в блок 2 или запроса общих ресурсов в блок 3 (фиг.1) При этом автомат 1 находитс  в состо нии а. и НС выдает никаких управ25 In the initial state, it waits for information about the release of shared resources in block 2 or the request for common resources in block 3 (Fig. 1). In this case, the automaton 1 is in the state a. and the NA gives no control25

30thirty

5five

00

5 five

битр поступил запрос общих ресурсов, то сигнал Xj с выхода блока 3 (указател  3) подаетс  в автомат 1, который переходит в состо ние а, вырабатыва  сигнал считывани  Y , т.е. запроса из блока 3. После выполнени  арбитром этой микрокоманды, автомат 1 переходит в состо ние а, формиру  сигнал считывани  Y информации из блока 4 пам ти состо ни . На другой вход этого блока с выхода блока 3 через коммутатор 7 (при наличии на его входе сигнала Y,j ) подаетс  адрес запрашиваемой секции пам ти. Если в результате считывани  на вход автомата 1 поступает сигнал Х с выхода блока 4, означаюоций, что к запраши Баемой секции пам ти уже есть обращение одного или нескольких процессоров , то автомат 1 переходит в состо ние а. При этом им выдаютс  следующие сигналы: Y, - запись запроса в один из блоков 9р - 9vv., ; Y - пись признака о наличии запросаIf the bit received a request for total resources, the signal Xj from the output of block 3 (pointer 3) is fed to the automaton 1, which goes to state a, producing a readout signal Y, i.e. request from block 3. After the arbiter completes this microcommand, the automaton 1 enters state a, generating a readout signal Y of information from block 4 of the state memory. To the other input of this block, from the output of block 3, through the switch 7 (if there is a signal Y, j at its input), the address of the requested memory section is supplied. If, as a result of reading to the input of the automaton 1, the signal X is received from the output of block 4, meaning that the requests of the Memory Band have already been addressed by one or several processors, then the automaton 1 goes into state a. In this case, they are given the following signals: Y, - writing the request to one of the 9p blocks - 9vv.,; Y - sign of the presence of the request

за behind

в один из блоковin one of the blocks

10„ 1010 „10

Г-1G-1

YC 9YC 9

считывание информации из блока 2.reading information from block 2.

При выполнении микрооперации Y запрос 3 подаетс  непосредственно с выхода блока 3 на входы блоков 9оWhen performing a micro-operation Y, request 3 is fed directly from the output of block 3 to the inputs of blocks 9o

w-w-

и записываетс  в тот из них,and written to that one

адрес которого поступает с выхода блока 4 через коммутатор 7 (при наличии на его входе сигнала Y) на входы этих блоков стекоьой пам ти. При выполнении микрооперации Y адрес запрашиваемой секции пам ти, к которой уже имеетс  обращение, подаетс  с выхода блока 3 через коммутатор 7 (приthe address of which comes from the output of block 4 through switch 7 (if there is a Y signal at its input) to the inputs of these blocks of the stack memory. When performing a micro-operation Y, the address of the requested memory section, which is already accessed, is supplied from the output of block 3 through switch 7 (with

наличии на его входы блоковavailability of blocks at its inputs

5five

входеthe entrance

сигнала Y. ) наsignal Y.) on

1212

Юс 10Yus 10

н -1n -1

и записываетс  в соответствующий блок.and is written to the appropriate block.

При реализации микрооперации Yg соответствующий управл ющий сигнал поступает на вход блока 2. Если с выходов блоков 4 и 5 (указател  стека 5) соответственно не поступают сигналы X. и Х на вход автомата 1, т.е. запрашиваема  секци  пам ти свободна и все шины зан ты, то автомат 1 осуществл ет переход в состо ние а,, формиру  следук цие сигналы: Y - запись запроса в один из блоков 9; Y - запись в блок 4 адреса шины, назначенной запрашиваемой секции пам ти; считывание информации из блока 2When implementing a micro-operation Yg, the corresponding control signal is fed to the input of block 2. If the outputs of blocks 4 and 5 (stack pointer 5) do not receive signals X. and X, respectively, to the input of the automaton 1, i.e. if the requested memory section is free and all buses are busy, the automaton 1 switches to the a state, forms the following signals: Y - write the request to one of the blocks 9; Y is an entry in block 4 of the bus address assigned to the requested memory section; reading information from block 2

YS При выполнении микрооперации Yg за- .прос 3 подаетс  с вьпсода блока 3 на входы блоков 9 и записываетс  в тот из них, адрес которого поступает с выхода счетчика 6 через коммутатор 7 (при наличии на его входах сигналов э 1) на другие входы этих блоков.YS When performing a micro-operation, Yg, request 3 is fed from the output of block 3 to the inputs of blocks 9 and written to the one whose address comes from the output of counter 6 through switch 7 (if there are signals e 1 at its inputs) to other inputs of these blocks.

При реализации микрооперации Yy адрес шины, назначенной арбитром запрашиваемой секции пам ти, подаетс  с выхода счетчика 6 через коммутатор 7 на вход блока 4 и записываетс  в ту его  чейку, адрес которой поступает с соответствующего выхода блока 3 через коммутатор 7 на вход бло- . При этом на входы коммутатора 7When implementing a micro operation Yy, the address of the bus assigned by the arbitrator of the requested memory section is fed from the output of counter 6 through switch 7 to the input of block 4 and is written to that cell, whose address comes from the corresponding output of block 3 through switch 7 to the input of block. In this case, the inputs of the switch 7

подаютс  сигналы Y, Y нени  микрокоманды Y , Y , Yj мое счетчика 6 увеличиваетс  наsignals Y, Y are applied; microcommands Y, Y, Yj; my counter 6 is increased by

После выпол- содержи- еди- After fulfilled - contain-

4040

ницу . При отсутствии сигнала Х, с выхода блока 4 и поступлении сигнала Х4 с выхода блока 5 на вход автомата t, т.е. когда запрашиваема  секци  пам ти свободна и имеетс  свободна  шина, автомат 1 переходит в состо ние а, вырабатыва  сигнал Y.nitsu. In the absence of signal X, from the output of block 4 and the arrival of the signal X4 from the output of block 5 to the input of the automaton t, i.e. when the requested memory section is free and there is a free bus, the automaton 1 goes to state a, generating a signal Y.

При выполнении микрокоманды Y происходит считьшание адреса свободной шины, из блока 5 и запись в регистр 8 считываемого адреса, поступающего с выхода блока 5 на вход регистра 8, и запроса 3;, поступающег хода блока 3 через коммутатор 7When the microinstruction Y is executed, the free bus address is intermixed from block 5 and the read address from block 5 input to register 8 and request 3 is written to register 8; incoming block 3 travels through switch 7

4545

с вы- (при 50with you- (at 50

наличии на его входе сигналаpresence at its input signal

Y«)Y ")

наon

При выполнении микрокоманды Y происходит считывание информации из одного из блоков 9, адрес которого определ ет освободившуюс  шину и поступает с второго выхода блока 2 через коммутатор 7 на входы блоков 9; запись в регистр 8 считываемой информации , подаваемой йа вход регистра 8, и адреса освободившейс  секции пам ти , поступакнцего с выхода блока 2When the microcommand Y is executed, information is read from one of the blocks 9, the address of which determines the empty bus and enters from the second output of block 2 through the switch 7 to the inputs of blocks 9; write to the register 8 of the read information supplied by the input of the register 8 and the address of the free memory section received from the output of block 2

вход регистра 8. После выполнени  арбитром микрокоманды Yj автомат 1 пере- через коммутатор 7 на вход регист- ходит в состо ние а, выдава  следую- ра 8. Одновременно с этим осуществл - щий набор Yj - передача ин- етс  считывание информации из одного формации с регистра 8, разрешагацей из блоков 10, адрес которого пред- зан тие требуемых общих ресурсов запрашивающему процессору;input of register 8. After the arbitrator executes the microcommand Yj, the automaton 1 passes through the switch 7 to the input register to state a, issuing the following 8. Simultaneously with this, the set user Yj is transmitting and reading information from one formation from register 8, resolved from blocks 10, the address of which is the use of the required total resources to the requesting processor;

V V

ставл ет собой адрес освободившейс  секции пам ти и подаетс  с выходаIt is the address of the free section of the memory and is output from the output.

запись в блок 4 пам ти состо ни  адреса шины, назначенной запращиваемой секции пам ти; Yj - считывание информации из блока 2.recording in the memory unit 4 the status of the bus address assigned to the paged memory section; Yj - reading information from block 2.

При выполнении микрооперации Y- управл ющий сигнал Yg посупает на - вход регистра 8, разреша  передачуWhen performing a micro-operation, the Y-control signal Yg appears on - the input of register 8, allowing transmission

00

00

;;

00

из него информации: А(. Af,; и Ац на коммутатор общих ресурсов с процессорами. В результате i-й процессор погучает доступ к j-й секции пам ти через т-ную шину. При выполнении микро операции Y адрес шины Ац, назначенной арбитром запра- J шиваемой j-й секции пам ти, подаетс  с выхода блока 5 через коммутатор 7 на вход, блока 4 и записываетс  в ту его  чейку, адрес которой поступает с выхода блока 3 () через коммутатор 7 на вход блока 4. При этом на входы коммутатора 7 подаютс  сигналы Yg,Y, Yj. Если в результате выполнени  микрокоманды Y, Yj. , Yj , или Y, Yj, Yj, или Y,, Y, Y соответственно с выходов блоков 2 и 3 не поступают сигналы X j и Xg на вход автомата 1 (что означает отсутствие информации об освобождении общих ресурсов и запросов процессоров), то арбитр заканчивает выполнение микропрограммы и переходит в начальное состо ние (автомат 1 - в состо ние а) .information from it: A (. Af,; and AC on the commutator of shared resources with processors. As a result, the i-th processor will get access to the j-th memory section via the th bus. When performing a micro operation Y, the bus address of the AC assigned to the arbitrator of the requested j-th memory section, is fed from the output of block 5 through switch 7 to the input of block 4 and is written to that cell whose address comes from the output of block 3 () through switch 7 to the input of block 4. When This signals Yg, Y, Yj to the inputs of switch 7. If, as a result of the execution of the microcommand Y, Yj., Yj, or Y, Yj, Yj, or Y ,, Y, Y, respectively, the outputs of blocks 2 and 3 do not receive signals X j and Xg at the input of state machine 1 (which means the absence of information about the release of common resources and requests of processors), then the arbiter finishes the firmware and goes into the initial state (state machine 1 a).

Если с выхода блока 2 сигнал Xj. не выдаетс , а с выхода блока 3 сигнал Xj поступает на вход автомата 1, то автомат 1 переходит в состо ние а,, формиру  сигнал считывани  Y, из бло3 .If the output of block 2 signal Xj. is not output, and from the output of block 3, the signal Xj is fed to the input of the automaton 1, then the automaton 1 enters state a, to form the readout signal Y, from block 3.

5five

00

ка J. В случае же поступлени  сигнала Хс с выхода блока 2 на )зход автомата 1, он переходит в состо ние а вьщава  управл к ций сигнал Y, .ka J. In the case of the arrival of the signal Xc from the output of block 2 on the output of the automaton 1, it goes to the state of control and the signal Y,.

При выполнении микрокоманды Y происходит считывание информации из одного из блоков 9, адрес которого определ ет освободившуюс  шину и поступает с второго выхода блока 2 через коммутатор 7 на входы блоков 9; запись в регистр 8 считываемой информации , подаваемой йа вход регистра 8, и адреса освободившейс  секции пам ти , поступакнцего с выхода блока 2When the microcommand Y is executed, information is read from one of the blocks 9, the address of which determines the empty bus and enters from the second output of block 2 through the switch 7 to the inputs of blocks 9; write to the register 8 of the read information supplied by the input of the register 8 and the address of the free memory section received from the output of block 2

через коммутатор 7 на вход регист- ра 8. Одновременно с этим осуществл - етс  считывание информации из одного из блоков 10, адрес которого пред- through the switch 7 to the input of the register 8. At the same time, the information from one of the blocks 10, whose address is transmitted, is read

через коммутатор 7 на вход регист- ра 8. Одновременно с этим осуществл  етс  считывание информации из одного из блоков 10, адрес которого пред- through the switch 7 to the input of the register 8. At the same time, information is read from one of the blocks 10, whose address is

ставл ет собой адрес освободившейс  секции пам ти и подаетс  с выходаIt is the address of the free section of the memory and is output from the output.

блока 2 через коммутатор 7 на входы этих блоков.block 2 through the switch 7 to the inputs of these blocks.

При выполнении микрокоманды Y ,н« вход коммутатора 7 подаетс  сигнал Y,. Если в результате реализации этой микрокоманды на вход автомата 1 сигнал Х о наличии запроса к освободившейс  шине не поступит с первого выхода одного из блоков 9, то автомат 1 переходит в состо ние а,д , формиру  следующие сигналы: ,„ - запись адреса освободившейс  шины в блок 5; Y - запись нул  в блок 4.When the microcommand Y is executed, the input switch 7 is given a signal Y ,. If, as a result of the implementation of this microcommand, the signal X on the availability of the request for the empty bus does not arrive at the input of the automaton 1 from the first output of one of the blocks 9, then the automaton 1 goes to the a, d state and generates the following signals: in block 5; Y - write zero to block 4.

При выполнении микрооперации Y, осуществл етс  запись адреса освободившейс  шины, поступающего непосредственно с выхода блока 2 на вход блр- ка 5.When performing a micro-operation Y, the address of the released bus is entered, which comes directly from the output of block 2 to the input of block 5.

При выполнении микрооперации Y происходит запись нул  в ту  чейку блока 4, адрес которой поступает с выхода блока 2 через коммутатор 7 (при наличии на его входе сигнала Yfp) на вход блока 4. Если после выполнени  микрокоманды Y,o , Y на вход автомата 1 поступает сигнал X, с выхода блока 2, то автомат 1 переходитWhen performing a micro-operation Y, zero is written into that cell of block 4, whose address comes from the output of block 2 through switch 7 (if there is a Yfp signal at its input) to the input of block 4. If after executing the microcommand Y, o, Y to the input of the automaton 1 signal X arrives from the output of block 2, then the automaton 1 passes

в состо ние аto state

в )at )

вырабатыва  сигналgenerating a signal

считывани  информации Yj из блока 2. Если же сигнал X,0, то арбитром выполн ютс  все действи , аналогичные тем, что и в случае, когда арбитр завершил выполнение одной из микрокоманд Y, , Y4 , Yj , или Y, , Y, , ffreading information Yj from block 2. If the signal is X, 0, then the arbiter performs all actions similar to those in the case when the arbitrator has completed execution of one of the microcommands Y,, Y4, Yj, or Y,, Y,, ff

или Yor y

8eight

7  7

И наAnd on

входе автоматаthe entrance of the machine

1 one

отсутствует сигнал ХзЕсли после выполнени  микрокоманды Y на вход автомата 1 с выхода одного иэ блоков 9 и одного из блоков 10 соответственно поступ т сигналы Х- и Х о наличии запросов к освободившейс  шине и секции пам ти , то автомат 1 переходит в состо ние а,, , выдава  сигнал Yj дл  передачи информации Agp. , Ад; , ре гистра 8 на вход коммутатора общих ресурсов с процессорами. При поступлнии на вход автомата 1 сигналов If there is no X3 signal, after the execution of the microcommand Y, the input of the automaton 1 from the output of one of its blocks 9 and one of the blocks 10, respectively, receives signals X- and X on the presence of requests to the empty bus and memory section, the automaton 1 goes into state a , issuing a signal Yj for transmitting Agp information. Hell; , register 8 to the input of the shared resources switch with processors. At arrival at the input of the automaton 1 signal

.и X, 0, то он переходит в состо ние а. , формиру  сигналы:.and x, 0, then it goes to state a. I will form signals:

YJ пере50YJ re50

дача информации из регистра 8 о разрешении зан ти  требуемых общих ресурсов запрашивающим процессором; Yy запись нул  в блок 4.giving information from register 8 about the permission to use the requested resources by the requesting processor; Yy write zero in block 4.

5555

При вьтолнении микрооперации Y7 происходит запись нул  в ту  чейку блока 4, адрес которой поступает с выхода блока 2 через коммутатор 7When the micro-operation Y7 is executed, the zero is written into that cell of block 4, the address of which comes from the output of block 2 through the switch 7

544948544948

(при наличии на его входах сигналов Yg, Yy) на вход блока 4.(if at its inputs signals Yg, Yy) to the input of block 4.

После выполнени  микрокоманды YAfter performing the microcommand Y

гg

или Yg, Yj арбитр выполн ет все те же 5 действи , что и -после реализации микрокоманды Y(o , Y7. Если автомат 1 находитс  в состо нии а, и поступил сигнал X,, соответствующий освобождению общих ресурсов с выхода бло- 10 ка 2, то автомат 1 переходит в состо ние ag, выдава  сигнал считывани  информации Yj из блока 2. Далее работа арбитра циклически повтор етс .or Yg, Yj, the arbiter performs all the same 5 actions as after the implementation of the microcommand Y (o, Y7. If the automaton 1 is in state a, and the signal X is received, corresponding to the release of common resources from the output of the block 2, the automaton 1 enters state ag, issuing a readout signal Yj from block 2. Next, the operation of the arbitrator is repeated cyclically.

--

)  )

1515

2020

2525

30thirty

3535

5050

5555

Claims (1)

Формула изобретени Invention Formula Арбитр мультипроцессорной системы, содержащий блок пам ти состо ни  и микропрограммный автомат, отличающийс  тем, что, с целью увеличени  производительности при поступлении запросов общих ресурсов, он содержит счетчик, коммутатор адресов , регистр, три блока стековой пам ти и две группы блоков стековой пам ти, при этом информационные входы коммутатора адресов с первого по седьмой соединены соответственно с информационным выходом блока пам ти состо ни , первым и вторым информационными выходами первого блока стековой пам ти, первым и вторым ин- . формационными выходами второго блока стековой пам ти, первым информационным выходом третьего блока стековой пам ти и выходом счетчика, входы микропрограммного автомата с первого по седьмой подключены соответственно к выходу указател  первого блока стековой пам ти, выходу признака второго блока стековой пам ти, выходу признака блока пам ти состо ни , выходу при- знака третьего блока стековой пам ти, выходу признака Первого блока стековой пам ти, выходам признака блоков стековой пам ти первой группы и выходам признака блоков стековой пам ти второй: группы, выход микропрограммного автомата с первого по дес тый соединены соответственно с. синхровходом второго блока стековой пам ти и . . управл ющими входами коммутатора адресов с первого по дев тый, адресные входы первого и второго блоков стековой пам ти подключены к адресному входу арбитра, синхровход первого блока стековой пам ти соединен с п тым выходом микропрограммного автомата , первый и второй информационныеThe multiprocessor system arbitrator containing a state storage unit and a firmware machine, characterized in that, in order to increase performance when receiving requests for common resources, it contains a counter, an address switch, a register, three stack memory units and two groups of stack storage units , wherein the information inputs of the first to seventh address switch are connected respectively to the information output of the state storage unit, the first and second information outputs of the first stack storage unit, the first and second in-. formation outputs of the second stack memory unit, first information output of the third stack memory unit and counter output, inputs of the first through seventh microprogram automat are connected respectively to the output of the pointer of the first stack memory unit, output of the second stack unit memory, output of the memory block sign state, the output of the sign of the third block of stack memory, the output of the sign of the first block of stack memory, the outputs of the sign of blocks of stack memory of the first group and the outputs of the sign of stack blocks second memory: group, the output of the firmware automaton from the first to the tenth are connected respectively with. sync-input of the second stack storage unit and. . the control inputs of the first to ninth address switch; the address inputs of the first and second stack memory units are connected to the address input of the arbiter; the synchronous input of the first stack memory unit is connected to the fifth output of the microprogram automat; входы, первый, второй и третий син- хровходы и выход регистра подключены соответственно к второму информационному выходу третьего блока стековой пам ти, информационным выходам блоков стековой пам ти первой группы, шестому, восьмому и дев тому выходам микропрограммного автомата и выходу арбитра, информационные выходы коммутатора адресов с первого по п тый соединены соответственно с первЫм и вторым адресными входами блока пам ти состо ни , входом счетчика, вторым информационным входом регистра и адресными входами блоков стековой пам ти второй группы, кроме того, второй информационный выход коммутатора адресов подключен к второму информационному выходу третьего блока стековой пам ти и первым адресным входам блоков стековой пам ти первой группы, вторые адресные входы, вхо12inputs, first, second and third sync inputs and register output are connected respectively to the second information output of the third stack memory block, information outputs of the stack storages of the first group, sixth, eighth and ninth outputs of the microprogram automator and the arbiter output, information outputs of the switch addresses one to five are connected respectively to the first and second address inputs of the state storage unit, the counter input, the second information input of the register and the address inputs of the stack stack units ty of the second group, moreover, the second address information output switch connected to the second data output of the third block of stack memory address inputs and a first stack memory blocks ti of the first group, the second address inputs, vho12 етЛв/тма сто  Уу Уу стекetlv / tma hundred uu uu stack 12544941254494 10ten ды разрешени  обращени  и синхровхо- ды которых соединены соответственно с первым информа ионным выходом второго блока стековой пам ти, третьим и дев тым выходами микропрограммного автомата; синхровход и вход разрешени  обращени , блока пам ти состо ни  подключены соответственно к второму и седьмому выходам микропрограммного автомата, адресный вход, синхровход и вход разрешени  обращени  третьего блока стековой пам ти соединены соответственно с вторым информационным выходом первого блокаcircuits of resolution and synchronization of which are connected respectively with the first information ion output of the second stack memory unit, the third and ninth outputs of the microprogram automat; sync-input and access enable input, state memory unit are connected to the second and seventh outputs of the microprogram automat, the address input, sync input and access enable input of the third stack memory unit are connected respectively to the second information output of the first block стековой пам ти, шестым и дес тым выходами микропрограммного автомата, а входы разрешени  обращени  и син- хровходы блоков стековой пам ти второй группы подключены соответственно к четвертому и дев тому выходом микропрограмного автомата.the stack memory, the sixth and tenth outputs of the microprogram automat, and the access enable inputs and sync inputs of the stack units of the second group are connected respectively to the fourth and ninth outputs of the microprogram automat. ()-u {v()-e} сте i cfne/f() -u {v () - e} ste i cfne / f OfOf CfjCfj У маЗAt MAZ -. a , i( 47-. a, i (47 ss 22 33 , , тt - Ha7 ffffSfy- Ha7 ffffSfy UsUs 5656 Q4Q4 5757 « 5" five 6666 i/si / s 5656 asas ,,,, ff .rff .r V 7V 7 6767 Lf4tLf4t SS 5five -- 6O 77 SS 5/five/ 6262 6S6s 66 0909 аюayu О //ABOUT // гg ././ 6,7 6.7 с -52from -52 Фиг. 4FIG. four .d.d С y arjcvne/7f с/тге аС y arjcvne / 7f with / тг а CmeiroSaffi /геемлтьCmeiroSaffi / Geamt f7f /7/ fff J7i От л/уоцеес.f7f / 7 / fff J7i From l / w. Фиг.бFig.b У5Y5 C/TfSA-ofaurC / TfSA-ofaur C,yfa3a/r &f7jf с/7ге з a ajre/за /T/K/oflcf/ffe/T ffcC, yfa3a / r & f7jf with / 7ge z a ajre / per / T / K / oflcf / ffe / T ffc х x Фиг. 7FIG. 7
SU843781940A 1984-08-14 1984-08-14 Arbitrator of multiprocessor system SU1254494A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU843781940A SU1254494A1 (en) 1984-08-14 1984-08-14 Arbitrator of multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU843781940A SU1254494A1 (en) 1984-08-14 1984-08-14 Arbitrator of multiprocessor system

Publications (1)

Publication Number Publication Date
SU1254494A1 true SU1254494A1 (en) 1986-08-30

Family

ID=21135206

Family Applications (1)

Application Number Title Priority Date Filing Date
SU843781940A SU1254494A1 (en) 1984-08-14 1984-08-14 Arbitrator of multiprocessor system

Country Status (1)

Country Link
SU (1) SU1254494A1 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Патент US 4237534, кл. G 06 F 9/46, G 06 F 11/00, 1980. Lang Т.Valero М. M-users B-ser- vers arbiter for multiple-busses multiprocessors. Microprocessing and microprogramming, 1982, v. 10, p. 11-18 *

Similar Documents

Publication Publication Date Title
US4412286A (en) Tightly coupled multiple instruction multiple data computer system
KR920006858A (en) Method and device for optimizing bus arbitration during direct memory access data transmission
SU1254494A1 (en) Arbitrator of multiprocessor system
SU734654A1 (en) Interface for computer
SU1418722A1 (en) Device for controlling access to common storage
JPH07319829A (en) Method for transferring data
SU1621037A1 (en) Device for controlling data exchange between computer and groups of users
SU1399750A1 (en) Device for interfacing two digital computers with common storage
SU924694A1 (en) Communication device for computing system
SU1136159A1 (en) Device for control of distributed computer system
SU1508228A1 (en) Device for shaping message route in homogeneous computing system
SU1418740A1 (en) Device for simulating mass service systems
SU1001070A1 (en) System for exchange of data between information processors
SU1702381A1 (en) Intercomputer data exchange device
SU802957A1 (en) Communication system for computing system
SU962901A2 (en) Device for exchange of information
SU1758647A1 (en) Device for interfacing two processors via common memory
SU898412A1 (en) Multi-channel device for processor module interfacing
SU1656533A1 (en) Requests management system
SU1144109A1 (en) Device for polling information channels
SU1123055A1 (en) Address unit for storage
SU1008743A1 (en) Fifo-type request servicing device
SU935942A1 (en) Apparatus for interfacing computers
SU552604A1 (en) Channel Coupler
SU1325477A1 (en) Microprogram device for controlling exchange of controlling information in distribution system