RU2074415C1 - Parallel co-processor which solves boolean equations - Google Patents

Parallel co-processor which solves boolean equations Download PDF

Info

Publication number
RU2074415C1
RU2074415C1 RU93053633A RU93053633A RU2074415C1 RU 2074415 C1 RU2074415 C1 RU 2074415C1 RU 93053633 A RU93053633 A RU 93053633A RU 93053633 A RU93053633 A RU 93053633A RU 2074415 C1 RU2074415 C1 RU 2074415C1
Authority
RU
Russia
Prior art keywords
input
output
block
inputs
elements
Prior art date
Application number
RU93053633A
Other languages
Russian (ru)
Other versions
RU93053633A (en
Inventor
Всеволод Всеволодович Черныш
Original Assignee
Всеволод Всеволодович Черныш
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Всеволод Всеволодович Черныш filed Critical Всеволод Всеволодович Черныш
Priority to RU93053633A priority Critical patent/RU2074415C1/en
Publication of RU93053633A publication Critical patent/RU93053633A/en
Application granted granted Critical
Publication of RU2074415C1 publication Critical patent/RU2074415C1/en

Links

Images

Landscapes

  • Logic Circuits (AREA)

Abstract

FIELD: computer engineering. SUBSTANCE: device has processor matrix, control and interface unit. Processor matrix is designed as device for parallel reading and writing with 2n address inputs, reset input and one output. Interface and control unit is designed as unit which selects register addresses and has start input, signal input, 2+2{log2(α)}+2{log2(m)} + {log2(n)} load inputs, where {x} means minimal upper round integer, reset input, writing input, 2n control outputs, three solution outputs, m reading outputs and one reset output. EFFECT: increased speed of high-parallel exhaustive search of solutions due to simplified design of processor elements, decreased number of clock cycles which processor element needs for check of one variant. 10 cl, 20 dwg

Description

Изобретение относится к вычислительной технике, в частности к высокопараллельным специализированным процессорам. The invention relates to computer technology, in particular to highly parallel specialized processors.

Как известно, большинство практически важных дискретных и комбинаторных задач допускает решение с помощью некоторого процесса перебора. As you know, most practically important discrete and combinatorial problems can be solved using some sorting process.

Считается, что найти эффективное решение для большинства переборных задач (они называются NP-задачами) принципиально невозможно (Гэри М. Джонсон Д. Вычислительные машины и труднорешаемые задачи, М. Мир, 1982). It is believed that finding an effective solution for most exhaustive problems (they are called NP-problems) is fundamentally impossible (Gary M. Johnson D. Computing machines and hard-to-solve problems, M. Mir, 1982).

Среди NP-задач выделяется подкласс так называемых NP-полных задач. Все NP-задачи за полиномиальное время сводимы друг к другу. Таким образом, научившись эффективно решать какую-нибудь NP-полную задачу, можно эффективно решать все NP-задачи. Среди всех NP-полных задач выделяется задача о выполнимости булевых формул. Фундаментальная теорема Кука (Кук С.А. Сложность процедур вывода теорем, Кибернетический сборник, овая серия, Выпуск 12, М. Мир, 1975) устанавливают NP-полноту этой задачи, а NP-полнота всех остальных задач доказывается полиномиальным сведением к задаче о выполнимости булевых формул. Можно сказать, что эта задача естественным образом содержит в себе все NP-задачи. Among NP-problems, a subclass of the so-called NP-complete problems is distinguished. All NP-problems in polynomial time are reducible to each other. Thus, having learned how to efficiently solve an NP-complete problem, one can effectively solve all NP-problems. Among all NP-complete problems, the problem of satisfiability of Boolean formulas stands out. Cook's fundamental theorem (S.A. Cook, Complexity of theorem derivation procedures, Cybernetic collection, New Series, Issue 12, M. Mir, 1975) establish the NP-completeness of this problem, and the NP-completeness of all other problems is proved by polynomial reduction to the satisfiability problem Boolean formulas. We can say that this task naturally contains all the NP-problems.

Задача о выполнимости булевых формул формулируется следующим образом:
Дано: n булевых переменных x1, x2, xn и С - множество мощности К дизъюнкций от этих переменных.
The feasibility problem for Boolean formulas is formulated as follows:
Given: n Boolean variables x 1 , x 2 , x n and C is the set of cardinality K of disjunctions from these variables.

СD1(x1, x2,xn), D2(x1, x2,xn), Dк(x1, x2,xn)}
Заметим, что некоторые дизъюнкции фактически могут зависеть от меньшего, чем n числа переменных. Каждая дизъюнкция имеет вид: e1+e2+.+en, где ei либо тождественно равна 0 (если рассматриваемая дизъюнкция фактически не зависит от переменной хi), либо является литералом от xi. Каждый литерал от хi имеет вид либо xi, либо ^xi. Здесь и далее 0 логический нуль, "+" знак логического сложения, "^" знак логического отрицания.
CD 1 (x 1 , x 2 , x n ), D 2 (x 1 , x 2 , x n ), D to (x 1 , x 2 , x n )}
Note that some disjunctions may actually depend on fewer than n numbers of variables. Each disjunction has the form: e 1 + e 2 +. + E n , where e i is either identically equal to 0 (if the disjunction in question is actually independent of the variable x i ), or it is a literal of x i . Each literal of x i has the form either x i or ^ x i . Hereinafter, 0 is a logical zero, a "+" sign of logical addition, a "^" sign of logical negation.

Требуется определить, существуют ли выполняющие множество С наборы значений переменных x1, x2,xn, т.е. такие наборы а1, a2,an значений этих переменных, что для любого j:
Dj(a1, a2,an) 1 aj∈{0,1}. Здесь и далее 1 - логическая единица. Если такие наборы существуют, требуется найти хотя бы один из них.
It is required to determine whether there exist sets of values of the variables x 1 , x 2 , x n that fulfill the set C, i.e. such sets a 1 , a 2 , a n values of these variables such that for any j:
D j (a 1 , a 2 , a n ) 1 a j ∈ {0,1}. Hereinafter, 1 is a logical unit. If such sets exist, you need to find at least one of them.

Известен процессор, состоящий из арифметико-логического устройства (АЛУ), устройства управления (УУ), оперативной памяти (ОП), устройства ввода-вывода (УВВ) и постоянной памяти (ПП) (Каган Б.М. Электронные вычислительные машины и системы, М. Энергоатомиздат, 1985). A known processor consisting of an arithmetic logic device (ALU), control device (UE), random access memory (OP), input-output device (I / O) and read-only memory (PP) (Kagan B.M. Electronic computers and systems, M. Energoatomizdat, 1985).

Данная структура является универсальной, которую можно использовать, в том числе, и для решения задачи о выполнимости булевых формул. This structure is universal, which can be used, inter alia, to solve the problem of the feasibility of Boolean formulas.

едостатком рассмотренной универсальной структуры процессора является невозможность ее использования при большой размерности задачи, т.к. число М машинных тактов, необходимых для решения задачи о выполнимости булевых формул от n булевых переменных, в общем случае равно К*2n, где К некоторое (достаточно большое) число. При n порядка нескольких десятков М становится неприемлемо большим.a lack of the considered universal processor structure is the impossibility of its use with a large dimension of the task, because the number M of machine clocks necessary to solve the problem of the feasibility of Boolean formulas of n Boolean variables is generally equal to K * 2 n , where K is a (sufficiently large) number. For n of the order of several tens, M becomes unacceptably large.

Частично указанные недостатки устранены в высокопараллельном процессоре МРР (Massively Parallel Processor) фирмы Goodyear Aerospace (США), состоящем из: процессорной матрицы (ПМ), представляющей собой массив из 16384 процессорных элементов (ПЭ), каждый из которых является последовательно-поразрядным процессором, снабженным собственной локальной памятью объемом 1024 бита; устройства управления процессорной матрицей (УУПМ); переходной памяти (ПП) для буферизации и перекомпоновки данных; интерфейсной системы (ИС) для управления потоками данных, к которой подключается ведущая машина (HOST-машина) (СуперЭВМ. Аппаратная и программная реализация. Под. ред. С.Фернбаха, М. Радио и связь, 1991, гл.10, разделы 10.1 10.3, с. 215 - 246). Partially indicated disadvantages were eliminated in the high-parallel MPP processor (Massively Parallel Processor) of Goodyear Aerospace (USA), consisting of: a processor matrix (PM), which is an array of 16384 processor elements (PE), each of which is a sequential-bit processor equipped with own local memory of 1024 bits; processor matrix control devices (UPM); transition memory (PP) for buffering and re-arranging data; interface system (IS) for controlling the data flows to which the host machine (HOST machine) is connected (Supercomputer. Hardware and software implementation. Ed. by S. Fernbach, M. Radio and Communications, 1991, chap. 10, sections 10.1 10.3, p. 215 - 246).

Высокая степень параллелизма данного процессора позволяет повысить скорость решения задачи о выполнимости булевых формул, изначально обладающей высокой степенью параллелизма, в 16384 раза, однако в случае большого числа переменных и этого оказывается недостаточно. Кроме того, одному процессорному элементу для рассмотрения одного набора значений переменных требуется большое количество машинных тактов. A high degree of parallelism of this processor makes it possible to increase the speed of solving the problem of the feasibility of Boolean formulas, which initially has a high degree of parallelism, by 16384 times, but this is not enough in the case of a large number of variables. In addition, a single processor element to consider a single set of variable values requires a large number of machine clocks.

Задачей предлагаемого технического решения является упрощение устройства путем сведения процессорного элемента до уровня одной ячейки памяти и увеличение его быстродействия путем уменьшения количества машинных тактов, требующихся процессорному элементу для рассмотрения одного варианта до одного. The objective of the proposed technical solution is to simplify the device by reducing the processor element to the level of one memory cell and increase its speed by reducing the number of machine clocks required by the processor element to consider one option to one.

Технический результат поставленной задачи достигается тем, что в высокопараллельном спецпроцессоре для решения задачи о выполнимости булевых формул, состоящем из процессорной матрицы, устройства управления и интерфейса предлагается i-й (i 1,2n) адресный вход процессорной матрицы соединить с i-м управляющим выходом устройства управления, вход сброса процессорной матрицы соединить с выходом сброса устройства управления, выход процессорной матрицы соединить с сигнальным входом устройства управления, вход запуска которого соединить с выходом запуска интерфейса, j-й (j=1,m) выход чтения устройства управления соединить с j-м входом чтения интерфейса, p-й (p 1,2+2(log2(L)} +2{ log2(m)} +{log2(n)}x} обозначает наименьшее целое, большее или равное х) вход загрузки устройства управления соединить с p-м выходом загрузки интерфейса, вход сброса устройства управления соединить с выходом сброса интерфейса, вход записи устройства управления соединить с выходом записи интерфейса, первый второй и третий выходы решения устройства управления соединены с первым, вторым и третьим входами решения интерфейса, соответственно, в состав процессорной матрицы включить

Figure 00000002
идентичных блока записи и считывания, дешифратор адреса блока,
Figure 00000003
входовой каскад элементов И, причем i1-й (i1 1, 2n1) вход дешифратора адреса блока сделать i1-м адресным входом процессорной матрицы, k1-й (k1 1,
Figure 00000004
) выход дешифратора адреса блока соединить с разрешающим входом k1-го блока записи и считывания, i2-й (i2 1,2n2) вход адреса строки каждого блока записи и считывания соединить с i2+2n1-м адресным входом процессорной матрицы, i3-й (i3 1,2n3) вход адреса столбца каждого блока записи и считывания соединить с i3 + 2n1+2n2-м адресным входом процессорной матрицы, вход сброса каждого блока записи и считывания соединить с входом сброса процессорной матрицы, выход k1-го (k1 1,
Figure 00000005
) блока записи и считывания соединить с k1-м входом
Figure 00000006
входового каскада элементов И, выход которого соединить выходом процессорной матрицы, при этом каждый блок записи и считывания содержит матрицу
Figure 00000007
запоминающих ячеек, дешифратор адреса строки, дешифратор адреса столбца, n2
Figure 00000008
-входовых каскадов элементов И,
Figure 00000009
входовый главный каскад элементов И, 2n2 ключей, выполненных в виде элементов И с двумя входами, причем k2-й (k2 1,
Figure 00000010
) выход дешифратора адреса строки соединить с первыми входами выборки всех запоминающих ячеек k2-й строки матрицы запоминающих ячеек, k3-й (k3 1,
Figure 00000011
) выход дешифратора адреса столбца соединить с вторыми входами выборки всех запоминающих ячеек k3-го столбца матрицы запоминающих ячеек, первый вход i2-го (i2 1,2n2) ключа соединить i2-м входом адреса строки блока записи и считывания, второй вход каждого ключа соединить с разрешающим входом блока записи и считывания, i2-й (i2 1,2n2) вход дешифратора адреса строки соединить с выходом i2-го ключа, i3-й (i3 1,2n3) вход дешифратора адреса столбца соединить с i3-м входом адреса столбца блока записи и считывания, вход сброса каждой из запоминающих ячеек соединить с входом сброса блока записи и считывания, выход k3-й запоминающей ячейки k2-го ряда матрицы запоминающих ячеек соединить с k3 входом k2-го каскада элементов И, выход k2-го каскада элементов И соединить с k2-м входом
Figure 00000012
входового главного каскада элементов И, выход которого соединить выходом блока записи и считывания, в состав каждой запоминающей ячейки включить запоминающий элемент и логический элемент И с двумя входами, причем первый и второй входы логического элемента И соединить с первым и вторым входами выборки запоминающей ячейки, выход элемента И соединить с входом записи единицы запоминающего элемента, вход записи нуля запоминающего элемента соединить с входом сброса запоминающей ячейки, прямой выход запоминающего элемента соединить выходом запоминающей ячейки; дешифраторы адресов блока, строк и столбцов выполнить в виде параллельных адресных дешифраторов, имеющих 2N выходов и 2N адресных входов (N=n1, n2, n3 для дешифраторов блока, адреса строки и адреса столбца соответственно), по одному независимому входу для нулевого и для единичного значения каждого двоичного разряда адреса, в состав 2N-входового (N n1, n2, n3) каскада элементов И включить 2N-1 элементов И с двумя входами, расположенных на N уровнях, при этом на I-м (I 1, N) уровне расположить 2N-I элементов, входы каскада с номерами 2k1-1 и 2k1 (k1 1,2N-1) соединить с входами элемента И с номером k1 первого уровня, выходы элементов И с номерами 2kI-1 и 2kI (k 1,2N-I) I-го уровня соединить с входами элемента И номер kI I+1-го уровня, выход одного элемента И N-го уровня сделать выходом всего каскада; в состав устройства управления включить блок выбора дизъюнкций, блок адресации, m+1 разрядный счетчик циклов по модулю 2m+1, блок элементов И, m+1 разрядный регистр номера последнего цикла, блок ИЛИ-Е, блок переключателей, первый и второй определители порядка дизъюнкций, блок элементов ИЛИ, блок синхронизации, элемент ИЛИ с двумя входами, причем выход j-го (j 1,m+1) разряда регистра номера последнего цикла соединить с 2j-1-м входом блока элементов И, выход j-го разряда счетчика циклов соединить с 2j-входом блока элементов И с 2(m+1) входами, выход блока элементов И с 2(m+1) входами соединить с первым выходом решения устройства управления и с первым входом элемента ИЛИ, выход j-го (j 1,m) разряда счетчика циклов соединить с j-м управляющим входом блока выбора дизъюнкций, l-й (l 1,L), выход которого соединить с l-м входом блока переключателей и с l-м входом блока ИЛИ-Е, выход блока ИЛИ-Е соединить с вторым выходом решения устройства управления и с вторым входом элемента ИЛИ, l-й выход блока переключателей соединить с l-м входом первого определителя порядка дизъюнкций, L+l+1-й выход блока переключателей соединить с l-м, входом второго определителя порядка дизъюнкций, L+1-й выход блока переключателей соединить с L+1-м входом первого определителя порядка дизъюнкций, 2L+2-й выход блока переключателей соединить с L+1-м входом второго определителя порядка дизъюнкций, l-е выходы первого и второго определителей порядка дизъюнкций соединить, соответственно, с 2l+1-м и 2l-м входами блока элементов ИЛИ, l-й выход которого соединить с 1-м управляющим входом блока адресации, i-й (i 1,2n, n n1 + n2 + n3), управляющий выход которого соединить с i-м управляющим выходом устройства управления, сигнальный выход первого определителя порядка дизъюнкций соединить с первым входом блока синхронизации, сигнальный выход второго определителя порядка дизъюнкций соединить с вторым входом блока синхронизации, третий вход блока синхронизации соединить с сигнальным входом устройства управления, четвертый вход блока синхронизации соединить с входом запуска устройства управления, пятый вход блока синхронизации соединить с выходом логического элемента ИЛИ, первый выход блока синхронизации соединить с третьим выходом решения устройства управления, второй выход блока синхронизации соединить с L+1-м входом блока переключателей, третий выход блока синхронизации соединить с L+2-м входом блока переключателей, четвертый выход блока синхронизации соединить со счетным входом счетчика циклов и с выходом сброса устройства управления, p1-й вход (p1 1,log2(m)}) загрузки регистра номера последнего цикла соединить с p1-м входом загрузки устройства управления, q2 1,log2(m)} +log2(L)}+1) вход загрузки блока выбора дизъюнкций соединить с p2-м (p2 q2+{log2(m)}) входом загрузки устройства управления, q3-й (q3 1,log2(n)} +log2(L)}+1), вход загрузки блока адресации соединить с p3-м (p3 q3 + 2*{log2(m)} +log2(L)}+1) входом загрузки устройства управления, входы сброса блока выбора дизъюнкций, блока адресации, счетчика циклов и регистра номера последнего цикла соединить с входом сброса устройства управления, входы записи блока выбора дизъюнкций, блока адресации и регистра номера последнего цикла соединить с входом записи устройства управления, в состав блока выбора дизъюнкций включить m инверторов, дешифратор адреса схемы, дешифратор адреса ячейки и L схем выбора, причем j-й (j 1,m) управляющий вход блока выбора дизъюнкций соединить с 2j-1-ми управляющими входами всех схем выбора и с входом j-го и инвертора, выход которого соединить с 2j-ми управляющими входами всех схем выбора, выход l-й (l=1,L) схемы выбора соединить с l-м выходом блока выбора дизъюнкций, q4-й (q4 1,log2(L)}) вход загрузки блока выбора дизъюнкций соединить с q4-м входом дешифратора адреса схемы, 1-й выход которого соединить с разрешающим входом 1-й схемы выбора, q5-й (q5log2(L)}+1,log2(m)}+{log2(L)}+1), вход загрузки блока выбора дизъюнкций соединить с q5-{log2(L)}-м входом дешифратора адреса ячейки, j1-й (j1 1,2m) выход которого соединить с j1-ми входами выборки всех схем выбора, входы сброса и записи каждой схемы выбора соединить с входами сброса и записи блока выбора дизъюнкций, в состав каждой схемы выбора включить 2m запоминающих элементов, 2m элементов И с двумя входами, 2m элементов И с тремя входами, m элементов ИЛИ с тремя входами, элемент И-Е, блок элементов И, причем в каждой схеме выбора прямой выход 2j-1-го (j=1,m) запоминающего элемента соединить с первым входом j-го элемента ИЛИ, прямой выход 2j-го запоминающего элемента соединить с первым входом 2j-1-го элемента И с двумя входами, инверсный выход 2j-го запоминающего элемента соединить с первым входом 2j-го элемента и с двумя входами, второй вход 2j-1-го элемента И с двумя входами соединить с 2j-1-м управляющим входом схемы выбора, второй вход 2j-го элемента И с двумя входами соединить с 2j-м управляющим входом схемы выбора, выходы 2j-1-го и 2j-го элементов И с двумя входами соединить с вторым и третьим входами j-го элемента ИЛИ, выход j-го элемента ИЛИ соединить с j-м входом блока элементов И, выход которого соединить с выходом схемы выбора, прямые выходы первого и второго запоминающих элементов соединить с первым и вторым входами элемента И-Е, выход которого соединить с m+1-м входом блока элементов И, вход записи единицы j1-го (j1 1,2m) запоминающего элемента соединить с выходом j1-го элемента И с тремя входами, входы записи нуля всех запоминающих элементов соединены с входом сброса схемы выбора, первый вход j1-го элемента И с тремя входами соединить с j1-м входом выборки схемы выбора, вторые входы всех элементов И с тремя входами соединить с разрешающим входом схемы выбора, третьи входы всех элементов И с тремя входами соединить с входом записи схемы выбора; в состав блока адресации включить дешифратор адреса схемы, дешифратор адреса ячейки, n n1 + n2 + n3 схем адресации, причем l-e (l 1,L) управляющие входы всех схем адресации соединить с l-м управляющим входом блока адресации, первый и второй выходы i-й (i 1,n) схемы адресации соединить с 2i-1-м и 2i-м выходами блока, q6-й (q6 1,log2(n)}) вход загрузки блока адресации соединен с q6-м входом дешифратора адреса схемы, i-й выход которого соединить с разрешающим входом i-й схемы выбора, q7-й (q7log2(n)}+1,log2(n)}+log2(L)}+1), вход загрузки блока адресации соединить с q7-{log2(n)}-м входом дешифратора адреса ячейки, l1-й (l1 1,2L), выход которого соединить с l1-ми входами выборки всех схем адресации, входы сброса и записи каждой схемы адресации соединить с входами сброса и записи блока адресации, в состав каждой схемы адресации включить 2L запоминающих элементов, два блока элементов ИЛИ с L входами каждый, 2L ключей, выполненных в виде элементов И с двумя входами, 2L элементов И с тремя входами, причем прямые выходы 2l-1-го и 2l-го (l=1,L) запоминающих элементов, соединить с первыми входами 2l-1-го и 2l-го ключей, вторые входы 2l-1-го и 2l-го ключей соединить с l-м управляющим входом схемы адресации, выходы всех нечетных ключей соединить с входами первого блока элементов ИЛИ, выходы всех четных ключей соединить с входами второго логического блока ИЛИ, выходы первого и второго логических блоков ИЛИ соединить с первым и вторым выходами схемы адресации, вход записи единицы l1-го (l1 1, 2L) запоминающего элемента соединить с выходом l1-го элемента И с тремя входами, входы записи нуля всех запоминающих элементов соединить с входом сброса схемы адресации, первый вход l1-го элемента И с тремя входами соединить с l1-м входом выборки схемы адресации, вторые входы всех элементов И с тремя входами соединены с разрешающим входом схемы адресации, третьи входы всех элементов И с тремя входами соединить с входом записи схемы адресации.The technical result of the task is achieved by the fact that in a highly parallel special processor to solve the problem of the feasibility of Boolean formulas, consisting of a processor matrix, control device and interface, it is proposed that the ith (i 1,2n) address input of the processor matrix be connected to the ith control output of the device control, the reset input of the processor matrix is connected to the reset output of the control device, the output of the processor matrix is connected to the signal input of the control device, the start input of which is connected to the output ohm trigger interface, j-th (j = 1, m) reading output control device connected to the j-th input interface read, p-th (p 1,2 + 2 (log 2 (L)} +2 {log 2 ( m)} + {log 2 (n)} x} denotes the smallest integer greater than or equal to x) connect the boot input of the control device to the pth output of the interface load, the reset input of the control device to connect to the reset output of the interface, connect the record input of the control device with the output of the interface record, the first second and third outputs of the solution of the control device are connected to the first, second and third inputs of the solution of the interface, with responsibly in the processor matrix include
Figure 00000002
identical write and read blocks, block address decoder,
Figure 00000003
input cascade of elements And, whereby i 1 (i 1 1, 2n 1 ) the input of the address decoder of the block is made i the 1st address input of the processor matrix, k 1 (k 1 1,
Figure 00000004
) the output of the decoder of the block address is connected to the enable input k of the 1st write and read block, the 2nd (i 2 1,2n 2 ) line address input of each write and read block is connected to the i 2 + 2n 1st processor input address matrices, i 3rd (i 3 1,2n 3 ) connect the column address of each write and read block to the i 3 + 2n 1 + 2n 2nd address of the processor matrix, reset input of each write and read block to the reset input processor matrix, output k 1 th (k 1 1,
Figure 00000005
) of the writing and reading unit to be connected to the k 1st input
Figure 00000006
the input stage of the AND elements, the output of which is connected by the output of the processor matrix, with each recording and reading unit containing a matrix
Figure 00000007
storage cells, row address decoder, column address decoder, n 2
Figure 00000008
- input cascades of elements AND,
Figure 00000009
input main cascade of AND elements, 2n 2 keys made in the form of AND elements with two inputs, and k 2- th (k 2 1,
Figure 00000010
) connect the output of the row address decoder to the first inputs of the sample of all storage cells k the 2nd row of the matrix of storage cells, k 3rd (k 3 1,
Figure 00000011
) connect the output of the column address decoder to the second inputs of the sample of all storage cells k of the 3rd column of the matrix of storage cells, connect the first input of the 2nd (i 2 1,2n 2 ) key with the 2nd input of the address of the row of the write and read unit, connect the second input of each key to the enable input of the write and read unit, connect the 2nd (i 2 1,2n 2 ) line address decoder input with the output of the 2nd key, i 3rd (i 3 1,2n 3 ) input column address decoder connected to the i th input address 3 recording unit and reading column, the reset input of each of the memory cells with one with the reset input of the write and read unit, an output k-th memory cell 3 k 2 -th row of the matrix of memory cells connected to k 3 k 2 -th input stage of AND gates, the output k 2 -th stage elements and are connected to k 2 - m entrance
Figure 00000012
input main cascade of AND elements, the output of which is connected by the output of the recording and reading unit, to include in the composition of each memory cell a memory element and logical element AND with two inputs, the first and second inputs of the logical element And connected to the first and second inputs of the sample memory cell, output element And connect to the recording input of the unit of the storage element, the input of the recording of zero of the storage element to connect to the reset input of the storage cell, the direct output of the storage element to connect the output storage cell; the decoders of the addresses of the block, rows and columns are executed in the form of parallel address decoders having 2 N outputs and 2N address inputs (N = n 1 , n 2 , n 3 for the decoders of the block, row addresses and column addresses, respectively), one independent input for zero and for a single value of each binary digit of the address, in the 2 N- input (N n 1 , n 2 , n 3 ) cascade of elements And include 2 N-1 elements And with two inputs located at N levels, while on I -m (I 1, N) level arrange 2 NI elements, the inputs of the cascade with numbers 2k 1 -1 and 2k 1 (k 1 1,2 N-1 ) are connected connect the inputs of the AND element with the number k 1 of the first level, the outputs of the AND elements with the numbers 2k I -1 and 2k I (k 1,2 NI ) of the 1st level, connect the inputs of the And element with the number k I I + 1 of the 1st level, make the output of one element And the Nth level the output of the entire cascade; include a disjunction selection block, an addressing block, m + 1 bit cycle counter modulo 2 m + 1 , a block of AND elements, m + 1 bit register of the last cycle number, an OR-E block, a switch block, the first and second identifiers disjunction order, block of OR elements, synchronization block, OR element with two inputs, the output of the jth (j 1, m + 1) discharge of the register register of the last cycle number connected to the 2j-1st input of the block of AND elements, the output of the jth discharge cycle counter connected to the 2j-input of the block of elements AND with 2 (m + 1) inputs, the output of the block ele And with 2 (m + 1) inputs, connect to the first output of the control device solution and to the first input of the OR element, connect the output of the jth (j 1, m) discharge of the cycle counter to the jth control input of the disjunction selection block, l- d (l 1, L), the output of which is connected to the l-th input of the switch block and with the l-th input of the OR-E block, the output of the OR-E block is connected to the second output of the control device solution and to the second input of the OR element, l- connect the first output of the switch block to the l-th input of the first determinant of the order of disjunctions, L + l + connect the first output of the switch block with the lth, input of the second determinant of the order of clauses, L + 1st output of the switch block connect with L + 1st input of the first determinant of the order of disruptions, 2L + 2nd output of switch block connect with L + 1st input of the second determinant of the order of disjunctions, connect the lth outputs of the first and second determinants of the order of disjunctions, respectively, with the 2l + 1st and 2lth inputs of the block of OR elements, the lth output of which is connected to the 1st control input of the addressing block, i (i 1,2n, nn 1 + n 2 + n 3), the control output of which is connected to the i-th control output device councils connect the signal output of the first clause order determiner to the first input of the synchronization block, connect the signal output of the second clause order determinant to the second input of the synchronization block, connect the third input of the synchronization block to the signal input of the control device, connect the fourth input of the synchronization block to the start input of the control device, connect the fifth input of the synchronization block with the output of the logical element OR, the first output of the synchronization block with the third output of the solution control, connect the second output of the synchronization block to the L + 1st input of the switch block, connect the third output of the synchronization block to the L + 2nd input of the switch block, connect the fourth output of the synchronization block to the counting input of the cycle counter and to the reset output of the control unit, p 1 input (p 1 1, log 2 (m)}) to connect the register of the last cycle number to the p 1 input of the control device, q 2 1, log 2 (m)} + log 2 (L)} +1) connect the boot input of the disjunction selection block to the p 2- th (p 2 q 2 + {log 2 (m)}) boot input of the control device, q 3rd (q 3 1, log 2 (n)} + log 2 (L)} + 1), connect the load input of the addressing unit to p 3 (p 3 q 3 + 2 * {log 2 (m)} + log 2 (L)} + 1) connect the control device boot input, the reset input of the clause selection block, addressing block, cycle counter and register of the last cycle number to the control input reset input, the disjunction selection block record inputs, address block and the last number register of the cycle, connect to the recording input of the control device, include m inverters, a circuit address decoder, a cell address decoder and L circuit selectors in the disjunction selection block a, and the jth (j 1, m) control input of the disjunction selection block is connected to the 2j-1 control inputs of all the selection circuits and to the input of the jth and inverter, the output of which is connected to the 2jth control inputs of all the selection circuits , connect the output of the lth (l = 1, L) selection circuit with the lth output of the clause selection block, q 4th (q 4 1, log 2 (L)}) connect the boot input of the clause selection block to q 4 - m the input of the decoder of the circuit address, the 1st output of which is connected to the enable input of the 1st selection circuit, q 5th (q 5 log 2 (L)} + 1, log 2 (m)} + {log 2 (L) } 1), the load input selection unit connected to disjunctions q 5 - {log 2 (L)} - input cell address decoder, j 1 th (j 1 1,2m) whose output is connected to the j -th input sample 1 all selection circuits, and the reset inputs of each entry selection circuit connected to the reset inputs of disjunctions and write selecting unit, each of the selection schemes include 2m memory elements, 2m AND elements with two inputs, 2m AND elements with three inputs, m OR elements with three inputs, IE element, block of AND elements, and in each selection scheme the direct output is 2j-1st ( j = 1, m) of the storage element to connect with the first input of the j-th element OR, direct output of the 2j-th memory connect the input element to the first input of the 2j-1st element AND with two inputs, connect the inverse output of the 2j-th storage element to the first input of the 2jth element and two inputs, connect the second input of the 2j-1st element AND to two inputs with the 2j-1st control input of the selection circuit, connect the second input of the 2j-th AND element with two inputs to the 2j -th control input of the selection circuit, the outputs of the 2j-1st and 2j AND with two inputs connect to the second and the third inputs of the jth OR element, the output of the jth OR element is connected to the jth input of the block of AND elements, the output of which is dinit with the output of the circuit selection, the direct outputs of the first and second memory elements connected to first and second inputs of the AND-E, whose output is connected to the m + 1-th input block of AND gates, entrance recording unit 1 j-th (j 1 1 2m) connected to the memory element 1 j-th output of the AND with three inputs, the inputs of zero entries all storage elements are connected to the reset input selecting circuit, a first input of j-th element 1 and with three inputs connected to the j-th input of the circuit 1 sample selection, the second inputs of all elements AND with three inputs to connect with enabling them the input of the selection circuit, the third inputs of all elements AND with three inputs to connect to the input records of the selection circuit; include the address decoder of the circuit, the decoder of the cell address, nn 1 + n 2 + n 3 addressing schemes, and le (l 1, L) connect the control inputs of all addressing schemes to the l-th control input of the addressing unit, the first and second connect the outputs of the i-th (i 1, n) addressing circuit with the 2i-1st and 2i-m outputs of the block, q 6th (q 6 1, log 2 (n)}) the load input of the addressing block is connected to q 6 the input of the decoder of the address of the circuit, the i-th output of which is connected to the enable input of the i-th selection circuit, q 7th (q 7 log 2 (n)} + 1, log 2 (n)} + log 2 (L) } +1), connect the load input of the addressing block with q 7 - {log 2 (n)} - m input address decoder cell, l 1-th (l 1 1,2L), whose output is connected to 1 l -th input sample all addressing schemes, a reset input and recording each addressing circuit connected to the reset inputs of the addressing and writing unit, each of the circuit addressing include 2L memory elements, two blocks of OR elements with L inputs each, 2L keys made in the form of AND elements with two inputs, 2L elements AND with three inputs, with direct outputs of the 2l-1st and 2l-th (l = 1 , L) of storage elements, connect to the first inputs of the 2l-1st and 2l keys, the second inputs of the 2l-1st and 2l keys with connect with the l-th control input of the addressing circuit, connect the outputs of all the odd keys with the inputs of the first block of OR elements, connect the outputs of all the even keys with the inputs of the second logical block OR, connect the outputs of the first and second logical blocks OR with the first and second outputs of the addressing circuit, the input recording unit l 1 (l 1 1, 2L) of the storage element to connect with the output l 1- th element And with three inputs, the inputs of the recording of zero of all storage elements to connect to the reset input of the addressing circuit, the first input l 1- th element AND with three inputs s connected to the 1 l th input sample addressing scheme, all the second inputs of AND gates with three inputs are connected to the enabling input addressing circuit, the third inputs of AND gates with three inputs connected to the input of recording the addressing scheme.

