RU2688236C1 - Device for counting minimum intensity of placement in multiprocessor cubic cyclic systems in unidirectional transmission of information - Google Patents

Device for counting minimum intensity of placement in multiprocessor cubic cyclic systems in unidirectional transmission of information Download PDF

Info

Publication number
RU2688236C1
RU2688236C1 RU2018120597A RU2018120597A RU2688236C1 RU 2688236 C1 RU2688236 C1 RU 2688236C1 RU 2018120597 A RU2018120597 A RU 2018120597A RU 2018120597 A RU2018120597 A RU 2018120597A RU 2688236 C1 RU2688236 C1 RU 2688236C1
Authority
RU
Russia
Prior art keywords
input
output
counter
arc
register
Prior art date
Application number
RU2018120597A
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 RU2018120597A priority Critical patent/RU2688236C1/en
Application granted granted Critical
Publication of RU2688236C1 publication Critical patent/RU2688236C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/18Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Geometry (AREA)
  • Computational Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Algebra (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)

Abstract

FIELD: physics.
SUBSTANCE: invention relates to digital computer engineering and is intended for simulating combinatorial tasks when designing computer systems. Device comprising a first and a second shift register, a permutation generating unit, a persistent memory unit, a best version storage unit, a switch, an ALU, an arc selection decoder, a reversible cell counter, a random-access memory unit, a topology counter, first and second distance meters, a multiplier, an adder, minimum link length register, a first comparison element, a subtractor, triggers for counting start, a topology setting mode and a link length register, a second comparison element, an arcs counter, arc lock decoder, arc number register, minimum weight register, graph electronic model, group of 1..n OR elements, group 1..m of AND elements, a minimum value unit containing the first RAM of circular cyclic system, RAM of cyclic fragment, SR mode trigger, multiplier, distance counter, subtracting counter.
EFFECT: wider range of technical means.
1 cl, 10 dwg

Description

Изобретение относится к области цифровой вычислительной техники и предназначено для моделирования комбинаторных задач при проектировании вычислительных систем (ВС).The invention relates to the field of digital computing and is intended for modeling combinatorial problems in the design of computing systems (VS).

Известен элемент однородной среды, включающий блок обработки входных сигналов, блок запоминания признака конечной точки, блок выходной логики, триггер записи трасс, блок оценки текущего размещения, блок передачи информации, входы, выходы, управляющий вход, информационные входы, информационные выходы, индикаторный выход (а.с. 1291957 СССР кл. G 06 F 7/00, опубл. 23.02.87, БИ №7).A homogeneous environment element is known, which includes an input signal processing unit, an end point feature memorization unit, an output logic block, a trace recording trigger, a current allocation estimation unit, an information transfer unit, inputs, outputs, a control input, information inputs, information outputs, an indicator output ( AS 1291957 USSR CL G 06 F 7/00, published 23.02.87, BI No. 7).

Недостатком указанного элемента является узкая область применения, обусловленная ограниченным числом критериев оценки степени оптимальности размещения.The disadvantage of this element is the narrow scope, due to the limited number of criteria for assessing the degree of optimality of placement.

Наиболее близкой к предлагаемому устройству по технической сущности является устройство для формирования субоптимального размещения и его оценки, содержащая блок формирования перестановок, блок постоянной памяти, коммутатор, арифметико-логическое устройство (АЛУ), блок запоминания лучшего варианта, введены дешифратор выбора дуги, реверсивный счетчик ячеек, блок оперативной памяти, счетчик топологии, первый и второй счетчики расстояний, умножитель, сумматор, регистр минимальной длины связей, первый элемент сравнения, вычитатель, триггер начала счета, триггер режима, триггер задания топологии, регистр длины связей, второй элемент сравнения, счетчик дуг, дешифратор блокировки дуги, регистр номера дуги, регистр минимального веса, группа элементов И, первый и второй элементы И, второй блок элементов ИЛИ, третий элемент И, первый и второй одновибраторы, первый, второй и третий элементы задержки, два регистра сдвига, элемент ИЛИ и группу элементов ИЛИ, электронную модель графа (ЭМГ) содержащую m электронных моделей дуги, причем l-я электронная модель дуги (l = 1, 2, …, m) содержит триггер блокировки дуги, регистр веса дуги, регистр блокировки дуги, первый элемент И, второй элемент И, элемент ИЛИ (Патент РФ №2193796, кл. G 06 F 17/10, 7/38, опубл. 27.11.2002, БИ №33).Closest to the proposed device to the technical essence is a device for the formation of suboptimal placement and its evaluation, which contains the permutation formation unit, the permanent memory block, the switch, the arithmetic logic unit (ALU), the best memory block, the arc selector decoder, the reversible cell counter are entered , memory block, topology counter, first and second distance counters, multiplier, adder, register of the minimum length of links, first comparison element, subtractor, trigger ep account start, mode trigger, topology set trigger, link length register, second comparison element, arc counter, arc lock decoder, arc number register, minimum weight register, AND group, first and second AND elements, second block of OR elements, third AND element, first and second one-shot, first, second and third delay elements, two shift registers, OR element and group of OR elements, electronic graph model (EMG) containing m electronic arc models, with l-th electronic arc model (l = 1 , 2, ..., m) contains trig ep arc lock register arc weights arc lock register, a first AND gate, a second AND gate, an OR gate (RF Patent №2193796, Cl. G 06 F 17/10, 7/38, publ. November 27, 2002, BI No. 33).

Недостатком указанного устройства является узкая область применения, обусловленная отсутствием средств для подсчета минимального значения интенсивности размещения в многопроцессорных кубических циклических системах (КЦС) при однонаправленной передаче информации.The disadvantage of this device is the narrow scope, due to the lack of funds for calculating the minimum value of the intensity of accommodation in multiprocessor cubic cyclic systems (MCC) with the unidirectional transmission of information.

Технической задачей изобретения является расширение области применения устройства за счет введения средств для подсчета минимального значения интенсивности размещения в многопроцессорных кубических циклических системах при однонаправленной передаче информации по критерию минимизации интенсивности взаимодействия процессов и данных.An object of the invention is to expand the scope of the device by introducing funds to calculate the minimum value of the intensity of accommodation in multiprocessor cubic cyclic systems with unidirectional transmission of information according to the criterion of minimizing the intensity of interaction between processes and data.

Техническая задача решается тем, что в устройство для подсчета минимального значения интенсивности размещения в многопроцессорных кубических циклических системах при однонаправленной передаче информации, содержащее матрицу из m строк и n столбцов элементов однородной среды, n блоков подсчета единиц, блок нахождения максимума, сумматор, блок памяти, причем входы управления перестановкой столбцов матрицы элементов однородной среды соединены с входом управления перестановкой столбцов устройства, входы управления перестановкой строк матрицы элементов однородной среды соединены с входом управления перестановкой строк устройства, входы установки матрицы элементов однородной среды соединены с входом установки устройства, информационные входы матрицы элементов однородной среды соединены с входом записи устройства, индикаторные выходы элементов j-го столбца (j = 1,2, …, n) матрицы элементов однородной среды соединены с входом j-го блока подсчета единиц, выход которого соединен с j-м входом блока нахождения максимума и j-м входом сумматора, выходы которых соединены с выходом максимальной длины ребра устройства и выходом суммарной длины ребер устройства соответственно, вход управления записью блока памяти соединен с входом управления записью устройства, информационные выходы элементов i-й строки (i = 1,2, …, m) матрицы элементов однородной среды соединены с i-м информационным входом блока памяти, выход которого соединен с информационным выходом устройства, дополнительно введен блок минимального значения, содержащее первое ОЗУ кольцевой циклической системы, ОЗУ циклического фрагмента, первый счетчик столбцов, второй счетчик столбцов, первый счетчик строк, второй счетчик столбцов, сумматор минимального значения, первый элемент И, второе ОЗУ кольцевой циклической системы, третий счетчик столбцов матрицы смежности, второй счетчик строк, первый и второй счетчик количества строк, счетчик количества циклических участков, SR-триггер режима, второй элемент И, умножитель, счетчик расстояний, вычитающий счетчик, причем выход блока оперативной памяти соединен с первым входом второго элемента И, второй вход которого подсоединен к выходу переполнения первого счетчика количества строк, второму входу первого 66 элемента И и к е-входу счетчика количества циклических участков, счетный вход которого подключен к выходу переполнения второго счетчика столбцов, е-вход которого соединен с выходом первого элемента И и к е-входу второго счетчика столбцов, выход переполнения которого подключен к счетному входу второго счетчика столбцов, выход которого соединен с а1-входом ОЗУ циклического фрагмента, а2-вход которого, подключен к выходу второго счетчика столбцов, счетный вход которого подсоединен к тактовому входу устройства, счетный вход счетчика расстояний подключен к тактовому входу устройства, выход счетчика расстояний соединен с первым входом умножителя и со счетным входом вычитающего счетчика, выход переполнения которого соединен с s-входом счетчика расстояний, второй вход умножителя соединен с выходом блока оперативной памяти, выход второго элемента И соединен с S-входом SR-триггера режима, R-вход которого подключен к выходу переполнения второго счетчика количества строк, счетный вход которого подключен к выходу переполнения первого счетчика столбцов, е-вход которого соединен с прямым выходом SR-триггер режима, обратный выход которого подключен к е-входу третьего счетчика столбцов, счетный вход которого подключен к тактовому входу устройства, сетному входу счетчика первого счетчика столбцов и к s-входам первого ОЗУ кольцевой циклической системы и второго ОЗУ кольцевой циклической системы, D-вход которого соединен с выходом умножителя и с D-входом первого ОЗУ кольцевой циклической системы, а1-вход которого соединен с выходом первого счетчика строк, а2-вход первого ОЗУ кольцевой циклической системы подключен к выходу первого счетчика столбцов, а1-вход второго ОЗУ кольцевой циклической системы подключен к выходу второго счетчика строк, счетный вход которого соединен с выходом первого счетчика количества строк, D-вход ОЗУ циклического фрагмента подсоединен к выходу блока оперативной памяти, выход ОЗУ циклического фрагмента соединен с первым входом сумматора, второй и третий входу сумматора подключены к выходам первого ОЗУ кольцевой циклической системы и второго ОЗУ кольцевой циклической системы, выход сумматора подключен к выходу ВУУ, где происходит принятие решения о дальнейших действиях многопроцессорной кубической циклической системы, выход переполнения счетчика количества циклических участков соединен с выходом переполнения устройства.The technical problem is solved by the fact that in a device for calculating the minimum value of the intensity of placement in multiprocessor cubic cyclic systems with unidirectional information transfer, containing a matrix of m rows and n columns of elements of a homogeneous medium, n units of counting units, the unit finding the maximum, adder, memory block, wherein the permutation control inputs of the columns of the matrix of elements of a homogeneous medium are connected to the permutation control input of the device columns, the row permutation control inputs are ma the trinkets of the homogeneous environment elements are connected to the control input of the permutation of the device rows, the installation inputs of the matrix of the homogeneous environment elements are connected to the installation input of the device, the information inputs of the matrix of the homogeneous environment elements are connected to the device recording input, the indicator outputs of the j-th column (j = 1,2, ..., n) matrices of elements of a homogeneous medium are connected to the input of the jth unit counting unit, the output of which is connected to the jth input of the maximum finding block and the jth input of the adder, the outputs of which are connected to the output of ma xmaximal length of the device edge and the output of the total length of the device edges, respectively, the control input of the memory block is connected to the control input of the device, the information outputs of the i-th row elements (i = 1,2, ..., m) of the matrix of homogeneous environment elements are connected to i- The information input of the memory block, the output of which is connected to the information output of the device, is additionally introduced a minimum value block containing the first RAM of the ring cyclic system, the RAM of the cyclic fragment, the first column counter, second swarm column counter, first row counter, second column counter, minimum value adder, first AND element, second ring cyclic system RAM, third column of adjacency matrix columns, second row counter, first and second row number counter, count of cyclic sections, SR- trigger mode, the second element And, the multiplier, the distance counter, subtractive counter, and the output of the RAM block is connected to the first input of the second element And the second input of which is connected to the overflow output of the first the count of the number of rows, the second input of the first 66 element I and to the e-input of the counter of the number of cyclic sections, the counting input of which is connected to the overflow output of the second column counter, the e-input of which is connected to the output of the first And element and to the e-input of the second column counter, the overflow output of which is connected to the counting input of the second column counter, the output of which is connected to the a1 input of a cyclic fragment RAM, a2-input of which is connected to the output of the second column counter whose counting input is connected to cycles At the device input, the counting input of the distance counter is connected to the clock input of the device, the output of the distance counter is connected to the first input of the multiplier and the counting input of the subtracting counter, the overflow output of which is connected to the s-input of the distance counter, the second input of the multiplier is connected to the output of the operating memory, the output of the second element And is connected to the S-input of the SR-mode trigger, the R-input of which is connected to the overflow output of the second counter of the number of rows, the counting input of which is connected to the overflow output of the first column counter, the e-input of which is connected to the direct output SR-mode trigger, the reverse output of which is connected to the e-input of the third column counter, the counting input of which is connected to the device’s clock input, the network input of the first column counter and the s-inputs of the first column counter The RAM of the ring cyclic system and the second RAM of the ring cyclic system, the D input of which is connected to the output of the multiplier and the D input of the first RAM of the ring cyclic system, a1 input of which is connected to the output of the first row counter, a2 input of the first RAM ring cyclic system is connected to the output of the first column counter, a1 input of the second RAM of the ring cyclic system is connected to the output of the second row counter, the counting input of which is connected to the output of the first row number counter, D-input of the cyclic fragment RAM, connected to the output of the memory block, output The RAM of the fragment is connected to the first input of the adder, the second and third inputs of the adder are connected to the outputs of the first RAM of the ring cyclic system and the second RAM of the ring cyclic system, output The adder is connected to the output of the VUU, where a decision is made on further actions of the multiprocessor cubic cyclic system, the output of the overflow of the counter of the number of cyclic sections is connected to the output of the overflow of the device.

