RU2220448C2 - Concurrent arbitrary-occurrence search system - Google Patents

Concurrent arbitrary-occurrence search system Download PDF

Info

Publication number
RU2220448C2
RU2220448C2 RU2001132281/09A RU2001132281A RU2220448C2 RU 2220448 C2 RU2220448 C2 RU 2220448C2 RU 2001132281/09 A RU2001132281/09 A RU 2001132281/09A RU 2001132281 A RU2001132281 A RU 2001132281A RU 2220448 C2 RU2220448 C2 RU 2220448C2
Authority
RU
Russia
Prior art keywords
block
word
search
information
register
Prior art date
Application number
RU2001132281/09A
Other languages
Russian (ru)
Other versions
RU2001132281A (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 RU2001132281/09A priority Critical patent/RU2220448C2/en
Publication of RU2001132281A publication Critical patent/RU2001132281A/en
Application granted granted Critical
Publication of RU2220448C2 publication Critical patent/RU2220448C2/en

Links

Images

Abstract

FIELD: information science and computer hardware; compiling dictionaries, reference books, and databases. SUBSTANCE: system has occurrence memory unit, word memory unit, arbitrary-occurrence search n units, control unit, random-access memory, D flip-flop, electronic switches, clock generators, binary counters, reversing registers affording sequential comparison of occurrence characters with word ones, AND gates, and inverted-input AND gates. EFFECT: enlarged functional capabilities, enhanced reliability of digital machine, simplified algorithm of control unit. 1 cl, 10 dwg

Description

Изобретение относится к техническим средствам информатики и вычислительной техники и может быть использовано для решения задач по определению вхождений в слово-образец. Устройство может найти применение в создании баз данных, а также по составлению словарей, справочников. The invention relates to technical means of computer science and computer technology and can be used to solve problems of determining occurrences in the word sample. The device can find application in creating databases, as well as compiling dictionaries, reference books.

Известно "Устройство для реализации подстановок с двухкомпонентными вхождениями" (а.с. N1667097, 1991 г., Бюл. 28) [9], позволяющее определить вхождения в представленном слове-образце. It is known "A device for implementing substitutions with two-component occurrences" (A.S. N1667097, 1991, Bull. 28) [9], which allows to determine the occurrences in the presented word-pattern.

Известно также "Устройство для сортировки чисел" (а.с. 1277091, 1986 г., Бюл. 46) [10] , позволяющее упорядочить числа в возрастающем и в убывающем порядке. It is also known "Device for sorting numbers" (AS 1277091, 1986, Bull. 46) [10], which allows you to arrange numbers in ascending and descending order.

Известно "Устройство для морфологического анализа слов естественных языков и языков "деловой прозы" (а.с. 1837327, 1993 г., Бюл. 32) [8], которое позволяет проводить морфологический анализ слов реальных языков на основе логических признаков принадлежности к классам словоформ. The known "Device for morphological analysis of words of natural languages and languages of" business prose "(a.s. 1837327, 1993, Bull. 32) [8], which allows morphological analysis of words of real languages based on logical signs of belonging to classes of word forms .

В качестве прототипа выбрано "Устройство поиска вхождений" (патент 2150740, 2000 г. ) [7] , которое позволяет осуществлять поиск вхождений, представленных в четырех видах. As a prototype, the “Entry Search Device” (patent 2150740, 2000) [7] was selected, which allows searching for occurrences presented in four forms.

Задача заключалась в следующем:
1) расширить функциональные возможности поисковой системы,
2) упростить алгоритм блока управления,
3) повысить надежность работы параллельной системы поиска произвольных вхождений.
The task was as follows:
1) expand the functionality of the search engine,
2) simplify the control unit algorithm,
3) to increase the reliability of the parallel search system for arbitrary entries.

Предлагаемая поисковая система позволит значительно расширить функциональные возможности, что ведет к упрощению комбинационной схемы устройства, а также упростит алгоритм работы устройства. The proposed search system will significantly expand the functionality, which leads to a simplification of the combinational circuit of the device, as well as simplify the algorithm of the device.

Решение задачи осуществляется тем, что параллельная система поиска произвольных вхождений, содержащая блок памяти вхождений, блок памяти слов, блок управления, отличающаяся тем, что дополнительно введены n блоков поиска произвольных вхождений, причем с первого по третий информационные выходы блока управления соединены соответственно с первым по третий информационными входами блока памяти вхождений, управляющий выход которого соединены с первым управляющим входами блока управления, второй управляющий вход которого соединен с управляющим выходом блока памяти слов, информационный выход которого соединен со вторыми информационными входами всех n блоков поиска произвольных вхождений, первые информационные входы которых соединены с информационным выходом блока памяти вхождений, с первого по третий информационные входы блока памяти слов соединены соответственно с четвертого по шестой информационными выходами блока управления, первый и второй управляющие выходы которого соединены соответственно с первым и вторым управляющими входами первого блока поиска произвольных вхождений, третий и четвертый управляющие выходы блока управления соединены соответственно с первым и вторым управляющими входами второго блока поиска произвольных вхождений, пятый и шестой управляющие выходы блока управления соединены соответственно с первым и вторым управляющими входами n-ого блока поиска произвольных вхождений, третий и четвертый управляющие входы блока управления "СБРОС" и "ПУСК" являются внешними входами системы. The solution to the problem is that a parallel search system for arbitrary entries containing an entry memory block, a word memory block, a control unit, characterized in that n additional search entries for arbitrary entries are additionally introduced, and from the first to the third information outputs of the control unit are connected respectively to the first to the third information inputs of the memory block entries, the control output of which is connected to the first control inputs of the control unit, the second control input of which is connected to the control the output output of the word memory block, the information output of which is connected to the second information inputs of all n random search blocks, the first information inputs of which are connected to the information output of the memory block, the first to third information inputs of the word memory are connected from the fourth to sixth information outputs a control unit, the first and second control outputs of which are connected respectively with the first and second control inputs of the first search unit are arbitrary x occurrences, the third and fourth control outputs of the control unit are connected respectively to the first and second control inputs of the second random search unit, the fifth and sixth control outputs of the control unit are connected to the first and second control inputs of the nth random search unit, third and fourth the control inputs of the control unit "RESET" and "START" are external inputs of the system.

БПВ - блок служит для хранения вхождений, с которыми необходимо будет провести поисковые операции. BPV - the block is used to store entries with which it will be necessary to conduct search operations.

БПС - блок служит для хранения слов, в которых будут определяться вхождения. BPS - the block is used to store words in which occurrences will be determined.

БППВn - блоки служат для поиска вхождений произвольной структуры в словах-образцах. BPPVn - blocks are used to search for occurrences of an arbitrary structure in the sample words.

БУ - блок служит для управления устройством. BU - the unit is used to control the device.

Процессы поиска вхождений образца в обрабатываемом слове адекватно описываются в терминах языка регулярных выражений путем использования операций итерации и конъюнктивного следования (конкатенация) [1]. The search for occurrences of a pattern in the word being processed is adequately described in terms of the language of regular expressions by using iteration and conjunctive following operations (concatenation) [1].

Особый интерес представляет структура образцов, поскольку при последовательном поиске позиции вхождения образца в обрабатываемое слово может быть аварийный пропуск вхождения в случае существования повторяющегося фрагмента в начале образца и, соответственно, n-кратное повторение названного фрагмента в обрабатываемом слове при его просмотре слева направо. Кроме того, повторение начального фрагмента в структуре образца приводит к резкому снижению скорости поиска позиции вхождения образца в обрабатываемом слове из-за необходимости выполнять множественные отступы (backtraking) в пространстве обрабатываемого слова в его конструктивном линейном представлении. Of particular interest is the structure of the samples, since when sequentially searching for the position of the entry of the sample into the word to be processed, there may be an accidental entry skip in the case of a repeating fragment at the beginning of the sample and, accordingly, n-fold repetition of the named fragment in the word being processed from left to right. In addition, the repetition of the initial fragment in the structure of the sample leads to a sharp decrease in the search speed of the position of occurrence of the sample in the word being processed due to the need to perform multiple backtraking in the space of the word being processed in its constructive linear representation.

Если образец имеет повторение своих начальных фрагментов, то его форма записи будет иметь вид:
S={G}F (1)
где S - образец;
G - начальный повторяющийся фрагмент;
F - собственное окончание образца;
{} - обозначение операции "итерация".
If the sample has a repetition of its initial fragments, then its recording form will look like:
S = {G} F (1)
where S is the sample;
G is the initial repeating fragment;
F - own end of the sample;
{} - designation of the operation "iteration".

Очевидно, что при существовании итерации фрагмента в середине образца при следующей форме его записи:
S=G{H}F (2)
не влечет за собой пропуска позиции вхождения образца в обрабатываемое слово. Также безопасной структурой образца является следующая его форма представления:
S=G{F} (3)
В случае общего положения структура образца может принимать вид:
S={G}H(F} (4)
Вместе с тем существует еще одна структура образца, которая порождает необходимость в выполнении отступа в пространстве обрабатываемого слова с целью предотвращения аварийного пропуска позиции вхождения. Такая структура образца имеет вид:
S=GFGP (5)
т.е. начальный фрагмент образца входит в его собственную структуру более одного раза.
Obviously, if there is an iteration of the fragment in the middle of the sample with the following form of its writing:
S = G {H} F (2)
does not entail omission of the entry position of the sample in the word being processed. Also a safe structure of the sample is its following presentation form:
S = G {F} (3)
In the case of a general situation, the structure of the sample can take the form:
S = {G} H (F} (4)
At the same time, there is one more structure of the sample, which makes it necessary to indent the space of the word being processed in order to prevent an accidental skipping of the entry position. Such a sample structure has the form:
S = GFGP (5)
those. the initial fragment of the sample is included in its own structure more than once.

В выражениях (1), (2), (3), (4) и (5) S, G, F, Н и Р - произвольные непустые слова. In expressions (1), (2), (3), (4) and (5) S, G, F, H and P are arbitrary non-empty words.

При реализации технического решения необходимо так организовать поиск позиции вхождения образца, чтобы достигнуть высокой скорости поиска, а также исключить ситуации аварийного пропуска искомой позиции. Процедуру поиска, которая удовлетворяет поставленным требованиям, будем называть корректной [5]. When implementing a technical solution, it is necessary to organize the search for the entry position of the sample in such a way as to achieve a high search speed, and also to exclude situations of emergency skipping of the desired position. A search procedure that satisfies the set requirements will be called correct [5].

При осуществлении поисковых функций в словах, вхождения могут быть представлены шестью различными комбинациями букв в слове-образце (вхождении):
1) нет повтора одинаковых букв (итерации) в слове-образце, пример - "тиманел";
2) повтор одинаковых букв есть в середине слова-образца, пример - "вчсииииторг", при этом принято обозначение B{W}D;
3) итерация существует в конце слова, пример - "лдшгпсссс", обозначение B{W};
4) итерация в слове-образце существует в начале слова, примером может служить вхождение "ссссапеног", обозначение {W}D;
5) итерация в слове-образце присутствует и в начале слова, и в конце, пример - "нннапрмввв", обозначение {W}P{Y};
6) слово-образец состоит полностью из итераций, пример -"ккккк", обозначение {W}.
When performing search functions in words, entries can be represented by six different combinations of letters in the sample word (entry):
1) there is no repetition of the same letters (iteration) in the sample word, an example is “tymanel”;
2) a duplicate of the same letters is in the middle of the sample word, an example is “vciiiiitorg”, and the notation B {W} D is accepted;
3) an iteration exists at the end of a word, an example is “ldshhpssss”, designation B {W};
4) an iteration in the sample word exists at the beginning of the word, an example is the occurrence of "sssapaenog", the designation {W} D;
5) an iteration in the sample word is present both at the beginning of the word and at the end, an example is “nnnaprvvv”, designation {W} P {Y};
6) the sample word consists entirely of iterations, an example is "kkkkk", the designation {W}.

С первого по третий вариант представления слова-образца, когда нет итерации, итерация есть в середине слова-образца и итерация существует в конце слова, необходимо поиск вхождений в слове производить с начала слова с первой буквы. Символы слова-образца также считываются с начала, т.е. с первой буквы. From the first to the third version of the representation of the sample word, when there is no iteration, iteration is in the middle of the sample word and iteration exists at the end of the word, it is necessary to search for occurrences in the word from the beginning of the word with the first letter. Symbols of the pattern word are also read from the beginning, i.e. with the first letter.