В состав блока синхронизации предлагается включить инвертор, два логических элемента И с двумя входами, RS-триггер, три логических элемента ИЛИ с двумя входами, генератор тактовых импульсов, Т-триггер, две линии задержки, причем первый и второй входы блока соединить с первым и вторым входами первого элемента ИЛИ, третий вход блока соединить с вторым входом второго элемента И, первый вход которого соединить с выходом Q RS-триггера, выход первого элемента ИЛИ через первую линию задержки соединить с первым входом первого элемента И, третий вход блока через инвертор соединить с вторым входом первого элемента И, выход первого элемента И соединить с первым выходом блока и с первым входом третьего элемента ИЛИ, выход второго элемента И соединить с вторым входом второго элемента ИЛИ, первый вход которого соединить с четвертым входом блока синхронизации, выход второго элемента ИЛИ соединить с четвертым выходом блока, со счетным входом Т-триггера, с входом R RS-триггера и через вторую линию задержки на половину такта с входом S RS-триггера, выход Т-триггера соединить с третьим выходом блока, четвертый вход блока соединить с входом запуска генератора, выход генератора соединить с вторым выходом блока, пятый вход блока соединить с вторым входом третьего элемента ИЛИ, выход которого соединить с входом остановки генератора. It is proposed to include an inverter, two AND logic elements with two inputs, an RS-trigger, three OR logical elements with two inputs, a clock generator, a T-trigger, two delay lines, and connect the first and second inputs of the block to the first and the second inputs of the first OR element, connect the third input of the block to the second input of the second And element, the first input of which is connected to the output Q of the RS trigger, the output of the first OR element through the first delay line connect to the first input of the first And element, the third input b lock through an inverter to connect to the second input of the first AND element, the output of the first AND element to connect to the first output of the block and to the first input of the third OR element, the output of the second AND element to the second input of the second OR element, the first input of which to connect to the fourth input of the synchronization block, the output of the second OR element is connected to the fourth output of the block, with the counting input of the T-trigger, with the input R of the RS-trigger and through the second half-cycle delay line with the input S of the RS-trigger, the output of the T-trigger is connected to the third output of the block, connect the fourth block input to the generator start input, connect the generator output to the second block output, connect the fifth block input to the second input of the third OR element, the output of which is connected to the generator stop input.

В состав определителя порядка дизъюнкций предлагается включить L ключей с одним управляющим входом, управляющим выходом, тактовым входом и тактовым выходом, при этом управляющий вход l-го (l 1,L) ключа соединить с l-м входом определителя, управляющий выход l-го ключа соединить с управляющим выходом определителя, тактовый вход первого ключа соединить с L+1-м входом определителя, тактовый вход l-го ключа (l 2,L) соединить с тактовым выходом l+1-го ключа, тактовый выход L-го ключа соединить с сигнальным выходом определителя, в состав каждого из ключей включить RS-триггер, два элемента И с двумя входами каждый, линию задержки на половину машинного такта, при этом управляющий вход ключа соединить с входом S RS-триггера, выход Q RS-триггера соединить с вторым входом второго элемента И, выход

Figure 00000013
RS-триггера соединить с вторым входом первого элемента И, первые входы элементов И соединить с тактовым входом ключа, выход первого элемента И соединить с тактовым выходом ключа, выход второго элемента И соединить с управляющим выходом ключа и через линию задержки с входом R RS-триггера.It is proposed to include L keys with one control input, a control output, a clock input and a clock output in the determinant of the order of disjunctions, while the control input of the lth (l 1, L) key is connected to the lth input of the determinant, the control output of the lth connect the key to the control output of the determinant, connect the clock input of the first key to the L + 1st input of the determinant, connect the clock input of the lth key (l 2, L) to the clock output of the l + 1 key, clock output of the L key connect with the signal output of the determinant, in the composition of each of the keys on assign an RS-trigger, two AND elements with two inputs each, a delay line of half a clock cycle, while the control input of the key is connected to the input S of the RS-trigger, the output of the Q RS-trigger is connected to the second input of the second element And, the output
Figure 00000013
Connect the RS-flip-flop with the second input of the first element AND, connect the first inputs of the elements And with the clock input of the key, the output of the first element And connect with the clock output of the key, the output of the second element And connect with the control output of the key and through the delay line with the input R of the RS-flip-flop .

В состав блока переключателей с L+2 входами и 2(L+1) выходами предлагается включить инвертор и 2(L+1) ключ, выполненный в виде логического элемента И с двумя входами, причем L+2-й вход блока соединить с первыми входами всех ключей с номерами большими L+1 и с входом инвертора, выход которого соединить с первыми входами всех ключей с номерами, меньшими или равными L+1, l-й (l 1,L, L+1), вход блока соединить с вторыми входами l-го и L+l+l-го ключей, выход l-го ключа (l=1,2L+1, l1≠L+1)) соединить с l-м выходом блока, выход 2L+1-го ключа соединить с L+2-м выходом блока, выход 2L+2-го ключа соединить с L+1-м выходом блока.The structure of the switch block with L + 2 inputs and 2 (L + 1) outputs is proposed to include an inverter and 2 (L + 1) key, made in the form of a logical element And with two inputs, and connect the L + 2-nd input of the block with the first the inputs of all keys with numbers greater than L + 1 and with the input of the inverter, the output of which is connected to the first inputs of all keys with numbers less than or equal to L + 1, l-th (l 1, L, L + 1), connect the input of the block with the second inputs of the lth and L + l + lth keys, the output of the lth key (l = 1,2L + 1, l 1 ≠ L + 1)) connect to the lth output of the block, the output 2L + 1- key to connect with L + 2nd block output, output 2L + 2nd class ca connected to the L + 1-th output block.

В состав блока элементов ИЛИ с 2L входами и L выходами предлагается включить L элементов ИЛИ с двумя входами, причем 2l-1-й (l 1,L) вход блока соединить с первым входом l-го элемента ИЛИ, 2l-й (l 1,L) вход блока соединить с вторым входом l-го элемента ИЛИ, выход которого соединить с l-м выходом блока. It is proposed to include L OR elements with two inputs in the OR block with 2L inputs and L outputs, and connect the 2l-1st (l 1, L) block input to the first input of the l-th OR element, 2l-th (l 1 , L) connect the input of the block to the second input of the l-th OR element, the output of which is connected to the l-th output of the block.

