RU2582053C2 - Method and multifunctional associative matrix device for processing line data and solving tasks for recognising images - Google Patents

Method and multifunctional associative matrix device for processing line data and solving tasks for recognising images Download PDF

Info

Publication number
RU2582053C2
RU2582053C2 RU2014126652/08A RU2014126652A RU2582053C2 RU 2582053 C2 RU2582053 C2 RU 2582053C2 RU 2014126652/08 A RU2014126652/08 A RU 2014126652/08A RU 2014126652 A RU2014126652 A RU 2014126652A RU 2582053 C2 RU2582053 C2 RU 2582053C2
Authority
RU
Russia
Prior art keywords
input
matrix
inputs
elements
outputs
Prior art date
Application number
RU2014126652/08A
Other languages
Russian (ru)
Other versions
RU2014126652A (en
Inventor
Евгений Анатольевич Титенко
Дмитрий Сергеевич Гришин
Алексей Вячеславович Белокопытов
Александр Владимирович Крипачев
Владимир Борисович Журавлев
Владислав Андреевич Ханис
Александр Геннадьевич Курочкин
Владимир Сергеевич Панищев
Максим Александрович Шевченко
Original Assignee
Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) filed Critical Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ)
Priority to RU2014126652/08A priority Critical patent/RU2582053C2/en
Publication of RU2014126652A publication Critical patent/RU2014126652A/en
Application granted granted Critical
Publication of RU2582053C2 publication Critical patent/RU2582053C2/en

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

FIELD: computer engineering.
SUBSTANCE: group of inventions relates to computer engineering and can be used in special devices for hardware support of image recognition tasks standard operations, in hardware support in high-efficiency systems and devices for parallel processing of character information in hardware support output in information search and expert systems, performing treatment of rows (line data), and enables to realise operation for searching for sample and modification of line based on content addressable memory. Method includes steps of: symbols of processed line are substituted first with modifier in two-dimensional view processed line is parallel line shift to left symbols processed line at its two-dimensional view, second substring modifier is inserted into matrix, insignificant symbols of processed line are deleted at its one-dimensional representation in selected mask part by means of successive shift to right, wherein mask is dynamically generated to extract working part of processed line at fourth step.
EFFECT: enabling reversible processing of lines.
2 cl, 6 dwg

Description

Изобретение относится к области вычислительной техники, может быть использовано в специализированных устройствах аппаратной поддержки типовых операций задач распознавания образов, в аппаратной поддержке в высокопроизводительных системах и устройствах параллельной обработки символьной информации, в аппаратных средствах поддержки вывода в информационно-поисковых и экспертных системах, осуществляющих обработку строковых данных, и позволяет реализовать операции поиска по образцу и модификации строки на основе ассоциативной памяти.The invention relates to the field of computing, can be used in specialized devices for hardware support of typical operations of pattern recognition tasks, in hardware support in high-performance systems and devices for parallel processing of symbolic information, in hardware for supporting output in information retrieval and expert systems that process string data, and allows you to implement search operations on the sample and modify the string based on associative memory.

Известен способ (патент №2469425, МПК G11C 15/00, «Ассоциативная запоминающая матрица маскированного поиска вхождений», опубликован 10.12.2012), заключающийся в циклической реконфигурации исходной структуры данных из одномерного в двумерный вид, а также маскировании незначимых позиций (разрядов) образца и установлении тем самым отношений следования между элементами структуры данных, что позволяет совмещать последовательные и параллельные процессы над всеми элементами структуры данных. Недостатками данного подхода является ограниченность реализации операции модификации строки ввиду отсутствия возможности локальной вставки элементов строки-модификатора в обрабатываемую строку или локального удаления элементов обрабатываемой строки.The known method (patent No. 2469425, IPC G11C 15/00, "Associative storage matrix masked search of entries", published 10.12.2012), which consists in the cyclical reconfiguration of the original data structure from one-dimensional to two-dimensional form, as well as masking insignificant positions (bits) of the sample and thereby establishing a relationship between the elements of the data structure, which allows you to combine sequential and parallel processes over all elements of the data structure. The disadvantages of this approach are the limited implementation of the string modification operation due to the lack of the possibility of local insertion of modifier string elements into the processed string or local deletion of the processed string elements.

Наиболее близким к предлагаемому способу является способ параллельного поиска и замены строки на основе однородной запоминающей матрицы, отличающийся аппаратной реализацией шагов параллельного сравнения двух строк и сдвига влево, необходимых для операции поиска по образцу, и аппаратной реализацией шагов замещения, вставки элементов строки-модификатора и удаления элементов из обрабатываемой строки, необходимых для операции замены строк (заявка №2012113755 «Способ параллельного поиска и замены строки и однородная запоминающая матрица для его реализации», дата опубликования 20.10.2013). При этом обрабатываемая строка для операции поиска по образцу представляется в виде ассоциативной матрицы, хранящей исходные данные и позволяющей совмещать шаги параллельного сравнения по всем строкам матрицы. Операция замены строки связана с выполнением последовательности 4 аппаратных шагов в исходной строке, циклически реконфигурируемой из одномерного в двумерный вид и обратно. Первый шаг связан с замещением элементов выбранной строки матрицы на фрагмент строки-модификатора. Второй шаг связан с освобождением данной строки матрицы путем реконфигурации части матрицы в одномерный вид и выполнении сдвигов над данной частью матрицы. Третий шаг - вставка следующего фрагмента строки-модификатора. Четвертый шаг связан с получением корректного результата путем реконфигурации остальной части матрицы в одномерный вид и выполнении сдвигов над данной частью. Особенностью данного способа является выделение соответствующих частей матрицы путем динамического формирования масок строк. Вместе с тем недостатками данного способа является ограниченность обработки символьной информации только на основе аппаратных шагов сдвига влево строки, что не позволяет вести двунаправленное перемещение элементов обрабатываемой строки в процессе обработки строковых данных.Closest to the proposed method is a method for parallel search and replacement of a row based on a homogeneous storage matrix, characterized by the hardware implementation of the steps for parallel comparison of two rows and left shift required for the search operation on the sample, and the hardware implementation of the steps of replacing, inserting elements of the modifier line and deleting elements from the processed string necessary for the operation of replacing strings (application No. 2012113755 "Method for parallel search and replacement of strings and a homogeneous storage matrix for its implementation ", publication date 10.20.2013). In this case, the processed row for the search operation on the sample is represented in the form of an associative matrix that stores the source data and allows you to combine parallel comparison steps across all rows of the matrix. The operation of replacing a line is associated with the execution of a sequence of 4 hardware steps in the original line, cyclically reconfigurable from one-dimensional to two-dimensional form and vice versa. The first step involves replacing the elements of the selected matrix row with a fragment of the modifier row. The second step involves the release of a given row of the matrix by reconfiguring a part of the matrix into a one-dimensional form and performing shifts on this part of the matrix. The third step is to insert the next fragment of the modifier line. The fourth step is to obtain the correct result by reconfiguring the rest of the matrix in a one-dimensional form and performing shifts on this part. A feature of this method is the allocation of the corresponding parts of the matrix by dynamically forming line masks. However, the disadvantages of this method is the limited processing of symbolic information only on the basis of hardware steps left shift of the string, which does not allow bidirectional movement of the elements of the processed string during processing of string data.

Известно устройство поиска и замены произвольных вхождений в словах текста, содержащее блок памяти слов и подстановок, блок памяти вхождений, компаратор, блок хранения адреса вхождений, блок управления (патент № RU 2250493 С2, МПК G06F 17/30, опубликован 2005.04.20). Недостатком этого устройства является последовательное сравнение анализируемых символов и последовательная замена символов подстановки с помощью реверсивных регистров сдвига, что приводит к непродуктивным затратам времени на реализацию операций поиска и замены.A device is known for searching and replacing arbitrary occurrences in words of text containing a memory block for words and substitutions, a memory block for entries, a comparator, an address storage unit for entries, a control unit (patent No. RU 2250493 C2, IPC G06F 17/30, published 2005.04.20). The disadvantage of this device is the sequential comparison of the analyzed characters and the sequential replacement of wildcard characters using reverse shift registers, which leads to unproductive time spent on search and replace operations.

Известна ассоциативная запоминающая матрица (патент №2469425, МПК G11C 15/00, «Ассоциативная запоминающая матрица маскированного поиска вхождений», опубликован 10.12.2012), состоящая из n×m ассоциативных запоминающих элементов, n×m коммутационных элементов, представляющих собой 1-n-полюсники, n×m элементов-селекторов, маскирующего элемента, элемента И. При проведении ассоциативного маскированного поиска обеспечивается реконфигурация ассоциативной запоминающей матрицы за счет динамического перестроения соединений ассоциативных запоминающих элементов матрицы по направлению к первому элементу и реализация операции маскированного поиска всех вхождений образца в обрабатываемую строку. Недостатком этого устройства является невозможность динамического выделения рабочей части матрицы для аппаратного замещения, вставки или удаления символов, что необходимо для операции замены строки.Known associative storage matrix (patent No. 2469425, IPC G11C 15/00, "Associative storage matrix masked search entries", published 10.12.2012), consisting of n × m associative storage elements, n × m switching elements, representing 1-n -polar, n × m selector elements, masking element, element I. When conducting an associative masked search, the associative storage matrix is reconfigured by dynamically rebuilding the associations of associative storage elements nt matrix towards the first element and the implementation of the operation of masked search for all occurrences of the sample in the processed row. The disadvantage of this device is the impossibility of dynamically allocating the working part of the matrix for hardware replacement, insertion or deletion of characters, which is necessary for the operation of replacing a string.

Наиболее близким устройством к заявленному является однородная запоминающая матрица для параллельного поиска и замены строки (патент №2509383, МПК G11C 15/00 «Способ параллельного поиска и замены строки и однородная запоминающая матрица для его реализации», опубликован 10.03.2014), которая содержит ассоциативные запоминающие элементы, коммутационные элементы, элементы-селекторы, маскирующий элемент, элемент И, ограничительный резистор, преобразователь кода. Управление соединениями ассоциативных запоминающих элементов осуществляется как на основе преобразования из одномерного представления строки в двумерное представление, так и на основе динамического выделения маской рабочей части матрицы, что позволяет выполнять локальные замещения, вставки и удаления элементов строки матрицы при выполнении замены строки. Недостатком данного устройства является односторонний характер соединений ассоциативных запоминающих элементов к первому элементу в матрице в процессе реализации аппаратных шагов операции замены (модификации строки), что определяет однонаправленный характер обработки исходной строки при ее двумерном и одномерном представлении.The closest device to the claimed one is a homogeneous storage matrix for parallel search and replace strings (patent No. 2509383, IPC G11C 15/00 "Method for parallel search and replace strings and uniform storage matrix for its implementation", published 03/10/2014), which contains associative storage elements, switching elements, selector elements, masking element, AND element, limiting resistor, code converter. Compounds of associative storage elements are managed both by converting from a one-dimensional row representation to a two-dimensional representation, and by dynamically masking the working part of the matrix, which allows local substitutions, insertions, and deletions of matrix row elements when performing row replacements. The disadvantage of this device is the one-sided nature of the connections of associative storage elements to the first element in the matrix during the implementation of the hardware steps of the replacement (row modification) operation, which determines the unidirectional nature of the processing of the original row in its two-dimensional and one-dimensional representation.

Техническим результатом изобретения является расширение функциональных возможностей за счет введения реверсивной обработки строк, что позволяет исключить однонаправленный характер обработки исходной строки при ее двумерном и одномерном представлении.The technical result of the invention is the expansion of functionality by introducing reverse processing of strings, which eliminates the unidirectional nature of the processing of the original string with its two-dimensional and one-dimensional representation.