Устройство по п.1, отличающееся тем, что электронная модель графа содержит m электронных моделей дуги, причем l-я электронная модель дуги (l = 1, 2, …, m) содержит триггер блокировки дуги, регистр веса дуги, регистр блокировки дуги, первый элемент И, второй элемент И, элемент ИЛИ, причем входы первого элемента И соединены с соответствующими входами задания графа устройства, выход первого элемента И соединен с синхровходом регистра веса дуги и с установочным входом триггера блокировки дуги, вход сброса которого соединен с l-м входом блокировки дуги электронной модели графа, вход данных регистра веса дуги соединен с l-м входом веса дуги устройства, первый вход элемента ИЛИ соединен с l-м управляющим входом электронной модели графа, а второй вход элемента ИЛИ соединен с выходом второго элемента И, первый вход которого соединен с прямым выходом триггера блокировки дуги и с разрешающим входом регистра блокировки дуги, второй вход второго элемента И соединен с l-м входом выбора дуги электронной модели графа, вход сброса регистра блокировки дуги соединен с l-м входом сброса устройства, выход регистра блокировки дуги соединен с l-м выходом веса дуги электронной модели графа, который также соединен с выходом регистра веса дуги, выход элемента ИЛИ подключен к разрешающему входу регистра веса дуги.The device according to claim 1, characterized in that the electronic model of the graph contains m electronic models of the arc, and the lth electronic model of the arc (l = 1, 2, ..., m) contains the arc lock trigger, the arc weight register, the arc lock register, the first element is AND, the second element is AND, the element is OR, and the inputs of the first element are AND are connected to the corresponding inputs of the device graph, the output of the first element is AND is connected to the synchronous input of the arc weight register and to the installation input of the arc lock trigger, the reset input of which is connected to the lth arc lock input the electronic model of the graph, the data input of the arc weight register is connected to the lth input of the arc weight of the device, the first input of the OR element is connected to the lth control input of the electronic graph model, and the second input of the OR element is connected to the output of the second AND element, the first input of which is connected with the direct output of the arc lock trigger and with the enable input of the arc lock register, the second input of the second element I is connected to the lth arc selection input of the electronic model of the graph, the reset input of the arc lock register is connected to the lth device reset input, output the arc lock register is connected to the lth arc weight output of the electronic model of the graph, which is also connected to the arc weight register output; the OR element output is connected to the enable input of the arc weight register.

Сущность изобретения поясняется чертежами, где на фиг. 1 показан пример исходного графа задачи; фиг. 2 показывает пример описания матрицы смежности графа, показанного на фиг 1; на фиг. 2 показана матрица смежности W кольцевой кубической системы, соответствующая графу, представленному на фиг.1; на фиг. 3 представлена матрица расстояний для кольцевой кубической системы, состоящей из шести процессоров; фиг 4 показывает пример многопроцессорной кубической циклической системы; фиг. 5 представляет циклический вариант представления кубической циклической многопроцессорной системы; фиг. 6 описывает матрицу смежности для циклического фрагмента, представленного на фиг. 5; фиг. 7. показывает матрицу расстояний для циклического фрагмента, представленного на фиг. 5; на фиг. 8, фиг. 9 и фиг. 10 представляют устройство для подсчета минимального значения интенсивности размещения в многопроцессорных кубических циклических системах.The invention is illustrated by drawings, where in FIG. 1 shows an example of the original task graph; FIG. 2 shows an example of the description of the adjacency matrix of the graph shown in FIG. 1; in fig. 2 shows the adjacency matrix W of a ring cubic system, corresponding to the graph shown in FIG. in fig. 3 shows the distance matrix for a ring cubic system consisting of six processors; Fig 4 shows an example of a multiprocessor cubic cyclic system; FIG. 5 represents a cyclic representation of a cubic cyclic multiprocessor system; FIG. 6 describes the adjacency matrix for the cyclic fragment shown in FIG. five; FIG. 7. Shows the distance matrix for the cyclic fragment shown in FIG. five; in fig. 8, fig. 9 and FIG. 10 represents a device for calculating the minimum value of the intensity of placement in multiprocessor cubic cyclic systems.

Общие особенности изобретения состоят в следующем.General features of the invention are as follows.

Предлагаемое устройство может использоваться в области проектирования ВC, например, при размещении процессов (алгоритмов, задач, данных, файлов и т.п.). Устройство дополнительно позволяет выполнять подсчет минимальное значение интенсивности размещения в многопроцессорных кубических циклических системах.The proposed device can be used in the field of VC design, for example, when placing processes (algorithms, tasks, data, files, etc.). The device additionally allows you to perform the calculation of the minimum value of the intensity of placement in multiprocessor cubic cyclic systems.

Исходная задача (процесс, алгоритм, программа) представляется в виде направленного взвешенного графа G=<Х,E> (фиг. 1), вершины

Figure 00000001
которого соответствуют подзадачам (подалгоритмам, подпрограммам и т.п.), а дуги
Figure 00000002
задают управляющие и/или информационные связи между подзадачами и фактически являются каналами передачи данных. Граф G может быть описан матрицей смежности
Figure 00000003
, где
Figure 00000004
;
Figure 00000005
– объем передаваемых данных между i-м и j-м процессорным модулем (фиг. 2).The initial task (process, algorithm, program) is represented as a directional weighted graph G = <X, E> (Fig. 1), the vertices
Figure 00000001
which correspond to subtasks (subalgorithms, subroutines, etc.), and arcs
Figure 00000002
specify control and / or informational connections between subtasks and actually are data transfer channels. The graph G can be described by the adjacency matrix.
Figure 00000003
where
Figure 00000004
;
Figure 00000005
- the amount of data transferred between the i-th and j-th processor module (Fig. 2).

Топологическая модель КЦС (область размещения) задается матрицей расстояний D1. Элементы матрицы расстояний D1 = ||d1i,j||n×n для кубической системы образуются по формуле

Figure 00000006
(фиг. 3)The topological model of MCC (location) is defined by the distance matrix D1. The elements of the distance matrix D1 = || d1 i, j || n × n for a cubic system are formed by the formula
Figure 00000006
(Fig. 3)

Кубическая циклическая система (фиг. 4) представляет собой булев куб (q=2) размерности d, каждая из

Figure 00000007
вершин которого вместо одного элемента, что характерно для полного гиперкуба, представляется циклом из d связанных вершин. Каждый из элементов в таком цикле имеет по три двунаправленных канала связи, два из которых подключено к соседним элементам, принадлежащим общему с данным элементом циклу, а третий канал пересекает гиперкуб в одном из d измерений и соединяет рассматриваемый элемент с соответствующим элементом другого цикла.The cubic cyclic system (FIG. 4) is a Boolean cube (q = 2) of dimension d, each of
Figure 00000007
whose vertices instead of one element, which is typical for a full hypercube, is represented by a cycle of d connected vertices. Each of the elements in such a cycle has three bidirectional communication channels, two of which are connected to neighboring elements belonging to the common cycle with this element, and the third channel crosses the hypercube in one of the d dimensions and connects the element in question with the corresponding element of the other cycle.

Для математического описания циклического фрагмента кубической системы (фиг. 5) введем матрицу смежности

Figure 00000008
, где
Figure 00000009
;
Figure 00000010
– объем передаваемых данных между i-м и j-м процессорным модулем (фиг. 6). Топологическая модель цикла описывается матрицей расстояний
Figure 00000011
для кубической системы образуются по формуле
Figure 00000012
(фиг. 7). На фиг. 5, 6 и 7 представлена матрица смежности и матрица расстояний, не соответствующая графу, изображенному на фигурах 1-3. Это сделано для общего понимания сути циклического фрагмента КЦС.For the mathematical description of the cyclic fragment of the cubic system (Fig. 5), we introduce the adjacency matrix
Figure 00000008
where
Figure 00000009
;
Figure 00000010
- the amount of data transferred between the i-th and j-th processor module (Fig. 6). The topological model of a cycle is described by a distance matrix.
Figure 00000011
for a cubic system are formed by the formula
Figure 00000012
(Fig. 7). FIG. Figures 5, 6 and 7 show the adjacency matrix and the distance matrix not corresponding to the graph shown in Figures 1-3. This is done for a general understanding of the essence of the cyclic fragment of MCC.

Топология КЦС задается графом

Figure 00000013
, где множество вершин
Figure 00000014
соответствует процессорным модулям, а множество дуг V – межмодульным связям,
Figure 00000015
Множество
Figure 00000016
разбивается на два непересекающихся подмножества
Figure 00000017
, где
Figure 00000018
– множество основных процессоров,
Figure 00000019
– множество циклических фрагментов кубической системы, причем фиксируется
Figure 00000020
Упорядочим множества процессоров P и L в виде матриц
Figure 00000021
и
Figure 00000022
соответственно. Множество
Figure 00000014
представим объединением указанных матриц следующим образом:The MCC topology is given by the graph
Figure 00000013
where many vertices
Figure 00000014
corresponds to the processor modules, and the set of arcs V - intermodular connections,
Figure 00000015
Lots of
Figure 00000016
broken into two disjoint subsets
Figure 00000017
where
Figure 00000018
- many main processors,
Figure 00000019
- the set of cyclic fragments of the cubic system, and fixed
Figure 00000020
Order the sets of processors P and L in the form of matrices
Figure 00000021
and
Figure 00000022
respectively. Lots of
Figure 00000014
Let us represent the union of these matrices as follows:

Figure 00000023
(1)
Figure 00000023
(one)

Таким образом, из (1) следует, что любой вершине

Figure 00000024
соответствует одна из циклических вершин КЦС.Thus, from (1) it follows that any vertex
Figure 00000024
corresponds to one of the cyclic vertices of the MCC.

Таким образом, согласно (1), размещение множества взаимосвязанных подпрограмм, описываемого графом Х, в многопроцессорных кубических циклических системах задается отображением:Thus, according to (1), the placement of the set of interrelated subroutines described by the graph X in multiprocessor cubic cyclic systems is given by the mapping:

Figure 00000025
, (2)
Figure 00000025
, (2)

которое ставит в соответствие каждой подпрограмме один из процессоров (основной либо процессор циклического фрагмента КЦС).which assigns to each subprogram one of the processors (the main processor or the cyclic fragment processor MCC).

Минимально значение интенсивности размещения L* независимо от топологической модели определяется по формуле: The minimum value of the intensity of accommodation L * regardless of the topological model is determined by the formula:

Figure 00000026
,
Figure 00000026
, (3)(3)

где

Figure 00000027
,
Figure 00000028
– векторы, первый из которых содержит ненулевые элементы матрицы смежности W1, расположенные по убыванию, а второй – ненулевые элементы матрицы расстояний D1, расположенные по возрастанию; k – порядковый номер элемента; t=
Figure 00000029
- мощность множества дуг E (количество дуг). При этом фактическое значение интенсивности размещения всегда либо больше, либо равно L*.где максимум в фигурных скобках представляет собой наибольшую частную коммуникационную задержку для заданного отображения β.Where
Figure 00000027
,
Figure 00000028
- vectors, the first of which contains non-zero elements of the adjacency matrix W1, arranged in descending order, and the second - non-zero elements of the distance matrix D1, arranged in increasing order; k is the ordinal number of the element; t =
Figure 00000029
- the power of the set of arcs E (the number of arcs). At the same time, the actual value of the placement rate is always either greater than or equal to L *. Where the maximum in curly brackets represents the largest private communication delay for a given mapping β.

Интенсивность реального варианта размещения всегда будет либо больше либо меньше величины минимального значения размещения

Figure 00000030
Таким образом предложенный подход является удобным механизмом отслеживания качества получаемых вариантов размещений с последующей их оценкой на ВУУ и принятия решений о дальнейших действиях мультипроцессорной системы.The intensity of the real placement option will always be either more or less than the minimum value of the placement
Figure 00000030
Thus, the proposed approach is a convenient mechanism for tracking the quality of the received placement options with their subsequent evaluation at the VUU and making decisions about further actions of the multiprocessor system.

