RU72771U1 - DEVICE FOR PARALLEL SEARCH AND DATA PROCESSING - Google Patents

DEVICE FOR PARALLEL SEARCH AND DATA PROCESSING Download PDF

Info

Publication number
RU72771U1
RU72771U1 RU2007149075/22U RU2007149075U RU72771U1 RU 72771 U1 RU72771 U1 RU 72771U1 RU 2007149075/22 U RU2007149075/22 U RU 2007149075/22U RU 2007149075 U RU2007149075 U RU 2007149075U RU 72771 U1 RU72771 U1 RU 72771U1
Authority
RU
Russia
Prior art keywords
input
search
inputs
matrix
output
Prior art date
Application number
RU2007149075/22U
Other languages
Russian (ru)
Inventor
Леонид Александрович Лисицын
Евгений Анатольевич Титенко
Виктор Митрофанович Довгаль
Original Assignee
Государственное образовательное учреждение высшего профессионального образования "Курский государственный технический университет"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Государственное образовательное учреждение высшего профессионального образования "Курский государственный технический университет" filed Critical Государственное образовательное учреждение высшего профессионального образования "Курский государственный технический университет"
Priority to RU2007149075/22U priority Critical patent/RU72771U1/en
Application granted granted Critical
Publication of RU72771U1 publication Critical patent/RU72771U1/en

Links

Abstract

Полезная модель относится к области вычислительной техники, может быть использована в высокопроизводительных системах обработки символьной обработки, в информационно-поисковых системах, экспертных системах и позволяет расширить класс решаемых задач за счет реализации операции поиска вхождений на логических векторах. Технической задачей полезной модели является расширение функциональных возможностей устройства и повышение быстродействия работы путем организации параллельного поиска в характеристической нуль-единичной матрице, описывающей вхождения отдельных символов образца в тексте. Поиск выполняется одновременно по диагоналям характеристической матрицы, проходящим от элементов последней строки до элементов первой строки включительно. Техническая задача решается таким образом, что в устройство, содержащее первый и второй блоки хранения и сравнения ассоциативных признаков, блок памяти логических векторов, операционный блок, дополнительно введен блок матричного поиска вхождений, в котором поисковые ячейки соединены в матрицу, имеющей геометрическую форму параллелограмма для обеспечения параллельного поиска по ячейкам строк и столбцов в составе диагоналей матрицы. 6 ил.The utility model relates to the field of computer technology, can be used in high-performance systems for processing symbol processing, in information retrieval systems, expert systems and allows you to expand the class of tasks by implementing the search operation for occurrences on logical vectors. The technical task of the utility model is to expand the functionality of the device and increase the operating speed by organizing a parallel search in the characteristic zero-unit matrix that describes the occurrences of individual characters in the text. The search is performed simultaneously along the diagonals of the characteristic matrix, passing from the elements of the last row to the elements of the first row inclusive. The technical problem is solved in such a way that in the device containing the first and second blocks for storing and comparing associative features, a logical vector memory unit, an operation unit, an entry search matrix entry unit is additionally introduced, in which the search cells are connected in a matrix having a parallelogram geometric shape to provide parallel search in the cells of rows and columns as part of the diagonals of the matrix. 6 ill.

Description

Полезная модель относится к вычислительной технике и может быть использована, например, для параллельной обработки данных при решении задач информационно-логического поиска, управления базами данных и базами знаний, задач на графах, поисково-переборных задач в экспертных системах, задач распознавания цифровых потоков (вхождение в синхронизм, поиск маркеров и т.д.) и др.The utility model relates to computer technology and can be used, for example, for parallel data processing in solving information-logical search problems, managing databases and knowledge bases, tasks on graphs, search and exhaustive tasks in expert systems, digital stream recognition problems (occurrence synchronism, search for markers, etc.), etc.

Процессы поиска вхождений образца в обрабатываемом тексте (слове) адекватно описываются в терминах конструктивной логики путем использования операций левой и/или правой конкатенации (следования), начиная с пустого слова, и обусловливают устанавливать отношения следования между символами, соединенными в слова.The search for occurrences of a pattern in the processed text (word) is adequately described in terms of constructive logic by using the operations of left and / or right concatenation (follow), starting with an empty word, and determine the establishment of a sequence relationship between characters connected in words.

Задача поиска вхождения формулируется следующим образом. Пусть в общем алфавите Σ мощностью заданы образец О и текст Т как последовательности кодов символов из алфавита Σ длиной в n и m символов (n<m) соответственно и пусть каждый символ образца и текста кодируется p=log2w разрядами соответственно. Требуется найти все позиции начала вхождений О в Т.The task of finding an entry is formulated as follows. Let in the general alphabet Σ be cardinal sample O and text T are given as sequences of codes of characters from the alphabet Σ of length n and m characters (n <m), respectively, and let each character of the sample and text be encoded with p = log 2 w bits, respectively. It is required to find all positions of the beginning of occurrences of O in T.

Вычислительная (временная) сложность процесса поиска вхождения зависит от размера и логической структуры образца и текста. При обнаружении частичного вхождения образца в обрабатываемом тексте необходимо выполнять множественные отступы (возвраты) в как в пространстве образца, так и текста. Множественные отступы при поиске полного вхождения образца связаны с выполнением непродуктивных шагов сопоставления и приводят к непродуктивным затратам времени. При реализации технического решения необходимо так организовать поиск позиций вхождения образца, чтобы исключить The computational (temporal) complexity of the entry search process depends on the size and logical structure of the sample and text. If a partial occurrence of a sample is detected in the processed text, it is necessary to perform multiple indents (returns) in both the sample space and the text. Multiple indentation in the search for the complete occurrence of a sample is associated with the implementation of unproductive matching steps and leads to unproductive waste of time. When implementing a technical solution, it is necessary to organize the search for entry positions of the sample in such a way as to exclude

необходимость возвратных отступов при обнаружении частичных вхождений и этим повысить быстродействие работы на операции поиска.the need for backward indentation when detecting partial occurrences and thereby increase the speed of work on search operations.

Известна система поиска слов в произвольном тексте [1], основанная на хранении текста в виде так называемых характеристических векторов длиной в m бит каждый вектор. Каждый элемент такого вектора принимает значение логической «1» или «0» в зависимости от того, присутствует ли текущий символ образца в тексте в данной позиции. При таком представлении исходных данных операция поиска вхождения сводится к последовательной обработке нуль-единичных векторов. Данная система может быть реализован алгоритмом обработки характеристических векторов на основе операции побитового умножения логических векторов со сдвигом.A known system for searching words in arbitrary text [1], based on the storage of text in the form of so-called characteristic vectors with a length of m bits each vector. Each element of such a vector takes a logical value of “1” or “0” depending on whether the current symbol of the pattern is present in the text at this position. With this representation of the source data, the operation of finding the entry is reduced to sequential processing of zero-unit vectors. This system can be implemented by an algorithm for processing characteristic vectors based on the operation of bitwise multiplication of logical vectors with a shift.

