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 PDFInfo
- 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
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
Известна ассоциативная запоминающая матрица (патент №2469425, МПК G11C 15/00, «Ассоциативная запоминающая матрица маскированного поиска вхождений», опубликован 10.12.2012), состоящая из n×m ассоциативных запоминающих элементов, n×m коммутационных элементов, представляющих собой 1-n-полюсники, n×m элементов-селекторов, маскирующего элемента, элемента И. При проведении ассоциативного маскированного поиска обеспечивается реконфигурация ассоциативной запоминающей матрицы за счет динамического перестроения соединений ассоциативных запоминающих элементов матрицы по направлению к первому элементу и реализация операции маскированного поиска всех вхождений образца в обрабатываемую строку. Недостатком этого устройства является невозможность динамического выделения рабочей части матрицы для аппаратного замещения, вставки или удаления символов, что необходимо для операции замены строки.Known associative storage matrix (patent No. 2469425, IPC
Наиболее близким устройством к заявленному является однородная запоминающая матрица для параллельного поиска и замены строки (патент №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:
матрицы имеет 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 “
Сущность изобретения поясняется чертежами, где на фиг. 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,
Под обработкой строк (строковых данных) понимаются аппаратно-выполняемые операции: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:
Параллельная обработка строк (строковых данных) осуществляется при представлении исходной битовой строки 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
многовходовых элементов 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
Ассоциативный запоминающий элемент (фиг. 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-
Элемент-селектор 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
Маскирующий элемент 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
Преобразователь кода (фиг. 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
Сущность динамической реконфигурации для параллельной обработки строк, воплощенная на фиг. 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
Элементы-селекторы 12 (фиг. 4) содержат мультиплексоры 35, которые обеспечивают ввод в ассоциативные запоминающие элементы 1 бит образца О (для ассоциативного поиска вхождений), бит модификатора P (для замещения/вставки в параллельном коде), бит от соседнего справа ассоциативного запоминающего элемента 1 (для последовательного сдвига влево) или бит от соседнего слева ассоциативного запоминающего элемента 1 (для последовательного сдвига вправо).The selector elements 12 (Fig. 4) contain
Многофункциональное ассоциативное матричное устройство для параллельной обработки строк и решения задач распознавания образов работает в одном из шести состояний: запись, чтение, ассоциативный поиск, реконфигурация в одномерный вид для последовательного сдвига вправо (реконфигурация 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
При считывании битовых данных из матрицы на третьи входы 461÷46n преобразователя кода 45 подается адрес строки, из которой необходимо произвести чтение, при этом на внешние входы «СТАРТ 1» и «СТАРТ 2» преобразователя кода 45 подаются значения логического «1», что приводит к подключению третьих входов 461÷46n преобразователя кода к внутренним адресным входам матрицы , которые разрешают выполнять параллельный сдвиг влево по всем строкам матрицы. Затем устанавливаются входы «РЕЖИМ»=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
19 элементов-селекторов 12 через входы 17 к первым выходам ассоциативных запоминающих элементов 1, расположенных строкой ниже в матрице, при этом входы 17 элементов-селекторов 12 последней строки матрицы подключены к внешним входам 221-22m. С подачей n тактовых импульсов по внешнему входу синхронизации «CLOCK» осуществляется построчное считывание матрицы по внешнему выходу 271-27m, начиная с первой строки матрицы.19
Перед выполнением ассоциативного поиска на третий вход 39 маскирующего элемента 36 подается сигнал «СБРОС»=1, инициируя сброс двоичного счетчика 42 и получение на выходе 40 маскирующего элемента 36 значения логической «1». На внешние входы «СТАРТ 1» и «СТАРТ 2» преобразователя кода 45 подаются значения логической «1», что приводит к подключению третьих входов 461÷46n преобразователя кода к внутренним адресным входам матрицы , которые разрешают вести поиск по всем строкам матрицы.Before performing an associative search, the signal “RESET” = 1 is applied to the
При осуществлении циклического ассоциативного поиска вхождений на информационные входы 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
Перед выполнением «реконфигурации 1» и «реконфигурации 2» на внешние входы «СТАРТ 1» и «СТАРТ 2» преобразователя кода 45 подаются Before performing “
значения логической «1», что приводит к подключению третьих входов 461÷46n преобразователя кода к внутренним адресным входам , которые разрешают вести поиск по всем строкам матрицы.logical value “1”, which leads to the connection of the
При осуществлении состояния матрицы «реконфигурация 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 “
При осуществлении состояния матрицы «реконфигурация 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 “
инициируя запись новых логических уровней ассоциативных запоминающих элементов 1 из предыдущих по строке/столбцу матрицы ассоциативных запоминающих элементов 1 и инкремент двоичного счетчика 42 маскирующего элемента 36. Тем самым осуществляется переход матрицы из двухмерного вида в одномерный вид и сдвиг влево элементов матрицы по направлению к первому элементу.initiating the recording of new logical levels of
Состояние замены осуществляется в четыре этапа: замещение первого фрагмента строки-модификатора, параллельный межстрочный сдвиг влево, вставка второго фрагмента строки-модификатора, 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
Второй этап - параллельный межстрочный сдвиг влево в матрице над ее «верхней» частью - содержательно соответствует вышеописанному состоянию считывания битовых данных. Вместе с тем различие в задании значения по внутренним адресным входам 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
Перед выполнением этапа параллельного межстрочного сдвига влево в матрице преобразователь кода 45 получает следующие значения: на внешние входы 461÷46n поступает код с единственной логической «1», соответствующей адресу изменяемой строки матрицы, входы «СТАРТ 1»=1 и «СТАРТ 2»=0, что приводит к формированию следующего значения на входах , где 1÷i - «верхняя» часть матрицы. Таким образом, на втором этапе выделяется только часть матрицы, над которой далее будет выполнен параллельный межстрочный сдвиг влево.Before performing the parallel line-left shift step in the matrix, the code converter 45 receives the following values: the
При осуществлении параллельного межстрочного сдвига влево над выделенной частью матрицы устанавливаются входы «РЕЖИМ»=0 и «СДВИГ»=1, что приводит к подключению выходов 19 элементов-селекторов 12 через входы 17 к первым выходам ассоциативных запоминающих элементов 1, расположенных строкой ниже в матрице, при этом входы 17 элементов-селекторов 12 последней строки матрицы подключены к внешним входам 221-22m устройства. Затем на соответствующие четвертые входы 5 ассоциативных запоминающих элементов 1 всех строк матрицы с учетом сформированного значения на входах , где 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
межстрочный сдвиг и выдачу первой строки матрицы на внешние выходы 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
Четвертый этап - 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 "
Перед выполнением операции «реконфигурации 1» устанавливаются входы «СТАРТ 1»=1 и «СТАРТ 2»=0, что приводит к формированию следующего значения на входах , где 1÷i - «верхняя» часть матрицы. Таким образом, на четвертом этапе выделяется только часть матрицы, над которой далее будет вышеописанное состояния матрицы «реконфигурация 1», т.е. выполняется 2m-r последовательных сдвигов вправо.Before performing the “
Описанные для четвертого этапа шаги реконфигурации приводят к удалению незначащих элементов из строки матрицы и формированию корректного результата замены строки.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:
Claims (2)
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)
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)
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 |
-
2014
- 2014-07-01 RU RU2014126652/08A patent/RU2582053C2/en not_active IP Right Cessation
Patent Citations (3)
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)
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 |