Четвертый случай представления слова-образца, при котором итерация находится в начале вхождения, поиск необходимо производить с конца слова, т.е. с последней буквы. Слово при этом считывается из регистра слова в обратном порядке - последняя буква - первой, предпоследняя - второй и т.д., первая буква - последней. Символы вхождения считываются в точно таком же порядке, т. е. в обратном. The fourth case of the representation of the sample word, in which the iteration is at the beginning of the entry, the search must be performed from the end of the word, i.e. with the last letter. The word is read from the word register in the reverse order - the last letter is the first, the penultimate is the second, etc., the first letter is the last. The entry characters are read in exactly the same order, i.e. in the opposite.

Пятый случай, когда итерация и в начале, и в конце слова-образца, поиск в представленном устройстве осуществляется с начала слова. Но предварительно осуществляется анализ вхождения блоком поиска итераций устройства. Вхождение разбивается на две части:
1) только итерации, т.е. часть, состоящая из одинаковых символов;
2) остальная часть вхождения, но без итераций в начале слова-образца.
The fifth case, when iteration at the beginning and at the end of the sample word, the search in the presented device is carried out from the beginning of the word. But preliminary the analysis of the occurrence of the unit iterations search unit is carried out. The entry is divided into two parts:
1) only iterations, i.e. a part consisting of the same characters;
2) the rest of the entry, but without iterations at the beginning of the sample word.

Шестой случай, слово-образец полностью состоит из повторов одинаковых букв-итераций, тогда поиск в устройстве поиска универсальных вхождений осуществляется с начала слова с первой буквы [2]. The sixth case, the sample word consists entirely of repetitions of the same iteration letters, then the search in the search device for universal entries is carried out from the beginning of the word with the first letter [2].

Необходимо рассмотреть случаи, когда под итерацией понимается не только одна буква, но несколько чередующихся символов, например слово-образец имеет вид: абабабабпртоо. В начале слова записаны итерации, состоящие из разных букв аб, и таких повторов в примере будет 4. Такие итерации назовем двухбуквенные. Легко привести примеры трех, четырех, пяти и n- буквенных итераций. В конце слова-образец заканчивается также итерацией, но из одинаковых букв. В конце слово-образца тоже могут быть многобуквенные итерации. Для осуществления поиска различных видов слов-образцов, состоящих из различных вариантов итераций, необходимо очевидно разработать сложные схемы селекции, определяющие вид итераций. Затем в зависимости от вида итерации выбирается алгоритм, осуществляющий поисковую операцию. Целью предлагаемого изобретения является создание системы, осуществляющее поиск слова-образца в обрабатываемом слове с любым видом итераций без сложных схем селекции. It is necessary to consider cases where an iteration is understood not only as one letter, but several alternating characters, for example, the sample word has the form: ababababprtoo. At the beginning of the word, iterations are written, consisting of different letters ab, and there will be 4 such repetitions in the example. Such iterations are called two-letter iterations. It is easy to give examples of three, four, five, and n-letter iterations. At the end of the sample word also ends with an iteration, but from the same letters. At the end of the sample word, there may also be multi-letter iterations. To search for different types of sample words, consisting of various iteration options, it is necessary to develop complex selection schemes that determine the type of iteration. Then, depending on the type of iteration, an algorithm is selected that performs a search operation. The aim of the invention is to create a system that searches for a sample word in the processed word with any type of iteration without complex selection schemes.

Алгоритм функционирования системы заключается в следующем. В регистрах слов находятся обрабатываемые слова. В регистрах вхождений записываются слова-образцы. Задача системы заключается в определении вхождений в обрабатываемых словах. Если вхождения найдены, то их адреса записываются в память устройства. Если вхождения не найдены, то в регистрах обрабатываемых слов записываются новые слова для проведения поисковых операций. Сравнение в блоках поиска произвольных вхождений происходит побуквенно. На входы компараторов поступают по одной букве из регистров обрабатываемых слов и из регистров слов-образцов. Если результат сравнения положительный, то происходит сдвиг влево на один разряд информации регистров слов и регистров слов-образцов и на вход компаратора поступают очередные символы из регистров. Возможно возникнет ситуация, когда положительное сравнение произойдет на первой букве, на второй, на третьей и т.д., но на k букве результат сравнения будет отрицательным и при этом конца слов-образцов не будет обнаружено. Двоично-десятичные счетчики блока анализа и формирования сигналов сдвига подсчитывают количество положительных сравнений. Скажем их произошло k совпадений, а на k+1 получен отрицательный результат. В этом случае осуществляется сдвиг вправо на к-1 разрядов регистров, в которых хранятся обрабатываемые слова. Происходит "вычеркивание" первых букв из серии, где произошли положительные сравнения. Дальнейшее сравнение будет происходить, уже начиная со вторых букв обрабатываемых слов и с первых букв вхождений. Вхождения будут переписаны заново из памяти вхождений. Процедуры сдвига возможны при применении реверсивных регистров, которые осуществляют сдвиг информации как влево, так и вправо. The algorithm for the functioning of the system is as follows. Word registers contain processed words. Pattern words are recorded in the entry registers. The task of the system is to determine the occurrences in the processed words. If entries are found, then their addresses are recorded in the device memory. If no entries are found, then new words are written in the word processing registers for conducting search operations. Comparison in the blocks of the search for arbitrary occurrences occurs in letters. One letter from the registers of processed words and from the registers of sample words are received at the inputs of the comparators. If the result of the comparison is positive, then a shift to the left by one bit of information from the word registers and the register of sample words occurs, and the next characters from the registers enter the comparator input. Perhaps a situation will arise when a positive comparison occurs on the first letter, on the second, on the third, etc., but on the k letter the result of the comparison will be negative and at the same time the end of the sample words will not be detected. Binary-decimal counters of the block of analysis and formation of shift signals count the number of positive comparisons. Let's say they happened k matches, and on k + 1 a negative result was obtained. In this case, a shift to the right by k-1 bits of registers is carried out, in which the processed words are stored. The first letters are crossed out from the series where positive comparisons occurred. Further comparisons will occur, starting from the second letters of the words being processed and from the first letters of the occurrences. The entries will be rewritten from the entries memory. Shift procedures are possible with the use of reverse registers, which carry out the shift of information both to the left and to the right.

Параллельная система поиска произвольных вхождений работает в двух режимах. Первый режим работы заключается в определении вхождений, имеющих общие части. Это означает, что предыдущие вхождения и последующие имеют общие части. Например, вхождением являются символы МММ. Обрабатываемым словом-образцом является слово МММММТОР. При первом режиме работы результатом является три вхождения, в ОЗУ будут записаны три адреса. Первый адрес - с первого по третий, второй - со второго по четвертый, третий - с третьего по пятый. В случае работы системы в первом режиме при получении положительного результата, т.е. обнаружения вхождения, всегда осуществляется сдвиг информации в регистре слова на n-1 разрядов влево, где n - количество сдвигов вправо. Вхождения при этом считываются с первых букв. A parallel search system for arbitrary entries works in two modes. The first mode of operation is to identify occurrences that have common parts. This means that previous entries and subsequent ones have common parts. For example, the entry is MMM characters. The sample word to be processed is the word MMMMMTOR. In the first mode of operation, the result is three occurrences, three addresses will be written to RAM. The first address is from the first to the third, the second is from the second to the fourth, the third is from the third to the fifth. In the case of the system in the first mode when receiving a positive result, i.e. detection of occurrence, information is always shifted in the word register by n-1 bits to the left, where n is the number of shifts to the right. The entries are then read from the first letters.

Второй режим работы системы характеризуется определением вхождений, не имеющих общих частей. В этом случае после обнаружения вхождения осуществляется сдвиг влево на один разряд информации в регистрах слов-образцов. Вхождение считывается заново с первых букв. В приведенном примере при работе системы во втором режиме будет обнаружено только одно вхождение. The second mode of operation of the system is characterized by the definition of occurrences that do not have common parts. In this case, after the occurrence is detected, a shift to the left is performed by one bit of information in the registers of the sample words. The entry is re-read from the first letters. In the above example, when the system operates in the second mode, only one occurrence will be detected.

На фиг. 1 изображена структурная схема параллельной системы поиска произвольных вхождений. In FIG. 1 shows a block diagram of a parallel system for searching for arbitrary occurrences.

На фиг. 2 представлен вариант технической реализации блока памяти вхождений и блока памяти слов. In FIG. Figure 2 shows a technical implementation option for an occurrence memory block and a word memory block.

На фиг.3 показана структурная схема блока поиска произвольных вхождений. Figure 3 shows the structural diagram of the block search for arbitrary occurrences.

На фиг.4 изображена функциональная схема блока регистров сдвига и компаратора. Figure 4 shows a functional diagram of a block of shift registers and a comparator.

На фиг. 5 показана функциональна схема блока анализа и формирование сигналов сдвига. In FIG. 5 shows a functional block diagram of the analysis unit and the generation of shear signals.

На фиг. 6 изображена функциональная схема блока хранения адреса вхождений. In FIG. 6 shows a functional block diagram of the storage address entries.

На фиг.7 - содержательная ГСА работы блока управления работой блока поиска произвольных вхождений. In Fig.7 - informative GAW work of the control unit of the operation of the search unit for arbitrary occurrences.

На фиг.8 - размеченная ГСА работы блока управления работой блока поиска произвольных вхождений. On Fig - labeled GAW work of the control unit of the operation unit search for arbitrary occurrences.

На фиг.9 - содержательная ГСА работы блока управления параллельной системы поиска произвольных вхождений. In Fig.9 - informative GAW operation of the control unit of a parallel search system for arbitrary occurrences.

На фиг.10 - размеченная ГСА работы блока управления параллельной системы поиска произвольных вхождений. Figure 10 - marked GAW operation of the control unit of a parallel search system for arbitrary occurrences.

Параллельная система поиска произвольных вхождений (фиг.1) содержит блок 1 памяти вхождений, блок 2 памяти слов, n-блоков поиска произвольных вхождений, блок управления. Блок поиска произвольных вхождений (фиг.3) содержит блок 9 регистров сдвига и компаратора, блок 10 анализа и формирования сигналов сдвига, блок 11 хранения адреса вхождений, блок 12 управления работой блока поиска произвольных вхождений. A parallel search system for arbitrary entries (Fig. 1) contains a block 1 for the memory of entries, a block 2 for memory words, n-blocks for searching for arbitrary entries, a control unit. The search block for arbitrary entries (Fig. 3) contains a block 9 of shift registers and a comparator, a block 10 for analyzing and generating shift signals, a block 11 for storing the addresses of entries, a block 12 for controlling the operation of the block for searching for random entries.

Для описания алгоритма работы блока 6 управления используются следующие идентификаторы. To describe the operation algorithm of control unit 6, the following identifiers are used.

1. ПРКВ - признак конца вхождения. Это может быть двоичный код, равный 11...1. 1. PRKV - a sign of the end of entry. It can be a binary code equal to 11 ... 1.

2. ПРКС - признак конца слова, равный 11..1. 2. PRKS - a sign of the end of a word, equal to 11..1.

3. КР - команда, определяющая конец работы устройства. 3. CR - a command that determines the end of the device.

4. СУ1 - сигналы управления сдвигающим регистром блока поиска произвольных вхождений (сигналы записи, приема, выдачи данных). 4. SU1 - control signals for the shifting register of the search block for arbitrary occurrences (signals for recording, receiving, outputting data).

5. СУР1 - сигналы управления сдвигающим регистром блока поиска произвольных вхождений (сигналы записи, приема, выдачи данных). 5. СУР1 - control signals for the shifting register of the search block for arbitrary occurrences (signals for recording, receiving, outputting data).

6. СДВ - команда сдвига, поступающая из блока управления на вход сдвигающего регистра вхождения блока поиска произвольных вхождений. 6. SDV - a shift command coming from the control unit to the input of the shift register of the occurrence block of the search for arbitrary entries.

7. СДС - команда сдвига, поступающая из блока управления на вход сдвигающего регистра слова блока поиска произвольных вхождений. 7. SDS - a shift command coming from the control unit to the input of the word shift register of the random entry search block.