Смысл данной операции заключается в том, что при перемножении двух характеристических векторов X, Y текущего и предыдущего символов образца результирующий вектор Z имеет единицу в h-ой позиции в том случае, если единицы содержатся в h-ой позиции вектора Х и в h-1 позиции вектора Х одновременно. Другими словами, поиск вхождений образца заключается в последовательном логическом умножении m характеристических векторов. Результатом поиска на характеристических векторах является m-ый характеристический вектор, в котором единицы соответствуют позициям вхождения последнего символа образца.The meaning of this operation is that when multiplying two characteristic vectors X, Y of the current and previous symbols of the sample, the resulting vector Z has unity in the hth position if the units are contained in the hth position of the vector X and in h-1 position of the vector X at the same time. In other words, the search for occurrences of a sample consists in sequential logical multiplication of m characteristic vectors. The result of the search on the characteristic vectors is the m-th characteristic vector, in which the units correspond to the occurrence positions of the last symbol of the sample.

Недостаток данного способа и, как следствие, реализующего его алгоритма заключается в последовательной обработке n векторов, что приводит к избыточным затратам времени за счет n-кратного обращения к памяти символов образца для вычисления текущего характеристического вектора. Кроме того, недостатком является направление обработки характеристических векторов от первого к последнему символу образца, вследствие чего возникает необходимость в дополнительных временных затратах на преобразование позиций вхождения последнего символа в позиции вхождения первого символа.The disadvantage of this method and, as a consequence, the algorithm that implements it consists in the sequential processing of n vectors, which leads to excessive time expenditures due to n-times accessing the sample symbol memory to calculate the current characteristic vector. In addition, the disadvantage is the processing direction of the characteristic vectors from the first to the last character of the sample, which necessitates additional time costs for converting the positions of the last character in the position of the first character.

Также известен алгоритм поиска СДВИГ-И [2], основанный на поиске всех возможных префиксов образца в тексте с помощью логических векторов-столбцов длиной в n бит каждый. Каждый элемент такого вектора-столбца принимает значение логической «1» или «0» в зависимости от того, присутствует ли текущий префикс образца в тексте в данной позиции. При такой организации исходных данных операция поиска вхождения сводится к последовательной обработке нуль-единичных векторов-столбцов (битовых срезов).Also known is the SHIFT-I search algorithm [2], based on the search for all possible sample prefixes in the text using logical column vectors of n bits each. Each element of such a column vector takes a logical value of “1” or “0” depending on whether the current pattern prefix is present in the text at this position. With such organization of the source data, the operation of finding the entry is reduced to sequential processing of zero-unit column vectors (bit slices).

Алгоритм поиска СДВИГ-И, как и алгоритм поиска на основе характеристических векторов, является аппаратно-ориентированным. Вместе с тем недостаток данного алгоритма заключается в последовательной обработке m векторов-столбцов, что приводит к избыточным затратам времени за счет m-кратного обращения к памяти символов текста для вычисления текущего вектора-столбца.The shift algorithm SIDIG-I, like the search algorithm based on characteristic vectors, is hardware-oriented. At the same time, the disadvantage of this algorithm is the sequential processing of m column vectors, which leads to excessive time expenditures due to m-times access to the text character memory to calculate the current column vector.

Устройством-прототипом является устройство [3] для адресации по содержанию блока памяти, состоящее из двух блоков ассоциативных признаков, блока памяти логических векторов и операционного блока. Работа устройства основана на обработке элементов двух множеств (признаков и объектов) с помощью логических векторов-строк или векторов столбцов. Вектор-строка является характеристическим вектором, описывающим определенное подмножество признаков, принадлежащих множеству объектов. В качестве элементарных операций над векторами реализованы логические операции умножения, сложения, суммы по модулю 2, инверсии и т.д., а также операции идентификации логического вектора-строки (поиск по столбцу).The prototype device is a device [3] for addressing the contents of a memory block, consisting of two blocks of associative features, a memory block of logical vectors and an operation block. The operation of the device is based on the processing of elements of two sets (features and objects) using logical row vectors or column vectors. A row vector is a characteristic vector that describes a specific subset of the features that belong to many objects. As elementary operations on vectors, the logical operations of multiplication, addition, sum modulo 2, inversion, etc., as well as the operations of identifying a logical row vector (column search), are implemented.

Ограниченность операции идентификации связана с теоретико-множественной трактовкой исходных данных. Вследствие этого структурные отношения следования в характеристических векторах не учитываются, что не позволяет непосредственно использовать операционный блок для поиска вхождений образца в тексте.The limitations of the identification operation are associated with a set-theoretic interpretation of the source data. As a result of this, the structural relationships of succession in the characteristic vectors are not taken into account, which does not allow directly using the operation unit to search for occurrences of the pattern in the text.

Технической задачей полезной модели является расширение функциональных возможностей и повышение быстродействия за счет параллельной обработки нуль-единичной характеристической матрицы, описывающей не только позиционное, но и пространственное расположение отдельных символов образца в матричном представлении символов текста.The technical task of the utility model is to expand the functionality and increase speed due to the parallel processing of a zero-unit characteristic matrix, which describes not only the positional, but also the spatial arrangement of individual characters in the matrix representation of the text characters.

Суть параллельной обработки характеристической матрицы заключается в побитовой обработке элементов строк и столбцов в составе диагоналей матрицы, длина которых равна длине образца, а направление поиска - от последнего символа к первому по каждой диагонали.The essence of parallel processing of the characteristic matrix is bitwise processing of row and column elements in the composition of the diagonals of the matrix, the length of which is equal to the length of the sample, and the search direction is from the last character to the first on each diagonal.

Решение технической задачи достигается тем, что в Устройство для параллельного поиска и обработки данных, содержащее первый и второй блоки хранения и сравнения ассоциативных признаков, блок памяти логических векторов и операционный блок, причем информационные входы первого и второго блоков хранения и сравнения ассоциативных признаков являются соответственно первым и вторым информационными входами устройства, а выходы блоков хранения и сравнения ассоциативных признаков соединены соответственно с первым и вторым адресными входами блока памяти логических векторов, входы задания режимов первого и второго блоков хранения и сравнения ассоциативных признаков и вход записи-считывания блока памяти логических векторов являются соответственно первым, вторым и третьим входами задания режимов устройства, а четвертый, пятый, шестой входы задания режимов устройства соответственно соединены с тремя входами кодов операций операционного блока, первый выход которого является первым выходом устройства, первый вход начальной установки устройства подключен к входу начальной установки операционного блока, второй вход начальной установки - к входам начальной установки первого и второго блоков хранения и сравнения ассоциативных признаков, первый и второй выходы блока памяти логических векторов подключены соответственно к первому и второму информационным входам операционного блока, отличающееся тем, The solution to the technical problem is achieved by the fact that in a device for parallel data search and processing, containing the first and second blocks for storing and comparing associative signs, a memory block of logical vectors and an operation block, the information inputs of the first and second blocks for storing and comparing associative signs are respectively the first and the second information inputs of the device, and the outputs of the storage units and comparisons of associative features are connected respectively to the first and second address inputs of the unit the memory vectors of logical vectors, the inputs for setting the modes of the first and second blocks for storing and comparing associative signs, and the write / read input for the block of memory for logical vectors are the first, second, and third inputs of setting the device modes, and the fourth, fifth, and sixth inputs of setting the device modes are respectively connected with three inputs of operation unit operation codes, the first output of which is the first output of the device, the first input of the initial installation of the device is connected to the input of the initial setting new operating unit, the second input of the initial installation - to the inputs of the initial installation of the first and second blocks of storage and comparison of associative signs, the first and second outputs of the logical vector memory block are connected respectively to the first and second information inputs of the operational unit, characterized in

