RU2470357C2 - Location lower-bound estimate search device in fully connected matrix systems during one-way data transfer - Google Patents
Location lower-bound estimate search device in fully connected matrix systems during one-way data transfer Download PDFInfo
- Publication number
- RU2470357C2 RU2470357C2 RU2010153834/08A RU2010153834A RU2470357C2 RU 2470357 C2 RU2470357 C2 RU 2470357C2 RU 2010153834/08 A RU2010153834/08 A RU 2010153834/08A RU 2010153834 A RU2010153834 A RU 2010153834A RU 2470357 C2 RU2470357 C2 RU 2470357C2
- Authority
- RU
- Russia
- Prior art keywords
- input
- output
- counter
- elements
- arc
- Prior art date
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
Description
Изобретение относится к области цифровой вычислительной техники и предназначено для моделирования комбинаторных задач при проектировании вычислительных систем (ВС), например для размещения процессов (задач, файлов, данных, управляющих процессов и т.д.).The invention relates to the field of digital computing and is intended for modeling combinatorial problems in the design of computing systems (AC), for example, for hosting processes (tasks, files, data, control processes, etc.).
Известен элемент однородной среды, включающий блок обработки входных сигналов, блок запоминания признака конечной точки, блок выходной логики, триггер записи трасс, блок оценки текущего размещения, блок передачи информации, входы, выходы, управляющий вход, информационные входы, информационные выходы, индикаторный выход (а.с. 1291957 СССР, кл. G06F 7/00, опубл. 23.02.87, БИ №7).A well-known element of a homogeneous environment, including an input signal processing unit, an endpoint attribute storage unit, an output logic unit, a trace recording trigger, a current location estimation unit, an information transmission unit, inputs, outputs, a control input, information inputs, information outputs, an indicator output ( AS 1291957 USSR, class G06F 7/00, publ. 02.23.87, BI No. 7).
Недостатком указанного элемента является узкая область применения, обусловленная ограниченным числом критериев оценки степени оптимальности размещения.The disadvantage of this element is a narrow scope, due to a limited number of criteria for assessing the degree of optimal placement.
Наиболее близкой к предлагаемому устройству по технической сущности является устройство для формирования субоптимального размещения и его оценки, содержащая блок формирования перестановок, блок постоянной памяти, коммутатор, арифметико-логическое устройство (АЛУ), блок запоминания лучшего варианта, введены дешифратор выбора дуги, реверсивный счетчик ячеек, блок оперативной памяти, счетчик топологии, первый и второй счетчики расстояний, умножитель, сумматор, регистр минимальной длины связей, первый элемент сравнения, вычитатель, триггер начала счета, триггер режима, триггер задания топологии, регистр длины связей, второй элемент сравнения, счетчик дуг, дешифратор блокировки дуги, регистр номера дуги, регистр минимального веса, группа элементов И, первый и второй элементы И, второй блок элементов ИЛИ, третий элемент И, первый и второй одновибраторы, первый, второй и третий элементы задержки, два регистра сдвига, элемент ИЛИ и группу элементов ИЛИ, электронную модель графа (ЭМГ), содержащую m электронных моделей дуги, причем l-я электронная модель дуги (l=1, 2, …, m) содержит триггер блокировки дуги, регистр веса дуги, регистр блокировки дуги, первый элемент И, второй элемент И, элемент ИЛИ (Патент РФ №2193796, кл. G06F 17/10, 7/38, опубл. 27.11.2002, БИ №33).Closest to the proposed device in technical essence is a device for generating suboptimal placement and its estimation, containing a permutation generation unit, a permanent memory unit, a switch, an arithmetic logic unit (ALU), a memory unit of the best option, an arc selection decoder, a reversible cell counter are introduced , RAM block, topology counter, first and second distance counters, multiplier, adder, register of minimum connection lengths, first comparison element, subtracter, trigger Start of account, mode trigger, topology job trigger, link length register, second comparison element, arc counter, arc lock decoder, arc number register, minimum weight register, AND element group, first and second AND elements, second OR element block, third AND element, first and second one-shots, first, second, and third delay elements, two shift registers, OR element, and a group of OR elements, an electronic graph model (EMG) containing m electronic arc models, the l-th electronic arc model (l = 1, 2, ..., m) contains a trigger блокировки блокировки блокировки веса блокировки блокировки,,, блокировки блокировки блокировки блокировки блокировки блокировки блокировки блокировки блокировки блокировки блокировки блокировки блокировки блокировки блокировки блокировки блокировки блокировки блокировки Arc blocking register, arc weight register, arc block register, first element AND, second element AND, OR element (RF Patent No. 2193796, cl.
Недостатком указанного устройства является узкая область применения, обусловленная отсутствием средств поиска нижней оценки размещения в полносвязных матричных системах (МС) при однонаправленной передаче информации по критерию минимизации интенсивности взаимодействия процессов и данных.The disadvantage of this device is a narrow scope, due to the lack of search tools for lower bounds for placement in fully connected matrix systems (MS) with unidirectional information transfer according to the criterion of minimizing the intensity of the interaction of processes and data.
Технической задачей изобретения является расширение области применения устройства за счет введения средств поиска нижней оценки размещения в полносвязных матричных системах при однонаправленной передаче информации по критерию минимизации интенсивности взаимодействия процессов и данных.An object of the invention is to expand the scope of the device by introducing means of finding a lower estimate for placement in fully connected matrix systems with unidirectional information transfer according to the criterion of minimizing the intensity of the interaction of processes and data.
Техническая задача решается тем, что в устройство поиска нижней оценки размещения в полносвязных матричных системах при однонаправленной передаче информации (фиг.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-й, выход вычитателя соединен с выходом длины связей устройства, дополнительно введен блок формирования нижней оценки, содержащий матрицу из i.j (i=1, 2, …, m; j=1, 2,…, n) сумматоров, первый и второй счетчики строк, первый и второй счетчик столбцов, матрицу из i.j (i=1, 2, …, m; j=1, 2, …, n) регистров, первый и второй дешифраторы горизонтально зафиксированных дуг, первый и второй дешифраторы вертикально зафиксированных дуг, матрицу из i.j (i=1, 2, …, m; j=1, 2, …, n) элементов ИЛИ, первую и вторую матрицы из i.j (i=1, 2, …, m; j=1, 2, …, n) элементов И, первый элемент ИЛИ, RS-триггер запрета, второй элемент ИЛИ, третий и четвертый счетчик строк, третий счетчик инцидентной вершины, первый и второй элемент И, причем вход устройства подключен к S-входу RS-триггера запрета, R-вход которого подсоединен к выходу переполнения первого счетчика столбцов, прямой выход RS-триггера запрета подключен ко второму входу второго элемента И, а также к первому входу первого элемента И, инверсный выход RS-триггера запрета подключен к е-входам третьего и четвертого счетчика строк, а также к е-входу третьего счетчика инцидентной вершины, с-вход которого подсоединен к выходу переполнения третьего счетчика строк и к r-входу четвертого счетчика строк, выход переполнения третьего счетчика инцидентной вершины подсоединен к выходу переполнения устройства, тактовый вход устройства подсоединен к счетному входу четвертого счетчика строк, ое-вход которого подсоединен к прямому выходу триггера режима, выход переполнения четвертого счетчика строк подключен к счетному входу третьего счетчика строк и счетному входу третьего счетчика инцидентной вершины, первый вход второго элемента ИЛИ подключен к выходу первого счетчика строк, выход переполнения которого подсоединен к счетному входу второго счетчика строк, выход переполнения которого соединен с разрешающими входами первого и второго счетчика столбцов, выход переполнения которого подсоединен к счетному входу первого счетчика столбцов, счетный вход второго счетчика столбцов соединен с тактовым входом устройства, выход второго счетчика столбцов подключен к входу второго дешифратора вертикально зафиксированных дуг, выход первого счетчика столбцов соединен с входом первого дешифратора вертикально зафиксированных дуг, ое-вход первого счетчика строк подключен к выходу первого элемента И, второй вход которого соединен с прямым выходом триггера режима, тактовый вход устройства подключен к первому входу второго элемента И, выход которого соединен со счетным входом первого счетчика строк, выход третьего счетчика строк соединен с первым входом первого элемента ИЛИ, второй вход которого подключен к выходу третьего счетчика инцидентной вершины, третий вход первого элемента ИЛИ соединен с выходом второго счетчика строк, выход первого элемента ИЛИ подключен ко входу первого дешифратора горизонтально зафиксированных дуг, выходы с первого по n-й которого соединены с соответствующими вторыми входами групп i.1, i.1, …, i.1 (i=1, 2, …,m) элементов второй матрицы из i.j (i=1, 2, …, m; j=1, 2, …, n) элементов И, выходы с первого по n-й второго дешифратора горизонтально зафиксированных дуг соединены с соответствующими первыми входами групп 1.j, 1.j, …, 1.j (j=1, 2, …, n) элементов второй матрицы из i.j (i=1, 2, …, m; j=1, 2, …, n) элементов И, выходы с первого по n-й второго 67 дешифратора вертикально зафиксированных дуг соединен с соответствующими вторыми входами групп 1.j, 1.j, …, 17 (j=1, 2, …, n) элементов первой матрицы из i.j (i=1, 2, …, m; j=1, 2, …, n) элементов И, выходы с первого по n-й первого дешифратора вертикально зафиксированных дуг подключен к соответствующим первым входам групп i.1, i.1, …, i.1 (i=1, 2, …, m) элементов первой матрицы из i.j (i=1, 2, …, m; j=1, 2, …, n) элементов И, выход элементов i.j (i=1, 2, …, m; j=1, 2, …, n) И первой матрицы из i.j (i=1, 2, …, m; j=1, 2, …, n) элементов И подключен к первому входу элемента i.j (i=1, 2, …, m; j=1, 2, …, n) ИЛИ матрицы из i.j (i=1, 2, …, m; j=1, 2, …, n) элементов ИЛИ, соответствующие вторые входы которых подключены к выходам элементов i.j (i=1, 2, …, m; j=1, 2, …, n) И второй матрицы из i.j (i=1, 2, …, m; j=1, 2, …, n) элементов И, выходы элементов i.j (i=1, 2, …, m; j=1, 2, …, n) ИЛИ матрицы из i.j (i=1, 2, …, m; j=1, 2, …, n) элементов ИЛИ подсоединены к соответствующим разрешающим ое-входам матрицы из i.j (i=1, 2, …, m; j=1, 2, …, n) регистров, выходы которых подключены к соответствующим первым i.j (i=1, 2, …, m; j=1, 2,…, n) входам элементов матрицы из i.j (i=1, 2, …, m; j=1, 2, …, n) сумматоров, ко вторым входам которых подключен выход блока оперативной памяти, выходы элементов i.j (i=1, 2, …, m; j=1, 2, …, n) матрицы из i.j (i=1, 2, …, m; j=1, 2, …, n) сумматоров подсоединены к соответствующим D-входам матрицы из i.j (i=1, 2, …, m; j=1, 2, …, n) регистров, выход четвертого счетчика строк соединены с третьим входом второго 92 элемента ИЛИ.The technical problem is solved in that in a device for finding a lower estimate of placement in fully connected matrix systems for unidirectional information transfer (Fig. 1), containing a first shift register, a second shift register, a permutation formation unit (BFT), a permanent memory unit, a memory unit of the best option (BZLV), switch, ALU, arc selection decoder, reversible cell counter, RAM block, topology counter, first and second distance counters, multiplier, adder, register of minimum connection length, first element t comparisons, subtracter, start trigger, mode trigger, topology trigger, link length register, second comparison element, arc counter, arc lock decoder, arc number register, minimum weight register, electronic graph model,
Электронная модель графа содержит m электронных моделей дуги, причем l-я электронная модель дуги (l=1, 2, …, m) содержит триггер блокировки дуги, регистр веса дуги, регистр блокировки дуги, первый элемент И, второй элемент И, элемент ИЛИ, причем входы первого элемента И соединены с соответствующими входами задания графа устройства, выход первого элемента И соединен с синхровходом регистра веса дуги и с установочным входом триггера блокировки дуги, вход сброса которого соединен с l-м входом блокировки дуги электронной модели графа, вход данных регистра веса дуги соединен с l-м входом веса дуги устройства, первый вход элемента ИЛИ соединен с l-м управляющим входом электронной модели графа, а второй вход элемента ИЛИ соединен с выходом второго элемента И, первый вход которого соединен с прямым выходом триггера блокировки дуги и с разрешающим входом регистра блокировки дуги, второй вход второго элемента И соединен с l-м входом выбора дуги электронной модели графа, вход сброса регистра блокировки дуги соединен с l-м входом сброса устройства, выход регистра блокировки дуги соединен с l-м выходом веса дуги электронной модели графа, который также соединен с выходом регистра веса дуги, выход элемента ИЛИ подключен к разрешающему входу регистра веса дуги.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 an arc lock trigger, an arc weight register, an arc lock register, the first AND element, the second AND element, the OR element moreover, the inputs of the first element And are connected to the corresponding inputs of the job graph of the device, the output of the first element And is connected to the sync 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 l-th input of the arc block of the electronic graph model, the data input is the arc weight histogram is connected to the l-th input of the device's arc weight, the first input of the OR element is connected to the l-th control input of the graph's electronic model, and the second input of the OR element is connected to the output of the second AND element, whose first input is connected to the direct output of the arc lock trigger and with the enabling input of the arc lock register, the second input of the second AND element is connected to the l-th input of the arc selection of the electronic graph model, the reset input of the arc lock register is connected to the l-th input of the device reset, the output of the arc lock register is connected to the l-th by the 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.
Сущность изобретения поясняется чертежами, где на фиг.1 изображена функциональная схема устройства поиска нижней оценки размещения в полносвязных матричных системах (МС) при однонаправленной передаче информации; фиг.2 поясняет сущность использования электронной модели графа; фиг.3 иллюстрирует принцип работы блока 58 формирования нижней оценки в полносвязных МС при однонаправленной передаче информации; фиг.4. поясняет принцип работы предлагаемого устройства.The invention is illustrated by drawings, where figure 1 shows a functional diagram of a device for finding a lower estimate of placement in a fully connected matrix systems (MS) for unidirectional transmission of information; figure 2 explains the essence of using an electronic model of the graph; figure 3 illustrates the principle of operation of the
Общие особенности изобретения состоят в следующем.General features of the invention are as follows.
Предлагаемое устройство может использоваться в области проектирования ВС, например, при размещении процессов (алгоритмов, задач, данных, файлов и т.п.). Устройство дополнительно позволяет осуществлять поиск нижней оценки размещения в полносвязных МС при однонаправленной передаче информации.The proposed device can be used in the field of aircraft design, for example, when placing processes (algorithms, tasks, data, files, etc.). The device additionally allows you to search for lower estimates of placement in a fully connected MS with unidirectional information transfer.
Исходная задача (процесс, алгоритм, программа) представляется в виде ориентированного взвешенного графа G=<X,E>, вершины xi∈Х которого соответствуют подзадачам (подалгоритмам, подпрограмм и т.п.), а дуги eij∈Е⊆Х×Х задают управляющие и/или информационные связи между подзадачами и фактически являются каналами передачи данных. Граф G может быть описан матрицей смежности , где ; wij - объем передаваемых данных между i-м и j-м процессорным модулем.The original task (process, algorithm, program) is represented as a directed weighted graph G = <X, E>, whose vertices x i ∈X correspond to subproblems (subalgorithms, subprograms, etc.), and arcs e ij ∈Е⊆Х × X define control and / or information links between subtasks and are actually data transmission channels. Graph G can be described by the adjacency matrix where ; w ij is the amount of data transmitted between the i-th and j-th processor module.
МС отображается однородной средой, которой ставится в соответствие топологическая модель в виде графа H=<U,V>, гдеThe MS is displayed by a homogeneous medium, which corresponds to the topological model in the form of the graph H = <U, V>, where
- множество модулей МС, организованных в матрицу , где n является количеством модулей МС и количеством вершин графа G, V - множество межмодульных связей. - a lot of MS modules organized into a matrix , where n is the number of MS modules and the number of vertices of the graph G, V is the set of intermodular connections.
Размещение графа G в МС Н будем задавать в виде отображения:The placement of the graph G in the MS H will be set in the form of a map:
где , , !Where , , !
Для удобства дальнейшего описания будем считать, что однородная среда содержит m×n элементов, при этом m=n (где m и n - число процессов). Функционирование однородной среды аналогично прототипу. При поступлении сигнала от внешнего устройства управления (ВУУ) происходит перестановка двух вершин графа и получение нового варианта размещения. Предлагаемое устройство вычисляет значения критериев оценки и выдает указанные значения ВУУ. Последнее анализирует принятые значения и либо фиксирует полученное размещение как более оптимальное, если значения критериев улучшают ранее найденные значения, либо игнорирует его.For the convenience of the further description, we assume that a homogeneous medium contains m × n elements, with m = n (where m and n are the number of processes). The functioning of a homogeneous environment is similar to the prototype. Upon receipt of a signal from an external control device (VUU), two vertices of the graph are rearranged and a new placement option is obtained. The proposed device calculates the values of the evaluation criteria and provides the specified values of the VUU. The latter analyzes the accepted values and either fixes the resulting placement as more optimal if the values of the criteria improve the previously found values, or ignore it.
Предлагаемое устройство дополнительно реализует поиск нижней оценки размещения взвешенных графов в полносвязных МС при однонаправленной передаче информации по критерию минимизации интенсивности взаимодействия процессов и данных.The proposed device additionally implements a search for a lower estimate for the placement of weighted graphs in fully connected MSs with unidirectional information transfer according to the criterion of minimizing the intensity of interaction between processes and data.
Принцип поиска нижней оценки размещения иллюстрируется на фиг.4. Здесь на фиг.4а представлен гипотетический граф G из 9 вершин, а на фиг.4б соответствующая ему матрица смежности W. На фиг 4в, 4г показаны гипотетические варианты размещения дуг графа в МС. Модули МС представлены квадратами, в левом верхнем углу которых представлены их номера, пунктирные линии обозначают связи модулей МС, сплошные линии показывают гипотетические зафиксированные дуги. При поиске нижней оценки размещения предполагается, что топологии исходного графа G и графа связей Н между модулями тождественны. То есть при вычислении нижней оценки, дуги графа G с наибольшим весом назначаются на самые короткие маршруты в графе Н, не обращая внимания на ограничения, накладываемые фактическими связями между задачами. Полученное суммарное значение интенсивности является нижней оценкой размещения. В случае «реального» варианта размещения его качество будет тем лучше, чем его суммарное значение интенсивности будет ближе к минимальной нижней оценке. Поэтому при размещении задач (алгоритмов, процессов, данных) необходимо стремится к этому значению. Из фиг.4г видно, что такой вариант размещения не является нижней оценкой, так как в нем например на модули 1-2 и 4-7 назначены по две дуги графа, что ведет к неизбежному увеличению объема передачи данных между этими модулями. Вариант размещения на фиг 4в устраняет эту проблему и одновременно является нижней оценкой размещения. Минимизация суммарного объема передаваемых данных важна для уменьшения общего времени выполнения задачи. Следовательно, при проектировании устройства фактически необходимо просматривать матрицу смежности графа G, не обращая внимания на связи и последовательно назначать дуги на модули матрицы Н.The search principle of a lower placement estimate is illustrated in FIG. Here, FIG. 4a shows a hypothetical graph G of 9 vertices, and FIG. 4b shows the corresponding adjacency matrix W. FIGs. 4c, 4d show hypothetical options for placing graph arcs in the MS. MS modules are represented by squares, in the upper left corner of which their numbers are presented, dashed lines indicate the links of the MS modules, solid lines show hypothetical fixed arcs. When searching for a lower location estimate, it is assumed that the topologies of the original graph G and the graph of connections H between the modules are identical. That is, when calculating the lower bound, the arcs of the graph G with the greatest weight are assigned to the shortest routes in the graph H, not paying attention to the restrictions imposed by the actual relationships between the tasks. The resulting cumulative intensity value is the bottom placement estimate. In the case of a “real” placement option, its quality will be the better, as its total intensity value will be closer to the minimum lower estimate. Therefore, when placing tasks (algorithms, processes, data), it is necessary to strive for this value. It can be seen from FIG. 4g that this placement option is not a lower bound, since for example two arcs of the graph are assigned to modules 1-2 and 4-7 in it, which leads to an inevitable increase in the amount of data transfer between these modules. The placement option in FIG. 4c eliminates this problem and is at the same time a lower placement estimate. Minimizing the total amount of data transferred is important to reduce the overall time taken to complete the task. Therefore, when designing a device, it is actually necessary to look at the adjacency matrix of graph G, not paying attention to communications, and sequentially assign arcs to the modules of matrix N.
Устройство поиска нижней оценки размещения в полносвязных матричных системах при однонаправленной передаче информации (фиг.1) содержит первый регистр 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.i.j (i=1, 2, …, m; j=1, 2, …, n) сумматоров, первый 71 и второй 60 счетчики строк, первый 61 и второй 62 счетчик столбцов, матрицу 63.i.j (i=1, 2, …, m; j=1, 2, …, n) регистров, первый 64 и второй 65 дешифраторы горизонтально зафиксированных дуг, первый 66 и второй 67 дешифраторы вертикально зафиксированных дуг, матрицу 68.i.j (i=1, 2, …, m; j=1, 2, …, n) элементов ИЛИ, первую 69.i.j (i=1, 2, …, m; j=1, 2, …, n) и вторую 70. i.j (i=1, 2, …, m; j=1, 2, …, n) матрицу элементов И, первый 78 элемент ИЛИ, RS-триггер 79 запрета, второй 92 элемент ИЛИ, третий 80 и четвертый 81 счетчик строк, третий 82 счетчик инцидентной вершины, первый 89 и второй 90 элемент И, причем вход 75 устройства подключен к S-входу RS-триггера 79 запрета, R-вход которого подсоединен к выходу переполнения первого 61 счетчика столбцов, прямой выход RS-триггера 79 запрета подключен ко второму входу второго 90 элемента И, а также к первому входу первого 89 элемента И, инверсный выход RS-триггера 79 запрета подключен к е-входам третьего 80 и четвертого 81 счетчика строк, а также к е-входу третьего 82 счетчика инцидентной вершины, с-вход которого подсоединен к выходу переполнения третьего 80 счетчика строк и к r-входу четвертого 81 счетчика строк, выход переполнения третьего 82 счетчика инцидентной вершины подсоединен к выходу 93 переполнения устройства, тактовый 57 вход устройства подсоединен к счетному входу четвертого 81 счетчика строк, ое-вход которого подсоединен к прямому выходу триггера 23 режима, выход переполнения четвертого 81 счетчика строк подключен к счетному входу третьего 80 счетчика строк и счетному входу третьего 82 счетчика инцидентной вершины, первый вход второго 92 элемента ИЛИ подключен к выходу первого 71 счетчика строк, выход переполнения которого подсоединен к счетному входу второго 60 счетчика строк, выход переполнения которого соединен с разрешающими входами первого 61 и второго 62 счетчика столбцов, выход переполнения которого подсоединен к счетному входу первого 61 счетчика столбцов, счетный вход второго 62 счетчика столбцов соединен с тактовым 57 входом устройства, выход второго 62 счетчика столбцов подключен к входу второго 67 дешифратора вертикально зафиксированных дуг, выход первого 61 счетчика столбцов соединен с входом первого 66 дешифратора вертикально зафиксированных дуг, ое-вход первого 71 счетчика строк подключен к выходу первого 89 элемента И, второй вход которого соединен с прямым выходом триггера 23 режима, тактовый 57 вход устройства подключен к первому входу второго 90 элемента И, выход которого соединен со счетным входом первого 71 счетчика строк, выход третьего 80 счетчика строк соединен с первым входом первого 78 элемента ИЛИ, второй вход которого подключен к выходу третьего 82 счетчика инцидентной вершины, третий вход первого 78 элемента ИЛИ соединен с выходом второго 60 счетчика строк, выход первого 78 элемента ИЛИ подключен ко входу первого 64 дешифратора горизонтально зафиксированных дуг, выходы с первого по n-й которого соединены с соответствующими вторыми входами групп (70.1.1, 70.2.1, …, 70.m.1), (70.2.1, 70.2.2, …, 70.m.2),…, (70.m.1, 70.m.2, …, 70.m.n) второй 70.i.j (i=1, 2, …, m; j=1, 2, …, n) матрицы элементов И, выходы с первого по n-й второго 65 дешифратора горизонтально зафиксированных дуг соединены с соответствующими первыми входами групп (70.1.1, 70.1.2, …, 70.1.n), (70.2.1, 70.2.2, …, 70.2.n), …, (70.m.1, 70.m.2, …, 70.m.n) второй 70.i.j (i=1, 2, …, m; j=1, 2, …, n) матрицы элементов И, выходы с первого по n-й второго 67 дешифратора вертикально зафиксированных дуг соединен с соответствующими вторыми входами групп (69.1.1, 69.1.2, …, 69.1.n), (69.2.1, 69.2.2, …, 69.2.n), …, (69.m.1, 69.m.2, …, 69.m.n) элементов первой 69.i.j (i=1, 2, …, m; j=1, 2, …, n) матрицы элементов И, выходы с первого по n-й первого 66 дешифратора вертикально зафиксированных дуг подключен к соответствующим первым входам групп (69.1.1, 69.2.1, …, 69.m.1), (69.2.1, 69.2.2, …, 69.m.2), …, (69.m.1, 69.m.2, …, 69.m.n) элементов первой 69.i.j (i=1, 2, …, m; j=1, 2, …, n) матрицы элементов И, выход элементов 69.i.j (i=1, 2, …, m; j=1, 2,…, n) И первой 69. i.j (i=1, 2, …,m; j=1, 2, …, n) матрицы элементов И подключен к первому входу элемента 68. i.j (i=1, 2, …, m; j=1, 2, …, n) ИЛИ матрицы 68. i.j (i=1, 2, …, m; j=1, 2, …, n) элементов ИЛИ, соответствующие вторые входы которых подключены к выходам элементов 70.i.j (i=1, 2, …, m; j=1, 2, …, n) И второй 70. i.j (i=1, 2, …, m; j=1, 2, …, n) матрицы элементов И, выходы элементов 68.i.j (i=1, 2, …, m; j=1, 2, …, n) ИЛИ матрицы 68. i.j (i=1, 2, …, m; j=1, 2, …, n) элементов ИЛИ подсоединены к соответствующим разрешающий ое-входам 63.i.j (i=1, 2, …, m; j=1, 2, …, n) матрицы 63. i.j (i=1, 2, …, m; j=1, 2, …, n) регистров, выходы которых подключены к соответствующим первым входам элементов 59. i.j (i=1, 2,…,m; j=1, 2,…, n) матрицы 59.i.j (i=1, 2, …, m; j=1, 2, …, n) сумматоров, ко вторым входам которых подключен выход блока 10 оперативной памяти, выходы элементов 59.i.j (i=1, 2, …m; j=1, 2, …, n; матрицы 59. i.j (i=1, 2, …, m; j=1, 2, …, n) сумматоров подсоединены к соответствующим D-входам матрицы 63.i.j (i=1, 2, …, m; j=1, 2, …, n) регистров, выход четвертого 81 счетчика строк соединены с третьим входом второго 92 элемента ИЛИ.The device for finding a lower estimate of placement in fully-connected matrix systems for unidirectional information transfer (Fig. 1) contains a
Электронная модель 31 графа (фиг.2) содержит m электронных моделей дуги, причем электронная модель 31.l дуги (l=1, 2, …, m) содержит триггер 20.l блокировки дуги, регистр 21.l веса дуги, регистр 22.l блокировки дуги, первый элемент И 38.l, второй элемент И 39.l, элемент ИЛИ 40.l, причем входы элемента И 38.l соединены с соответствующими входами 56.у и 56.z задания графа устройства (где у и 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
Назначение элементов и блоков устройства поиска нижней оценки размещения в полносвязных матричных системах при однонаправленной передаче информации (фиг.1) состоит в следующем.The purpose of the elements and blocks of the search device for the lower allocation estimate in fully connected matrix systems with unidirectional information transfer (Fig. 1) is as follows.
Первый и второй регистры 1 и 2 сдвига необходимы для реализации последовательного перебора пар вершин орграфа G.The first and
Блок 3 формирования перестановок осуществляет перебор всех возможных размещений вершин графа G по позициям заданной топологической модели.
Блок 4 постоянной памяти хранит двоичные коды номеров позиций.The read-
Блок 5 запоминания лучшего варианта служит для запоминания лучшего на настоящий момент варианта размещения.
Коммутатор 6 обеспечивает последовательное списывание из блока 4 кодов номеров выбираемых позиций для передачи их в АЛУ 7.Switch 6 provides sequential write-off from
Арифметико-логическое устройство 7 необходимо для определения расстояния между позициями, в которые помещены выбранные вершины графа, и расчета длины связей L для формируемого варианта размещения. Данное устройство способно определять расстояния между позициями как для взвешенных графов, так и для невзвешенных.The arithmetic-
Дешифратор 8 выбора дуги вместе со счетчиком 27 дуг предназначены для выбора из ЭМГ 31 дуги с номером, записанным в счетчике 27.The
Реверсивный счетчик 9 ячеек служит для организации последовательного перебора адресов блока 10 оперативной памяти в прямом и обратном порядке соответственно при записи информации и ее считывании.The reversible counter of 9 cells serves to organize sequential enumeration of the addresses of the block 10 of the RAM in the direct and reverse order, respectively, when recording information and reading it.
Блок 10 оперативной памяти служит для хранения весов wi,j дуг орграфа G в порядке возрастания их значений.The RAM block 10 serves to store the weights w i, j of the arcs of the digraph G in ascending order of their values.
Счетчик 11 топологии необходим для подсчета и передачи счетчику 12 количества обрабатываемых элементов вектора с заданным значением (для кольцевой топологической модели общее число таких элементов постоянно и составляет n, для линейной это число уменьшается от n-1 для до 1 для ) (на фиг.1 не показан).The
Первый счетчик 12 расстояний и второй счетчик 13 расстояний предназначены для организации перебора в возрастающем порядке ненулевых элементов матрицы расстояний D (таким образом на выходе счетчика 13 формируется вектор ) (на фиг.1 не показан).The first counter 12 distances and the
Умножитель 14 необходим для умножения веса дуги из блока 10 оперативной памяти на расстояние между позициями топологической модели (элемент вектора ) из счетчика 13 расстояний (на фиг.1 не показан).The multiplier 14 is necessary to multiply the weight of the arc from the block 10 of RAM by the distance between the positions of the topological model (vector element ) from the
Сумматор 15 предназначен для суммирования значений с умножителя 14 и регистра 16 (на фиг.1 не показан).The
Регистр 16 минимальной длины связей хранит значение минимально возможной длины связей L∗ для заданного графа (на фиг.1 не показан).The register 16 of the minimum bond length stores the value of the minimum possible bond length L ∗ for a given graph (not shown in FIG. 1).
Первый элемент 17 сравнения служит для сравнения веса текущей дуги с наименьшим на данный момент весом, записанным в регистре 30.The
Вычитатель 18 служит для нахождения степени оптимальности размещения ξ по формуле (2). Значение L∗ поступает с выхода регистра 16 минимальной длины связей, L поступает с выхода регистра 25 длины связей (на фиг.1 не показан).The subtractor 18 serves to find the degree of optimality of the placement ξ by the formula (2). The value of L ∗ comes from the output of the register 16 of the minimum length of bonds, L comes from the output of the register 25 of the length of bonds (not shown in Fig. 1).
Триггер 19 начала счета служит для индикации перехода из режима формирования размещения в режим его оценки.The
Триггер 23 режима служит для хранения признака текущей операции. Если триггер 23 установлен в ноль - это означает запись весов дуг по возрастанию в блок 10 оперативной памяти, а в единицу - нахождение минимально возможной длины L* по формуле (1).The trigger 23 mode is used to store a sign of the current operation. If the trigger 23 is set to zero, this means writing the weights of the arcs in increasing order to the RAM block 10, and to one, finding the minimum possible length L * according to formula (1).
Триггер 24 задания топологии предназначен для задания вида топологической модели: если триггер 24 установлен в единицу - это означает выбор линейной модели, в ноль - кольцевой модели (на фиг.1 не показан).The trigger 24 for setting the topology is intended to set the type of the topological model: if trigger 24 is set to one, this means choosing a linear model, zero means a ring model (not shown in Fig. 1).
Регистр 25 длины связей предназначен для хранения значения длины связей L для наилучшего варианта размещения, сохраненного в БЗЛВ 5 (на фиг.1 не показан).The bond length register 25 is intended to store the value of the bond length L for the best placement option stored in the BZLV 5 (not shown in FIG. 1).
Второй элемент 26 сравнения предназначен для сравнения значения длины связей L лучшего на данный момент варианта размещения из регистра 25 с текущей длиной связи (на фиг.1 не показан).The second comparison element 26 is intended to compare the values of the bond length L of the currently best placement option from register 25 with the current bond length (not shown in FIG.
Дешифратор 28 блокировки дуги предназначен для выбора дуги, которую необходимо заблокировать в текущем цикле работы устройства.The decoder 28 of the arc lock is designed to select the arc that you want to block in the current cycle of the device.
Регистр 29 номера дуги служит для хранения номера дуги с минимальным весом, выбранной в текущем цикле работы устройства.The arc number register 29 is used to store the arc number with the minimum weight selected in the current cycle of the device.
Регистр 30 минимального веса необходим для хранения значения минимального на данный момент веса дуги.The minimum weight register 30 is needed to store the value of the currently minimum arc weight.
Группа элементов ИЛИ 32.1-32.n необходима для объединения соответствующих сигналов с регистров 1 и 2.The group of elements OR 32.1-32.n is necessary to combine the corresponding signals from
Группа элементов И 33.1-33.m предназначена для выбора соответствующих дуг графа G по сигналам с элементов ИЛИ 32.1-32.n.The group of elements AND 33.1-33.m is designed to select the corresponding arcs of the graph G according to the signals from the elements OR 32.1-32.n.
Первый и второй элементы И 34 и 35 необходимы для блокировки передачи импульсов с тактового входа 57 устройства на элементы и блоки, обеспечивающие упорядочение весов дуг графа в блоке 10 и подсчет значения длины связей L∗ соответственно.The first and second elements And 34 and 35 are necessary to block the transmission of pulses from the clock input 57 of the device to the elements and blocks that ensure the ordering of the weights of the graph arcs in block 10 and the calculation of the values of the bond length L ∗, respectively.
Второй блок элементов ИЛИ 36 необходим для подключения веса текущей дуги к элементу 17 сравнения и регистру 30.The second block of OR elements 36 is necessary to connect the weight of the current arc to the
Третий элемент И 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, представляющего размещаемый объект.The
Назначение элементов блока 58 формирования нижней оценки (фиг.3) состоит в следующем.The purpose of the elements of the
Матрица 59.i.j (i=1, 2, …, m; j=1, 2, …, n) сумматоров предназначена для суммирования и последующей записи в соответствующую матрицу 63. i.j (i=1, 2, …, m; j=1, 2, …, n) регистров кодов значений интенсивности дуг, назначенных на соответствующие пары процессоров.Matrix 59.ij (i = 1, 2, ..., m; j = 1, 2, ..., n) of the adders is intended for summing and subsequent recording in the corresponding matrix 63. ij (i = 1, 2, ..., m; j = 1, 2, ..., n) registers of codes of intensity values of arcs assigned to the corresponding pairs of processors.
Первый 61 и второй 62 счетчик столбцов служат для хранения номера строки и столбца, в которых будет производиться фиксация дуг графа G в столбцах МС.The first 61 and second 62 column counters are used to store the row and column numbers in which the arcs of column G will be fixed in the MS columns.
Матрица 63.i.j (i=1, 2, …, m; j=1, 2, …, n) регистров предназначена для хранения суммарных кодов значений интенсивности дуг, назначенных на данную пару процессоров в строках и столбцах МС.The matrix 63.i.j (i = 1, 2, ..., m; j = 1, 2, ..., n) of the registers is designed to store the total codes of the intensity values of the arcs assigned to this pair of processors in the rows and columns of the MS.
Первый 64 и второй 65 дешифраторы горизонтально зафиксированных дуг необходимы для выбора процессора, в который будет произведена фиксация дуги графа G. Выбор производится с учетом того, что дуги первоначально фиксируются горизонтально в МС.The first 64 and second 65 decoders of horizontally fixed arcs are needed to select the processor in which the arc of graph G will be fixed. The choice is made taking into account that the arcs are initially fixed horizontally in the MS.
Первый 66 и второй 67 дешифраторы вертикально зафиксированных дуг служат для выбора процессора причем с учетом того, что дуги фиксируются вертикально, но только после первоначальной горизонтальной фиксации.The first 66 and second 67 decoders vertically fixed arcs are used to select the processor, and taking into account the fact that the arcs are fixed vertically, but only after the initial horizontal fixation.
Матрица 68.i.j (i=1, 2, …, m; j=1, 2, …, n) элементов ИЛИ служит для объединения сигналов с выходов соответствующих элементов первой 69. i.j (i=1, 2, …, m; j=1, 2, …, n) и второй 70.i.j (i=1, 2, …, m; j=1, 2, …, n) матриц элементов И с последующей подачей на разрешающие входы матрицы 63.i.j (i=1, 2, …, m; j=1, 2, …, n) регистров.The matrix 68.ij (i = 1, 2, ..., m; j = 1, 2, ..., n) of the OR elements serves to combine the signals from the outputs of the corresponding elements of the first 69. ij (i = 1, 2, ..., m; j = 1, 2, ..., n) and the second 70.ij (i = 1, 2, ..., m; j = 1, 2, ..., n) of the matrix of elements And followed by supplying the matrix 63.ij ( i = 1, 2, ..., m; j = 1, 2, ..., n) registers.
Первая 69.i.j (i=1, 2, …, m; j=1, 2, …, n) и вторая 70.i.j (i.j (i=1, 2, …, m; j=1, 2, …, n) матрица элементов И предназначена для объединения сигналов с последующей подачей на соответствующие входы 68.i.j (i=1, 2, …, m; j=1, 2, …, n) элементов ИЛИ и дальнейшим его поступлением на соответствующие разрешающие входы ое матрицы 63. i.j (i=1, 2, …, m; j=1, 2, …, n) регистров.The first 69.ij (i = 1, 2, ..., m; j = 1, 2, ..., n) and the second 70.ij (ij (i = 1, 2, ..., m; j = 1, 2, ... , n) the matrix of AND elements is intended for combining signals with the subsequent supply to the corresponding inputs 68.ij (i = 1, 2, ..., m; j = 1, 2, ..., n) of OR elements and its further arrival at the corresponding enabling inputs th matrix 63. ij (i = 1, 2, ..., m; j = 1, 2, ..., n) registers.
Первый 71 и второй 60 счетчики строк служат для хранения номера соответствующей строки и столбца, необходимой для выбора пары процессоров, предназначенных для фиксации очередной дуги графа G в строках МС.The first 71 and second 60 row counters are used to store the number of the corresponding row and column necessary to select a pair of processors designed to fix the next arc of column G in the MS lines.
Вход 75 устройства предназначен для подачи единичного импульса на S-вход на RS-триггера 79 запрета для установки его в единичное состояние.The
Первый 78 элемент ИЛИ необходимы для пропуска кодов на вход второго 67 дешифратора вертикально зафиксированных дуг, а также на вход первого 64 дешифраторы горизонтально зафиксированных дуг соответственно.The first 78 OR elements are necessary for passing codes to the input of the second 67 decoder of vertically fixed arcs, as well as to the input of the first 64 decoders of horizontally fixed arcs, respectively.
RS-триггер 79 запрета служит для выбора режима работы устройства. Когда он находится в единичном состоянии, выполняется фиксация в строках и столбцах МС. Если RS-триггер 79 в нулевом состоянии, то выполняется фиксация в диагоналях МС (например, на фиг.4в и 4г это модули 1-5, 2-4 и т.п.).The RS-
Третий 80 и четвертый 81 счетчик строк служат для хранения соответствующей пары процессорных модулей, в которые будет зафиксирована дуга графа G. Дуга фиксируется в диагонали МС. Например, на фиг.4в это пары процессорных модулей 2-4, 5-7, 3-5, 6-8.The third 80 and fourth 81 line counts are used to store the corresponding pair of processor modules into which the arc of graph G will be fixed. The arc is fixed in the diagonal of the MS. For example, in FIG. 4c, these are pairs of processor modules 2-4, 5-7, 3-5, 6-8.
Третий 82 счетчик инцидентной вершины предназначен для хранения кода вершины, инцидентной текущей выбранной дуге графа G, подлежащей фиксации.The third 82 counter of the incident vertex is designed to store the code of the vertex incident to the currently selected arc of the graph G to be fixed.
Первый 89 и второй 90 элемент И предназначен для запрещения прохождения сигналов с выходов блока 10 оперативной памяти и прямого выхода триггера 79 запрета.The first 89 and second 90 element And is designed to prohibit the passage of signals from the outputs of the block 10 of RAM and the direct output of the
Второй 92 элемент ИЛИ служит для подачи сигналов с выходов первого 71 счетчика строк и четвертого 81 счетчика строк на вход второго 65 дешифратора горизонтально зафиксированных дуг.The second 92 OR element is used to supply signals from the outputs of the first 71 line counter and the fourth 81 line counter to the input of the second 65 decoder of horizontally fixed arcs.
Выход 93 переполнения устройства служит для подачи на ВУУ сигнала о переполнении третьего 82 счетчика инцидентной вершины, что одновременно означает о завершения работы устройства.The
Рассмотрим работу предлагаемого устройства.Consider the operation of the proposed device.
Первоначально в регистрах 29, 30 содержатся значения «11…1». В счетчиках 27, 9 содержится нулевой код. Триггеры 19 и 23 находятся в состоянии логического нуля. Триггеры 20.l модели 31.l, l=1, 2, …, m, находятся либо в состоянии логической единицы, либо в состоянии логического нуля (что определяется соответственно наличием или отсутствием l-й дуги в графе). В регистрах 21.l содержатся либо значения весов соответствующих дуг, либо нулевые коды (если соответствующие дуги отсутствуют в исходном графе). Если размещается граф с невзвешенными дугами, то регистры 21.l содержат либо коды «00…01», либо нулевые коды. Запись информации о размещаемом графе осуществляется путем подачи комбинаций сигналов на входы 56.1-56.n устройства и весов дуг на входы 54.l устройства. Появление единичных сигналов на входах 56.i-1 и 56.i означает наличие в графе дуги ei-1,i (вес этой дуги подается на вход 54 соответствующей модели дуги). В счетчике 71 установлен код нуля, в счетчике 60 - код двойки («0…10»), в счетчике 62 - код нуля («0…00»). В счетчике 61 хранится код единицы («0…01»). В счетчике 81 хранится код нуля, в счетчике 80 хранится код двойки («0…010»), в счетчике 82 хранится код двойки.Initially, registers 29, 30 contain the values "11 ... 1".
Предлагаемое устройство способно решать следующие задачи: размещение невзвешенных графов в линейную топологическую модель, размещение взвешенных графов в линейную и кольцевую модель и оценка степени близости сформированного размещения к оптимальному. Дополнительно предлагаемое устройство позволяет осуществлять поиск нижней оценки размещения взвешенных графов в полносвязных МС при однонаправленной передаче информации по критерию минимизации интенсивности взаимодействия процессов и данных.The proposed device is capable of solving the following problems: placing unweighted graphs in a linear topological model, placing weighted graphs in a linear and ring model, and assessing the degree of proximity of the generated arrangement to the optimal one. Additionally, the proposed device allows you to search for a lower estimate of the placement of weighted graphs in fully connected MS with unidirectional information transfer according to the criterion of minimizing the intensity of the interaction of 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 the device similarly to the prototype. In this case, only the so-called “upper” part of the circuit works, which includes the
Регистр 1 и регистр 2 последовательно выбирают пары вершин по мере поступления импульсов с входа 57 устройства. Сигналы выбранной пары вершин проходят через два соответствующих элемента группы элементов ИЛИ 32.1-32.n и далее формируют единичный сигнал на выходе соответствующего элемента И группы 33.1-33.m (допустим элемента 33.l). Единичный сигнал с элемента И 33.l поступает на элемент ИЛИ 40.l (модели 31.l дуги) и, попадая далее на разрешающий вход (ое) регистра 21.l, разрешает тем самым появление данных (веса l-й дуги) на выходе этого регистра. Поскольку размещаемый граф невзвешен, в регистре 21.l содержится либо код «00…01» либо код «00…00» (отсутствие дуги). Будем считать данный код ненулевым. Код «00…01» с выхода регистра 21.l поступает на блок элементов ИЛИ 46 и далее через него - в АЛУ 7. В это же время блок 3 формирования перестановок определяет для выбираемых вершин позиции, а АЛУ 7 вырабатывает команду определения расстояния между позициями, в которые следует поместить выбранные вершины графа. Это расстояние определяется по формуле . Одновременно в АЛУ 7 происходит и накопление суммарной длины связей L. Подсчет суммарной длины связей для текущего варианта размещения завершается, когда на выходе переполнения регистра 2 появляется сигнал переполнения. Одновременно этот же сигнал поступает на БФП 3, подготавливая его к формированию новой перестановки.
Перестановки формируются в пространственно-временной форме, то есть в каждый тактовый момент времени единичный сигнал инициируется только на одном (q-м) выходе БФП 3, а их последовательность задает соответствующую перестановку. Например, перестановка (3 1 2) означает, что первый тактовый импульс появляется на втором выходе БФП, второй - на третьем, третий - на первом. В соответствии с этим из блока 4 постоянной памяти (в блок 4 постоянной памяти заносятся двоичные коды номеров позиций) через коммутатор 6 в АЛУ 7 будут последовательно списываться коды второй позиции, третьей и первой. Это, в свою очередь, означает, что первая вершина помещается во вторую позицию, вторая в третью и третья в первую. Лучший вариант размещения переписывается в блок 5 и соответствующее ему значение длины связей L - в регистр 25. Появление сигнала на сигнализирующем выходе БФП 3 свидетельствует о том, что все перестановки сформированы, а лучший вариант размещения зафиксирован в БЗЛВ 5.The permutations are formed in the spatiotemporal form, that is, at each clock moment, a single signal is initiated only at one (qth) output of the
Задача размещения взвешенных и невзвешенных графов в линейной и/или кольцевой топологических моделях, а также задача оценки степени близости сформированного размещения к оптимальному решается так как в прототипе и поэтому здесь не рассматривается.The problem of placing weighted and unweighted graphs in linear and / or ring topological models, as well as the problem of assessing the degree of closeness of the formed arrangement to the optimal one, is solved as 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 arrangement to the optimal one is solved as follows (in this case, only the “lower” part of the circuit works, including
При появлении единичного сигнала на сигнализирующем выходе БФП 3 триггер 19 устанавливается в единицу. Единичный сигнал с прямого выхода триггера 19 поступает на вторые входы элемента И 34 и элемента И 35. Так как триггер 23 режима находится в нулевом состоянии, элемент 35 по-прежнему остается закрытым, а элемент 34 открывается для прохождения тактовых импульсов.When a single signal appears on the signaling output of the
Первый тактовый импульс проходит через элемент И 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 And 34 element, from where this pulse arrives at the counting input of the counter 27 and sets the value “00 ... 01” with a rising edge. The code from the output of the counter 27 goes to the input of the register data 29 and to the input of the
Очередной тактовый импульс аналогично проходит через элемент И 34, снова попадает на счетный вход счетчика 27 и увеличивает значение этого счетчика до «00…010». С выхода счетчика 27 код снова попадает на дешифратор 8, чем вызывает появление единицы на его втором выходе. Эта единица аналогично поступает в модель 31.2 взвешенной дуги, и со второго выхода веса дуги модели 31 на блок элементов ИЛИ 36 поступает код веса второй дуги. Если такая дуга существует, то соответствующий ей код попадает на первый вход элемента 17 сравнения, на второй вход которого поступает с регистра 30 вес, записанный на предыдущих шагах. Если новый вес меньше предыдущего, то единичный сигнал, свидетельствующий об этом, поступает на первый вход элемента И 37 и пропускает через него импульс с элемента 44 задержки. С выхода элемента И 37 импульс снова попадает на синхровходы регистров 29 и 30 и по переднему входу записывает в регистр 30 новый вес дуги (вес второй дуги), а в регистр 29 значение счетчика 27 как номер дуги с наименьшим на данный момент весом.The next clock pulse likewise passes through the And 34 element, again enters the counting input of the counter 27 and increases the value of this counter to "00 ... 010". From the output of the counter 27, the code again falls onto the
Так происходит до тех пор, пока на выходе переполнения счетчика 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 (impulse) appears on the overflow output of counter 27, signaling that all arcs are scanned and the smallest weight is in register 30, and the corresponding arc number is in register 29. In this case, counter 27 is reset to the zero state, and the overflow signal is simultaneously fed to the recording input of the RAM unit 10 to the delay element 43 and the first counting input of the
Следующий импульс, проходящий через элемент И 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, makes the device work again according to the above algorithm. In register 30, the smallest weight of the arc is stored without considering the arcs blocked in previous cycles. When the
При повторном появлении сигнала переполнения на счетчике 27 происходит увеличение значения счетчика 9 до кода «00…010». Сигнал переполнения поступает на вход записи блока 10 оперативной памяти и записывает туда по адресу «00…010» код веса дуги с выхода регистра 30 из счетчика 9. Таким образом, происходит последовательная запись в блок 10 оперативной памяти весов дуг графа G по возрастанию соответствующих значений. Так происходит до тех пор, пока счетчик 9 не выдаст сигнал переполнения. Этот сигнал поступает на установочный S-вход вход триггера 23, устанавливает его в единицу и тем самым разрешает прохождение тактовых импульсов через элемент И 35, запрещая их прохождение через элемент И 34. Сам счетчик 9 реверсивно переводится из суммирующего в вычитающий. С этого момента начинается поиск нижней оценки размещения в матричных системах при направленной передаче информации. Задача подсчета минимально возможной длины L* решается так же, как в прототипе и поэтому здесь не рассматривается.When the overflow signal reappears on counter 27, the
Задача поиска нижней оценки размещения в полносвязных матричных системах при однонаправленной передаче информации решается в предлагаемом устройстве следующим образом.The task of finding a lower estimate of placement in fully connected matrix systems with unidirectional information transfer is solved in the proposed device as follows.
Первоначально аналогично описанному выше принципу «отрабатывает» верхняя часть схемы так, чтобы в блоке 10 оперативной памяти содержались дуги графа G, расположенные в порядке убывания значений своих весов (фиг.1). Как видно из фиг.4, при назначении дуг на процессоры матричной системы в первую очередь следует назначать дуги с наибольшими значениями весов. Следовательно, при выборе из блока 10 оперативной памяти первой выбранной дугой будет дуга с наибольшим значением веса, а последней - с наименьшим.Initially, similar to the principle described above, the “upper part” of the circuit is “worked out” so that in block 10 of the main memory there are arcs of graph G arranged in decreasing order of their weights (Fig. 1). As can be seen from figure 4, when assigning arcs to the processors of the matrix system, you should first assign arcs with the highest values of weights. Therefore, when choosing from block 10 of RAM, the first selected arc will be the arc with the highest weight value, and the last with the smallest.
Первый тактовый импульс со входа 57 устройства поступает на счетный вход счетчика 62, на первые входы элементов 90 и 35 И. В результате импульс проходит на вычитающий вход реверсивного счетчика 9 и по переднему фронту уменьшает значение на единицу. В результате полученный код подается на адресный вход А блока 10 оперативной памяти и на выходе появляется значение веса дуги с максимальным весом. Счетчик 62 закрыт, так как на его разрешающем входе ое не присутствует единичного сигнала. Так как на втором входе элемента 90 И присутствует единичный потенциал с прямого выхода триггера 79, единичный сигнал проходит на счетный вход счетчика 71. На его разрешающем входе присутствует единичный потенциал, так как на двух входах элемента 89 И присутствует единичный сигнал, а следовательно, на его выходе присутствует единица. Поэтому по переднему фронту счетчик 71 увеличивается на единицу до кода единицы («0…01»). Код единицы проходит через элемент 92 ИЛИ и поступает на вход дешифратора 65. Поэтому на его первом выходе появляется единичный сигнал, который поступает на первые входы элементов 70.1.1, 70.1.2, …, 70.1.n И. К этому моменту с выхода счетчика 60 код числа два, пройдя через элемент 78 ИЛИ поступил на вход дешифратора 64. Так как на входе дешифратора 64 присутствует код числа два, на его втором выходе появляется единичный импульс, который подается на вторые входы элементов 70.1.2, 70.2.2, …, 70.m.2 И. Таким образом, на двух входах элемента 70.1.2 И появляются единичные сигналы, в результате чего на его выходе появляется единичный импульс, который поступает на второй вход элемента 68.1.2 ИЛИ и далее на разрешающий вход ое регистра 63.1.2. В результате код, хранящийся в регистре 63.1.2 подается на первый вход сумматора 59.1.2. К этому моменту на втором его входе присутствует вес дуги с выхода блока 10 оперативной памяти. В результате суммирования полученное число подается на D-вход регистра 63.1.2 и сохраняется там. Таким образом фиксируется значение интенсивности первой дуги графа G в МС (например, на фиг.4в это дуга из модуля 1 в модуль 2 МС).The first clock pulse from the input 57 of the device is supplied to the counting input of the
Очередной тактовый импульс поступает со входа 57 на входы элемента 35 И, на счетный вход счетчика 62 и первый вход элемента 90 И. В результате значение, хранящееся в реверсивном счетчике 9 уменьшается на единицу, и значение, хранящееся в нем, подается на адресный вход А блока 10 оперативной памяти. Поэтому на его выходе появляется очередной код веса дуги графа G. Счетчик 62 закрыт из-за отсутствия сигнала на входе ое. Единичный потенциал с прямого выхода триггера 23 подается на второй вход элемента 89 И. Так как на его первом входе присутствует единица с прямого выхода триггера 79, на входе ое счетчика 71 появляется единичный сигнал. Вследствие этого, поступивший на счетный вход счетчика 71 единичный импульс увеличивает его содержимое на единицу до кода двойки («0…010»). Этот код через элемент 92 ИЛИ поступает на вход дешифратора 65 и на его втором выходе появляется единичный сигнал, который подается на первые входы элементов 70.2.1, 70.2.2, …, 70.2.n И. К этому времени в счетчике 60 все еще хранится значение кода числа два. Этот код проходит на первый вход элемента 78 ИЛИ и далее на вход дешифратора 64. В результате на его втором выходе появляется единичный сигнал, который подается на вторые входы элементов 70.1.2, 70.2.2, …, 70.m.2 И. В итоге на обеих входах элемента 70.2.2 И появляются единичные сигналы. В результате чего на его выходе появляется единица, поступающая на разрешающий вход ое регистра 63.2.2. На его выходе появляется хранящийся в нем код, который поступает на первый вход сумматора 63.2.2, на втором входе которого присутствует код веса дуги графа G с выхода блока 10 оперативной памяти. В результате суммарное значение поступает для записи на D-вход регистра 63.2.2. Таким образом фиксируется вторая дуга графа G.The next clock pulse comes from input 57 to the inputs of element 35 AND, to the counting input of
Так продолжается до тех пор, пока на выходе переполнения счетчика 71 не появится сигнала переполнения. Это означает, что фиксация в первой «колонке» строк МС закончена и необходимо продолжать фиксацию во второй «колонке» строк МС. Сигнал переполнения с выхода переполнения счетчика 71 подается на счетный вход счетчика 60, устанавливая в нем код числа три («0…011»). Счетчик 71 сбрасывается в код единицы.This continues until an overflow signal appears at the overflow output of the
Далее работа продолжается аналогично описанному выше принципу до тех пор, пока на выходе переполнения счетчика 60 не появится единичного импульса. Этот означает, что фиксация дуг графа G в горизонтальной ориентации МС закончена. Например, на фиг.4в это дуги, зафиксированные в модулях МС 1-2, 4-5, 7-8, 2-3, 5-6, 8-9. Следовательно, далее необходима фиксация дуг в вертикальной ориентации МС. Импульс с выхода переполнения счетчика 60 поступает на разрешающие входы счетчиков 61 и 62, разрешая их работу.Further, the work continues similarly to the principle described above until a single pulse appears at the output of the overflow of the
Очередной тактовый импульс поступает на вход элемента 35 И, на счетный вход счетчика 62. Вследствие подачи импульса на вход элемента 35 И новое значение веса дуги графа G с выхода блока 10 оперативной памяти поступает в блок 58 формирования нижней оценки. Этот же тактовый импульс, поступивший на счетный вход счетчика 62 увеличивает содержащиеся в нем код на единицу и устанавливает в нем код единицы. Код единицы с выхода счетчика 62 подается на вход дешифратора 67. Так как на вход дешифратора 67 подался код единицы, на первом его выходе возбуждается единичный импульс, который поступает на вторые входы элементов 69.1.1, 69.1.2, …, 69.1.n И. Код единицы с выхода счетчика 61 поступает на первый вход элемента 91 ИЛИ, и проходя через него далее вход дешифратора 66, в результате чего на его первом выходе появляется единичный импульс, который поступает на первые входы элементов 69.1.1, 69.2.1, …, 69.m.1 И. В результате этого на обеих входах элемента 69.1.1 И появляются единичные сигналы, а значит, на его выходе инициируется единичный сигнал, который проходит на первый вход элемента 68.1.1 ИЛИ и далее на разрешающий ое-вход регистра 63.1.1. В результате этого значение с его выхода поступает на первый вход сумматора 59.1.1, на втором выходе которого присутствует код веса дуги графа G с выхода блока 10 оперативной памяти. Суммарное значение с выхода сумматора 59.1.1 поступает на D-вход регистра 63.1.1 и записывается там. Таким образом происходит запись дуги графа G в вертикальной ориентации в МС. Например, на фиг.4в это дуга, зафиксированная в модулях 1-4.The next clock pulse is fed to the input of the 35 And element, to the counting input of the
Очередной тактовый импульс поступает на счетный вход счетчика 62 и по переднему фронту увеличивает их содержимое по переднему фронту на единицу до кода двойки в счетчике 62. Код числа два с выхода счетчика 62 поступает на вход дешифратора 67. На втором выходе дешифратора 67 появляется единичный сигнал, который подается на вторые входы элементов 69.2.1, 69.2.2, …, 69.2.n И. Код единицы с выхода счетчика 61 поступает на вход дешифратора 66, на первом выходе которого появляется единичный сигнал, который подается на первые входы элементов 69.1.1, 69.2.1, …, 69.m.1 И. В результате из-за наличия на обоих входах элемента 69.2.1 И положительных импульсов, на его выходе появляется положительный сигнал, который поступает через элемент 68.2.1 ИЛИ на разрешающий вход ое регистра 63.2.1 и разрешает появление на выход хранящегося в нем кода. Этот код поступает на первый вход сумматора 59.2.1, на втором входе которого присутствует код веса дуги графа G. В результате суммирования значение с выхода сумматора 59.2.1 поступает на D-вход регистра 63.2.1, где происходит его сохранение. Таким образом происходит фиксация очередной дуги графа G в полносвязных МС при двунаправленной передаче информации.The next clock pulse arrives at the counting input of the
Таким образом, работа схемы происходит до тех пор, пока на выходе переполнения счетчика 62 не появится сигнала переполнения. Эта ситуация произойдет в случае, если произойдет попытка установить код числа m в счетчике 62. В этом случае сигнал переполнения с выхода счетчика 62 поступит на счетный вход счетчика 61. Счетчик 62 устанавливается в исходное состояние ноль. Счетчик 61 в результате поступления на его счетный вход единичного сигнала по переднему фронту увеличивает свое значение на единицу до кода двойки («0.010»).Thus, the operation of the circuit occurs until an overflow signal appears at the output of the
Далее работа схемы продолжается аналогично описанному выше принципу до тех пор, пока на выходе переполнения счетчика 61 не появится сигнала переполнения, свидетельствующего о том, что дуги графа G зафиксированы в горизонтальной и вертикальной ориентации. Оставшиеся незафиксированные дуги необходимо назначать последовательно в диагональной ориентации. Например, на фиг.4в это дуги, зафиксированные в модулях 2-4, а затем 5-7 и т.д. Когда все дуги окажутся назначенными, а в исходном графе G еще остались дуги для фиксации, необходимо переходить на следующую пару столбцов и т.д. После этого аналогичная операция проделывается для модулей МС 1-5, 4-8, 2-6 и 5-9 и т.д. для всех дуг исходного графа. Сигнал переполнения с выхода переполнения счетчика 61 поступает на R-вход триггера 79, сбрасывая его в нулевое состояние. Тогда на прямом его выходе появится нулевой сигнал, и на инверсном - единичный. Единичный сигнал с инверсного выхода RS-триггера 79 запрета проступает на е-входы счетчиков 80, 81 и 82, разрешая их работу.Further, the operation of the circuit continues similarly to the principle described above until an overflow signal appears on the output of the
Очередной тактовый импульс подается на первый вход элемента 90 И, на счетный вход счетчика 62 и на счетный вход счетчика 81. Так как на первом входе элемента 89 И и на втором входе элемента 90 И присутствует нулевой потенциал с прямого выхода триггера 79, на их выходы сигнал не проходит. На выходе счетчика 71 кода не появляется, так как на его входе разрешения ое не присутствует единичного потенциала. На ое-входе счетчика 81 присутствует единичный потенциал с прямого выхода триггера 23. На входе разрешения е счетчика 81 присутствует единичный потенциал с инверсного выхода триггера 79, поэтому его содержимое по переднему фронту увеличивается на единицу до кода один («0…01»). Значение этого кода проходит через элемент 92 ИЛИ и подается на вход дешифратора 65. Поэтому на его первом выходе появляется единичный сигнал, который поступает на первые входы элементов 70.1.1, 70.1.2, …, 70.1.n. В это время код числа два с выхода счетчика 80 проходит через элемент 78 ИЛИ и поступает на вход дешифратора 64. Поэтому на втором его выходе появляется единичный потенциал, который подается на вторые входы элементов 70.1.2, 70.2.2, …, 70.m.2 И. Следовательно, так как на двух входах элемента 70.1.2 присутствуют единичные сигналы, на его выходе появляется единичный потенциал, который проходит через элемент 68.1.2 ИЛИ и поступает на разрешающий вход ое регистра 63.1.2, разрешая появление на его выходе хранящегося в нем кода. Этот код поступает на первый вход сумматора 59.1.2, на втором входе которого присутствует значение веса фиксируемой дуги графа G. В результате полученная сумма подеется на D-вход регистра 63.1.2, где происходит ее фиксация. Таким образом происходит фиксация первой диагональной дуги графа G. Например на фиг.4в это дуга из модуля 4 в модуль 2 МС.The next clock pulse is fed to the first input of the 90 I element, to the counting input of the
Очередной тактовый импульс подается на счетный вход счетчика 81 и так как он открыт, то значение, хранящееся в нем по переднему фронту увеличивается на единицу до кода двойки. Этот код проходит через элемент 92 ИЛИ и подается на вход дешифратора 65, на втором выходе которого появляется единичный сигнал, поступающий на первые входы элементов 70.2.1, 70.2.2, …, 70.2.n. На вторых входах элементов 70.1.2, 70.2.2, …, 70.m.2 И по прежнему присутствует единичный сигнал со второго выхода дешифратора 64 (в счетчике 80 хранится код числа два). Следовательно, на двух входах элемента 70.2.2 И присутствуют единичные сигналы и поэтому его выходе появляется единица, которая проходит через элемент 68.2.2 ИЛИ и подается на разрешающий вход ое регистра 63.2.2. В результате этого хранящийся в нем код поступает на первый вход сумматора 59.2.2, на втором входе которого присутствует значение веса дуги графа G с выхода блока 10 оперативной памяти. Полученная сумма подается на D-вход регистра 63.2.2 для записи. Таким образом записывается очередное значение веса дуги в диагональной ориентации (на фиг.4в это дуга из модуля 7 в модуль 5 МС).The next clock pulse is fed to the counter input of the
Так продолжается до тех пор, пока в счетчике 81 не будет произведена попытка установить код числа m. Это приведет к переполнению счетчика 81, который сбрасывается в ноль. Сигнал переполнения поступает на счетный вход счетчика 80 и по заднему фронту увеличивает его содержимое на единицу, устанавливая в нем код числа три («0…011»).This continues until an attempt is made in
Аналогично описанному выше очередной тактовый импульс подается на счетный вход счетчика 81 и по переднему фронту увеличивается на единицу до кода числа один. Далее записанный в счетчике код поступает через элемент 92 ИЛИ на вход дешифратора 65, на первом выходе которого появляется единица, поступающая на первые входы элементов 70.1.1, 70.1.2, …, 70.1.n. Код числа три с выхода счетчика 80 проходит через элемент 78 ИЛИ и подается на вход дешифратора 64, на третьем выходе которого появляется единичный сигнал, проходящий на вторые входы элементов 70.1.3, 70.2.3, …, 70.m.3. В результате на обоих входах элемента 70.1.3 присутствует два единичных сигнала и единица с его выхода проходит через элемент 68.1.3 ИЛИ и поступает на разрешающий ое вход регистра 63.1.3. В результате хранящийся в нем код поступает на первый вход сумматора 59.1.3. Полученная сумма подается на D-вход регистра 63.1.3 для записи. Таким образом размещается очередная дуга графа G.Similarly to the above, the next clock pulse is supplied to the counting input of the
Таким образом работа устройства продолжается до тех пор пока на выходе счетчика 80 не появится сигнал переполнения (код хранящийся не может быть n+1). В этом случае сигнал переполнения со счетчика 80 поступает на его с-вход счетчик 82 и разрешает режим счета. Сигнал переполнения с выхода счетчика 80 также поступает на r-вход счетчика 81 и сбрасывает его содержимое до кода единицы. Появление сигнала переполнения на выходе счетчика 80 свидетельствует о том, что первая часть диагональных дуг графа Н МС назначена, и на следующем этапе необходима фиксация диагональных дуг, которые в МС имеют направление «сверху-вниз-направо» (на фиг.4в это связи 1-5, 4-8, 2-6, 5-9).Thus, the operation of the device continues until the overflow signal appears on the output of the counter 80 (the stored code cannot be n + 1). In this case, the overflow signal from
Очередной тактовый импульс подается на счетный вход счетчика 81 и по переднему фронту увеличивает его содержимое на единицу до кода двойки («0…010»). Код двойки с выхода счетчика 81 поступает через элемент 92 ИЛИ на вход дешифратора 65, на втором выходе которого появляется единичный сигнал, который подается на первые входы элементов 70.2.1, 70.2.2, …, 70.2.n И. Значение двойки с выхода счетчика 82 через элемент 78 ИЛИ поступает на вход дешифратора 64, на втором выходе которого появляется единичный сигнал, который поступает на вторые входы элементов 70.1.2, 70.2.2, …, 70.m.2 И. Таким образом, на двух входах элемента 70.2.2 И присутствует единичный потенциал, что вызывает появления единичного сигнала на его выходе. Этот потенциал проходит через элемент 68.2.2 ИЛИ и подается на ое-вход регистра 63.2.2. В результате на его выходе появляется хранящийся в нем код, который подается на первый вход сумматора 59.2.2, на втором входе которого присутствует значение веса дуги, подлежащей фиксации с выхода блока 10 оперативной памяти. Суммарное значение поступает на D-вход регистра 63.2.2, где происходит его сохранение. Таким образом происходит фиксация диагональной дуги в МС (на фиг.4в это дуга из модуля 1 в модуль 5).The next clock pulse is fed to the counting input of the
Следующий тактовый импульс увеличивает по переднему фронту содержимое счетчика 81 до кода тройки. Этот код через элемент 92 ИЛИ поступает на вход дешифратора 65, на третьем выходе которого появляется единица, которая подается на первые входы элементов 70.3.1, 70.3.2, …, 70.3.n. На вторых входах элементов 70.1.2, 70.2.2, …, 70.m.2 И по-прежнему присутствует единичный потенциал. В результате на выходе элемента 70.3.2 И появляется единичный сигнал, который проходит через элемент 68.3.2 ИЛИ на вход ое регистра 63.3.2, на выходе которого появляется хранящийся в нем код. Это значение поступает на первый вход сумматора 59.3.2, на втором входе которого присутствует значение веса дуги графа G с выход блок 10 оперативной памяти. В результате суммарное значение поступает на D-вход регистра 63.3.2 для сохранения. Так происходит фиксация следующей диагональной дуги графа G (на фиг.4в это дуга из модуля 4 в модуль 8).The next clock pulse increases the contents of the
Так продолжается до тех пор, пока на выходе переполнения счетчика 81 не появится сигнала переполнения. Единичный импульс с выхода переполнения счетчика 81 поступает на счетные входы счетчика 80 и 82. Так как счетчик 80 закрыт, то код в нем не увеличивается, а счетчик 82 по переднему фронту увеличивается на единицу до кода тройки. Счетчик 81 при этом сбрасывается до единицы.This continues until an overflow signal appears at the overflow output of
Очередной тактовый импульс поступает на счетный вход счетчика 81 и по переднему фронту увеличивает его содержимое до кода двойки. Этот код проходит через элемент 92 ИЛИ и подается на вход дешифратора 65, на втором выходе которого появляется единичный импульс, который проходит на первые входы элементов 70.2.1, 70.2.2, …, 70.2.n И. В это время код числа три с выхода счетчика 82 проходит через элемент 78 ИЛИ и подается на вход дешифратора 64, на третьем выходе которого появляется единичный сигнал, который подается на вторые входы элементов 70.1.3, 70.2.3, …, 70.m.3 И. В итоге на выходе элемента 70.2.3 И формируется единичный импульс, который через элемент 68.2.3 ИЛИ поступает на вход ое-вход регистра 63.2.3 и разрешает появление хранящегося в нем кода. Этот код поступает на первый вход сумматора 59.2.3, на втором входе которого присутствует код веса дуги графа G с выхода блока 10 оперативной памяти. Получена сумма поступает на D-вход регистра 63.2.3, где происходит его фиксация. Таким образом происходит фиксации очередной дуги графа (на фиг.4в это дуга из модуля 2 в модуль 6 МС).The next clock pulse arrives at the counting input of the
Так продолжается до тех пор на выходе переполнения счетчика 82 не появится сигнал переполнения, который свидетельствует о переполнении счетчика 82, что одновременно является сигналом о завершении работы устройства.This continues until an overflow signal appears on the overflow output of the
Таким образом, предлагаемое устройство аналогично прототипу позволяет формировать оптимальное размещение невзвешенных графов в линейной топологической модели. В устройстве возможно размещение взвешенных графов, причем допускается выбор двух моделей области размещения - линейной или кольцевой. Найденное субоптимальное размещение сопоставляется с предельным вариантом путем подсчета и сравнения значений длин связей L и L∗. Дополнительно предлагаемое устройство позволяет выполнять поиск нижней оценки размещения в полносвязных матричных системах при однонаправленной передаче информации по критерию минимизации интенсивности взаимодействия процессов и данных.Thus, the proposed device is similar to the prototype allows you to generate 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 select two models of the placement region - linear or circular. The found suboptimal arrangement is compared with the limiting variant by counting and comparing the bond lengths L and L ∗ . Additionally, the proposed device allows you to search for lower estimates of placement in fully connected matrix systems with unidirectional information transfer according to the criterion of minimizing the intensity of the interaction of processes and data.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2010153834/08A RU2470357C2 (en) | 2010-12-27 | 2010-12-27 | Location lower-bound estimate search device in fully connected matrix systems during one-way data transfer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2010153834/08A RU2470357C2 (en) | 2010-12-27 | 2010-12-27 | Location lower-bound estimate search device in fully connected matrix systems during one-way data transfer |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2010153834A RU2010153834A (en) | 2012-07-10 |
RU2470357C2 true RU2470357C2 (en) | 2012-12-20 |
Family
ID=46848106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2010153834/08A RU2470357C2 (en) | 2010-12-27 | 2010-12-27 | Location lower-bound estimate search device in fully connected matrix systems during one-way data transfer |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2470357C2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU207031U1 (en) * | 2021-04-27 | 2021-10-07 | Федеральное государственное бюджетное учреждение "4 Центральный научно-исследовательский институт" Министерства обороны Российской Федерации | DEVICE FOR SELECTION OF FEATURES OF STRUCTURED OBJECTS WITH CHECK SUM |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU1291957A2 (en) * | 1984-12-19 | 1987-02-23 | Таганрогский радиотехнический институт им.В.Д.Калмыкова | Element of homogeneous medium |
EP0495517A2 (en) * | 1991-01-18 | 1992-07-22 | Matsushita Electric Industrial Co., Ltd. | Method of and system for automatically generating network diagrams |
RU2193796C2 (en) * | 2001-01-29 | 2002-11-27 | Курский государственный технический университет | Device for generating sub-optimal disposition and its assessment |
RU2319196C1 (en) * | 2006-08-01 | 2008-03-10 | Государственное образовательное учреждение высшего профессионального образования "Курский государственный технический университет" | Device for finding minimal intensity value in systems with linear organization during directional transmission of data |
US7350160B2 (en) * | 2003-06-24 | 2008-03-25 | International Business Machines Corporation | Method of displaying a guard ring within an integrated circuit |
US20100229145A1 (en) * | 2009-03-03 | 2010-09-09 | Sahouria Emile Y | Use Of Graphs To Decompose Layout Design Data |
-
2010
- 2010-12-27 RU RU2010153834/08A patent/RU2470357C2/en not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU1291957A2 (en) * | 1984-12-19 | 1987-02-23 | Таганрогский радиотехнический институт им.В.Д.Калмыкова | Element of homogeneous medium |
EP0495517A2 (en) * | 1991-01-18 | 1992-07-22 | Matsushita Electric Industrial Co., Ltd. | Method of and system for automatically generating network diagrams |
RU2193796C2 (en) * | 2001-01-29 | 2002-11-27 | Курский государственный технический университет | Device for generating sub-optimal disposition and its assessment |
US7350160B2 (en) * | 2003-06-24 | 2008-03-25 | International Business Machines Corporation | Method of displaying a guard ring within an integrated circuit |
RU2319196C1 (en) * | 2006-08-01 | 2008-03-10 | Государственное образовательное учреждение высшего профессионального образования "Курский государственный технический университет" | Device for finding minimal intensity value in systems with linear organization during directional transmission of data |
US20100229145A1 (en) * | 2009-03-03 | 2010-09-09 | Sahouria Emile Y | Use Of Graphs To Decompose Layout Design Data |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU207031U1 (en) * | 2021-04-27 | 2021-10-07 | Федеральное государственное бюджетное учреждение "4 Центральный научно-исследовательский институт" Министерства обороны Российской Федерации | DEVICE FOR SELECTION OF FEATURES OF STRUCTURED OBJECTS WITH CHECK SUM |
Also Published As
Publication number | Publication date |
---|---|
RU2010153834A (en) | 2012-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0696001B1 (en) | Information processing system and method of computation performed by using an information processing system | |
US8525849B2 (en) | Designing support method, designing support equipment, program and computer-readable storage medium | |
JP6745389B2 (en) | Shift register with reduced wiring complexity | |
RU2193796C2 (en) | Device for generating sub-optimal disposition and its assessment | |
Lee et al. | Study on a process-centric modeling methodology for virtual manufacturing of ships and offshore structures in shipyards | |
RU2452005C2 (en) | Location lower-bound estimate search device in matrix systems during directional transmission of information | |
Jafri et al. | Silago-cog: Coarse-grained grid-based design for near tape-out power estimation accuracy at high level | |
RU2470357C2 (en) | Location lower-bound estimate search device in fully connected matrix systems during one-way data transfer | |
RU2628329C1 (en) | Device for searching for minimum value of insensitivity of placement in toroidal systems with directed information transmission | |
RU2447485C2 (en) | Device to search lower location score in matrix systems during bidirectional information transfer | |
RU2688236C1 (en) | Device for counting minimum intensity of placement in multiprocessor cubic cyclic systems in unidirectional transmission of information | |
RU2723288C1 (en) | Device for estimating the degree of optimality of arrangement in multiprocessor cubic cyclic systems with directional information transmission | |
RU2634198C1 (en) | Device for searching minimum value of placement intensity in complete matrix systems with bidirectional transmission of information | |
RU2727555C2 (en) | Device for estimating the degree of optimality of arrangement in multiprocessor cubic cyclic systems with directional information transmission | |
RU2791419C1 (en) | Search device for degree of placement optimality in cluster multiprocessor systems | |
RU2285289C2 (en) | Device for planning positioning of problems in systems with circular organization during directional information transfer | |
RU2356085C1 (en) | Device for calculation of location intensity value in fully connected matrix systems in case of directive transmission of information | |
RU2319196C1 (en) | Device for finding minimal intensity value in systems with linear organization during directional transmission of data | |
RU2769967C1 (en) | Device for searching for a lower estimate of placement in hybrid multiprocessor systems with directional information transmission | |
RU2451334C1 (en) | Apparatus for estimating loading efficiency in systems with tree-like topology during directed information transmission | |
RU2460126C1 (en) | Apparatus for analysing channel overlapping when deploying parallel subprograms in multiprocessor systems | |
RU2798392C1 (en) | Device for identifying the optimal placement in cluster multiprocessor systems with directed information transfer | |
RU2530275C2 (en) | Apparatus for planning topology of logic integrated circuits | |
US20220326988A1 (en) | Explicit scheduling of on-chip operations | |
WO2001001298A2 (en) | Logic event simulation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20121228 |