8. СУП1 - команды управления записью, выдачей, хранения блока памяти вхождений. 8. СУП1 - commands to control recording, issuing, storing the block of memory entries.

9. СУП2 - команды управления записью, выдачей, хранения блока памяти слов. 9. SUP2 - commands for managing recording, issuing, storing a block of word memory.

10. АД1 - адреса данных выдачи, записи блока памяти вхождения. 10. AD1 - addresses of the issuing data, records of the entry memory block.

11. АД2 - адреса данных выдачи, записи блока памяти слов. 11. AD2 - addresses of data output, record block memory words.

12. ДН1 - данные (двоичные коды букв) блока памяти вхождений. 12. DN1 - data (binary letter codes) of the block of memory entries.

13. ДН2 - данные (двоичные коды букв) блока памяти слов. 13. DN2 - data (binary letter codes) of the word memory block.

14. ССР - сигнал сравнения, поступающий из компаратора. 14. SSR - comparison signal coming from the comparator.

15. СИН - команда синхронизации, поступающая на вход Сч DD.23 блока анализа и формирования сигналов сдвига из блока управления. 15. SIN - synchronization command received at the input of the midrange DD.23 of the analysis and generation of shear signals from the control unit.

16. ОБН - команда обнуления двоичного счетчика Сч DD.23 блока анализа и формирования сигналов сдвига. 16. OBN - a command to reset the binary counter MF DD.23 of the analysis and generation of shift signals block.

17. СВА - команда выдачи адреса вхождения из блока анализа и формирования сигналов сдвига в блок хранения адреса вхождений. 17. CBA - a command for issuing an entry address from an analysis unit and generating shift signals in an entry address storage unit.

18. СЗЩ - команда разрешения записи в триггер Тр DD.19 выходного сигнала из компаратора. 18. SZZCH - command enable recording in the trigger Tr DD.19 of the output signal from the comparator.

19. СДЛ - команда, поступающая из блока управления, открывающая или запирающая электронный ключ И DD.24 блока анализа и формирования сигналов сдвига. 19. SDL - a command coming from the control unit that opens or locks the electronic key AND DD.24 of the analysis and generation of shift signals block.

20. СН - команда синхронизации двоичного счетчика Сч2 DD.25 блока анализа и формирования сигналов сдвига. 20. SN - command synchronization binary counter SC2 DD.25 block analysis and generation of shift signals.

21. СО - команда обнуления двоичного счетчика Сч2 DD.25 блока анализа и формирования сигналов сдвига. 21. CO - a command to reset the binary counter SC2 DD.25 block analysis and generation of shift signals.

22. ПИМ - прямоугольные импульсы, поступающие на информационный вход электронного ключа И DD.24 блока анализа и формирования сигналов сдвига. 22. PIM - rectangular pulses received at the information input of the electronic key AND DD.24 block analysis and generation of shift signals.

23. АдСТ - адреса столбцов для записи вхождений в блок хранения адреса вхождений. 23. AdST - column addresses for recording entries in the block storage addresses of entries.

24. АдСТР - адреса строк для записи вхождений в блок хранения адреса вхождений. 24. ADSTR - address lines for recording entries in the block storage addresses of entries.

25. ДАВ - данные адресов вхождений. 25. DAV - data addresses of occurrences.

26. АВХ - адрес вхождения. 26. ABX - address of entry.

27. ВДВ - выходные данные вхождения блока памяти вхождений. 27. Airborne Forces - output data of the occurrence memory block.

28. ВДС - выходные данные слова блока памяти слов. 28. GVA - the output of the word block memory words.

29. ДС - данные слов. 29. DS - data words.

30. ДВ - данные вхождений. 30. DV - occurrence data.

31. ПРИ - прямоугольные импульсы, поступающие из блока управления блоком на информационный вход логического элемента И DD.21. 31. PRI - rectangular pulses from the control unit to the information input of the logical element AND DD.21.

32. ТАК - тактовые прямоугольные импульсы, поступающие на информационный вход логического элемента И DD.22. 32. SO - clock rectangular pulses received at the information input of the logical element AND DD.22.

33. СВП - команда, определяющая количество сдвигов вправо регистра PrC1 DD.14 блока регистров сдвига и компаратора. 33. SVP - a command that determines the number of right-shifts of the PrC1 DD.14 register of the block of shift registers and the comparator.

34. ДШЕ - команда, определяющая двоичный код 0001 (единицу) на выходе двоичного счетчика Сч1 DD.23. 34. DCLE - a command that defines the binary code 0001 (unit) at the output of the binary counter SC1 DD.23.

35. ГИ - генератор импульсов, поступающий из блока управления блоком на суммирующий вход (+) двоичного счетчика Сч ст DD.29. 35. GI - a pulse generator coming from the block control unit to the summing input (+) of the binary counter Сч ст DD.29.

36. ТИ - тактовые импульсы, поступающие из блока управления блоком на суммирующий вход (+) двоичного счетчика Сч стр DD.30. 36. TI - clock pulses from the control unit to the summing input (+) of the binary counter Midrange DD.30.

37. СБР - команда обнуления двоичного счетчика Сч ст DD.29. 37. SBR - a command to reset the binary counter SC ST DD.29.

38. СБО - команда обнуления двоичного счетчика Сч стр DD.30. 38. SBO - command to reset the binary counter Mid page DD.30.

39. Сч/Зп - команда считывания/записи оперативно-запоминающего устройства. 39. MF / ZP - read / write command of the RAM.

40. ВК - команда выбора кристалла оперативно-запоминающего устройства. 40. VK - a command for selecting a chip of a random access memory.

41. РР - команда признака режима работы системы. 41. PP - the command sign of the mode of operation of the system.

42. СР - команда разрешения работы конкретного блока поиска произвольных вхождений. 42. SR - a command to permit the operation of a specific block for the search for arbitrary occurrences.

43. ПСП - признак "пустого (отсутствие данных)" оперативно-запоминающего устройства блока памяти слов. 43. PSP - a sign of "empty (lack of data)" of the operational storage device of the word memory block.

44. СРР - команда признака работы системы в различных режимах. 44. СРР - a command sign of the system in various modes.

Содержательная ГСА управления приведена на фиг.7 и отражает работу блока поиска произвольных вхождений (БППВ) (фиг.3). Substantial GAW control is shown in Fig.7 and reflects the operation of the search unit for arbitrary occurrences (BPPV) (Fig.3).

По сигналу "СД" блок 2 граф-схемы алгоритма происходит подача разрешающего сигнала из блока управления системы для функционирования очередного блока поиска произвольных вхождений. By the signal "SD" block 2 of the graph diagram of the algorithm, an enabling signal is supplied from the control unit of the system for the operation of the next block for searching for arbitrary entries.

В блоке 3 по команде "СДi:=1" блок поиска произвольных вхождений получает сигнал разрешения на работу из блока управления системы. In block 3, by the command "SDi: = 1", the random entry search block receives a work permit signal from the system control unit.

В блоке 4 алгоритма происходит запись в регистр вхождений из памяти вхождений последовательности букв (вхождение) РгВ:=ВДВ, в регистр слов записывается из памяти слов обрабатываемое слово РгС1:=ВДС. D-триггер Тр блока анализа и формирования сигналов сдвига устанавливается в "0" ТР:=0. По этим командам происходит предварительная загрузка блока поиска произвольных вхождений. In block 4 of the algorithm, a sequence of letters (occurrence) of RgV: = airborne forces is written to the register of entries from the memory of occurrences (occurrence), the processed word PrgS1: = GVA is written from the word memory to the word register. D-trigger Tr of the block for analysis and generation of shear signals is set to "0" TP: = 0. These commands preload the search block for arbitrary occurrences.

В блоке 5 алгоритма по командам СДВ:=0 и СДС:=0 формируется сдвиги влево информации, находящейся в регистрах соответственно РгВ и РгС1 блока 9 регистров сдвига и компаратора (БРСК) (фиг.3, 4). In block 5 of the algorithm for the commands SDV: = 0 and SDS: = 0, left-shift information is generated in the registers РгВ and РгС1 of block 9 of the shift and comparator registers (BRSC), respectively (Figs. 3, 4).

В блоке 6 алгоритма происходит анализ сигнала сравнения ССР, поступившего с выхода компаратора (фиг.4, 5). Если ССР=1, то произошло совпадение буквы вхождения с буквой слова. В этом случае осуществляется переход на блок 7 алгоритма. Если ССР=0, то совпадения не произошло и переход произошел на блок 10 алгоритма. In block 6 of the algorithm, the analysis of the comparison signal of the SSR received from the output of the comparator (Figs. 4, 5) takes place. If SSR = 1, then the letter of occurrence coincided with the letter of the word. In this case, the transition to block 7 of the algorithm. If SSR = 0, then there was no match and the transition occurred to block 10 of the algorithm.

В блоке 7 алгоритма на вход D-триггера Тр блока 10 анализа и формирование сигналов сдвига поступает сигнал ССР из компаратора КОМ блока регистров сдвигов и компаратора ТР:=ССР. Триггер устанавливается в единичное состояние. Это означает, что входные символы на входе компаратора равны между собой. In block 7 of the algorithm, the SSR signal from the comparator KOM of the block of shift registers and the comparator TP: = SSR is received at the input of the D-trigger Tr of block 10 for analysis and generation of shear signals. The trigger is set to a single state. This means that the input characters at the input of the comparator are equal to each other.

В блоке 8 алгоритма по команде СЗЩ:=1 из блока 12 управления работой блока (БУРБ) происходит разрешение на запись в D-триггер информации с выхода компаратора. По команде ТР:=1 D-триггер блока 10 анализа и формирование сигналов сдвига устанавливается в единицу. На суммирующий вход двоичного счетчика СЧ1 этого же блока поступают тактовые импульсы СЧ1:=ТАК. Счетчик подсчитывает количество совпадений в компараторе. In block 8 of the algorithm, by the command SZZCH: = 1 from block 12 for controlling the operation of the block (BURB), permission is made to write information to the D-trigger from the output of the comparator. At the command TP: = 1, the D-trigger of the analysis unit 10 and the formation of the shift signals is set to one. The summing input of the binary counter MF1 of the same block receives the clock pulses MF1: = SO. The counter counts the number of matches in the comparator.

В блоке 9 алгоритма по командам СДВ:=0 и СДС:=0 формируются сдвиги влево информации, находящейся в регистрах соответственно РгВ и РгС1 блока 9 регистров сдвига и компаратора (БРСК) (фиг.3, 4). При этом осуществляется переход на блок 18 алгоритма. In block 9 of the algorithm according to the commands SDV: = 0 and SDS: = 0, left shifts of the information in the registers РгВ and РгС1 of block 9 of the shift and comparator registers (BRSC) are generated respectively (Figs. 3, 4). When this is the transition to block 18 of the algorithm.

В блоке 10 алгоритма анализируется содержимое триггера Тр (фиг 5). Если Тр= 0, то это означает, что совпадения на предыдущем шаге не было, в этом случае формируется сигнал сдвига влево информации на один разряд в блоке 9 регистров сдвига и компаратора регистра РгС1. Если Тр=1, то осуществляется переход на блок 12 алгоритма, где анализируется состояние счетчика СЧ1 блока 10 анализа и формирование сигналов сдвига. In block 10 of the algorithm, the contents of the trigger Tr are analyzed (Fig. 5). If Tp = 0, then this means that there was no coincidence in the previous step, in this case a left-shift information signal is generated by one bit in block 9 of the shift registers and the comparator of the PrC1 register. If Tr = 1, then the transition to block 12 of the algorithm is carried out, where the state of the counter MF1 of analysis block 10 and the formation of shift signals are analyzed.

В блоке 11 алгоритма формируется командой СДС:=0 сдвиг влево на один разряд информации из регистра РгС1 в регистр РгС2 блока 9 регистров сдвига и компаратора. При этом РгС2: =РгС1. На освободившиеся место в регистр РгС1 записывается очередной символ обрабатываемого слова из блока 2 памяти слов РгС1:=ДС. По выходу из блока формируется переход на блок 18 алгоритма. In block 11 of the algorithm, the SDS command is formed: = 0 left shift by one bit of information from the Prg1 register to the Prg2 register of block 9 of the shift and comparator registers. In this case, PrC2: = PrC1. The next character of the processed word from block 2 of the word memory РгС1: = ДС is written to the vacant place in the РгС1 register. Upon exit from the block, a transition to block 18 of the algorithm is formed.