что в него дополнительно введены во-первых, дополнительный однобитовый выход в дешифраторе команд операционного блока, дополнительно введенный однобитовый выход в дешифраторе команд является вторым выходом операционного блока, во-вторых, блок матричного поиска, имеющий четыре входа и один выход, причем первый вход начальной установки устройства подключен к первому входу блока матричного поиска, второй вход которого соединен со вторым выходом операционного блока, третий и четвертый входы блока матричного поиска являются соответственно третьим и четвертым информационными входами устройства, а выход блока матричного поиска является вторым выходом устройства, при этом блок матричного поиска содержит элемент задержки, n регистров для хранения кодов символов образца разрядностью р бит каждый, m регистров для хранения кодов символов текста разрядностью р бит каждый, k триггеров позиций, а также характеристическую матрицу, состоящую из поисковых ячеек и имеющую геометрическую форму параллелограмма, размер матрицы - n×k поисковых ячеек (k=m-n+l - количество строк, а также диагоналей в матрице), при этом каждый регистр для хранения кодов символов образца и каждый регистр для хранения кодов символов текста имеют соответственно три входа (первый и второй управляющие входы и третий информационный р-разрядный вход) и один р-разрядный выходу, каждая поисковая ячейка имеет три информационных входа (первый и второй входы разрядностью р бит каждый, третий - одноразрядный вход) и один выход, каждый триггер позиции имеет соответственно три входа (первый и второй управляющие входы и третий информационный вход) и один выход, каждая поисковая ячейка содержит двухвходовую схему сравнения на равенство р-разрядных кодов символов образца и текста и двухвходовой элемент И, причем первый и второй р-разрядные входы поисковой ячейки соединены соответственно с первым и вторым р-разрядными входами двухвходовой схемы сравнения на равенство соответственно, выход которой является первым входом двухвходового элемента that it is additionally introduced in the first place, an additional single-bit output in the command decoder of the operating unit, the additionally entered single-bit output in the command decoder is the second output of the operational unit, and secondly, the matrix search block having four inputs and one output, the first input of the initial the installation of the device is connected to the first input of the matrix search unit, the second input of which is connected to the second output of the operation unit, the third and fourth inputs of the matrix search unit are, respectively about the third and fourth information inputs of the device, and the output of the matrix search block is the second output of the device, while the matrix search block contains a delay element, n registers for storing character codes of a sample with a bit size of p bits each, m registers for storing character codes of text with a bit size of p bits each , k position triggers, as well as a characteristic matrix consisting of search cells and having a parallelogram geometric shape, the matrix size is n × k search cells (k = m-n + l is the number of rows, as well as the diagonal lei in the matrix), with each register for storing sample character codes and each register for storing text character codes, respectively, have three inputs (first and second control inputs and a third information p-bit input) and one p-bit output, each search cell it has three information inputs (the first and second inputs are each bit each, the third is a single-bit input) and one output, each position trigger has three inputs (the first and second control inputs and the third information input), and one output, each the search cell contains a two-input comparison circuit for the equality of p-bit character codes of the sample and text and a two-input element And, and the first and second p-bit inputs of the search cell are connected respectively to the first and second p-bit inputs of the two-input comparison circuit for equality, respectively, the output which is the first input of a two-input element

И, второй вход которого соединен с третьим входом поисковой ячейки, выходом которой является выход двухвходового элемента И, причем первые р-разрядные входы всех поисковых ячеек i-ой строки матрицы (1=1-n) соединены с р-разрядным выходом i-ого регистра для хранения символа образца, р-разрядный выход j-ого регистра для хранения кода символа текста (j=1-m) соединен соответственно со вторыми р-разрядными входами всех поисковых ячеек, входящих в j-ый столбец матрицы, выход (i, j)-ой поисковой ячейки, кроме i=1 (первая строка матрицы), соединен с третьим входом (i-1, j-1)-ой поисковой ячейки, кроме i=n (последняя строка матрицы), выход i-ой (i=1-k) поисковой ячейки, расположенной в первой строке матрицы, соединен с третьим входом i-ого триггера позиции, на третий вход каждой поисковой ячейки, расположенной в последней строке матрицы, подано значение логической «1», первый вход блока матричного поиска соединен соответственно с первыми входами n регистров для хранения кодов символов образца, а также с первыми входами m регистров для хранения кодов символов текста и первыми входами k триггеров позиций, второй вход «Запись строк» блока матричного поиска соединен со входом элемента задержки и со вторыми входами n регистров для хранения кодов символов образца и вторыми входами m регистров для хранения кодов символов текста соответственно, выход элемента задержки соединен со вторыми входами k триггеров позиций, выходы которых образуют информационный k-разрядный выход блока матичного поиска, третий вход блока матричного поиска состоит из n групп по р разрядов каждая группа, кодирующих символы образца, причем i-ая группа разрядов (i=1-n) подается на третий р-разрядный вход i-ого регистра для хранения кода символа образца, четвертый вход блока матричного поиска состоит из m групп разрядов по р разрядов каждая группа, кодирующих символы текста, причем j-ая группа разрядов (j=1-m) подается на третий р-разрядный вход j-ого регистра для хранения кода символов текста, каждая двухвходовая схема сравнения на равенство в составе поисковой ячейки состоит And, the second input of which is connected to the third input of the search cell, the output of which is the output of the two-input element And, the first p-bit inputs of all search cells of the i-th row of the matrix (1 = 1-n) connected to the p-bit output of the i-th register for storing the symbol of the sample, the p-bit output of the j-th register for storing the code of the symbol of the text (j = 1-m) is connected respectively to the second p-bit inputs of all the search cells included in the j-th column of the matrix, the output (i, j) -th search cell, except for i = 1 (the first row of the matrix), is connected to the third input ohm (i-1, j-1) -th search cell, except for i = n (last row of the matrix), the output of the i-th (i = 1-k) search cell located in the first row of the matrix is connected to the third input i -th position trigger, the logical “1” value is applied to the third input of each search cell located in the last row of the matrix, the first input of the matrix search block is connected respectively to the first inputs of n registers for storing the character codes of the sample, as well as the first inputs of m registers for storing text character codes and the first inputs of k position triggers, the second the entry “Record strings” of the matrix search block is connected to the input of the delay element and to the second inputs of n registers for storing the character codes of the sample and the second inputs of m registers for storing the codes of the text characters, respectively, the output of the delay element is connected to the second inputs of k triggers of the positions, the outputs of which form information k-bit output of the matrix search block, the third input of the matrix search block consists of n groups of p bits each group encoding the symbols of the sample, and the i-th group of bits (i = 1-n) is fed to the the third p-bit input of the i-th register for storing the code of the symbol of the sample, the fourth input of the matrix search block consists of m groups of bits of p bits each group encoding text characters, and the j-th group of bits (j = 1-m) is fed to the third p-bit input of the j-th register for storing code of text characters, each two-input equality comparison scheme in the search cell consists