Логический блок ИЛИ с L входами предлагается выполнить в виде p-уровневого (p [log2L]) каскада элементов ИЛИ, причем, на первом уровне расположить [L/2] элементов ([] обозначает целую часть числа), на q-м (q 1,p) уровне расположить s(q) элементов ИЛИ, при этом s(q+1)=[s(q)/2] все кроме последних элементы ИЛИ всех уровней должны иметь по два входа, последний элемент первого уровня должен иметь два входа, если L четное, и три входа, если L нечетное, последний элемент q + 1-го уровня должен иметь два входа, если s(q) четное, и три входа, если s(q) нечетное, 2l1-й и 2l1-1-й (l1 1,[L/2]) входы блока соединить с входами L1-го элемента ИЛИ первого уровня, если L нечетно, то последний вход блока соединить с третьим входом последнего элемента ИЛИ первого уровня, выходы 2lq и 2lq-1-го (lq 1,[s(q)/2] элементов ИЛИ q-го уровня соединить с входами lq-го элемента q+1-го уровня, если s(q) нечетно, то выход последнего элемента q-го уровня соединить с третьим входом последнего элемента q+1-го уровня, выход элемента последнего уровня соединить с выходом блока.It is proposed to perform an OR logical block with L inputs in the form of a p-level (p [log 2 L]) cascade of OR elements, and, on the first level, arrange [L / 2] elements ([] denotes the integer part of the number), on the qth (q 1, p) level, arrange s (q) OR elements, while s (q + 1) = [s (q) / 2] all but the last OR elements of all levels should have two inputs, the last element of the first level should have two inputs if L is even, and three inputs if L is odd, the last q + 1 level element should have two inputs if s (q) is even, and three inputs if s (q) is odd, 2l 1 - 2l minutes and 1 -1-th (l 1, 1, [L / 2]) in ode unit connected to L 1 th inputs of the OR gate of the first level, if L is odd, then the last input block is connected to a third input of the OR gate of the first level, and outputs 2l q 2l q -1-th (l q 1, [s ( q) / 2] of the elements of the qth level OR connect to the inputs l of the qth element of q + 1st level, if s (q) is odd, then the output of the last element of the qth level connect with the third input of the last element q + 1 level, connect the output of the last level element to the output of the block.

Логический блок И с N входами (N L+1) предлагается выполнить в виде p-уровневого (p [log2 N] каскада элементов И, причем, на первом уровне расположить [N/2] элементов ([ обозначает целую часть числа), на q-м (q 1,p) уровне расположить s(q) элементов И, при этом s(q+1)=[s(q)/2] все кроме последних элементы И всех уровней должны иметь по два входа, последний элемент первого уровня должен иметь два входа, если N четное, и три входа, если N нечетное, последний элемент q + 1-го уровня должен иметь два входа, если s(q) четное, и три входа, если s(q) нечетное, 2l1-й и 2l1-1-й (l 1,[N/2] входы блока соединить с входами 11-го элемента И первого уровня, если N нечетно, то последний вход блока соединить с третьим входом последнего элемента И первого уровня, выходы 2lq-го и 2lq-1-го (l 1,[s(q)/2]) элементов ИЛИ q-го уровня соединить с входами lq-го элемента q+1-го уровня, если s(q) нечетно, то выход последнего элемента q-го уровня соединить с третьим входом последнего элемента q+1-го уровня, выход элемента последнего уровня соединить с выходом блока.The logical block AND with N inputs (N L + 1) is proposed to be performed in the form of a p-level (p [log 2 N] cascade of AND elements, and, on the first level, arrange [N / 2] elements ([denotes the integer part of the number), at the qth (q 1, p) level arrange s (q) of AND elements, while s (q + 1) = [s (q) / 2] all but the last AND elements of all levels should have two inputs, the last the first level element must have two inputs if N is even, and three inputs if N is odd, the last q + 1 level element must have two inputs if s (q) is even, and three inputs if s (q) is odd , 2l 2l 1 st and 1 -1-th (l 1, [N / 2] inputs bl Single connected to the inputs 1 and 1 th element of the first level, if N is odd, then the last block input connected to the third input of the AND gate of the first level, the outputs 2l q -th and 2l q -1-th (l 1, [s ( q) / 2]) of the elements of the qth level OR connect to the inputs l of the qth element of q + 1st level, if s (q) is odd, then connect the output of the last element of the qth level to the third input of the last element q + 1st level, the output of the last level element is connected to the output of the block.

В состав логического блока ИЛИ-Е с L входами предлагается включить логический блок ИЛИ c L входами и инвертор, при этом выход логического блока ИЛИ с L входами соединить с входом инвертора, выход которого соединить с выходом блока ИЛИ-Е. It is proposed to include an OR logic block with L inputs and an inverter in the OR-E logic block with L inputs, and connect the output of the OR logical block with L inputs to the inverter input, the output of which should be connected to the output of the OR-E block.

а фиг.1 изображена функциональная схема спецпроцессора для решения задач о выполнимости булевых формул; на фиг.2 функциональная схема процессорной матрицы; на фиг.3 функциональная схема блока параллельной записи и считывания; на фиг.4 функциональная схема запоминающей ячейки; на фиг.5 - функциональная схема параллельного адресного дешифратора с 2n входами и 2n выходами (n= 2); на фиг.6 функциональная схема 2N-входового каскада элементов И; на фиг. 7 функциональная схема устройства управления; на фиг.8 - функциональная схема блока выбора дизъюнкций; на фиг.9 функциональная схема схемы выбора; на фиг. 10 функциональная схема блока адресации; на фиг.11 - функциональная схема схемы адресации; на фиг.12 функциональная схема блока синхронизации; на фиг. 13 функциональная схема определителя порядка дизъюнкций; на фиг.14 функциональная схема ключа определителя порядка дизъюнкций; на фиг.15 функциональная схема блока переключателей; на фиг.16 - функциональная схема блока элементов ИЛИ устройства управления; на фиг.17 - функциональная схема логического блока элементов ИЛИ; на фиг.18 - функциональная схема логического блока элементов И; на фиг. 19 функциональная схема логического блока ИЛИ-Е.and figure 1 shows a functional diagram of a special processor for solving problems on the feasibility of Boolean formulas; figure 2 functional diagram of the processor matrix; figure 3 is a functional diagram of a parallel write and read unit; figure 4 is a functional diagram of a storage cell; figure 5 is a functional diagram of a parallel address decoder with 2n inputs and 2n outputs (n = 2); Fig.6 functional diagram 2 of the N- input cascade of elements And; in FIG. 7 is a functional diagram of a control device; on Fig - functional block diagram of the choice of clauses; Fig.9 is a functional diagram of a selection circuit; in FIG. 10 functional diagram of the addressing unit; figure 11 is a functional diagram of an addressing scheme; 12 is a functional diagram of a synchronization unit; in FIG. 13 functional diagram of the determinant of the order of disjunctions; on Fig functional diagram of the key determinant of the order of disjunctions; on Fig functional block diagram of the switches; on Fig is a functional diagram of a block of elements OR control device; on Fig is a functional diagram of a logical block of elements OR; Fig. 18 is a functional diagram of a logical block of AND elements; in FIG. 19 is a functional diagram of a logical block OR-E.

Высокопараллельный спецпроцессор для решения задачи о выполнимости булевых формул состоит (фиг.1) из процессорной матрицы 1, устройства 2 управления и интерфейса 3. A highly parallel special processor for solving the problem of the feasibility of Boolean formulas (Fig. 1) consists of a processor matrix 1, control device 2, and interface 3.

Процессорная матрица 1 имеет 2n адресных входов 4, вход 5 сброса и один выход 6. The processor matrix 1 has 2n address inputs 4, input 5 reset and one output 6.

Устройство управления имеет вход запуска 7, сигнальный вход 8, 2+2{ log2(L)}+2{log2(m)} +{log2(n)}входов 9 загрузки (гдеx} обозначает наименьшее целое большее или равное х), вход 10 сброса, вход 11 записи, 2n управляющих выходов 12, три выхода решения 13, 14, 15, m выходов чтения 16 и выход сброса 17.The control device has a trigger input 7, signal input 8, 2 + 2 {log 2 (L)} + 2 {log 2 (m)} + {log 2 (n)} of the input 9 of the download (where x} denotes the smallest integer greater than or equal to x), reset input 10, write input 11, 2n control outputs 12, three solution outputs 13, 14, 15, m read outputs 16 and reset output 17.

При этом i-й (i 1,2n) адресный вход 4i процессорной матрицы 1 соединен с i-м управляющим выходом 12i устройства 2 управления, вход 5 сброса процессорной матрицы 1 соединен с выходом 17 сброса устройства 2 управления, выход 6 процессорной матрицы 1 соединен с сигнальным входом 8 устройства 2 управления.In this case, the i-th (i 1,2n) address input 4 i of the processor matrix 1 is connected to the i-th control output 12 i of the control device 2, the reset input 5 of the processor matrix 1 is connected to the reset output 17 of the control device 2, the output of the processor matrix 6 1 is connected to the signal input 8 of the control device 2.

Вход 7 запуска устройства 2 управления соединен с выходом 18 запуска интерфейса 3, j-й (j 1,m) выход 16j чтения устройства 2 управления соединен с j-м входом 19j чтения интерфейса 3, p-й (p 1,2+2{log2(L)}+2{log2(m)}+{ log2(n)} ), вход 9p загрузки устройства 2 управления соединен с p-м выходом 20p загрузки интерфейса 3. Вход 10 сброса устройства 2 управления соединен с выходом 21 сброса интерфейса 3, вход 11 записи устройства 2 управления соединен с выходом 22 записи интерфейса 3, первый 13, второй 14 и третий 15 выходы решения устройства 2 управления соединены с первым 23, вторым 24 и третьим 25 входами решения интерфейса, соответственно.The start input 7 of the control device 2 is connected to the output 18 of the interface 3, jth (j 1, m) output 16 j of the reader 2 of the control device is connected to the jth input 19 j of the interface 3, pth (p 1,2 +2 {log 2 (L)} + 2 {log 2 (m)} + {log 2 (n)}), the input 9 p of the boot device 2 control is connected to the p-th output 20 p boot interface 3. Input 10 reset the control device 2 is connected to the output 21 of the reset interface 3, the input 11 of the recording device 2 control is connected to the output 22 of the record interface 3, the first 13, second 14 and third 15 outputs of the solution of the control device 2 are connected to the first 23, second 24 and t etim 25 inputs interface solutions, respectively.

Процессорная матрица 1 (фиг.2) содержит:

Figure 00000014
идентичных блоков 26 записи и считывания с
Figure 00000015
входами 27 адреса строки,
Figure 00000016
входами 28 адреса столбца, разрешающим входом 29, входом сброса и одним выходом 30;
дешифратор 31 адреса блока с 2n1 входами и
Figure 00000017
выходами 32;
Figure 00000018
-входовый каскад 33 элементов И.The processor matrix 1 (figure 2) contains:
Figure 00000014
identical blocks 26 write and read with
Figure 00000015
inputs 27 line addresses,
Figure 00000016
inputs 28 of the column address, enabling input 29, reset input and one output 30;
a block address decoder 31 with 2n 1 inputs and
Figure 00000017
outputs 32;
Figure 00000018
input stage 33 elements I.

При этом i1-й (i1 1,2n1) вход дешифратора 31 адреса блока является i1-м адресным входом

Figure 00000019
устройства 1 параллельной записи и считывания, k1-й (k1 1,
Figure 00000020
) выход
Figure 00000021
дешифратора 31 адреса блока соединен с разрешающим входом 29 k1-го блока
Figure 00000022
.Moreover, the i 1st (i 1 1,2n 1 ) input of the decoder 31 of the block address is the i 1st address input
Figure 00000019
parallel write and read device 1, k 1 (k 1 1,
Figure 00000020
) exit
Figure 00000021
the block address decoder 31 is connected to the enable input 29 k of the 1st block
Figure 00000022
.

i2-й (i2 1,2n2) вход

Figure 00000023
адреса строки каждого блока 26 записи и считывания соединен с i2+2n1-м адресным входом
Figure 00000024
устройства 1 параллельной записи и считывания.i 2nd (i 2 1,2n 2 ) input
Figure 00000023
the address of the line of each block 26 of the write and read connected to i 2 + 2n 1- m address input
Figure 00000024
device
1 parallel recording and reading.

i3-й (i3 1,2n3) вход адреса столбца

Figure 00000025
каждого блока 26 соединен с i3+2n1+2n2-м адресным входом
Figure 00000026
устройства параллельной записи и считывания 1.i 3rd (i 3 1,2n 3 ) column address input
Figure 00000025
each block 26 is connected to i 3 + 2n 1 + 2n 2- th address input
Figure 00000026
parallel write and reader devices 1.

Вход сброса каждого блока 26 соединен с входом сброса 5 процессорной матрицы 1. The reset input of each block 26 is connected to the reset input 5 of the processor matrix 1.

Выход 30 k1-го (k1 1,

Figure 00000027
) блока 26 соединен с k1-м входом
Figure 00000028
- входового каскада 33 элементов И, выход которого является выходом 6 процессорной матрицы 1.Exit 30 k 1st (k 1 1,
Figure 00000027
) block 26 is connected to the k 1- th input
Figure 00000028
- input stage 33 elements And, the output of which is the output 6 of the processor matrix 1.

Каждый блок 26 записи и считывания (фиг.3) содержит:
матрицу

Figure 00000029
запоминающих ячеек 35;
дешифратор 36 адреса строки с 2n2 входами 37 и
Figure 00000030
выходами 38;
дешифратор 39 адреса столбца с 2n3 входами 40 и
Figure 00000031
выходами 41;
n2
Figure 00000032
-входовых каскадов 42 элементов И
Figure 00000033
-входовый главный каскад 43 элементов И;
2n2 ключей 44, выполненных в виде элементов И с двумя входами.Each block 26 recording and reading (figure 3) contains:
the matrix
Figure 00000029
storage cells 35;
decoder 36 line addresses with 2n 2 inputs 37 and
Figure 00000030
outputs 38;
decoder 39 column addresses with 2n 3 inputs 40 and
Figure 00000031
outputs 41;
n 2
Figure 00000032
-input stages 42 elements AND
Figure 00000033
-input main cascade of 43 And elements;
2n 2 keys 44, made in the form of elements AND with two inputs.

При этом k2-й (k2 1,

Figure 00000034
) выход
Figure 00000035
дешифратора 36 адреса строки соединен с первыми входами 45 выборки всех запоминающих ячеек
Figure 00000036
k2-й строки матрицы запоминающих ячеек, k3-й (k3 1,
Figure 00000037
) выход
Figure 00000038
дешифратора 39 адреса столбца соединен с вторыми входами 46 выборки всех запоминающих ячеек k3-го столбца матрицы запоминающих ячеек.Moreover, k 2- th (k 2 1,
Figure 00000034
) exit
Figure 00000035
the decoder 36 of the row address is connected to the first inputs 45 of the sample of all storage cells
Figure 00000036
k 2nd row of the matrix of storage cells, k 3rd (k 3 1,
Figure 00000037
) exit
Figure 00000038
the column address decoder 39 is connected to the second inputs 46 of the sample of all storage cells k of the 3rd column of the matrix of storage cells.

Первый вход i2-го (i2 1,2n2) ключа

Figure 00000039
соединен с i2-м входом
Figure 00000040
адреса строки блока, второй вход каждого ключа 44 соединен с разрешающим входом 29 блока.The first input i 2- th (i 2 1,2n 2 ) key
Figure 00000039
connected to i 2nd input
Figure 00000040
block line address, the second input of each key 44 is connected to the enable input 29 of the block.

i2-й (i2= 1,2n2) вход

Figure 00000041
дешифратора 36 адреса строки соединен с выходом i2-го ключа
Figure 00000042
, i3-й (i3 1,2n3) вход
Figure 00000043
дешифратора 39 адреса столбца соединен с i3-м входом
Figure 00000044
адреса столбца блока.i 2nd (i 2 = 1,2n 2 ) input
Figure 00000041
decoder
36 line address is connected to the output i of the 2nd key
Figure 00000042
, i 3rd (i 3 1,2n 3 ) input
Figure 00000043
the column address decoder 39 is connected to the i 3rd input
Figure 00000044
block column addresses.

Вход 47 сброса каждой из запоминающих ячеек соединен с входом 34 сброса блока 26 записи и считывания, выход k3-й запоминающей ячейки

Figure 00000045
k2-го ряда матрицы запоминающих ячеек соединен с k3-м входом
Figure 00000046
k2-го каскада
Figure 00000047
элементов И, выход k2-го каскада
Figure 00000048
элементов И соединен с k2-м входом
Figure 00000049
Figure 00000050
-входового главного каскада 43 элементов И, выход которого является выходом блока 26 записи и считывания.The reset input 47 of each of the storage cells is connected to the reset input 34 of the write and read unit 26, the output of the 3rd storage cell
Figure 00000045
k of the 2nd row of the matrix of storage cells is connected to the k of the 3rd input
Figure 00000046
k 2nd cascade
Figure 00000047
elements And, output k of the 2nd stage
Figure 00000048
elements And connected to the k 2nd input
Figure 00000049
Figure 00000050
- input main stage 43 AND elements, the output of which is the output of the block 26 recording and reading.

Каждая запоминающая ячейка 35 (фиг.4) содержит:
запоминающий элемент 50;
логический элемент И 51 с двумя входами.
Each storage cell 35 (figure 4) contains:
storage element 50;
logic element AND 51 with two inputs.

При этом первый и второй входы логического элемента И 51 соединены с первым 45 и вторым 46 входами выборки запоминающей ячейки 35, выход элемента И соединен с входом записи единицы запоминающего элемента 50, вход записи нуля запоминающего элемента 50 соединен с входом 47 сброса запоминающей ячейки 35. Прямой выход запоминающего элемента является выходом запоминающей ячейки 35. In this case, the first and second inputs of the logic element And 51 are connected to the first 45 and second 46 inputs of the sample of the memory cell 35, the output of the element And is connected to the recording input of the unit of the memory element 50, the input of the zero recording of the memory element 50 is connected to the reset input 47 of the memory cell 35. The direct output of the storage element is the output of the storage cell 35.

Дешифраторы адресов блока, строк и столбцов (фиг.5) выполнены в виде параллельных адресных дешифраторов, имеющих 2N выходов 52 и 2N адресных входов 53 (N n1, n2, n3 для дешифраторов блока, адреса строки и адреса столбца соответственно), по одному независимому входу для нулевого и для единичного значения каждого двоичного разряда адреса.The decoders of the addresses of the block, rows and columns (Fig. 5) are made in the form of parallel address decoders having 2 N outputs 52 and 2N address inputs 53 (N n 1 , n 2 , n 3 for the decoders of the block, row addresses and column addresses, respectively) , one independent input for zero and for a single value of each binary bit of the address.

2N-входовый (фиг. 6) (N n1, n2, n3) каскад элементов И содержит 2N-1 элементов И 54 с двумя входами, расположенных на N уровнях, при этом на I-м (I= 1,N) уровне имеется 2N-I элементов, входы

Figure 00000051
каскада (k1 1, 2N-1) соединены с входами элемента И
Figure 00000052
первого уровня, выходы элементов И
Figure 00000053
(k1 1,2N-I) I-го уровня соединены с входами элемента И
Figure 00000054
I+1-го уровня, выход одного элемента И 54N,1 N-го уровня является выходом 56 всего каскада.2 N- input (Fig. 6) (N n 1 , n 2 , n 3 ) cascade of elements And contains 2 N -1 elements And 54 with two inputs located at N levels, while on the I-th (I = 1 , N) level there are 2 NI elements, inputs
Figure 00000051
cascade (k 1 1, 2 N-1 ) connected to the inputs of the element And
Figure 00000052
first level, outputs of elements AND
Figure 00000053
(k 1 1,2 NI ) I-level connected to the inputs of the element And
Figure 00000054
I + 1 level, the output of one element And 54 N, 1 N level is the output 56 of the entire cascade.

Устройство 2 управления содержит (фиг.7):
блок 57 выбора дизъюнкций с m управляющими входами 58, входом 59 сброса, входом 60 записи,log2(m)}+{log2(L)}+1 входом 61 загрузки и L выходами 62;
блок 63 адресации с m управляющими входами 64, входом 65 сброса, входом 66 записи,log(L)}+{log(n)}+1 входом 67 загрузки и 2n выходами 68;
m+1-разрядный счетчик 69 циклов по модулю 2m+1 c m+1 выходом 70 и счетным входом 71;
блок элементов И 72 с 2(m+1) входами 73 и выходом 74;
m+1-разрядный регистр 75 номера последнего цикла с m+1 выходом 76, log2(m)} входами 77 загрузки, входом записи и входом сброса;
блок ИЛИ-Е 78 с L входами 79 и выходом 80;
блок 81 переключателей с L+2 входами 82 (l=1,L), 83, 84 и 2(L+1) выходом 85;
первый 86 и второй 87 определители порядка дизъюнкций c L+1 входом 88, L управляющими выходами 89, сигнальным выходом 90;
блок 91 элементов ИЛИ с 2L входами 92 и L выходами 93;
блок 94 синхронизации с пятью входами 95-99 и четырьмя выходами 100-103;
элемент ИЛИ 104 с двумя входами.
The control device 2 contains (Fig.7):
disjunction selection unit 57 with m control inputs 58, reset input 59, write input 60, log 2 (m)} + {log 2 (L)} + 1 boot input 61 and L outputs 62;
addressing unit 63 with m control inputs 64, reset input 65, write input 66, log (L)} + {log (n)} + 1 boot input 67 and 2n outputs 68;
m + 1-bit counter 69 cycles modulo 2 m + 1 with m + 1 output 70 and counting input 71;
block of elements And 72 with 2 (m + 1) inputs 73 and output 74;
m + 1-bit register 75 of the last cycle number with m + 1 output 76, log 2 (m)} boot inputs 77, write input and reset input;
block OR-E 78 with L inputs 79 and output 80;
block 81 switches with L + 2 inputs 82 (l = 1, L), 83, 84 and 2 (L + 1) output 85;
the first 86 and second 87 determinants of the order of disjunctions with L + 1 input 88, L control outputs 89, signal output 90;
a block of 91 OR elements with 2L inputs 92 and L outputs 93;
block 94 synchronization with five inputs 95-99 and four outputs 100-103;
OR element 104 with two inputs.

При этом выход 76j j-го (j 1,m+1) разряда регистра 75 номера последнего цикла соединен с 2j-1-м входом 732j-1 блока элементов И 72. Выход 70j j-го разряда счетчика 69 циклов соединен с 2j-м входом 732j блока элементов И 72.In this case, the output of the 76th jth (j 1, m + 1) discharge of the register of the last cycle number 75 is connected to the 2j-1st input 73 of the 2j-1 block of AND elements 72. The output of the 70th jth discharge of the counter of 69 cycles is connected with 2j-th input 73 2j block of elements And 72.

Выход 74 логического блока И 72 соединен с первым выходом 13 решения устройства 2 управления и с первым входом элемента ИЛИ 104. The output of the logical unit AND 72 is connected to the first output 13 of the solution of the control device 2 and to the first input of the OR element 104.

Выход 70j j-го (j 1,m) разряда счетчика циклов 69 соединен с j-м управляющим входом 58j блока 57 выбора дизъюнкций, l-й (l 1,L) выход 62l которого соединен с l-м входом 82 блока 81 переключателей и с l-м входом 79l блока ИЛИ-Е 78.The output 70 j of the jth (j 1, m) discharge of the cycle counter 69 is connected to the jth control input 58 j of the disjunction selection block 57, the lth (l 1, L) output 62 l of which is connected to the lth input 82 block 81 switches and with the l-th input 79 l block OR-E 78.

Выход 80 блока ИЛИ-Е 78 соединен со вторым выходом 14 решения устройства 2 и со вторым входом элемента ИЛИ 104. The output 80 of the block OR-E 78 is connected to the second output 14 of the solution of the device 2 and to the second input of the OR element 104.

l-й (l 1.L) выход 85l блока 81 переключателей соединен с l-м входом 88l первого определителя 86 порядка дизъюнкций. L+l+1-й выход 85L+l+1 блока 81 переключателей соединен с l-м входом 88l второго определителя 87 переключателей соединен с L+1-м входом 88L+1 первого определителя 87 порядка дизъюнкций. 2L+2-й выход 852L+2 блока 81 переключателей соединен с L+1-м входом 88 второго определителя 86 порядка дизъюнкций.the l-th (l 1.L) output 85 l of the block 81 of the switch is connected to the l-th input 88 l of the first determinant 86 of the order of disjunctions. L + l + 1st output 85 L + l + 1 of the 81 switch block is connected to the l-th input 88 l of the second determinant 87 of the switches is connected to the L + 1 input 88 L + 1 of the first determinant 87 of the disjunction order. 2L + 2nd output 85 2L + 2 of the block 81 of the switch is connected to L + 1st input 88 of the second determinant 86 of the order of disjunctions.

l-е выходы 89l первого 86 и второго 87 определителей порядка дизъюнкций соединены соответственно с входами 922l-1 и 922l блока 91 элементов ИЛИ, l-й выход 93l которого соединен с l-м управляющим входом 64l блока 63 адресации 63, i-й (i 1,2n n n1 + n2 + n3) выход 68i которого соединен i-м управляющим выходом 12i устройства 2 управления.the lth outputs 89 l of the first 86 and second 87 determinants of the order of disjunctions are connected respectively to the inputs 92 2l-1 and 92 2l of the block 91 of the OR elements, the lth output 93 l of which is connected to the lth control input 64 l of the block 63 of the addressing 63 , i-th (i 1,2n nn 1 + n 2 + n 3 ) output 68 i of which is connected by the i-th control output 12 i of the control device 2.

Сигнальный выход 90 первого определителя 86 порядка дизъюнкций соединен с первым входом 95 блока 94 синхронизации, сигнальный выход 90 второго определителя 87 порядка дизъюнкций соединен со вторым входом 96 блока 94 синхронизации. The signal output 90 of the first clause order determiner 86 is connected to the first input 95 of the synchronization unit 94, the signal output 90 of the second clause order determiner 87 is connected to the second input 96 of the synchronization block 94.

Третий вход 97 блока 94 синхронизации соединен с сигнальным входом 8 устройства 2 управления. The third input 97 of the synchronization unit 94 is connected to the signal input 8 of the control device 2.

Четвертый вход 98 блока 94 синхронизации соединен с входом 7 запуска устройства 2 управления. The fourth input 98 of the synchronization unit 94 is connected to the input 7 of the start of the control device 2.

Пятый вход 99 блока 94 синхронизации соединен с выходом логического элемента ИЛИ 104. The fifth input 99 of the block 94 synchronization is connected to the output of the logic element OR 104.

Первый выход 100 блока 94 синхронизации соединен с третьим выходом 15 решения устройства 2 выбора адресов ячеек. The first output 100 of the synchronization unit 94 is connected to the third output 15 of the solution of the cell address selector 2.

Второй выход 101 блока 94 синхронизации соединен с L+1-м входом 83 блока 81 переключателей. The second output 101 of the synchronization unit 94 is connected to the L + 1st input 83 of the switch unit 81.

Третий выход 102 блока 94 синхронизации соединен с L+2-м входом 84 блока 81 переключателей. The third output 102 of the synchronization unit 94 is connected to the L + 2nd input 84 of the switch unit 81.

Четвертый выход 103 блока синхронизации 94 соединен со счетным входом 71 счетчика 69 циклов и с выходом 17 сброса устройства 2 управления. The fourth output 103 of the synchronization unit 94 is connected to the counting input 71 of the counter 69 cycles and to the output 17 of the reset device 2 control.

p1-й вход

Figure 00000055
(p1 1,log2(m)}) загрузки регистра 75 номера последнего цикла соединен с p1-м входом
Figure 00000056
загрузки устройства 2 выбора адресов ячеек. q2-й (q2 1,log2(m)}+{log2(L)+1) вход
Figure 00000057
загрузки блока 57 выбора дизъюнкций соединен с p2-м (p2 q2 +log2(m)}) входом
Figure 00000058
загрузки устройства 2 управления, q3-й (q3 1,log2(n)}+{log2(L)}+1) вход
Figure 00000059
загрузки блока 63 адресации соединен с p3-м (p3 q3+2*{log2(m)}+{log2(L)}+1) входом
Figure 00000060
загрузки устройства 2 выбора адресов ячеек.p 1st entry
Figure 00000055
(p 1 1, log 2 (m)}) the load register 75 of the last cycle number is connected to the p 1 input
Figure 00000056
device boot
2 select cell addresses. q 2nd (q 2 1, log 2 (m)} + {log 2 (L) +1) input
Figure 00000057
the boot block 57 disjunction selection is connected to the p 2- th (p 2 q 2 + log 2 (m)}) input
Figure 00000058
boot control device 2, q 3rd (q 3 1, log 2 (n)} + {log 2 (L)} + 1) input
Figure 00000059
load block
63 addressing is connected to the p 3- th (p 3 q 3 + 2 * {log 2 (m)} + {log 2 (L)} + 1) input
Figure 00000060
device boot
2 select cell addresses.

Входы сброса блока 57 выбора дизъюнкций, блока 63 адресации, счетчика 69 циклов и регистра 75 номера последнего цикла соединены со входом 10 сброса устройства 2 управления. The reset inputs of the disjunction selection block 57, the addressing block 63, the counter 69 cycles and the register 75 of the last cycle number are connected to the reset input 10 of the control device 2.