В блоке 12 анализируется состояние двоичного счетчика СЧ1 блока 10 анализа и формирование сигналов сдвига. Если состояние счетчика меньше или равно единице, то осуществляется переход на блок 13 алгоритма. Если условие выполняется, т. е. значение счетчика СЧ1 больше единицы, то происходит переход на блок 16 алгоритма. In block 12, the state of the binary counter MF1 of the analysis block 10 and the formation of the shift signals are analyzed. If the state of the counter is less than or equal to one, then the transition to block 13 of the algorithm. If the condition is satisfied, that is, the value of the counter MF1 is greater than one, then the transition to block 16 of the algorithm occurs.

В блоке 13 алгоритма на вход регистра вхождения РгВ блока 9 регистров сдвига и компаратора из блока 12 управления работой блока поступают управляющие сигналы РгВ:=СУ1. В результате этого в регистр вхождений записывается информация из памяти вхождений РгВ:=ДВ. In block 13 of the algorithm, the control signals of PrgV: = СУ1 are received at the input of the entry register RgV of the block 9 of the shift registers and the comparator from the block 12 for controlling the operation of the block: As a result of this, information from the occurrence memory of PrV: = DW is recorded in the entry register.

В блоке 14 алгоритма регистр слов РгС1 принимает информацию из регистра слов РгС2 РгС1:=РгС2. Обрабатываемое слово сдвигается вправо на п-1 разрядов, где n - количество сдвигов влево этого же слова. In block 14 of the algorithm, the word register PgC1 receives information from the word register PgC2 PgC1: = PgC2. The word being processed is shifted to the right by n-1 bits, where n is the number of left shifts of the same word.

В блоке 15 алгоритма по команде ОБН:=1 происходит обнуление счетчика СЧ1 блока 10 анализа и формирование сигналов сдвига. Двоичный счетчик СЧ1 принимает нулевое значение СЧ1:=0. По выходу из блока формируется переход на блок 18 алгоритма. In block 15 of the algorithm, by the OBN: = 1 command, the counter MF1 of the analysis block 10 is reset and the shift signals are generated. The binary counter MF1 takes a null value MF1: = 0. Upon exit from the block, a transition to block 18 of the algorithm is formed.

В блоке 16 алгоритма формируется подача прямоугольных импульсов из блока 12 управления работой блока ПРИ на вычитающий вход двоичного счетчика СЧ1 блока 10 анализа и формирования сигналов сдвига. По команде СВП:=1 в счетчике происходит арифметическое вычитание единицы до тех пор, пока состояние этого счетчика не будет равно единичному значению СЧ1:=ПРИ. In block 16 of the algorithm, the flow of rectangular pulses from the block 12 for controlling the operation of the PRI unit to the subtracting input of the binary counter MF1 of the block 10 for analyzing and generating shift signals is generated. At the command of SVP: = 1, the counter arithmetically subtracts the unit until the state of this counter is equal to the unit value SCh1: = PRI.

В блоке 17 алгоритма формируется сдвиг вправо. Командой СДС:=1 информация из регистра РгС2 сдвигается на один разряд в регистр РгС1, РгС1:=РгС2. По команде СУ2:=1 происходит разрешение осуществления операций сдвига в блоке 9 регистров сдвига и компаратора. Информация из регистра РгС2 сдвигается в регистр РгС1 до тех пор, пока состояние счетчика СЧ1 не будет равно единице. Блоки 12, 16, 17 алгоритма формируют цикл. Выходом из цикла является условие, при котором значение счетчика будет не больше единицы. По выходу из блока осуществляется переход на блок 13 алгоритма. In block 17 of the algorithm, a shift to the right is formed. With the CDS: = 1 command, information from the PrC2 register is shifted by one bit into the register PrC1, Prg1: = PrgC2. At the command SU2: = 1, the resolution of the shift operation in block 9 of the shift registers and the comparator occurs. Information from the register РГС2 is shifted to the register РгС1 until the state of the counter СЧ1 is equal to one. Blocks 12, 16, 17 of the algorithm form a cycle. The way out of the cycle is the condition under which the value of the counter will be no more than one. Upon exit from the block, a transition to block 13 of the algorithm is performed.

В блоке 18 алгоритма происходит анализ признака конца вхождения ПРКВ (фиг. 4). Если ПРКВ=1, то в регистре вхождения обнаружен двоичный код 11..1. В этом случае вхождение обнаружено в обрабатываемом слове и в блок 11 хранения адреса вхождений записывается адрес вхождения (фиг.6). Если ПРКВ=0, то это означает что процесс сравнения идет побуквенно, но не все буквы вхождения еще просмотрены, при этом осуществляется переход на 19 блок алгоритма. In block 18 of the algorithm, an analysis is made of the sign of the end of occurrence of PRKV (Fig. 4). If PRKV = 1, then the binary code 11..1 is found in the entry register. In this case, the occurrence is detected in the word being processed, and the entry address is recorded in the occurrence address storage unit 11 (FIG. 6). If PRKV = 0, then this means that the comparison process is letter-by-letter, but not all letters of occurrence are still scanned, and transition to the 19th block of the algorithm is carried out.

В блоке 19 алгоритма происходит анализ признака конца слова ПРКС (признаком является двоичный код, равный всем единицам 11...1). Если ПРКС=0, то процесс поиска будет продолжен и при этом осуществляется переход на блок 6 алгоритма. Если обнаружен признак конца слова ПРКС=1, то осуществляется переход на конечный блок 27 алгоритма. In block 19 of the algorithm, the sign of the end of the word PRKS is analyzed (the sign is a binary code equal to all units 11 ... 1). If PRKS = 0, then the search process will continue and the transition to block 6 of the algorithm is carried out. If the sign of the end of the word PRKS = 1 is detected, then the transition to the final block 27 of the algorithm is performed.

В блоке 20 алгоритма происходит запись адреса в блок хранения адреса вхождений. На управляющий вход электронного ключа Кл блока 10 анализа и формирования сигналов сдвига поступает разрешающий сигнал из блока 12 управления работой блока СВА, Кл:=СВА. Информация с выхода двоичного счетчика СЧ2 через открытый ключ Кл поступает на вход оперативно-запоминающего устройства ОЗУ (фиг. 5, фиг. 6). Сигнал разрешения для записи информации поступает из блока 12 управления работой блока Сч/Зп:=0, ВК:=0. На управляющие входы поступают нулевые значения, что соответствует режиму записи в ОЗУ устройства входной информации, т.е. адреса вхождения АВХ ОЗУ:=АВХ. In block 20 of the algorithm, the address is recorded in the storage block of the address entries. At the control input of the electronic key CI of the block 10 for analysis and generation of shear signals, an enable signal is received from the control unit 12 of the operation of the CBA unit, Cl: = CBA. Information from the output of the binary counter MF2 through the public key Kl is fed to the input of RAM memory (Fig. 5, Fig. 6). The permission signal for recording information comes from the control unit 12 of the operation of the block MF / ZP: = 0, VK: = 0. Zero values arrive at the control inputs, which corresponds to the recording mode of the input information in the device RAM, i.e. Address of occurrence of AVX RAM: = AVX.

В блоке 21 алгоритма происходит анализ режима работы i-ого блока поиска произвольных вхождений системы команды PP. Если команда РР равна нулю, то это означает, что данный блок работает в режиме поиска вхождений с общими частями. В этом случае осуществляется переход на блок 22 алгоритма. Если РР равен единице, то блок работает в режиме поиска вхождений, не имеющих общих частей, при этом осуществляется переход на блок 24 алгоритма. In block 21 of the algorithm, an analysis is made of the operating mode of the i-th block for searching for arbitrary occurrences of the PP command system. If the PP command is equal to zero, then this means that this block works in the search mode for entries with common parts. In this case, the transition to the block 22 of the algorithm. If PP is equal to one, then the block operates in the search mode for entries that do not have common parts, and the transition to block 24 of the algorithm is performed.

В блоке 22 алгоритма по команде СРР:=1 выходной сигнал логического элемента DD.30 блока анализа и формирования сигналов сдвига устанавливается в единичное состояние. В этом случае логические элементы DD.29 и DD.21 указанного блока будут открыты. На выходах этих элементов будет сигнал ПРИ - прямоугольные импульсы, поступающие из блока 12 управления работой блока. In block 22 of the algorithm, by the CPP: = 1 command, the output signal of the logic element DD.30 of the block for analysis and generation of shift signals is set to a single state. In this case, the logic elements DD.29 and DD.21 of the indicated block will be opened. At the outputs of these elements there will be a PRI signal - rectangular pulses coming from block 12 controlling the operation of the block.

В блоке 23 алгоритма по команде СДС:=СВП на вход регистра слов PrC1 DD. 14 блока 9 регистров сдвига и компаратора подаются прямоугольные импульсы СВП, количество которых на единицу меньше количества сигналов, поступивших на суммирующий вход счетчика СЧ1 DD.23. При этом по приходу каждого импульса СВП осуществляется сдвиг информации в этом регистре вправо на один разряд. При этом осуществляется переход на блок 26 алгоритма. In block 23 of the algorithm on the command of the SDS: = SVP to the input of the word register PrC1 DD. 14 block 9 of the shift registers and the comparator are fed rectangular pulses SVP, the number of which is one less than the number of signals received at the summing input of the counter SCH DD.23. In this case, upon the arrival of each SVP impulse, the information in this register is shifted to the right by one bit. When this is a transition to block 26 of the algorithm.

В блоке 24 алгоритма по команде СРР:=0 выходной сигнал логического элемента DD. 30 блока 10 анализа и формирования сигналов сдвига устанавливается в нулевое состояние. В этом случае логические элементы DD.29 и DD.21 указанного блока будут закрыты. На выходах этих элементов будут нулевые состояния. In block 24 of the algorithm by the command CPP: = 0, the output signal of the logical element DD. 30 block 10 analysis and generation of shear signals is set to zero. In this case, the logic elements DD.29 and DD.21 of the indicated block will be closed. The outputs of these elements will be zero state.

В блоке 25 алгоритма по команде СДС:=0 на вход регистра слов PrC1 DD.14 блока 9 регистров сдвига и компаратора подается сигнал из блока 12 управления работой блока, равный нулевому значению. При этом осуществляется сдвиг информации в этом регистре на один разряд влево. In block 25 of the algorithm, by the command of the SDS: = 0, the signal from the block 12 of the shift registers and the comparator is sent to the input of the word register PrC1 DD.14 of the block 12 for controlling the operation of the block, which is equal to zero. In this case, the information in this register is shifted by one bit to the left.

В блоке 26 алгоритма происходит запись очередного вхождения в регистр вхождений РгВ блока 9 регистров сдвига и компаратора. Из блока 1 памяти вхождений на вход регистра поступает информация РгВ:=ДВ. In block 26 of the algorithm, the next occurrence in the register of occurrences of PrV of block 9 of the shift registers and the comparator is recorded. From block 1 memory entries at the input of the register receives information RgV: = DV.

Блок 27 алгоритма является конечным блоком. Block 27 of the algorithm is a finite block.

Работа алгоритма управления системы. The operation of the system control algorithm.

Содержательная ГСА управления приведена на фиг.9 и отражает работу блока управления (фиг.1). Substantial GAW control is shown in Fig.9 and reflects the operation of the control unit (Fig.1).

По сигналам "УОО" и "ПУСК" (блоки 2, 4 граф-схемы алгоритма) (фиг.1) происходит установка в нуль всех элементов памяти устройства. по команде "СБРОС:=1"(блок 3). According to the signals "UOO" and "START" (blocks 2, 4 of the graph diagram of the algorithm) (Fig. 1), all elements of the device memory are set to zero. by the command "RESET: = 1" (block 3).

В блоке 5 алгоритма происходит загрузка слов-образцов для проведения поисковых операций. По команде ПВ:=СУП1 происходит подача на вход оперативно-запоминающего устройства (ОЗУ) ПВ DD.7 блока памяти вхождений (БПВ) сигналов управления для записи информации в ОЗУ. По команде ПВ:=АД1 подаются адресные входы для записи данных в ОЗУ. По команде ПВ:=ДН1 происходит подача на входы ОЗУ данных для записи (фиг.2). In block 5 of the algorithm, sample words are loaded for search operations. At the command PV: = СУП1, the input of the random access memory (RAM) PV DD.7 of the memory block of occurrences (BPV) of control signals for recording information in RAM takes place. At the command PV: = AD1, address inputs for writing data to RAM are supplied. At the command PV: = DN1, the data are fed to the RAM inputs for recording (Fig. 2).