из р двухвходовых элементов суммы по модулю два с инверсией, на первые входы которых подается соответствующий разряд из i-ой р-разрядной группы третьего входа блока матричного поиска, а на вторые входы двухвходовых элементов суммы по модулю два с инверсией - соответствующий разряд из j-ой р-разрядной группы четвертого входа блока матричного поиска, выходы всех двухвходовых элементов суммы по модулю два с инверсией соединены с р-входовым элементом И, выход которого является выходом двухвходовой схемы сравнения на равенство.of p two-input elements of the sum modulo two with inversion, to the first inputs of which the corresponding bit from the i-th p-bit group of the third input of the matrix search block is supplied, and to the second inputs of two-input elements of the sum modulo two with inversion - the corresponding bit from j- of the p-bit group of the fourth input of the matrix search block, the outputs of all two-input elements of the sum modulo two with inversion are connected to the p-input element And, the output of which is the output of the two-input comparison circuit for equality.

На фиг.1 показана функциональная схема устройства для параллельного поиска и обработки данных; на фиг.2 - функциональная схема операционного блока; на фиг.3 - функциональная схема блока матричного поиска, на фиг.4 -функциональная схема двухвходовой схемы сравнения на равенство, на фиг.5 - пример параллельного поиска вхождений по диагоналям характеристической матрицы, на фиг.6 - временные диаграммы работы на операции «ПОИСК ВХОЖДЕНИЙ» («ПВ»). Устройство содержит блоки 11 и 12 хранения и сравнения ассоциативных признаков, блок 2 памяти логических векторов, операционный блок 3, блок 4 матричного поиска, информационные входы устройства 41, 42, 43 и 44, первый и второй информационные выходы устройства 51 и 52 соответственно, входы 61-66 задания режима работы, входы 71 и 72 начальной установки.Figure 1 shows a functional diagram of a device for parallel search and data processing; figure 2 is a functional diagram of an operating unit; figure 3 is a functional diagram of the matrix search block, figure 4 is a functional diagram of a two-input comparison circuit for equality, figure 5 is an example of a parallel search of occurrences along the diagonals of the characteristic matrix, figure 6 is a timing diagram of the operation "SEARCH ENTRANCE "(" PV "). The device comprises blocks 1 1 and 1 2 for storing and comparing associative features, a logical vector memory block 2, an operation block 3, a matrix search block 4, information inputs of the device 4 1 , 4 2 , 4 3 and 4 4 , the first and second information outputs of the device 5 1 and 5 2, respectively, inputs 6 1 -6 6 specify the operating mode, inputs 7 1 and 7 2 of the initial installation.

Структура блоков 11, 12, 2 строго соответствуют устройству-прототипу в схемном и в функциональном отношении, состоит из совпадающих элементов и связей между ними.The structure of blocks 1 1 , 1 2 , 2 strictly corresponds to the prototype device in a circuit and in functional terms, consists of matching elements and the connections between them.

В операционный блок 3 по сравнению с устройством-прототипом введены незначительные изменения в связи с подключением к нему блока 4, но в функциональном отношении он соответствует устройству-прототипу. Изменение в составе операционного блока 3 связано с добавлением операции «ПВ», задаваемой по входу 66 соответствующим кодом, и состоит во введении дополнительного однобитового выхода в дешифраторе 23 команд. Операция In operation unit 3, compared with the prototype device, minor changes have been introduced in connection with the connection of unit 4 to it, but in functional terms it corresponds to the prototype device. The change in the composition of the operation unit 3 is associated with the addition of the operation "PV", specified at the input 6 6 by the corresponding code, and consists in introducing an additional one-bit output in the decoder 23 commands. Operation

«ПВ» не может выполняться на элементах 27 побитовой обработки логических векторов, поэтому дешифратор 23 команд только обнаруживает на входе 66 код, соответствующий данной операции. После этого подается единичный импульс на дополнительно введенный однобитовый выход дешифратора 23 команд, который является вторым выходом операционного блока 3. Все блоки - 19, 20, 21, 22, 23, 24, 25, 26, 27 (1...n), 28, 29, 30 - строго соответствуют по структуре и выполняемым функциям описанию в устройстве-прототипе."PV" cannot be performed on the elements 27 bit processing of logical vectors, therefore, the decoder 23 teams only detects at the input 6 6 the code corresponding to this operation. After that, a single pulse is supplied to the additionally introduced single-bit output of the decoder 23 commands, which is the second output of the operation block 3. All blocks are 19, 20, 21, 22, 23, 24, 25, 26, 27 (1 ... n), 28, 29, 30 - strictly correspond to the description and structure of the functions in the prototype device.

Блок 4 матричного поиска содержит два управляющих входа: «Начальная установка» 71 (первый вход) и вход «Запись строк» (второй вход), третий и четвертый входы для подачи символов образца и текста в параллельном коде через информационные входы 43 и 44 устройства, а также один информационный выход, являющийся вторым выходом 52 устройства. При этом второй управляющий вход блока 4 соединен со вторым выходом операционного блока 3.Block 4 of the matrix search contains two control inputs: “Initial installation” 7 1 (first input) and input “Record lines” (second input), third and fourth inputs for supplying sample characters and text in parallel code through information inputs 4 3 and 4 4 devices, as well as one information output, which is the second output of 5 2 devices. In this case, the second control input of unit 4 is connected to the second output of the operation unit 3.

Блок 4 матричного поиска содержит элемент 31 задержки, состоящий из n пар инверторов, n регистров 321-32n для хранения кодов символов образца, m регистров 331-33m для хранения кодов символов текста, характеристической матрицы поисковых ячеек 3411-34nm и k триггеров 37 позиций, причем регистр 32i(i=1-n) и регистр 33j(j=1-m) содержат первый и второй управляющие входы, третий р-разрядный информационный вход и один выход соответственно. Первые и вторые входы n регистров 32 для хранения кодов символов образца и первые и вторые входы m регистров 33 для хранения кодов символов текста соединены соответственно с первым и вторым управляющими входами блока 4 матричного поиска, третий вход которого разрядностью р·n бит предназначен для параллельной записи образца в регистры 321-32n и состоит из n групп разрядов по р разрядов каждая группа, кодирующих символы образца, причем i-ая группа разрядов (i=1-n) подается на третий р-разрядный вход регистра 32i (i=1-n), четвертый вход блока 4 матричного Block 4 matrix search contains a delay element 31, consisting of n pairs of inverters, n registers 32 1 -32 n for storing character codes of the sample, m registers 33 1 -33m for storing character codes of the text, the characteristic matrix of the search cells 34 11 -34 nm and k triggers of 37 positions, and the register 32 i (i = 1-n) and the register 33 j (j = 1-m) contain the first and second control inputs, the third p-bit information input and one output, respectively. The first and second inputs of n registers 32 for storing sample character codes and the first and second inputs of m registers 33 for storing text character codes are respectively connected to the first and second control inputs of the matrix search unit 4, the third input of which is the bit size sample in registers 32 1 -32 n and consists of n groups of bits of p bits each group encoding the characters of the sample, and the i-th group of bits (i = 1-n) is fed to the third p-bit input of the register 32 i (i = 1-n), the fourth input of block 4 of the matrix