Вход 60 записи блока 57 выбора дизъюнкций, вход 66 записи блока 63 адресации и вход записи регистра 75 номера последнего цикла соединены со входом 11 записи устройства 2 управления. The input 60 of the recording block 57 of the choice of disjunction, the input 66 of the recording block 63 of the addressing and the input of the register register 75 of the last cycle number are connected to the input 11 of the recording of the control device 2.

Блок 57 выбора дизъюнкций (фиг.8) содержит:
m инверторов 105;
дешифратор 106 адреса схемы сlog2(L)} входами 107 и L выходами 108;
дешифратор 109 адреса ячейки сlog2(m)}+1 входом 110 и 2m выходами 111;
L схем 112 выбора с 2m управляющими входами 113, 2m входами 114 выборки, разрешающим входом 115, входом 116 сброса, входом 117 записи и одним выходом.
The disjunction selection block 57 (Fig. 8) contains:
m inverters 105;
the decoder 106 addresses the circuit withlog 2 (L)} inputs 107 and L outputs 108;
a decoder 109 of the cell address with log 2 (m)} + 1 input 110 and 2m outputs 111;
L selection circuits 112 with 2m control inputs 113, 2m sample inputs 114, enabling input 115, reset input 116, write input 117, and one output.

При этом j-й (j 1,m) управляющий вход 58j блока 57 выбора дизъюнкций соединен с 2j-1-ми управляющими входами 1132j-1 всех схем 112 выбора и с входом j-го инвертора 105j, выход которого соединен с 2j-ми управляющими входами 1132j всех схем 112 выбора.Moreover, the jth (j 1, m) control input 58 j of the disjunction selection block 57 is connected to 2j-1 control inputs 113 2j-1 of all selection circuits 112 and to the input of the j-th inverter 105 j , the output of which is connected to 2j control inputs 113 2j of all selection circuits 112.

Выход l-й (l 1,L) схемы 112l выбора соединен с l-м выходом 62l блока 57 выбора дизъюнкций.The output of the l-th (l 1, L) selection circuit 112 l is connected to the l-th output 62 l of the disjunction selection block 57.

q4-й (q4 1,log2(L)}) вход

Figure 00000061
загрузки блока 57 выбора дизъюнкций соединен с q4-м входом
Figure 00000062
дешифратора 106 адреса схемы, l-й выход 108l которого соединен с разрешающим входом 115 l-й схемы 112l выбора, q5-й (q5 log2(L)} +1,log2(m)}+{log2(L)}+1) вход
Figure 00000063
загрузки блока 57 выбора дизъюнкций соединен с q5-{log2(L)}-м входом
Figure 00000064
дешифратора 109 адреса ячейки, j-й (j 1,2m) выход 111 которого соединен с j-ми входами 114j выборки всех схем 112 выбора. Входы сброса 116 и записи 117 каждой схемы 112 выбора соединены с входами сброса 59 и записи 60 блока.q 4th (q 4 1, log 2 (L)}) input
Figure 00000061
the boot block 57 disjunction selection is connected to q 4th input
Figure 00000062
decoder 106 of the circuit address, the lth output 108 l of which is connected to the enable input 115 of the lth circuit 112 l of choice, q 5th (q 5 log 2 (L)} + 1, log 2 (m)} + {log 2 (L)} + 1) input
Figure 00000063
boot block
57 disjunction selection is connected to q 5 - {log 2 (L)} - m input
Figure 00000064
a decoder 109 of the cell address, the j-th (j 1,2m) output 111 of which is connected to the j-th inputs 114 j of the sample of all selection circuits 112. The reset inputs 116 and records 117 of each selection circuit 112 are connected to the reset inputs 59 and the block record 60.

Каждая схема выбора 112 (фиг.9) содержит:
2m запоминающих элементов 118;
2m элементов И 119 с двумя входами 120, 121;
2m элементов И 122 с тремя входами 123, 124, 125;
m элементов ИЛИ 126 с тремя входами 127, 128, 129;
один элемент И-Е 130 с двумя входами 131, 132;
блок элементов И 133 с m+1 входом 134.
Each selection circuit 112 (FIG. 9) contains:
2m storage elements 118;
2m elements And 119 with two inputs 120, 121;
2m elements And 122 with three inputs 123, 124, 125;
m elements OR 126 with three inputs 127, 128, 129;
one element IE 130 with two inputs 131, 132;
block of elements And 133 with m + 1 input 134.

При этом прямой выход 135 2j-1-го (j= 1,m) запоминающего элемента 1182j-1 соединен с первым входом 127 j-го элемента ИЛИ 126j, прямой выход 135 2j-го запоминающего элемента 1182j соединен с первым входом 120 2j-1-го элемента И 1192j. Инверсный выход 136 2j-го запоминающего элемента 1182j соединен с первым входом 120 2j-го элемента И 1192j.In this case, the direct output 135 of the 2j-1st (j = 1, m) memory element 118 2j-1 is connected to the first input of the 127th j-element OR 126 j , the direct output 135 of the 2j-th memory element 118 2j is connected to the first input 120 2j-1st element And 119 2j . The inverse output 136 of the 2j-th storage element 118 2j is connected to the first input 120 of the 2j-th element AND 119 2j .

Второй вход 121 2j-1-го элемента И 1192j-1 соединен с 2j-1-м управляющим входом 1132j-1 схемы 112 выбора. Второй вход 121 2j-го элемента И 1192j соединен с 2j-м управляющим входом 1132j схемы 112 выбора.The second input 121 of the 2j-1st element AND 119 2j-1 is connected to the 2j-1st control input 113 2j-1 of the selection circuit 112. The second input 121 of the 2jth element AND 119 2j is connected to the 2jth control input 113 2j of the selection circuit 112.

Выходы 2j-1-го 1192j-1 и 2j-го 1192j элементов И соединены со вторым 128 и третьим 129 входами j-го элемента ИЛИ 126.The outputs of the 2j-1st 119 119 2j-1 and 2j-th 119 2j AND elements are connected to the second 128 and third 129 inputs of the j-th OR element 126.

Выход j-го элемента ИЛИ 126j соединен с j-м входом 134j логического блока И 133, выход которого соединен с выходом схемы 112 выбора.The output of the j-th OR element 126 j is connected to the j-th input 134 j of the logical block AND 133, the output of which is connected to the output of the selection circuit 112.

Прямые выходы 135 первого 1181 и второго 1182 запоминающих элементов соединены с первым 131 и вторым 132 входами элемента И-Е 130, выход которого соединен с m+1-м входом логического блока И 133.Direct outputs 135 of the first 118 1 and second 118 2 storage elements are connected to the first 131 and second 132 inputs of the element IE 130, the output of which is connected to the m + 1-m input of the logical block And 133.

Вход записи единицы 137 j1-го (j1 1,2m) запоминающего элемента 118j1 соединен с выходом j1-го элемента И 122j1. Входы записи нуля 138 всех запоминающих элементов 118 соединены с входом сброса 116 схемы 112 выбора.The entry entry of the unit 137 j 1 st (j 1 1,2 m) of the storage element 118 j1 is connected to the output of the j 1 st element AND 122 j1 . The zero recording inputs 138 of all storage elements 118 are connected to a reset input 116 of a selection circuit 112.

Первый вход 123 j1-го элемента И 122j1 соединен с j1-м входом выборки 114j1 схемы 112 выбора, вторые входы 124 всех элементов И 122 соединены с разрешающим входом 115 схемы 112 выбора, третьи входы 125 всех элементов И 122 соединены с входом записи 117 схемы 112 выбора.The first input 123 j of the 1st element AND 122 j1 is connected to the j 1st input of the sample 114 j1 of the selection circuit 112, the second inputs 124 of all the elements AND 122 are connected to the enable input 115 of the selection circuit 112, the third inputs 125 of all the elements AND 122 are connected to the input of the recording 117 of the selection circuit 112.

Блок 63 адресации (фиг.10) содержит:
дешифратор 139 адреса схемы сlog2(n)} входами 140 и n n1 + n2 + n3 выходами 141;
дешифратор 142 адреса ячейки сlog2(L)}+1 входом 143 и 2L выходами 144;
n схем 145 адресации с L управляющими входами 146, 2L входами 147 выборки, разрешающим входом 148, входом сброса 149, входом записи 150 и двумя выходами 151, 152.
Block 63 addressing (figure 10) contains:
a decoder 139 of the address of the circuit withlog 2 (n)} inputs 140 and nn 1 + n 2 + n 3 outputs 141;
a decoder 142 of the address of the cell with log 2 (L)} + 1 input 143 and 2L outputs 144;
n addressing circuits 145 with L control inputs 146, 2L sample inputs 147, enable input 148, reset input 149, write input 150, and two outputs 151, 152.

При этом l-е (l 1,L) управляющие входы 146l всех схем 145 адресации соединены с l-м управляющим входом 64l блока 63 адресации.Moreover, the l-th (l 1, L) control inputs 146 l of all addressing circuits 145 are connected to the l-th control input 64 l of the addressing unit 63.

Первый 151 и второй 152 выходы i-й (i 1,n) схемы 145 адресации соединены с 2i-1-м и 2i-м выходами 682i-1 и 682i блока 63, q6-й (q6 1,log2(n)}) вход

Figure 00000065
загрузки блока 63 адресации соединен с q6-м входом
Figure 00000066
дешифратора 139 адреса схемы, i-й выход 141i которого соединен с разрешающим входом 148 i-й схемы 145i адресации. qq7-й (q7log2(n)}+1,log2(L)}+1) вход
Figure 00000067
загрузки блока 63 адресации соединен с q7-{log2(n)}-м входом
Figure 00000068
дешифратора 142 адреса ячейки, l1-й (l1 1,21) выход
Figure 00000069
которого соединен с l1-ми входами
Figure 00000070
выборки всех схем 145 адресации. Входы сброса 149 и записи 150 каждой схемы 145 адресации соединены с входами сброса 65 и записи 66 блока 63.The first 151 and second 152 outputs of the ith (i 1, n) addressing circuit 145 are connected to the 2i-1th and 2i-m outputs 68 2i-1 and 68 2i of block 63, q 6th (q 6 1, log 2 (n)}) input
Figure 00000065
loading block
63 addressing is connected to q 6th input
Figure 00000066
the decoder 139 of the address of the circuit, the i-th output 141 i of which is connected to the enable input 148 of the i-th address circuit 145 i . q q7th (q 7 log 2 (n)} + 1, log 2 (L)} + 1) input
Figure 00000067
load block
63 addressing is connected to q 7 - {log 2 (n)} - m input
Figure 00000068
decoder
142 cell addresses, l 1st (l 1 1.21) output
Figure 00000069
which is connected to l 1 inputs
Figure 00000070
samples of all addressing schemes 145. The reset inputs 149 and records 150 of each addressing circuit 145 are connected to the reset inputs 65 and records 66 of block 63.

Каждая схема 145 адресации (фиг.11) содержит:
2L запоминающих элементов 153;
два логических блока ИЛИ 154 с L входами 155 каждый;
2L ключей 156, выполненных в виде элементов И с двумя входами 157, 158;
2L элементов И 159 с тремя входами 160, 161, 162.
Each addressing circuit 145 (FIG. 11) comprises:
2L of storage elements 153;
two logical blocks OR 154 with L inputs 155 each;
2L keys 156, made in the form of elements And with two inputs 157, 158;
2L elements And 159 with three inputs 160, 161, 162.

При этом прямые выходы 163 2l-1-го 1532l-1 и 2l-го 1532l (l 1,L) запоминающих элементов соединены с первыми входами 157 2l-1-го 1562l-1 и 2l-го 1562l ключей соответственно. Вторые входы 158 2l-1-го 1562l-1 и 2l-го 1562l ключей соединены с l-м управляющим входом 146l схемы 145 адресации.In this case, the direct outputs of 163 2l-1st 153 2l-1 and 2l 153 2l (l 1, L) storage elements are connected to the first inputs of 157 2l-1st 156 2l-1 and 2l 156 2l keys, respectively . The second inputs 158 2l-1st 156 2l-1 and 2l 156 2l keys are connected to the l-th control input 146 l of the addressing circuit 145.

Выходы всех нечетных ключей 156 соединены с входами 155 первого логического блока ИЛИ 154, выходы всех четных ключей 156 соединены с входами 155 второго логического блока ИЛИ 154. Выходы первого 154 и второго 154 логических блоков ИЛИ соединены с первым 151 и вторым 152 выходами схемы 145 адресации. The outputs of all the odd keys 156 are connected to the inputs 155 of the first logical block OR 154, the outputs of all the even keys 156 are connected to the inputs 155 of the second logical block OR 154. The outputs of the first 154 and second 154 logical blocks OR are connected to the first 151 and second 152 outputs of the addressing circuit 145 .

Вход 164 записи единицы l1-го (l 1,2L) запоминающего элемента

Figure 00000071
соединен с выходом i-го элемента И
Figure 00000072
с тремя входами, входы 165 записи нуля всех запоминающих элементов 153 соединены с входом сброса 149 схемы 145 адресации.Input 164 recording unit l 1- th (l 1,2L) storage element
Figure 00000071
connected to the output of the i-th element And
Figure 00000072
with three inputs, the inputs 165 of the recording of zero of all storage elements 153 are connected to the reset input 149 of the addressing circuit 145.

Второй вход 161 l1-го элемента И

Figure 00000073
соединен с l1-м входом выборки
Figure 00000074
схемы 145 адресации, первые входы 160 всех элементов И 159 соединены с разрешающим входом 148 схемы 145 адресации, третьи входы 162 всех элементов И 159 соединены с входом 150 записи схемы 145 адресации.The second input 161 l of the 1st element AND
Figure 00000073
connected to l 1st sampling input
Figure 00000074
addressing circuit 145, first inputs 160 of all AND elements 159 are connected to enable input 148 of addressing circuit 145, third inputs 162 of all AND elements 159 are connected to recording input 150 of addressing circuit 145.

Блок 94 синхронизации содержит (фиг.12):
инвертор 166;
два логических элемента И 167, 168 с двумя входами 169, 170 и 171, 172 каждый;
RS-триггер 173;
три логических элемента ИЛИ 174, 175, 176 с двумя входами 177, 178; 179, 180 и 181, 182 каждый;
генератор тактовых импульсов 183 с входом запуска 184 и входом остановки 185;
Т-триггер 186 со счетным входом 187;
две линии задержки 188 и 189.
Block 94 synchronization contains (Fig):
inverter 166;
two logical elements And 167, 168 with two inputs 169, 170 and 171, 172 each;
RS trigger 173;
three logical elements OR 174, 175, 176 with two inputs 177, 178; 179, 180 and 181, 182 each;
a clock generator 183 with a start input 184 and a stop input 185;
T-trigger 186 with counting input 187;
two delay lines 188 and 189.

При этом, первый 95 и второй 96 входы блока 94 соединены с первым 177 и вторым 178 входами первого элемента ИЛИ 174, третий вход 97 соединен со вторым входом 172 второго элемента И 168, первый вход 171 которого соединен с выходом Q RS-триггера 173. Moreover, the first 95 and second 96 inputs of block 94 are connected to the first 177 and second 178 inputs of the first OR element 174, the third input 97 is connected to the second input 172 of the second AND element 168, the first input of which 171 is connected to the output Q of the RS flip-flop 173.

Выход первого элемента ИЛИ 174 через первую линию задержки 188 соединен с первым входом 169 первого элемента И 167. The output of the first element OR 174 through the first delay line 188 is connected to the first input 169 of the first element And 167.

Третий вход 97 блока 94 через инвертор 166 соединен с вторым входом 170 первого элемента И 167. Выход первого элемента И 167 соединен с первым выходом 100 блока 94 и с первым входом 181 третьего элемента ИЛИ 176. The third input 97 of block 94 through an inverter 166 is connected to the second input 170 of the first element And 167. The output of the first element And 167 is connected to the first output 100 of block 94 and to the first input 181 of the third element OR 176.

Выход второго элемента И 168 соединен со вторым входом 180 второго элемента ИЛИ 175, первый вход 179 которого соединен с четвертым входом 98 блока синхронизации 94. The output of the second AND element 168 is connected to the second input 180 of the second OR element 175, the first input of which 179 is connected to the fourth input 98 of the synchronization unit 94.

Выход второго элемента ИЛИ 175 соединен с четвертым выходом 103 блока 94, со счетным входом 187 Т-триггера 186, с входом R RS-триггера 173 и через вторую линию задержки 189 с входом S RS-триггера 173. The output of the second OR element 175 is connected to the fourth output 103 of block 94, with the counting input 187 of the T-flip-flop 186, with the input R of the RS-flip-flop 173 and through the second delay line 189 with the input S of the RS-flip-flop 173.

Выход Т-триггера 186 соединен с третьим выходом 102 блока 94. The output of the T-trigger 186 is connected to the third output 102 of block 94.

Четвертый вход 98 блока 94 соединен с входом 184 запуска генератора 183. Выход генератора 183 соединен с вторым выходом 101 блока 94. The fourth input 98 of the block 94 is connected to the input 184 of the start of the generator 183. The output of the generator 183 is connected to the second output 101 of the block 94.

Пятый вход 99 блока 94 соединен с вторым входом 182 третьего элемента ИЛИ 176, выход которого соединен с входом 185 остановки генератора 183. The fifth input 99 of block 94 is connected to the second input 182 of the third OR element 176, the output of which is connected to the stop input 185 of the generator 183.

Каждый из двух определителей порядка дизъюнкций 86, 87 (фиг.13) содержит L ключей 190 с управляющим входом 191, управляющим выходом 192, тактовым входом 193 и тактовым выходом 194. Each of the two determinants of the order of clauses 86, 87 (Fig. 13) contains L keys 190 with a control input 191, a control output 192, a clock input 193 and a clock output 194.

При этом, управляющий вход 191 l-го (l 1,L) ключа 190l соединен с l-м входом 88l определителя. Управляющий выход 192 l-го ключа 190l соединен с l-м управляющим выходом 89l определителя. Тактовый вход 193 первого ключа 190 соединен с L+1-м входом 88L+1 определителя. Тактовый вход 193 l1-го ключа (l1 2,L)

Figure 00000075
соединен с тактовым выходом 194 l1-1-го ключа
Figure 00000076
. Тактовый выход 194 L-го ключа 190 соединен с сигнальным выходом 90 определителя.Moreover, the control input 191 of the l-th (l 1, L) key 190 l is connected to the l-th input 88 l of the determinant. The control output 192 of the l-th key 190 l is connected to the l-th control output 89 l of the determinant. Clock input 193 of the first key 190 is connected to the L + 1-m input 88 L + 1 determinant. Clock input 193 l 1st key (l 1 2, L)
Figure 00000075
connected to clock output 194 l 1 -1st key
Figure 00000076
. Clock output 194 of the L-th key 190 is connected to the signal output 90 of the determinant.

Каждый из ключей 190 содержит (фиг.14):
RS-триггер 195;
два элемента И 196, 197 с двумя входами 198, 199 и 200, 201 соответственно;
линию 202 задержки на половину машинного такта.
Each of the keys 190 contains (Fig):
RS flip-flop 195;
two elements And 196, 197 with two inputs 198, 199 and 200, 201, respectively;
a delay line 202 at half the clock cycle.

При этом, управляющий вход 191 ключа соединен с входом S RS-триггера 195. Выход Q RS-триггера 195 соединен с вторым входом 201 второго элемента И 197. Выход

Figure 00000077
RS-триггера 195 соединен с вторым входом 199 первого элемента И 196. Первые входы 198 и 200 элементов И 196 и 197 соединены с тактовым входом 193 ключа.Moreover, the key control input 191 is connected to the input S of the RS flip-flop 195. The output Q of the RS flip-flop 195 is connected to the second input 201 of the second element AND 197. The output
Figure 00000077
The RS flip-flop 195 is connected to the second input 199 of the first AND element 196. The first inputs 198 and 200 of the AND elements 196 and 197 are connected to the key clock input 193.

Выход первого элемента И 196 соединен с тактовым выходом 194 ключа. Выход второго элемента И 197 соединен с управляющим выходом 192 ключа и через линию задержки 202 с входом R RS-триггера 195. The output of the first element And 196 is connected to the clock output 194 of the key. The output of the second element And 197 is connected to the control output 192 of the key and through the delay line 202 with the input R of the RS-flip-flop 195.

Блок переключателей 81 (фиг.15) содержит:
инвертор 203;
2(L+1) ключ 204, выполненный в виде логического элемента И с двумя входами 205, 206.
The switch block 81 (Fig.15) contains:
inverter 203;
2 (L + 1) key 204, made in the form of a logical element And with two inputs 205, 206.

При этом L+2-й вход 84 блока 81 соединен с первыми входами 205 всех ключей

Figure 00000078
(l L+2,2L+2) и с входом инвеpтора 203, выход которого соединен с первыми входами 205 всех ключей 204l (l 1,L+1).In this case, the L + 2nd input 84 of block 81 is connected to the first inputs 205 of all keys
Figure 00000078
(l L + 2,2L + 2) and with the input of the inverter 203, the output of which is connected to the first inputs 205 of all keys 204 l (l 1, L + 1).

l-й вход 82l (l 1.L) блока 81 соединен с вторыми входами 206 l-го и L+1+l-го ключей 204l и 204L+l+1.The l-th input 82 l (l 1.L) of block 81 is connected to the second inputs 206 of the l-th and L + 1 + l-th keys of 204 l and 204 L + l + 1 .

L+1-й вход 83 блока 81 соединен с вторыми входами 206 L+1-го и 2L+2-го ключей 204L+1 и 2042L+2.L + 1st input 83 of block 81 is connected to second inputs 206 of L + 1st and 2L + 2nd keys of 204 L + 1 and 204 2L + 2 .

Выход l-го ключа

Figure 00000079
(l2 ≠ 1,2L+1, l L + 1) соединен с l2 выходом
Figure 00000080
блока 81.L key output
Figure 00000079
(l 2 ≠ 1,2L + 1, l L + 1) connected to l 2 output
Figure 00000080
block 81.

Выход L+1-го ключа 204L+1 соединен с 2L+2-м выходом 852L+2 блока 81.The output of L + 1st key 204 L + 1 is connected to 2L + 2nd output 85 of 2L + 2 of block 81.

Выход 2L+2-го ключа 2042L+2 соединен с L+1-м выходом 85L+1 блока 81.The output of 2L + 2nd key 204 2L + 2 is connected to the L + 1st output 85 L + 1 of block 81.

Блок 91 элементов ИЛИ (фиг. 16) содержит L элементов ИЛИ 207 с двумя входами 208, 209. Block 91 elements OR (Fig. 16) contains L elements OR 207 with two inputs 208, 209.

При этом, 2l-1-й (l 1,L) вход 922l-1 блока 91 соединен с первым входом 208 l-го элемента ИЛИ 207l, 2l-й (l 1,L) вход 922l блока 91 соединен с вторым входом 209 l-го элемента ИЛИ 2072l, выход которого соединен с l-м выходом 93 блока 91.In this case, the 2l-1st (l 1, L) input 92 2l-1 of the block 91 is connected to the first input 208 of the l-th element OR 207 l , the 2l-1st (l 1, L) input 92 2l of the block 91 is connected to the second input 209 of the l-th element OR 207 2l , the output of which is connected to the l-th output 93 of the block 91.