Устройство для подсчета минимального значения интенсивности размещения в многопроцессорных кубических циклических системах при однонаправленной передаче информации содержит первый регистр 1 сдвига, второй регистр 2 сдвига, блок 3 формирования перестановок (БФП), блок 4 постоянной памяти, блок 5 запоминания лучшего варианта (БЗЛВ), коммутатор 6, АЛУ 7, дешифратор 8 выбора дуги, реверсивный счетчик 9 ячеек, блок 10 оперативной памяти, счетчик 11 топологии, первый 12 и второй 13 счетчики расстояний, умножитель 14, сумматор 15, регистр 16 минимальной длины связей, первый элемент 17 сравнения, вычитатель 18, триггер 19 начала счета, триггер 23 режима, триггер 24 задания топологии, регистр 25 длины связей, второй элемент 26 сравнения, счетчик 27 дуг, дешифратор 28 блокировки дуги, регистр 29 номера дуги, регистр 30 минимального веса, электронную модель 31 графа, группу элементов ИЛИ 32.1 – 32.n, группу элементов И 33.1 – 33.m, первый 34 и второй 35 элементы И, второй блок элементов ИЛИ 36, третий элемент И 37, первый 41 и второй 42 одновибраторы, первый 43, второй 44 и третий 45 элементы задержки, первый блок элементов ИЛИ 46, причем выходы БФП 3 соединены с соответствующими входами блока 4 постоянной памяти и соответствующими входами БЗЛВ 5, сигнализирующий выход БФП 3 соединен с установочным входом триггера 19 начала счета, выходы блока 4 постоянной памяти соединены с соответствующими входами коммутатора 6, выход которого соединен с входом АЛУ 7, выход которого соединен с информационным входом БЗЛВ 5, а выход БЗЛВ 5 соединен с первым информационным входом АЛУ 7, выход переполнения регистра 1 сдвига соединен с входом регистра 2 сдвига, выходы регистров 1 и 2 с первого по n-й подключены к первым и вторым входам элементов ИЛИ 32.1 – 32.n соответственно, выход переполнения регистра 2 сдвига соединен с управляющим входом АЛУ 7 и с управляющим входом БФП 3, тактовый вход 57 устройства соединен с входом регистра 1 сдвига, с тактовым входом БФП 3 и с первыми входами элементов И 34 и 35, выход счетчика 27 дуг соединен с входом дешифратора 8 выбора дуги и входом данных регистра 29 номера дуги, выход блока элементов ИЛИ 36 подключен к первому входу элемента 17 сравнения и к входу данных регистра 30 минимального веса, выход регистра 30 минимального веса соединен с вторым входом элемента 17 сравнения и с входом данных блока 10 оперативной памяти, выход элемента 43 задержки соединен с входом установки регистра 30 минимального веса и с входом установки регистра 29 номера дуги, выход третьего элемента И 37 соединен с синхровходом регистра 30 минимального веса и с синхровходом регистра 29 номера дуги, выход регистра 29 номера дуги соединен с информационным входом дешифратора 28 блокировки дуги, выход переполнения счетчика 27 дуг соединен с разрешающим входом дешифратора 28 блокировки дуги, а также с входом элемента 43 задержки, первым счетным входом реверсивного счетчика 9 ячеек и входом записи блока 10 оперативной памяти, выход элемента И 34 соединен со счетным входом счетчика 27 дуг и со входом элемента 44 задержки, выход которого соединен со вторым входом элемента И 37, первый вход которого соединен с выходом элемента 17 сравнения, второй вход элемента И 34 соединен с прямым выходом триггера 19 начала счета, который также соединен со вторым входом элемента И 35, третий вход элемента И 34 соединен с инверсным выходом триггера 23 режима, прямой выход которого соединен с третьим входом элемента И 35, выход элемента И 35 соединен со вторым счетным входом реверсивного счетчика 9 ячеек, выход которого подключен к адресному входу блока 10 оперативной памяти, выход которого подключен к первому входу умножителя 14, выход счетчика 13 расстояний подключен к второму входу умножителя 14, выход которого подключен к первому входу сумматора 15, второй вход которого подключен к выходу регистра 16 минимальной длины связей и к второму входу вычитателя 18, выход сумматора 15 подключен к входу данных регистра 16 минимальной длины связей, выход элемента 45 задержки подключен к синхровходу регистра 16 минимальной длины связей, выход элемента И 35 и счетный вход счетчика 12 расстояний подключены к входу элемента 45 задержки, выход одновибратора 42 подключен к синхровходу счетчика 12 расстояний, выход переполнения которого подключен к счетным входам счетчика 11 топологии, счетчика 13 расстояний и к входу одновибратора 42, выход счетчика 11 топологии подключен к входу счетчика 12 расстояний, вход 51 данных устройства подключен ко входу данных счетчика 11 топологии, синхровход счетчика 11 топологии подключен к входу 52 установки устройства, прямой выход триггера 24 задания топологии подключен к разрешающему входу счетчика 11 топологии, установочный вход триггера 24 задания топологии подключен к входу 49 установки устройства, вход сброса триггера 24 задания топологии подключен к входу 50 установки устройства, выход переполнения реверсивного счетчика 9 ячеек подключен к установочному входу триггера 23 режима, вход сброса которого подключен к входу 48 установки устройства, выход регистра 25 длины связей подключен ко второму входу элемента 26 сравнения и к первому входу вычитателя 18, первый вход элемента 26 сравнения подключен к выходу АЛУ 7 и входу данных регистра 25 длины связей, выход одновибратора 41 подключен к синхровходу регистра 25 длины связей, вход сброса триггера 19 начала счета подключен к входу 47 установки устройства, l-й выход дешифратора 8 выбора дуги (l = 1, 2, …, m) соединен с l-м входом выбора дуги электронной модели 31 графа, l-й выход дешифратора 28 блокировки дуги соединен с l-м входом блокировки дуги электронной модели 31 графа, l-й выход веса дуги электронной модели 31 графа соединен с l-м входом блока элементов ИЛИ 36 и l-м входом блока элементов ИЛИ 46, выход элемента И 33.l соединен с l-м управляющим входом электронной модели 31 графа, выход блока элементов ИЛИ 46 соединен со вторым информационным входом АЛУ 7, выход элемента 26 сравнения соединен с входом одновибратора 41, выходы элементов ИЛИ 32.1 – 32.n подключены к соответствующим входам элементов И 33.1 – 33.m, выход вычитателя 18 соединен с выходом 53 длины связей устройства, а также дополнительно введенный блок 58 минимального значения, содержащее первое 59 ОЗУ кольцевой циклической системы, ОЗУ 60 циклического фрагмента, первый 61 счетчик столбцов, второй 62 счетчик столбцов, первый 63 счетчик строк, второй 64 счетчик столбцов, сумматор 65 минимального значения, первый 66 элемент И, второе 67 ОЗУ кольцевой циклической системы, третий 68 счетчик столбцов матрицы смежности, второй 69 счетчик строк, первый 70 и второй 71 счетчик количества строк, счетчик 72 количества циклических участков, SR-триггер 74 режима, второй 76 элемент И, умножитель 77, счетчик 78 расстояний, вычитающий 79 счетчик, причем выход блока 10 оперативной памяти соединен с первым входом второго 76 элемента И, второй вход которого подсоединен к выходу переполнения первого 70 счетчика количества строк, второму входу первого 66 элемента И и к е-входу счетчика 72 количества циклических участков, счетный вход которого подключен к выходу переполнения второго 64 счетчика столбцов, е-вход которого соединен с выходом первого 66 элемента И и к е-входу второго 62 счетчика столбцов, выход переполнения которого подключен к счетному входу второго 64 счетчика столбцов, выход которого соединен с а1-входом ОЗУ 60 циклического фрагмента, а2-вход которого, подключен к выходу второго 62 счетчика столбцов, счетный вход которого подсоединен к тактовому 57 входу устройства, счетный вход счетчика 78 расстояний подключен к тактовому 57 входу устройства, выход счетчика 78 расстояний соединен с первым входом умножителя 77 и со счетным входом вычитающего 79 счетчика, выход переполнения которого соединен с s-входом счетчика 78 расстояний, второй вход умножителя 77 соединен с выходом блока 10 оперативной памяти, выход второго 76 элемента И соединен с S-входом SR-триггера 74 режима, R-вход которого подключен к выходу переполнения второго 71 счетчика количества строк, счетный вход которого подключен к выходу переполнения первого 61 счетчика столбцов, е-вход которого соединен с прямым выходом SR-триггер 74 режима, обратный выход которого подключен к е-входу третьего 68 счетчика столбцов, счетный вход которого подключен к тактовому 57 входу устройства, сетному входу счетчика первого 61 счетчика столбцов и к s-входам первого 59 ОЗУ кольцевой циклической системы и второго 67 ОЗУ кольцевой циклической системы, D-вход которого соединен с выходом умножителя 77 и с D-входом первого 59 ОЗУ кольцевой циклической системы, а1-вход которого соединен с выходом первого 63 счетчика строк, а2-вход первого 59 ОЗУ кольцевой циклической системы подключен к выходу первого 61 счетчика столбцов, а1-вход второго 67 ОЗУ кольцевой циклической системы подключен к выходу второго 69 счетчика строк, счетный вход которого соединен с выходом первого 70 счетчика количества строк, D-вход ОЗУ 60 циклического фрагмента подсоединен к выходу блока 10 оперативной памяти, выход ОЗУ 60 циклического фрагмента соединен с первым входом сумматора 65, второй и третий входу сумматора 65 подключены к выходам первого 59 ОЗУ кольцевой циклической системы и второго 67 ОЗУ кольцевой циклической системы, выход сумматора 65 подключен к выходу ВУУ, где происходит принятие решения о дальнейших действиях многопроцессорной кубической циклической системы, выход переполнения счетчика 72 количества циклических участков соединен с выходом 73 переполнения устройства.A device for calculating the minimum value of the intensity of placement in multiprocessor cubic cyclic systems with unidirectional information transfer contains the first shift register 1, the second shift register 2, the permutation generation unit (BFP), the permanent memory unit 4, the best option storage unit 5 (BLU), the switch 6, ALU 7, decoder 8 arc selection, reversible counter 9 cells, unit 10 RAM, counter 11 topology, first 12 and second 13 distance counters, multiplier 14, adder 15, register 16 minimum length Links, first comparison element 17, subtractor 18, counting trigger 19, mode trigger 23, topology setting trigger 24, link length register 25, second comparison element 26, arc counter 27, arc lock decoder 28, arc number register 29, register 30 minimum weights, electronic model 31 graph, group of elements OR 32.1 - 32.n, group of elements AND 33.1 - 33.m, first 34 and second 35 elements AND, second block of elements OR 36, third element And 37, first 41 and second 42 one-shot, the first 43, the second 44 and the third 45 delay elements, the first block of elements OR 46, and m outputs BFP 3 connected to the corresponding inputs of the block 4 permanent memory and the corresponding inputs BZLV 5, signaling output BFP 3 connected to the installation input of the trigger 19 start counting, the outputs of block 4 permanent memory connected to the corresponding inputs of the switch 6, the output of which is connected to the input of the ALU 7 whose output is connected to the information input of BZLV 5, and the output of BZLV 5 is connected to the first information input of ALU 7, the output of the shift register 1 is connected to the input of the shift register 2, the outputs of registers 1 and 2 from the first to the n-th connected to the first and second inputs of the elements OR 32.1 - 32.n respectively, the output of the overflow register 2 shift is connected to the control input of the ALU 7 and the control input of the BFP 3, the clock input 57 of the device is connected to the input of the register 1 shift, with the clock input of the BFP 3 and with the first inputs of the elements 34 and 35, the output of the counter 27 arcs connected to the input of the decoder 8 arc selection and the data input of the register 29 of the arc number, the output of the block of elements OR 36 is connected to the first input of the comparison element 17 and to the data input of the minimum weight register 30, output register 30 min The weighing weight is connected to the second input of the comparison element 17 and to the data input of the RAM block 10, the output of the delay element 43 is connected to the input of the minimum weight register 30 and to the input of the arc number register 29, the output of the third element 37 is connected to the minimum 30 weight and synchronous input of the register 29 of the arc number, the output of the arc number register 29 is connected to the information input of the arc lock decoder 28, the overflow output of the arc counter 27 is connected to the enable input of the arc lock decoder 28 and also with the input of the delay element 43, the first counting input of the reversible counter 9 cells and the recording input of the RAM block 10, the output of the AND element 34 is connected to the counting input of the counter 27 arcs and with the input of the delay element 44 whose output is connected to the second input of the And element 37, the first input of which is connected to the output of the comparison element 17, the second input of the AND element 34 is connected to the direct output of the trigger trigger 19, which is also connected to the second input of the AND element 35, the third input of the And element 34 is connected to the inverse output of the mode trigger 23, the direct output of which is connected to the third input of the element 35, the output of the element 35 is connected to the second counting input of the reversing counter of 9 cells, the output of which is connected to the address input of the main memory unit 10, the output of which is connected to the first input of the multiplier 14, the output of the distance counter 13 is connected to the second input of the multiplier 14, the output of which is connected to the first input of the adder 15, the second input of which is connected to the output of the register 16 of the minimum connection length and to the second input of the subtractor 18, the output of the adder 15 is connected to the data input The register 16 is the minimum length of the links, the output of the delay element 45 is connected to the synchronous input of the register 16 of the minimum length of the connections, the output of the AND element 35 and the counting input of the distance counter 12 is connected to the input of the delay element 45, the output of the one-vibrator 42 is connected to the synchronous input of the distance counter 12, the overflow output of which is connected to the counting inputs of the counter 11 topology, the counter 13 distances and to the input of the one-shot 42, the output of the counter 11 topology is connected to the input of the counter 12 distances, the input 51 of the device data is connected to the data input of the counter 1 1 topology, synchronization input of the counter 11 topology is connected to input 52 of the device installation, direct output of the topology trigger 24 is connected to the enable input of the counter 11 topology, the installation input of the topology trigger 24 is connected to the device installation input 49, reset input of the topology trigger 24 is connected to the input 50 of the device installation, the overflow output of the reversing counter of 9 cells is connected to the setup input of the mode trigger 23, the reset input of which is connected to the input 48 of the device installation, the output of the register 25 is the length of The lane is connected to the second input of the comparison element 26 and to the first input of the subtractor 18, the first input of the comparison element 26 is connected to the output of ALU 7 and the data input of the link length register 25, the output of the one-vibrator 41 is connected to the link length register 25, the reset start trigger input 19 connected to input 47 of the device installation, the lth output of the decoder 8 arc selection (l = 1, 2, ..., m) is connected to the lth input of the arc selection of the electronic model 31 of the graph, the lth output of the decoder 28 of the arc lock is connected to l th input blocking the arc of the electronic model of the 31 graph, the lth you The weight of the arc of the electronic model 31 of the graph is connected to the lth input of the block of elements OR 36 and the lth input of the block of elements OR 46, the output of the AND 33.l element is connected to the lth control input of the electronic model 31 of the graph, the output of the block of elements OR 46 connected to the second information input of the ALU 7, the output of the comparison element 26 is connected to the input of the one-vibrator 41, the outputs of the elements OR 32.1 - 32.n are connected to the corresponding inputs of the elements And 33.1 - 33.m, the output of the subtractor 18 is connected to the output 53 of the device link length, and also the additionally entered minimum block 58 It contains the first 59 RAM of the ring cyclic system, the cyclic fragment RAM 60, the first 61 column counter, the second 62 column counter, the first 63 row counter, the second 64 column counter, the adder 65 minimum value, the first 66 element And, the second 67 RAM circular cyclic systems, the third 68 column counter of the adjacency matrix, the second 69 row counter, the first 70 and second 71 row rows counter, the count of 72 number of cyclic plots, SR mode trigger 74, the second And 76 element, multiplier 77, distance counter 78, subtracting 79 counter , etc What is the output of the RAM block 10 connected to the first input of the second 76 element I, the second input of which is connected to the overflow output of the first 70 line count, the second input of the first 66 element I, and to the e-input of the counter 72 of the number of cyclic sections, the counting input of which is connected to the output of the overflow of the second 64 column counter, the e-input of which is connected to the output of the first 66 I element and to the e-input of the second 62 column counter, the output of the overflow of which is connected to the counting input of the second 64 column counter, the output of which It is connected to the a1 input of a cyclic fragment RAM 60, the a2 input of which is connected to the output of the second 62 column counter, the counting input of which is connected to the clock input 57 of the device, the counting input of the distance counter 78 connected to the clock 57 input of the device, the output of the distance counter 78 connected to the first input of the multiplier 77 and with the counting input of the subtracting 79 counter, the overflow output of which is connected to the s-input of the distance counter 78, the second input of the multiplier 77 is connected to the output of the main memory unit 10, the output of the second 76 element And soi inn with S-input SR-flip-flop 74 of the mode, the R-input of which is connected to the overflow output of the second 71 row count counter, the counting input of which is connected to the overflow output of the first 61 column counter, e-input of which is connected to the direct output SR-flip-flop 74 of the mode The reverse output of which is connected to the e-input of the third 68 column counter, the counting input of which is connected to the clock input 57 of the device, the network input of the counter of the first 61 column counter and to the s-inputs of the first 59 RAM of the ring cyclic system and the second 67 of RAM of the ring cycle system, the D-input of which is connected to the output of the multiplier 77 and the D-input of the first 59 RAM of the ring cyclic system, the a1-input of which is connected to the output of the first 63 row counter, a2-input of the first 59 of the RAM of the ring cyclic system is connected to the output of the first 61 column counter, a1 input of the second 67 RAM of a ring cyclic system is connected to the output of the second 69 row counter, the counting input of which is connected to the output of the first 70 counters of the number of rows, D-input of the RAM 60 of the cyclic fragment is connected to the output of the RAM 10 block, output O The loop memory 60 is connected to the first input of the adder 65, the second and third inputs of the adder 65 are connected to the outputs of the first 59 RAM of the ring cyclic system and the second 67 of the RAM of the ring cyclic system, the output of the adder 65 is connected to the output of the VUU, where the decision on further multiprocessor actions is made cubic cyclic system, the output of the overflow of the counter 72 of the number of cyclic sections connected to the output 73 of the overflow device.

