RU2474871C1 - Highly parallel special-purpose processor for solving boolean formula satisfiability problem - Google Patents
Highly parallel special-purpose processor for solving boolean formula satisfiability problem Download PDFInfo
- Publication number
- RU2474871C1 RU2474871C1 RU2011151770/08A RU2011151770A RU2474871C1 RU 2474871 C1 RU2474871 C1 RU 2474871C1 RU 2011151770/08 A RU2011151770/08 A RU 2011151770/08A RU 2011151770 A RU2011151770 A RU 2011151770A RU 2474871 C1 RU2474871 C1 RU 2474871C1
- Authority
- RU
- Russia
- Prior art keywords
- output
- input
- hierarchical level
- bit
- inputs
- Prior art date
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
Description
Изобретение относится к вычислительной технике, в частности к специализированным процессорам с высокой степенью параллелизма. Спецпроцессор предназначен для решения задачи о выполнимости булевых функций, заданных в конъюнктивной нормальной форме, имеющих N=2K переменных и М дизъюнкций, в которых использовано L литералов переменных.The invention relates to computing, in particular to specialized processors with a high degree of parallelism. The special processor is designed to solve the problem of the feasibility of Boolean functions defined in conjunctive normal form, having N = 2 K variables and M disjunctions in which L literal variables are used.
Известен спецпроцессор, на основе ассоциативной матрицы, обладающий высокой степенью параллелизма выполнения операций ассоциативного опроса содержимого всех строк матрицы с последующей ассоциативной записью в строки, выделенные по результатам предшествующих ассоциативных опросов (US 3863232, 28.01.1975).A special processor is known, based on an associative matrix, which has a high degree of parallelism for performing operations of associative polling of the contents of all rows of the matrix, followed by associative recording in the lines selected according to the results of previous associative polls (US 3863232, 01/28/1975).
Совокупность операций над битами в строках ассоциативной матрицы позволяет решать задачи выполнимости булевых функций в режиме высокого параллелизма.The set of operations on bits in the rows of the associative matrix allows us to solve the feasibility of Boolean functions in high parallelism mode.
Недостатком ассоциативной матрицы является избыточная (при решении задачи выполнимости булевых функций) сложность строк, выраженная в большом количестве элементов памяти и элементов, выполняющих операции сравнения.The disadvantage of the associative matrix is the excessive (in solving the feasibility of Boolean functions) string complexity, expressed in a large number of memory elements and elements that perform comparison operations.
Известен процессор, специализированный на решении задачи выполнимости булевых функций. Структура спецпроцессора включает цепи обработки дизъюнкций и цепи обработки переменных. Спецпроцессор обладает высокой степенью параллелизма и одновременно оперирует со всеми переменными и всеми дизъюнкциями булевой функции, загруженными в его матрицу (US 7565634, 21.07.2009).Known processor specialized in solving the feasibility problem of Boolean functions. The structure of the special processor includes disjunction processing chains and variable processing chains. The special processor has a high degree of parallelism and simultaneously operates with all variables and all disjunctions of the Boolean function loaded into its matrix (US 7565634, July 21, 2009).
Недостатком спецпроцессора является существенное снижение его эффективности при обработке булевых функций, число дизъюнкций в которых превышает число цепей обработки дизъюнкций, заложенных в его структуру.The disadvantage of the special processor is a significant decrease in its efficiency in processing Boolean functions, the number of clauses in which exceeds the number of clutch processing circuits embedded in its structure.
Известен высокопараллельный спецпроцессор для решения задач о выполнимости булевых формул, наиболее близкий по своей технической сущности к предлагаемому изобретению и выбранный в качестве прототипа. Данный спецпроцессор содержит устройство управления и процессорный блок, выполненный в виде матрицы. Процессорный блок является устройством параллельной записи и считывания с многоразрядным (2N) адресным входом, входом сброса и одним выходом (RU 2074415 С1 27.02.1997).Known highly parallel special processor for solving problems of the feasibility of Boolean formulas, the closest in its technical essence to the proposed invention and selected as a prototype. This special processor contains a control device and a processor unit made in the form of a matrix. The processor unit is a parallel device for writing and reading with multi-bit (2N) address input, reset input and one output (RU 2074415 C1 02.27.1997).
В спецпроцессоре реализуется алгоритм, основанный на нахождении и объединении невыполняющих наборов булевой функции, заданной в конъюнктивной нормальной форме.The special processor implements an algorithm based on finding and combining non-performing sets of Boolean functions given in conjunctive normal form.
Недостаток спецпроцессора, выбранного в качестве прототипа, - его избыточная сложность, обусловленная большой разрядностью информационного входа процессорной матрицы и сложной структурой устройства управления, а также замедление решения задачи за счет времени, затрачиваемого на предварительную обработку и загрузку информации, необходимой для подготовки устройства управления к работе в основном режиме. Кроме того, недостатком спецпроцессора является ограниченное его структурой количество дизъюнкций в эффективно обрабатываемых булевых функциях.The disadvantage of the special processor selected as a prototype is its excessive complexity, due to the large bit depth of the information input of the processor matrix and the complex structure of the control device, as well as the slowdown in solving the problem due to the time spent on pre-processing and loading the information necessary to prepare the control device for operation in main mode. In addition, the disadvantage of the special processor is the limited number of disjunctions in its efficiently processed Boolean functions.
Технический результат изобретения - снижение сложности спецпроцессора, расширение его функциональных возможностей и повышение скорости решения задачи о выполнимости булевых функций. Технический результат достигается за счет упрощения структуры процессорного блока, последовавшего за изменением функциональной схемы базового блока, в который добавлен двухразрядный управляющий вход, позволивший сократить разрядность информационного входа процессорного блока до величины K+1. Повышение скорости работы спецпроцессора достигается за счет отказа от этапа предварительной настройки спецпроцессора, при этом время решения задачи определяется временем передачи ее условия из входного буфера в спецпроцессор и временем выдачи решения - выполняющего набора. Расширение функциональных возможностей заключается в снятии ограничений на число дизъюнкций в булевой функции.The technical result of the invention is to reduce the complexity of the special processor, expand its functionality and increase the speed of solving the problem of the feasibility of Boolean functions. The technical result is achieved by simplifying the structure of the processor unit, which followed the change in the functional diagram of the base unit, into which a two-bit control input was added, which allowed to reduce the bit depth of the information input of the processor unit to K + 1. An increase in the speed of the special processor is achieved by abandoning the stage of preliminary configuration of the special processor, while the time for solving the problem is determined by the time of transferring its conditions from the input buffer to the special processor and the time of issuing the solution - a set. The expansion of functionality consists in removing restrictions on the number of disjunctions in a Boolean function.
Технический результат достигается тем, что предлагаемый спецпроцессор содержит усилитель синхросигнала, вход которого является входом синхронизации спецпроцессора, процессорный блок иерархического уровня N, K+1-разрядный информационный вход которого является информационным входом спецпроцессора, а первый выход является первым выходом спецпроцессора, при этом в спецпроцессор дополнительно введен N-разрядный регистр сдвига, информационный вход которого подключен ко второму выходу процессорного блока иерархического уровня N, вход разрешения записи регистра сдвига является стробирующим входом спецпроцессора, a N-разрядный выход регистра сдвига является вторым выходом спецпроцессора, двухразрядный управляющий вход процессорного блока иерархического уровня N является управляющим входом спецпроцессора, каждый блок иерархического уровня J (J=1, …N) состоит из идентичных первого и второго блоков иерархического уровня J-1, первого элемента «ИЛИ», входы которого подключены к первым выходам первого и второго блоков иерархического уровня J-1, а выход является первым выходом блока иерархического уровня J, первого мультиплексора, первый информационный вход которого подключен ко второму выходу второго блока иерархического уровня J-1, второй информационный вход первого мультиплексора 14 подключен ко второму выходу первого блока иерархического уровня J-1, а управляющий вход первого мультиплексора подключен к первому выходу первого блока иерархического уровня J-1, при этом выход первого мультиплексора является вторым выходом блока иерархического уровня J, управляющий и информационный входы первого и второго блоков иерархического уровня J-1 одновременно являются одноименными входами и блоков иерархического уровня J, младший разряд N-J+1-разрядных входов задания физического адреса первого и второго блоков иерархического уровня J-1 подключен соответственно к потенциалам логического нуля и логической единицы, остальные N-J разрядов первого и второго блоков иерархического уровня J-1 являются N-J-разрядным входом задания физического адреса блока иерархического уровня J, базовый блок иерархического уровня 0 содержит первый RS триггер, выход которого является первым выходом базового блока, вход синхронной установки первого RS триггера подключен к инверсному выходу второго элемента «ИЛИ», входы которого подключены к двухразрядному управляющему входу базового блока, вход синхронного сброса первого RS триггера подключен к выходу первого элемента «И», входы которого подключены к старшему разряду управляющего входа базового блока и выходу второго RS триггера, инверсный выход которого является вторым выходом базового блока, при этом инверсные входы элемента «И» подключены к младшему разряду управляющего входа и к выходу элемента «исключающее ИЛИ», вход синхронного сброса второго RS триггера подключен к выходу второго элемента «И», входы которого подключены к младшему разряду управляющего входа базового блока и выходу элемента «исключающее ИЛИ», входы которого подключены к старшему разряду информационного входа базового блока и к выходу второго мультиплексора, N-разрядный информационный вход которого является входом задания физического адреса базового блока, управляющий вход второго мультиплексора подключен к K младшим разрядам информационного входа базового блока, вход синхронной установки второго RS триггера подключен к выходу третьего элемента «ИЛИ», инверсные входы которого подключены к выходу четвертого элемента «ИЛИ» и к младшему разряду управляющего входа базового блока, входы четвертого элемента «ИЛИ» подключены к выходу второго мультиплексора и к инверсному выходу третьего элемента «И», входы которого подключены к управляющему входу базового блока, входы синхронизации регистра сдвига и всех RS триггеров подключены к выходу усилителя синхросигнала.The technical result is achieved by the fact that the proposed special processor contains a clock amplifier, the input of which is the synchronization input of the special processor, the hierarchical processor unit N, K + 1-bit information input of which is the information input of the special processor, and the first output is the first output of the special processor, with the special processor additionally introduced an N-bit shift register, the information input of which is connected to the second output of the processor unit of the hierarchical level N, the input is bit Solutions of the shift register record is the gate input of the special processor, and the N-bit output of the shift register is the second output of the special processor, the two-bit control input of the processor unit of the hierarchical level N is the control input of the special processor, each block of the hierarchical level J (J = 1, ... N) consists of identical the first and second blocks of the hierarchical level J-1, the first OR element, the inputs of which are connected to the first outputs of the first and second blocks of the hierarchical level J-1, and the output is the first output of the block and the hierarchical level J, the first multiplexer, the first information input of which is connected to the second output of the second block of the hierarchical level J-1, the second information input of the
На фиг.1 приведена схема базового блока предлагаемого спецпроцессора.Figure 1 shows a diagram of the base unit of the proposed special processor.
На фиг.2 раскрыта рекурсивная схема построения блока иерархического уровня J (J=1, …, N) из двух блоков иерархического уровня J-1.Figure 2 discloses a recursive diagram for constructing a block of a hierarchical level J (J = 1, ..., N) from two blocks of a hierarchical level J-1.
На фиг.3 приведена схема спецпроцессора.Figure 3 shows a diagram of a special processor.
На фиг.4 представлен вариант схемы управления спецпроцессором.Figure 4 presents a variant of the control circuit of the special processor.
На фиг.5 приведена временная диаграмма, иллюстрирующая функционирование спецпроцессора в совокупности с представленным на фиг.4 вариантом устройства управления.Fig. 5 is a timing chart illustrating the operation of the special processor in conjunction with the embodiment of the control device shown in Fig. 4.
Предлагаемый спецпроцессор содержит усилитель синхросигнала 1, вход которого является входом 2 синхронизации спецпроцессора, процессорный блок 3 иерархического уровня N, K+1-разрядный информационный вход которого является информационным входом 4 спецпроцессора, а первый выход является первым выходом 5 спецпроцессора, при этом в спецпроцессор дополнительно введен N-разрядный регистр 6 сдвига, информационный вход которого подключен ко второму выходу процессорного блока 3 иерархического уровня N, вход разрешения записи регистра 6 сдвига является стробирующим входом 7 спецпроцессора, а N-разрядный выход регистра 6 сдвига является вторым выходом 8 спецпроцессора, двухразрядный управляющий вход процессорного блока 3 иерархического уровня N является управляющим входом 9 спецпроцессора, каждый блок иерархического уровня J(J=1, …N) состоит из идентичных первого 10 и второго 11 блоков иерархического уровня J-1, первого элемента «ИЛИ» 12, входы которого подключены к первым выходам первого 10 и второго 11 блоков иерархического уровня J-1, а выход является первым выходом 13 блока иерархического уровня J, первого мультиплексора 14, первый информационный вход которого подключен ко второму выходу второго блока 11 иерархического уровня J-1, второй информационный вход первого мультиплексора 14 подключен ко второму выходу первого блока 10 иерархического уровня J-1, а управляющий вход первого мультиплексора 14 подключен к первому выходу первого блока 10 иерархического уровня J-1, при этом выход первого мультиплексора 14 является вторым выходом 15 блока иерархического уровня J, управляющий и информационный входы первого 10 и второго 11 блоков иерархического уровня J-1 одновременно являются одноименными входами 16 и 17 блоков иерархического уровня J, младший разряд N-J+1-разрядных входов задания физического адреса первого 10 и второго 11 блоков иерархического уровня J-1 подключен соответственно к потенциалам логического нуля и логической единицы, остальные N-J разрядов первого 10 и второго 11 блоков иерархического уровня J-1 являются N-J-разрядным входом 18 задания физического адреса блока иерархического уровня J, базовый блок иерархического уровня 0 содержит первый RS триггер 19, выход которого является первым выходом 20 базового блока, вход синхронной установки первого RS триггера 19 подключен к инверсному выходу второго элемента «ИЛИ» 21, входы которого подключены к двухразрядному управляющему входу 22 базового блока, вход синхронного сброса первого RS триггера 19 подключен к выходу первого элемента «И» 23, входы которого подключены к старшему разряду управляющего входа 22 базового блока и выходу второго RS триггера 24, инверсный выход которого является вторым выходом 25 базового блока, при этом инверсные входы элемента 23 «И» подключены к младшему разряду управляющего входа 22 и к выходу элемента «исключающее ИЛИ» 26, вход синхронного сброса второго RS триггера 24 подключен к выходу второго элемента «И» 27, входы которого подключены к младшему разряду управляющего входа 22 базового блока и выходу элемента 26 «исключающее ИЛИ», входы которого подключены к старшему разряду информационного входа 28 базового блока и к выходу второго мультиплексора 29, N-разрядный информационный вход которого является входом 30 задания физического адреса базового блока, управляющий вход второго мультиплексора 29 подключен к K младшим разрядам информационного входа 28 базового блока, вход синхронной установки второго RS триггера 24 подключен к выходу третьего элемента «ИЛИ» 31, инверсные входы которого подключены к выходу четвертого элемента «ИЛИ» 32 и к младшему разряду управляющего входа 22 базового блока, входы четвертого элемента «ИЛИ» 32 подключены к выходу второго мультиплексора 29 и к инверсному выходу третьего элемента «И» 33, входы которого подключены к управляющему входу 22 базового блока, входы синхронизации регистра 6 сдвига и всех RS триггеров подключены к выходу 34 усилителя синхросигнала 1.The proposed special processor contains a
Работу спецпроцессора рассмотрим совместно с одним из возможных вариантов реализации устройства управления, представленного на фиг.4.The work of the special processor will be considered together with one of the possible embodiments of the control device shown in Fig.4.
В процессе работы предлагаемого спецпроцессора непосредственно используется естественная кодировка булевой функции, представленной в конъюнктивной нормальной форме. Запись функции начинается с маркера, в качестве которого использован восклицательный знак «!». За маркером начала следуют записанные через запятую «,» литералы - номера переменных без знака или со знаком «-», входящих в одну дизъюнкцию. Использование знака «-» означает, что в дизъюнкции используется инверсное значение переменной. Запись переменных, принадлежащих дизъюнкции, заканчивается маркером точка с запятой «;» в случае, если дизъюнкция не является последней, и маркером точка «.», если дизъюнкция является последней в записи функции.In the process of the proposed special processor, the natural encoding of the Boolean function, presented in conjunctive normal form, is directly used. Function recording begins with a marker, which is used as an exclamation point "!". The start marker is followed by literals, separated by commas “,” —numbers of variables without an sign or with a “-” sign, which are part of the same clause. The use of the “-” sign means that the inverse of the variable is used in the disjunction. Writing variables belonging to a clause ends with a semicolon marker “;” if the clause is not the last, and a dot “.” Mark if the clause is the last in the function entry.
Например, функцияFor example, the function
F=(¬X0+¬X2+¬X1+X3+X4+¬X5+X7)(X0+X1+X2)(X6+¬X4+X5+¬X3+¬X7), записывается в эквивалентном видеF = (¬X 0 + ¬X 2 + ¬X 1 + X 3 + X 4 + ¬X 5 + X 7 ) (X 0 + X 1 + X 2 ) (X 6 + ¬X 4 + X 5 + ¬ X 3 + ¬X 7 ), is written in the equivalent form
!-0,-2,-1,3,4,-5,7;0,1,2;6,-4,5,-3,-7.! -0, -2, -1,3,4, -5,7; 0,1,2; 6, -4,5, -3, -7.
Для рассматриваемой булевой функции N=8 (K=3), М=3, L=14.For the considered Boolean function, N = 8 (K = 3), M = 3, L = 14.
Спецпроцессор и его устройство управления оперируют со следующей последовательностью K+3-разрядных информационных слов в буферном ОЗУ:The special processor and its control device operate with the following sequence of K + 3-bit information words in the buffer RAM:
/0!/-0,/-2,/-1,/3,/4,/-5,/7;/0,/1,/2;/6,/-4,/5,/-3/-7.// 0! / - 0, / - 2, / - 1, / 3, / 4, / - 5, / 7; / 0, / 1, / 2; / 6, / - 4, / 5, / - 3 /-7./
Информационные слова, имеющие последовательные адреса, разделены маркером «/».Information words with consecutive addresses are separated by a “/”.
Используемые при записи формулы знаки препинания кодируются следующим образом «!»=>00, «,»=>01, «;»=>10, «.»=>11. Эти двухразрядные коды являются кодами операций базовых блоков спецпроцессора. Коды управления передаются из буферного ОЗУ в базовые блоки. Буферирование осуществляется на двух D триггерах 35, 36. Заметим, что представленный на фиг.4 вариант устройства управления преобразует код 11 в последовательность из двух кодов 10 и 11, эта операция осуществляется с использованием RS триггера 37 и ассоциированных с ним логических элементов.Punctuation marks used when writing formulas are encoded as follows: “!” => 00, “,” => 01, “;” => 10, “.” => 11. These two-digit codes are the operation codes of the base units of the special processor. Control codes are transferred from the buffer RAM to the base units. Buffering is carried out on two D flip-flops 35, 36. Note that the control device variant shown in Fig. 4
Значения кодов СОР_М, nX_M, INV_M, выбираемых из буферного ОЗУ по последовательным адресам adr, представлены на временной диаграмме фиг.5. СОР_М является двухразрядным кодом маркеров, использованных при записи булевой функции. nX_M - номера кодированных K разрядами переменных, использованных в дизъюнкциях. Значение INV_M кодируется единицей, если при записи дизъюнкции используется инверсия переменной.The values of the COD_M, nX_M, INV_M codes selected from the buffer RAM at consecutive adr addresses are shown in the time diagram of FIG. 5. COP_M is a two-digit code of markers used when writing a Boolean function. nX_M - numbers of variables encoded by K bits used in disjunctions. The value INV_M is encoded by one if the inverse of the variable is used to record the disjunction.
Спецпроцессор имеет 2N базовых блоков, каждый из которых имеет индивидуальный N-разрядный физический номер на информационном входе второго мультиплексора 29.The special processor has 2 N base units, each of which has an individual N-bit physical number at the information input of the
Младшие K разрядов K+1-разрядного кода на информационном входе 28 базового блока адресуют один из разрядов N-разрядного физического номера. В основном режиме работы спецпроцессора содержимое выбранного разряда nX физического номера сравнивается с INV содержимым старшего разряда K+1-разрядного кода на информационном входе 28 базового блока. Сравнение осуществляется элементом 26 суммирования по модулю два. Если во время действия кода операции «01» на входе 22 базового блока в обрабатываемой дизъюнкции зафиксировано хотя бы одно неравенство, это приводит к сбросу второго RS триггера 24, что запрещает последующий сброс первого RS триггера 19. Если во время действия кода операции «10» второй RS триггер 24 остается установленным и на выходе элемента 26 сравнения присутствует потенциал логического нуля, соответствующий равенству, происходит сброс первого RS триггера 19, и это означает, что кодировка физического номера данного базового блока соответствует невыполняющему набору переменных. Фронт синхросигнала, по которому осуществляется сброс первого RS триггера 19 в базовом блоке с номером 0, на диаграмме фиг.5 отмечен первым курсором. Каждая «правильная» дизъюнкция, в которой переменная может присутствовать либо с инверсией, либо без инверсии, порождает хотя бы один невыполняющий набор. Если в «правильной» дизъюнкции отсутствуют литералы, соответствующие R переменным, такой набор может привести к сбросу первых RS триггеров 19 в 2R базовых блоках. Булевая функция выполнима, если после ее обработки хотя бы в одном базовом блоке первый RS триггер 19 останется в установленном состоянии.The lower K bits of the K + 1-bit code at the
В каждом из базовых блоков установка второго RS триггера 24 выполняется кодами операции «00» и «10» перед началом обработки каждой дизъюнкции. Установка первого RS триггера 19 инициируется кодом операции «00», который вызывает появление единичного потенциала на инверсном выходе второго элемента «ИЛИ» 21. Код операции «11» переводит второй RS триггер 24 и ассоциированные с ним логические элементы 26, 27, 31, 32 в режим эмуляции D триггера. Этот D триггер осуществляет буферирование информации, поступающей с выхода второго мультиплексора 29 на второй выход 25 базового блока.In each of the base units, the installation of the
В рассматриваемом варианте устройства управления код операции «11» переводит загружаемый счетчик в режим счета. Это приводит к подаче последовательности кодов от 0 до N-1 на информационный вход 4 спецпроцессора, что позволяет передать физический номер базового блока на его второй выход 25. Момент начала считывания выполняющего набора функции в регистр 6 сдвига отмечен на временной диаграмме фиг.5 вторым курсором. Высокий уровень сигнала STROB разрешает запись информации в регистр 6 сдвига.In the considered embodiment of the control device, the operation code “11” puts the downloadable counter into the counting mode. This leads to the supply of a sequence of codes from 0 to N-1 to the
Первые элементы «ИЛИ» 12 и первые мультиплексоры 14 блоков всех уровней иерархии образуют самонастраивающийся коммутатор-мультиплексор, который осуществляет побитную передачу на информационный вход регистра 6 сдвига выполняющего набора булевой функции. Этим набором является младший физический номер базового блока, среди всех базовых блоков первые RS триггеры 19 которых находятся в установленном состоянии. По завершении работы спецпроцессора код SET на выходе 8 регистра 6 сдвига соответствует выполняющему набору для обработанной булевой функции при условии, что на выходе 5 спецпроцессора установлен уровень логической единицы. В рассмотренном примере выполняющим набором является: X0=1, X1=0, X2=0, X3=0, Х4=0, Х5=0, Х6=0, Х7=0. Момент окончания обработки спецпроцессором рассматриваемой булевой функции на временной диаграмме фиг.5 отмечен третьим курсором.The first elements of “OR” 12 and the
За счет высокой степени параллелизма обработка булевой функции занимает L+N+4 такта.Due to the high degree of parallelism, processing a Boolean function takes L + N + 4 clock cycles.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2011151770/08A RU2474871C1 (en) | 2011-12-20 | 2011-12-20 | Highly parallel special-purpose processor for solving boolean formula satisfiability problem |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2011151770/08A RU2474871C1 (en) | 2011-12-20 | 2011-12-20 | Highly parallel special-purpose processor for solving boolean formula satisfiability problem |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2474871C1 true RU2474871C1 (en) | 2013-02-10 |
Family
ID=49120553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2011151770/08A RU2474871C1 (en) | 2011-12-20 | 2011-12-20 | Highly parallel special-purpose processor for solving boolean formula satisfiability problem |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2474871C1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2515206C1 (en) * | 2013-03-01 | 2014-05-10 | Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук | Special-purpose processor for boolean satisfiability problem |
RU2644505C1 (en) * | 2017-03-03 | 2018-02-12 | Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук | Special processor for boolean satisfiability task |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3863232A (en) * | 1973-12-26 | 1975-01-28 | Ibm | Associative array |
SU1310801A1 (en) * | 1986-01-06 | 1987-05-15 | Предприятие П/Я Р-6623 | Device for implementing boolean functions |
RU2074415C1 (en) * | 1993-11-25 | 1997-02-27 | Всеволод Всеволодович Черныш | Parallel co-processor which solves boolean equations |
US7565634B1 (en) * | 2004-10-20 | 2009-07-21 | The Regents Of The University Of California, Santa Cruz | Massively parallel boolean satisfiability implication circuit |
-
2011
- 2011-12-20 RU RU2011151770/08A patent/RU2474871C1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3863232A (en) * | 1973-12-26 | 1975-01-28 | Ibm | Associative array |
SU1310801A1 (en) * | 1986-01-06 | 1987-05-15 | Предприятие П/Я Р-6623 | Device for implementing boolean functions |
RU2074415C1 (en) * | 1993-11-25 | 1997-02-27 | Всеволод Всеволодович Черныш | Parallel co-processor which solves boolean equations |
US7565634B1 (en) * | 2004-10-20 | 2009-07-21 | The Regents Of The University Of California, Santa Cruz | Massively parallel boolean satisfiability implication circuit |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2515206C1 (en) * | 2013-03-01 | 2014-05-10 | Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук | Special-purpose processor for boolean satisfiability problem |
RU2644505C1 (en) * | 2017-03-03 | 2018-02-12 | Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук | Special processor for boolean satisfiability task |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140218067A1 (en) | Grouping of physically unclonable functions | |
TWI459290B (en) | State machine, system and methods for generating pseudo-random word stream, generator and method for generating a description of a state machine feedback function, and non-transitory computer readable medium | |
Roshan et al. | 4-Bit serial shift register with reset ability and 4-bit LFSR in QCA technology using minimum number of cells and delay | |
US20080288901A1 (en) | Formally deriving a minimal clock-gating scheme | |
JP2005535965A5 (en) | ||
US10536264B2 (en) | Efficient cryptographically secure control flow integrity protection | |
US8693615B2 (en) | RAM-based event counters using transposition | |
RU2474871C1 (en) | Highly parallel special-purpose processor for solving boolean formula satisfiability problem | |
JP5926655B2 (en) | Central processing unit and arithmetic unit | |
JP2005539292A (en) | Programmable pipeline fabric having a mechanism for terminating signal propagation | |
US10719387B2 (en) | Memory interface with tamper-evident features to enhance software security | |
US11907684B2 (en) | High clock-efficiency random number generation system and method | |
Agrawal et al. | Quantum dot cellular automata memories | |
RU2515206C1 (en) | Special-purpose processor for boolean satisfiability problem | |
CN110474647B (en) | Decoding method, device, decoder and storage medium for LDPC code with finite field structure | |
RU2644505C1 (en) | Special processor for boolean satisfiability task | |
CN113741972A (en) | Parallel processing method of SM3 algorithm and electronic equipment | |
RU2395834C1 (en) | Random permutation generator | |
Malliyoor et al. | Comparison of hardware implementation and power consumption of low-power multiple output linear feedback shift register | |
US9378782B1 (en) | Apparatus with write-back buffer and associated methods | |
RU2390052C2 (en) | Decoder for controlled rearrangement of information stored on personal computer | |
US11237800B2 (en) | Time-shifted seed for random number generator | |
JP2011234312A (en) | Operation device and central processing unit | |
Ciletti | cuu duong than cong. com | |
US20230195621A1 (en) | Architecture and method for binary and unary in-memory sorting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20181221 |