Логический блок ИЛИ 154 с L входами (фиг.17) выполнен в виде p-уровневого (plog2L} гдеx} обозначает наименьшее целое большее или равное х) каскада элементов ИЛИ, причем, на первом уровне расположено [L/2} элементов ИЛИ ([ обозначает целую часть числа), на q-м (q 1,p) уровне расположено s(q) элементов ИЛИ.The OR logical block 154 with L inputs (Fig. 17) is made in the form of a p-level (plog 2 L} where x} denotes the smallest integer greater than or equal to x) the cascade of OR elements, and, on the first level, [L / 2} OR elements are located ([denotes the integer part of the number), at the qth (q 1, p) level there are s (q) OR elements.

При этом, s(q + 1) [s(q)/2] Все, кроме последних, элементы ИЛИ всех уровней имеют по два входа, последний элемент первого уровня имеет два входа, если L четное, и три входа, если L нечетное. Последний элемент q + 1-го уровня имеет два входа, если s(q) четное, и три входа, если s(q) нечетное, 2l-й и 2l-1-й (l 1,[L/2]) входы блока являются входами l-го элемента ИЛИ первого уровня. Если L нечетно, последний вход блока является третьим входом последнего элемента ИЛИ первого уровня. Moreover, s (q + 1) [s (q) / 2] All but the last, OR elements of all levels have two inputs, the last element of the first level has two inputs if L is even, and three inputs if L is odd . The last element of q + level 1 has two inputs if s (q) is even, and three inputs if s (q) is odd, the 2lth and 2l-1st (l 1, [L / 2]) inputs block are the inputs of the l-th element OR first level. If L is odd, the last block input is the third input of the last OR element of the first level.

Выходы 2l-го и 2l-1-го (l 1,[s(q)/2]) элементов ИЛИ q-го уровня являются входами l-го элемента q+1-го уровня. Если s(q) нечетно, выход последнего элемента q-го уровня является третьим входом последнего элемента q+1-го уровня. Выход элемента последнего уровня является выходом блока. The outputs of the 2nd lth and 2ndlth (l 1, [s (q) / 2]) ORs of the qth level are inputs of the lth element of q + 1st level. If s (q) is odd, the output of the last element of the qth level is the third input of the last element of q + 1th level. The output of the last level element is the output of the block.

Логический блок И 133 с N L + 1 входами (фиг.18) выполнен в виде уровневого (plog2N} гдеx} обозначает наименьшее целое большее или равное х) каскада элементов И, причем, на первом уровне расположено [N/2] элементов И ([ обозначает целую часть числа), на q-м (q 1,p) уровне расположено s(q) элементов И.The logical block And 133 with NL + 1 inputs (Fig. 18) is made in the form of a level (plog 2 N} where x} denotes the smallest integer greater than or equal to x) the cascade of elements And, moreover, [N / 2] elements And are located on the first level ([denotes the integer part of the number), at the qth (q 1, p) level there are s (q) elements of I.

При этом, s(q+1) [s(q)/2] Все, кроме последних, элементы И всех уровней имеют по два входа, последний элемент первого уровня имеет два входа, если N четное, и три входа, если N нечетное. Последний элемент q+1-го уровня имеет два входа, если s(q) четное, и три входа, если s(q) нечетное, 2l-й и 2l-1-й (l 1,[N/2]) входы блока являются входами l-го элемента ИЛИ первого уровня. Если N нечетно, последний вход блока является третьим входом последнего элемента ИЛИ первого уровня. Moreover, s (q + 1) [s (q) / 2] All but the last elements of And at all levels have two inputs, the last element of the first level has two inputs if N is even, and three inputs if N is odd . The last element of q + level 1 has two inputs if s (q) is even, and three inputs if s (q) is odd, the 2lth and 2l-1st (l 1, [N / 2]) inputs block are the inputs of the l-th element OR first level. If N is odd, the last input of the block is the third input of the last OR element of the first level.

Выходы 2l-го и 2l-1-го (l 1,[s(q)/2]) элементов И q-го уровня являются входами l-го элемента q+1-го уровня. Если s(q) нечетно, выход последнего элемента q-го уровня является третьим входом последнего элемента q+1-го уровня. Выход элемента последнего уровня является выходом блока. The outputs of the 2nd lth and 2ndlth (l 1, [s (q) / 2]) gates of the qth level are inputs of the lth element of q + 1st level. If s (q) is odd, the output of the last element of the qth level is the third input of the last element of q + 1th level. The output of the last level element is the output of the block.

Блок ИЛИ-Е 78 с L входами (фиг.19) содержит блок элементов ИЛИ 154 с L входами и инвертор. При этом, выход логического блока ИЛИ с L входами соединен с входом инвертора, выход которого является выходом блока 78. Block OR-E 78 with L inputs (Fig.19) contains a block of elements OR 154 with L inputs and an inverter. At the same time, the output of the logical block OR with L inputs is connected to the input of the inverter, the output of which is the output of block 78.

Работа спецпроцессора. Последовательность решения задачи. The work of a special processor. The sequence of solving the problem.

Если дизъюнкция D фактически не зависит от переменной z, будем говорить, что переменная z является безразличной для дизъюнкций D. If the disjunction D is actually independent of the variable z, we say that the variable z is indifferent to the disjunction D.

абор a1, a2,an значений переменных будем называть невыполняющим для некоторой дизъюнкции D, если
D(a1, a2,an) 0.
the collection of a 1 , a 2 , a n values of variables will be called non-fulfilling for some disjunction D if
D (a 1 , a 2 , a n ) 0.

Очевидно, что для каждой дизъюнкции ее невыполняющий набор определен с точностью до безразличных для данной дизъюнкции переменных. Кроме того, невыполняющий набор для множества дизъюнкций равен объединению невыполняющих наборов для отдельных дизъюнкций этого множества. По этой причине проще находить невыполняющие наборы, чем выполняющие. Obviously, for each disjunction its non-performing set is defined up to the variables indifferent for the given disjunction. In addition, a non-performing set for a set of clauses is equal to a union of non-performing sets for individual clauses of this set. For this reason, it is easier to find non-performing sets than performing ones.

Для каждой дизъюнкции Dj и каждой переменной zi определим функцию St(Dj, zi), которую назовем статусом переменной x в дизъюнкции D:
St(Dj, zi) 0, если zi входит в D в виде литерала zi.
For each disjunction D j and each variable z i, we define the function St (D j , z i ), which we call the status of the variable x in the disjunction D:
St (D j , z i ) 0 if z i enters D in the form of the literal z i .

St(Dj, zi) 1, если zi входит в D в виде литералаzi.St (D j , z i ) 1 if z i enters D in the form of the literal z i .

St(Dj, zi)= *, если zi безразличная переменная для D.St (D j , z i ) = * if z i is an indifferent variable for D.

Здесь и далее * специальный символ, знак логического отрицания. Hereinafter * a special symbol, a sign of logical negation.

Очевидно, что если в качестве значения каждой переменной брать ее статус в дизъюнкции D (при этом символ * означает, что можно брать любое значение данной переменной, как 0 так и 1), то получится один из невыполняющих данную функцию наборов. Т.е. Obviously, if we take its status in the disjunction D as the value of each variable (the symbol * means that you can take any value of this variable, either 0 or 1), we get one of the sets that do not perform this function. Those.

D(St(D, zi), St(D, z2),St(D, zn)) 0
апример, если имеются 4 переменные z1, z2, z3, z4 и дизъюнкция D имеет вид: z2 +z4, то переменные z1 и z3 являются безразличными для D.
D (St (D, z i ), St (D, z 2 ), St (D, z n )) 0
For example, if there are 4 variables z 1 , z 2 , z 3 , z 4 and the disjunction D has the form: z 2 + z 4 , then the variables z 1 and z 3 are indifferent to D.

St(D, z1) *, St(D, z2) 0, St(D, z3) *, St(D, z4) 1
евыполняющими являются следующие наборы переменных:
z1 0, z2 0, z3 0, z4 1;
z1 0, z2 0, z3 1; z4 1;
z1 1, z2 0, z3 0, z1 1;
z1 1, z2 0, z3 1, z4 1;
Легко видеть, что количество невыполняющих наборов равно 2n-r, где r количество безразличных для рассматриваемой дизъюнкции переменных.
St (D, z 1 ) *, St (D, z 2 ) 0, St (D, z 3 ) *, St (D, z 4 ) 1
The following sets of variables are executing:
z 1 0, z 2 0, z 3 0, z 4 1;
z 1 0, z 2 0, z 3 1; z 4 1;
z 1 1, z 2 0, z 3 0, z 1 1;
z 1 1, z 2 0, z 3 1, z 4 1;
It is easy to see that the number of non-performing sets is 2 nr , where r is the number of variables indifferent to the disjunction under consideration.

С целью оптимизации работы спецпроцессора различные наборы значений переменных рассматривают параллельно-последовательно. Все логические переменные, фигурирующие в задаче, разделяют на два типа. Поднаборы переменных второго типа рассматриваются последовательно. In order to optimize the operation of the special processor, various sets of variable values are considered in parallel-sequential fashion. All logical variables appearing in the problem are divided into two types. Subsets of variables of the second type are considered sequentially.

Будем называть работу спецпроцессора при данном фиксированном поднаборе bj} циклом, соответствующим поднаборуbj} При этом, цикл с двоичным номером b1b2.bm+1 соответствует поднабору b1, b2,bm значений переменных у1, y2,ym. евыполняющим на данном цикле поднабором переменных первого типа называется такой поднабор, который вместе с текущим поднабором значений переменных второго типа дает невыполняющий набор значений переменных.We shall call the work special processor subset at a given fixed cycle b j}, j} corresponding podnaborub Thus, the cycle with a binary number b 2 b 1 .b m +1 corresponds to subset b 1, b 2, b m values of the variables y 1, y 2 , y m . A subset of variables of the first type that is performing on a given cycle is a subset that, together with the current subset of values of variables of the second type, gives a non-performing set of variables.

Для каждого фиксированного поднабора b1.bm значений переменных второго типа и для каждой из рассматриваемых дизъюнкций D1, Dl все поднаборы а1,an значений переменных x1,xn первого типа рассматривают параллельно, среди них выделяют и запоминают невыполняющие на данном цикле поднаборы.For each fixed subset b 1 .b m of values of variables of the second type and for each of the disjunctions under consideration D 1 , D l, all subsets of 1 , a n of the values of variables x 1 , x n of the first type are considered in parallel, among them non-performing given subset cycle.

евыполняющим поднабором переменных второго типа называется такой поднабор, который вместе с хотя бы одним поднабором значений переменных первого типа дает невыполняющий набор значений переменных. An executing subset of variables of the second type is a subset that, together with at least one subset of the values of variables of the first type, provides a non-performing set of values of variables.

Очевидно, что поднабор b1, b2,bm значений переменных y1, y2, ym будет невыполняющим для дизъюнкцийD} в том и только том случае, когда для любого j выполняется одно из двух условий:
St(Dl, yj) * или St(Dl, yj) bj.
Obviously, a subset of b 1 , b 2 , b m of values of the variables y 1 , y 2 , y m will be non-fulfilling for clauses D} if and only if for any j one of two conditions is satisfied:
St (D l , y j ) * or St (D l , y j ) b j .

При данном фиксированном поднабореbj} значений переменных yj, на решение задачи о нахождении невыполняющих все множество дизъюнкций поднаборовai} переменных xi могут влиять только те дизъюнкции Dl, для которых поднаборbj} является невыполняющим. Будем называть такие дизъюнкции действующими для данного поднабораbj} Соответственно, можно говорить о действующих на данном цикле дизъюнкциях.For a given fixed subset b j } of values of the variables y j , only those disjunctions D l for which the subset b j } is non-fulfilling can influence the solution of the problem of finding non-fulfilling the whole set of clauses of a subset of i } variables x i . We will call such clauses valid for a given subset b j } Accordingly, we can talk about clauses acting on a given cycle.

В ходе решения задачи для каждого цикла определяют действующие на нем дизъюнкции. Если ни одна из дизъюнкций не является действующей, делают вывод, что текущий поднабор значений переменных второго типа вместе с любым поднабором значений переменных первого типа дает решение задачи. В противном случае для каждой действующей дизъюнкции последовательно находят невыполняющие ее наборы значений переменных первого типа. In the course of solving the problem for each cycle, the disjunctions acting on it are determined. If none of the clauses is valid, conclude that the current subset of the values of the variables of the second type together with any subset of the values of the variables of the first type gives a solution to the problem. Otherwise, for each active disjunction, successive sets of values of variables of the first type are found.

Объединяя невыполняющие поднаборы переменных первого типа для всех действующих на данном цикле дизъюнкций рассматриваемого множества, получают невыполняющие поднаборы переменных первого типа для всего множества дизъюнкций. Если все поднаборы переменных первого типа оказываются невыполняющими, переходят к рассмотрению следующего поднабора переменных второго типа, т.е. к следующему циклу. В противном случае выбирают один из поднаборов переменных первого типа, не являющийся невыполняющим. Combining non-performing subsets of variables of the first type for all disjunctions acting on a given cycle of the set under consideration, we obtain non-performing subsets of variables of the first type for the entire set of disjunctions. If all subsets of variables of the first type turn out to be non-fulfilling, we proceed to consider the next subset of variables of the second type, i.e. to the next cycle. Otherwise, one of the subsets of variables of the first type is selected that is not non-performing.

Для этого фиксируют текущий поднабор значений переменных второго типа и разделяют переменные первого типа на два подтипа. Переменные первого подтипа рассматривают параллельно, второго последовательно. При этом учитывают только действовавшие на последнем цикле дизъюнкции. Т.е. снова решают задачу о выполнимости булевых формул, но с меньшим числом дизъюнкций и переменных. Процедура повторяется до тех пор пока выполняющий набор не будет определен однозначно. To do this, the current subset of the values of the variables of the second type is fixed and the variables of the first type are divided into two subtypes. Variables of the first subtype are considered in parallel, the second in series. In this case, only disjunctions acting on the last cycle are taken into account. Those. again solve the problem of the feasibility of Boolean formulas, but with fewer disjunctions and variables. The procedure is repeated until the executing set is uniquely determined.

Если после рассмотрения всех поднаборов второго типа решение не найдено, делают вывод об отсутствии решения. If after consideration of all subsets of the second type a solution is not found, a conclusion is made that there is no solution.

Спецпроцессор работает в двух режимах:
1. Режим загрузки (подготовительный) (см. ниже работу устройства управления).
The special processor works in two modes:
1. Download mode (preparatory) (see the operation of the control device below).

2. Основной режим. 2. The main mode.

В начале работы основного режима Host-машина через выход 18 интерфейса 3 выдает на вход 7 запуска устройства 2 управления единичный импульс запуска основного режима, после чего процессорная матрица начинает работу в первом цикле основного режима. (Режим загрузки при этом удобно рассматривать как нулевой цикл основного режима). At the beginning of the main mode operation, the Host machine, through the output 18 of the interface 3, provides a single main mode start pulse to the start input 7 of the control device 2, after which the processor matrix starts operation in the first cycle of the main mode. (In this case, the boot mode is conveniently regarded as a zero cycle of the main mode).

Процессорная матрица работает только в основном режиме. Она предназначена для:
1. Выбора всех поднаборов значений переменных первого типа, которые являются невыполняющими на данном цикле. Т.е. вместе с текущим поднабором значений переменных второго типа дают невыполняющий множество дизъюнкций набор.
The processor matrix works only in the main mode. It is intended for:
1. The selection of all subsets of variables of the first type that are non-performing on this cycle. Those. together with the current subset of values of variables of the second type, they give a non-performing set of clauses.

2. Выдачи управляющего сигнала в случае, если все поднаборы значений переменных первого типа оказались на данном цикле невыполняющими. 2. Issuance of a control signal in the event that all subsets of values of variables of the first type turned out to be non-fulfilling on this cycle.

Адрес каждой запоминающей ячейки процессорной матрицы имеет вид

Figure 00000081
где aj (j 1,n1+n2+n3), принимают значения 0 или 1. При этом, двоичное число a1,
Figure 00000082
, называемое первой частью адреса, соответствует номеру блока, в котором находится запоминающая ячейка, двоичное число
Figure 00000083
, называемое второй частью адреса, соответствует номеру ряда, в котором находится запоминающая ячейка, двоичное число
Figure 00000084
, называемое третьей частью адреса, соответствует номеру запоминающей ячейки в ряду. Ячейке с адресом
Figure 00000085

ставят в соответствие поднабор
Figure 00000086

значений переменных x1,xn первого типа. Если Dr дизъюнкция, чей порядковый номер среди действующих на данном цикле дизъюнкций равен l, то на l-м тексте цикла записывают единицы в те ячейки, адреса которых соответствуют невыполняющим дизъюнкцию Dr поднаборам. Разряды адресов этих ячеек соответствуют статусам переменных в дизъюнкции Dr. Если St(xi, Dr) 1, то i-е разряды адресов ячеек, соответствующих невыполняющим поднаборам, содержат единицы. Если St(xi, Dr) 0, то i-е разряды адресов ячеек, соответствующих невыполняющим поднаборам, содержат нули. Если St(xi, Dr) * то i-е разряды адресов ячеек, соответствующих невыполняющим поднаборам, содержат как нули, так и единицы.The address of each storage cell of the processor matrix has the form
Figure 00000081
where a j (j 1, n 1 + n 2 + n 3 ), take the values 0 or 1. Moreover, the binary number a 1 ,
Figure 00000082
, called the first part of the address, corresponds to the number of the block in which the storage cell is located, a binary number
Figure 00000083
, called the second part of the address, corresponds to the number of the row in which the storage cell is located, a binary number
Figure 00000084
, called the third part of the address, corresponds to the number of the storage cell in the row. Cell with address
Figure 00000085

match a subset
Figure 00000086

values of variables x 1 , x n of the first type. If D r is a disjunction whose sequence number among the disjunctions acting on a given cycle is l, then on the l-th text of the cycle, units are written in those cells whose addresses correspond to non-performing disjunction D r subsets. The address bits of these cells correspond to the statuses of the variables in the disjunction D r . If St (x i , D r ) 1, then the ith bits of the addresses of the cells corresponding to non-performing subsets contain units. If St (x i , D r ) 0, then the ith bits of the addresses of the cells corresponding to non-performing subsets contain zeros. If St (x i , D r ) * then the ith bits of the addresses of the cells corresponding to non-performing subsets contain both zeros and ones.

Доступ к запоминающим ячейкам устройства процессорной матрицы 1 обеспечивается параллельными адресными дешифраторами адресов блока, строки и столбца, что позволяет записывать единицы одновременно во все ячейки, соответствующие невыполняющим поднаборам. Для этого требуется подавать управляющие сигналы на те входы параллельных дешифраторов, которые соответствуют нужным значениям разрядов адресов. (Значение 0 i-го разряда адреса соответствует 2i-1-му управляющему входу дешифратора. Значение 1 i-го разряда адреса соответствует 2i-у управляющему входу дешифратора). Access to the storage cells of the processor matrix device 1 is provided by parallel address decoders of the addresses of the block, row and column, which allows you to write units simultaneously to all cells corresponding to non-performing subsets. For this, it is necessary to apply control signals to those inputs of parallel decoders that correspond to the desired values of the address bits. (The value 0 of the i-th digit of the address corresponds to the 2i-1th control input of the decoder. The value 1 of the i-th digit of the address corresponds to the 2i-1st control input of the decoder).

В начале очередного цикла на вход 5 сброса процессорной матрицы 1 поступает сигнал сброса, который устанавливает в нуль все запоминающие ячейки 35 всех блоков 26 записи и считывания. а l-м такте рассматриваемого цикла (где l порядковый номер дизъюнкции Dr среди действующих на данном цикле дизъюнкций) на адресные входы устройства 1 сигналы поступают по следующему правилу:
если St(Dr, xi) 1, на вход 42i устройства 1 поступает единица, а на адресный вход 42i-1 поступает нуль;
если St(D, x) 0, на адресный вход 42i поступает нуль, а на адресный вход 42i-1 поступает единица;
если St(D, x) *, на оба адресные входа 42i и 42i-1 поступают единицы.
At the beginning of the next cycle, a reset signal is received at the reset input 5 of the processor matrix 1, which sets all storage cells 35 of all write and read blocks 26 to zero. and the lth step of the cycle under consideration (where l is the disjunction sequence number D r among the disjunctions acting on the given cycle), the signals of the address inputs of device 1 are received according to the following rule:
if St (D r , x i ) 1, one goes to the input 4 2i of the device 1, and zero goes to the address input 4 2i-1 ;
if St (D, x) 0, the address input 4 2i enters zero, and to the address input 4 2i-1 unit receives;
if St (D, x) *, one arrives at both address inputs 4 2i and 4 2i-1 .

Сигналы поступают на все входы

Figure 00000087
(io 1,2n) одновременно. Сигналы с входов
Figure 00000088
(i1 1.2n1), соответствующих первой части адреса, поступают на входы дешифратора 31 адреса блока.Signals arrive at all inputs.
Figure 00000087
(i o 1,2n) at the same time. Input Signals
Figure 00000088
(i 1 1.2n 1 ) corresponding to the first part of the address are supplied to the inputs of the decoder 31 of the address of the block.

Параллельный дешифратор 31 адреса блока производит параллельную дешифровку адресов всех тех блоков

Figure 00000089
, которые содержат ячейки, соответствующие невыполняющим дизъюнкцию Dr поднаборам значений переменных первого типа. С выходов
Figure 00000090
дешифратора 31, соответствующих этим блокам, на разрешающие входы 29 блоков 26 поступают единицы.Parallel block address decoder 31 performs parallel decryption of addresses of all those blocks
Figure 00000089
, which contain cells corresponding to non-performing disjunction D r subsets of values of variables of the first type. With exits
Figure 00000090
of the decoder 31 corresponding to these blocks, one arrives at the permitting inputs 29 of the blocks 26.

Сигналы с входов

Figure 00000091
(i2 1,2n2) устройства 1, соответствующих второй части адреса, поступают параллельно на входы
Figure 00000092
адреса строки всех блоков 26.Input Signals
Figure 00000091
(i 2 1,2n 2 ) of the device 1 corresponding to the second part of the address are received in parallel to the inputs
Figure 00000092
line addresses of all blocks 26.

Рассмотрим работу блока

Figure 00000093
с номером k1 (k1 1,
Figure 00000094
) (фиг.3). Если существует хотя бы один невыполняющий поднабор, первая часть адреса которого равна k1, на разрешающий вход 29 блока
Figure 00000095
поступает единица, отпирающая все ключи 44. Вследствие этого разряды вторых частей адресов невыполняющих поднаборов поступают на входы
Figure 00000096
(i2 1,2n2) параллельного дешифратора 36 адреса строки.Consider the operation of the block
Figure 00000093
with the number k 1 (k 1 1,
Figure 00000094
) (Fig. 3). If there is at least one non-performing subset, the first part of the address of which is k 1 , to the block 29 allowing input
Figure 00000095
a unit arrives that unlocks all the keys 44. As a result of this, the discharges of the second parts of the addresses of non-performing subsets go to the inputs
Figure 00000096
(i 2 1,2n 2 ) parallel decoder 36 line addresses.