Устройство по п.1, отличающееся тем, что электронная модель 31 графа (фиг. 9) содержит m электронных моделей дуги, причем электронная модель 31.l дуги (l = 1, 2, …, m) содержит триггер 20.l блокировки дуги, регистр 21.l веса дуги, регистр 22.l блокировки дуги, первый элемент И 38.l, второй элемент И 39.l, элемент ИЛИ 40.l, причем входы элемента И 38.l соединены с соответствующими входами 56.y и 56.z задания графа устройства (где y и z – номера соответственно начальной и конечной вершины l-й дуги графа), выход элемента И 38.l соединен с синхровходом регистра 21.l веса дуги и с установочным входом триггера 20.l блокировки дуги, вход сброса которого соединен с l-м входом блокировки дуги модели 31, вход данных регистра 21.l веса дуги соединен с входом 54.l веса дуги устройства, первый вход элемента ИЛИ 40.l соединен с l-м управляющим входом модели 31, а второй вход элемента ИЛИ 40.l соединен с выходом элемента И 39.l, первый вход которого соединен с прямым выходом триггера 20. l блокировки дуги и с разрешающим входом регистра 22.l блокировки дуги, второй вход элемента И 39.l соединен с l-м входом выбора дуги модели 31, вход сброса регистра 22.l блокировки дуги соединен с входом 55.l сброса устройства, выход регистра 22.l блокировки дуги соединен с l-м выходом веса дуги модели 31, который также соединен с выходом регистра 21.l веса дуги, выход элемента ИЛИ 40.l подключен к разрешающему входу регистра 21.l веса дуги.The device according to claim 1, characterized in that the electronic model 31 of the graph (FIG. 9) contains m electronic models of the arc, and the electronic model 31.l of the arc (l = 1, 2, ..., m) contains the arc interlocking trigger 20.l , the arc weight register 21.l, the arc lock register 22.l, the first element AND 38.l, the second element AND 39.l, the element OR 40.l, and the inputs of the AND 38.l element are connected to the corresponding inputs 56.y and 56.z set the device graph (where y and z are the numbers of the starting and ending vertices of the l-th arc of the graph, respectively), the output of the And 38.l element is connected to the synchronous input of the arc weight register 21.l and from the mouth The main input of the arc lock trigger 20.l, the reset input of which is connected to the lth block input arc of the model 31, the data register 21.l of the arc weight is connected to the input 54.l of the arc weight of the device, the first input of the OR 40.l element is connected to The lth control input of the model is 31, and the second input of the OR 40.l element is connected to the output of the AND 39.l element, the first input of which is connected to the direct output of the trigger 20. l arc lock and to the enable input of the arc lock register 22.l, the second the input element And 39.l is connected to the lth input of the arc selection model 31, the reset input of the register 22.l block The arc is connected to the device reset input 55.l, the arc lock register 22.l output is connected to the model 31 weight arc output, which is also connected to the output of the arc weight register 21.l, the output element OR 40.l is connected to the resolving register entry 21.l arc weight.

Назначение элементов и блоков устройства (фиг.1) состоит в следующем.The purpose of the elements and units of the device (figure 1) is as follows.

Первый и второй регистры 1 и 2 сдвига необходимы для реализации последовательного перебора пар вершин орграфа G. The first and second registers 1 and 2 of the shift are necessary for the implementation of the sequential search for pairs of vertices of the digraph G.

Блок 3 формирования перестановок осуществляет перебор всех возможных размещений вершин графа G по позициям заданной топологической модели.Block 3 of the formation of permutations iterates through all possible locations of the vertices of the graph G according to the positions of a given topological model.

Блок 4 постоянной памяти хранит двоичные коды номеров позиций.Block 4 permanent memory stores the binary codes of position numbers.

Блок 5 запоминания лучшего варианта служит для запоминания лучшего на настоящий момент варианта размещения.Block 5 memorization of the best option is used to memorize the best at the moment option placement.

Коммутатор 6 обеспечивает последовательное списывание из блока 4 кодов номеров выбираемых позиций для передачи их в АЛУ 7.Switch 6 provides sequential cheating from the block of 4 codes of numbers of selectable positions for transfer to ALU 7.

Арифметико-логическое устройство 7 необходимо для определения расстояния между позициями, в которые помещены выбранные вершины графа, и расчета длины связей L для формируемого варианта размещения. Данное устройство способно определять расстояния между позициями как для взвешенных графов, так и для невзвешенных.The arithmetic logic unit 7 is necessary to determine the distance between the positions in which the selected vertices of the graph are placed, and to calculate the length of the connections L for the formed placement variant. This device is able to determine distances between positions for both weighted and unweighted graphs.

Дешифратор 8 выбора дуги вместе со счетчиком 27 дуг предназначены для выбора из ЭМГ 31 дуги с номером, записанным в счетчике 27.The decoder 8 select the arc together with the counter 27 arcs are designed to select from the EMG 31 arc with the number recorded in the counter 27.

Реверсивный счетчик 9 ячеек служит для организации последовательного перебора адресов блока 10 оперативной памяти в прямом и обратном порядке соответственно при записи информации и ее считывании.A reversible counter of 9 cells serves to organize the sequential search of the addresses of the RAM block 10 in the forward and reverse order, respectively, when writing information and reading it.

Блок 10 оперативной памяти служит для хранения весов wi,j дуг орграфа G в порядке возрастания их значений.Block 10 RAM is used to store the weights w i, j of arcs of the digraph G in ascending order of their values.

Счетчик 11 топологии необходим для подсчета и передачи счетчику 12 количества обрабатываемых элементов вектора

Figure 00000031
с заданным значением (для кольцевой топологической модели общее число таких элементов постоянно и составляет n, для линейной это число уменьшается от n-1 для
Figure 00000032
=1 до 1 для
Figure 00000032
=n-1). The counter 11 of the topology is necessary for counting and transmitting to the counter 12 the number of processed vector elements.
Figure 00000031
with a given value (for a ring topological model, the total number of such elements is constant and is n, for a linear one, this number decreases from n-1 for
Figure 00000032
= 1 to 1 for
Figure 00000032
= n-1).

Первый счетчик 12 расстояний и второй счетчик 13 расстояний предназначены для организации перебора в возрастающем порядке ненулевых элементов матрицы расстояний D (таким образом на выходе счетчика 13 формируется вектор

Figure 00000031
).The first distance counter 12 and the second distance counter 13 are designed to organize the search in an increasing order of nonzero elements of the distance matrix D (thus, a vector is formed at the output of the counter 13
Figure 00000031
).

Умножитель 14 необходим для умножения веса дуги из блока 10 оперативной памяти на расстояние между позициями топологической модели (элемент вектора

Figure 00000031
) из счетчика 13 расстояний.The multiplier 14 is required to multiply the weight of the arc from the RAM block 10 by the distance between the positions of the topological model (the vector element
Figure 00000031
) from the counter 13 distances.

Сумматор 15 предназначен для суммирования значений с умножителя 14 и регистра 16.The adder 15 is designed to sum the values from the multiplier 14 and register 16.

Регистр 16 минимальной длины связей хранит значение минимально возможной длины связей L* для заданного графа.Register 16 of the minimum length of links stores the value of the minimum possible length of links L * for a given graph.

Первый элемент 17 сравнения служит для сравнения веса текущей дуги с наименьшим на данный момент весом, записанным в регистре 30.The first comparison element 17 serves to compare the weight of the current arc with the lowest weight currently recorded in register 30.

Вычитатель 18 служит для нахождения степени оптимальности размещения ξ по формуле (2). Значение L* поступает с выхода регистра 16 минимальной длины связей, L поступает с выхода регистра 25 длины связей.Subtractor 18 is used to find the degree of optimality of placement ξ by the formula (2). The value of L * comes from the output of the register 16 of the minimum length of links, L comes from the output of the register 25 of the length of links.

Триггер 19 начала счета служит для индикации перехода из режима формирования размещения в режим его оценки.The trigger 19 of the beginning of the account is used to indicate the transition from the mode of formation of accommodation in the mode of its evaluation.

Триггер 23 режима служит для хранения признака текущей операции. Если триггер 23 установлен в ноль – это означает запись весов дуг по возрастанию в блок 10 оперативной памяти, а в единицу – нахождение минимально возможной длины L* по формуле (1).The trigger 23 mode is used to store the sign of the current operation. If the trigger 23 is set to zero, this means writing the weights of the arcs in ascending order to the RAM block 10, and to the unit - finding the minimum possible length L * by the formula (1).

Триггер 24 задания топологии предназначен для задания вида топологической модели: если триггер 24 установлен в единицу – это означает выбор линейной модели, в ноль – кольцевой модели.A trigger 24 for specifying a topology is intended to specify the type of topological model: if trigger 24 is set to one, this means the choice of a linear model, to zero, a ring model.

Дешифратор 28 блокировки дуги предназначен для выбора дуги, которую необходимо заблокировать в текущем цикле работы устройства.The arc lock decoder 28 is designed to select the arc to be blocked in the current cycle of the device operation.

Регистр 29 номера дуги служит для хранения номера дуги с минимальным весом, выбранной в текущем цикле работы устройства.Register 29 of the arc number is used to store the arc number with the minimum weight selected in the current cycle of the device.

Регистр 30 минимального веса необходим для хранения значения минимального на данный момент веса дуги.A minimum weight register 30 is required to store the minimum current weight of the arc.

Группа элементов ИЛИ 32.1 – 32.n необходима для объединения соответствующих сигналов с регистров 1 и 2.The group of elements OR 32.1 - 32.n is necessary for combining the corresponding signals from registers 1 and 2.

Группа элементов И 33.1 – 33.m предназначена для выбора соответствующих дуг графа G по сигналам с элементов ИЛИ 32.1 – 32.n.The group of elements AND 33.1 - 33.m is used to select the corresponding arcs of the graph G from the signals from the elements OR 32.1 - 32.n.

Первый и второй элементы И 34 и 35 необходимы для блокировки передачи импульсов с тактового входа 57 устройства на элементы и блоки, обеспечивающие упорядочение весов дуг графа в блоке 10.The first and second elements And 34 and 35 are needed to block the transmission of pulses from the clock input 57 of the device to the elements and blocks, ensuring the ordering of the weights of the arcs of the graph in block 10.

Второй блок элементов ИЛИ 36 необходим для подключения веса текущей дуги к элементу 17 сравнения и регистру 30.The second block of elements OR 36 is necessary to connect the weight of the current arc to the element 17 of the comparison and the register 30.

Третий элемент И 37 предназначен для блокировки прохождения импульсов на входы синхронизации регистров 29 и 30.The third element And 37 is designed to block the passage of pulses to the synchronization inputs of registers 29 and 30.

Электронная модель 31 графа служит для моделирования топологии графа G, представляющего размещаемый объект (фиг. 2).The electronic model 31 of the graph serves to model the topology of the graph G representing the object to be placed (Fig. 2).

Первый и второй одновибраторы 41 и 42 необходимы для формирования импульсов, управляющих записью информации в регистр 25 и счетчик 12 соответственно.The first and second one-shot 41 and 42 are necessary for the formation of pulses that control the recording of information in the register 25 and the counter 12, respectively.

Первый элемент 43 задержки служит для задержки импульса переполнения со счетчика 27 дуг на время, достаточное для обеспечения блокировки дуги дешифратором 28 и записи минимального веса из регистра 30 в блок 10 оперативной памяти.The first delay element 43 serves to delay the overflow pulse from the counter of 27 arcs for a time sufficient to ensure that the arc is blocked by the decoder 28 and the minimum weight is written from the register 30 to the RAM block 10.

Второй элемент 44 задержки необходим для задержки тактового импульса на время, достаточное для обеспечения выбора очередной дуги и сравнения ее веса с минимальным весом, записанным в регистре 30.The second delay element 44 is needed to delay the clock pulse for a time sufficient to ensure the selection of the next arc and compare its weight with the minimum weight recorded in register 30.

Третий элемент 45 задержки обеспечивает задержку импульса, поступающего на регистр 16 минимальной длины связей, на время, достаточное для подсчета и добавления очередного слагаемого формулы (1) умножителем 14 и сумматором 15.The third delay element 45 provides a delay of the pulse arriving at the register 16 of the minimum length of the connections for a time sufficient for counting and adding the next term of formula (1) with the multiplier 14 and the adder 15.

Первый блок элементов ИЛИ 46 необходим для подачи в АЛУ 7 веса текущей дуги.The first block of elements OR 46 is needed to feed the weight of the current arc to ALU 7.

Электронная модель 31.l дуги (фиг. 2) служит для моделирования l-й дуги орграфа G, l = 1,2, …, m.The electronic model 31.l of the arc (Fig. 2) serves to simulate the lth arc of the digraph G, l = 1,2, ..., m.

Триггер 20.l блокировки дуги служит для выдачи сигнала блокировки повторного выбора соответствующей дуги во время работы устройства.Arc lock trigger 20.l serves to issue a blocking signal to re-select the corresponding arc during device operation.

Регистр 21.l веса дуги и регистр 22.l блокировки дуги предназначены для хранения веса текущей дуги и нулевого кода соответственно. Регистры 21.l и 22.l имеют выходы с тремя состояниями; перевод выходов в третье (высокоимпедансное) состояние обеспечивается соответственно единичным и нулевым сигналом на входах разрешения (oe).The arc weight register 21.l and the arc lock register 22.l are designed to store the weight of the current arc and the zero code, respectively. Registers 21.l and 22.l have outputs with three states; transfer of the outputs to the third (high-impedance) state is provided by a single and zero signal at the resolution inputs (oe), respectively.

Первый элемент И 38.l необходим для формирования сигнала наличия l-й дуги в графе.The first element And 38.l is necessary to form a signal of the presence of the lth arc in the graph.

Второй элемент И 39.l служит для формирования сигнала выбора/блокировки дуги.The second element And 39.l is used to generate a select / block arc signal.

Элемент ИЛИ 40.l служит для объединения сигналов с элемента И 39.l и с элемента И 33.l.The element OR 40.l serves to combine the signals from the AND 39.l element and from the AND 33.l element.

Назначение элементов блока 58 минимального значения состоит в следующем.The purpose of the elements of the minimum value block 58 is as follows.

Первое 59 ОЗУ кольцевой циклической системы (КЦС) предназначено для хранения наибольших кодов значений инцидентных двум выбранным вершинам. Они располагаются в порядке убывания в соответствии с (3).The first 59 RAM of the ring cyclic system (MCC) is intended for storing the largest codes of values incident to the two selected vertices. They are arranged in descending order in accordance with (3).

ОЗУ 60 циклического фрагмента КЦС необходим для хранения кодов значений инцидентных выбранной вершине графа Х. The RAM 60 of the MCC cyclic fragment is required for storing codes of incident values to the selected vertex of the graph X.

Первый 61 счетчик столбцов служит для подсчета номеров столбцов матрицы

Figure 00000033
, обрабатываемых в данный момент.The first 61 column counter is used to count the column numbers of the matrix.
Figure 00000033
currently being processed.

Второй 62 счетчик столбцов предназначен для подсчета номеров столбцов матрицы

Figure 00000034
циклического фрагмента КЦС.The second 62 column counter is designed to count the column numbers of the matrix
Figure 00000034
cyclic fragment of MCC.

Первый 63 счетчик строк предназначен для подсчета обрабатываемых строк матрицы

Figure 00000033
.The first 63 row counter is designed to count the processed rows of the matrix.
Figure 00000033
.

Второй 64 счетчик столбцов служит для подсчета номера обрабатываемой строки циклического фрагмента КЦС.The second 64 column counter is used to count the number of the processed row of a circular MCC fragment.