В блоке 6 алгоритма происходит загрузка слов для проведения поисковых операций. По команде ПС:=СУП2 происходит подача на вход оперативно-запоминающего устройства (ОЗУ) ПС DD.8 блока памяти слов (БПС) сигналов управления для записи информации в ОЗУ. По команде ПС:=АД2 подаются адресные входы для записи данных в ОЗУ. По команде ПС:=ДН2 происходит подача на входы ОЗУ данных для записи (фиг.2). In block 6 of the algorithm, words are loaded for search operations. At the command of the PS: = SOUP2, the input of the random access memory (RAM) of the PS DD.8 of the word memory block (BPS) of the control signals for recording information in the RAM takes place. At the command PS: = AD2, address inputs are supplied for writing data to RAM. At the command of the PS: = DN2, the data are fed to the RAM inputs for recording (Fig. 2).

В блоке 7 счетчик блоков поиска произвольных вхождений i устанавливается в единичное состояние по команде i:=1. In block 7, the counter of blocks for the search for arbitrary occurrences i is set to a single state by the command i: = 1.

В блоке 8 алгоритма анализируется признак КР - наличие информации в памяти вхождений блока памяти вхождений (БПВ). Если признак КР равен нулю, то это означает, что в памяти вхождений есть информация. В этом случае работа системы продолжается. Если признак КР равен единице, что означает: все слова-образцы в блоке памяти вхождений (БПВ) просмотрены. В этом случае происходит переход на конечный блок 14 алгоритма (фиг.2). In block 8 of the algorithm, the CR attribute is analyzed - the presence of information in the occurrence memory of the occurrence memory block (BPV). If the sign of CR is equal to zero, then this means that there is information in the memory of entries. In this case, the operation of the system continues. If the sign of CR is equal to one, which means: all the sample words in the block memory entries (BPV) are viewed. In this case, there is a transition to the final block 14 of the algorithm (figure 2).

В блоке 9 алгоритма анализируется признак ПСП - наличие информации в памяти слов блока памяти слов (БПС). Если признак ПСП равен нулю. то это означает, что в памяти слов есть информация. В этом случае работа системы продолжается. Если признак ПСП равен единицы, что означает: все обрабатываемые слова в блоке памяти слов (БПС) просмотрены. В этом случае происходит переход на конечный блок 14 алгоритма (фиг.2). In block 9 of the algorithm, the sign of memory bandwidth is analyzed - the availability of information in the word memory of the word memory block (BPS). If the SRP flag is zero. this means that there is information in the memory of words. In this case, the operation of the system continues. If the PSP flag is equal to one, which means: all processed words in the word memory block (BPS) are viewed. In this case, there is a transition to the final block 14 of the algorithm (figure 2).

В блоках 10-13 сформирован цикл загрузки и работы всех блоков поиска произвольных вхождений системы, начиная с первого и по n-й. In blocks 10–13, a cycle of loading and operation of all blocks for searching for arbitrary entries of the system is formed, starting from the first and the nth.

В блоке 10 алгоритма анализируется текущее значение счетчика блоков i. Если i<= n где n - общее количество блоков поиска произвольных вхождений в поисковой системе, то процесс загрузки блоков для символьной обработки продолжается. В этом случае происходит переход на блок 11 алгоритма. Если условие в блоке 10 алгоритма не выполняется, т.е. все блоки загружены, то осуществляется переход на блок 8 алгоритма для анализа признаков работы системы. In block 10 of the algorithm, the current value of the counter of blocks i is analyzed. If i <= n where n is the total number of blocks to search for arbitrary entries in the search engine, then the process of loading blocks for symbol processing continues. In this case, the transition to block 11 of the algorithm. If the condition in block 10 of the algorithm is not satisfied, i.e. If all the blocks are loaded, then the transition to block 8 of the algorithm is carried out to analyze the signs of the system.

В блоке 11 алгоритма анализируется признак работы СР i-ого блока поиска произвольных вхождений (БППВi). Если СРi равен единице, то происходит загрузка данного блока информацией для осуществление поисковой операции. Если признак работы СРi равен нулю, то осуществляется переход на блок 13 алгоритма. Сигнал СРi работы блока БППВi формирует блок управления (фиг.1). In block 11 of the algorithm, the sign of the operation of the CP of the i-th block of the search for arbitrary entries (BPSI) is analyzed. If CPi is equal to one, then this block is loaded with information for performing a search operation. If the sign of operation of CPi is zero, then the transition to block 13 of the algorithm is performed. The signal CPi operation unit BPPVi forms a control unit (figure 1).

В блоке 12 алгоритма по команде БППВi:=ВДС происходит подача на i-блок поиска произвольных вхождений (БППВ) информации из блока памяти вхождений (БПВ). По команде БППВi:=ВДВ на вход i-ого блока поиска произвольных вхождений подается информация из блока памяти слов (БПС). В этом блоке алгоритма осуществляется загрузка блока БППВi словами и словами-образцами для обработки. In block 12 of the algorithm, on the basis of the BPPi: = GVA command, information from the block of occurrence memory (BPV) is fed to the i-block for searching for arbitrary entries (BPS). At the command of BPPVi: = Airborne Forces, information from the word memory block (BPS) is supplied to the input of the i-th block for searching for arbitrary entries. In this block of the algorithm, the BPPi block is loaded with words and sample words for processing.

В блоке 13 алгоритма по команде i:=i+1 происходит изменение значения счетчика блоков (БППВ) на единицу. При этом осуществляется переход на блок 10 алгоритма. In block 13 of the algorithm, by the command i: = i + 1, the value of the block counter (BPC) changes by one. In this case, the transition to block 10 of the algorithm.

Работа системы поиска произвольных вхождений заключается в следующем. The work of the search system for arbitrary occurrences is as follows.

Внешние управляющие сигналы "ПУСК" и "СБРОС" поступают в блок 6 управления. External control signals "START" and "RESET" are received in the control unit 6.

В параллельной системе поиска произвольных вхождений осуществляется процесс обработки информации сразу с несколькими словами и несколькими вхождениями в параллельном варианте. Для осуществления параллельной обработки в системе имеются n-блоков поиска произвольных вхождений БППВn. В каждый блок БППВn системы загружаются слова и слова-образцы (вхождения). Работают блоки в независимом друг от друга режиме. Все эти блоки имеют одинаковые структурные и принципиальные схемы, состоящие их однотипных цифровых элементов. Блоки работают по одному и тому же алгоритму. In a parallel search system for arbitrary occurrences, a process of processing information with several words and several occurrences in parallel is carried out at once. For parallel processing, the system has n-blocks for searching for arbitrary occurrences of BPNVn. Words and word-patterns (occurrences) are loaded into each block of the BPPVn system. Blocks work in an independent mode. All these blocks have the same structural and circuit diagrams consisting of the same digital elements. Blocks work on the same algorithm.

В оперативно-запоминающем устройстве блока 2 БПС записаны обрабатываемые слова, в которых необходимо обнаружить вхождения. Под вхождениями подразумевается символ или цепочка символов (включая слова), которые нужно найти в словах блока БПС. Вхождения находятся в оперативно-запоминающем устройстве блока 1 БПВ. В компараторе происходит последовательное сравнение каждой буквы вхождения с символами слова. В каждом блоке поиска произвольных вхождений БППВn обрабатывается сигнал сравнения символов блоков БПС и БПВ. Если вхождение обнаружено в слове, то формируется адрес (позиция) этого вхождения в слове. Адрес хранится в блоке 11 хранения адреса. Если сравнение не произошло, то формируются сигналы сдвига в блоке БУ, поступающие на вход блоков БПС и БПВ. Если при работе системы возникает ситуация, при которой были получены вначале положительные результаты сравнения в компараторе, а затем отрицательный, но признак конца вхождения еще не обнаружен. В этом случае будут найдены только несколько символов вхождения, но не все вхождение полностью. При положительном результате в компараторе происходит сдвиг влево на одну позицию информации регистра РгС1. Слово из регистра РгС1 побуквенно переходит во вторую часть регистра - РгС2. Двоичным счетчиком фиксируется положительная серия сравнений в компараторе. В случае отрицательного результата при сравнении происходит обратный сдвиг вправо информации из РгС2 в РгС1, но на один сдвиг меньше. Процесс поиска вхождений будет продолжен, но со второй буквы обрабатываемого слова. Первая буква в этом случае как бы "вычеркивается". Процесс продолжается до тех пор, пока не будут обнаружены все вхождения в обрабатываемом слове. In the RAM of the block 2 BPS recorded processed words in which you want to detect occurrences. By occurrences is meant a character or a string of characters (including words) to be found in the words of the BTS block. The entries are in the random access memory of the BPV block 1. In the comparator, each letter of the occurrence is sequentially compared with the characters of the word. In each block for searching for arbitrary occurrences of the BPVn, the symbol comparison signal of the BTS and BPV blocks is processed. If an occurrence is found in a word, then the address (position) of this occurrence in the word is formed. The address is stored in the address storage unit 11. If the comparison did not happen, then the shift signals are generated in the control unit, which are fed to the input of the BTS and BPV blocks. If during the operation of the system a situation arises in which at first positive results of comparison were obtained in the comparator, and then negative, but the sign of the end of the entry has not yet been detected. In this case, only a few occurrence characters will be found, but not the entire occurrence is complete. If the result is positive, a shift to the left by one position of the information in the Prg1 register occurs in the comparator. The word from the register РгС1 is transferred letter by letter to the second part of the register - РгС2. The binary counter records a positive series of comparisons in the comparator. In the case of a negative result during the comparison, a reverse shift to the right of information from PrC2 to PrC1 occurs, but one shift less. The search for entries will continue, but with the second letter of the word being processed. The first letter in this case is “crossed out”. The process continues until all occurrences in the word being processed are detected.

Блок 1 памяти вхождений содержит оперативно-запоминающее устройство (ОЗУ) - память вхождений DD.7. (фиг.2). На вход этого блока поступают сигналы из блока управления для осуществления операций выбора кристалла, операции считывания/записи - СУП1, а также адресные данные АД1, по которым записываются в ОЗУ данные. Входными данными ОЗУ памяти вхождений являются слова-образцы (вхождения) - ДН1, которые поступают из блока управления системы. Вхождения записываются заранее перед осуществлением операции поиска. При считывании вхождений с выхода памяти вхождений формируется информационный сигнал ВДВ, соответствующий двоичному коду каждой буквы вхождения. Выходным сигналом является управляющая команда, соответствующая признаку конца работы блока памяти вхождений КР, т.е. ОЗУ блока "пустое". Этот сигнал поступает на вход блока управления. Память вхождений - оперативно-запоминающее устройство ОЗУ ПВ служит для хранения цепочки символов - вхождений. Block 1 memory entries contains a random access memory (RAM) - memory entries DD.7. (figure 2). The input of this unit receives signals from the control unit for performing chip selection operations, read / write operations — SUP1, as well as address data AD1, for which data is written to RAM. The input data of the memory of occurrences are the words-patterns (occurrences) - ДН1, which come from the control unit of the system. The entries are recorded in advance before performing the search operation. When reading entries from the output memory of the entries, an airborne information signal is generated corresponding to the binary code of each entry letter. The output signal is a control command corresponding to the end of operation of the memory block of occurrences of the CR, i.e. The block RAM is empty. This signal is input to the control unit. Memory of occurrences - RAM RAM RAM is used to store a string of characters - occurrences.