Технический результат достигается путем выполнения в матрице элементов исходной строки (далее - матрица) параллельных межстрочных сдвигов влево, а также последовательных сдвигов вправо или влево при двумерном или одномерном представлении обрабатываемой строки, что необходимо для реализации последовательности аппаратных шагов, на которых элементы обрабатываемой строки замещаются, раздвигаются, вставляются и удаляются из обрабатываемой строки.The technical result is achieved by performing parallel line-wise left shifts in the matrix of elements of the original row (hereinafter referred to as the matrix), as well as consecutive left-and-right shifts with a two-dimensional or one-dimensional representation of the processed string, which is necessary to implement a sequence of hardware steps at which the processed string elements are replaced, are moved apart, inserted and deleted from the processed string.

Технический результат состоит в том, что разработаны способ и многофункциональное ассоциативное матричное устройство для параллельной обработки строк и решения задач распознавания образов (далее - способ и устройство). Заявленный способ включает последовательность четырех аппаратных шагов: шаг 1 - символы обрабатываемой строки замещаются первой подстрокой модификатора при двумерном представлении обрабатываемой строки, шаг 2 - выполняется параллельный межстрочный сдвиг влево символов обрабатываемой строки при ее двумерном представлении, шаг 3 - вторая подстрока модификатора вставляется в строку матрицы, шаг 4 - удаляются незначащие символы обрабатываемой строки при ее одномерном представлении в выделенной маской ее части с помощью последовательного сдвига вправо, при этом маска формируется динамически для выделения рабочей части обрабатываемой строки на четвертом шаге. Заявленное устройство содержит матрицу n×m ассоциативных запоминающих элементов, имеющих по четыре входа и два выхода каждый элемент, четвертые входы ассоциативных запоминающих элементов подключены к внешнему входу синхронизации "CLOCK", третьи входы ассоциативных запоминающих элементов подключены к внешнему входу начального сброса устройства, вторые входы ассоциативных запоминающих элементов подключены к выходам соответствующих по столбцу элементов-селекторов, первые входы ассоциативных запоминающих элементов подключены к адресным входам в соответствующей строке матрицы, первые выходы ассоциативных запоминающих элементов первой строки матрицы являются информационными выходами устройства, вторые выходы ассоциативных запоминающих элементов являются входами всех многовходовых элементов И, которые расположены в соответствующих строках матрицы, причем многовходовые элементы И, расположенные с первой по n-1 строки матрицы имеют по m входов каждый, а многовходовой элемент И в последней строке The technical result consists in the fact that a method and a multifunctional associative matrix device for parallel row processing and solving pattern recognition problems (hereinafter, the method and device) have been developed. The claimed method includes a sequence of four hardware steps: step 1 — the characters of the processed string are replaced by the first substring of the modifier in the two-dimensional representation of the processed string, step 2 — parallel line spacing of the characters of the processed string in the two-dimensional representation is performed to the left, step 3 — the second substring of the modifier is inserted into the matrix row , step 4 - insignificant characters of the processed string are deleted when it is one-dimensionally represented in the selected part of the mask using sequential moving right, the mask is formed for dynamically allocating the working part of the strings in the fourth step. The claimed device contains a matrix of n × m associative storage elements having four inputs and two outputs each element, the fourth inputs of the associative storage elements are connected to the external CLOCK synchronization input, the third inputs of the associative storage elements are connected to the external input of the initial reset of the device, the second inputs associative storage elements are connected to the outputs of the selector elements corresponding to the column, the first inputs of associative storage elements are connected to address the inputs in the corresponding row of the matrix, the first outputs of the associative storage elements of the first row of the matrix are the information outputs of the device, the second outputs of the associative storage elements are the inputs of all the multi-input elements And, which are located in the corresponding rows of the matrix, and the multi-input elements And, located from first to n-1 matrix rows have m inputs each, and a multi-input element AND in the last row

матрицы имеет m+1 вход, первые m входов многовходовых элементов И подключены ко вторым выходам m ассоциативных запоминающих элементов соответствующей строки матрицы, m+1-ый вход многовходового элемента И в последней строке матрицы подключен к выходу маскирующего элемента, а выходы многовходовых элементов И являются соответствующими выходами результата поиска по образцу, n×m элементов-селекторов, имеющих по шесть входов и одному выходу каждый элемент-селектор, первые входы которых являются соответственно первыми информационными входами ассоциативного матричного устройства в соответствующих столбцах, вторые входы элементов-селекторов, кроме элементов-селекторов в последнем столбце матрицы, соединены с первыми выходами ассоциативных запоминающих элементов, которые расположены справа от соответствующих ассоциативных запоминающих элементов на одну позицию, вторые входы элементов-селекторов крайнего правого столбца матрицы, кроме самого последнего элемента-селектора в матрице, соединены с первыми выходами ассоциативных запоминающих элементов в крайнем левом столбце матрицы, расположенных строкой ниже, второй вход последнего элемента-селектора в матрице является внешним информационным входом устройства, третьи входы n×m элементов-селекторов подключены к внешнему входу «РЕЖИМ», четвертые входы элементов-селекторов подключены к внешнему входу "СДВИГ", пятые входы элементов-селекторов, кроме n-й строки матрицы, подключены в соответствующем столбце к первым выходам ассоциативных запоминающих элементов, расположенных строкой ниже в матрице, пятые входы элементов-селекторов n-й строки матрицы являются внешними входами устройства, шестые входы элементов-селекторов, кроме элементов-селекторов в первом столбце матрицы, соединены с первыми выходами ассоциативных запоминающих элементов, которые расположены слева от соответствующих ассоциативных запоминающих элементов на одну позицию, шестые входы элементов-селекторов крайнего левого столбца матрицы, кроме самого первого элемента-селектора в матрице, соединены с первыми выходами ассоциативных запоминающих элементов в крайнем правом столбце матрицы, расположенных строкой выше, шестой вход первого элемента-селектора является внешним информационным входом устройства, выходы n×m элементов-селекторов подключены ко вторым входам ассоциативных запоминающих элементов в соответствующей позиции матрицы, маскирующий элемент, первый вход которого подключен к внешнему входу синхронизации "CLOCK", второй вход - к внешнему входу "РЕЖИМ", третий вход - к внешнему входу начального сброса устройства, а выход маскирующего элемента является m+1 входом многовходового элемента И в последней строке матрицы, преобразователь кода, имеющий первый однобитовый управляющий вход, второй однобитовый управляющий вход, третий информационный вход разрядностью n бит, информационный выход разрядностью n бит и состоящий из n ячеек, на первый вход преобразователя кода поступает внешний сигнал «СТАРТ 1», на второй вход преобразователя кода поступает внешний сигнал «СТАРТ 2», третьи входы являются внешними адресными входами матрицы, а выходы преобразователя кода являются внутренними адресными входами, каждый из которых подается на первые входы ассоциативных запоминающих элементов в соответствующей строке матрицы, каждая ячейка преобразователя кода, кроме 1-й и n-й ячеек, имеет три однобитовых входа и три однобитовых выхода, первый вход i-й ячейки соединен с первым выходом i-1-й ячейки (i=2÷n), а на первый вход 1-й ячейки подается внешний сигнал «СТАРТ 1», второй вход j-й ячейки соединен с вторым выходом j+1-й ячейки (j=1÷n-1), а на второй вход n-й ячейки подается внешний сигнал «СТАРТ 2», информационные входы преобразователя кода являются третьими входами n ячеек, информационные выходы преобразователя кода являются третьими выходами n ячеек.matrix has m + 1 input, the first m inputs of multi-input elements And are connected to the second outputs of m associative storage elements of the corresponding row of the matrix, m + the first input of multi-input elements And in the last row of the matrix is connected to the output of the masking element, and the outputs of the multi-input elements And are the corresponding outputs of the search result on the sample, n × m selector elements having six inputs and one output, each selector element, the first inputs of which are respectively the first information inputs a sociative matrix device in the corresponding columns, the second inputs of the selector elements, in addition to the selector elements in the last column of the matrix, are connected to the first outputs of the associative storage elements, which are located to the right of the corresponding associative storage elements by one position, the second inputs of the selector elements of the far right column matrices, in addition to the very last selector element in the matrix, are connected to the first outputs of associative storage elements in the leftmost column of the matrix located a row below, the second input of the last selector element in the matrix is the external information input of the device, the third inputs of n × m selector elements are connected to the external MODE input, the fourth inputs of the selector elements are connected to the external SHIFT input, fifth the inputs of the selector elements, in addition to the nth row of the matrix, are connected in the corresponding column to the first outputs of the associative storage elements located a row below in the matrix, the fifth inputs of the selector elements of the nth row of the matrix are external By the external inputs of the device, the sixth inputs of the selector elements, in addition to the selector elements in the first column of the matrix, are connected to the first outputs of the associative storage elements, which are located one position to the left of the corresponding associative storage elements, the sixth inputs of the selector elements of the leftmost matrix column, except the very first selector element in the matrix, connected to the first outputs of associative storage elements in the far right column of the matrix, located a row above, the sixth input One of the first selector element is an external information input of the device, the outputs of n × m selector elements are connected to the second inputs of associative storage elements in the corresponding matrix position, a masking element, the first input of which is connected to the external CLOCK synchronization input, the second input to the external "MODE" input, the third input - to the external input of the initial reset of the device, and the output of the masking element is m + 1 input of the multi-input element And in the last row of the matrix, the code converter having the first one-bit control input, second one-bit control input, third information input of n bits, information output of n bits and n cells, the external signal “START 1” is received at the first input of the code converter, the external signal “START” is received at the second input of the code converter 2 ”, the third inputs are the external address inputs of the matrix, and the outputs of the code converter are the internal address inputs, each of which is fed to the first inputs of the associative storage elements, respectively In the leading row of the matrix, each cell of the code converter, except for the 1st and nth cells, has three single-bit inputs and three single-bit outputs, the first input of the i-th cell is connected to the first output of the i-1-th cell (i = 2 ÷ n ), and the external signal “START 1” is fed to the first input of the 1st cell, the second input of the jth cell is connected to the second output of the j + 1st cell (j = 1 ÷ n-1), and to the second input n- of the first cell, the external signal “START 2” is supplied, the information inputs of the code converter are the third inputs of n cells, the information outputs of the code converter are the third outputs of n cells.

Сущность изобретения поясняется чертежами, где на фиг. 1 представлена схема замены строки (общий случай), на фиг. 2 - схема многофункционального ассоциативного матричного устройства, на фиг. 3 - схема ассоциативного запоминающего элемента, на фиг. 4 - схема элемента-селектора, на фиг. 5 - схема маскирующего элемента, на фиг. 6 - схема ячейки преобразователя кода.The invention is illustrated by drawings, where in FIG. 1 shows a string replacement scheme (general case), FIG. 2 is a diagram of a multifunctional associative matrix device; FIG. 3 is a diagram of an associative storage element; FIG. 4 is a diagram of a selector element, in FIG. 5 is a diagram of a masking element; FIG. 6 is a diagram of a cell of a code converter.