Сумматор 65 минимального значения предназначен для суммирования и получения минимального значения интенсивности размещения в многопроцессорных кубических циклических системах при однонаправленной передаче информации.The adder 65 minimum value is designed to sum up and obtain the minimum value of the intensity of accommodation in multiprocessor cubic cyclic systems with unidirectional transmission of information.

Первый 66 элемент И служит для разрешения работы второго 62 счетчик столбцов с подачей соответствующего импульса на его е-вход.The first 66 element And serves to enable the work of the second 62 column counter with the supply of the corresponding pulse to its e-input.

Второе 67 ОЗУ кольцевой циклической системы (КЦС) предназначено для хранения наибольших кодов значений инцидентных двум выбранным вершинам. The second 67 RAM of a ring cyclic system (MCC) is intended for storing the largest codes of values incident to the two selected vertices.

Третий 68 счетчик столбцов матрицы смежности служит для подсчета номеров столбцов матрицы

Figure 00000033
, обрабатываемых в данный момент ниже главной диагонали.The third 68 column counter of the adjacency matrix is used to count the column numbers of the matrix.
Figure 00000033
currently being processed below the main diagonal.

Второй 69 счетчик строк предназначен для подсчета обрабатываемых строк матрицы

Figure 00000033
ниже главной диагонали.The second 69 row count is used to count the processed rows of the matrix.
Figure 00000033
below the main diagonal.

Первый 70 и второй 71 счетчик количества строк предназначен для подсчета количества строк, в которых были обнаружены ненулевые значения

Figure 00000035
The first 70 and second 71 rows count is designed to count the number of rows in which non-zero values were detected.
Figure 00000035

Счетчик 72 количества циклических участков подсчитывает количество обработанных циклический фрагментов кольцевой циклической системы.The count 72 of the number of cyclic plots counts the number of processed cyclic fragments of the ring cyclic system.

Выход 73 переполнения счетчика 72 количества циклических участков предназначен для подачи на ВУУ сигнала о переполнении счетчика 72, что одновременно является сигналом о завершении работы устройства.The output 73 of the overflow of the counter 72 of the number of cyclic plots is intended for signaling the overflow of the counter 72 to the ECD, which is also a signal of the completion of operation of the device.

SR-триггер 74 режима предназначен для выбора обработки матрицы

Figure 00000036
выше или ниже главной диагонали.SR-trigger 74 mode is designed to select the processing matrix
Figure 00000036
above or below the main diagonal.

Второй 76 элемент И служит для объединения сигналов с выхода переполнения счетчика 70 и с прямого выхода триггера 23 режима.The second element 76 And serves to combine the signals from the overflow output of the counter 70 and from the direct output of the trigger 23 mode.

Умножитель 77 предназначен для вычисления значения расстояния в соответствии со значениями матрицы расстояний

Figure 00000037
The multiplier 77 is designed to calculate the distance value in accordance with the values of the distance matrix
Figure 00000037

Счетчик 78 расстояний служит для вычисления текущего значения расстояния в соответствии со значением матрицы

Figure 00000038
Например, для
Figure 00000039
, значения вектора расстояний
Figure 00000040
соответствующие значениям матрицы
Figure 00000041
, упорядоченные по возрастанию имеют значения: 1,1,1,1.1, 2,2,2,2,3,3,3,4,4,5.The distance counter 78 serves to calculate the current distance value in accordance with the matrix value.
Figure 00000038
For example, for
Figure 00000039
, distance vector values
Figure 00000040
corresponding matrix values
Figure 00000041
sorted in ascending order: 1,1,1,1,1, 2,2,2,2,3,3,3,4,4,5.

Вычитающий 79 счетчик служит для подсчета одноименных значения вектора

Figure 00000042
The subtractive 79 counter is used to calculate the vector values of the same name
Figure 00000042

Рассмотрим работу предлагаемого устройства.Consider the operation of the proposed device.

Первоначально счетчике 72 хранится код нуля («0…00»), в ОЗУ 59, 60, 64, 67 хранятся коды значений нуля. В счетчиках 61 и 62 хранятся коды единицы («0…01). В счетчике 71 и 63 хранится код значения единицы («0…01»). Поэтому это значение подается на адресный а1-вход ОЗУ 59. В счетчике 64 хранится код значения ноль. В сумматоре 65 хранится код значения ноль. На втором входе элемента 66 И присутствует нулевой потенциал с выхода переполнения счетчика 70. Из-за этого на его выходе присутствует нулевой потенциал, который запрещает работу счетчика 62. В счетчике 68 хранится код значения единица («0…01»). В счетчиках 69 и 70 хранятся коды значения единицы. Поэтому, на адресном а1-входе ОЗУ 67 присутствует код значения единица. В счетчике 72 хранится код значения ноль. SR-триггер 74 находится в единичном состоянии. Это значит, что на его прямом выходе присутствует единичный потенциал, а на обратном – нулевой. В счетчике 79 установлен предел счета значение

Figure 00000043
и начальное значение ноль («0…00»). В счетчике 79 содержится код значения
Figure 00000044
Initially, the counter 72 stores the zero code ("0 ... 00"), the codes of zero values are stored in RAM 59, 60, 64, 67. Codes 61 and 62 store unit codes (“0 ... 01). Counter 71 and 63 stores the value code of the unit (“0 ... 01”). Therefore, this value is fed to the address a1 input of RAM 59. Counter 64 stores the value code zero. The accumulator 65 stores the value code zero. At the second input of the element 66 And there is a zero potential from the overflow output of the counter 70. Because of this, there is zero potential at its output, which prohibits the operation of the counter 62. The counter 68 stores the value code one ("0 ... 01"). Counters 69 and 70 store the value codes of the unit. Therefore, at address a1-input of RAM 67 there is a code of value one. Counter 72 stores the value code zero. SR flip-flop 74 is in single state. This means that on its direct output there is a single potential, and on the reverse - zero. In the counter 79 is set the counting limit value
Figure 00000043
and the initial value is zero ("0 ... 00"). Counter 79 contains the value code
Figure 00000044

Предлагаемое устройство способно решать следующие задачи: размещение невзвешенных графов в линейную топологическую модель, размещение взвешенных графов в линейную и кольцевую модель и оценка степени близости сформированного размещения к оптимальному. Дополнительно предлагаемое устройство позволяет подсчитывать минимальное значение интенсивности размещения в многопроцессорных кубических циклических системах при однонаправленной передаче информации по критерию минимизации интенсивности взаимодействия процессов и данных.The proposed device is capable of solving the following tasks: placing unweighted graphs in a linear topological model, placing weighted graphs in a linear and ring model, and estimating the degree of closeness of the formed placement to the optimal one. Additionally, the proposed device allows to calculate the minimum value of the intensity of placement in multiprocessor cubic cyclic systems with unidirectional transmission of information according to the criterion of minimizing the intensity of interaction between processes and data.

Задача размещения невзвешенных графов с топологической моделью в виде линейки решается в устройстве аналогично прототипу. В данном случае работает только так называемая «верхняя» часть схемы, в которую входит ЭМГ 31, регистры 1 и 2, группа элементов ИЛИ 32.1 – 32.n, группа элементов И 33.1 – 31.m, блок элементов ИЛИ 46, регистр 25, элемент 26 сравнения, одновибратор 41, а также БФП 3, блок 4 постоянной памяти, БЗЛВ 5, коммутатор 6 и АЛУ 7. The task of placing unweighted graphs with a topological model in the form of a ruler is solved in a device similar to the prototype. In this case, only the so-called “upper” part of the scheme, which includes EMG 31, registers 1 and 2, the group of elements OR 32.1 - 32.n, the group of elements AND 33.1 - 31.m, the block of elements OR 46, register 25, works element 26 comparison, one-shot 41, as well as BFP 3, block 4 permanent memory, BPLV 5, switch 6 and ALU 7.

Регистр 1 и регистр 2 последовательно выбирают пары вершин по мере поступления импульсов с входа 57 устройства. Сигналы выбранной пары вершин проходят через два соответствующих элемента группы элементов ИЛИ 32.1 – 32.n и далее формируют единичный сигнал на выходе соответствующего элемента И группы 33.1 – 33.m (допустим элемента 33.l). Единичный сигнал с элемента И 33.l поступает на элемент ИЛИ 40.l (модели 31.l дуги) и, попадая далее на разрешающий вход (oe) регистра 21.l, разрешает тем самым появление данных (веса l-й дуги) на выходе этого регистра. Поскольку размещаемый граф невзвешен, в регистре 21.l содержится либо код «00…01» либо код «00…00» (отсутствие дуги). Будем считать данный код ненулевым. Код «00…01» с выхода регистра 21.l поступает на блок элементов ИЛИ 46 и далее через него – в АЛУ 7. В это же время блок 3 формирования перестановок определяет для выбираемых вершин позиции, а АЛУ 7 вырабатывает команду определения расстояния между позициями, в которые следует поместить выбранные вершины графа. Это расстояние определяется по формуле

Figure 00000045
. Одновременно в АЛУ 7 происходит и накопление суммарной длины связей L. Подсчет суммарной длины связей для текущего варианта размещения завершается, когда на выходе переполнения регистра 2 появляется сигнал переполнения. Одновременно этот же сигнал поступает на БФП 3, подготавливая его к формированию новой перестановки. Register 1 and register 2 sequentially select pairs of vertices as they arrive at the input 57 of the device. The signals of the selected pair of vertices pass through two corresponding elements of the group of elements OR 32.1 - 32.n and then form a single signal at the output of the corresponding element AND of group 33.1 - 33.m (say, element 33.l). A single signal from the AND 33.l element is fed to the OR 40.l element (arc models 31.l) and, getting further to the enabling input (oe) of the register 21.l, thereby allowing the appearance of data (weight of the lth arc) on the output of this register. Since the placed graph is unweighted, register 21.l contains either the code "00 ... 01" or the code "00 ... 00" (no arc). We will consider this code nonzero. The code "00 ... 01" from the output of the register 21.l enters the block of elements OR 46 and then through it - into ALU 7. At the same time, block 3 of the formation of permutations determines the selected vertices of the position, and ALU 7 generates a command for determining the distance between positions where the selected vertices of the graph should be placed. This distance is determined by the formula
Figure 00000045
. At the same time, the accumulation of the total length of the connections L is accumulated in ALU 7. The calculation of the total length of the connections for the current placement option is completed when the overflow signal appears at the output of the register 2 overflow. At the same time, the same signal arrives at BFP 3, preparing it for the formation of a new permutation.

Перестановки формируются в пространственно-временной форме, то есть в каждый тактовый момент времени единичный сигнал инициируется только на одном (q-м) выходе БФП 3, а их последовательность задает соответствующую перестановку. Например, перестановка (3 1 2) означает, что первый тактовый импульс появляется на втором выходе БФП, второй – на третьем, третий – на первом. В соответствии с этим из блока 4 постоянной памяти (в блок 4 постоянной памяти заносятся двоичные коды номеров позиций) через коммутатор 6 в АЛУ 7 будут последовательно списываться коды второй позиции, третьей и первой. Это, в свою очередь, означает, что первая вершина помещается во вторую позицию, вторая в третью и третья в первую. Лучший вариант размещения переписывается в блок 5 и соответствующее ему значение длины связей L – в регистр 25. Появление сигнала на сигнализирующем выходе БФП 3 свидетельствует о том, что все перестановки сформированы, а лучший вариант размещения зафиксирован в БЗЛВ 5.Permutations are formed in the space-time form, that is, at each clock point in time, a single signal is initiated at only one (qth) output of the FBP 3, and their sequence determines the corresponding permutation. For example, a permutation (3 1 2) means that the first clock pulse appears at the second output of the FFT, the second at the third, the third at the first. In accordance with this, from the block 4 of the permanent memory (the binary codes of the position numbers are entered into the block 4 of the permanent memory), through the switch 6 in the ALU 7, the codes of the second position, the third and the first will be written off. This, in turn, means that the first vertex is placed in the second position, the second in the third and the third in the first. The best placement option is rewritten in block 5 and the corresponding value of the link length L is in register 25. The appearance of the signal at the signaling output of the BFP 3 indicates that all permutations are formed, and the best placement option is fixed in the BZLV 5.

Задача размещения взвешенных и невзвешенных графов в линейной и/или кольцевой топологических моделях, а также задача оценки степени близости сформированного размещения к оптимальному решается так как в прототипе и поэтому здесь не рассматривается.The task of placing weighted and unweighted graphs in linear and / or ring topological models, as well as the task of assessing the degree of closeness of the formed placement to the optimal one, is solved in the prototype and therefore is not considered here.

Задача оценки степени близости сформированного размещения к оптимальному решается следующим образом (в данном случае работает только «нижняя» часть схемы, включающая дешифраторы 8 и 28, элемент 17 сравнения, счетчики 27, 9, 11, 12 и 13, блок 10 оперативной памяти, регистры 16, 25, 29 и 30, триггеры 19, 23 и 24, умножитель 14, сумматор 15, вычитатель 18, блок элементов ИЛИ 36, элементы И 34, 35 и 37, элементы 43, 44 и 45 задержки и одновибратор 42).The task of assessing the degree of closeness of the formed placement to the optimal one is solved as follows (in this case, only the “lower” part of the circuit works, including decoders 8 and 28, comparison element 17, counters 27, 9, 11, 12 and 13, memory block 10, registers 16, 25, 29 and 30, triggers 19, 23 and 24, multiplier 14, adder 15, subtractor 18, block of elements OR 36, elements AND 34, 35 and 37, elements 43, 44 and 45 of the delay and one-shot 42).

При появлении единичного сигнала на сигнализирующем выходе БФП 3 триггер 19 устанавливается в единицу. Единичный сигнал с прямого выхода триггера 19 поступает на вторые входы элемента И 34 и элемента И 35. Так как триггер 23 режима находится в нулевом состоянии, элемент 35 по-прежнему остается закрытым, а элемент 34 открывается для прохождения тактовых импульсов.When a single signal appears at the signaling output of the BFP 3, the trigger 19 is set to one. A single signal from the direct output of the trigger 19 is supplied to the second inputs of the element 34 and the element 35. Since the mode trigger 23 is in the zero state, element 35 still remains closed and element 34 opens for the passage of clock pulses.