поиска разрядностью p·m бит предназначен для параллельной записи текста в регистры 311-33m и состоит из m групп разрядов по р разрядов каждая группа, кодирующих символы текста, причем j-ая группа разрядов (j=1-m) подается на третий р-разрядный вход регистра 33j (j=1-m). Второй управляющий вход блока 4 матричного поиска также соединен со входом элемента 31 задержки.bit search p · m bits designed for parallel writing of text into registers 31 1 -33 m and consists of m groups of bits of p bits each group encoding characters of the text, and the j-th group of bits (j = 1-m) is fed to the third p-bit register input 33j (j = 1-m). The second control input of the matrix search unit 4 is also connected to the input of the delay element 31.

Характеристическая матрица поисковых ячеек 3411-34nm имеет размер n×k ячеек (k=m-n+l - количество строк, а также диагоналей в матрице), причем каждая поисковая ячейка 34ij имеет три входа и один выход и содержит двухвходовую схему 35ij сравнения на равенство р-разрядных кодов символов образца и текста и двухвходовой элемент 36 И, каждая двухвходовая схема 35ij сравнения на равенство в составе поисковой ячейки 34ij состоит из р двухвходовых элементов 381-38p суммы по модулю два с инверсией, на первые входы которых подается соответствующий разряд из i-ой р-разрядной группы третьего входа блока 4 матричного поиска, а на вторые входы двухвходовых элементов 381-38p суммы по модулю два с инверсией - соответствующий разряд из j-ой р-разрядной группы четвертого входа блока 4 матричного поиска, все выходы двухвходовых элементов 381-38p суммы по модулю два с инверсией в составе двухвходовой схемы 35ij сравнения на равенство соединены с р-входовым элементом 39 И, выход которого является выходом двухвходовой схемы 35ij сравнения на равенство. Первый и второй р-разрядные входы поисковой ячейки 34ij соответственно соединены с первым и вторым р-разрядными входами двухвходовой схемы 35ij сравнения на равенство, выход которой является первым входом двухвходового элемент 36 И, второй вход которого является третьим входом поисковой ячейки 34ij, выходом которой является выход двухвходового элемента 36 И.The characteristic matrix of search cells 34 11 -34 nm has a size n × k cells (k = m-n + l is the number of rows and diagonals in the matrix), and each search cell 34 ij has three inputs and one output and contains a two-input circuit 35 ij comparisons on the equality of p-bit codes of sample and text characters and a two-input element 36 And, each two-input circuit 35 ij comparisons on equality in the search cell 34 ij consists of p two-input elements 38 1 -38 p sum modulo two with inversion, at the first inputs of which a corresponding discharge is supplied from the i-th rr third gas tube group input unit 4, the search matrix, and the second inputs of two-input elements 38 1 -38 p modulo two sum with inversion - the corresponding bit of the j-th group of p-bit input of the fourth unit 4 matrix search, all the outputs of elements 38 two-input 1 -38 p sums modulo two with inversion in the two-input equality comparison circuit 35 ij connected to the p-input element 39 AND, the output of which is the equality output of the two-input comparison circuit 35 ij . The first and second p-bit inputs of the search cell 34 ij are respectively connected to the first and second p-bit inputs of the two-input equality comparison circuit 35 ij , the output of which is the first input of the two-input element 36 AND, the second input of which is the third input of the search cell 34 ij , the output of which is the output of the two-input element 36 I.

Характеристическая матрица поисковых ячеек 3411-34nm имеет геометрическую форму параллелограмма, в которой в каждой строке располагается k поисковых ячеек, сдвинутых относительно следующей строки ячеек влево The characteristic matrix of search cells 34 11 -34 nm has a geometric parallelogram shape, in which each row contains k search cells shifted to the left of the next row of cells

на 1 позицию, начиная с ячеек последней строки 34nn-34nm. Такая форма матрицы обеспечивает направление поиска по диагоналям, проходящим через ячейки от последней строки к первой строке включительно. Первые р-разрядные входы k поисковых ячеек i-ой строки матрицы (i=1-n) соединены с р-разрядным выходом регистра 32i. Р-разрядный выход регистра 33j (j=1-m) соединен со вторыми р-разрядными входами всех поисковых ячеек, входящих B j-ый столбец матрицы. Выход каждой поисковой ячейки 34ij, кроме i=1 (первая строка матрицы), соединен с третьим входом поисковой ячейки 34i-1j-1, кроме i=n (последняя строка матрицы). Выход поисковой ячейки 341v (v=l-k), расположенной в первой строке матрицы, соединен с информационным входом 3 триггера 37v позиции. На третий вход каждой поисковой ячейки, расположенной в последней строке матрицы, подается значение логической «1», задавая тем самым направление поиска по соответствующей диагонали от последней строки матрицы к первой строке включительно.by 1 position, starting from the cells of the last row 34 nn -34 nm . This form of the matrix provides the direction of the search along the diagonals passing through the cells from the last row to the first row inclusive. The first p-bit inputs k of the search cells of the i-th row of the matrix (i = 1-n) are connected to the p-bit output of the register 32 i . The p-bit output of the register 33 j (j = 1-m) is connected to the second p-bit inputs of all the search cells entering the B jth column of the matrix. The output of each search cell 34 ij , except i = 1 (the first row of the matrix), is connected to the third input of the search cell 34 i-1j-1 , except i = n (the last row of the matrix). The output of the search cell 34 1v (v = lk) located in the first row of the matrix is connected to the information input 3 of the trigger 37 v positions. The third input of each search cell located in the last row of the matrix is supplied with a logical value of “1”, thereby setting the direction of the search along the corresponding diagonal from the last row of the matrix to the first row inclusive.

Триггера 371-37k позиций хранят результат поиска в виде k-разрядного кода, в котором значением логической «1» отмечены позиции начала вхождений образца в текст. Триггер 37i позиции (i=1-k) содержит три входа (первый и второй управляющие, третий одноразрядный информационный вход) и один выход. Первый вход блока 4 матричного поиска соединен соответственно с первыми входами k триггеров 37 позиций, вторые входы k триггеров 37 позиций соединены с выходом элемента 31 задержки. Выходы триггеров 371-37k позиций образуют k-разрядный информационный выход блока 4 матричного поиска.The trigger 37 1 -37 k positions store the search result in the form of a k-bit code in which the logical “1” value marks the position of the beginning of occurrences of the pattern in the text. The trigger 37 i position (i = 1-k) contains three inputs (first and second control, the third one-bit information input) and one output. The first input of block 4 of the matrix search is connected respectively to the first inputs of k triggers of 37 positions, the second inputs of k triggers of 37 positions are connected to the output of the delay element 31. The outputs of the triggers 37 1 -37 k positions form a k-bit information output of block 4 of the matrix search.