Устройство содержит следующие внешние входы и выходы: информационные входы 211-21m для подачи m-разрядного поискового слова-образца или записываемого слова, информационные входы 221-22m для записи m-разрядного слова в последнюю строку матрицы ассоциативных запоминающих элементов, информационные выходы 271-21m для выдачи m-разрядного слова из первой строки матрицы ассоциативных запоминающих элементов, информационный вход 20 соединенный с шестым входом первого элемента-селектора матрицы, информационный выход 25 являющийся первым выходом первого ассоциативного запоминающего элемента матрицы, информационный вход 24, который является вторым входом последнего элемента-селектора матрицы, вход 9 начального сброса устройства, выходы 111-11n результата поиска по образцу, внешние адресные входы 461-46m, внутренние адресные входы 81÷8n, управляющие однобитовые входы: синхронизации «CLOCK», управления сдвигом «СДВИГ», управления реконфигурацией «РЕЖИМ», однобитовые сигналы «СТАРТ 1», «СТАРТ 2» для формирования маски.The device contains the following external inputs and outputs: information inputs 21 1 -21 m for supplying an m-bit search word-pattern or a recorded word, information inputs 22 1 -22 m for recording m-bit words in the last row of the matrix of associative storage elements, information outputs January 27 -21 m for issuing m-bit word from the first row of associative memory cells, data input 20 coupled to a sixth input of the first selector element matrix data output 25 which is the first output of the first th associative memory matrix element, an information input 24, which is the second input of the selector element matrix input device 9, the initial reset, outputs 11 1 -11 n search result on the sample, the external address inputs 46 1 -46 m, the internal address inputs 8 1 ÷ 8 n , control single-bit inputs: synchronization “CLOCK”, shift control “SHIFT”, reconfiguration control “MODE”, single-bit signals “START 1”, “START 2” for mask formation.

Под обработкой строк (строковых данных) понимаются аппаратно-выполняемые операции:The processing of strings (string data) refers to hardware-executed operations:

- поиск строки-образца;- search for a sample string;

- замена строк;- replacement of lines;

- последовательный сдвиг вправо.- sequential shift to the right.

Пусть в рабочем алфавите А={0,1} заданы объекты:Let the objects in the working alphabet A = {0,1} be given:

- строка-образец О длиной m символов, где О∈А*, O=o1o2…om;- sample string O with a length of m characters, where O∈A * , O = o 1 o 2 ... o m ;

- строка-модификатор P длиной r символов, где P∈А*, P=p1p2…pr, 0<r≤2m;- modifier string P of length r characters, where P∈A * , P = p 1 p 2 ... p r , 0 <r≤2m;

- обрабатываемая строка S длиной k символов, где S∈A*, S=S1s2…Sk, (k≤n·m), n - натуральное число.- the processed string S of length k characters, where S∈A * , S = S 1s2 ... S k , (k≤n · m), n is a natural number.

Все последующие формализации соответствуют прототипуAll subsequent formalizations correspond to the prototype.

Требуется найти первое вхождение О в S, т.е. определить такую позицию p, при которых справедливо выражениеIt is required to find the first occurrence of O in S, i.e. determine the position p for which the expression

∃i∀j|[S(i)=O(j)],∃i∀j | [S (i) = O (j)],

где i=p…p+m-1, j=1…m, «=» - равенство i-ого и j-ого символов.where i = p ... p + m-1, j = 1 ... m, "=" is the equality of the i-th and j-th characters.