Первый тактовый импульс проходит через элемент И 34, откуда этот импульс поступает на счетный вход счетчика 27 и передним фронтом устанавливает его в значение «00…01». Код с выхода счетчика 27 поступает на вход данных регистра 29 и на вход дешифратора 8, инициируя появление единицы на его первом выходе. Эта единица поступает на второй вход элемента И 39.1 (модели 31.1). Если на первом входе элемента 39.1 присутствует единица (триггер 20.1 находится в единичном состоянии), то на выходе элемента 39.1 появляется единичный сигнал выбора дуги. С выхода элемента И 39.1 этот сигнал проходит через элемент ИЛИ 40.1, поступает на разрешающий вход регистра 21.1 и открывает его выход. В результате вес дуги с регистра 21.1 проходит через блок элементов ИЛИ 36, откуда попадает на первый вход элемента 17 сравнения, на втором входе которого присутствует код из регистра 30 (первоначально «11…1»). Если код с блока элементов ИЛИ 36 (вес выбранной дуги) меньше уже имеющегося в регистре 30, на выходе элемента 17 образуется единичный сигнал. Этот единичный сигнал поступает на первый вход элемента И 37 и обеспечивает прохождение тактового импульса с элемента И 34, задержанного на элементе 44 задержки. Импульс с элемента И 37 поступает на синхровходы регистра 29 и регистра 30 и по переднему фронту записывает в них значение с выхода счетчика 27 (номер текущей дуги) и код веса выбранной дуги с блока 36 (как минимальный на данный момент) соответственно. В случае присутствия на выходе элемента 17 нуля, элемент И 37 заблокирован и поэтому импульс с элемента 44 задержки не поступает на синхровходы регистров 29 и 30.The first clock pulse passes through the element I 34, from where this pulse arrives at the counting input of the counter 27 and sets the leading edge to the value “00 ... 01”. The code from the output of the counter 27 is fed to the data input of the register 29 and to the input of the decoder 8, initiating the appearance of the unit at its first output. This unit is fed to the second input element And 39.1 (model 31.1). If a unit is present at the first input of element 39.1 (the trigger 20.1 is in the single state), then at the output of the element 39.1 a single arc selection signal appears. From the output of the element And 39.1, this signal passes through the element OR 40.1, arrives at the enabling input of register 21.1 and opens its output. As a result, the weight of the arc from register 21.1 passes through the block of elements OR 36, from where it gets to the first input of the comparison element 17, at the second input of which there is a code from the register 30 (initially "11 ... 1"). If the code from the block of elements OR 36 (the weight of the selected arc) is less than that already present in the register 30, a single signal is formed at the output of element 17. This single signal is fed to the first input of the element And 37 and provides the passage of a clock pulse from the element And 34, delayed by the element 44 of the delay. The impulse from AND 37 enters the synchronous inputs of register 29 and register 30 and records the value from the output of counter 27 (current arc number) and the weight code of the selected arc from block 36 (as the minimum at the moment), respectively, on the leading edge. In the case of the presence at the output of the element 17 zero, the element And 37 is blocked and therefore the pulse from the element 44 of the delay is not supplied to the synchronous inputs of the registers 29 and 30.

Очередной тактовый импульс аналогично проходит через элемент И 34, снова попадает на счетный вход счетчика 27 и увеличивает значение этого счетчика до «00…010». С выхода счетчика 27 код снова попадает на дешифратор 8, чем вызывает появление единицы на его втором выходе. Эта единица аналогично поступает в модель 31.2 взвешенной дуги, и со второго выхода веса дуги модели 31 на блок элементов ИЛИ 36 поступает код веса второй дуги. Если такая дуга существует, то соответствующий ей код попадает на первый вход элемента 17 сравнения, на второй вход которого поступает с регистра 30 вес, записанный на предыдущих шагах. Если новый вес меньше предыдущего, то единичный сигнал, свидетельствующий об этом, поступает на первый вход элемента И 37 и пропускает через него импульс с элемента 44 задержки. С выхода элемента И 37 импульс снова попадает на синхровходы регистров 29 и 30 и по переднему входу записывает в регистр 30 новый вес дуги (вес второй дуги), а в регистр 29 значение счетчика 27 как номер дуги с наименьшим на данный момент весом.The next clock pulse similarly passes through the element And 34, again hits the counting input of counter 27 and increases the value of this counter to “00 ... 010”. From the output of counter 27, the code again hits the decoder 8, which causes the appearance of a unit at its second output. This unit is similarly supplied to the model 31.2 of the weighted arc, and from the second output of the weight of the arc of the model 31, the weight code of the second arc enters the block of elements OR 36. If such an arc exists, the corresponding code falls on the first input of the comparison element 17, to the second input of which the weight recorded in the previous steps comes from register 30. If the new weight is less than the previous one, then a single signal, indicating this, arrives at the first input of the element And 37 and passes a pulse through it from the element 44 of the delay. From the output of the And 37 element, the impulse goes back to the synchronous inputs of registers 29 and 30 and, at the front input, writes to register 30 a new arc weight (weight of the second arc), and to register 29 the counter value 27 is the arc number with the smallest weight at the moment.

Так происходит до тех пор, пока на выходе переполнения счетчика 27 не появится сигнал (импульс) переполнения, сигнализирующий о том, что все дуги просмотрены и наименьший вес содержится в регистре 30, а номер соответствующей дуги – в регистре 29. При этом счетчик 27 сбрасывается в нулевое состояние, а сигнал переполнения одновременно поступает на вход записи блока 10 оперативной памяти на элемент 43 задержки и первый счетный вход счетчика 9. По заднему фронту сигнала переполнения счетчик 9 увеличивает свое значение до «00…01». В результате в блок 10 оперативной памяти по адресу «00…01» заносится минимальный вес дуги с регистра 30. Сигнал переполнения от счетчика 27 одновременно поступает на разрешающий вход дешифратора 28, обеспечивая выбор его выхода в зависимости от кода, подаваемого с выхода регистра 29. Сигнал с выбранного выхода дешифратора 28 (например, l-го) поступает на вход сброса триггера 20.l модели 31.l, устанавливая его в нулевое состояние (обеспечивается блокировка l-й дуги для следующих циклов работы устройства). К тому времени, когда минимальный вес дуги уже записан в блок 10 оперативной памяти, сигнал переполнения с выхода элемента 43 задержки поступает на входы установки (S) регистров 29 и 30 и устанавливает эти регистры в исходное состояние «11…1». Текущий цикл работы устройства завершается.This happens until an overflow signal (pulse) appears at the output of the overflow of counter 27, indicating that all arcs have been viewed and the least weight is contained in register 30, and the number of the corresponding arc is in register 29. At the same time, counter 27 is reset in the zero state, and the overflow signal simultaneously enters the recording input of the RAM block 10 to the delay element 43 and the first counting input of the counter 9. On the falling edge of the overflow signal, the counter 9 increases its value to “00 ... 01”. As a result, the minimum arc weight from register 30 is entered into block 10 of RAM at address “00 ... 01”. The overflow signal from counter 27 simultaneously enters the enable input of the decoder 28, ensuring that its output is selected depending on the code supplied from the output of register 29. The signal from the selected output of the decoder 28 (for example, l-th) is fed to the reset input of the flip-flop 20.l model 31.l, setting it to zero (blocking the l-th arc for the next device operation cycles is ensured). By that time, when the minimum arc weight is already recorded in the RAM block 10, the overflow signal from the output of the delay element 43 is fed to the installation (S) of the registers 29 and 30 and sets these registers to the initial state "11 ... 1". The current cycle of the device ends.

Следующий импульс, проходящий через элемент И 34, заставляет устройство снова работать по вышеописанному алгоритму. В регистре 30 сохраняется наименьший вес дуги без учета заблокированных в предыдущих циклах дуг. При выборе дешифратором 8 незаблокированной дуги устройство работает так, как описано выше. Когда дешифратор 8 выбирает уже заблокированную дугу, сигнал с выхода дешифратора 8 не проходит через элемент И 39.l (на прямом выходе триггера 20.l присутствует ноль). В то же время сигнал с прямого выхода триггера 20.l поступает на разрешающий вход регистра 22.l. В результате нулевой код (записанный в этот регистр с входа 55.l) с выхода регистра 22.l поступает через блок элементов ИЛИ 36 на первый вход элемента 17 сравнения и, будучи заведомо меньше любого другого кода, находящегося в регистре 30, обеспечивает нулевой сигнал на выходе элемента 17 и блокировку элемента 37.The next pulse passing through the element And 34, causes the device to work again according to the above algorithm. Register 30 maintains the smallest arc weight, excluding arcs blocked in previous cycles. When the decoder 8 selects an unblocked arc, the device operates as described above. When the decoder 8 selects an already blocked arc, the signal from the output of the decoder 8 does not pass through the AND 39.l element (zero is present at the direct output of the 20.l trigger). At the same time, the signal from the direct output 20.l trigger is supplied to the enabling input 22.l register. As a result, the zero code (recorded in this register from input 55.l) from the output of register 22.l goes through the block of elements OR 36 to the first input of the comparison element 17 and, being obviously less than any other code located in register 30, provides a zero signal at the exit of the element 17 and the blocking of the element 37.

При повторном появлении сигнала переполнения на счетчике 27 происходит увеличение значения счетчика 9 до кода «00…010». Сигнал переполнения поступает на вход записи блока 10 оперативной памяти и записывает туда по адресу «00…010» код веса дуги с выхода регистра 30 из счетчика 9. Таким образом, происходит последовательная запись в блок 10 оперативной памяти весов дуг графа G по возрастанию соответствующих значений. Так происходит до тех пор, пока счетчик 9 не выдаст сигнал переполнения. Этот сигнал поступает на установочный S-вход вход триггера 23, устанавливает его в единицу и тем самым разрешает прохождение тактовых импульсов через элемент И 35, запрещая их прохождение через элемент И 34. Сам счетчик 9 реверсивно переводится из суммирующего в вычитающий. С этого момента начинается подсчет минимального значения интенсивности размещения в многопроцессорных кубических циклических системах при однонаправленной передаче информации. Задача подсчета минимально возможной длины L* решается так же, как в прототипе и поэтому здесь не рассматривается.When the overflow signal reappears on the counter 27, the value of the counter 9 increases to the code "00 ... 010". The overflow signal is fed to the write input of the RAM block 10 and writes there at the address “00 ... 010” the arc weight code from the register 30 output from the counter 9. Thus, the weights of the arcs of the graph G are sequentially recorded in ascending order of the corresponding values . This happens until counter 9 gives an overflow signal. This signal arrives at the installation S-input of the trigger 23, sets it to one and thereby allows the passage of clock pulses through the AND 35 element, prohibiting their passage through the AND 34 element. The counter 9 itself is reversibly transferred from the summing to the subtractive. From this moment begins the calculation of the minimum value of the intensity of placement in multiprocessor cubic cyclic systems with unidirectional transmission of information. The task of counting the minimum possible length L * is solved in the same way as in the prototype and therefore is not considered here.

Задача подсчета минимального значения интенсивности размещения в многопроцессорных кубических циклических системах при однонаправленной передаче информации решается в предлагаемом устройстве следующим образом.The task of calculating the minimum value of the intensity of placement in multiprocessor cubic cyclic systems with unidirectional transmission of information is solved in the proposed device as follows.

Первоначально аналогично описанному выше принципу «отрабатывает» верхняя часть схемы так, чтобы в блоке 10 оперативной памяти содержались дуги графа G, расположенные в порядке убывания значений своих весов. Как видно из фиг. 4 при назначении дуг на процессоры матричной системы в первую очередь следует назначать дуги с наибольшими значениями весов. Следовательно, при выборе из блока 10 оперативной памяти, первой выбранной дугой будет дуга с наибольшим значением веса, а последней – с наименьшим.Initially, in the same way as the principle described above, the “top” of the circuit “works out” so that in the memory block 10 there are arcs of the graph G, arranged in descending order of their weights. As can be seen from FIG. 4 when assigning arcs to the matrix system processors, first of all, the arcs with the highest weights should be assigned. Therefore, when selecting from block 10 of RAM, the first arc selected will be the arc with the largest weight value, and the last with the smallest value.

Очередной тактовый импульс со входа 57 поступает на е-вход счетчика 61, счетный вход счетчика 64 и первый вход элемента 66 И. В счетчике 64 увеличение содержимого не происходит, потому что на е-входе не присутствует единичного импульса. Так как не втором входе элемента 66 И не присутствует единичного сигнала, то единичного импульса на его выходе не появляется. The next clock pulse from input 57 is fed to the e-input of counter 61, the counting input of counter 64 and the first input of element 66 I. In the counter 64, the content does not increase, because there is no single pulse at the e-input. Since the second input element 66 And there is no single signal, then a single pulse at its output does not appear.

Так как SR-триггер 74 находится в единичном состоянии, то единица с его прямого выхода поступила не е-вход счетчика 61, разрешая его работу. Поэтому, тактовый импульс поступает на счетный вход счетчика 61 и по переднему фронту увеличивает его содержимое на единицу, устанавливая в нем код двойки («0…010»). Since the SR-flip-flop 74 is in a single state, the unit from its direct output did not receive the e-input of the counter 61, allowing its operation. Therefore, the clock pulse arrives at the counting input of the counter 61 and, on the leading edge, increases its contents by one, setting in it the code of two (“0 ... 010”).

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

Figure 00000046
и
Figure 00000047
по убыванию своих значений, а элементов матрицы
Figure 00000048
– по возрастанию. Элементы матрицы
Figure 00000046
и
Figure 00000047
уже расположены по убыванию своих значений в блоке 10 оперативной памяти.The search for the minimum value of the intensity of accommodation is supposed to order the elements of the matrix
Figure 00000046
and
Figure 00000047
descending their values, and matrix elements
Figure 00000048
- Ascending. Matrix elements
Figure 00000046
and
Figure 00000047
already arranged in descending order of their values in block 10 of RAM.

Для упорядочивания элементов матрицы

Figure 00000048
по возрастанию предназначены элементы 77, 78 и 79.To order the elements of the matrix
Figure 00000048
items
77, 78 and 79 are ascending.

Значение со счетчика 78 поступает на первый вход умножителя 77, но втором входе которого присутствует значение с с блока 10 оперативной памяти. Одновременно значение с выхода счетчика 78 поступает на вычитающий вход счетчика 79 и по переднему фронту уменьшает хранящееся в нем значение на единицы до кода

Figure 00000049
. The value from the counter 78 is fed to the first input of the multiplier 77, but the second input of which contains the value from the block 10 of the RAM. At the same time, the value from the output of the counter 78 goes to the subtracting input of the counter 79 and reduces the value stored in it by one to one to the code
Figure 00000049
.

Так происходит до тех пор, пока на выходе переполнения счетчика не появится сигнал переполнения, который подается на s-вход счетчика 78 и устанавливает в нем предел счета

Figure 00000049
.This happens until an overflow signal appears at the counter overflow output, which is fed to the s-input of counter 78 and sets the count limit in it
Figure 00000049
.

Значение с выхода умножителя 77 поступает на D-вход ОЗУ 59 и 67, где сохраняется по адресу, поступившему на а1-вход и а2-вход. После этого данное значение поступает на соответствующий второй и третий вход сумматора 65, где фиксируется как промежуточное суммарное значение.The value from the output of the multiplier 77 is fed to the D-input of RAM 59 and 67, where it is stored at the address received at the A1 input and A2 input. After that, this value is fed to the corresponding second and third input of the adder 65, where it is fixed as an intermediate total value.