Блок 2 памяти слов содержит оперативно-запоминающее устройство ОЗУ ПС - память слов DD.8. (фиг.2). На вход этого блока поступает информационный сигнал из блока управления для осуществления операций выбора кристалла, операции считывания/записи - СУП2, а также адресные данные АД2. Входными данными ОЗУ памяти слов являются обрабатываемые слова ДН2, которые поступают из блока управления. Слова записываются заранее перед осуществлением операции поиска. При считывании слов с выхода памяти слов формируется информационный сигнал ВДС, соответствующий двоичному коду каждой буквы слова. Выходным сигналом является управляющая команда, соответствующая признаку конца работы блока памяти слов ПСП. Этот сигнал поступает на вход блока управления, означающий, что ОЗУ ПС "пустое". Память слов ПС служит для хранения слов-образцов. Block 2 memory words contains a random access memory RAM RAM PS - memory words DD.8. (figure 2). The input of this block receives an information signal from the control unit for crystal selection operations, read / write operations - СУP2, as well as address data AD2. Input data of the word memory RAM are the processed words ДН2, which come from the control unit. Words are written in advance before performing a search operation. When reading words from the output of the word memory, an information signal of the GVA is generated corresponding to the binary code of each letter of the word. The output signal is a control command corresponding to the end of operation of the memory block words memory bandwidth. This signal is fed to the input of the control unit, which means that the RAM RAM is “empty”. The word memory PS serves to store the sample words.

Блок 3 поиска произвольных вхождений содержит блок 9 регистров сдвига и компаратора БРСК, блок 10 анализа и формирования сигналов сдвига БАФС, блок 11 хранения адреса вхождений БХАВ, блок 12 управления работой блока БУРБ (фиг.3). Block 3 search for arbitrary entries contains a block 9 of the shift registers and the comparator BRSC, block 10 analysis and generation of shift signals BAFS, block 11 storing the address of occurrences BHAV, block 12 for controlling the operation of the block BURB (figure 3).

Блок 9 регистров сдвига и компаратора БРСК (фиг.4) содержит реверсивный регистр РгВ DD13 (регистр вхождений), в котором будет хранится слово-образец (вхождение), реверсивный регистр РгС1 DD14, (регистр слов), в котором будет хранится обрабатываемое слово, реверсивный регистр сдвига РгС2 DD15, логический элемент И DD16 предназначен для обнаружения признака конца вхождения ПРКВ, логический элемент И DD18 предназначен для обнаружения признака конца слова ПРКС, компаратор DD.17, представляющий собой устройство сравнения на равенство входных величин: выходных данных вхождений ДВ реверсивного регистра РгВ DD. 13 и выходных данных реверсивного регистра слов РгС1 - ДС (фиг. 4). Если входные сигналы равны, то на выходе компаратора формируется единичный сигнал ССР. В обратном случае ССР будет равен нулю. Выходной сигнал компаратора поступает на вход блока 12 управления работой блока и на вход блока 10 анализа и формирования сигналов сдвига (фиг.3). С выхода памяти вхождений информация ВДВ поступает на вход реверсивного регистра вхождений РгВ DD.13, по сигналам управления СУ1 из блока 12 управления работой блока происходит запись символов вхождения в регистр вхождений. Сигнал сдвига вхождений СДВ из блока 12 управления работой блока поступает на вход реверсивного регистра вхождений (фиг.4). Выходная информация из реверсивного регистра вхождений ДВ поступает на первый вход компаратора DD.17 (фиг.4). Реверсивный регистр РгВ выполняет операцию сдвига в любом направлении: слева направо или наоборот. Сдвиг вправо выполняется при значении сигнала СДВ=1. сдвиг влево - при СДВ=0, т.е. направление сдвига осуществляется одним управляющим сигналом [3, 4]. Элемент И DD.16 формирует сигнал признака конца вхождений ПРКВ, равный единице (все единицы на входе). Перед началом работы системы в регистре вхождений находится слово-образец, сигнал признака конца вхождений ПРКВ равен нулю, сигнал сдвига вхождений СДВ равен нулю. С выхода памяти слов информация ВДС поступает на вход реверсивного регистра слов PrC1 DD14, по сигналам управления СУР из блока 12 управления работой блока происходит запись слова в реверсивный регистр слов PrC1 DD.14. Сигнал сдвига слов СДС из блока 12 управления работой блока поступает на вход реверсивного регистра слов PrC1 DD.14 (фиг.4). Выходная информация из реверсивного регистра слов PrC1 ДС поступает на вход логического элемента И DD18, а также на второй вход компаратора КОМ DD. 17. Элемент И DD.18 формирует сигнал признака конца слова ПРКС, равный единице (все единицы на входе). Перед началом работы системы в регистре слов находится слово, сигнал признака конца слова ПРКС равен нулю. Работа системы начинается с установки управляющих сигналов сдвигов СДВ и СДС в нулевое состояние. На вход компаратора КОМ поступают по одному символу из регистров вхождений и слов. Если на выходе компаратора КОМ будет сформирован сигнал сравнения ССР, то сигнал сдвига СДС будет равен нулю, в этом случае будет сформирован сигнал сдвига влево на один разряд. Информация из регистра PrC1 DD.14 сдвинется на один символ влево. Этот символ перейдет по сигналам СУР в регистр РгС2 DD15 (фиг. 4). Процесс сдвига влево будет продолжаться до тех пор, пока не будет получен отрицательный результат сравнения в компараторе КОМ DD.17 или не будет обнаружен признак конца вхождения ПРКВ. Предположим, что было зафиксировано 4 сдвига влево и получен отрицательный сигнал сравнения ССР, равный нулю. Тогда блоком 12 управления работой блока будут сформированы сигналы вправо, при этом сигнал сдвига СДС равен единице. Информация из регистра РгС2 DD.15 будет сдвинута вправо на n-1 разрядов, где n - количество сдвигов влево, в нашем случае 3. Три буквы из регистра РгС2 DD15 перейдут в регистр PrC1 DD14. В этом случае вторая буква будет первой в регистре PrC1, процесс поиска вхождений будет продолжен (фиг.4). Если будет обнаружен признак конца вхождения ПРКВ, то в этом случае вхождение найдено и будет записано в блок хранения адреса вхождений по соответствующему адресу. Работу блока можно представить как хранение вхождений и слов. По приходу сигналов сдвига происходит выдача по одному символу на входы компаратора для осуществления операции сравнения. В зависимости от выходного сигнала компаратора ССР происходит сдвиг информации в обоих регистрах или в регистре слов. Block 9 of the shift registers and the BRSC comparator (Fig. 4) contains a reverse register РгВ DD13 (register of occurrences), in which the sample word (occurrence) will be stored, a reverse register РгС1 DD14, (word register), in which the processed word will be stored, reversible shift register РгС2 DD15, logic element AND DD16 designed to detect the sign of the end of occurrence of PRKV, logic element AND DD18 designed to detect the sign of the end of the word PRKS, comparator DD.17, which is a device for comparing the equality of input values: output occurrences of data DV reverse EGC DD register. 13 and the output data of the reverse word register PgC1 - DS (Fig. 4). If the input signals are equal, then a single SSR signal is generated at the output of the comparator. Otherwise, the SSR will be zero. The output signal of the comparator is fed to the input of the unit 12 for controlling the operation of the unit and to the input of the unit 10 for analysis and generation of shear signals (Fig. 3). From the output of the entry memory, the information of the airborne landing forces is fed to the input of the reverse entry register RgB DD.13, according to the control signals SU1 from the unit 12 for controlling the operation of the block, the characters of the entries in the entries register are recorded. The shift signal occurrences of the SDV from the block 12 control the operation of the block is fed to the input of the reverse register of occurrences (figure 4). The output from the reverse register of occurrences of the DV goes to the first input of the comparator DD.17 (figure 4). The reversible register RgV performs a shift operation in any direction: from left to right or vice versa. A shift to the right is performed when the value of the signal ADS = 1. left shift - with ADD = 0, i.e. the shift direction is carried out by one control signal [3, 4]. Element AND DD.16 generates a signal of the sign of the end of occurrences of PRKV equal to one (all units at the input). Before the system starts operating, the entry word contains a sample word, the signal of the sign of the end of occurrences of the PRKV is zero, the signal of the shift of the occurrences of the ADD is zero. From the output of the word memory, the GVA information is input to the reverse word register PrC1 DD14, according to the control signals from the control unit from the unit 12, the word is recorded in the reverse word register PrC1 DD.14. The word shift signal SDS from the block 12 control the operation of the block is fed to the input of the reverse word register PrC1 DD.14 (figure 4). The output information from the reverse word register PrC1 DS is fed to the input of the logical element AND DD18, as well as to the second input of the comparator KOM DD. 17. The element And DD.18 generates a signal of the sign of the end of the word PRKS equal to one (all units at the input). Before the system starts working, the word is in the word register, the signal for the end of the word sign of the PRKS is zero. The system starts by setting the control signals of the offsets of the SDV and SDS to zero. At the input of the comparator KOM, one character from the registers of occurrences and words is received. If the SSR comparison signal is generated at the output of the KOM comparator, then the SDS shift signal will be zero, in this case a left shift signal will be generated by one bit. Information from the PrC1 DD.14 register will shift one character to the left. This symbol will pass on the signals of the RMS in the register PrC2 DD15 (Fig. 4). The process of shifting to the left will continue until a negative comparison result is obtained in the comparator KOM DD.17 or a sign of the end of the PRKV entry is detected. Suppose that 4 left shifts were recorded and a negative SSR comparison signal of zero was received. Then, the block 12 controlling the operation of the block will generate signals to the right, while the shift signal of the SDS is equal to one. Information from the register РсС2 DD.15 will be shifted to the right by n-1 digits, where n is the number of left shifts, in our case 3. Three letters from the register РгС2 DD15 will go to the register PrC1 DD14. In this case, the second letter will be the first in the register PrC1, the process of searching for entries will continue (figure 4). If a sign of the end of an occurrence of PRKV is detected, then in this case the occurrence is found and will be recorded in the storage block of the address of the entries at the corresponding address. The work of the block can be represented as the storage of entries and words. Upon the arrival of the shift signals, one character is output to the comparator inputs for the comparison operation. Depending on the output signal of the SSR comparator, information is shifted in both registers or in the word register.