С найденной позиции p требуется выполнить осуществить замену строки О на строку P, т.е. разработать такой алгоритм, что справедливо ∃i((O(1,m)=S(i,i+m-1))|(S=s1s2…si-1p1p2…prsi+m…sk), 1≤ i ≤w, w=k-m+1,From the found position p, it is required to perform the replacement of the string O by the string P, i.e. to develop an algorithm such that ∃i ((O (1, m) = S (i, i + m-1)) | (S = s 1 s 2 ... s i-1 p 1 p 2 ... p r s i + m ... s k ), 1≤ i ≤w, w = k-m + 1,

где k>0, m>0, w>0.where k> 0, m> 0, w> 0.

При реализации операции замены наиболее общий случай соответствует соотношению длин образца О и модификатора P:m<r, который далее будет рассматриваться.When implementing the replacement operation, the most general case corresponds to the ratio of the sample lengths O and the modifier P: m <r, which will be considered below.

Способ для параллельной обработки строк включает последовательность четырех аппаратных шагов: шаг 1 - символы обрабатываемой строки замещаются первой подстрокой модификатора при двумерном представлении обрабатываемой строки, шаг 2 - выполняется параллельный межстрочный сдвиг влево символов обрабатываемой строки при ее двумерном представлении и тем самым освобождается строка матрицы, шаг 3 - вторая подстрока модификатора вставляется в освобожденную строку матрицы, шаг 4 - удаляются незначащие символы обрабатываемой строки при ее одномерном представлении в выделенной маской ее части с помощью последовательного сдвига вправо, при этом маска формируется динамически для выделения рабочей части обрабатываемой строки на четвертом шаге.A method for parallel processing of strings includes a sequence of four hardware steps: step 1 — the characters of the processed string are replaced by the first substring of the modifier when the processed string is represented in two dimensions, step 2 — parallel characters are shifted to the left of the characters of the processed string in the two-dimensional representation, thereby freeing the matrix row, step 3 - the second substring of the modifier is inserted into the freed row of the matrix, step 4 - insignificant characters of the processed row are deleted when it is one polar representation in a dedicated mask part by sequentially shifting to the right, the mask is formed for dynamically allocating the working part of the strings in the fourth step.

Параллельная обработка строк (строковых данных) осуществляется при представлении исходной битовой строки S длиной до k=n×m разрядов в виде двухмерной матрицы из n строк по m разрядов в каждой строке, где m соответствует разрядности битового образца О. На фиг. 1 представлено пошаговое выполнение операции замены для случая m<r при S=1101100111100110, O=1001 и P=1100010 в найденной позиции вхождения, соответствующей 2-й строке в матрице S. Модификатор P представляется в виде двух подстрок P1, P2 по m символов каждый. При этом выравнивание символов в P2 выполняется по левому краю, а не заполненные разряды P2 дополняются 0 (на фиг. 1 такие разряды для наглядности отмечены символом «x»).Parallel processing of strings (string data) is performed by presenting the original bit string S of length up to k = n × m bits in the form of a two-dimensional matrix of n lines of m bits in each row, where m corresponds to the bit capacity of bit pattern O. FIG. Figure 1 shows the step-by-step replacement operation for the case m <r with S = 1101100111100110, O = 1001 and P = 1100010 at the found entry position corresponding to the 2nd row in the matrix S. The modifier P is represented as two substrings P 1 , P 2 by m characters each. At the same time, the alignment of characters in P 2 is performed on the left, and not filled digits P 2 are supplemented with 0 (in Fig. 1 such digits are marked with a symbol "x" for clarity).

Параллельная замена строки на матрице реализуется следующим образом. Битовая подстрока P1 длиной в m символов подается на информационные входы устройства и в параллельном коде замещает данные в i-й строке матрицы, где i - номер строки матрицы, найденной операцией поиска по образцу. Управление номером строки матрицы осуществляется на Parallel row replacement on the matrix is implemented as follows. The bit substring P 1 with a length of m characters is fed to the information inputs of the device and in parallel code replaces the data in the i-th row of the matrix, where i is the number of the row of the matrix found by the pattern search operation. Matrix row number control is performed on

основе внешней маски строк М1 содержащей единственную логическую «1» в i-ой позиции (i=2 на фиг. 1а). После замещения первой подстроки P1 выполняется загрузка нового значения маски M1 (фиг. 1б), которая своими логическими «1» выделяет «верхнюю» часть матрицы. На основе установленного значения маски M1 с подачей одного тактового импульса по внешнему входу синхронизации выполняется параллельный межстрочный сдвиг влево на m бит над элементами строки S только в выделенной части матрицы (фиг. 1в). Процесс параллельного сдвига, отраженные на фиг. 1в, приводит к освобождению i-ой строки матрицы для дальнейших преобразований, а выдвигаемые первые m символов строки S поступают на информационный выход устройства.based on an external mask of lines M 1 containing a single logical “1” in the i-th position (i = 2 in Fig. 1a). After replacing the substring first P 1 are downloading new mask value M 1 (FIG. 1b), which with its logical "1" identifies an "upper" portion of the matrix. Based on the set value of the mask M 1 with the supply of one clock pulse at the external synchronization input, a parallel line spacing to the left by m bits is performed over the elements of row S only in the selected part of the matrix (Fig. 1c). The parallel shear process shown in FIG. 1c, it leads to the release of the ith row of the matrix for further transformations, and the first m characters of the row S put forward arrive at the information output of the device.

Следующий шаг операции замены строки заключается в том, что на информационные входы матрицы подается подстрока P2 длиной в m бит. На фиг. 1г представлена вставка в параллельном коде второй подстроки P2 в i-ую строку, ранее освобожденную параллельным сдвигом влево.The next step of the string replacement operation is that a substring P 2 with a length of m bits is supplied to the information inputs of the matrix. In FIG. Fig. 1d shows the insertion in the parallel code of the second substring P 2 into the i-th line, previously freed by a parallel left shift.

Заключительный шаг операции замены заключается в удалении незначащих символов подстроки P2 (они обозначены символом «x»). На заключительном этапе на основе ранее установленного значения маски М1 с подачей 2m-r тактовых импульсов выполняется сдвиг вправо на 2m-r бит над элементами строки S только в выделенной части матрицы (фиг. 1е). Процессы, отраженные на фиг. 1е, приводят к удалению 2m-r незначащих разрядов из i-ой строки матрицы и формированию корректного результата.The final step of the replacement operation is to remove the insignificant characters of the substring P 2 (they are indicated by the symbol "x"). At the final stage, based on the previously set value of the mask M 1 with the supply of 2m-r clock pulses, a right shift of 2m-r bits is performed over the elements of the row S only in the selected part of the matrix (Fig. 1e). The processes shown in FIG. 1e, lead to the removal of 2m-r insignificant bits from the i-th row of the matrix and the formation of the correct result.

Таким образом, предложен способ параллельной обработки строк, состоящий из последовательности четырех аппаратных шагов обработки элементов обрабатываемой строки при двумерном или одномерном представлении и отличающийся реализацией последовательного сдвига вправо на одномерном представлении исходной строки только в выделенной маской части обрабатываемой строки.Thus, a method for parallel processing of strings is proposed, consisting of a sequence of four hardware steps for processing elements of the processed string in a two-dimensional or one-dimensional representation and characterized by the implementation of a sequential shift to the right in the one-dimensional representation of the original string only in the selected mask of the processed string.

Многофункциональное ассоциативное матричное устройство (фиг. 2) состоит из n×m ассоциативных запоминающих элементов 1, (n - количество строк матрицы, необходимых для представления входной битовой строки, m - количество разрядов образца) с входами с первого 2 по четвертый 5 и с выходами с первого 6 по второй 7, четвертые входы 5 ассоциативных запоминающих элементов 1 подключены к внешнему входу синхронизации "CLOCK", третьи входы 4 ассоциативных запоминающих элементов 1 подключены к внешнему входу 9 начального сброса устройства, вторые входы 3 ассоциативных запоминающих элементов 1 подключены к выходам 19 соответствующих по столбцу элементов-селекторов 12, первые входы 2 ассоциативных запоминающих элементов 1 подключены к адресным входам 81-8n в соответствующей строке матрицы, первые выходы 6 ассоциативных запоминающих элементов 1 в первой строке матрицы являются информационными выходами матрицы 271-27m, вторые выходы 7 ассоциативных запоминающих элементов 1 являются входами всех The multifunctional associative matrix device (Fig. 2) consists of n × m associative storage elements 1, (n is the number of matrix rows needed to represent the input bit string, m is the number of bits of the sample) with inputs from the first 2 to the fourth 5 and with outputs from the first 6 to the second 7, the fourth inputs 5 of the associative storage elements 1 are connected to the external CLOCK synchronization input, the third inputs of the 4 associative storage elements 1 are connected to the external input 9 of the initial reset of the device, the second inputs 3 are associated ivnyh memory cells 1 connected to the outputs 19 of the respective elements of the column selectors 12, the first inputs of two associative memory cells 1 connected to the address inputs 8 1 -8 n in the corresponding row of the matrix, the first six outputs of associative memory cells 1 in the first row of the matrix are informational the outputs of the matrix 27 1 -27 m , the second outputs 7 of the associative storage elements 1 are the inputs of all

многовходовых элементов 10, n многовходовых элементов 10 для выполнения операции логического умножения расположены в соответствующих n строках матрицы, причем многовходовые элементы 10, расположенные с первой по n-1 строки матрицы имеют по m входов каждый, а многовходовой элемент 10 в последней строке матрицы имеет m+1 вход, первые m входов многовходовых элементов 10 подключены ко вторым выходам m ассоциативных запоминающих элементов соответствующей строки матрицы, m+1-ый вход многовходового элемента 10 в последней строке матрицы подключен к выходу маскирующего элемента 36, а выходы многовходовых элементов 10 являются выходами 11 устройства, n×m элементов-селекторов 12, первые входы 13 в соответствующих столбцах матрицы являются соответственно первыми информационными входами 211-21m устройства, вторые входы 14 элементов-селекторов 12, кроме n-го столбца в матрице, соединены с первыми выходами 6 ассоциативных запоминающих элементов 1, которые расположены справа от соответствующих ассоциативных запоминающих элементов на одну позицию, вторые входы 14 элементов-селекторов 12 n-го столбца матрицы, кроме самого последнего элемента-селектора 12nm в матрице, соединены с первыми выходами 6 соответствующих ассоциативных запоминающих элементов 1 крайнего левого столбца матрицы, расположенных строкой ниже, второй вход последнего элемента-селектора 12nm является внешним входом 24 устройства, третьи входы 15 всех элементов-селекторов 12 подключены к внешнему входу "РЕЖИМ", четвертые входы 16 всех элементов-селекторов 12 подключены к внешнему входу "СДВИГ", пятые входы 17 элементов-селекторов 12, кроме n-й строки матрицы, подключены в соответствующем столбце к первым выходам 6 ассоциативных запоминающих элементов 1, расположенных строкой ниже в матрице, пятые входы 17 элементов-селекторов 12 n-й строки матрицы являются внешним входами 221-22m устройства, шестые входы 18 элементов-селекторов 12, кроме первого столбца в матрице, соединены с первыми выходами 6 ассоциативных запоминающих элементов 1, которые расположены слева от соответствующих ассоциативных запоминающих элементов на одну позицию, шестые входы 18 элементов-селекторов 12 первого столбца, кроме первого элемента-селектора 1211 в матрице, соединены с первыми выходами ассоциативных запоминающих элементов 1 в крайнем правом столбце матрицы строкой выше, шестой вход 18 первого элемента-селектора 1211 является внешним информационным входом 20 устройства, выходы 19 всех элементов-селекторов 12 подключены к вторым входам 3 ассоциативных запоминающих элементов 1 в соответствующей позиции матрицы, маскирующий элемент 36, первый вход 37 которого подключен к внешнему входу синхронизации "CLOCK", второй вход 38 - к внешнему входу «РЕЖИМ», третий вход 39 - к внешнему входу 9 начального сброса устройства, а выход 40 является m+1-ым входом многовходового элемента 10 в последней строке матрицы, преобразователь кода 45, состоящий the multi-input elements 10, n multi-input elements 10 for performing the logical multiplication operation are located in the corresponding n rows of the matrix, the multi-input elements 10 located from the first to n-1 rows of the matrix each have m inputs, and the multi-input element 10 in the last row of the matrix has m +1 input, the first m inputs of multi-input elements 10 are connected to the second outputs of m associative storage elements of the corresponding row of the matrix, m + the first input of multi-input element 10 in the last row of the matrix is connected to the output the masking element 36, and the outputs of the multi-input elements 10 are the outputs 11 of the device, n × m selector elements 12, the first inputs 13 in the corresponding columns of the matrix are respectively the first information inputs 21 1 -21 m of the device, the second inputs 14 of the selector elements 12, in addition to the nth column in the matrix, 6 associative storage elements 1 are connected to the first outputs, which are one position to the right of the corresponding associative storage elements, the second inputs are 14 selector elements 12 of the n-th matrix column s, in addition to the last selector element 12 nm in the matrix, are connected to the first outputs 6 of the corresponding associative storage elements 1 of the leftmost column of the matrix, located a row below, the second input of the last selector element 12 nm is an external input 24 of the device, the third inputs are 15 of all selector elements 12 are connected to the external input "MODE", the fourth inputs 16 of all selector elements 12 are connected to the external input "SHIFT", the fifth inputs of the 17 selector elements 12, except for the nth row of the matrix, are connected accordingly m column to the first outputs of 6 associative storage elements 1, located a row below in the matrix, the fifth inputs of the 17 selector elements 12 of the n-th row of the matrix are external inputs 22 1 -22 m of the device, the sixth inputs of 18 selector elements 12, except the first column in the matrix, are connected to a first output 6 of associative memory cells 1 that are arranged on the left of the relevant associative memory elements at one position, the sixth input element 18, the first column selectors 12, except the first element selector 12 11 ma Ritz, connected to the first output of associative memory cells 1 in the rightmost column of string above the sixth input 18 of the first element selector Dec. 11 is an external data input 20 of the device, the outputs 19 of all elements selectors 12 are connected to the second input 3 of associative memory cells 1 in the corresponding position of the matrix, the masking element 36, the first input 37 of which is connected to the external synchronization input "CLOCK", the second input 38 to the external input "MODE", the third input 39 to the external input 9 of the initial reset devices, and the output 40 is the m + 1st input of the multi-input element 10 in the last row of the matrix, code converter 45, consisting

из ячеек 531÷53n, каждая ячейка 532÷53n-1 имеет первый 47, второй 50 и третий 49 входы, а также первый 51, второй 48 и третий 52 выходы, ячейка 531 имеет такие же входы и выходы, как и выше обозначенные ячейки 532÷53n-1 кроме второго выхода 48, ячейка 53n имеет такие же входы и выходы, как и выше обозначенные ячейки 532÷53n-1, кроме первого выхода 51, матрица имеет внешние адресные входы 461÷46n, внутренние адресные входы 81÷8n, первый информационный вход 20, внешний вход "РЕЖИМ", определяющий двумерный или одномерный вид структуры матрицы, внешний вход синхронизации «CLOCK», внешний вход 9 начального сброса устройства,, выходы 111÷11n результатов опроса, выход 25 устройства, внешний управляющий вход «СТАРТ 1», который соединен с первым входом 47 ячейки 531, внешний управляющий вход «СТАРТ 2», который соединен со вторым входом 50 ячейки 53n.of cells 53 1 ÷ 53 n , each cell 53 2 ÷ 53 n-1 has first 47, second 50 and third 49 inputs, as well as first 51, second 48 and third 52 outputs, cell 53 1 has the same inputs and outputs, as above marked cells 53 2 ÷ 53 n-1 except the second output 48, cell 53 n has the same inputs and outputs as the above marked cells 53 2 ÷ 53 n-1 , except the first output 51, the matrix has external address inputs 46 1 ÷ 46 n , internal address inputs 8 1 ÷ 8 n , first information input 20, external input "MODE", defining a two-dimensional or one-dimensional view of the matrix structure, external synchronization input and “CLOCK”, external input 9 of the initial reset of the device, outputs 11 1 ÷ 11 n of the results of the survey, output 25 of the device, external control input “START 1”, which is connected to the first input 47 of cell 53 1 , external control input “START 2 "Which is connected to the second input 50 of the cell 53 n .

Ассоциативный запоминающий элемент (фиг. 3) 1 состоит из двухвходового элемента И 28, D-триггера 29, двухвходового элемента И-НЕ 30, двухвходового элемента И-НЕ 31. Первый вход элемента И 28 подключен к первому входу 2 ассоциативного запоминающего элемента 1, второй вход элемента И 28 подключен к четвертому входу 5 ассоциативного запоминающего элемента 1, а выход элемента И 28 подключен к входу синхронизации D-триггера, информационный вход которого подключен ко второму входу 3 ассоциативного запоминающего элемента 1, а третий вход 4 ассоциативного запоминающего элемента 1 подключен к асинхронному входу сброса D-триггера, прямой выход D-триггера подключен к двум входам элемента И-НЕ 30 и к первому входу элемента И-НЕ 31, на второй вход которого подан второй вход 3 ассоциативного запоминающего элемента 1, выход элемента И-НЕ 30 является первым выходом 6 ассоциативного запоминающего элемента 1, второй выход 7 которого является выходом элемента И-НЕ 31.The associative storage element (Fig. 3) 1 consists of a two-input element And 28, a D-trigger 29, a two-input element AND-NOT 30, a two-input element AND-NOT 31. The first input of the element AND 28 is connected to the first input 2 of the associative memory element 1, the second input of the And 28 element is connected to the fourth input 5 of the associative storage element 1, and the output of the And 28 element is connected to the synchronization input of the D-trigger, the information input of which is connected to the second input 3 of the associative storage element 1, and the third input 4 of the associative storage element the other element 1 is connected to the asynchronous reset input of the D-trigger, the direct output of the D-trigger is connected to two inputs of the AND-NOT 30 element and to the first input of the AND-NOT 31 element, the second input of which is connected to the second input 3 of the associative storage element 1, the output the AND-NOT element 30 is the first output 6 of the associative storage element 1, the second output 7 of which is the output of the AND-NOT element 31.

Элемент-селектор 12 (фиг. 4) состоит из мультиплексора 35, имеющего четыре однобитовых входа данных и два однобитовых адресных входа, 3 двухвходовых элемента И-НЕ 32, 33, 34. При этом адресные входы мультиплексора 35 подключены к третьему 15 и четвертому 16 входам элемента-селектора 12, т.е. к внешнему входу "РЕЖИМ" и внешнему входу "СДВИГ" соответственно. Первый вход данных мультиплексора 35 подключен к первому входу 13 элемента-селектора 12, второй вход данных мультиплексора 35 подключен к пятому входу 17 элемента-селектора 12 через инвертирующий элемент И-НЕ 32, третий вход данных мультиплексора 35 подключен к второму входу 14 элемента-селектора 12 через инвертирующий элемент И-НЕ 34, четвертый вход данных мультиплексора 35 подключен к шестому входу 18 элемента-селектора 12 через инвертирующий элемент И-НЕ 33, выход мультиплексора 35 является соответственно выходом 19 элемента-селектора 12.The selector element 12 (Fig. 4) consists of a multiplexer 35 having four single-bit data inputs and two single-bit address inputs, 3 two-input NAND elements 32, 33, 34. In this case, the address inputs of the multiplexer 35 are connected to the third 15 and fourth 16 inputs of the selector element 12, i.e. to the external input "MODE" and the external input "SHIFT", respectively. The first data input of the multiplexer 35 is connected to the first input 13 of the selector element 12, the second data input of the multiplexer 35 is connected to the fifth input 17 of the selector element 12 via an AND-NOT 32 inverting element, the third data input of the multiplexer 35 is connected to the second input 14 of the selector element 12 through the inverting element NAND 34, the fourth data input of the multiplexer 35 is connected to the sixth input 18 of the selector element 12 through the inverting element NAND 33, the output of the multiplexer 35 is respectively the output 19 of the selector element 12.

Маскирующий элемент 36 (фиг. 5) строго соответствует устройству-прототипу в структурном и в функциональном отношении, состоит из двухвходового элемента И 41, двоичного счетчика 42 с разрядностью m, элемента ИЛИ-НЕ 43 с m-входами. Первый вход элемента И 41 подключен к первому входу 37 маскирующего элемента 36, второй вход элемента И 41 подключен ко второму входу 38 маскирующего элемента 36. Первый вход двоичного счетчика 42 подключен к выходу элемента И 41, второй вход двоичного счетчика 42 подключен к третьему входу 39 маскирующего элемента 36, а m-выходов счетчика подключены к m-входам элемента ИЛИ-НЕ 43. Выход элемента ИЛИ-НЕ 43 подключен к выходу 40 маскирующего элемента 36.The masking element 36 (Fig. 5) strictly corresponds to the prototype device structurally and functionally, consists of a two-input element AND 41, a binary counter 42 with a capacity of m, an OR-NOT 43 element with m-inputs. The first input of the And 41 element is connected to the first input 37 of the masking element 36, the second input of the And 41 element is connected to the second input 38 of the masking element 36. The first input of the binary counter 42 is connected to the output of the And 41 element, the second input of the binary counter 42 is connected to the third input 39 masking element 36, and the counter m-outputs are connected to the m-inputs of the OR-NOT 43 element. The output of the OR-NOT 43 element is connected to the output 40 of the masking element 36.

Преобразователь кода (фиг. 6) строго соответствует устройству-прототипу в структурном и в функциональном отношении, состоит из однородных ячеек 531÷53n, каждая из которых состоит из двухвходовых элементов И 54, И 55 и трехвходового элемента ИЛИ 56. Первый вход элемента И 54 подключен ко второму внешнему входу 50 ячейки 53, второй вход элемента И 54 подключен к третьему внешнему входу 49 ячейки 53. Выход элемента И 54 является вторым внешним выходом 48 ячейки 53 и подключен к первому входу элемента ИЛИ 56. Первый вход элемента И 55 подключен к первому внешнему входу 47 ячейки 53, второй вход элемента И 55 подключен к третьему внешнему входу 49 ячейки 53. Выход элемента И 55 является первым внешним выходом 51 ячейки 53 и подключен к третьему входу элемента ИЛИ 56, а выход элемента ИЛИ 56 является третьим внешним выходом 52 ячейки 53. Второй вход элемента ИЛИ 56 подключен к третьему внешнему входу 49 ячейки 53. Для ячейки 531 на первый внешний вход 47 подается внешний сигнал «СТАРТ 1», а для ячейки 53n на второй внешний вход 50 подается внешний сигнал «СТАРТ 2».The code converter (Fig. 6) strictly corresponds to the prototype device structurally and functionally, consists of homogeneous cells 53 1 ÷ 53 n , each of which consists of two-input elements AND 54, AND 55 and a three-input element OR 56. The first input of the element And 54 is connected to the second external input 50 of cell 53, the second input of And 54 is connected to the third external input 49 of cell 53. The output of And 54 is the second external output 48 of cell 53 and is connected to the first input of OR 56. The first input of And 55 connected to the first external input 47 of cell 53, the second input of AND 55 is connected to the third external input 49 of cell 53. The output of AND 55 is the first external output 51 of cell 53 and connected to the third input of OR 56, and the output of OR 56 is the third external output 52 of cell 53. The second input of the OR element 56 is connected to the third external input 49 of cell 53. For cell 53 1 , the external signal “START 1” is supplied to the first external input 47, and for cell 53 n , the external signal “START 2” is supplied to the second external input 50 .

Сущность динамической реконфигурации для параллельной обработки строк, воплощенная на фиг. 2, сводится к подключению первых 13 или вторых 14, или пятых 17, или шестых 18 входов элементов-селекторов 12 к выходу 19 соответственно в зависимости от значений внешних входов «РЕЖИМ» и «СДВИГ». Если входы «РЕЖИМ»=0 и «СДВИГ»=0, то к выходу 19 подключается вход 13, т.е. обеспечивается ассоциативный поиск вхождений или запись в параллельном коде строки-модификатора на двумерном представлении S. Если входы «РЕЖИМ»=0 и «СДВИГ»=1, то к выходу 19 подключается вход 17, т.е. выполняется межстрочный сдвиг на двумерном представлении S (параллельный сдвиг влево). Если входы РЕЖИМ=1 и «СДВИГ»=0, то к выходу 19 подключается вход 14, т.е. выполняется последовательный сдвиг влево на одномерном представлении S. Если входы «РЕЖИМ»=1 и «СДВИГ»=1, то к выходу 19 подключается вход 18, т.е. выполняется последовательный сдвиг вправо на одномерном представлении S.The essence of dynamic reconfiguration for parallel string processing, embodied in FIG. 2, is reduced to connecting the first 13 or second 14, or fifth 17, or sixth 18 inputs of selector elements 12 to output 19, respectively, depending on the values of the external inputs “MODE” and “SHIFT”. If the inputs “MODE” = 0 and “SHIFT” = 0, then input 13 is connected to output 19, i.e. an associative search of occurrences or an entry in the parallel code of the modifier string is provided on the two-dimensional representation S. If the inputs “MODE” = 0 and “SHIFT” = 1, then input 17 is connected to output 19, i.e. Line spacing is performed on the two-dimensional representation S (parallel left shift). If the inputs MODE = 1 and “SHIFT” = 0, then input 14 is connected to output 19, i.e. sequential left shift is performed on the one-dimensional representation S. If the inputs “MODE” = 1 and “SHIFT” = 1, then input 18 is connected to output 19, i.e. a sequential shift to the right is performed on the one-dimensional representation S.

Элементы-селекторы 12 (фиг. 4) содержат мультиплексоры 35, которые обеспечивают ввод в ассоциативные запоминающие элементы 1 бит образца О (для ассоциативного поиска вхождений), бит модификатора P (для замещения/вставки в параллельном коде), бит от соседнего справа ассоциативного запоминающего элемента 1 (для последовательного сдвига влево) или бит от соседнего слева ассоциативного запоминающего элемента 1 (для последовательного сдвига вправо).The selector elements 12 (Fig. 4) contain multiplexers 35 that provide 1 bit of pattern O (for associative search of entries), a modifier bit P (for substitution / insertion in parallel code), a bit from an associative memory on the right to the associative storage elements element 1 (for a sequential shift to the left) or a bit from an associative storage element 1 adjacent to the left (for a sequential shift to the right).

Многофункциональное ассоциативное матричное устройство для параллельной обработки строк и решения задач распознавания образов работает в одном из шести состояний: запись, чтение, ассоциативный поиск, реконфигурация в одномерный вид для последовательного сдвига вправо (реконфигурация 1), реконфигурация в одномерный вид для последовательного сдвига влево (реконфигурация 2), замена строки. При этом работа матрицы в любом из ее состояний начинается с подачи сигнала синхронизации «CLOCK»=1.A multifunctional associative matrix device for parallel processing of strings and solving pattern recognition problems operates in one of six states: write, read, associative search, reconfiguration into a one-dimensional view for sequential right shift (reconfiguration 1), reconfiguration in a one-dimensional view for sequential left shift (reconfiguration 2), a replacement string. In this case, the work of the matrix in any of its states begins with the supply of the synchronization signal “CLOCK” = 1.

При записи битовых данных в матрицу на третьи входы 461÷46n преобразователя кода 45 подается адрес строки, в которую необходимо произвести запись, при этом на внешние входы «СТАРТ 1» и «СТАРТ 2» преобразователя кода 45 подаются значения логического «0», что приводит к подключению третьих 461÷46n входов преобразователя кода к внутренним адресным входам 81÷8n матрицы, при этом только на одном адресном входе 81÷8n матрицы устанавливается значение логической «1», которая соответствует адресу записываемой строки. Затем по заданному адресу строки матрицы на информационные входы 21 матрицы и, следовательно, на первые входы 13 всех элементов-селекторов 12 соответствующей строки матрицы поступает логическая «1» или логический «0». При этом на третьи и четвертые входы 15 и 16 всех элементов-селекторов 12 подаются сигналы «РЕЖИМ»=0 и «СДВИГ»=0, что осуществляет подключение первых 13 входов элементов-селекторов 12 к выходам 19 элементов-селекторов 12 и соответственно ко вторым информационным входам 3 ассоциативных запоминающих элементов 1 соответствующей строки матрицы. Затем на соответствующие четвертые входы 5 ассоциативных запоминающих элементов 1 соответствующей строки матрицы подается сигнал синхронизации «CLOCK»=1, инициируя тем самым запись фрагмента битовой строки в m разрядов по адресу строки матрицы, задаваемому по внешнему адресному входу 461÷46n.When writing bit data into the matrix, the third inputs 46 1 ÷ 46 n of the code converter 45 are supplied with the address of the line to which it is necessary to write, while the logical “0” values are supplied to the external inputs “START 1” and “START 2” of the code converter 45 , which leads to the connection of the third 46 1 ÷ 46 n inputs of the code converter to the internal address inputs 8 1 ÷ 8 n of the matrix, while only one address input 8 1 ÷ 8 n of the matrix sets the logical value “1”, which corresponds to the address of the recorded string . Then, at the given address of the matrix row, the information inputs 21 of the matrix and, therefore, the first inputs 13 of all the selector elements 12 of the corresponding row of the matrix receives a logical "1" or a logical "0". Moreover, the signals “MODE” = 0 and “SHIFT” = 0 are supplied to the third and fourth inputs 15 and 16 of all selector elements 12, which connects the first 13 inputs of selector elements 12 to the outputs of 19 selector elements 12 and, respectively, to the second information inputs 3 associative storage elements 1 of the corresponding row of the matrix. Then, to the corresponding fourth inputs 5 of associative storage elements 1 of the corresponding matrix row, the synchronization signal “CLOCK” = 1 is applied, thereby initiating the recording of a bit string fragment in m bits at the address of the matrix row specified by the external address input 46 1 ÷ 46 n .

При считывании битовых данных из матрицы на третьи входы 461÷46n преобразователя кода 45 подается адрес строки, из которой необходимо произвести чтение, при этом на внешние входы «СТАРТ 1» и «СТАРТ 2» преобразователя кода 45 подаются значения логического «1», что приводит к подключению третьих входов 461÷46n преобразователя кода к внутренним адресным входам матрицы

Figure 00000001
, которые разрешают выполнять параллельный сдвиг влево по всем строкам матрицы. Затем устанавливаются входы «РЕЖИМ»=0 и «СДВИГ»=1, что приводит к подключению выходов When reading bit data from the matrix, the address of the line from which it is necessary to read is supplied to the third inputs 46 1 ÷ 46 n of the code converter 45, while the logical “1” values are supplied to the external inputs “START 1” and “START 2” of the code converter 45 , which leads to the connection of the third inputs 46 1 ÷ 46 n of the code converter to the internal address inputs of the matrix
Figure 00000001
that allow parallel left shift across all rows of the matrix. Then the inputs “MODE” = 0 and “SHIFT” = 1 are set, which leads to the connection of the outputs

19 элементов-селекторов 12 через входы 17 к первым выходам ассоциативных запоминающих элементов 1, расположенных строкой ниже в матрице, при этом входы 17 элементов-селекторов 12 последней строки матрицы подключены к внешним входам 221-22m. С подачей n тактовых импульсов по внешнему входу синхронизации «CLOCK» осуществляется построчное считывание матрицы по внешнему выходу 271-27m, начиная с первой строки матрицы.19 selector elements 12 through the inputs 17 to the first outputs of the associative storage elements 1 located a row below in the matrix, while the inputs of the 17 selector elements 12 of the last row of the matrix are connected to external inputs 22 1 -22 m . With the supply of n clock pulses at the external CLOCK synchronization input, the matrix is read out line by line at the external output 27 1 -27 m , starting from the first row of the matrix.

Перед выполнением ассоциативного поиска на третий вход 39 маскирующего элемента 36 подается сигнал «СБРОС»=1, инициируя сброс двоичного счетчика 42 и получение на выходе 40 маскирующего элемента 36 значения логической «1». На внешние входы «СТАРТ 1» и «СТАРТ 2» преобразователя кода 45 подаются значения логической «1», что приводит к подключению третьих входов 461÷46n преобразователя кода к внутренним адресным входам матрицы

Figure 00000001
, которые разрешают вести поиск по всем строкам матрицы.Before performing an associative search, the signal “RESET” = 1 is applied to the third input 39 of the masking element 36, initiating the reset of the binary counter 42 and receiving the logical “1” value at the output 40 of the masking element 36. The external inputs “START 1” and “START 2” of the code converter 45 are supplied with the logical “1”, which leads to the connection of the third inputs 46 1 ÷ 46 n of the code converter to the internal address inputs of the matrix
Figure 00000001
that allow you to search all rows of the matrix.

При осуществлении циклического ассоциативного поиска вхождений на информационные входы 21 устройства и, следовательно, на первые входы 13 всех элементов-селекторов 12 соответствующей строки матрицы поступает логическая «1» или логический «0». При этом на четвертый вход 16 соответствующих элементов-селекторов 12 подается сигнал «РЕЖИМ»=0, что осуществляет подключение первых входов 13 элементов-селекторов 12 к выходам 19 элементов-селекторов 12 и соответственно ко вторым входам 3 ассоциативных запоминающих элементов 1 соответствующей строки матрицы. Затем на соответствующие четвертые входы 5 ассоциативных запоминающих элементов 1 соответствующей строки матрицы подается сигнал синхронизации «CLOCK=1», инициируя сравнение с содержимым триггера 29 соответствующего ассоциативного запоминающего элемента 1 на двухвходовом элементе И-НЕ 31, первый вход которого подключен к выходу D-триггера 29, второй вход элемента И-НЕ 31 подключен к входу 3 ассоциативного запоминающего элемента 1. Если происходит совпадение, то выход элемента И-НЕ 31, являющийся вторым выходом 7 ассоциативного запоминающего элемента 1, сохраняет уровень логического «0» и, следовательно, на выходе(ах) 11 результатов опроса матрицы, к которому(ым) подключен выход 7 этого ассоциативного запоминающего элемента 1, сохраняется уровень логической «1». Если происходит несовпадение, то на выходе 7 такого ассоциативного запоминающего элемента 1 появляется уровень логической «1», устанавливающий в «0» этот (эти) выход(ы) 11. При этом если была произведена хотя бы одна операция реконфигурации матрицы, на выходе 11n результатов опроса ассоциативных запоминающих элементов 1 n-ой строки матрицы получается значение логического «0» в результате установки на выходе маскирующего элемента 36 значения логического «0».When performing a cyclic associative search for entries on the information inputs of the device 21 and, therefore, the first inputs 13 of all the selector elements 12 of the corresponding row of the matrix receives a logical "1" or logical "0". At the same time, the signal “MODE” = 0 is applied to the fourth input 16 of the corresponding selector elements 12, which connects the first inputs of the 13 selector elements 12 to the outputs 19 of the selector elements 12 and, accordingly, to the second inputs 3 of the associative storage elements 1 of the corresponding matrix row. Then, to the corresponding fourth inputs 5 of associative storage elements 1 of the corresponding row of the matrix, a synchronization signal “CLOCK = 1” is supplied, initiating a comparison with the contents of the trigger 29 of the corresponding associative storage element 1 on the two-input element NAND 31, the first input of which is connected to the output of the D-trigger 29, the second input of the AND-HE 31 element is connected to the input 3 of the associative memory element 1. If a match occurs, then the output of the AND-HE 31 element, which is the second output 7 of the associative memory element Entent 1 saves the logical level “0” and, therefore, at the output (s) 11 of the results of the matrix survey, to which output 7 of this associative storage element 1 is connected, the logical level “1” is stored. If there is a mismatch, then at output 7 of such an associative storage element 1, the logical level “1” appears, setting this (these) output (s) to “0.” Moreover, if at least one matrix reconfiguration operation was performed, at output 11 n of the results of a survey of associative storage elements 1 of the n-th row of the matrix, a logical “0” value is obtained as a result of setting the logical “0” value at the output of the masking element 36.

Перед выполнением «реконфигурации 1» и «реконфигурации 2» на внешние входы «СТАРТ 1» и «СТАРТ 2» преобразователя кода 45 подаются Before performing “reconfiguration 1” and “reconfiguration 2”, the external inputs “START 1” and “START 2” of code converter 45 are fed

значения логической «1», что приводит к подключению третьих входов 461÷46n преобразователя кода к внутренним адресным входам

Figure 00000001
, которые разрешают вести поиск по всем строкам матрицы.logical value “1”, which leads to the connection of the third inputs 46 1 ÷ 46 n of the code converter to the internal address inputs
Figure 00000001
that allow you to search all rows of the matrix.

При осуществлении состояния матрицы «реконфигурация 1» на шестые входы 18 всех элементов-селекторов 12, кроме первого столбца в матрице, подается сигнал с первых выходов 6 ассоциативных запоминающих элементов 1, расположенных слева от соответствующих ассоциативных запоминающих элементов на одну позицию, на шестые входы 18 элементов-селекторов 12 первого столбца, кроме первого элемента-селектора 1211 в матрице, подается сигнал с первых выходов ассоциативных запоминающих элементов 1 в крайнем правом столбце матрицы строкой выше, на шестой вход 18 первого элемента-селектора 1211 подается сигнал с внешнего информационного входа 20 устройства, на третьи входы 15 всех элементов-селекторов 12 соответствующей строки матрицы подается сигнал «РЕЖИМ»=1 и на четвертые входы 16 всех элементов-селекторов 12 соответствующей строки матрицы подается сигнал «СДВИГ»=1, что позволяет соединить шестые входы 18 элементов-селекторов 12 с первыми выходами 19 элементов-селекторов 12. Затем на соответствующие четвертые входы 5 ассоциативных запоминающих элементов 1 всех строк матрицы подается сигнал синхронизации «CLOCK»=1, инициируя запись новых логических уровней ассоциативных запоминающих элементов 1 из последующих по строке/столбцу матрицы ассоциативных запоминающих элементов 1 и инкремент двоичного счетчика 42 маскирующего элемента 36. Тем самым осуществляется переход матрицы из двухмерного вида в одномерный вид и сдвиг вправо элементов матрицы по направлению к последнему элементу.When the state of the “reconfiguration 1” matrix is realized, the sixth inputs 18 of all selector elements 12, except the first column in the matrix, receive a signal from the first outputs of 6 associative storage elements 1 located to the left of the corresponding associative storage elements by one position, to the sixth inputs 18 the selector elements 12 of the first column, in addition to the first selector element 12 11 in the matrix, a signal is supplied from the first outputs of the associative storage elements 1 in the far right column of the matrix a row above, to the sixth input 18 of the first selector element 12 11 , a signal is supplied from the external information input 20 of the device, the signal “MODE” = 1 is supplied to the third inputs 15 of all selector elements 12 of the corresponding matrix row, and a signal is supplied to the fourth inputs 16 of all selector elements 12 of the corresponding matrix row "SHIFT" = 1, which allows you to connect the sixth inputs of 18 selector elements 12 with the first outputs of 19 selector elements 12. Then, the corresponding fourth inputs of 5 associative storage elements 1 of all rows of the matrix are fed a synchronization signal CLOCK = 1, initiating the recording of new logical levels of associative storage elements 1 from the next rows / columns of the matrix of associative storage elements 1 and the increment of the binary counter 42 of the masking element 36. Thus, the matrix is transferred from the two-dimensional form to the one-dimensional form and shifted to the right matrix elements towards the last element.

При осуществлении состояния матрицы «реконфигурация 2» на вторые входы 14 всех элементов-селекторов 12, кроме n-го столбца в матрице, подается сигнал с первых выходов 6 ассоциативных запоминающих элементов 1, которые расположены справа от соответствующих ассоциативных запоминающих элементов на одну позицию, на вторые входы 14 элементов-селекторов 12 n-го столбца матрицы, кроме самого последнего элемента-селектора 12nm в матрице, подается сигнал с первых выходов 6 соответствующих ассоциативных запоминающих элементов 1 крайнего левого столбца матрицы, расположенных строкой ниже, на второй вход 14 элемента-селектора 12nm подается сигнал с внешнего входа 24 устройства, на третьи входы 15 всех элементов-селекторов 12 соответствующей строки матрицы подается сигнал «РЕЖИМ»=1 и на четвертые входы 16 всех элементов-селекторов 12 соответствующей строки матрицы подается сигнал «СДВИГ»=0, что позволяет соединить вторые входы 14 элементов-селекторов 12 с первыми выходами 19 элементов-селекторов 12. Затем на соответствующие четвертые входы 5 ассоциативных запоминающих элементов 1 всех строк матрицы подается сигнал синхронизации «CLOCK»=1, When the state of the “reconfiguration 2” matrix is realized, the second inputs 14 of all selector elements 12, except for the nth column in the matrix, receive a signal from the first outputs of 6 associative storage elements 1, which are located one position to the right of the corresponding associative storage elements, by the second inputs of the 14 selector elements 12 of the n-th column of the matrix, in addition to the very last selector element 12 nm in the matrix, a signal is supplied from the first outputs 6 of the corresponding associative storage elements 1 of the leftmost column of the three rows located below, the signal from the external input 24 of the device is supplied to the second input 14 of the selector element 12 nm , the signal “MODE” = 1 is fed to the third inputs 15 of all selector elements 12 of the corresponding row of the matrix, and to the fourth inputs 16 of all elements selectors 12 of the corresponding row of the matrix, the signal “SHIFT” = 0 is supplied, which allows you to connect the second inputs of 14 selector elements 12 with the first outputs of 19 selector elements 12. Then, to the corresponding fourth inputs of 5 associative storage elements 1 of all rows of the matrix the synchronization signal “CLOCK” = 1 is given,

инициируя запись новых логических уровней ассоциативных запоминающих элементов 1 из предыдущих по строке/столбцу матрицы ассоциативных запоминающих элементов 1 и инкремент двоичного счетчика 42 маскирующего элемента 36. Тем самым осуществляется переход матрицы из двухмерного вида в одномерный вид и сдвиг влево элементов матрицы по направлению к первому элементу.initiating the recording of new logical levels of associative storage elements 1 from the previous rows / columns of the matrix of associative storage elements 1 and the increment of the binary counter 42 of the masking element 36. Thereby, the matrix is transferred from the two-dimensional form to the one-dimensional form and the matrix elements are shifted to the left towards the first element .

Состояние замены осуществляется в четыре этапа: замещение первого фрагмента строки-модификатора, параллельный межстрочный сдвиг влево, вставка второго фрагмента строки-модификатора, 2m-r сдвигов вправо над «верхней» частью матрицы, т.е. удаление незначащих элементов.The replacement state is carried out in four stages: the replacement of the first fragment of the modifier line, the parallel line-to-line shift to the left, the insertion of the second fragment of the modifier line, 2m-r shifts to the right above the “upper” part of the matrix, removal of insignificant elements.

Первый этап - замещение первого фрагмента строки-модификатора - строго соответствует вышеописанному состоянию битовой записи данных в строку матрицы, адрес которой задается по входам 461÷46n, имеющим единственную логическую «1», которая соответствует адресу замещаемой строки, поэтому подробное описание первого этапа не приводится. При равенстве длин образца и модификатора замена строки завершается на первом этапе.The first stage — replacing the first fragment of the modifier line — strictly corresponds to the above-described state of the data bit record in the matrix line, the address of which is given by inputs 46 1 ÷ 46 n , having a single logical “1” that corresponds to the address of the replaced line, therefore, a detailed description of the first stage not given. If the lengths of the sample and the modifier are equal, the line replacement is completed at the first stage.

Второй этап - параллельный межстрочный сдвиг влево в матрице над ее «верхней» частью - содержательно соответствует вышеописанному состоянию считывания битовых данных. Вместе с тем различие в задании значения по внутренним адресным входам 81÷8n и использование двух управляющих сигналов «РЕЖИМ», «СДВИГ» для параллельного межстрочного сдвига влево в матрице определяют необходимость детально описать второй этап.The second stage — a parallel line-wise shift to the left in the matrix above its “upper” part — substantially corresponds to the above-described state of reading bit data. At the same time, the difference in setting the value for the internal address inputs 8 1 ÷ 8 n and the use of two control signals “MODE”, “SHIFT” for parallel line spacing to the left in the matrix determine the need to describe the second stage in detail.

Перед выполнением этапа параллельного межстрочного сдвига влево в матрице преобразователь кода 45 получает следующие значения: на внешние входы 461÷46n поступает код с единственной логической «1», соответствующей адресу изменяемой строки матрицы, входы «СТАРТ 1»=1 и «СТАРТ 2»=0, что приводит к формированию следующего значения на входах

Figure 00000002
, где 1÷i - «верхняя» часть матрицы. Таким образом, на втором этапе выделяется только часть матрицы, над которой далее будет выполнен параллельный межстрочный сдвиг влево.Before performing the parallel line-left shift step in the matrix, the code converter 45 receives the following values: the external inputs 46 1 ÷ 46 n receive a code with a single logic “1” corresponding to the address of the variable row of the matrix, inputs “START 1” = 1 and “START 2 "= 0, which leads to the formation of the next value at the inputs
Figure 00000002
, where 1 ÷ i is the “upper” part of the matrix. Thus, in the second stage, only a part of the matrix is highlighted, on which a parallel left-to-right line spacing will be performed.

При осуществлении параллельного межстрочного сдвига влево над выделенной частью матрицы устанавливаются входы «РЕЖИМ»=0 и «СДВИГ»=1, что приводит к подключению выходов 19 элементов-селекторов 12 через входы 17 к первым выходам ассоциативных запоминающих элементов 1, расположенных строкой ниже в матрице, при этом входы 17 элементов-селекторов 12 последней строки матрицы подключены к внешним входам 221-22m устройства. Затем на соответствующие четвертые входы 5 ассоциативных запоминающих элементов 1 всех строк матрицы с учетом сформированного значения на входах

Figure 00000002
, где 1÷i - «верхняя» часть матрицы, один раз подается сигнал синхронизации "CLOCK"=1, инициируя When performing parallel line-wise shift to the left above the selected part of the matrix, the inputs “MODE” = 0 and “SHIFT” = 1 are set, which leads to the connection of the outputs 19 of the selector elements 12 through the inputs 17 to the first outputs of the associative storage elements 1 located a row below in the matrix while the inputs 17 of the selector elements 12 of the last row of the matrix are connected to external inputs 22 1 -22 m of the device. Then, to the corresponding fourth inputs of 5 associative storage elements 1 of all rows of the matrix, taking into account the generated value at the inputs
Figure 00000002
, where 1 ÷ i is the “upper” part of the matrix, once the synchronization signal “CLOCK” = 1 is applied, initiating

межстрочный сдвиг и выдачу первой строки матрицы на внешние выходы 271-27m. Тем самым осуществляется освобождение строки матрицы для следующих этапов за один сигнал "CLOCK"=1.line spacing and the first row of the matrix to the external outputs 27 1 -27 m . This releases the matrix row for the next steps in a single signal "CLOCK" = 1.

Третий этап - вставка второго фрагмента строки-модификатора - строго соответствует вышеописанному состоянию битовой записи данных в строку матрицы, адрес которой задается по входам 461÷46n, имеющим единственную логическую «1», которая соответствует адресу строки для вставки, в связи с чем подробное описание третьего этапа не приводится.The third stage - the insertion of the second fragment of the modifier string — strictly corresponds to the above-described state of the data bit record in the matrix row, the address of which is given by the inputs 46 1 ÷ 46 n , having a single logical “1”, which corresponds to the address of the row to be inserted, and therefore a detailed description of the third stage is not given.

Четвертый этап - 2m-r сдвигов вправо над «верхней» частью матрицы - содержательно соответствует вышеописанному состоянию «реконфигурации 1», выполняемому 2m-r раз. Вместе с тем различие в задании значения по внутренним адресным входам 81÷8n определяют необходимость детально описать четвертый этап.The fourth stage - 2m-r shifts to the right above the "upper" part of the matrix - substantially corresponds to the above-described state of "reconfiguration 1", performed 2m-r times. At the same time, the difference in setting the value for the internal address inputs 8 1 ÷ 8 n determines the need to describe the fourth stage in detail.

Перед выполнением операции «реконфигурации 1» устанавливаются входы «СТАРТ 1»=1 и «СТАРТ 2»=0, что приводит к формированию следующего значения на входах

Figure 00000002
, где 1÷i - «верхняя» часть матрицы. Таким образом, на четвертом этапе выделяется только часть матрицы, над которой далее будет вышеописанное состояния матрицы «реконфигурация 1», т.е. выполняется 2m-r последовательных сдвигов вправо.Before performing the “reconfiguration 1” operation, the inputs “START 1” = 1 and “START 2” = 0 are set, which leads to the formation of the following value at the inputs
Figure 00000002
, where 1 ÷ i is the “upper” part of the matrix. Thus, in the fourth stage, only a part of the matrix is highlighted, above which will be the above-described state of the matrix “reconfiguration 1” 2m-r consecutive shifts to the right are performed.

Описанные для четвертого этапа шаги реконфигурации приводят к удалению незначащих элементов из строки матрицы и формированию корректного результата замены строки.The reconfiguration steps described for the fourth stage lead to the removal of insignificant elements from the matrix row and the formation of the correct row replacement result.

В случае если длина строки-образца больше длины строки-модификатора, то состояние замены строго соответствует вышеописанному первому этапу (замещение строки матрицы) и вышеописанному четвертому этапу (удаление незначащих элементов из строки), с той, лишь разницей, что операция реконфигурации матрицы осуществляется не 2m-r раз, a m-r раз.If the length of the sample line is longer than the length of the modifier line, then the replacement state strictly corresponds to the first stage described above (matrix row replacement) and the fourth stage described above (removal of insignificant elements from the line), with the only difference that the matrix reconfiguration operation is not performed 2m-r times, a mr times.

Таким образом, в изобретении достигается расширение функциональных возможностей работы многофункционального ассоциативного матричного устройства за счет введения реверсивной обработки строк, что позволяет исключить однонаправленный характер обработки исходной строки при ее двумерном и одномерном представлении. Способ для параллельной обработки строк включает последовательность четырех аппаратных шагов: шаг 1 - символы обрабатываемой строки замещаются первой подстрокой модификатора при двумерном представлении обрабатываемой строки, шаг 2 - выполняется параллельный межстрочный сдвиг влево символов обрабатываемой строки при ее двумерном представлении, шаг 3 - вторая подстрока модификатора вставляется в освобожденную строку матрицы, шаг 4 - удаляются незначащие символы обрабатываемой строки при ее одномерном представлении в выделенной маской ее части с помощью последовательного сдвига вправо, при этом маска формируется динамически для выделения рабочей части обрабатываемой строки на четвертом шаге.Thus, the invention achieves the expansion of the functional capabilities of the multifunctional associative matrix device due to the introduction of reverse row processing, which eliminates the unidirectional nature of the processing of the original row in its two-dimensional and one-dimensional representation. A method for parallel processing of strings includes a sequence of four hardware steps: step 1 — the characters of the processed string are replaced by the first substring of the modifier in the two-dimensional representation of the processed string, step 2 — parallel line spacing of the characters of the processed string in the two-dimensional representation is performed to it, step 3 — the second substring of the modifier is inserted into the freed row of the matrix, step 4 - insignificant characters of the processed row are deleted when it is one-dimensionally represented in the selected mask e e parts using a sequential shift to the right, while the mask is formed dynamically to highlight the working part of the processed line in the fourth step.

Claims (2)

1. Способ для параллельной обработки строк включает последовательность четырех аппаратных шагов: шаг 1 - символы обрабатываемой строки замещаются первой подстрокой модификатора при двумерном представлении обрабатываемой строки, шаг 2 - выполняется параллельный межстрочный сдвиг влево символов обрабатываемой строки при ее двумерном представлении, шаг 3 - вторая подстрока модификатора вставляется в строку матрицы, шаг 4 - удаляются незначащие символы обрабатываемой строки при ее одномерном представлении в выделенной маской ее части с помощью последовательного сдвига вправо, при этом маска формируется динамически для выделения рабочей части обрабатываемой строки на четвертом шаге.1. A method for parallel processing of strings includes a sequence of four hardware steps: step 1 — the characters of the processed string are replaced by the first substring of the modifier when the processed string is represented in two dimensions, step 2 — parallel characters are shifted to the left of the characters of the processed string in the two-dimensional representation, step 3 is the second substring modifier is inserted into the matrix row, step 4 - insignificant characters of the processed row are deleted when it is one-dimensionally represented in the selected part of the mask with schyu serial shift to the right, the mask is formed for dynamically allocating the working part of the strings in the fourth step. 2. Многофункциональное ассоциативное матричное устройство для параллельной обработки строк и решения задач распознавания образов содержит n×m ассоциативных запоминающих элементов, имеющих по четыре входа и два выхода каждый элемент, четвертые входы ассоциативных запоминающих элементов подключены к внешнему входу синхронизации "CLOCK", третьи входы ассоциативных запоминающих элементов подключены к внешнему входу 9 начального сброса устройства, вторые входы ассоциативных запоминающих элементов подключены к выходам соответствующих по столбцу элементов-селекторов, первые входы ассоциативных запоминающих элементов подключены к адресным входам в соответствующей строке матрицы, первые выходы ассоциативных запоминающих элементов первой строки матрицы являются информационными выходами устройства, вторые выходы ассоциативных запоминающих устройств являются входами n многовходовых элементов И, которые расположены в соответствующих n строках матрицы, причем многовходовые элементы 10, расположенные с первой по n-1 строки матрицы, имеют по m входов каждый, а многовходовой элемент 10 в последней строке матрицы имеет m+1 вход, первые m входов многовходовых элементов 10 подключены ко вторым выходам m ассоциативных запоминающих элементов соответствующей строки матрицы, m+1-й вход многовходового элемента 10 в последней строке матрицы подключен к выходу маскирующего элемента 36, а выходы многовходовых элементов 10 являются выходами 111-11n устройства, n×m элементов-селекторов, первые входы которых являются соответственно первыми информационными входами ассоциативного матричного устройства в соответствующих столбцах, вторые входы элементов-селекторов, кроме элементов-селекторов в последнем столбце матрицы, соединены с первыми выходами ассоциативных запоминающих элементов, которые расположены справа от соответствующих ассоциативных запоминающих элементов на одну позицию, вторые входы элементов-селекторов крайнего правого столбца матрицы, кроме самого последнего элемента-селектора в матрице, соединены с первыми выходами ассоциативных запоминающих элементов в крайнем левом столбце матрицы, расположенных строкой ниже, второй вход последнего элемента-селектора в матрице является внешним информационным входом устройства, третьи входы n×m элементов-селекторов подключены к внешнему входу "РЕЖИМ", четвертые входы элементов-селекторов подключены к внешнему входу "СДВИГ", пятые входы элементов-селекторов, кроме n-й строки матрицы, подключены в соответствующем столбце к первым выходам ассоциативных запоминающих элементов, расположенных строкой ниже в матрице, пятые входы элементов-селекторов n-й строки матрицы являются внешними входами устройства, шестые входы элементов-селекторов, кроме элементов-селекторов в первом столбце матрицы, соединены с первыми выходами ассоциативных запоминающих элементов, которые расположены слева от ассоциативных запоминающих элементов на одну позицию, шестые входы элементов-селекторов крайнего левого столбца матрицы, кроме самого первого элемента-селектора в матрице, соединены с первыми выходами ассоциативных запоминающих элементов в крайнем правом столбце матрицы, расположенных строкой выше, шестой вход первого элемента-селектора является внешним информационным входом устройства, выходы n×m элементов-селекторов являются вторыми входами ассоциативных запоминающих элементов соответствующей строки матрицы, маскирующий элемент, первый вход которого подключен к внешнему входу синхронизации "CLOCK", второй вход - к внешнему входу "РЕЖИМ", третий вход - к внешнему входу начального сброса устройства, а выход является дополнительным входом n-го многовходового устройства, преобразователь кода, имеющий первый однобитовый управляющий вход, второй однобитовый управляющий вход, третий информационный вход разрядностью n бит, информационный выход разрядностью n бит и состоящий из n ячеек, на первый вход преобразователя кода поступает внешний сигнал «СТАРТ 1», на второй вход преобразователя кода поступает внешний сигнал «СТАРТ 2», третьи входы являются внешними адресными входами матрицы, а выходы преобразователя кода являются внутренними адресными входами, каждый из которых подается на первые входы ассоциативных запоминающих элементов в соответствующей строке матрицы, каждая ячейка преобразователя кода, кроме 1-й и n-й ячеек, имеет три однобитовых входа и три однобитовых выхода, первый вход i-й ячейки соединен с первым выходом i-1-й ячейки (i=2÷n), а на первый вход 1-й ячейки подается внешний сигнал «СТАРТ 1», второй вход j-й ячейки соединен с вторым выходом j+1-й ячейки (j=1÷n-1), а на второй вход n-й ячейки подается внешний сигнал «СТАРТ 2», информационные входы преобразователя кода являются третьими входами n ячеек, информационные выходы преобразователя кода являются третьими выходами n ячеек, каждая ячейка состоит из первого и второго двухвходовых элементов И и трехвходового элемента ИЛИ, первый вход первого элемента И подключен к второму входу ячейки, второй вход первого элемента И подключен инверсно к третьему входу ячейки, выход первого элемента И является вторым выходом ячейки и подключен к первому входу элемента ИЛИ, первый вход второго элемента И подключен к первому входу ячейки, второй вход второго элемента И инверсно подключен к третьему входу ячейки, выход второго элемента И является первым выходом ячейки и подключен к третьему входу элемента ИЛИ, а выход элемента ИЛИ является третьим выходом ячейки, второй вход элемента ИЛИ подключен к третьему входу ячейки, для первой ячейки преобразователя кода на ее первый вход подается внешний сигнал «СТАРТ 1», а для n-й ячейки преобразователя кода на ее второй вход подается внешний сигнал «СТАРТ 2». 2. A multifunctional associative matrix device for parallel processing of strings and solving pattern recognition problems contains n × m associative storage elements having four inputs and two outputs each element, the fourth inputs of associative storage elements are connected to the external synchronization input "CLOCK", the third inputs of associative storage elements are connected to the external input 9 of the initial reset of the device, the second inputs of associative storage elements are connected to the outputs of the relevant the column of selector elements, the first inputs of the associative storage elements are connected to the address inputs in the corresponding row of the matrix, the first outputs of the associative storage elements of the first row of the matrix are the information outputs of the device, the second outputs of the associative storage devices are the inputs of n multi-input elements And, which are located in the corresponding n lines matrices, moreover, the multi-input elements 10, located from the first through n-1 rows of the matrix, each have m inputs, and the multi-input elements Entry 10 in the last row of the matrix has m + 1 input, the first m inputs of the multi-input elements 10 are connected to the second outputs of m associative storage elements of the corresponding row of the matrix, m + the 1st input of the multi-input element 10 in the last row of the matrix is connected to the output of the masking element 36, and the outputs of the multi-input elements 10 are the outputs 11 1 -11 n of the device, n × m selector elements, the first inputs of which are respectively the first information inputs of the associative matrix device in the corresponding columns, sec the input inputs of the selector elements, in addition to the selector elements in the last column of the matrix, are connected to the first outputs of the associative storage elements, which are located to the right of the corresponding associative storage elements by one position, the second inputs of the selector elements of the far right column of the matrix, except for the last element selectors in the matrix, connected to the first outputs of associative storage elements in the leftmost column of the matrix, located a row below, the second input of the last element is the selector in the matrix is the external information input of the device, the third inputs of n × m selector elements are connected to the external MODE input, the fourth inputs of the selector elements are connected to the external SHIFT input, the fifth inputs of the selector elements except the nth row of the matrix are connected in the corresponding column to the first outputs of the associative storage elements located a row below in the matrix, the fifth inputs of the selector elements of the nth row of the matrix are external inputs of the device, the sixth inputs of the selector elements, except electronic selectors in the first column of the matrix are connected to the first outputs of the associative storage elements, which are located one position to the left of the associative storage elements, the sixth inputs of the selector elements of the leftmost column of the matrix, except the very first selector element in the matrix, are connected to the first outputs associative storage elements in the far right column of the matrix, located a row above, the sixth input of the first selector element is an external information input of the device, the output The n × m selector elements are the second inputs of the associative storage elements of the corresponding row of the matrix, the masking element, the first input of which is connected to the external CLOCK synchronization input, the second input to the external MODE input, and the third input to the external initial reset input devices, and the output is an additional input of the nth multi-input device, a code converter having a first one-bit control input, a second one-bit control input, a third information input of n bit capacity, information The output is n bits and consists of n cells, the external signal “START 1” is received at the first input of the code converter, the external signal “START 2” is received at the second input of the code converter, the third inputs are external address inputs of the matrix, and the outputs of the code converter are internal address inputs, each of which is fed to the first inputs of associative storage elements in the corresponding row of the matrix, each cell of the code converter, except for the 1st and nth cells, has three single-bit inputs and three single-bit output, the first input of the i-th cell is connected to the first output of the i-1st cell (i = 2 ÷ n), and the external signal “START 1” is applied to the first input of the 1st cell, the second input of the j-th cell is connected to the second output of the j + 1st cell (j = 1 ÷ n-1), and the external signal “START 2” is fed to the second input of the n-th cell, the information inputs of the code converter are the third inputs of n cells, the information outputs of the code converter are the third outputs of n cells, each cell consists of the first and second two-input elements AND and a three-input element OR, the first input of the first element And connected to the second input of the cell, the second input of the first element And is connected inversely to the third input of the cell, the output of the first element And is the second output of the cell and connected to the first input of the OR element, the first input of the second element And is connected to the first input of the cell, the second input of the second element And it is inverted connected to the third input of the cell, the output of the second AND element is the first output of the cell and connected to the third input of the OR element, and the output of the OR element is the third output of the cell, the second input of the OR element is connected to the third th input cell is supplied an external signal "START 1" for the code converter of the first cell at its first input, and for n-th code converter cell at its second input receives an external signal "START 2".
RU2014126652/08A 2014-07-01 2014-07-01 Method and multifunctional associative matrix device for processing line data and solving tasks for recognising images RU2582053C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2014126652/08A RU2582053C2 (en) 2014-07-01 2014-07-01 Method and multifunctional associative matrix device for processing line data and solving tasks for recognising images

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2014126652/08A RU2582053C2 (en) 2014-07-01 2014-07-01 Method and multifunctional associative matrix device for processing line data and solving tasks for recognising images

Publications (2)

Publication Number Publication Date
RU2014126652A RU2014126652A (en) 2016-02-10
RU2582053C2 true RU2582053C2 (en) 2016-04-20

Family

ID=55312897

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014126652/08A RU2582053C2 (en) 2014-07-01 2014-07-01 Method and multifunctional associative matrix device for processing line data and solving tasks for recognising images

Country Status (1)

Country Link
RU (1) RU2582053C2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2776602C1 (en) * 2021-04-01 2022-07-22 Федеральное государственное бюджетное образовательное учреждение высшего образования «Юго-Западный государственный университет» (ЮЗГУ) (RU) Matrix apparatus for parallel search of a composite sample

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU84615U1 (en) * 2009-02-09 2009-07-10 Государственное образовательное учреждение высшего профессионального образования "Курский государственный технический университет" ASSOCIATIVE MEMORIAL MATRIX
RU2469425C2 (en) * 2010-05-17 2012-12-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Юго-Западный государственный университет" (ЮЗГУ) Associative memory matrix for masked inclusion search
RU2509383C2 (en) * 2012-04-06 2014-03-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Юго-Западный государственный университет" (ЮЗГУ) Method for parallel search and row replacement and homogeneous memory matrix for realising said method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU84615U1 (en) * 2009-02-09 2009-07-10 Государственное образовательное учреждение высшего профессионального образования "Курский государственный технический университет" ASSOCIATIVE MEMORIAL MATRIX
RU2469425C2 (en) * 2010-05-17 2012-12-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Юго-Западный государственный университет" (ЮЗГУ) Associative memory matrix for masked inclusion search
RU2509383C2 (en) * 2012-04-06 2014-03-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Юго-Западный государственный университет" (ЮЗГУ) Method for parallel search and row replacement and homogeneous memory matrix for realising said method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2776602C1 (en) * 2021-04-01 2022-07-22 Федеральное государственное бюджетное образовательное учреждение высшего образования «Юго-Западный государственный университет» (ЮЗГУ) (RU) Matrix apparatus for parallel search of a composite sample

Also Published As

Publication number Publication date
RU2014126652A (en) 2016-02-10

Similar Documents

Publication Publication Date Title
CN106852185B (en) Parallelly compressed encoder based on dictionary
US6760821B2 (en) Memory engine for the inspection and manipulation of data
WO1993025975A2 (en) A programmable logic device
US3391390A (en) Information storage and processing system utilizing associative memory
JP2022510442A (en) Sorting methods, appliances, electronic devices and computer programs
RU84615U1 (en) ASSOCIATIVE MEMORIAL MATRIX
RU2582053C2 (en) Method and multifunctional associative matrix device for processing line data and solving tasks for recognising images
RU2569567C2 (en) Method and associative matrix device for processing line data
CN115982310B (en) Chain table generation method with verification function and electronic equipment
RU2509383C2 (en) Method for parallel search and row replacement and homogeneous memory matrix for realising said method
JP5120263B2 (en) Pattern matching apparatus and method
JPS6142031A (en) Sorting processor
RU2469425C2 (en) Associative memory matrix for masked inclusion search
RU72771U1 (en) DEVICE FOR PARALLEL SEARCH AND DATA PROCESSING
RU157948U1 (en) DEVICE FOR MATRIX MULTIPLICATION
RU2378691C1 (en) Information search device
RU2760628C1 (en) Method and associative matrix apparatus for parallel search of a sample based on the prefixes thereof
CN104517651B (en) Semiconductor device and method for searching erase count in semiconductor memory
RU2580803C1 (en) Device for information search
US9507899B2 (en) System and method for register transfer level autointegration using spread sheet and computer readable recording medium thereof
Hlayel et al. A New Exact Pattern Matching Algorithm (WEMA)
RU2549525C2 (en) Method and apparatus for searching for composite sample in sequence
KR101985096B1 (en) Bit-Slice Associative Memory
JP3062119B2 (en) Character string search table, method for creating the same, and character string search method
JP3640034B2 (en) Method for storing data in associative memory and method for extracting data from associative memory

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20160702