После срабатывания дешифратора 36 с его выходов

Figure 00000097
, соответствующих вторым частям адресов невыполняющих поднаборов, единицы поступают на входы 45 тех ячеек 35, которые находятся в рядах, соответствующих невыполняющим поднаборам (фиг.3).After the operation of the decoder 36 from its outputs
Figure 00000097
corresponding to the second parts of the addresses of non-performing subsets, the units arrive at the inputs of those 45 cells 35, which are in rows corresponding to non-performing subsets (figure 3).

Сигналы с входов

Figure 00000098
(i3 1,2n3) устройства 1 параллельно поступают на входы
Figure 00000099
адреса столбца всех блоков 26 параллельной записи и считывания.Input Signals
Figure 00000098
(i 3 1,2n 3 ) devices 1 in parallel are fed to the inputs
Figure 00000099
column addresses of all blocks 26 parallel write and read.

Внутри каждого блока сигналы поступают на входы

Figure 00000100
параллельного дешифратора 39 адреса столбца.Inside each block, the signals go to the inputs.
Figure 00000100
parallel decoder 39 column address.

После срабатывания дешифратора 39 с его выходов 41, соответствующих третьим частям адресов невыполняющих поднаборов, единицы поступают на входы 46 запоминающих ячеек, соответствующих невыполняющим поднаборам (фиг.4). After the operation of the decoder 39 with its outputs 41, corresponding to the third parts of the addresses of non-performing subsets, the units go to the inputs 46 of the memory cells corresponding to non-performing subsets (Fig. 4).

В результате в те запоминающие ячейки 35, у которых на оба входа 46, 45 поданы единицы, будет записана единица. As a result, a unit will be recorded in those memory cells 35 in which units are supplied to both inputs 46, 45.

Таким образом, на l-м такте ко всем запоминающим ячейкам, в которые были записаны единицы на предыдущих тактах, добавляются ячейки, соответствующие невыполняющим дизъюнкцию Dr наборам.Thus, on the l-th measure, to all memory cells in which units were recorded on the previous measures, cells corresponding to non-performing disjunction D r sets are added.

Содержимое запоминающего элемента 50 каждой запоминающей ячейки

Figure 00000101
(k2 1,
Figure 00000102
) непрерывно подается на вход
Figure 00000103
каскада элементов И 42, на выходе которого единица появляется только в том случае, если на все входы 48 подаются единицы.The contents of the storage element 50 of each storage cell
Figure 00000101
(k 2 1,
Figure 00000102
) continuously fed to the input
Figure 00000103
a cascade of elements AND 42, at the output of which a unit appears only if units are supplied to all inputs 48.

С выхода каскада элементов И

Figure 00000104
сигнал поступает на k2-й вход
Figure 00000105
каскада 43 (фиг.3). Если на все входы 49 подаются единицы, на выходе 30 каскада элементов И 43 появляется 1. С выхода 30 блока
Figure 00000106
(k1 1,
Figure 00000107
) сигнал поступает на вход
Figure 00000108
каскада элементов И 33 (фиг.2), на выходе 6 которого единица появляется в случае, если все поднаборы значений переменных первого типа оказались невыполняющими на данном цикле.From the output of the cascade of elements AND
Figure 00000104
the signal goes to the k 2nd input
Figure 00000105
cascade 43 (figure 3). If units are supplied to all inputs 49, output 30 of the cascade of elements AND 43 appears 1. From output 30 of the block
Figure 00000106
(k 1 1,
Figure 00000107
) the signal is input
Figure 00000108
a cascade of elements And 33 (figure 2), at the output 6 of which the unit appears in the event that all subsets of the values of the variables of the first type were non-performing on this cycle.

Устройство управления предназначено для:
1. Определения в ходе выполнения очередного цикла действующих на следующем цикле дизъюнкций.
The control device is intended for:
1. Definitions in the course of the next cycle of disjunctions acting on the next cycle.

2. Выдачи на каждом такте текущего цикла единиц на те адресные входы процессорной матрицы 1, которые соответствуют значениям разрядов адресов ячеек, соответствующих невыполняющим на данном такте поднаборам значений переменных первого типа. 2. Issuance at each clock cycle of the current cycle of units to those address inputs of the processor matrix 1 that correspond to the values of the bits of the addresses of the cells corresponding to non-performing subsets of the values of the variables of the first type on this clock.

Интерфейс 3 предназначен для связи HOST-машины с устройством 2 выбора адресов ячеек. Interface 3 is intended for communication of the HOST machine with device 2 for selecting cell addresses.

Работа устройства управления в режиме загрузки. The operation of the control device in boot mode.

Перед началом загрузки устройства 2 на его вход 10 сброса через выход 21 сброса интерфейса 3 подается сигнал сброса, который затем поступает на входы сброса блока 57 выбора дизъюнкций, блока 63 адресации, регистра 75 номера последнего цикла и счетчика 69 циклов. Вследствие этого во все запоминающие ячейки блока 57 выбора дизъюнкций, блока 63 адресации и регистра 75 номера последнего цикла заносятся нули, во все запоминающие ячейки счетчика 69 циклов заносятся единицы. Таким образом в счетчике 69 оказывается записанным число 11.1, представляющее из себя -1 в дополнительном коде. Before starting the loading of device 2, a reset signal is sent to its reset input 10 through the reset output 21 of interface 3, which then goes to the reset inputs of the disjunction selection block 57, addressing block 63, register 75 of the last cycle number, and counter 69 cycles. As a result, zeros are entered in all memory cells of the disjunction selection block 57, addressing block 63 and register 75, and units are entered in all memory cells of the counter of 69 cycles. Thus, in the counter 69, the number 11.1 appears, which is -1 in the additional code.

После этого в запоминающие ячейки блока 57 выбора дизъюнкций заносятся значения статуса переменных второго типа в каждой из дизъюнкций. В запоминающие ячейки блока 63 адресации заносят разряды адресов ячеек, соответствующих невыполняющим наборам переменных первого типа, для всех дизъюнкций. В регистр 75 номера последнего цикла заносят номер последнего рабочего цикла, равный 2m, где m количество переменных второго типа, рассматриваемых в задаче.After that, the status cells of the variables of the second type in each of the disjunctions are entered into the memory cells of the disjunction selection block 57. In the storage cells of the addressing unit 63, bits of the addresses of the cells corresponding to non-performing sets of variables of the first type are entered for all disjunctions. In the register 75, the numbers of the last cycle are entered in the number of the last working cycle, equal to 2 m , where m is the number of variables of the second type considered in the problem.

Запись данных в блоки 57 и 63 происходит по следующим правилам:
Пусть L число рассматриваемых в задаче дизъюнкций.
Data is written to blocks 57 and 63 according to the following rules:
Let L be the number of disjunctions considered in the problem.

Для всех 1<= Lo:
Если j-ая переменная второго типа Yj не входит в дизъюнкцию Dl, в 2j-1-й запоминающий элемент 1182j-1 1-й схемы 112l выбора блока 57 выбора дизъюнкций записывают 1, в 2j-й запоминающий элемент 1182j 1-й схемы 112l выбора блока 57 выбора дизъюнкций ничего не записывают.
For all 1 <= L o :
If the j-th variable of the second type Y j is not included in the clause D l , in the 2j-1st memory element 118 2j-1 of the 1st circuit 112 l of the selection block 57 of the choice of clauses write 1, in the 2j-th memory element 118 2j 1st circuit 112 l of the selection block 57 disjunction selection do not record anything.

Если j-тая переменная второго типа Yj входит в дизъюнкцию Dl в виде литерала Yj (без отрицания), в 2j-1-й запоминающий элемент 1182j-1 1-й схемы 112l выбора блока 57 выбора дизъюнкций и в 2j-й запоминающий элемент 1182j 1-й схемы 112l выбора блока 57 ничего не записывают.If the j-th variable of the second type Y j is included in the disjunction D l in the form of the literal Y j (without negation), in the 2j-1st memory element 118 2j-1 of the 1st circuit 112 l of the selection block 57 of the disjunction selection and in 2j the storage element 118 2j of the 1st circuit 112 l of selecting the block 57 does not record anything.

Если j-я переменная второго типа у входит в дизъюнкцию D в виде литерала yj (с отрицанием), в 2j-1-й запоминающий элемент 1182j-1 1-й схемы 112l выбора блока 57 выбора дизъюнкций ничего не записывают, в 2j-й запоминающий элемент 1182j 1-й схемы 112l выбора блока 57 записывают 1.If the jth variable of the second type y enters the disjunction D in the form of the literal y j (with negation), nothing is written to the 2j-1st memory element 118 2j-1 of the 1st circuit 112 l of the selection block 57 of the choice of disjunction, The 2jth storage element 118 2j of the 1st circuit 112 l of selecting the block 57 is recorded 1.

Для всех 1>Lo:
В первый и второй запоминающие элементы 1181 и 1182 1-й схемы выбора 112l блока 57 выбора дизъюнкций записывают 1.
For all 1> L o :
In the first and second storage elements 118 1 and 118 2 of the 1st selection circuit 112 l of the disjunction selection unit 57, write 1.

Работа устройства управления в основном режиме. The operation of the control device in the main mode.

Регистр 75 номера последнего цикла хранит номер последнего цикла (число 2m).The last cycle number register 75 stores the number of the last cycle (number 2 m ).

Счетчик 69 циклов содержит номер текущего цикла, уменьшенный на единицу. The counter 69 cycles contains the number of the current cycle, reduced by one.

а r-м цикле происходит обработка поднабора значений переменных y1, y2, yj, соответствующего числу r-2 и подготовка к обработке поднабора значений переменных y1, y2,yj, соответствующего числу r-1. улевым циклом считается режим загрузки. Так как последние m разрядов числа -1 в дополнительном коде совпадают с разрядами числа 2m-1, на первом цикле обрабатывается поднабор значений переменных y1, y2,yj, соответствующий числу 2m-1.and the rth cycle processes the subset of the values of the variables y 1 , y 2 , y j corresponding to the number r-2 and prepares for the processing of the subset of the values of the variables y 1 , y 2 , y j corresponding to the number r-1. The hive cycle is considered the boot mode. Since the last m digits of the number -1 in the additional code coincide with the digits of the number 2 m -1, the first cycle processes the subset of the values of the variables y 1 , y 2 , y j corresponding to the number 2 m -1.

аходящееся в счетчике циклов число r-1 поразрядно поступает на нечетные входы логического блока И 72 и на управляющие входы 58 блока 57 выбора дизъюнкций. а четные входы логического блока 72 поступают значения разрядов регистра номера последнего цикла. В случае совпадения значения счетчика циклов с номером последнего цикла на выходе блока И, который соединен с первым выходом 13 решения устройства 2 управления, появляется единица, означающая, что задача не имеет решения. Через элемент ИЛИ 104 единица поступает также на вход 99 блока 94 синхронизации и останавливает его работу. the number r-1 in the loop counter is bitwise fed to the odd inputs of the AND 72 logic block and to the control inputs 58 of the disjunction selection block 57. and the even inputs of the logical block 72 receive the bits of the register numbers of the last cycle. If the value of the cycle counter coincides with the number of the last cycle at the output of the AND block, which is connected to the first output 13 of the solution of the control device 2, a unit appears, which means that the problem has no solution. Through the OR element 104, the unit also enters the input 99 of the synchronization unit 94 and stops its operation.

а управляющих входах 62 блока 57, соответствующих действующим на r+1-м цикле дизъюнкциям, появляются единицы, на остальных управляющих выходах 62 - нули. Эти значения поступают на входы 79 блока 78 ИЛИ-Е и на входы 82l (l 1, L) блока 81 переключателей. Если ни одна из дизъюнкций не является действующей на r+1-м цикле, на выходе 80 блока ИЛИ-Е, который соединен с вторым выходом 14 решения устройства 2 выбора адресов ячеек, появляется единица, означающая, что поднабор значений переменных второго типа, соответствующий содержимому счетчика циклов, вместе с любым поднабором значений переменных первого типа дает решение задачи.and control inputs 62 of block 57, corresponding to disjunctions acting on the r + 1th cycle, appear units, on the other control outputs 62 - zeros. These values are supplied to the inputs 79 of the block 78 OR-E and to the inputs 82 l (l 1, L) of the block 81 switches. If none of the disjunctions is valid on the r + 1th cycle, at the output of the 80 block OR-E, which is connected to the second output 14 of the solution of the device 2 select cell addresses, a unit appears, meaning that a subset of the values of variables of the second type, corresponding to the contents of the loop counter, together with any subset of the values of the variables of the first type, gives a solution to the problem.

В этом случае через элемент ИЛИ 104 единица поступает также на вход 99 блока 94 синхронизации и останавливает его работу. In this case, through the OR element 104, the unit also enters the input 99 of the synchronization unit 94 and stops its operation.

Блок 81 переключателей может находиться в двух состояниях нулевом и первом, номера которых определяются значениями сигнала, поступающего на вход 84 блока 81 с выхода 102 блока 94 синхронизации. The block 81 of the switches can be in two states zero and first, the numbers of which are determined by the values of the signal supplied to the input 84 of the block 81 from the output 102 of the block 94 synchronization.

В нулевом состоянии l-й (l 1,L) вход 82l блока 81 соединяется с l-м выходом 85l, а через него с l-м входом 88l определителя 86. Вход 83 блока соединяется с 2L+2-м выходом 852L+2, а через него с L+1-м входом 88L+1 определителя 87.In the zero state, the l-th (l 1, L) input 82 l of block 81 is connected to the l-th output 85 l , and through it to the l-th input 88 l of the determinant 86. The input 83 of the block is connected to 2L + 2-nd output 85 2L + 2 , and through it with the L + 1st input 88 L + 1 of the determinant 87.

В единичном состоянии l-й вход 82l блока 81 соединяется с 1+L+1-м выходом 85l+L+1, а через него с l-м входом 88l определителя 87. Вход 83 блока соединяется с L+1-м выходом 85L+1, а через него с L+1-м входом 88L+1 определителя 86.In a single state, the l-th input 82 l of block 81 is connected to the 1 + L + 1-m output 85 l + L + 1 , and through it with the l-th input 88 l of determinant 87. The input 83 of the block is connected to L + 1- m output 85 L + 1 , and through it with L + 1-m input 88 L + 1 determinant 86.

Положим для определенности, что на рассматриваемом цикле блок переключателей находится в нулевом состоянии. For definiteness, we assume that on the cycle under consideration the block of switches is in the zero state.

Тогда первый определитель 86 порядка дизъюнкций действует в режиме загрузки, а второй определитель 87 порядка дизъюнкций действует в режиме работы. Then, the first determinant of the order of clauses 86 operates in the load mode, and the second determinant of the order of 87 clauses acts in the operating mode.

а управляющие входы 88l (l 1,L) определителя 86, соответствующие действующим на r+1-м цикле дизъюнкциям, с выходов 85 блока 81 поступают единицы, после чего в триггеры 195 ключей 190 (фиг.13, 14) определителя 86. соответствующих действующим на r+1-м цикле дизъюнкциям, заносятся единицы.and the control inputs 88 l (l 1, L) of the determinant 86, corresponding to the disjunctions acting on the r + 1-th cycle, units come from the outputs 85 of the block 81, after which the triggers 195 of the keys 190 (Figs. 13, 14) of the determiner 86 enter. units corresponding to disjunctions acting on the r + 1st cycle, units are entered.

Работа устройств 57, 78, 81 и 86 происходит асинхронно. Devices 57, 78, 81, and 86 operate asynchronously.

Работа устройства 87 происходит синхронно тактовым импульсам, поступающим от блока 94. Тактовые импульсы с выхода 101 блока 94 синхронизации поступают на L+1-й вход 83 блока 81 переключателей, а оттуда на тактовый вход 88 определителя 87. Каждый тактовый импульс беспрепятственно проходит через те ключи 190, в триггер 195 которых (фиг.14, 13) не занесены единицы, т.е. через те ключи, которые не соответствуют действующим на данном цикле дизъюнкциям. Как только тактовый импульс доходит до ключа 190, соответствующего очередной действующей на данном цикле дизъюнкции, он не проходит на вход следующего ключа, а поступает на выход 192 данного ключа и на вход линии 202 задержки. С входа 192 ключа 190 единица поступает на выход 89 определителя 87, соответствующий очередной действующей на данном цикле дизъюнкции. The device 87 operates synchronously with the clock pulses coming from block 94. The clock pulses from the output 101 of the synchronization block 94 are fed to the L + 1st input 83 of the switch unit 81, and from there to the clock input 88 of the determiner 87. Each clock pulse passes unhindered through those keys 190, in the trigger of which 195 (Figs. 14, 13) no units are entered, i.e. through those keys that do not correspond to the clauses acting on this cycle. As soon as the clock pulse reaches the key 190, which corresponds to the next disjunction acting on the given cycle, it does not go to the input of the next key, but goes to the output 192 of this key and to the input of the delay line 202. From the input 192 of the key 190, the unit goes to the output 89 of the determinant 87, which corresponds to the next disjunction acting on this cycle.

С выхода линии задержки 202 задержанный на половину такта импульс поступает на вход R триггера 195 и записывает в него нуль. Следующий тактовый импульс беспрепятственно проходит через ключ 190 и движется до следующего ключа, соответствующего действующей дизъюнкции. From the output of the delay line 202, the pulse delayed by half the clock is fed to the input R of the trigger 195 and writes zero to it. The next clock pulse freely passes through the key 190 and moves to the next key, corresponding to the current clause.

После того, как все ключи 190, соответствующие действующим дизъюнкциям, пройдены, тактовые импульсы поступают на выход 90 определителя 87, а оттуда
на вход 96 устройства 94, сигнализируя о том, что определитель 87 закончил работу.
After all the keys 190 corresponding to the current clauses are passed, the clock pulses go to the output 90 of the determinant 87, and from there
to the input 96 of the device 94, signaling that the identifier 87 has finished work.

Таким образом, если на r-м цикле действует lr дизъюнкция, то r-й цикл включает в себя lr машинных тактов. Если дизъюнкция Ds является действующей на r-м цикле и порядок ее действия равен ls(ls∈1,....L),, то на ls такте r-го цикла на k-й выход 89k определителя 87 поступает единица, которая через блок 91 элементов ИЛИ попадает на k-й управляющий вход 64k блока 63 адресации, вследствие чего блок 63 выдает единицы с выходов 68, соответствующих разрядам адресов ячеек, соответствующих невыполняющим дизъюнкцию Ds поднаборам значений переменных x1, x2,xn.Thus, if l r disjunction acts on the rth cycle, then the rth cycle includes l r machine clocks. If the disjunction D s is valid on the rth cycle and the order of its action is l s (l s ∈1, .... L), then on the l s tact of the rth cycle on the kth output 89 k of the determinant 87 a unit arrives that, through a block of 91 OR elements, enters the kth control input 64 k of the addressing block 63, as a result of which block 63 outputs units from outputs 68 corresponding to the bits of cell addresses corresponding to disjunction D s subsets of the values of variables x 1 , x 2 , x n .

До тех пор, пока хотя бы в одной из запоминающих ячеек устройства 2 параллельной записи и считывания записан нуль, с выхода 6 устройства 1 на сигнальный вход 8 устройства 2 и далее на вход 97 блока 94 сигнализации продолжает поступать нуль. Until zero is recorded in at least one of the memory cells of the device 2 for parallel recording and reading, zero continues to be received from the output 6 of the device 1 to the signal input 8 of the device 2 and then to the input 97 of the signaling unit 94.

Если во всех запоминающих ячейках устройства 2 оказываются записаны единицы (т.е. если все поднаборы значений переменных первого типа оказались на данном цикле невыполняющими и дальнейшая работа в данном цикле не имеет смысла), с выхода 6 устройства 1 на сигнальный вход 8 устройства 2 и далее на вход 97 блока 94 поступает единица. Если с момента начала цикла прошло время, достаточное для того, чтобы в триггеры 195 ключей 190 определителя 86, соответствующих действующим на r+1-м цикле дизъюнкциям, записались единицы, блок 94 инициирует выполнение следующего цикла. Для этого он:
1. Выдает с выхода 103 единичный сигнал на счетный вход 71 счетчика 69 циклов (после чего счетчик увеличивает свое значение на единицу) и на выход 17 сброса устройства 2. С выхода 17 единица попадает на вход 5 сброса устройства 1, что приводит к обнулению всех его запоминающих ячеек.
If there are units recorded in all storage cells of device 2 (i.e., if all subsets of values of variables of the first type turned out to be non-fulfilling on this cycle and further work in this cycle does not make sense), from output 6 of device 1 to signal input 8 of device 2 and then, unit 97 enters the input 97 of block 94. If enough time has passed since the start of the cycle so that units are recorded in the triggers 195 of the keys 190 of the determinant 86 corresponding to the disjunctions acting on the r + 1st cycle, block 94 initiates the execution of the next cycle. To do this, he:
1. Issues a single signal from output 103 to the counting input 71 of the counter 69 cycles (after which the counter increases its value by one) and to output 17 of the reset device 2. From output 17, the unit goes to input 5 of the reset device 1, which leads to zeroing its memory cells.

2. Меняет свое значение сигнала на выходе 102 на противоположное, что приводит к изменению на противоположное состояние блока 81 переключателей. 2. Changes its value of the signal at the output 102 to the opposite, which leads to a change in the opposite state of the block 81 of the switches.

Если после поступления на вход 96 единицы, сигнализирующей, что определитель 87 закончил работу, на вход 97 блока 94 в течение времени, необходимого для завершения срабатывания устройства 1, продолжает поступать нуль, это означает что среди поднаборов значений переменных первого типа есть хоть один выполняющий. Блок 94 выдает на выход 100 единичный сигнал, поступающий затем на выход 15 устройства 2, и прекращает работу. If after entering 96, the unit signaling that the determinant 87 has finished working, zero continues to arrive at the input 97 of block 94 during the time required to complete the operation of device 1, this means that among the subsets of values of variables of the first type there is at least one that performs. Block 94 provides a single signal to output 100, which then enters output 15 of device 2, and stops operation.

Остановка блока 94 происходит также в случае поступления единицы на вход 99. Block 94 also stops when a unit arrives at input 99.

Работа блока 94 синхронизации. The operation of block 94 synchronization.

При поступлении единицы на вход 98 блока 94 происходит запуск генератора 183 тактовых импульсов, срабатывает элемент ИЛИ 175 и блок 94 приступает к синхронизации выполнения первого цикла:
Генератор 183 выдает на выход 101 блока 94 тактовые импульсы.
Upon receipt of a unit at the input 98 of block 94, the clock generator 183 is started, the OR element 175 is triggered, and block 94 starts synchronizing the execution of the first cycle:
The generator 183 provides the output 101 of the block 94 clock pulses.

С выхода элемента ИЛИ 175 единица поступает на вход Т-триггера 186, переводя его в противоположное состояние, на вход R RS-триггера 173, на вход линии задержки 189 и через выход 103 блока 94 на счетный вход счетчика 69, увеличивая его значение на 1, и на выход 17 устройства 2, а оттуда на вход 5 очистки устройства 1. From the output of the OR element 175, the unit goes to the input of the T-flip-flop 186, translating it into the opposite state, to the input R of the RS-flip-flop 173, to the input of the delay line 189 and through the output 103 of the block 94 to the counting input of the counter 69, increasing its value by 1 , and to the output 17 of the device 2, and from there to the input 5 of the cleaning device 1.