Блок 10 анализа и формирования сигналов сдвига (фиг.5) содержит D-триггер DD19, двухвходовый логический элемент И DD. 20 с инверсным входом, двухвходовый логический элемент И DD.22, двухвходовый логический элемент И DD. 24, трехвходовый логический элемент И DD.21 с инверсным входом, логический элемент И DD.28 с инверсными входами, трехвходовый элемент И DD.27 с инверсным входом, электронный ключ DD.26, двоичный счетчик СЧ1 DD.23, двоичный счетчик СЧ2 DD.25, двухвходовый логический элемент И DD.29, двухвходовый логический элемент ИЛИ DD.30 с инверсными входами. Перед началом работы устройства двоичные счетчики Сч1 DD.23, Сч2 DD.25, а также D-триггер Тр DD. 19 триггер установлены в нулевое состояние. Блок 10 анализа и формирования сигналов сдвига (фиг.5) обрабатывает выходной сигнал ССР с компаратора. Если сигнал ССР равен единице, то это означает, что произошло совпадение двоичного кода символа вхождения с двоичным кодом буквы слова. В этом случае D-триггер Тр DD.19 по приходу из блока 12 управления работой блока разрешающего сигнала СЗЩ устанавливается в единичное состояние. Логический элемент И DD.22, выполняющий функцию электронного ключа, отпирается, тактовые импульсы ТАК из блока 12 управления работой блока поступают на суммирующий (+) вход двоичного счетчика СЧ1 DD.23. В двоичном счетчике СЧ1 DD.23 происходит суммирование тактовых импульсов, количество которых соответствует количеству совпадений в компараторе. На выходе двоичного счетчика СЧ1 DD.23 формируется двоичный код, соответствующий количеству положительных совпадений в компараторе (фиг.5). При каждом положительном совпадении в компараторе происходит формирование сигналов сдвига влево СДВ и СДС, равных нулю, и осуществляется сдвиг на один символ влево в регистре РгВ DD.13 и регистре PrC1 DD.14 блока 9 регистров сдвига и компаратора (фиг.4). Регистр РгС2 DD. 15 блока 9 регистров сдвига и компаратора записывает каждый символ, поступающий из регистра PrC1 DD.14. В случае обнаружения признака конца вхождения ПРКВ, равным единице, логическим элементом И DD.16 блока 9 регистров сдвига и компаратора происходит определение адреса вхождения и запись по соответствующему адресу записи в оперативно-запоминающее устройство ОЗУ DD.33 блока 11 хранения адреса вхождений. Если признак конца слова не обнаружен ПРКС= 0 (равен нулю), то предыдущее вхождение восстанавливается, т.е. переписывается заново из памяти вхождений, и процесс поиска вхождений в слове продолжается. Если совпадений в компараторе не происходит, выходной сигнал ССР равен нулю, то формируется только сигнал СДС, равным нулю, и происходит сдвиг влево на одну позицию информации, находящейся в регистре слов PrC1 DD. 14 блока 9 регистров сдвига и компаратора (фиг.4). При каждом сдвиге влево и отрицательном результате совпадения в компараторе из памяти слов ПС переписывается (дописывается) символ в регистр памяти слов PrC1 DD.14 блока 9 регистров сдвига и компаратора. Возможна ситуация в поисковой операции, когда был получен положительный результат сравнения символов, тогда формируется сдвиг влево на один разряд регистров. После сдвига получен второй раз положительный результат, третий и так далее, но признака конца вхождения еще нет. Допустим на n шаге получен отрицательный результат сравнения, а вхождение полностью не обнаружено. В этом случае D-триггер Тр DD.19 был установлен в состояние единицы, т.е. на выходе элемента единица. На следующем этапе сигнал сравнения равен нулю ССР=0. На выходе логического элемента И DD.20 будет сформирован единичный сигнал. Логический элемент И DD.21 также будет открыт, прямоугольные импульсы из блока 12 управления работой блока ПРИ будут поступать на вычитающий вход двоичного счетчика СЧ1 DD.23. Вычитание происходит до тех пор, пока на выходе счетчика не будет двоичный код, равный единице. На положительный вход счетчика прямоугольные импульсы из блока 12 управления работой блока поступать не будут, т.к. логический элемент И DD. 22, выполняющий функцию электронного ключа, будет заперт установившимся в нулевое состояние D-триггером DD.19. Логический элемент И DD.28 выполняет роль дешифратора единицы. Выход этого элемента равен единице в случае получения на выходе счетчика СЧ1 DD.23 двоичного кода 0001 (фиг.5). При всех других комбинациях на выходе данного элемента будет состояние нуль. При единице на выходе этого элемента логический элемент И DD.21 запирается, т.к. единица поступает на инверсный вход. Прямоугольные импульсы на вычитающий вход счетчика СЧ1 не поступают. Счетчик СЧ1 обнуляется командой ОБН, поступающей из блока 12 управления работой блока. Логический элемент И DD.27 выполняет роль своеобразного "клапана", формирующего количества сдвигов вправо регистра PrC1. Каждый раз, когда происходит вычитание единицы из содержимого счетчика СЧ1, происходит перемещение вправо информации из регистра РгС2 DD. 15 в регистр PrC1 DD.14 блока 9 регистров сдвига и компаратора. Количество сдвигов вправо будет на один меньше, чем количество сдвигов влево. В нашем примере n-1. Вторая буква из полученной серии положительных сдвигов будет первой в регистре PrC1. Вхождение будет заново переписано из памяти вхождений DD. 7 в регистр вхождений РгВ DD.13. Процесс поиска будет продолжен. Логический элемент или DD.30 выполняет функцию распознавания режима работы. Как известно, система работает в двух независимых режимах: определения вхождений с общими частями и определения вхождений и без (пересечений) общих частей. В первом случае признак режима работы РР будет равен нулю. Во втором случае признак РР равен единице. Логический элемент И DD.29 выполняет функцию электронного ключа. В случае, когда признак работы системы РР равен нулю, на выходе элемента ИЛИ DD.30 всегда будет единица. Электронный ключ DD. 29 будет открыт. Прямоугольные импульсы ПРИ из блока 12 управления работой блока через открытый ключ поступают на третий вход логического элемента И DD. 21. Этот режим характеризуется перемещением информации из регистра РгС2 DD.15 в регистр PrC1 DD.14 на n-1 разрядов, т.е. будет сформирован возврат информации, где n - количество положительных сдвигов, всякий раз, когда будет обнаружено вхождение в обрабатываемом слове, при этом признак конца вхождения ПРКВ будет равен единице. Если режим работы системы будет установлен как поиск вхождений без общих частей, то в этом случае РР равен единице. В случае обнаружения вхождения признак вхождений ПРКВ равен также единице. На выходе логического элемента ИЛИ DD.30 установить нулевое значение. Электронный ключ И DD.29 будет заперт. Прямоугольные импульсы ПРИ из блока 12 управления работой блока не будут поступать на вход элемента И DD.21 (фиг.5). Информация из регистра РгС2 не переместится в регистр PrCl. В этом случае будет сформирован сдвиг влево символов из регистра PrC1 в регистр РгС2 т.е. возврата информации не будет (фиг.4). Block 10 analysis and generation of shear signals (figure 5) contains a D-trigger DD19, two-input logic element AND DD. 20 with inverse input, two-input logic element AND DD.22, two-input logic element AND DD. 24, three-input logic element AND DD.21 with inverse input, logic element AND DD.28 with inverse inputs, three-input element AND DD.27 with inverse input, electronic key DD.26, binary counter СЧ1 DD.23, binary counter СЧ2 DD .25, two-input logic element AND DD.29, two-input logic element OR DD.30 with inverse inputs. Before starting the operation of the device, binary counters Сч1 DD.23, Сч2 DD.25, as well as the D-trigger Tr DD. 19 trigger set to zero. Block 10 analysis and generation of shear signals (figure 5) processes the output signal of the SSR from the comparator. If the SSR signal is equal to one, then this means that the binary code of the occurrence symbol coincides with the binary code of the word letter. In this case, the D-trigger Tr DD.19 upon arrival from the block 12 controlling the operation of the block of the enable signal SZSch is set to a single state. The logic element AND DD.22, which performs the function of an electronic key, is unlocked, the clock pulses of the SAC from block 12 control the operation of the block are received at the summing (+) input of the binary counter SCH DD.23. In the binary counter SCH DD.23, a summation of clock pulses occurs, the number of which corresponds to the number of matches in the comparator. At the output of the binary counter SCH DD.23, a binary code is generated corresponding to the number of positive matches in the comparator (Fig. 5). With each positive match in the comparator, the leftward shift signals SDV and SDS are generated, which are equal to zero, and one shift to the left is performed in the register Prg DD.13 and the register PrC1 DD.14 of block 9 of the shift and comparator registers (Fig. 4). Register РгС2 DD. 15 block 9 of the shift registers and the comparator records each character coming from the register PrC1 DD.14. In case of detection of a sign of end of occurrence of PRKV equal to one, by logical element AND DD.16 of block 9 of the shift registers and the comparator, the address of the entry is determined and recorded at the corresponding write address in the RAM DD.33 of the storage unit 11 of the address of the entries. If the sign of the end of the word is not detected PRKS = 0 (equal to zero), then the previous occurrence is restored, i.e. is rewritten from the memory of entries, and the process of searching for entries in a word continues. If there are no matches in the comparator, the output signal of the SSR is zero, then only the SDS signal is formed, which is equal to zero, and a shift to the left by one position of the information in the PrC1 DD word register occurs. 14 block 9 of the shift registers and the comparator (figure 4). With each left shift and a negative result of a match in the comparator, a symbol is copied from the PS word memory to the word memory register PrC1 DD.14 of block 9 of the shift and comparator registers. A situation is possible in a search operation when a positive result of character comparison was obtained, then a left shift by one bit of registers is formed. After the shift, a positive result was obtained the second time, the third and so on, but there is no sign of the end of the entry. Suppose that at step n a negative comparison result is obtained, and the occurrence is not completely detected. In this case, the D-trigger Tr DD.19 was set to unity, i.e. the output element is one. In the next step, the comparison signal is equal to zero SSR = 0. At the output of the logic element AND DD.20 will be formed a single signal. The logic element AND DD.21 will also be open, rectangular pulses from the unit 12 for controlling the operation of the PRI block will be fed to the subtracting input of the binary counter СЧ1 DD.23. Subtraction occurs until there is a binary code equal to one at the output of the counter. At the positive input of the counter, rectangular pulses from the block 12 of the block operation control will not be received, because logical element AND DD. 22, which performs the function of an electronic key, will be locked by the DD trigger D.19, which is set to zero. The logical element AND DD.28 acts as a unit decoder. The output of this element is equal to one in the case of receiving the binary code 0001 (Fig. 5) at the output of the counter SC1 DD.23. For all other combinations, the output of this element will be zero. With a unit at the output of this element, the logical element AND DD.21 is locked, because unit goes to the inverse input. Rectangular pulses are not received at the subtracting input of the counter MF1. The counter MF1 is reset by the OBN command coming from the block 12 for controlling the operation of the block. The logic element And DD.27 acts as a kind of "valve", forming the number of shifts to the right of the register PrC1. Each time a unit is subtracted from the contents of the SCh1 counter, information to the right from the РсС2 DD register is moved to the right. 15 to the PrC1 DD.14 register of block 9 of the shift registers and the comparator. The number of shifts to the right will be one less than the number of shifts to the left. In our example, n-1. The second letter from the resulting series of positive shifts will be the first in the PrC1 register. The entry will be rewritten from the memory of the DD entries. 7 in the register of entries of Prg DD.13. The search process will continue. The logic element or DD.30 performs the function of recognizing the operating mode. As you know, the system operates in two independent modes: determining occurrences with common parts and determining occurrences and without (intersections) common parts. In the first case, the sign of the PP operating mode will be zero. In the second case, the sign of PP is equal to one. The logical element AND DD.29 performs the function of an electronic key. In the case when the sign of the PP system operation is equal to zero, the output of the OR element DD.30 will always be one. Electronic key DD. 29 will be open. Rectangular pulses PRI from block 12 controlling the operation of the block through the public key are fed to the third input of the logical element AND DD. 21. This mode is characterized by the transfer of information from the register PrC2 DD.15 to the register PrC1 DD.14 by n-1 bits, i.e. an information return will be generated, where n is the number of positive shifts, whenever an occurrence in the word being processed is detected, while the sign of the end of the occurrence of the PRKV will be equal to one. If the operating mode of the system is set as the search for occurrences without common parts, then in this case the PP is equal to one. In case of occurrence detection, the sign of occurrences of PRKV is also equal to one. At the output of the logic element OR DD.30 set to zero. The electronic key AND DD.29 will be locked. Rectangular pulses PRI from the block 12 control the operation of the block will not be received at the input of the element And DD.21 (figure 5). Information from the PrC2 register will not move to the PrCl register. In this case, a left-shift of the symbols from the PrC1 register to the PrC2 register will be generated i.e. no information will be returned (Fig. 4).

Блок 11 хранения адреса вхождений БХАВ (фиг.6) содержит оперативно-запоминающее устройство ОЗУ DD.33, двоичный счетчик, формирующий адреса столбцов ОЗУ - Сч ст DD.31, двоичный счетчик, формирующий адреса строк ОЗУ - Сч стр DD.32. Двоичные счетчики вначале работы устройства обнулены управляющими сигналами СБР, СБО. поступающими из блока 12 управления работой блока. На входы счетчиков поступают прямоугольные импульсы ГИ, ТИ из блока 12 управления работой блока. Счетчики формируют адреса строк и столбцов, по которым будут записаны адреса вхождений, поступающие на вход оперативно-запоминающего устройства ОЗУ DD.33 (фиг.6). Сигналы управления оперативно-запоминающего устройства ОЗУ DD.33 считывания/запись и выбора кристалла соответственно при записи принимают значения Сч/Зп=0, ВК=0. Block 11 storage address occurrences BHAV (6) contains a random access memory RAM DD.33, a binary counter that generates addresses of columns of RAM - SC st DD.31, a binary counter that generates addresses of lines of RAM - SC st DD.32.32. Binary counters at the beginning of the operation of the device are reset by the control signals of the SBR, SBO. coming from the block 12 control the operation of the block. The inputs of the counters receive rectangular pulses GI, TI from block 12 control the operation of the block. Counters form the addresses of rows and columns, according to which the addresses of occurrences arriving at the input of the random access memory RAM DD.33 will be recorded (Fig.6). The control signals of the random access memory device DD.33 RAM read / write and chip selection, respectively, when writing take the values MF / Zn = 0, VK = 0.

