RU2430408C1 - Device for parallel search for word inclusions and coincidence - Google Patents
Device for parallel search for word inclusions and coincidence Download PDFInfo
- Publication number
- RU2430408C1 RU2430408C1 RU2010112170/08A RU2010112170A RU2430408C1 RU 2430408 C1 RU2430408 C1 RU 2430408C1 RU 2010112170/08 A RU2010112170/08 A RU 2010112170/08A RU 2010112170 A RU2010112170 A RU 2010112170A RU 2430408 C1 RU2430408 C1 RU 2430408C1
- Authority
- RU
- Russia
- Prior art keywords
- input
- search
- output
- bit
- inputs
- Prior art date
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Изобретение относится к области вычислительной техники и информатики, может быть использовано в высокопроизводительных поисковых системах и системах обработки данных и знаний, ориентированных на организацию параллельных вычислений, в специализированных вычислительных устройствах и системах обработки символьной информации, в устройствах управления потоками данных в информационно-вычислительных сетях или сетях связи, в системах орфографического и синтаксического контроля текстов, в системах обучения и принятия решений и др.The invention relates to the field of computer engineering and informatics, can be used in high-performance search systems and data processing systems and knowledge oriented to the organization of parallel computing, in specialized computing devices and symbol information processing systems, in devices for managing data streams in computer networks or communication networks, in systems of spelling and syntactic control of texts, in training and decision-making systems, etc.
Пусть заданы линейные конструктивные объекты x - образец длиной n символов и y - текст длиной m символов, составленные как цепочки символов конечного алфавита, где n>0, m>0 и n≤m. Требуется найти позиции всех вхождений x в y (далее условимся называть вхождение), т.е. определить все значения i, при которых у(i, i+n-1)=x(1, n), где 1≤i≤k, k=m-n+1. Также необходимо найти позиции всех пересечений собственного начала образца x с собственным окончанием текста у (далее условимся называть «пересечение 1»), т.е. определить все такие i, при которых y(i, m)=x(1, m-i+1), где k+1≤i<m, k=m-n+1, и необходимо найти позиции всех пересечений собственного окончания образца x с собственным началом текста y (далее условимся называть «пересечение 2»), т.е. определить все такие i, при которых y(1, i)=x(n-i+1, n), где 1≤i<n. Таким образом, в обобщенной задаче требуется найти все вхождения и все указанные пересечения.Let linear constructive objects be given x — a pattern of length n characters and y — text of length m characters, composed as chains of characters of a finite alphabet, where n> 0, m> 0 and n≤m. It is required to find the positions of all occurrences of x in y (hereinafter we will agree to call the occurrence), i.e. determine all the values of i for which y (i, i + n-1) = x (1, n), where 1≤i≤k, k = m-n + 1. It is also necessary to find the positions of all intersections of the proper start of pattern x with the proper end of the text y (hereinafter we will call “
Обработка данных и знаний в системах символьных вычислений основана не только на операциях поиска вхождений, но и на нахождении позиций «пересечений 1» и «пересечений 2». При обнаружении вхождений образца в обрабатываемом тексте необходимо выполнять множественные отступы (возвраты) в пространстве как образца, так и текста. Множественные отступы при поиске вхождений и пересечений образца связаны с выполнением непродуктивных шагов сопоставления и приводят к непродуктивным затратам времени. При реализации технического решения необходимо так организовать поиск позиций вхождений, «пересечений 1» и «пересечений 2», чтобы исключить необходимость возвратных отступов при обнаружении вхождений и этим повысить быстродействие работы на операциях поиска.Data and knowledge processing in symbolic computing systems is based not only on occurrence search operations, but also on finding the positions of “
Известен алгоритм поиска СДВИГ-И, позволяющий последовательно отыскивать все вхождения образца в тексте. Суть алгоритма состоит в построении и обработке характеристических векторов. Недостатком данного алгоритма является последовательная обработка m векторов-столбцов, что приводит к избыточным затратам времени за счет m-кратного обращения к памяти символов текста для вычисления текущего вектора-столбца.A well-known search algorithm SHDIG-I, allowing you to consistently find all occurrences of the sample in the text. The essence of the algorithm is the construction and processing of characteristic vectors. The disadvantage of this algorithm is the sequential processing of m column vectors, which leads to excessive time costs due to m-times access to the text character memory to calculate the current column vector.
Также известно устройство поиска произвольных вхождений (патент № RU 2202823 С2, МКП G06F 17/30). Недостатком этого устройства является последовательный способ обработки текста и образца с отступами при обработке частичных вхождений.A device for searching for arbitrary occurrences is also known (patent No. RU 2202823 C2, MCP G06F 17/30). The disadvantage of this device is a consistent way of processing text and a pattern with indentation when processing partial occurrences.
Наиболее близким устройством к заявляемому является устройство для параллельного поиска и обработки данных, состоящее из двух блоков хранения и сравнения ассоциативных признаков, блока памяти логических векторов, операционного блока и блока матричного поиска (патент № RU 72771 U1, МКП G06F 12/00), выполняющее параллельную обработку совокупности характеристических векторов, объединенных в двумерную матрицу поиска.The closest device to the claimed is a device for parallel search and data processing, consisting of two blocks for storing and comparing associative features, a logical vector memory block, an operation block and a matrix search block (patent No. RU 72771 U1, MCP G06F 12/00), performing parallel processing of a set of characteristic vectors combined in a two-dimensional search matrix.
Недостатком этого устройства является ограниченная функциональность - устройство позволяет осуществлять только поиск всех вхождений образца в текст. Характеристическая матрица поиска имеет геометрическую форму параллелограмма, что не позволяет этому устройству решать задачу поиска пересечений.The disadvantage of this device is its limited functionality - the device allows you to only search for all occurrences of the sample in the text. The characteristic search matrix has a geometric parallelogram shape, which does not allow this device to solve the intersection search problem.
Технической задачей изобретения является расширение функциональных возможностей за счет ввода дополнительных элементов, что позволит отыскивать не только все вхождения образца в текст, но и все вышеобозначенные пересечения образца с текстом.An object of the invention is the expansion of functionality by introducing additional elements that will allow you to find not only all occurrences of the sample in the text, but also all of the above intersections of the sample with the text.
Техническая задача решается тем, что в устройство для параллельного поиска и обработки данных, содержащее первый и второй блоки хранения и сравнения ассоциативных признаков, блок памяти логических векторов и операционный блок, причем информационные входы первого и второго блоков хранения и сравнения ассоциативных признаков являются соответственно первым и вторым информационными входами устройства, а выходы блоков хранения и сравнения ассоциативных признаков соединены соответственно с первым и вторым адресными входами блока памяти логических векторов, входы задания режимов первого и второго блоков хранения и сравнения ассоциативных признаков и вход записи-считывания блока памяти логических векторов являются соответственно первым, вторым и третьим входами задания режимов устройства, а четвертый, пятый, шестой входы задания режимов устройства соответственно соединены с тремя входами кодов операций операционного блока, первый выход которого является первым выходом устройства, первый вход начальной установки устройства подключен к входу начальной установки операционного блока, второй вход начальной установки - к входам начальной установки первого и второго блоков хранения и сравнения ассоциативных признаков, первый и второй выходы блока памяти логических векторов подключены соответственно к первому и второму информационным входам операционного блока устройства, дополнительно введены, во-первых, блок матричного поиска вхождений и пересечений слов, имеющий четыре входа и три выхода, во-вторых, дополнительный однобитовый выход (второй выход) операционного блока, причем первый вход блока матричного поиска вхождений и пересечений слов соединен с первым входом начальной установки устройства, второй вход подключен ко второму выходу операционного блока, третий и четвертый входы блока матричного поиска вхождений и пересечений слов являются, соответственно, третьим и четвертым информационными входами устройства, первый, второй и третий выходы блока матричного поиска вхождений и пересечений слов являются соответственно вторым, третьим и четвертым выходами устройства. Блок матричного поиска вхождений и пересечений слов содержит один элемент задержки, n регистров кода символа образца разрядностью р бит каждый символ, m регистров кода символа текста разрядностью р бит каждый символ, а также характеристическую матрицу, состоящую из поисковых ячеек, геометрическая форма которой представляет собой прямоугольник размером m*n, где n - длина образца, m - длина текста, k триггеров позиции вхождений, триггеры позиции пересечения образца с текстом количеством 2*(n-1), в их числе n-1 триггеров позиции «пересечения 1», и n-1 триггеров позиции «пересечения 2», при этом каждый регистр кода символа образца и каждый регистр кода символа текста имеют соответственно по три входа (первый и второй управляющие входы и третий информационный р-разрядный вход) и один р-разрядный выход, каждая поисковая ячейка имеет три информационных входа (первый и второй входы разрядностью р бит каждый, третий - одноразрядный вход) и один выход, каждый триггер позиции вхождения, каждый триггер позиции «пересечения 1» и каждый триггер позиции «пересечения 2» имеют соответственно по три входа (первый и второй управляющие входы и третий информационный вход) и один выход, каждая поисковая ячейка содержит двухвходовую схему сравнения на равенство р-разрядных кодов символов образца и текста и двухвходовой элемент И, причем первый p-разрядный вход поисковых ячеек i-й строки (i=1…n) соединен с p-разрядным выходом i-го регистра кода символа образца, второй р-разрядный вход поисковых ячеек j-го столбца (j=1…m) соединен с p-разрядным выходом j-го регистра кода символа текста, выход (i, j)-й (i=2…n, j=2…m) поисковой ячейки соединен с третьим входом (i-1, j-1) поисковой ячейки, выход (i, j)-й (i=1, j=1…k) поисковой ячейки соединен с третьим входом j-го триггера позиции вхождения, выход (i, j)-й (i=1, j=k+1…m) поисковой ячейки соединен с третьим входом (j-k)- ого триггера позиции «пересечения 1», выход (i,j)-й (i=2…n, j=1) поисковой ячейки соединен с третьим входом (i-1)-го триггера позиции «пересечения 2», третий вход (i, j)-й (i=n, j=1…m-l и i=1…n, j=m) поисковой ячейки, т.е. нижняя строка и правый столбец характеристической матрицы, предназначен для подачи начального значения - логическая «1» - для организации поиска, вход начальной установки соединен с первым входом n-1 триггеров позиции «пересечения 1», с первым входом n-1 триггеров позиции «пересечения 2», с первым входом n регистров кода символа образца и m регистров кода символа текста, а также с первым входом k триггеров позиций вхождения, вход «Запись строк» соединен со вторым входом n регистров кода символа образца и m регистров кода символа текста, а также с входом элемента задержки, выход которого соединен со вторым входом n-1 триггеров позиции «пересечения 1», со вторым входом n-1 триггеров позиции «пересечения 2» и со вторым входом k триггеров позиции вхождения, выходы k триггеров позиции вхождения, n-1 триггеров позиции «пересечения 1» и n-1 триггеров позиции «пересечения 2» являются, соответственно, первым k-разрядным, вторым n-1-разрядным и третьим n-1-разрядным информационными выходами блока матричного поиска вхождений и пересечений слов, третий вход блока матричного поиска вхождений и пересечений слов состоит из n групп по р разрядов каждая группа, кодирующих символы образца, причем i-ая группа разрядов (i=1…n) подается на третий p-разрядный вход i-го регистра кода символа образца, четвертый вход блока матричного поиска вхождений и пересечений слов состоит из m групп разрядов по р разрядов каждая группа, кодирующих символы текста, причем j-ая группа разрядов (j=1…m) подается на третий p-разрядный входу j-го регистра кода символа текста, поисковые ячейки, содержащие р двухвходовых элементов сравнения (сумма по модулю 2 с инверсией), первый вход l-го (l=1…р) элемента сравнения соединен с l-м разрядом p-разрядного выхода регистра кода символа образца, второй вход l-го (l=1…р) элемента сравнения соединен с l-м разрядом p-разрядного выхода регистра кода символа текста, выход l-го (l=1…р) элемента сравнения соединен с p-входовым элементом И, выход которого, являющийся выходом двухвходовой схемы сравнения на равенство, соединен с первым входом двухвходового элемента И, второй вход которого является третьим входом поисковой ячейки, а выход двухвходового элемента И является выходом поисковой ячейки.The technical problem is solved in that in a device for parallel search and processing of data 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 the first and the second information inputs of the device, and the outputs of the storage units and comparison of associative features are connected respectively with the first and second address inputs of the memory unit logical vectors, the inputs of the job modes of the first and second blocks of storage and comparison of associative signs and the write-read input of the memory block of the logical vectors are the first, second and third inputs of the job of the device modes, and the fourth, fifth, sixth inputs of the job of the device modes are respectively connected to three the 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 opera unit, the second input of the initial installation - to the inputs of the initial installation of the first and second blocks for storing and comparing associative features, the first and second outputs of the logical vector memory block are connected respectively to the first and second information inputs of the device’s operating unit, additionally, firstly, the unit matrix search for entries and intersections of words, having four inputs and three outputs, secondly, an additional single-bit output (second output) of the operating unit, and the first input of the block is matrix The first search for occurrences and intersections of words is connected to the first input of the initial installation of the device, the second input is connected to the second output of the operation unit, the third and fourth inputs of the matrix search block for occurrences and intersections of words are, respectively, the third and fourth information inputs of the device, the first, second and third the outputs of the block matrix search for occurrences and intersections of words are, respectively, the second, third and fourth outputs of the device. The matrix block for the entries and intersections of words contains one delay element, n sample symbol code registers with a bit width of p bits each character, m text symbol code registers with a width of p bits each character, and also a characteristic matrix consisting of search cells, the geometric shape of which is a rectangle size m * n, where n is the length of the sample, m is the length of the text, k triggers of the position of occurrences, triggers of the position of intersection of the sample with text of 2 * (n-1), including n-1 triggers of the position of “
Сущность изобретения поясняется чертежами, где на фиг.1 представлена структурная схема устройства для параллельного поиска вхождений и пересечений слов, на фиг.2 - функциональная схема блока матричного поиска вхождений и пересечений слов, на фиг.3 - функциональная схема поисковой ячейки характеристической матрицы, на фиг.4 - пример параллельного поиска вхождений и пересечений слов, на фиг.5 - временные диаграммы работы на операции «ПОИСК ВХОЖДЕНИИ И ПЕРЕСЕЧЕНИЙ» («ПВП»).The invention is illustrated by drawings, in which Fig. 1 shows a block diagram of a device for parallel search of occurrences and intersections of words, Fig. 2 is a functional diagram of a block matrix search for entries and intersections of words, Fig. 3 is a functional diagram of a search cell of a characteristic matrix, figure 4 is an example of a parallel search for occurrences and intersections of words, figure 5 is a timing diagram of the operation on the operation "SEARCH FOR ENTRANCE AND INTERSECTION" ("PVP").
Устройство для параллельного поиска вхождений и пересечений слов (фиг.1) содержит блоки 11 и 12 хранения и сравнения ассоциативных признаков, блок 2 памяти логических векторов, операционный блок 3, блок 4 матричного поиска вхождений и пересечений слов, информационные входы 41 42, 43 и 44, информационные выходы 51-54, входы 61-66 задания режима работы, входы 71 и 72 начальной установки.A device for the parallel search of occurrences and intersections of words (Fig. 1) contains
Блоки 11, 12, 2, 3 строго соответствуют устройству-прототипу в структурном и в функциональном отношении, состоят из совпадающих элементов и связей между ними.
Блок 4 матричного поиска содержит два управляющих входа: «Начальная установка» 71 (первый вход) и вход «Запись строк» (второй вход), третий и четвертый информационные входы для подачи символов образца и текста в параллельном коде через информационные входы 43 и 44 устройства, а также три информационных выхода, являющиеся вторым 52, третьим 53 и четвертым 54 выходом устройства. При этом второй управляющий вход блока 4 соединен со вторым выходом операционного блока 3.
Блок 4 матричного поиска вхождений и пересечений слов содержит элемент 31 задержки, состоящий из n пар инверторов, n регистров 321…32n кодов символов образца, m регистров 331…33m кодов символов текста, характеристическую матрицу поисковых ячеек 34n…34nm, k триггеров 371…37k позиций вхождения, n-1 триггеров 411…41n-1 позиции «пересечения 2», n-1 триггеров 401…40n-1 позиции «пересечения 1», причем регистр 32i (i=1…n) и регистр 33j (j=1…m) содержат первый и второй управляющие входы, третий p-разрядный информационный вход и один выход соответственно. Первые и вторые входы n регистров 321…32n кодов символов образца и первые и вторые входы m регистров 33 кодов символов текста соединены соответственно с первым и вторым управляющими входами блока 4 матричного поиска вхождений и пересечений слов, третий вход которого разрядностью р·n бит предназначен для параллельной записи образца в регистры 321…32n и состоит из n групп разрядов по р разрядов каждая группа, кодирующих символы образца, причем i-ая группа разрядов (i=1…n) подается на третий p-разрядный вход регистра 32i (i=1…n), четвертый вход блока 4 матричного поиска вхождений и пересечений слов разрядностью р-m бит предназначен для параллельной записи текста в регистры 33i…33m и состоит из m групп разрядов по р разрядов каждая группа, кодирующих символы текста, причем j-ая группа разрядов (j=1…m) подается на третий p-разрядный вход регистра 33j (j=1…m). Второй управляющий вход блока 4 матричного поиска вхождений и пересечений слов также соединен со входом элемента 31 задержки.
Характеристическая матрица поисковых ячеек 3411-34nm размером m*n ячеек имеет форму прямоугольника, что обеспечивает направление поиска по всем диагоналям, проходящим через ячейки следующим образом:The characteristic matrix of the search cells 34 11 -34 nm in size m * n cells has the shape of a rectangle, which ensures the direction of the search along all diagonals passing through the cells as follows:
l-я (l=1…n-1) диагональ, по которой происходит поиск «пересечений 1», проходит через l поисковых ячеек 34ij, где i=l…1, j=m…m-l+1;The l-th (l = 1 ... n-1) diagonal along which the search for “
f-я (f=n…m) диагональ, по которой происходит поиск вхождений, проходит через n поисковых ячеек 34ij, где i=n…1, j=m-f+n…m-f+1;the f-th (f = n ... m) diagonal along which the search for entries occurs passes through n search cells 34 ij , where i = n ... 1, j = m-f + n ... m-f + 1;
g-я (g=m+1…m+n-l) диагональ, по которой происходит поиск «пересечений 2», проходит через n+m-g поисковых ячеек 34ij, где i=n…g-m+1, j=g-n+1…m.the gth (g = m + 1 ... m + nl) diagonal along which the search for “
Первые p-разрядные входы m поисковых ячеек i-ой строки характеристической матрицы (i=1…n) соединены с p-разрядным выходом регистра 32i. Выход p-разрядного регистра 33j (j=1…m) соединен со вторыми p-разрядными входами всех поисковых ячеек, входящих в j-ый столбец матрицы. Выход каждой поисковой ячейки 34ij, кроме i=1, j=1…n (верхняя строка характеристической матрицы), кроме i=2…m, j=1 (левый столбец характеристической матрицы), соединен с третьим входом поисковой ячейки 34i-1j-1. Выход поисковой ячейки 34ij (i=2…m, j=1), расположенной в левом столбце характеристической матрицы, соединен с информационным входом 3 триггера 41j-i позиции «пересечения 2», выход поисковой ячейки 34ij (i=1, j=1…k), расположенной в верхней строке характеристической матрицы, соединен с информационным входом 3 триггера 37j позиции вхождения, выход поисковой ячейки 34ij (i=1, j=k+1...m), соединен с информационным входом 3 триггера 40j-k позиции «пересечения 1», третий вход каждой поисковой ячейки, расположенной в нижней n-ой строке матрицы и в правом m-ом столбце матрицы, предназначен для подачи значения логической «1», задавая тем самым начальное значение для поиска по соответствующей диагонали от нижней строки характеристической матрицы к ее верхней строке.The first p-bit inputs m of the search cells of the i-th row of the characteristic matrix (i = 1 ... n) are connected to the p-bit output of the register 32 i . The output of the p-bit register 33 j (j = 1 ... m) is connected to the second p-bit inputs of all the search cells included in the j-th column of the matrix. The output of each search cell 34 ij , except for i = 1, j = 1 ... n (the top row of the characteristic matrix), except for i = 2 ... m, j = 1 (the left column of the characteristic matrix), is connected to the third input of the search cell 34 i- 1j-1 . The output of the search cell 34 ij (i = 2 ... m, j = 1) located in the left column of the characteristic matrix is connected to the
Триггеры 371-37k позиции вхождения, триггеры 411-41n-1 позиции «пересечения 2», триггеры 401-40n-1 позиции «пересечения 1» хранят результат поиска в виде соответственно k-разрядного, n-1-разрядного, n-1-разрядного кодов, в которых значением логической «1» отмечены позиции начала вхождений образца в текст, «пересечений 2» и «пересечений 1» соответственно. Триггеры 37i позиции вхождения (i=1…k), триггеры 41j позиции «пересечения 2» (j=1…n-1), триггеры 40j позиций «пересечения 1» (j=1…n-1) содержат по три входа (первый и второй управляющие, третий одноразрядный информационный вход) и один выход соответственно каждый. Первый вход блока 4 матричного поиска вхождений и пересечений слов соединен с первыми входами k триггеров 37 позиции вхождения, n-1 триггеров 41 позиции «пересечения 2», n-1 триггеров 40 позиции «пересечения 1», вторые входы k триггеров 37 позиций вхождения, n-1 триггеров 41 позиций «пересечения 2», n-1 триггеров 40 позиций «пересечения 1» соединены с выходом элемента 31 задержки. Выходы триггеров 371-37k позиций вхождения образуют первый k-разрядный информационный выход блока 4 матричного поиска вхождений и пересечений слов, выходы триггеров 411-41n-1 позиций «пересечения 2» образуют второй n-1-разрядный информационный выход блока 4 матричного поиска вхождений и пересечений слов, выходы триггеров 401-40n-1 позиций «пересечения 1» образуют третий n-1-разрядный информационный выход блока 4 матричного поиска вхождений и пересечений слов, являющиеся соответственно выходами 52, 53 и 54 устройства.Triggers 37 1 -37 k of entry position, triggers 41 1 -41 n-1 of
Данное устройство, как и устройство-прототип, работает в режимах «Запись» и «Операция». Режим «Запись» строго соответствует алгоритму, описанному в устройстве-прототипе.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, the operation performed in the device, previously designated as “PV”, is called “PVP” (search for the occurrence and intersection of words). It has an operation code that matches the operation code "PV", which is fed to the corresponding input of the operating mode code. To implement this additional functionality, the following additions are made to the algorithm of the “Operation” mode.
Пусть устройство выполняет режим «Операция» с кодом операции «ПВП». На вход 71 «Начальная установка» блока 4 матричного поиска вхождений и пересечений слов подается импульсный сигнал начальной установки, который сбрасывает в нулевое состояние k триггеров 37 позиций вхождения, n-1 триггеров 41 позиций «пересечения 2», n-1 триггеров 40 позиций «пересечения 1» по их входу 1, n регистров 32 по их входу 1 и m регистров 33 по их входу 1. После окончания действия сигнала начальной установки на второй вход «Запись строк» блока 4 матричного поиска вхождений и пересечений слов подается импульсный сигнал от операционного блока. Данный импульсный сигнал по входу «Запись строк» блока 4 матричного поиска вхождений и пересечений слов подается соответственно на вторые входы разрешения записи n регистров 32 кодов символов образца и на вторые входы разрешения записи m регистров 33 кодов символов текста, обеспечивая тем самым запись n символов образца и m символов текста в параллельном коде с входов 43 и 44 устройства соответственно. Также импульсный сигнал по входу «Запись строк» блока 4 матричного поиска вхождений и пересечений слов через элемент 31 задержки подается соответственно на вторые входы разрешения записи k триггеров 37 позиций вхождения, n-1 триггеров 41 позиций «пересечения 2», n-1 триггеров 40 позиций «пересечения 1». Элемент 31 задержки, выполненный в виде n пар инверторов, необходим для завершения процессов параллельного поиска вхождений и пересечений по диагоналям характеристической матрицы, состоящей из поисковых ячеек 3411-34nm.Let the device perform the “Operation” mode with the operation code “PVP”. Input 7 1 “Initial setting” of
Поиск начинается с ячеек нижней строки и правого столбца характеристической матрицы. Начальные m-битовый и n-битовый характеристические векторы, равные соответственно подаются соответственно на третьи входы поисковых ячеек n-ной (нижней) строки матрицы и на третьи входы поисковых ячеек m-ного (правого) столбца характеристической матрицы, которые соединены с входом логической «1», определяя тем самым направление параллельного поиска по всем диагоналям характеристической матрицы от поисковых ячеек нижней строки и правого столбца к поисковым ячейкам верхней строки и левого столбца характеристической матрицы включительно. Время параллельного поиска вхождений не зависит от количества диагоналей, а определяется величиной T=τкомп+nτи, где τи - время задержки в элементе 36 И, τкомп - время задержки в схеме сравнения 35. По завершении процессов поиска импульсный сигнал с выхода элемента 31 задержки через время T'=n2τинв (2τинв - время задержки на паре инверторов) записывает k-битовый результат поиска начала вхождений в триггеры 371-37k позиций вхождения, n-1-битовый результат поиска «пересечения 2» в триггеры 411…41n-1, n-1-битовый результат поиска «пересечения 1» в триггеры 401…40n-1. Выходы триггеров 371…37k позиций вхождения являются k-разрядным выходом блока 4 матричного поиска вхождений и пересечений слов и образуют первый выход устройства 52, n-1-разрядные выходы триггеров 411-41n-1 позиций «пересечения 2» и n-1-разрядные выходы триггеров 401…40n-1 позиций «пересечения 1» образуют второй и третий выходы устройства 53 и 54 соответственно. Наличие логических «1» в разряде информационного выхода 52 указывает на позиции вхождений образца в текст. Наличие логических «1» разряде информационного выхода 53 указывает позицию «пересечения 2» в тексте. Наличие логических «1» в разряде информационного выхода 54 указывает позицию «пересечения 1» в тексте. На фиг.4 (в) проиллюстрирована интерпретация результатов обработки характеристической матрицы.The search begins with the cells of the bottom row and the right column of the characteristic matrix. The initial m-bit and n-bit characteristic vectors, respectively equal respectively, are fed to the third inputs of the search cells of the nth (lower) row of the matrix and to the third inputs of the search cells of the mth (right) column of the characteristic matrix, which are connected to the input of logical “1”, thereby determining the direction of parallel search on all diagonals of the characteristic matrices from the search cells of the bottom row and the right column to the search cells of the top row and the left column of the characteristic matrix inclusive. The parallel search time for entries does not depend on the number of diagonals, but is determined by the value T = τ comp + nτ and , where τ and is the delay time in the element 36 I, and τ comp is the delay time in the comparison circuit 35. Upon completion of the search processes, the pulse signal from the output of the delay element 31 through the time T '= n2τ inv (2τ inv is the delay time on the pair of inverters) records the k-bit search result of occurrences of triggers 37 1 -37 k entry positions, the n-1-bit search result of “
Выполнение алгоритма в режиме «Операция» на остальных операциях строго соответствует устройству-прототипу.The execution of the algorithm in the "Operation" mode on the remaining operations strictly corresponds to the prototype device.
Таким образом, достигается расширение функциональности устройства за счет введения дополнительных элементов характеристической матрицы поиска, что позволяет осуществлять за одну операцию поиск всех позиций вхождения, всех позиций «пересечения 1» и всех позиций «пересечения 2».Thus, it is possible to expand the functionality of the device by introducing additional elements of the characteristic search matrix, which allows you to search in one operation for all entry positions, all positions of “
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2010112170/08A RU2430408C1 (en) | 2010-03-29 | 2010-03-29 | Device for parallel search for word inclusions and coincidence |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2010112170/08A RU2430408C1 (en) | 2010-03-29 | 2010-03-29 | Device for parallel search for word inclusions and coincidence |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2430408C1 true RU2430408C1 (en) | 2011-09-27 |
Family
ID=44804250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2010112170/08A RU2430408C1 (en) | 2010-03-29 | 2010-03-29 | Device for parallel search for word inclusions and coincidence |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2430408C1 (en) |
Cited By (4)
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 |
RU2760628C1 (en) * | 2021-02-25 | 2021-11-29 | Федеральное государственное бюджетное образовательное учреждение высшего образования «Юго-Западный государственный университет» (ЮЗГУ) (RU) | Method and associative matrix apparatus for parallel search of a sample based on the prefixes thereof |
RU2762781C1 (en) * | 2021-02-26 | 2021-12-22 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) (RU) | Matrix device for parallel search of occurrences and data processing |
RU2776602C1 (en) * | 2021-04-01 | 2022-07-22 | Федеральное государственное бюджетное образовательное учреждение высшего образования «Юго-Западный государственный университет» (ЮЗГУ) (RU) | Matrix apparatus for parallel search of a composite sample |
-
2010
- 2010-03-29 RU RU2010112170/08A patent/RU2430408C1/en not_active IP Right Cessation
Cited By (6)
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 |
RU2760628C1 (en) * | 2021-02-25 | 2021-11-29 | Федеральное государственное бюджетное образовательное учреждение высшего образования «Юго-Западный государственный университет» (ЮЗГУ) (RU) | Method and associative matrix apparatus for parallel search of a sample based on the prefixes thereof |
RU2762781C1 (en) * | 2021-02-26 | 2021-12-22 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) (RU) | Matrix device for parallel search of occurrences and data processing |
RU2776602C1 (en) * | 2021-04-01 | 2022-07-22 | Федеральное государственное бюджетное образовательное учреждение высшего образования «Юго-Западный государственный университет» (ЮЗГУ) (RU) | Matrix apparatus for parallel search of a composite sample |
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 |
---|---|---|
US11315626B2 (en) | Sort operation in memory | |
US11775296B2 (en) | Mask patterns generated in memory from seed vectors | |
US20240362020A1 (en) | Apparatus and methods related to microcode instructions indicating instruction types | |
US9898253B2 (en) | Division operations on variable length elements in memory | |
CN107209665B (en) | Generating and executing control flow | |
TW202001884A (en) | Memory computation circuit | |
Chowdhury et al. | A DNA read alignment accelerator based on computational RAM | |
RU2430408C1 (en) | Device for parallel search for word inclusions and coincidence | |
US20220019407A1 (en) | In-memory computation circuit and method | |
US3391390A (en) | Information storage and processing system utilizing associative memory | |
US11200029B2 (en) | Extendable multiple-digit base-2n in-memory adder device | |
RU84615U1 (en) | ASSOCIATIVE MEMORIAL MATRIX | |
US20190251127A1 (en) | Methods and apparatuses for searching data stored in a memory array using a replicated data pattern | |
RU72771U1 (en) | DEVICE FOR PARALLEL SEARCH AND DATA PROCESSING | |
RU223472U1 (en) | DEVICE FOR PROCESSING DESCRIPTORS AND PARALLEL SEARCHING FOR INTERNETWORK INTERACTION CANDIDATES | |
RU2549525C2 (en) | Method and apparatus for searching for composite sample in sequence | |
RU2789997C1 (en) | Method and matrix device for parallel-pipeline pattern match search | |
RU163442U1 (en) | DEVICE FOR PARALLEL SEARCH FOR COMPOSITE SAMPLE | |
RU2762781C1 (en) | Matrix device for parallel search of occurrences and data processing | |
RU2776602C1 (en) | Matrix apparatus for parallel search of a composite sample | |
RU2469425C2 (en) | Associative memory matrix for masked inclusion search | |
RU2787742C1 (en) | Matrix device for fast occurrence search and data processing | |
RU2509383C2 (en) | Method for parallel search and row replacement and homogeneous memory matrix for realising said method | |
US10430326B2 (en) | Precision data access using differential data | |
RU2760628C1 (en) | Method and associative matrix apparatus for parallel search of a sample based on the prefixes thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20120330 |