При поступлении сигнала на вход R RS-триггера 173 в триггер заносится нуль, поступающий затем на вход 171 элемента И 168 и запирающий его. When a signal is received at the input R of the RS-flip-flop 173, a zero is entered into the trigger, which then arrives at the input 171 of the And 168 element and locks it.

Линия задержки 189 задерживает сигнал на время, необходимое для загрузки определителя дизъюнкций. После этого единица поступает на вход S RS-триггера 173. В триггер заносится единица, поступающая затем на вход 171 элемента И 168 и отпирающая его. Delay line 189 delays the signal for the time required to load the clause determinant. After that, the unit enters the input S of the RS-flip-flop 173. The unit is entered into the trigger, which then enters the input 171 of the And 168 element and unlocks it.

При поступлении единицы на первый 95 или второй 96 входы блока срабатывает элемент ИЛИ 174 и выдает единицу на вход линии задержки 188. По прошествии времени, необходимого для записи единиц в ячейки устройства 1 и для срабатывания каскадов элементов И этого устройства, единица с выхода линии задержки 188 поступает на вход 169 элемента И 167. Если в это время на вход 97 блока 94 продолжает поступать нуль, с выхода инвертора 166 на второй вход 170 элемента И 167 поступает единица, элемент 167 срабатывает и выдает единицы на выход 100 устройства 94 и на вход 181 элемента ИЛИ 176. С выхода элемента ИЛИ 176 сигнал поступает на вход 185 остановки генератора 183. Остановка генератора 183 происходит также и при поступлении единицы на вход 99 блока 94. When a unit arrives at the first 95 or second 96 block inputs, the OR element 174 is triggered and gives a unit to the input of the delay line 188. After the lapse of time required to write the units to the cells of device 1 and to trigger the cascades of And elements of this device, the unit from the output of the delay line 188 arrives at the input 169 of the And 167 element. If at this time the input 97 of the block 94 continues to receive zero, a unit arrives from the output of the inverter 166 to the second input 170 of the And 167 element, the element 167 is triggered and issues units to the output 100 of the device 94 and to the input 181 elements and OR 176. From the output signal of the OR gate 176 to the input 185 of the generator 183. The generator stops Stop 183 also occurs when the unit 99 arrives at the input section 94.

Если элемент И 168 открыт, то при поступлении единицы на вход 97 блока 94 он срабатывает, единица поступает на вход 180 элемента ИЛИ 175, в результате чего блок 94 приступает к синхронизации выполнения очередного цикла. If the And 168 element is open, then when the unit arrives at the input 97 of the block 94, it is triggered, the unit goes to the input 180 of the OR element 175, as a result of which the block 94 starts synchronizing the execution of the next cycle.

Работа блока 57 выбора дизъюнкций. The operation of the block 57 of the choice of clauses.

С j-того входа 58j блока 57 значение j-го разряда содержимого счетчика поступает на 2j-i-е входы 1132j-1 всех схем выбора 112 и через инвертор 105m на 2j-е входы 1132j всех схем выбора 112.From the j-th input 58 j of block 57, the value of the j-th bit of the counter content is supplied to the 2j-i-th inputs 113 2j-1 of all selection circuits 112 and through the inverter 105 m to the 2j-th inputs 113 2j of all selection circuits 112.

Если j-тая переменная Yj не входит в l-ю дизъюнкцию Dl, единица, записанная в триггер 1182j-1 схемы выбора 112l поступает на вход элемента ИЛИ 126, на выходе которого единица появляется независимо от того, какое значение поступило на входы 1132j-1 и 1132j.If the j-th variable Y j is not included in the l-th disjunction D l , the unit recorded in the trigger 118 2j-1 of the selection circuit 112 l goes to the input of the OR element 126, at the output of which the unit appears regardless of what value came in inputs 113 2j-1 and 113 2j .

Если j-я переменная Yj входит в l-ую дизъюнкцию Dl, и, следовательно, в триггере 1182j-1 содержится нуль, то единица появляется на выходе элемента ИЛИ 126j только в случае, если она появляется на выходе элемента И 1192j-1 или элемента И 1192j, что имеет место, когда содержимое триггера 1182j совпадает со значением, поступившим на вход 58j блока 57. (Если значение, поступившее на вход 58j, равно 1 и содержимое триггера 1182j равно 1, срабатывает элемент 1192j-1. Если значение, поступившее на вход 58j, равно 0 и содержимое триггера 1182j равно 0, срабатывает элемент 1192j).If the j-th variable Y j enters the l-th disjunction D l , and therefore, the trigger 118 2j-1 contains zero, then the unit appears at the output of the OR element 126 j only if it appears at the output of the AND element 119 2j-1 or AND element 119 2j , which occurs when the contents of trigger 118 2j coincide with the value received at input 58 j of block 57. (If the value received at input 58 j is 1 and the content of trigger 118 2j is 1, element 119 2j-1 is triggered. If the value received at input 58 j is 0 and the contents of trigger 118 2j is 0, element 119 2j is triggered).

Единица на выходе элемента И 133 схемы выбора 112l (а, следовательно, и на l-м выходе 62l блока 57 выбора дизъюнкций) появляется в том и только том случае, когда для всех j на выходах элементов И 126j появляются единицы. Т. е. переменная Yj либо не входит в дизъюнкцию D, либо ее значение bj, рассматриваемое на данном цикле, входит в невыполняющий дизъюнкции Dl набор, иными словами, когда дизъюнкция Dl является действующей на данном цикле.A unit at the output of the element And 133 of the selection circuit 112 l (and, therefore, at the l-th output 62 l of the block 57 of the choice of disjunction) appears if and only if for all j at the outputs of the elements And 126 j appear units. That is, the variable Y j either does not belong to the disjunction D, or its value b j considered in this cycle is included in the set that does not fulfill the disjunction D l , in other words, when the disjunction D l is valid on this cycle.

Если дизъюнкция Dl вообще не рассматривается, то (и только в этом случае) в оба триггера 1181 и 1182 записывается единица. Элемент И-Е 130 выдает нуль на вход 134 элемента И 133, и единица на k-м выходе 62l блока 57 выбора дизъюнкций не появляется ни в каком случае.If the disjunction D l is not considered at all, then (and only in this case) one is written in both triggers 118 1 and 118 2 . The IE-130 element outputs zero to the input 134 of the AND 133 element, and the unit at the k-th output 62 l of the clause selection block 57 does not appear in any case.

Работа блока 63 адресации. The operation of block 63 addressing.

а очередном такте работы спецпроцессора единица поступает на вход 64l блока 63 адресации, соответствующий рассматриваемой на данном такте дизъюнкции Dl, а оттуда на входы 146l всех схем адресации 145. При этом, открываются все 2l-ые и 2l-1-е ключи 1562l-1 и 1562l всех схем адресации 145, и содержимое 2l-х и 2l-1-х запоминающих элементов 1532l-1 и 1532l всех схем адресации через блоки 154 элементов ИЛИ параллельно поступает на выходы 151, 152 всех схем адресации и через них на выходы 68 блока 63 адресации. Иand at the next step of operation of the special processor, the unit goes to the input 64 l of the addressing unit 63, which corresponds to the disjunction D l considered at this beat, and from there to the inputs 146 l of all addressing circuits 145. In this case, all the 2nd and 2nd keys are opened 156 2l-1 and 156 2l of all addressing schemes 145, and the contents of 2l-x and 2l-1-x memory elements 153 2l-1 and 153 2l of all addressing schemes through blocks of 154 elements OR simultaneously enters the outputs 151, 152 of all addressing schemes and through them to the outputs 68 of the block 63 addressing. AND

Claims (10)