Данное устройство, как и устройство-прототип, работает в режимах «Запись» и «Операция». Режим "Запись" строго соответствует алгоритму, описанному в устройстве-прототипе.This device, like the prototype device, works in the “Record” and “Operation” modes. The Record mode strictly corresponds to the algorithm described in the prototype device.

В алгоритме режима "Операция" дополнительно к выполняемым в устройстве-прототипе вводится операция, обозначаемая как «ПВ» и имеющая собственный код операции, который подается на соответствующий вход режима In the algorithm of the "Operation" mode, in addition to the operations performed in the prototype device, an operation is designated, designated as "PV" and having its own operation code, which is fed to the corresponding mode input

работы. С учетом появления блока 4 по сравнению с устройством-прототипом в алгоритм режима "Операция" вносятся следующие дополнения.work. Given the appearance of block 4, in comparison with the prototype device, the following additions are made to the algorithm of the "Operation" mode.

Пусть устройство выполняет режим «Операция» с кодом операции «ПВ». На вход 71 «Начальная установка» операционного блока 3 и блока 4 матричного поиска подается импульсный сигнал начальной установки, который сбрасывает в нулевое состояние регистр 22 команд по его входу 1, регистр 30 по его входу 1, а также k триггеров 37 позиций по их входу 1, n регистров 32 по их входу 1 и m регистров 33 по их входу 1. После окончания действия сигнала начальной установки на вход 66 режима работы операционного блока 3 подается код операции «ПВ», который обнаруживается дешифратором 23 команд и со второго выхода операционного блока 3 на второй вход «Запись строк» блока 4 матричного поиска подается импульсный сигнал. Данный импульсный сигнал по входу «Запись строк» блока 4 матричного поиска подается соответственно на вторые входы разрешения записи n регистров 32 для хранения кодов символов образца и на вторые входы разрешения записи m регистров 33 для хранения кодов символов текста, обеспечивая тем самым запись n символов образца и m символов текста в параллельном коде с входов 43 и 44 устройства. Также импульсный сигнал по входу «Запись строк» блока 4 матричного поиска через элемент 31 задержки подается соответственно на вторые входы разрешения записи k триггеров 37 позиций. Элемент 31 задержки, выполненный в виде n пар инверторов, необходим для завершения процессов параллельного поиска вхождений по диагоналям характеристической матрицы, состоящей из поисковых ячеек 3411-34nm. Поиск начинается с ячеек последней строки характеристической матрицы. Начальный k-битовый характеристический вектор, равный 11...1, подается на третьи входы поисковых ячеек последней строки матрицы и определяет тем самым направление параллельного поиска по всем диагоналям характеристической матрицы от поисковых ячеек последней строки до поисковых Let the device perform the “Operation” mode with the operation code “PV”. Input 7 1 “Initial setting” of operating unit 3 and matrix search unit 4 is supplied with a pulse signal of initial installation, which resets register 22 of commands at its input 1, register 30 at its input 1, and also k triggers of 37 positions at their entry 1, n of registers 32 at their entry 1 and m registers 33 to their entry 1. After expiry of the initial setup signal to the input of June 6th mode of the operation unit 3 is fed opcode "PV", which is detected by the decoder 23 and the second command output operation block 3 to the second The th input “Recording lines” of block 4 of the matrix search receives a pulse signal. This pulse signal at the “Record strings” input of the matrix search unit 4 is supplied respectively to the second entries of the write permission of n registers 32 for storing the character codes of the samples and to the second inputs of the write permission of m registers 33 to store the character codes of the text, thereby recording n characters of the pattern and m characters of text in parallel code from inputs 4 3 and 4 4 of the device. Also, the pulse signal at the input "Record lines" of block 4 of the matrix search through the delay element 31 is respectively supplied to the second recording permission inputs of k triggers 37 positions. The delay element 31, made in the form of n pairs of inverters, is necessary to complete the processes of parallel search of occurrences along the diagonals of the characteristic matrix, consisting of search cells 34 11 -34 nm . The search begins with the cells of the last row of the characteristic matrix. The initial k-bit characteristic vector equal to 11 ... 1 is fed to the third inputs of the search cells of the last row of the matrix and thereby determines the direction of parallel search across all diagonals of the characteristic matrix from the search cells of the last row to the search

ячеек первой строки включительно. Время параллельного поиска вхождений не зависит от количества диагоналей, а определяется величиной Т=nτИ, где τИ - время задержки в элементе 36 И. По завершении процессов поиска импульсный сигнал с выхода элемента 31 задержки через время Т'=n2τинв (2τинв - время задержки на паре инверторов) записывает k-битовый результат поиска начала вхождений в триггера 371-37k позиций. Выходы триггеров 371-37k позиций являются k-разрядным выходом блока 4 матричного поиска и образуют второй выход устройства 52.cells of the first row inclusive. The parallel search time for entries does not depend on the number of diagonals, but is determined by the value Т = nτ И , where τ И is the delay time in the element 36 I. Upon completion of the search processes, the pulse signal from the output of the delay element 31 after the time T '= n2τ inv (2τ inv - delay time on a pair of inverters) records the k-bit result of searching for the beginning of occurrences in the trigger 37 1 -37 k positions. The outputs of the triggers 37 1 -37 k positions are the k-bit output of block 4 of the matrix search and form the second output of the device 5 2 .

Выполнение алгоритма в режиме «Операция» на остальных операциях строго соответствует устройству-прототипу.The execution of the algorithm in the "Operation" mode on the remaining operations strictly corresponds to the prototype device.

Однородная структура поисковых ячеек 3411-34nm, составивших основу блока 4 матричного поиска, обусловливает реализацию устройства для параллельного поиска и обработки данных на СБИС программируемой логики (FPGA, CPLD, FLEX и др.) для необходимых разрядностей n, m образца и текста соответственно.The homogeneous structure of the search cells 34 11 -34 nm , which formed the basis of block 4 of the matrix search, determines the implementation of the device for parallel search and data processing on VLSI programmable logic (FPGA, CPLD, FLEX, etc.) for the required bits of n, m of the sample and text, respectively .

Используемые источникиSources used

1. Кулик, Б.А. Система поиска слов в произвольном тексте /Б.А.Кулик// Программирование. 1987. №1. С.49-50.1. Kulik, B.A. A system for searching words in arbitrary text / B.A. Kulik // Programming. 1987. No. 1. S.49-50.

2. Максимов, В. Алгоритмы поиска, или как искать неизвестно что /В. Максимов// Монитор. 1995. №6. С.10-15.2. Maksimov, V. Search algorithms, or how to search, it is not known what / V. Maximov // Monitor. 1995. No. 6. S.10-15.