Очередной тактовый импульс аналогично поступает на счетный вход счетчика 61 и по переднему фронту увеличивает его содержимое на единицу до кода тройки («0…011»). Этот код подается на а2-вход ОЗУ 59, на а1-входе которого присутствует код единицы с выхода счетчика 63. В результате, очередной код с выхода умножителя 77 подается на D-вход ОЗУ 59 для сохранения. Далее этот код поступает на второй вход сумматора 65.The next clock pulse is similarly fed to the counting input of the counter 61 and increases its content by one up to the three-way code (“0 ... 011”) on the leading edge. This code is fed to the a2 input of the RAM 59, on the a1 input of which there is a unit code from the output of the counter 63. As a result, the next code from the output of the multiplier 77 is sent to the D input of the RAM 59 for storage. Further, this code goes to the second input of the adder 65.

Так продолжается до тех пор, пока на выходе переполнения счетчика 61 не появится сигнала переполнения, который поступает на счетный вход счетчика 71 и по переднему фронту увеличивает его содержимое на единицу до кода двойки (выбирается вторая строка матрицы

Figure 00000050
).This continues until the output of the overflow of counter 61 produces an overflow signal, which enters the counting input of counter 71 and increases its content by one up to the code of the two on the leading edge (the second row of the matrix is selected
Figure 00000050
).

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

Figure 00000051
выше главной диагонали обработана, а так как в нашем случае граф направленный, необходима обработка матрицы
Figure 00000052
ниже главной диагонали.Further, the operation of the circuit proceeds similarly, until a single impulse appears at the output of the overflow of the counter 71. This means that the matrix
Figure 00000051
above the main diagonal is processed, and since in our case the graph is directed, we need to process the matrix
Figure 00000052
below the main diagonal.

Для этого единичный импульс с выхода переполнения счетчика 71 поступает на R-вход триггера 74, устанавливая его в нулевое состояние. таким образом, на прямом его выходе появляется нулевой потенциал, а на обратном единичный.For this, a single pulse from the overflow output of the counter 71 is fed to the R input of the trigger 74, setting it to the zero state. thus, a zero potential appears on its direct output, and a single potential appears on the reverse.

Далее работа схемы протекает аналогично описанному выше принципу. Отличие состоит в том, что значение интенсивности поступает с выхода ОЗУ 67 на третий вход сумматора 65.Further, the operation of the circuit proceeds in the same way as the principle described above. The difference is that the intensity value comes from the output of the RAM 67 to the third input of the adder 65.

Когда на выходе переполнения счетчика 70 появляется единичный потенциал, это означает, что матрицы

Figure 00000052
ниже главной диагонали просмотрена. Таким образом, множество основных процессоров
Figure 00000053
обработано. When a single potential appears at the output of the overflow of the counter 70, this means that the matrices
Figure 00000052
viewed below the main diagonal. Thus, many mainstream processors
Figure 00000053
processed.

На последнем этапе необходима обработка множества циклических фрагментов кубической системы

Figure 00000054
At the last stage, processing of a set of cyclic fragments of a cubic system is necessary.
Figure 00000054

Сигнал переполнения с выхода переполнения счетчика 70 поступает на второй вход элемента 66 И и на е-вход счетчика 72, разрешая его работу.The overflow signal from the overflow output of the counter 70 is fed to the second input of the element 66 And to the e-input of the counter 72, allowing its operation.

Так как циклических фрагментов N, то счетчик 72 подсчитывает количество обработанных циклических фрагментов.Since there are N cyclic fragments, counter 72 counts the number of cyclic fragments processed.

Единичный импульс с выхода переполнения счетчика 70 поступает на второй вход элемента И 76 и устанавливает SR-триггер 74 в единичное состояние, а также на второй вход элемента 66 И. В результате единичный сигнал с выхода элемента 66 И поступает на е-входы счетчиков 62 и 64, разрешая их работу.A single impulse from the overflow output of counter 70 arrives at the second input of element AND 76 and sets the SR flip-flop 74 to one state, as well as to the second input of element 66 I. As a result, a single signal from the output of element 66 I enters the e-inputs of counters 62 and 64, permitting their work.

Далее работа схемы происходит аналогично описанному выше принципу. Отличие состоит в том, что на D-вход ОЗУ 60 поступают значения с матрицы

Figure 00000055
. Обработка очередного циклического фрагмента заканчивается, когда на выходе переполнения счетчика 64 появляется единичный потенциал, который поступает на счетный вход счетчика 72, увеличивая его содержимое по переднему фронту на единицу.Further, the operation of the circuit is similar to the principle described above. The difference is that the D-input of RAM 60 receives the values from the matrix
Figure 00000055
. The processing of the next cyclic fragment ends when a single potential appears at the output of the overflow of the counter 64, which arrives at the counting input of the counter 72, increasing its content along the leading edge by one.

Очередной код с выхода ОЗУ 60 поступает на первый вход сумматора 65. The next code from the output of the RAM 60 is fed to the first input of the adder 65.

Появление единичного импульса на выходе переполнения счетчика 72 означает, что все циклические фрагменты кольцевой циклической системы обработаны. Единичный импульс с выхода переполнения счетчика 72 поступает на выход 73 переполнения устройства, откуда он поступает на ВУУ для принятия решения о дальнейших действиях схемы.The appearance of a single pulse at the output of the overflow of the counter 72 means that all cyclic fragments of the ring cyclic system are processed. A single impulse from the output of the overflow of the counter 72 arrives at the output 73 of the overflow of the device, from where it enters the ECD to decide on further actions of the circuit.

В это время минимальное значение интенсивности размещения в многопроцессорных кубических циклических системах при однонаправленной передаче информации поступает с выхода сумматора 65 на ВУУ для принятия решения о дальнейших действиях.At this time, the minimum value of the intensity of placement in multiprocessor cubic cyclic systems with unidirectional information transfer comes from the output of the adder 65 to the VUU for making decisions about further actions.

Таким образом, предлагаемое устройство аналогично прототипу позволяет формировать оптимальное размещение невзвешенных графов в линейной топологической модели. В устройстве возможно размещение взвешенных графов, причем допускается выбор двух моделей области размещения – линейной или кольцевой. Найденное субоптимальное размещение сопоставляется с предельным вариантом путем подсчета и сравнения значений длин связей L и L*. Дополнительно предлагаемое устройство позволяет выполнять подсчет минимального значения интенсивности размещения в многопроцессорных кубических циклических системах при однонаправленной передаче информации по критерию минимизации интенсивности взаимодействия процессов и данных.Thus, the proposed device, similar to the prototype, allows forming the optimal placement of unweighted graphs in a linear topological model. It is possible to place weighted graphs in the device, and it is possible to choose two models of the layout area - linear or circular. The found suboptimal placement is compared with the limiting option by counting and comparing the values of the bond lengths L and L * . Additionally, the proposed device allows to calculate the minimum value of the intensity of placement in multiprocessor cubic cyclic systems with unidirectional transmission of information according to the criterion of minimizing the intensity of interaction between processes and data.

Claims (2)