1. Высокопараллельный спецпроцессор для решения задач о выполнимости булевых формул, состоящий из процессорной матрицы, устройства управления и интерфейса, отличающийся тем, что i-й (i 1, 2n) адресный вход процессорной матрицы соединен с i-м управляющим выходом устройства управления, вход сброса процессорной матрицы соединен с выходом сброса устройства управления, выход процессорной матрицы соединен с сигнальным входом устройства управления, вход запуска которого соединен с выходом запуска интерфейса, j-й (j 1, m) выход чтения устройства управления соединен с j-м входом чтения интерфейса, р-й
(p=1,2+2{log2(L)}+2{log2(m)}+{log2(n)} x} обозначает наименьшее целое, большее или равное х), вход загрузки устройства управления соединен с р-м выходом загрузки интерфейса, вход сброса устройства управления соединен с выходом сброса интерфейса, вход записи устройства управления соединен с выходом записи интерфейса, первый, второй и третий выходы решения устройства управления соединены с первым, вторым и третьим входами решения интерфейса соответственно, при этом процессорная матрица содержит
Figure 00000109
идентичных блока записи и считывания, дешифратор адреса блока,
Figure 00000110
входовой каскад элементов И, причем i1-й (i1 1, 2n1) вход дешифратора адреса блока является i1-м адресным входом процессорной матрицы, k1
Figure 00000111
выход дешифратора адреса блока соединен с разрешающим входом k1-го блока записи и считывания, i2-й (i2 1, 2n2) вход адреса строки каждого блока записи и считывания соединен с i2 + 2n1-м адресным входом процессорной матрицы, i3-й (i3 1, 2n3) вход адреса столбца каждого блока записи и считывания соединен с i3 + 2n1 + 2n2-м адресным входом процессорной матрицы, вход сброса каждого блока записи и считывания соединен с входом сброса процессорной матрицы, выход k1-го
Figure 00000112
блока записи и считывания соединен с k1-м входом
Figure 00000113
-входового каскада элементов И, выход которого является выходом процессорной матрицы, при этом каждый блок записи и считывания содержит матрицу
Figure 00000114
запоминающих ячеек, дешифратор адреса строки, дешифратор адреса столбца,
Figure 00000115
-входовых каскадов элементов И,
Figure 00000116
-входовый главный каскад элементов И, 2n2 ключей, выполненных в виде элементов И с двумя входами, причем k2
Figure 00000117
выход дешифратора адреса строки соединен с первыми входами выборки всех запоминающих ячеек k2-й строки матрицы запоминающих ячеек, k3
Figure 00000118
выход дешифратора адреса столбца соединен с вторыми входами выборки всех запоминающих ячеек k3-го столбца матрицы запоминающих ячеек, первый вход i2-го (i2 1, 2n2) ключа является i2-м входом адреса строки блока записи и считывания, второй вход каждого ключа соединен с разрешающим входом блока записи и считывания, i2-й (i2 1, 2n2) вход дешифратора адреса строки соединен с выходом i2-го ключа, i3-й (i3 1, 2n3) вход дешифратора адреса столбца соединен с i3-м входом адреса столбца блока записи и считывания, вход сброса каждой из запоминающих ячеек соединен с входом сброса блока записи и считывания, выход k3-й запоминающей ячейки k2-го ряда матрицы запоминающих ячеек соединен с k3-м входом k2-го каскада элементов И, выход k2-го каскада элементов И соединен с k2-м входом
Figure 00000119
-входового главного каскада элементов И, выход которого является выходом блока записи и считывания, при этом каждая запоминающая ячейка содержит запоминающий элемент и элемент И с двумя входами, причем первый и второй входы элемента И соединены с первым и вторым входами выборки запоминающей ячейки, выход элемента И соединен с входом записи единицы запоминающего элемента, вход записи нуля запоминающего элемента соединен с входом сброса запоминающей ячейки, прямой выход запоминающего элемента является выходом запоминающей ячейки, дешифраторы адресов блока, строк и столбцов выполнены в виде параллельных адресных дешифраторов, имеющих 2N выходов и 2N адресных входов (N n1, n2, n3) для дешифраторов блока, адреса строки и адреса столбца соответственно), по одному независимому входу для нулевого и для единичного значения каждого двоичного разряда адреса, 2N-входовый (N n1, n2, n3) каскад элементов И содержит 2N 1 элементов И с двумя входами, расположенных на N уровнях, при этом на I-м (I 1, N) уровне имеется 2N-1 элемента, входы каскада с номерами 2k1 1 и 2k1 (k1 1, 2N-1) соединены с входами элемента И с номером к1 первого уровня, выходы элементов И с номерами 2k1 1 и 2k1 (k1 1, 2N-1) I-го уровня соединены с входами элемента И номер k1 I + 1-го уровня, выход элемента И N-го уровня является выходом всего каскада, устройство управления содержит блок выбора дизъюнкций, блок адресации, m + 1-разрядный счетчик циклов по модулю 2m+1, блок элементов И, m + 1-разрядный регистр номера последнего цикла, блок ИЛИ-НЕ, блок переключателей, первый и второй определители порядка дизъюнкций, блок элементов ИЛИ, блок синхронизации, элемент ИЛИ с двумя входами, причем выход j-го (j 1, m + 1) разряда регистра номера последнего цикла соединен с (2j 1)-м входом блока элементов И, выход j-го разряда счетчика циклов соединен с 2j-м входом блока элементов И, выход блока элементов И соединен с первым выходом решения устройства управления и с первым входом элемента ИЛИ, выход j-го (j 1, m)разряда счетчика циклов соединен с j-м управляющим входом блока выбора дизъюнкций, l-й (l=1,L) выход которого соединен с l-м входом блока переключателей и с l-м входом блока ИЛИ-НЕ, выход блока ИЛИ-НЕ соединен с вторым выходом решения устройства управления и с вторым входом элемента ИЛИ, l-й выход блока переключателей соединен с l-м входом первого определителя порядка дизъюнкций, L+l+1-й выход блока переключателей соединен с l-м входом второго определителя порядка дизъюнкций, L+1-й выход блока переключателей соединен с L+1-м входом первого определителя порядка дизъюнкций, 2L+2-й выход блока переключателей соединен с L+1-м входом второго определителя порядка дизъюнкций, l-е выходы первого и второго определителей порядка дизъюнкций соединены соответственно с (2l-1)-м и 2l-м входами блока элементов ИЛИ, l-й выход которого соединен с l-м управляющим входом блока адресации, i-й (i 1, 2n, n n1 + n2 + n3) управляющий выход которого соединен с i-м управляющим выходом устройства управления, сигнальный выход первого определителя порядка дизъюнкций соединен с первым входом блока синхронизации, сигнальный выход второго определителя порядка дизъюнкций соединен с вторым входом блока синхронизации, третий вход блока синхронизации соединен с сигнальным входом устройства управления, четвертый вход блока синхронизации соединен с входом запуска устройства управления, пятый вход блока синхронизации соединен с выходом элемента ИЛИ, первый выход блока синхронизации соединен с третьим выходом решения устройства управления, второй выход блока синхронизации соединен с L+1-м входом блока переключателей, третий выход блока синхронизации соединен с L+2-м входом блока переключателей, четвертый выход блока синхронизации соединен со счетным входом счетчика циклов и с выходом сброса устройства управления, р1-й вход (р1 1, log2(m)} ) загрузки регистра номера последнего цикла соединен с р1-м входом загрузки устройства управления, q2-й (q2=1,log2(m)}+{log2(L)}+1) вход загрузки блока выбора дизъюнкций соединен с р2-м (р2=q2+{log2(m)}) входом загрузки устройства управления q3-й (q3=1,log2(n)}+{log2(L)}+1 вход загрузки блока адресации соединен с p3-м (p3=q3+2•{log2(m)}+{log2(L)}+1) входом загрузки устройства управления, входы сброса блока выбора дизъюнкций, блока адресации, счетчика циклов и регистра номера последнего цикла соединены с входом сброса устройства управления, входы записи блока выбора дизъюнкций, блока адресации и регистра номера последнего цикла соединены с входом записи устройства управления, при этом блок выбора дизъюнкций содержит m инверторов, дешифратор адреса схемы, дешифратор адреса ячейки и L схем выбора, причем j-й (j 1, m) управляющий вход блока выбора дизъюнкций соединен с 2j 1-ми управляющими входами всех схем выбора и с входом j-го инвертора, выход которого соединен с 2j-ми управляющими входами всех схем выбора, выход l-й (l=1, L)схемы выбора соединен с l-м выходом блока выбора дизъюнкций, q4-й (q4=1, log2(L)}) вход загрузки блока выбора дизъюнкций соединен с q4-м входом дешифратора адреса схемы, l-й выход которого соединен с разрешающим входом l-й схемы выбора, q5-й (q5=log2(L)}+1log2(m)}+{log2(L)}+1) вход загрузки блока выбора дизъюнкций соединен с q5-/log2(L)/-м входом дешифратора адреса ячейки, j1-й (j1 1, 2m) выход которого соединен с j1-ми входами выборки всех схем выбора, входы сброса и записи каждой схемы выбора соединены со входами сброса и записи блока выбора дизъюнкций, при этом каждая схема выбора содержит 2m запоминающих элементов, 2m элементов И с двумя входами, 2m элементов И с тремя входами, m элементов ИЛИ с тремя входами, элемент И-НЕ, блок элементов И, причем в каждой схеме выбора прямой выход 2j 1-го (j 1, m) запоминающего элемента соединен с первым входом j-го элемента ИЛИ, прямой выход 2j-го запоминающего элемента соединен с первым входом (2j 1)-го элемента И с двумя входами, инверсный выход 2j-го запоминающего элемента соединен с первым входом 2j-го элемента И с двумя входами, второй вход 2j 1-го элемента И с двумя входами соединен с (2j 1)-м управляющим входом схемы выбора, второй вход 2j-го элемента И с двумя входами соединен с 2j-м управляющим входом схемы выбора, выходы (2j 1)-го и 2j-го элементов И с двумя входами соединены с вторым и третьим входами j-го элемента ИЛИ, выход j-го элемента ИЛИ соединен с j-м входом блока элементов И, выход которого соединен с выходом схемы выбора, прямые выходы первого и второго запоминающих элементов соединены с первым и вторым входами элемента И-НЕ, выход которого соединен с (m + 1)-м входом блока элементов И, вход записи единицы j1-го (j1 1, 2m) запоминающего элемента соединен с выходом j1-го элемента И с тремя входами, входы записи нуля всех запоминающих элементов соединены с входом сброса схемы выбора, первый вход j1-го элемента И с тремя входами соединен с j1-м входом выборки схемы выбора, вторые входы всех элементов И с тремя входами соединены с разрешающим входом схемы выбора, третьи входы всех элементов И с тремя входами соединены с входом записи схемы выбора, блок адресации содержит дешифратор адреса схемы, дешифратор адреса ячейки, n n1 + n2 + n3 схем адресации, причем l-е (l=1,L) управляющие входы всех схем адресации соединены с l-м управляющим входом блока адресации, первый и второй выходы i-й (i 1, n) схемы адресации соединены с (2i 1)-м и 2i-м выходами блока, q6-й (q6 1,log2(n)}) вход загрузки блока адресации соединен с q6-м входом дешифратора адреса схемы, i-й выход которого соединен с разрешающим входом i-й схемы выбора, q7-й (q7=log2(n)}+1log2(n)}+{log2(L)}+1) вход загрузки блока адресации соединен с q7-/log2(n)/-м входом дешифратора адреса ячейки, l1-й (l1=1,2L) выход которого соединен с l1-ми входами выборки всех схем адресации, входы сброса и записи каждой схемы адресации соединены с входами сброса и записи блока адресации, при этом каждая схема адресации содержит 2L запоминающих элементов, две группы элементов ИЛИ с L входами каждый, 2L ключей, выполненных в виде элементов И с двумя входами, 2L элементов И с тремя входами, причем прямые выходы 2l-1-го и 2l-го (l=1,L) запоминающих элементов соединены с первыми входами (2l-1)-го и 2l-го ключей, вторые входы (2l-1)-го и 2l-го ключей соединены с l-м управляющим входом схемы адресации, выходы всех нечетных ключей соединены с входами первого блока элементов ИЛИ, выходы всех четных ключей соединены с входами второго блока элементов ИЛИ, выходы первого и второго блоков элементов ИЛИ соединены с первым и вторым выходами схемы адресации, вход записи единицы l1-го (l1=1,2L) запоминающего элемента соединен с выходом l1-го элемента И с тремя входами, входы записи нуля всех запоминающих элементов соединены с входом сброса схемы адресации, первый вход l1-го элемента И с тремя входами соединен с l1-м входом выборки схемы адресации, вторые входы всех элементов И с тремя входами соединены с разрешающим входом схемы адресации, третьи входы всех элементов И с тремя входами соединены с входом записи схемы адресации.
1. High-parallel special processor for solving Boolean formula feasibility problems, consisting of a processor matrix, a control device and an interface, characterized in that the ith (i 1, 2n) address input of the processor matrix is connected to the i-th control output of the control device, input the reset of the processor matrix is connected to the reset output of the control device, the output of the processor matrix is connected to the signal input of the control device, the trigger input of which is connected to the trigger output of the interface, the jth (j 1, m) read output of the control device eniya connected to the j-th reading interface input, the p-th
(p = 1,2 + 2 {log 2 (L)} + 2 {log 2 (m)} + {log 2 (n)} x} indicates the smallest integer greater than or equal to x), the boot input of the control device is connected to pth output of the interface load, the reset input of the control device is connected to the reset output of the interface, the recording input of the control device is connected to the output of the interface record, the first, second and third outputs of the control device solution are connected to the first, second and third inputs of the interface solution, respectively, processor matrix contains
Figure 00000109
identical write and read blocks, block address decoder,
Figure 00000110
input cascade of AND elements, with the i 1st (i 1 1, 2n 1 ) input of the block address decoder being the i 1st address input of the processor matrix, k 1st
Figure 00000111
the output of the block address decoder is connected to the enable input k of the 1st write and read block, the 2nd (i 2 1, 2n 2 ) line address input of each write and read block is connected to the i 2 + 2n 1st address of the processor matrix , i 3rd (i 3 1, 2n 3 ) the column address input of each write and read block is connected to the i 3 + 2n 1 + 2n 2nd address input of the processor matrix, the reset input of each write and read block is connected to the reset input of the processor matrices, output k 1st
Figure 00000112
the write and read unit is connected to the k 1- th input
Figure 00000113
-in the input cascade of elements And, the output of which is the output of the processor matrix, with each recording and reading unit contains a matrix
Figure 00000114
storage cells, row address decoder, column address decoder,
Figure 00000115
- input cascades of elements AND,
Figure 00000116
-input main cascade of AND elements, 2n 2 keys made in the form of AND elements with two inputs, with k 2
Figure 00000117
the output of the address decoder of the row is connected to the first inputs of the sample of all storage cells k the 2nd row of the matrix of storage cells, k the 3rd
Figure 00000118
output a column address decoder connected to the second inputs of all the sample storage cells 3 k -th column of memory cells, a first input 2 i -th (i February 1, 2n 2) key is 2 i-th input line write and read address block, the second the input of each key is connected to the enable input of the write and read unit, i 2nd (i 2 1, 2n 2 ) input of the line address decoder is connected to the output of i 2nd key, i 3rd (i 3 1, 2n 3 ) input the column address decoder is connected to the i 3rd input of the column address of the write and read unit, the reset input of each of the memory cells of the connection is connected with the reset input of the write and read unit, the output of the k 3rd storage cell of the k 2nd row of the matrix of storage cells is connected to the k 3rd input of the k 2nd cascade of elements AND, the output of the k 2nd cascade of elements AND is connected to k 2nd entrance
Figure 00000119
input main cascade of elements AND, the output of which is the output of the recording and reading unit, each memory cell contains a memory element and element And with two inputs, the first and second inputs of the element And connected to the first and second inputs of the sample memory cell, the output of the element And connected to the recording input of the unit of the storage element, the input of recording the zero of the storage element is connected to the reset input of the storage cell, the direct output of the storage element is the output of the storage cell, the decoding the block address, row and column addressators are made in the form of parallel address decoders having 2 N outputs and 2N address inputs (N n 1 , n 2 , n 3 ) for block decoders, row addresses and column addresses, respectively), one independent input for zero and for a single value of each binary digit of the address, 2 N- input (N n 1 , n 2 , n 3 ) cascade of elements And contains 2 N 1 elements And with two inputs located at N levels, while on the I-th I 1, N) level there are 2 N - 1 elements, the inputs of the cascade with numbers 2k 1 1 and 2k 1 (k 1 1, 2 N - 1 ) are connected to the inputs of the element that And with the number k 1 of the first level, the outputs of the elements And with the numbers 2k 1 1 and 2k 1 (k 1 1, 2 N - 1 ) of the 1st level are connected to the inputs of the element And the number k 1 I + 1 of the level, output element And the N-th level is the output of the whole cascade, the control device contains a block for selecting disjunctions, an addressing block, m + 1-bit cycle counter modulo 2 m + 1 , a block of elements And, m + 1-bit register of the last cycle number, block OR NOT, switch block, first and second clause order determinants, OR element block, synchronization block, OR element with two inputs, and you the jth (j 1, m + 1) discharge stroke of the register of the last cycle number is connected to the (2j 1) th input of the And block of elements, the output of the jth bit of the cycle counter is connected to the 2jth input of the And block of elements, the output of the block of elements And it is connected to the first output of the solution of the control device and to the first input of the OR element, the output of the jth (j 1, m) discharge of the cycle counter is connected to the jth control input of the disjunction selection block, the lth (l = 1, L) output which is connected to the lth input of the switch block and to the lth input of the OR-NOT block, the output of the OR-NOT block is connected to the second output of the control device and with the second input of the OR element, the lth output of the switch block is connected to the lth input of the first clause order determinant, L + l + the 1st output of the switch block is connected to the lth input of the second clause order determinant, L + 1- the 1st output of the switch block is connected to the L + 1st input of the first clause order determinant, 2L + the 2nd output of the switch block is connected to the L + 1st input of the second clause order determinant, the lth outputs of the first and second clause order determinant with (2l-1) -m and 2l-m inputs of the block of elements OR, l- whose output is connected to the l-th control input of the addressing unit, the i-th (i 1, 2n, nn 1 + n 2 + n 3 ) control output of which is connected to the i-th control output of the control device, the signal output of the first disjunction order determinant connected to the first input of the synchronization unit, the signal output of the second determinant of the order of disjunctions is connected to the second input of the synchronization unit, the third input of the synchronization unit is connected to the signal input of the control device, the fourth input of the synchronization unit is connected to the start input of the control unit phenomena, the fifth input of the synchronization block is connected to the output of the OR element, the first output of the synchronization block is connected to the third output of the control device solution, the second output of the synchronization block is connected to the L + 1-m input of the switch block, the third output of the synchronization block is connected to L + 2-m the input of the switch block, the fourth output of the synchronization block is connected to the counting input of the cycle counter and to the reset output of the control device, p 1st input (p 1 1, log 2 (m)}) loading register of the last cycle number is connected to p 1 device downloads Control-keeping, q 2 th (q = 1, 2, log 2 (m)} + {log 2 (L)} + 1) load input selection unit disjunctions connected to a p th 2 (p 2 = q 2 + {log 2 (m)}) the boot input of the control device q 3rd (q 3 = 1, log 2 (n)} + {log 2 (L)} + 1 the boot input of the addressing unit is connected to p 3 (p 3 = q 3 + 2 • {log 2 (m)} + {log 2 (L)} + 1) the boot input of the control device, the reset inputs of the disjunction selection block, addressing unit, cycle counter and register of the last cycle number are connected to the reset input of the control device , the recording inputs of the clause selection block, the addressing block and the register of the last cycle number are connected to the input records of the control device, while the disjunction selection block contains m inverters, a circuit address decoder, a cell address decoder and L selection circuits, and the j-th (j 1, m) control input of the disjunction selection block is connected to 2j 1-control inputs of all circuits selection and with the input of the j-th inverter, the output of which is connected to the 2j-th control inputs of all the selection circuits, the output of the l-th (l = 1, L) selection circuit is connected to the l-th output of the disjunction selection block, q 4th ( 4, q = 1, log 2 (L)}) boot block selection input connected to disjunctions q 4 th input address decoder circuit, l-th output to orogo connected to the enabling input l-th selection circuit, q is 5-th (q 5 = log 2 (L)} + 1log 2 (m)} + {log 2 (L)} + 1) boot block selection input connected to disjunctions q 5 - / log 2 (L) / - th input cell address decoder, j 1 th (j 1, 1, 2m) whose output is connected to 1 j -th sample inputs of all the selection circuits, and the reset inputs of each entry selection circuit connected with reset and record inputs of a disjunction selection block, each selection circuit contains 2m memory elements, 2m AND elements with two inputs, 2m AND elements with three inputs, m OR elements with three inputs, AND-NOT element, block of AND elements, n why in each selection circuit, the direct output of the 2j 1st (j 1, m) storage element is connected to the first input of the jth OR element, the direct output of the 2j 1st storage element is connected to the first input of the (2j 1) th AND element with two inputs, the inverse output of the 2j-th storage element is connected to the first input of the 2j-th element And with two inputs, the second input 2j of the 1st element And with two inputs is connected to the (2j 1) -th control input of the selection circuit, the second input 2j- of the And element with two inputs is connected to the 2j-th control input of the selection circuit, the outputs of the (2j 1) and 2j-th And element with two inputs are connected to the second and third inputs of the jth OR element, the output of the jth OR element is connected to the jth input of the AND block, the output of which is connected to the output of the selection circuit, the direct outputs of the first and second storage elements are connected to the first and second inputs element AND NOT, the output of which is connected to the (m + 1) -th input of the block of AND elements, the input of the recording unit j 1 of the 1st (j 1 1, 2m) storage element is connected to the output j of the 1st element AND with three inputs, recording all zero inputs of storage elements coupled to the reset input selection circuit, the first input 1 -r j AND gate with three inputs connected to a j 1 th input sample selection circuit, the second inputs of AND gates with three inputs are connected to the enabling input selection circuit, the third inputs of AND gates with three inputs are connected to the input record selection circuit, the addressing unit comprises a decoder address of the circuit, decoder of the cell address, nn 1 + n 2 + n 3 addressing schemes, and the l-th (l = 1, L) control inputs of all addressing schemes are connected to the l-th control input of the addressing block, the first and second outputs i- the th (i 1, n) addressing schemes are connected to the (2i 1) -th and 2i-th outputs of the block, q 6th (q 6 1, log 2 (n)}) the load input of the addressing unit is connected to the q 6th input of the circuit address decoder, the i-th output of which is connected to the enable input of the i-th selection circuit, q 7th (q 7 = log 2 ( n)} + 1log 2 (n)} + {log 2 (L)} + 1) the load input of the addressing unit is connected to q 7 - / log 2 (n) / - m input of the cell address decoder, l 1st (l 1 = 1,2L) whose output is connected with 1 l -th input sample all addressing schemes, the reset inputs of each recording and addressing circuit coupled to the reset inputs of the addressing block and writing, each addressing scheme includes a 2L storage elements, two elements of the group OR with L input each, 2L keys made in the form of AND elements with two inputs, 2L elements AND with three inputs, and the direct outputs of the 2l-1st and 2l (l = 1, L) storage elements are connected to the first inputs (2l- 1) of the 2nd and 2nd keys, the second inputs of the (2l-1) and 2nd keys are connected to the l-th control input of the addressing circuit, the outputs of all odd keys are connected to the inputs of the first block of OR elements, the outputs of all even keys connected to the inputs of the second block of OR elements, the outputs of the first and second blocks of OR elements connected to the first and second outputs of the addressing circuit, recording unit stroke l 1 -th (l 1 = 1,2L) storage element connected to the output l -th element 1 and with three inputs, the inputs of zero entries all storage elements are connected to the reset input of the addressing circuit, a first input of 1 l th element And with three inputs it is connected to the l 1st input of the addressing circuit sample, the second inputs of all elements And with three inputs are connected to the allowing input of the addressing circuit, the third inputs of all elements And with three inputs are connected to the recording input of the addressing circuit.
2. Спецпроцессор по п.1, отличающийся тем, что блок синхронизации содержит инвертор, два элемента И, RS-триггер, три элемента ИЛИ, генератор тактовых импульсов, Т-триггер, две линии задержки, причем первый и второй входы блока соединены с первым и вторым входами первого элемента ИЛИ, третий вход блока соединен с вторым входом второго элемента И, первый вход которого соединен с Q-выходом RS-триггера, выход первого элемента ИЛИ через первую линию задержки соединен с первым входом первого элемента И, третий вход блока через инвертор соединен с вторым входом первого элемента И, выход первого элемента И является первым выходом блока и соединен с первым входом третьего элемента ИЛИ, выход второго элемента И соединен с вторым входом второго элемента ИЛИ, первый вход которого является четвертым входом блока синхронизации, выход второго элемента ИЛИ соединен с четвертым выходом блока, со счетным входом Т-триггера, с R-входом RS-триггера и через вторую линию задержки с S-входом RS-триггера, выход Т-триггера является третьим выходом блока, четвертый вход блока соединен с входом запуска генератора, выход генератора соединен с вторым выходом блока, пятый вход блока соединен с вторым входом третьего элемента ИЛИ, выход которого соединен с входом остановки генератора. 2. The special processor according to claim 1, characterized in that the synchronization unit contains an inverter, two AND elements, an RS-trigger, three OR elements, a clock generator, a T-trigger, two delay lines, the first and second inputs of the unit being connected to the first and the second inputs of the first OR element, the third input of the block is connected to the second input of the second And element, the first input of which is connected to the Q-output of the RS-trigger, the output of the first OR element through the first delay line is connected to the first input of the first And element, the third input of the block is the inverter is connected to the second the input of the first AND element, the output of the first AND element is the first output of the block and connected to the first input of the third OR element, the output of the second AND element is connected to the second input of the second OR element, the first input of which is the fourth input of the synchronization block, the output of the second OR element is connected to the fourth the output of the block, with the counting input of the T-trigger, with the R-input of the RS-trigger and through the second delay line with the S-input of the RS-trigger, the output of the T-trigger is the third output of the block, the fourth input of the block is connected to the start input of the generator a, the output of the generator is connected to the second output of the block, the fifth input of the block is connected to the second input of the third OR element, the output of which is connected to the stop input of the generator. 3. Спецпроцессор по п. 1, отличающийся тем, что определитель порядка дизъюнкций содержит L ключей, при этом управляющий вход l-го (l=1,2L) ключа соединен с l-м входом определителя, управляющий выход l-го ключа соединен с управляющим выходом определителя, тактовый вход первого ключа соединен с L+1-м входом определителя, тактовый вход l-го ключа (l=2,L) соединен с тактовым выходом L-1-го ключа, тактовый выход L-го ключа соединен с сигнальным выходом определителя, причем каждый из ключей содержит RS-триггер, два элемента И, линию задержки на половину машинного такта, при этом управляющий вход ключа соединен с S-входом RS-триггера, Q-выход RS-триггера соединен с вторым входом второго элемента И,
Figure 00000120
выход RS-триггера соединен с вторым входом первого элемента И, первые входы элементов И соединены с тактовым входом ключа, выход первого элемента И соединен с тактовым выходом ключа, выход второго элемента И соединен с управляющим выходом ключа и через линию задержки с R-входом RS-триггера.
3. The special processor according to claim 1, characterized in that the determinant of the disjunction order contains L keys, while the control input of the lth (l = 1,2L) key is connected to the lth input of the determinant, the control output of the lth key is connected to the control output of the determinant, the clock input of the first key is connected to the L + 1st input of the determinant, the clock input of the l-th key (l = 2, L) is connected to the clock output of the L-1st key, the clock output of the L-key is connected to the signal output of the determinant, and each of the keys contains an RS-trigger, two And elements, a delay line half the machine act, with the control key input coupled to an S-input of RS-flip-flop, Q-output RS-flip-flop is connected to the second input of the second AND gate,
Figure 00000120
the output of the RS-trigger is connected to the second input of the first element And, the first inputs of the elements And are connected to the clock input of the key, the output of the first element And is connected to the clock output of the key, the output of the second element And is connected to the control output of the key and through the delay line with the R-input RS -trigger.
4. Спецпроцессор по п.1, отличающийся тем, что блок переключателей содержит инвертор и 2(L+1) ключей, причем L+2-й вход блока соединен с первыми входами всех ключей с номерами, большими L+1 и с входом инвертора, выход которого соединен с первыми входами всех ключей с номерами, меньшими или равными L+1, l-й (l= 1,L, L+1), вход блока соединен с вторыми входами l-го и (l+1)-го ключей, выход l1-го ключа (l1=1,2L+1, l1≠L+1) соединен с l1-м выходом блока, выход L+1-го ключа соединен с (2L+2)-м выходом блока, выход 2L+2-го ключа соединен с L+1-м выходом блока.4. The special processor according to claim 1, characterized in that the block of switches contains an inverter and 2 (L + 1) keys, moreover, the L + 2nd input of the block is connected to the first inputs of all keys with numbers greater than L + 1 and with the input of the inverter , the output of which is connected to the first inputs of all keys with numbers less than or equal to L + 1, l-th (l = 1, L, L + 1), the input of the block is connected to the second inputs of l-th and (l + 1) - key, the output of the l 1st key (l 1 = 1,2L + 1, l 1 ≠ L + 1) is connected to the l 1st output of the block, the output of the L + 1st key is connected to (2L + 2) - m block output, the output 2L + of the 2nd key is connected to the L + 1st output of the block. 5. Спецпроцессор по п.1, отличающийся тем, что блок элементов ИЛИ содержит L элементов ИЛИ, причем 2l-1-й (l=1,L) вход блока соединен с первым входом l-го элемента ИЛИ, 2l-й (l=1,L) вход блока соединен с вторым входом l-го элемента ИЛИ, выход которого является l-м выходом блока. 5. The special processor according to claim 1, characterized in that the block of OR elements contains L OR elements, and the 2l-1st (l = 1, L) input of the block is connected to the first input of the lth OR element, 2lth (l = 1, L) the input of the block is connected to the second input of the l-th OR element, the output of which is the l-th output of the block. 6. Спецпроцессор по п.1, отличающийся тем, что группа элементов ИЛИ с L-входами выполнен в схеме адресации в виде p-уровневого p=[log2L] каскада элементов ИЛИ, причем первый уровень содержит L/2 элементов ИЛИ ([] обозначает целую часть числа), q-й (q 1, p) уровень содержит S (q) элементов ИЛИ, при этом S (q + 1) [S(q)/2] 2l1-й и (2l1 - 1)-й (l1=1,[L/2]) входы группы являются входами l1-го элемента ИЛИ первого уровня, при L нечетном последний вход группы является третьим входом последнего элемента ИЛИ первого уровня, выходы 2lq-го и (2lq 1)-го (lq 1, [S(q)/2]) элементов ИЛИ q-го уровня являются входами lq-го элемента ИЛИ q + 1-го уровня, при S(q) нечетном выход последнего элемента ИЛИ q-го уровня является третьим входом последнего элемента ИЛИ q + 1-го уровня, выход элемента ИЛИ последнего уровня является выходом группы.6. The special processor according to claim 1, characterized in that the group of OR elements with L-inputs is made in the addressing scheme in the form of a p-level p = [log 2 L] cascade of OR elements, the first level containing L / 2 OR elements ([ ] denotes the integer part of the number), the qth (q 1, p) level contains S (q) OR elements, with S (q + 1) [S (q) / 2] 2l 1st and (2l 1 - 1) -th (l 1 = 1, [L / 2]) the inputs of the group are the inputs of the 1st element OR of the first level, with L odd the last input of the group is the third input of the last OR element of the first level, outputs 2l q- th and The (2l q 1) th (l q 1, [S (q) / 2]) elements of the OR level q is are the inputs of the lth q element OR q + of the 1st level, for S (q) the odd output of the last OR element of the qth level is the third input of the last OR of q + 1st level, the output of the last level OR element is the output of the group . 7. Спецпроцессор по п.1, отличающийся тем, что блок элементов И с N (N= L+1) входами выполнен в виде p-уровневого (p [log2N]) каскада элементов И, причем первый уровень содержит [N/2] элементов И ([] обозначает целую часть числа), q-й (q 1, p) уровень содержит S(q) элементов И, при этом S (q + 1) [S (q)/2] 2l1-й и (2l1 1)-й (l1 1, [N/2]) входы блока являются входами l1-го элемента И первого уровня, при N нечетном последний вход блока является третьим входом последнего элемента И первого уровня, выходы 2lq-го и (2lq 1)-го (lq 1, [S(q)/2]) элементов И q-го уровня являются входами lq-го элемента И (q + 1)-го уровня, при S(q) нечетном выход последнего элемента И q-го уровня является третьим входом последнего элемента И (q + 1)-го уровня, выход элемента И последнего уровня является выходом блока.7. The special processor according to claim 1, characterized in that the block of AND elements with N (N = L + 1) inputs is made in the form of a p-level (p [log 2 N]) cascade of And elements, and the first level contains [N / 2] elements of AND ([] denotes the integer part of the number), the qth (q 1, p) level contains S (q) of AND elements, while S (q + 1) [S (q) / 2] 2l 1 - the th and (2l 1 1) th (l 1 1, [N / 2]) inputs of the block are the inputs of the l 1st element of the first level, with N odd the last input of the block is the third input of the last element of the first level, outputs 2l q- th and (2l q 1) -th (l q 1, [S (q) / 2]) elements of the q-th level are inputs of the l q- th element of And (q + 1) level, with S (q) the odd output of the last AND element of the qth level is the third input of the last AND element of the (q + 1) level, the output of the And element of the last level is the output of the block. 8. Спецпроцессор по п.1, отличающийся тем, что запоминающий элемент выполнен в виде RS-триггера, S-вход которого является входом записи единицы элемента, R-вход является входом записи нуля, Q-вход прямым выходом элемента,
Figure 00000121
вход инверсным выходом элемента.
8. The special processor according to claim 1, characterized in that the storage element is made in the form of an RS flip-flop, the S-input of which is the input recording unit of the element, the R-input is the input of the recording zero, Q-input is the direct output of the element,
Figure 00000121
input by inverse output of the element.
9. Спецпроцессор по п.1, отличающийся тем, что вход сброса (m + 1)-го разрядного счетчика циклов по модулю 2m+1 соединен с входами записи единицы всех регистров счетчика.9. The special processor according to claim 1, characterized in that the reset input of the (m + 1) -th bit cycle counter modulo 2 m + 1 is connected to the recording entries of the unit of all counter registers. 10. Спецпроцессор по п.1, отличающийся тем, что (m + 1)-разрядный регистр номера последнего цикла содержит дешифратор сlog2(m)} входами (гдех} обозначает наименьшее целое большее или равное х) и m выходами, причем p-й (plog2(m)} вход дешифратора соединен с p-м входом загрузки регистра, а j-й (j 1, m) выход дешифратора соединен с входом записи единицы j-го разряда регистра.10. The special processor according to claim 1, characterized in that the (m + 1) -bit register of the last cycle number contains a decoder with log 2 (m)} inputs (where} denotes the smallest integer greater than or equal to x) and m outputs, with p- the th (plog 2 (m)} decoder input is connected to the pth input of the register load, and the jth (j 1, m) decoder output is connected to the recording input of the jth bit of the register.
RU93053633A 1993-11-25 1993-11-25 Parallel co-processor which solves boolean equations RU2074415C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU93053633A RU2074415C1 (en) 1993-11-25 1993-11-25 Parallel co-processor which solves boolean equations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU93053633A RU2074415C1 (en) 1993-11-25 1993-11-25 Parallel co-processor which solves boolean equations

Publications (2)

Publication Number Publication Date
RU93053633A RU93053633A (en) 1996-12-10
RU2074415C1 true RU2074415C1 (en) 1997-02-27

Family

ID=20149758

Family Applications (1)

Application Number Title Priority Date Filing Date
RU93053633A RU2074415C1 (en) 1993-11-25 1993-11-25 Parallel co-processor which solves boolean equations

Country Status (1)

Country Link
RU (1) RU2074415C1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2474871C1 (en) * 2011-12-20 2013-02-10 Учреждение Российской академии наук Институт проблем управления им. В.А. Трапезникова РАН Highly parallel special-purpose processor for solving boolean formula satisfiability problem
RU2515206C1 (en) * 2013-03-01 2014-05-10 Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук Special-purpose processor for boolean satisfiability problem

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1. Каган Б.М. Электронные вычислительные машины и системы. - М.: Энергоатомиздат, 1985, с.59. 2. СуперЭВМ. Аппаратная и программная реализация под ред. С.Фернбхаха. - М.: Радио и связь, 1991, с. 215 - 246. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2474871C1 (en) * 2011-12-20 2013-02-10 Учреждение Российской академии наук Институт проблем управления им. В.А. Трапезникова РАН Highly parallel special-purpose processor for solving boolean formula satisfiability problem
RU2515206C1 (en) * 2013-03-01 2014-05-10 Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук Special-purpose processor for boolean satisfiability problem

Similar Documents

Publication Publication Date Title
US4553203A (en) Easily schedulable horizontal computer
US4831573A (en) Programmable integrated circuit micro-sequencer device
US5394031A (en) Apparatus and method to improve programming speed of field programmable gate arrays
US3296426A (en) Computing device
US7818538B2 (en) Hashing and serial decoding techniques
US4369500A (en) High speed NXM bit digital, repeated addition type multiplying circuit
US4521874A (en) Random access memory device
US4095283A (en) First in-first out memory array containing special bits for replacement addressing
US7394052B2 (en) Parallel processing logic circuit for sensor signal processing
CN1104678C (en) Circuit for controlling execution of loop in digital signal processing chip
US3339183A (en) Copy memory for a digital processor
US2853698A (en) Compression system
RU2074415C1 (en) Parallel co-processor which solves boolean equations
US3309671A (en) Input-output section
US4811201A (en) Interconnect circuit
RU84615U1 (en) ASSOCIATIVE MEMORIAL MATRIX
US5155826A (en) Memory paging method and apparatus
McKeever The associative memory structure
US5978295A (en) Sequential access memories
JPH0256048A (en) Data transfer method and data buffer device
RU2744239C1 (en) Device for squaring binary matrix
CN217213701U (en) Circuit for multi-clock switching, FPGA and electronic equipment
RU2319192C2 (en) Device for building programmable digital microprocessor systems
RU2222822C2 (en) Device for programmed control over electric motor drives, electron keys and signaling
EP0592523B1 (en) Bookkeeping memory