3. А.с. 1485254 СССР, МКИ G06F 12/00. Устройство для адресации по содержанию блока памяти / А.Кулик, Э.В.Рахов, Н.Н.Востров, Т.П.Кониец - №4313200/24-24, заявл. 05.10.87; опубл. 07.06.89, Бюл.№21. 10 с., ил.3. A.S. 1485254 USSR, MKI G06F 12/00. A device for addressing the contents of the memory unit / A.Kulik, E.V. Rakhov, N.N. Vostrov, T.P. Koniyets - No. 4313200 / 24-24, decl. 10/05/87; publ. 06/07/89, Bull. No. 21. 10 s., Ill.

Claims (1)

Устройство для параллельного поиска и обработки данных, содержащее первый и второй блоки хранения и сравнения ассоциативных признаков, блок памяти логических векторов и операционный блок, причем информационные входы первого и второго блоков хранения и сравнения ассоциативных признаков являются соответственно первым и вторым информационными входами устройства, а выходы блоков хранения и сравнения ассоциативных признаков соединены соответственно с первым и вторым адресными входами блока памяти логических векторов, входы задания режимов первого и второго блоков хранения и сравнения ассоциативных признаков и вход записи-считывания блока памяти логических векторов являются соответственно первым, вторым и третьим входами задания режимов устройства, а четвертый, пятый, шестой входы задания режимов устройства соответственно соединены с тремя входами кодов операций операционного блока, первый выход которого является первым выходом устройства, первый вход начальной установки устройства подключен к входу начальной установки операционного блока, второй вход начальной установки - к входам начальной установки первого и второго блоков хранения и сравнения ассоциативных признаков, первый и второй выходы блока памяти логических векторов подключены соответственно к первому и второму информационным входам операционного блока, отличающееся тем, что в него дополнительно введены, во-первых, дополнительный однобитовый выход в дешифраторе команд операционного блока, дополнительно введенный однобитовый выход в дешифраторе команд является вторым выходом операционного блока, во-вторых, блок матричного поиска, имеющего четыре входа и один выход, причем первый вход начальной установки устройства подключен к первому входу блока матричного поиска, второй вход которого соединен со вторым выходом операционного блока, третий и четвертый входы блока матричного поиска являются соответственно третьим и четвертым информационными входами устройства, а выход блока матричного поиска является вторым выходом устройства, при этом блок матричного поиска содержит элемент задержки, n регистров для хранения кодов символов образца разрядностью р бит каждый, m регистров для хранения кодов символов текста разрядностью р бит каждый, k триггеров позиций, а также характеристическую матрицу, состоящую из поисковых ячеек и имеющую геометрическую форму параллелограмма, размер матрицы - n×k поисковых ячеек (k=m-n+1 - количество строк, а также диагоналей в матрице), при этом каждый регистр для хранения кодов символов образца и каждый регистр для хранения кодов символов текста имеют соответственно три входа (первый и второй управляющие входы и третий информационный р-разрядный вход) и один р-разрядный выходу, каждая поисковая ячейка имеет три информационных входа (первый и второй входы разрядностью р бит каждый, третий - одноразрядный вход) и один выход, каждый триггер позиции имеет соответственно три входа (первый и второй управляющие входы и третий информационный вход) и один выход, каждая поисковая ячейка содержит двухвходовую схему сравнения на равенство р-разрядных кодов символов образца и текста и двухвходовой элемент И, причем первый и второй р-разрядные входы поисковой ячейки соединены соответственно с первым и вторым р-разрядными входами двухвходовой схемы сравнения на равенство соответственно, выход которой является первым входом двухвходового элемента И, второй вход которого соединен с третьим входом поисковой ячейки, выходом которой является выход двухвходового элемента И, причем первые р-разрядные входы всех поисковых ячеек i-й строки матрицы (i=1-n) соединены с р-разрядным выходом i-го регистра для хранения символа образца, р-разрядный выход j-го регистра для хранения кода символа текста (j=1-m) соединен соответственно со вторыми р-разрядными входами всех поисковых ячеек, входящих в j-й столбец матрицы, выход (i,j)-й поисковой ячейки, кроме i=l (первая строка матрицы), соединен с третьим входом (i-1,j-1)-й поисковой ячейки, кроме i=n (последняя строка матрицы), выход i-й (i=1-k) поисковой ячейки, расположенной в первой строке матрицы, соединен с третьим входом i-го триггера позиции, на третий вход каждой поисковой ячейки, расположенной в последней строке матрицы, подано значение логической «1», первый вход блока матричного поиска соединен соответственно с первыми входами n регистров для хранения кодов символов образца, а также с первыми входами m регистров для хранения кодов символов текста и первыми входами k триггеров позиций, второй вход «Запись строк» блока матричного поиска соединен со входом элемента задержки и со вторыми входами n регистров для хранения кодов символов образца и вторыми входами m регистров для хранения кодов символов текста соответственно, выход элемента задержки соединен со вторыми входами k триггеров позиций, выходы которых образуют информационный k-разрядный выход блока матичного поиска, третий вход блока матричного поиска состоит из n групп по р разрядов каждая группа, кодирующих символы образца, причем i-я группа разрядов (i=1-n) подается на третий р-разрядный вход i-го регистра для хранения кода символа образца, четвертый вход блока матричного поиска состоит из m групп разрядов по р разрядов каждая группа, кодирующих символы текста, причем j-я группа разрядов (j=1-m) подается на третий р-разрядный вход j-го регистра для хранения кода символов текста, каждая двухвходовая схема сравнения на равенство в составе поисковой ячейки состоит из р двухвходовых элементов суммы по модулю два с инверсией, на первые входы которых подается соответствующий разряд из i-й р-разрядной группы третьего входа блока матричного поиска, а на вторые входы двухвходовых элементов суммы по модулю два с инверсией - соответствующий разряд из j-й р-разрядной группы четвертого входа блока матричного поиска, выходы всех двухвходовых элементов суммы по модулю два с инверсией соединены с р-входовым элементом И, выход которого является выходом двухвходовой схемы сравнения на равенство.
Figure 00000001
A device for parallel search and data processing, containing the first and second blocks for storing and comparing associative signs, a logical vector memory block and an operation block, the information inputs of the first and second blocks for storing and comparing associative signs are the first and second information inputs of the device, respectively, and the outputs blocks for storing and comparing associative signs are connected respectively to the first and second address inputs of the logical vector memory block; the first and second blocks for storing and comparing associative signs and the write / read input of the logical vector memory block are the first, second, and third inputs of the device mode settings, and the fourth, fifth, and six device mode inputs are respectively connected to the three inputs of the operation unit operation codes the first output of which is the first output of the device, the first input of the initial installation of the device is connected to the input of the initial installation of the operating unit, the second input of the initial installation - to the inputs of the initial installation of the first and second blocks of storage and comparison of associative signs, the first and second outputs of the logical vector memory block are connected respectively to the first and second information inputs of the operational block, characterized in that it is additionally introduced, firstly, an additional one-bit the output in the instruction decoder of the operation unit, the additionally entered single-bit output in the instruction decoder is the second output of the operation unit, secondly, the matrix search unit, and having four inputs and one output, and the first input of the initial installation of the device is connected to the first input of the matrix search unit, the second input of which is connected to the second output of the operation unit, the third and fourth inputs of the matrix search unit are the third and fourth information inputs of the device, and the output of the unit matrix search is the second output of the device, while the matrix search block contains a delay element, n registers for storing sample character codes with a bit size of p bits each, m re Istr for storing text character codes with a bit size of p bits each, k position triggers, as well as a characteristic matrix consisting of search cells and having a parallelogram geometric shape, matrix size is n × k search cells (k = m-n + 1 is the number of lines, as well as diagonals in the matrix), with each register for storing sample character codes and each register for storing text character codes respectively have three inputs (first and second control inputs and a third information p-bit input) and one p-bit output, each Each search cell has three information inputs (the first and second inputs are each bit each, the third is a single-bit input) and one output, each position trigger has three inputs (first and second control inputs and a third information input), and one output, each search the cell contains a two-input comparison circuit for the equality of p-bit character codes of the sample and text and a two-input element And, and the first and second p-bit inputs of the search cell are connected respectively to the first and second p-bit inputs two-input comparison scheme for equality, respectively, the output of which is the first input of the two-input element And, the second input of which is connected to the third input of the search cell, the output of which is the output of the two-input element And, the first p-bit inputs of all search cells of the i-th row of the matrix (i = 1-n) are connected to the p-bit output of the i-th register for storing the sample character, the p-bit output of the j-th register for storing the text character code (j = 1-m) is connected respectively to the second p-bit inputs of all search cells included in the j-th column of the matrix, the output of the (i, j) -th search cell, except for i = l (the first row of the matrix), is connected to the third input of the (i-1, j-1) -th search cell, except for i = n (the last row of the matrix), the output of the i-th (i = 1-k) search cell located in the first row of the matrix is connected to the third input of the i-th position trigger, to the third input of each search cell located in the last row of the matrix , the value of logical “1” is applied, the first input of the matrix search block is connected respectively to the first inputs of n registers for storing the character codes of the sample, and e with the first inputs of m registers for storing text character codes and the first inputs of k position triggers, the second input “Record strings” of the matrix search block is connected to the input of the delay element and to the second inputs of n registers for storing the character codes of the sample and the second inputs of m registers for storing character codes of the text, respectively, the output of the delay element is connected to the second inputs of k position triggers, the outputs of which form the information k-bit output of the math search block, the third input of the matrix search block consists of of n groups of p bits each group encoding the symbols of the sample, and the i-th group of bits (i = 1-n) is fed to the third p-bit input of the i-th register to store the code of the symbol of the sample, the fourth input of the matrix search block consists of m groups of bits of p bits each group encoding characters of the text, and the j-th group of bits (j = 1-m) is fed to the third p-bit input of the j-th register to store the code of the characters of the text, each two-input equality comparison circuit in the composition of the search cell consists of p two-input elements of the sum modulo two with inversion, to the first inputs of which the corresponding bit from the i-th p-bit group of the third input of the matrix search block is supplied, and to the second inputs of two-input elements of the sum modulo two with inversion - the corresponding bit from the j-th p-bit group of the fourth the input of the matrix search block, the outputs of all two-input elements of the sum modulo two with inversion are connected to the p-input element And, the output of which is the output of the two-input comparison circuit to equality.
Figure 00000001
RU2007149075/22U 2007-12-25 2007-12-25 DEVICE FOR PARALLEL SEARCH AND DATA PROCESSING RU72771U1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2007149075/22U RU72771U1 (en) 2007-12-25 2007-12-25 DEVICE FOR PARALLEL SEARCH AND DATA PROCESSING

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2007149075/22U RU72771U1 (en) 2007-12-25 2007-12-25 DEVICE FOR PARALLEL SEARCH AND DATA PROCESSING