1. Устройство для подсчета минимального значения интенсивности размещения в многопроцессорных кубических циклических системах при однонаправленной передаче информации, содержащее первый регистр сдвига, второй регистр сдвига, блок формирования перестановок (БФП), блок постоянной памяти, блок запоминания лучшего варианта (БЗЛВ), коммутатор, АЛУ, дешифратор выбора дуги, реверсивный счетчик ячеек, блок оперативной памяти, счетчик топологии, первый и второй счетчики расстояний, умножитель, сумматор, регистр минимальной длины связей, первый элемент сравнения, вычитатель, триггер начала счета, триггер режима, триггер задания топологии, регистр длины связей, второй элемент сравнения, счетчик дуг, дешифратор блокировки дуги, регистр номера дуги, регистр минимального веса, электронную модель графа, группу с 1-го по n-й элементов ИЛИ, группу 1-го по m-й элементов И, первый и второй элементы И, второй блок элементов ИЛИ, третий элемент И, первый и второй одновибраторы, первый, второй и третий элементы задержки, первый блок элементов ИЛИ, причем выходы БФП соединены с соответствующими входами блока постоянной памяти и соответствующими входами БЗЛВ, сигнализирующий выход БФП соединен с установочным входом триггера начала счета, выходы блока постоянной памяти соединены с соответствующими входами коммутатора, выход которого соединен с входом АЛУ, выход которого соединен с информационным входом БЗЛВ, а выход БЗЛВ соединен с первым информационным входом АЛУ, выход переполнения первого регистра сдвига соединен с входом второго регистра сдвига, выходы первого и второго регистров сдвига с первого по n-й подключены к первым и вторым входам элементов ИЛИ 1-го по n-й соответственно, выход переполнения регистра сдвига соединен с управляющим входом АЛУ и с управляющим входом БФП, тактовый вход устройства соединен с входом регистра сдвига, с тактовым входом БФП и с первыми входами первого и второго элементов И, выход счетчика дуг соединен с входом дешифратора выбора дуги и входом данных регистра номера дуги, выход блока элементов ИЛИ подключен к первому входу первого элемента сравнения и к входу данных регистра минимального веса, выход регистра минимального веса соединен с вторым входом первого элемента сравнения и с входом данных блока оперативной памяти, выход первого элемента задержки соединен с входом установки регистра минимального веса и с входом установки регистра номера дуги, выход третьего элемента И соединен с синхровходом регистра минимального веса и с синхровходом регистра номера дуги, выход регистра номера дуги соединен с информационным входом дешифратора блокировки дуги, выход переполнения счетчика дуг соединен с разрешающим входом дешифратора блокировки дуги, а также с входом первого элемента задержки, первым счетным входом реверсивного счетчика ячеек и входом записи блока оперативной памяти, выход первого элемента И соединен со счетным входом счетчика дуг и со входом второго элемента задержки, выход которого соединен со вторым входом третьего элемента И, первый вход которого соединен с выходом элемента сравнения, второй вход первого элемента И соединен с прямым выходом триггера начала счета, который также соединен со вторым входом второго элемента И, третий вход первого элемента И соединен с инверсным выходом триггера режима, прямой выход которого соединен с третьим входом второго элемента И, выход второго элемента И соединен со вторым счетным входом реверсивного счетчика ячеек, выход которого подключен к адресному входу блока оперативной памяти, выход которого подключен к первому входу умножителя, выход второго счетчика расстояний подключен к второму входу умножителя, выход которого подключен к первому входу сумматора, второй вход которого подключен к выходу регистра минимальной длины связей и к второму входу вычитателя, выход сумматора подключен к входу данных регистра минимальной длины связей, выход третьего элемента задержки подключен к синхровходу регистра минимальной длины связей, выход второго элемента И и счетный вход первого счетчика расстояний подключены к входу третьего элемента задержки, выход второго одновибратора подключен к синхровходу счетчика расстояний, выход переполнения которого подключен к счетным входам счетчика топологии, второго счетчика расстояний и к входу второго одновибратора, выход счетчика топологии подключен к входу счетчика расстояний, вход данных устройства подключен ко входу данных счетчика топологии, синхровход счетчика топологии подключен к входу установки устройства, прямой выход триггера задания топологии подключен к разрешающему входу счетчика топологии, установочный вход триггера задания топологии подключен к входу установки устройства, вход сброса триггера задания топологии подключен к входу установки устройства, выход переполнения реверсивного счетчика ячеек подключен к установочному входу триггера режима, вход сброса которого подключен к входу установки устройства, выход регистра длины связей подключен ко второму входу второго элемента сравнения и к первому входу вычитателя, первый вход элемента сравнения подключен к выходу АЛУ и входу данных регистра длины связей, выход первого одновибратора подключен к синхровходу регистра длины связей, вход сброса триггера начала счета подключен к входу установки устройства, l-й выход дешифратора выбора дуги (l = 1, 2, …, m) соединен с l-м входом выбора дуги электронной модели графа, l-й выход дешифратора блокировки дуги соединен с l-м входом блокировки дуги электронной модели графа, l-й выход веса дуги электронной модели графа соединен с l-м входом второго блока элементов ИЛИ и l-м входом первого блока элементов ИЛИ, l-й выход элемента И группы элементов И с 1-го по m-й соединен с l-м управляющим входом электронной модели графа, выход блока элементов ИЛИ соединен со вторым информационным входом АЛУ, выход второго элемента сравнения соединен с входом первого одновибратора, выходы элементов с 1-го по n-й ИЛИ подключены к соответствующим входам элементов И 1-го по m-й, выход вычитателя соединен с выходом длины связей устройства, отличающееся тем, что в него дополнительно введен блок минимального значения, содержащий первое ОЗУ кольцевой циклической системы, ОЗУ циклического фрагмента, первый счетчик столбцов, второй счетчик столбцов, первый счетчик строк, второй счетчик столбцов, сумматор минимального значения, первый элемент И, второе ОЗУ кольцевой циклической системы, третий счетчик столбцов матрицы смежности, второй счетчик строк, первый и второй счетчик количества строк, счетчик количества циклических участков, SR-триггер режима, второй элемент И, умножитель, счетчик расстояний, вычитающий счетчик, причем выход блока оперативной памяти соединен с первым входом второго элемента И, второй вход которого подсоединен к выходу переполнения первого счетчика количества строк, второму входу первого 66 элемента И и к е-входу счетчика количества циклических участков, счетный вход которого подключен к выходу переполнения второго счетчика столбцов, е-вход которого соединен с выходом первого элемента И, и к е-входу второго счетчика столбцов, выход переполнения которого подключен к счетному входу второго счетчика столбцов, выход которого соединен с а1-входом ОЗУ циклического фрагмента, а2-вход которого подключен к выходу второго счетчика столбцов, счетный вход которого подсоединен к тактовому входу устройства, счетный вход счетчика расстояний подключен к тактовому входу устройства, выход счетчика расстояний соединен с первым входом умножителя и со счетным входом вычитающего счетчика, выход переполнения которого соединен с s-входом счетчика расстояний, второй вход умножителя соединен с выходом блока оперативной памяти, выход второго элемента И соединен с S-входом SR-триггера режима, R-вход которого подключен к выходу переполнения второго счетчика количества строк, счетный вход которого подключен к выходу переполнения первого счетчика столбцов, е-вход которого соединен с прямым выходом SR-триггер режима, обратный выход которого подключен к е-входу третьего счетчика столбцов, счетный вход которого подключен к тактовому входу устройства, счетному входу счетчика первого счетчика столбцов и к s-входам первого ОЗУ кольцевой циклической системы и второго ОЗУ кольцевой циклической системы, D-вход которого соединен с выходом умножителя и с D-входом первого ОЗУ кольцевой циклической системы, а1-вход которого соединен с выходом первого счетчика строк, а2-вход первого ОЗУ кольцевой циклической системы подключен к выходу первого счетчика столбцов, а1-вход второго ОЗУ кольцевой циклической системы подключен к выходу второго счетчика строк, счетный вход которого соединен с выходом первого счетчика количества строк, D-вход ОЗУ циклического фрагмента подсоединен к выходу блока оперативной памяти, выход ОЗУ циклического фрагмента соединен с первым входом сумматора, второй и третий входы сумматора подключены к выходам первого ОЗУ кольцевой циклической системы и второго ОЗУ кольцевой циклической системы, выход сумматора подключен к выходу ВУУ, где происходит принятие решения о дальнейших действиях многопроцессорной кубической циклической системы, выход переполнения счетчика количества циклических участков соединен с выходом переполнения устройства.1. A device for calculating the minimum value of the intensity of placement in multiprocessor cubic cyclic systems with unidirectional information transfer, containing the first shift register, the second shift register, permutation generation unit (BFP), permanent memory unit, memory unit of the best variant (BLP), switchboard, ALU , decoder arc selection, reversible cell counter, memory block, topology counter, first and second distance counters, multiplier, adder, register of the minimum bond length, first comparison element, subtractor, start of account trigger, mode trigger, topology setting trigger, link length register, second comparison element, arc counter, arc lock decoder, arc number register, minimum weight register, electronic graph model, groups 1 through n th elements OR, a group of 1st to m th elements AND, the first and second elements AND, the second block of elements OR, the third element AND, the first and second one-shot, the first, second and third delay elements, the first block of elements OR, and outputs BFP connected to the corresponding input by the fixed memory unit and the corresponding BZLV inputs, the signaling output of the FPU is connected to the setup input of the start of the counting trigger, the outputs of the permanent memory unit are connected to the corresponding inputs of the switch, the output of which is connected to the input of the ALU, the output of which is connected to the information input of the BPU, and the output of the BPUF is connected to the first information input of the ALU, the overflow output of the first shift register is connected to the input of the second shift register; the outputs of the first and second shift registers from the first to the nth are connected to the first and second eye inputs of the elements OR 1 st to n-th, respectively, the output of the shift register overflow is connected to the control input of the ALU and the control input of the BFU, the clock input of the device is connected to the input of the shift register, with the clock input of the BFP and with the first inputs of the first and second elements AND , the output of the arc counter is connected to the input of the arc select decoder and the data input of the arc number register, the output of the block of elements OR is connected to the first input of the first comparison element and to the data input of the minimum weight register, the output of the minimum weight register En with the second input of the first comparison element and with the data input of the RAM block, the output of the first delay element is connected to the minimum weight register setting input and the arc number register setting input, the third AND output element is connected to the minimum weight register synchronous input and the arc number register synchronous input , the output of the arc number register is connected to the information input of the arc lock decoder, the overflow output of the arc counter is connected to the enable input of the arc lock decoder, as well as to the input of the first arc the delay element, the first counting input of the reversible cell counter and the write input of the RAM block, the output of the first element I is connected to the counting input of the arc counter and the input of the second delay element whose output is connected to the second input of the third element I, the first input of which is connected to the output of the element comparison, the second input of the first element And is connected to the direct output of the trigger trigger count, which is also connected to the second input of the second element And, the third input of the first element And is connected to the inverse output of the trigger mode mode, the direct output of which is connected to the third input of the second element, And the output of the second element, And connected to the second counting input of the reversing cell counter, the output of which is connected to the address input of the RAM block whose output is connected to the first input of the multiplier, the output of the second distance counter to the second input of the multiplier, the output of which is connected to the first input of the adder, the second input of which is connected to the output of the register of the minimum bond length and to the second input of the subtractor, the output of the adder The input to the data register of the minimum connection length, the output of the third delay element is connected to the synchronous input of the register of the minimum connection length, the output of the second element And the counting input of the first distance counter is connected to the input of the third delay element, the output of the second one-vibrator is connected to the synchronous input of the distance counter, the overflow output of which connected to the counting inputs of the topology counter, the second distance counter and to the input of the second one-shot, the output of the topology counter is connected to the input of the distance counter, input The device data is connected to the data input of the topology counter, the synchronization input of the topology counter is connected to the device installation input, the direct output of the topology set trigger is connected to the enable input of the topology counter, the installation input of the topology set trigger is connected to the device installation input, the reset input of the topology set trigger is connected to the input device installation, the output of the overflow counter of the cell counter is connected to the setup input of the mode trigger, the reset input of which is connected to the installation input the device, the output of the link length register is connected to the second input of the second comparison element and to the first input of the subtractor, the first input of the comparison element is connected to the output of the ALU and the data input of the link length register, the output of the first one-vibrator is connected to the synchronous input of the link length register, the reset input of the account trigger is connected to the device installation input, the lth output of the arc selection decoder (l = 1, 2, ..., m) is connected to the lth input of the arc selection of the electronic model of the graph, the lth output of the arc lock decoder connected to the lth input of the arc lockthe electronic model of the graph, the lth output of the arc weight of the electronic model of the graph is connected to the lth input of the second block of elements OR and the lth input of the first block of elements OR, the lth output of the element AND of the group of elements AND from the 1st to the mth connected to the lth control input of the electronic model of the graph, the output of the block of elements OR is connected to the second information input of the ALU, the output of the second comparison element is connected to the input of the first one-vibrator, the outputs of the elements from the 1st to the nth OR are connected to the corresponding inputs of the elements AND 1 th on the m-th, the output of the subtractor is connected to the output d device connection lines, characterized in that it additionally introduces a minimum value block containing the first RAM of the ring cyclic system, the cyclic fragment RAM, the first column counter, the second column counter, the first row counter, the second column counter, the minimum value adder, the first And element , the second RAM of the ring cyclic system, the third counter of the columns of the adjacency matrix, the second row counter, the first and second rows number counter, the count of the number of cyclic sections, SR-mode trigger, WTO the second element And, the multiplier, the distance counter, the subtracting counter, the output of the RAM block is connected to the first input of the second element And, the second input of which is connected to the overflow output of the first counter of the number of lines, the second input of the first 66 I element and to the e-input of the number counter cyclic plots, the counting input of which is connected to the overflow output of the second column counter, the e-input of which is connected to the output of the first element I, and to the e-input of the second column counter, the output of which overflow is connected to the counting input of the second column counter, the output of which is connected to the a1 input of a cyclic fragment RAM, a2 input of which is connected to the output of the second column counter, the counting input of which is connected to the clock input of the device, the counting input of the distance counter connected to the clock input of the device, the output of the distance counter connected to the first input of the multiplier and to the counting input of the subtracting counter, the overflow output of which is connected to the s-input of the distance counter, the second input of the multiplier is connected to the output of the operational unit In this case, the output of the second element I is connected to the S-input of the SR-mode trigger, the R-input of which is connected to the overflow output of the second counter of the number of rows, the counting input of which is connected to the overflow output of the first column counter, the e-input of which is connected to the direct output SR- trigger mode, the reverse output of which is connected to the e-input of the third column counter, the counting input of which is connected to the clock input of the device, the counting input of the counter of the first column counter and to the s-inputs of the first RAM of the ring cyclic system and the second The RAM of the ring cyclic system, the D-input of which is connected to the output of the multiplier and the D-input of the first RAM of the ring cyclic system, the A1-input of which is connected to the output of the first row counter, a2-input of the first RAM of the ring cyclic system, is connected to the output of the first column counter, A1-input of the second RAM of the ring cyclic system is connected to the output of the second line counter, the counting input of which is connected to the output of the first counter of the number of lines, D-input of the RAM of the cyclic fragment is connected to the output of the RAM block, the RAM of the cyclic fragment is connected to the first input of the adder, the second and third inputs of the adder are connected to the outputs of the first RAM of the ring cyclic system and the second RAM of the ring cyclic system, the output of the adder is connected to the output of the VUU, where the decision on further actions of the multiprocessor cubic cyclic system, the output the overflow counter of the number of cyclic sections is connected to the output of the overflow device. 2. Устройство по п.1, отличающееся тем, что электронная модель графа содержит m электронных моделей дуги, причем l-я электронная модель дуги (l = 1, 2, …, m) содержит триггер блокировки дуги, регистр веса дуги, регистр блокировки дуги, первый элемент И, второй элемент И, элемент ИЛИ, причем входы первого элемента И соединены с соответствующими входами задания графа устройства, выход первого элемента И соединен с синхровходом регистра веса дуги и с установочным входом триггера блокировки дуги, вход сброса которого соединен с l-м входом блокировки дуги электронной модели графа, вход данных регистра веса дуги соединен с l-м входом веса дуги устройства, первый вход элемента ИЛИ соединен с l-м управляющим входом электронной модели графа, а второй вход элемента ИЛИ соединен с выходом второго элемента И, первый вход которого соединен с прямым выходом триггера блокировки дуги и с разрешающим входом регистра блокировки дуги, второй вход второго элемента И соединен с l-м входом выбора дуги электронной модели графа, вход сброса регистра блокировки дуги соединен с l-м входом сброса устройства, выход регистра блокировки дуги соединен с l-м выходом веса дуги электронной модели графа, который также соединен с выходом регистра веса дуги, выход элемента ИЛИ подключен к разрешающему входу регистра веса дуги.2. The device according to claim 1, characterized in that the electronic model of the graph contains m electronic models of the arc, and the l-th electronic model of the arc (l = 1, 2, ..., m) contains the arc lock trigger, the arc weight register, the lock register arc, the first element is AND, the second element is AND, element OR, and the inputs of the first element AND are connected to the corresponding inputs of the device graph, the output of the first element AND is connected to the synchronous input of the arc weight register and to the installation input of the arc lock trigger, the reset input of which is connected to l entrance blocking arcs and the electronic model of the graph, the input data of the arc weight register is connected to the lth input of the arc weight of the device, the first input of the OR element is connected to the lth control input of the electronic model of the graph, and the second input of the OR element is connected to the output of the second AND element, the first input of which connected to the direct output of the arc lock trigger and to the enable input of the arc lock register, the second input of the second element I is connected to the lth arc selection input of the electronic model of the graph, the reset input of the arc lock register is connected to the lth device reset input, output The d register of the arc lock is connected to the lth output of the arc weight of the electronic model of the graph, which is also connected to the output of the arc weight register, the output of the OR element is connected to the enable input of the arc weight register.
RU2018120597A 2018-06-05 2018-06-05 Device for counting minimum intensity of placement in multiprocessor cubic cyclic systems in unidirectional transmission of information RU2688236C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2018120597A RU2688236C1 (en) 2018-06-05 2018-06-05 Device for counting minimum intensity of placement in multiprocessor cubic cyclic systems in unidirectional transmission of information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018120597A RU2688236C1 (en) 2018-06-05 2018-06-05 Device for counting minimum intensity of placement in multiprocessor cubic cyclic systems in unidirectional transmission of information

Publications (1)

Publication Number Publication Date
RU2688236C1 true RU2688236C1 (en) 2019-05-21

Family

ID=66636771

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018120597A RU2688236C1 (en) 2018-06-05 2018-06-05 Device for counting minimum intensity of placement in multiprocessor cubic cyclic systems in unidirectional transmission of information

Country Status (1)

Country Link
RU (1) RU2688236C1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2718166C1 (en) * 2019-11-13 2020-03-30 Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) Device for estimating degree of optimality of arrangement in multiprocessing hypercubic cyclic systems
RU2783489C1 (en) * 2022-02-14 2022-11-14 Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) Apparatus for finding the minimum value of placement intensity in multiprocessor hypercubic systems with directed information transmission

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3579194A (en) * 1968-09-04 1971-05-18 Bell Telephone Labor Inc Process for determining the simple cycles of a finite directed graph
RU2024058C1 (en) * 1991-04-08 1994-11-30 Таганрогский радиотехнический институт им.В.Д.Калмыкова Device for estimating linear arrangement of elements
US5634113A (en) * 1994-12-13 1997-05-27 Unisys Corporation Method for generating a preferred processing order and for detecting cycles in a directed graph used to represent system component connectivity
RU2143729C1 (en) * 1998-03-17 1999-12-27 Военная академия связи Device for solving integer linear programming tasks
RU2193796C2 (en) * 2001-01-29 2002-11-27 Курский государственный технический университет Device for generating sub-optimal disposition and its assessment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3579194A (en) * 1968-09-04 1971-05-18 Bell Telephone Labor Inc Process for determining the simple cycles of a finite directed graph
RU2024058C1 (en) * 1991-04-08 1994-11-30 Таганрогский радиотехнический институт им.В.Д.Калмыкова Device for estimating linear arrangement of elements
US5634113A (en) * 1994-12-13 1997-05-27 Unisys Corporation Method for generating a preferred processing order and for detecting cycles in a directed graph used to represent system component connectivity
RU2143729C1 (en) * 1998-03-17 1999-12-27 Военная академия связи Device for solving integer linear programming tasks
RU2193796C2 (en) * 2001-01-29 2002-11-27 Курский государственный технический университет Device for generating sub-optimal disposition and its assessment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2718166C1 (en) * 2019-11-13 2020-03-30 Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) Device for estimating degree of optimality of arrangement in multiprocessing hypercubic cyclic systems
RU2783489C1 (en) * 2022-02-14 2022-11-14 Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) Apparatus for finding the minimum value of placement intensity in multiprocessor hypercubic systems with directed information transmission

Similar Documents

Publication Publication Date Title
US4097920A (en) Hardware control for repeating program loops in electronic computers
US5548773A (en) Digital parallel processor array for optimum path planning
US4270181A (en) Data processing system having a high speed pipeline processing architecture
RU2193796C2 (en) Device for generating sub-optimal disposition and its assessment
RU2688236C1 (en) Device for counting minimum intensity of placement in multiprocessor cubic cyclic systems in unidirectional transmission of information
RU2452005C2 (en) Location lower-bound estimate search device in matrix systems during directional transmission of information
CN100507834C (en) Limited run branch prediction
US3598974A (en) Programmable digital differential analyzer integrator
CN115803811A (en) Inter-layer communication techniques for memory processing unit architectures
RU2628329C1 (en) Device for searching for minimum value of insensitivity of placement in toroidal systems with directed information transmission
RU2727555C2 (en) Device for estimating the degree of optimality of arrangement in multiprocessor cubic cyclic systems with directional information transmission
RU2447485C2 (en) Device to search lower location score in matrix systems during bidirectional information transfer
RU2718166C1 (en) Device for estimating degree of optimality of arrangement in multiprocessing hypercubic cyclic systems
RU2634198C1 (en) Device for searching minimum value of placement intensity in complete matrix systems with bidirectional transmission of information
RU2723288C1 (en) Device for estimating the degree of optimality of arrangement in multiprocessor cubic cyclic systems with directional information transmission
RU2470357C2 (en) Location lower-bound estimate search device in fully connected matrix systems during one-way data transfer
RU2769967C1 (en) Device for searching for a lower estimate of placement in hybrid multiprocessor systems with directional information transmission
RU2798392C1 (en) Device for identifying the optimal placement in cluster multiprocessor systems with directed information transfer
US2812903A (en) Calculating machines
RU2451334C1 (en) Apparatus for estimating loading efficiency in systems with tree-like topology during directed information transmission
RU2791419C1 (en) Search device for degree of placement optimality in cluster multiprocessor systems
RU2024058C1 (en) Device for estimating linear arrangement of elements
Akl Computing shortest paths with cellular automata
RU2319196C1 (en) Device for finding minimal intensity value in systems with linear organization during directional transmission of data
RU2323467C1 (en) Device for estimating quality of positioning in systems with matrix structure

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20200606