Блок 12 управления работой блока БУРБ (фиг.3) синтезируется на основе ГСА алгоритма управления блоком (фиг.7) известным способом [6]. Размеченная ГСА работы блока 12 управления работой блока приведена на фиг.8, где обозначено:
Логические условия:
X1: "СДi"
Х2: "ССР"
Х3: "ТР"
Х4: "СЧ1"
Х5: "ПРКВ"
Х6: "ПРКС"
Х7: "РР"
Операторы:
У1: "СДi=1"
У2: "РгВ:=ВДВ"
У3: "РгС1:=ВДС"
У4: "Тр:=0"
У5: "Кл:=СBA"
У6: "Сч/Зп:=0"
У7: "ВК:=0"
У8: "ОЗУ:=АВХ"
У9: "СДС:=0"
У10: РгС2:=РгС1"
У11: "СВП:=1"
У12: "СЧ1:="ПРИ"
У13: "СДС:=1"
У14: "PrC1:PrC2"
У15: "CУ2:=1"
У16: ТгВ:=СУ1"
У17: "ОБН:1"
У18: "СЧ1:0"
У19: "ТР:=ССР"
У20: "СЗЩ:=1"
У21: "ТР:=1"
У22: "CЧl:=TAK"
У23: "CДB:=0"
У24: "CPP:=1"
У25: "СРР:=0"
У26: "СДС:=СВП"
Блок 6 управления системой синтезируется на основе ГСА алгоритма управления (фиг.9) известным способом [6]. Размеченная ГСА работы блока 6 управления системой приведена на фиг.10, где обозначено:
Логические условия:
X1: "УОО"
Х2: "ПУСК"
Х3: "КР"
Х4: "ПСП"
Х5: "i<=n"
Х6: "СРi"
Операторы:
У1: "СБРОС:=1"
У2: "ПB:=CУП1"
У3: "ПВ:=АД1"
У4: "ПВ:ДН1"
У5: "ПС:=СУП2"
У6: "i:=1"
У7: ПС:АД2"
У8: "ПС:=ДН2"
У9: "БППBi:=BДC"
У 10: "БППВi:=ВДВ"
У11: "i:=1+1"
ИСТОЧНИКИ ИНФОРМАЦИИ
1. Кудрявцев В.Б., Подколзин А.С., Ушчумлич Ш. Введение в теорию абстрактных автоматов. М.: Из-во МГУ, 1985, 174с.
Block 12 control the operation of the block BURB (Fig.3) is synthesized on the basis of the GAW algorithm for controlling the block (Fig.7) in a known manner [6]. Marked GAW work unit 12 control the operation of the unit shown in Fig, where indicated:
Logical conditions:
X1: "SDi"
X2: "SSR"
X3: "TR"
X4: "SCH1"
X5: "PRKV"
X6: "PRKS"
X7: "PP"
Operators:
U1: "SDi = 1"
U2: "RgV: = Airborne"
U3: "RgS1: = GVA"
U4: "Tr: = 0"
U5: "Cl: = CBA"
Y6: "Mid / Sn: = 0"
Y7: "VK: = 0"
U8: "RAM: = AVX"
Y9: "SDS: = 0"
U10: RgC2: = RgC1 "
Y11: "SVP: = 1"
Y12: "SCH1: =" PRI "
Y13: "SDS: = 1"
Y14: "PrC1: PrC2"
Y15: "SU2: = 1"
U16: TgV: = SU1 "
Y17: "UPD: 1"
U18: "SCH1: 0"
Y19: "TR: = SSR"
U20: "NWT: = 1"
U21: "TR: = 1"
Y22: "SCl: = TAK"
Y23: "CDB: = 0"
Y24: "CPP: = 1"
U25: "CPP: = 0"
U26: "SDS: = SVP"
The system control unit 6 is synthesized based on the GAW control algorithm (Fig. 9) in a known manner [6]. Marked GAW operation of the system control unit 6 is shown in figure 10, where it is indicated:
Logical conditions:
X1: UOO
X2: "START"
X3: "KR"
X4: PSP
X5: "i <= n"
X6: "CPi"
Operators:
U1: "RESET: = 1"
U2: "PB: = CUP1"
U3: "PV: = AD1"
U4: "PV: DN1"
U5: "PS: = SUP2"
Y6: "i: = 1"
U7: PS: AD2 "
U8: "PS: = DN2"
U9: "BPPi: = BDC"
Y 10: "BWPi: = Airborne"
Y11: "i: = 1 + 1"
SOURCES OF INFORMATION
1. Kudryavtsev VB, Podkolzin AS, Ushchumlich S. Introduction to the theory of abstract automata. M.: From Moscow State University, 1985, 174s.

2. Марков А. А. , Нагорный Н.М. Теория алгорифмов. - Москва.: Наука, - 318с. Главная редакция физико-математической литературы, 1984 г. 2. Markov A. A., Nagorny N.M. Theory of Algorithms - Moscow .: Science, - 318s. The main edition of the physical and mathematical literature, 1984

3. Успенский В. А., Семенов А.Л. Теория алгорифмов: основные открытия и приложения. - Москва.: Наука, Главная редакция физико-математической литературы. 1987 г., - 210с. 3. Uspensky V. A., Semenov A. L. Theory of algorithms: basic discoveries and applications. - Moscow .: Nauka, Main edition of the physical and mathematical literature. 1987, - 210s.

4. Алексенко А. Г. . Шагурин И.И. Микросхемотехника: Учеб. пособие для вузов. - 2-е изд., перераб. и доп. - М.: Радио и связь, 1990, - 496с.: ил. 4. Aleksenko A.G. Shagurin I.I. Microcircuitry: Textbook. manual for universities. - 2nd ed., Revised. and add. - M .: Radio and communications, 1990, - 496 p.: Ill.

5. Баранов С. И. Синтез микропрограммных автоматов. - Энергия, Ленинградское отделение, 1974 г., - 184с. 5. Baranov S. I. Synthesis of microprogram automata. - Energy, Leningrad branch, 1974, - 184s.

6. Цифровые и налоговые интегральные микросхемы: Справочник под ред. С. В. Якубовского. - М.: Радио и связь,1990, - 496 с. 6. Digital and Tax Integrated Circuits: A Guide, Ed. S.V. Yakubovsky. - M .: Radio and communications, 1990, - 496 p.

7. Патент 2150740 (прототип). 7. Patent 2150740 (prototype).

8. А.с. СССР 1837327 (аналог). 8. A.S. USSR 1837327 (analogue).

9. А.с. СССР 1667097 (аналог). 9. A.S. USSR 1667097 (analogue).

10. А.с. СССР 1277091 (аналог). 10. A.S. USSR 1277091 (analogue).

Claims (1)

Параллельная система поиска произвольных вхождений, содержащая блок памяти вхождений, блок памяти слов, блок управления, отличающаяся тем, что дополнительно введены: n блоков поиска произвольных вхождений, причем с первого по третий информационные выходы блока управления соединены соответственно с первым по третий информационными входами блока памяти вхождений, управляющий выход которого соединен с первым управляющим входом блока управления, второй управляющий вход которого соединен с управляющим выходом блока памяти слов, информационный выход которого соединен со вторыми информационными входами всех n блоков поиска произвольных вхождений, первые информационные входы которых соединены с информационным выходом блока памяти вхождений, с первого по третий информационные входы блока памяти слов соединены соответственно с четвертого по шестой информационными выходами блока управления, первый и второй управляющие выходы которого соединены соответственно с первым и вторым управляющими входами первого блока поиска произвольных вхождений, третий и четвертый управляющие выходы блока управления соединены соответственно с первым и вторым управляющими входами второго блока поиска произвольных вхождений, пятый и шестой управляющие выходы блока управления соединены соответственно с первым и вторым управляющими входами n-го блока поиска произвольных вхождений, третий и четвертый управляющие входы блока управления "Сброс" и "Пуск" являются внешними входами системы.A parallel search system for arbitrary entries containing an entry memory block, a word memory block, a control unit, characterized in that it additionally includes: n arbitrary entry search blocks, the first to third information outputs of the control unit being connected respectively to the first to third information inputs of the memory unit occurrences, the control output of which is connected to the first control input of the control unit, the second control input of which is connected to the control output of the word memory block, information The output output of which is connected to the second information inputs of all n random entry search blocks, the first information inputs of which are connected to the information output of the entry memory block, the first to third information inputs of the word memory block are connected respectively from the fourth to sixth information outputs of the control unit, the first and second the control outputs of which are connected respectively to the first and second control inputs of the first block of search for arbitrary entries, the third and fourth control The outputs of the control unit are connected respectively to the first and second control inputs of the second random search unit, the fifth and sixth control outputs of the control unit are connected respectively to the first and second control inputs of the nth random search unit, the third and fourth control inputs of the Reset control unit "and" Start "are the external inputs of the system.
RU2001132281/09A 2001-11-28 2001-11-28 Concurrent arbitrary-occurrence search system RU2220448C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2001132281/09A RU2220448C2 (en) 2001-11-28 2001-11-28 Concurrent arbitrary-occurrence search system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2001132281/09A RU2220448C2 (en) 2001-11-28 2001-11-28 Concurrent arbitrary-occurrence search system

Publications (2)

Publication Number Publication Date
RU2001132281A RU2001132281A (en) 2003-07-10
RU2220448C2 true RU2220448C2 (en) 2003-12-27

Family

ID=32065686

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2001132281/09A RU2220448C2 (en) 2001-11-28 2001-11-28 Concurrent arbitrary-occurrence search system

Country Status (1)

Country Link
RU (1) RU2220448C2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2760628C1 (en) * 2021-02-25 2021-11-29 Федеральное государственное бюджетное образовательное учреждение высшего образования «Юго-Западный государственный университет» (ЮЗГУ) (RU) Method and associative matrix apparatus for parallel search of a sample based on the prefixes thereof
US20220157442A1 (en) * 2020-11-13 2022-05-19 Ohio State Innovation Foundation Systems and methods for providing health care search recommendations
RU2793554C1 (en) * 2022-09-20 2023-04-04 Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) Device for parallel-sequential search and replacement of occurrences in processed words

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220157442A1 (en) * 2020-11-13 2022-05-19 Ohio State Innovation Foundation Systems and methods for providing health care search recommendations
RU2760628C1 (en) * 2021-02-25 2021-11-29 Федеральное государственное бюджетное образовательное учреждение высшего образования «Юго-Западный государственный университет» (ЮЗГУ) (RU) Method and associative matrix apparatus for parallel search of a sample based on the prefixes thereof
RU2793554C1 (en) * 2022-09-20 2023-04-04 Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ) Device for parallel-sequential search and replacement of occurrences in processed words

Similar Documents

Publication Publication Date Title
EP2561453B1 (en) A dual dfa decomposition for large scale regular expression matching
US6297760B1 (en) Data acquisition system comprising real-time analysis and storing means
US20060259508A1 (en) Method and apparatus for detecting semantic elements using a push down automaton
JPH07297728A (en) Method and system for searching coincidence of patterns
GB1588535A (en) Content-addressable memories
US4254476A (en) Associative processor
RU2220448C2 (en) Concurrent arbitrary-occurrence search system
US11586956B2 (en) Searching apparatus utilizing sub-word finite state machines
US3034102A (en) Data handling system
Nguyen et al. An FPGA approach for high-performance multi-match priority encoder
KR101276796B1 (en) Apparatus and method for matching pattern
RU2202823C2 (en) Device for searching arbitrary occurrences
RU2245579C2 (en) Parallel search and replace system
RU2105343C1 (en) Device for situation control
RU2250493C2 (en) Device for finding and replacing random strings in text words
RU2296366C1 (en) Device for parallel search and substitution of entrances in processed words
RU2199778C1 (en) Information retrieval system
RU2195015C1 (en) Information retrieval parallel system
RU2469425C2 (en) Associative memory matrix for masked inclusion search
RU72771U1 (en) DEVICE FOR PARALLEL SEARCH AND DATA PROCESSING
RU2793554C1 (en) Device for parallel-sequential search and replacement of occurrences in processed words
RU2150740C1 (en) Searching device
US7227994B2 (en) Method and apparatus for imbedded pattern recognition using dual alternating pointers
Moeini et al. Improved Rabin-Karp Algorithm Using Bloom Filter
RU2549525C2 (en) Method and apparatus for searching for composite sample in sequence

Legal Events

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

Effective date: 20031129