Publications (1)

Publication Number Publication Date
RU72771U1 true RU72771U1 (en) 2008-04-27

Family

ID=39453392

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2007149075/22U RU72771U1 (en) 2007-12-25 2007-12-25 DEVICE FOR PARALLEL SEARCH AND DATA PROCESSING

Country Status (1)

Country Link
RU (1) RU72771U1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2549525C2 (en) * 2013-07-15 2015-04-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Юго-Западный государственный университет" (ЮЗ ГУ) Method and apparatus for searching for composite sample in sequence
RU2762781C1 (en) * 2021-02-26 2021-12-22 Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) (RU) Matrix device for parallel search of occurrences and data processing
RU2789997C1 (en) * 2022-04-21 2023-02-14 Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) Method and matrix device for parallel-pipeline pattern match search

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2549525C2 (en) * 2013-07-15 2015-04-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Юго-Западный государственный университет" (ЮЗ ГУ) Method and apparatus for searching for composite sample in sequence
RU2762781C1 (en) * 2021-02-26 2021-12-22 Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) (RU) Matrix device for parallel search of occurrences and data processing
RU2789997C1 (en) * 2022-04-21 2023-02-14 Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) Method and matrix device for parallel-pipeline pattern match search
RU223472U1 (en) * 2023-11-14 2024-02-19 Общество с ограниченной ответственностью Центр системной безопасности "ЩИТ-ИНФОРМ" DEVICE FOR PROCESSING DESCRIPTORS AND PARALLEL SEARCHING FOR INTERNETWORK INTERACTION CANDIDATES

Similar Documents

Publication Publication Date Title
US9111615B1 (en) RAM-based ternary content addressable memory
US4053871A (en) Method and system for the iterative and simultaneous comparison of data with a group of reference data items
EP0180239A2 (en) Content-addressable memory
US6760821B2 (en) Memory engine for the inspection and manipulation of data
US3290659A (en) Content addressable memory apparatus
JP2737173B2 (en) Symbol string collating device and its control method
US3435423A (en) Data processing system
Chowdhury et al. A DNA read alignment accelerator based on computational RAM
JP6229024B2 (en) A memory having an information search function, a method of using the same, an apparatus, and an information processing method.
US3456243A (en) Associative data processing system
CN1739164B (en) Method and apparatus for wide word deletion in content addressable memories
RU72771U1 (en) DEVICE FOR PARALLEL SEARCH AND DATA PROCESSING
RU84615U1 (en) ASSOCIATIVE MEMORIAL MATRIX
US3336580A (en) Sorting system for multi-bit binary digital records
RU2430408C1 (en) Device for parallel search for word inclusions and coincidence
US8626688B2 (en) Pattern matching device and method using non-deterministic finite automaton
RU2549525C2 (en) Method and apparatus for searching for composite sample in sequence
RU163442U1 (en) DEVICE FOR PARALLEL SEARCH FOR COMPOSITE SAMPLE
RU2469425C2 (en) Associative memory matrix for masked inclusion search
RU223472U1 (en) DEVICE FOR PROCESSING DESCRIPTORS AND PARALLEL SEARCHING FOR INTERNETWORK INTERACTION CANDIDATES
RU2762781C1 (en) Matrix device for parallel search of occurrences and data processing
RU2787742C1 (en) Matrix device for fast occurrence search and data processing
KR102608683B1 (en) Natural language processing with knn
RU2776602C1 (en) Matrix apparatus for parallel search of a composite sample
US20040210727A1 (en) Associative memory device

Legal Events

Date Code Title Description
MM1K Utility model has become invalid (non-payment of fees)