Изобретение относится к техническим средствам информатики и вычислительной техники и может быть использовано для создания быстродействующих, специализированных и высокопроизводительных цифровых процессоров, выполняющих поисковые операции и функции замены в обрабатываемых словах.
Известна "Информационно-поисковая система" (з-ка RU, патент №2199778 от 27.02.2003 г.), выполняющая поисковую операцию вхождений в словах [9].
Известно "Устройство поиска произвольных вхождений" (з-ка RU, патент №2202823 от 20.04.2003 г.), определяющая произвольные вхождения в обрабатываемых словах [10].
Известна (з-ка RU, "Поисковое устройство произвольных вхождений" (патент №2209465 от 27.07.2003 г.), осуществляющая поиск произвольных вхождений в обрабатываемых словах.
В качестве прототипа выбрано "Устройство поиска и замены произвольных вхождений в словах текста" (з-ка RU, патент №2250493 20.04.2005 г.), которое выполняет функцию поиска и замены произвольных вхождений в словах текста.
Задача заключалась в следующем:
1) расширить функциональные возможности устройства,
2) повысить скорость выполнения поисковых операций,
3) повысить надежность работы устройства, выполняющего операции поиска и замены в обрабатываемых словах.
В представленном устройстве параллельного поиска и замены вхождений в обрабатываемых словах поисковые операции осуществляются в параллельном режиме с помощью компараторов.
Предлагаемое устройство позволит расширить функциональные возможности, повысить скорость выполнения поисковых операций, упростит алгоритм работы устройства.
Решение задачи осуществляется тем, что устройство параллельного поиска и замены вхождений в обрабатываемых словах, содержащее блок памяти вхождений, блок управления, отличается тем, что дополнительно введены: блок памяти обрабатываемых слов, блок анализа поиска, блок памяти замены, блок замены, блок хранения результата, причем с первого по третий информационные выходы блока управления, на которых соответственно формируются сигналы управления оперативным запоминающим устройством, адреса столбцов и строк оперативного запоминающего устройства и данные, записанные в оперативное запоминающее устройство, соединены соответственно с первым по третий информационными входами блока памяти вхождений, информационный выход которого соединен с первым информационным входом блока анализа поиска, второй информационный вход которого соединен с информационным выходом блока памяти обрабатываемых слов, с первого по третий информационные входы которого соединены соответственно с четвертым по шестой информационными выходами блока управления, на которых соответственно формируются сигналы управления оперативным запоминающим устройством блока памяти обрабатываемых слов, адреса столбцов и строк оперативного запоминающего устройства и данные, записанные в оперативное запоминающее устройство, с третьего по пятый управляющие входы которого соединены соответственно с первым по третий управляющими выходами блока анализа поиска, на которых формируются сигналы, характеризующие соответственно результат сравнения символов вхождения и обрабатываемого слова, режим работы устройства поиска вхождений в обрабатываемом слове без общих частей и признак конца символов обрабатываемого слова, с третьего по пятый информационные входы блока анализа поиска соединены соответственно с седьмого по девятый информационными выходами блока управления, на которых формируются сигналы установки в нулевое состояние двоичных счетчиков, управляющие сигналы, формирующие режимы работы регистров блоков регистров вхождений и обрабатываемых слов соответственно, первый и второй управляющие выходы блока управления, на которых соответственно формируются сигналы признака работы устройства с общими частями и отпирающий импульс соединены соответственно с первым и вторым управляющими входами блока анализа поиска, второй информационный выход которого соединен с первым информационным входом блока замены, третий и четвертый информационные входы которого соединены соответственно с десятым и одиннадцатым информационными выходами блока управления, на которых формируются сигналы управления блоком регистров замены и блоком регистра результата замены, входящих в состав блока замены, третий управляющий выход блока управления соединен с управляющим входом блока замены, второй информационный вход которого соединен с информационным выходом блока памяти замены, с первого по третий информационные входы которого соединены соответственно с двенадцатого по четырнадцатый информационными выходами блока управления, на которых формируются сигналы управления оперативным запоминающим устройством, адреса столбцов и строк оперативного запоминающего устройства и данные, записанные в оперативное запоминающее устройство блока памяти замен, с четвертого по девятый управляющие выходы блока памяти соединены соответственно с первым по шестой управляющими входами блока хранения результата, второй информационный вход которого соединен с первым информационным выходом блока анализа поиска, информационный выход блока замены соединен с первым информационным входом блока хранения результата, первый и второй управляющие входы "СБРОС" и "ПУСК" блока управления являются внешними входами устройства.
БПВХ - блок памяти вхождений служит для записи, хранения и выдачи вхождений - цепочки символов, которые необходимо обнаружить в обрабатываемом слове.
БПОС - блок памяти обрабатываемых слов служит для записи, хранения и выдачи обрабатываемых слов, с которыми необходимо проводить поисковые операции.
БАП - блок анализа поиска служит для анализа поисковой операции, определения способа поиска вхождений в обрабатываемом слове, а также определения адреса вхождения.
БПЗМ - блок памяти замены служит для записи, хранения и выдачи замены в регистры блока регистров результата замены.
БЗАМ - блок замены служит для выполнения операций: 1) записи символа обрабатываемого слова в случае отрицательного сравнения, 2) записи замены в регистры блока регистров результата замены, если произошло положительное сравнение в блоке компараторе.
БХР - блок хранения результатов служит для записи и хранения в нем адресов вхождений в обрабатываемых словах и результатов выполнения операций замены.
БУ - блок управления служит для генерации управляющих сигналов устройства.
Процессы поиска вхождений в обрабатываемом слове можно выполнить как в последовательном, так и в параллельном режимах символьной обработки. Формировать новое слово возможно с помощью операций замены, а также левой или правой конкатенаций [1].
При выполнении операций поиска вхождений в обрабатываемом слове необходимо достигнуть высокой скорости поиска и замены.
Поиск вхождений в обрабатываемом слове может быть осуществлен в двух режимах работы устройства: 1) определение вхождений, имеющих общие части, 2) определение вхождения без общих частей [7]. Такая процедура поиска, которая удовлетворяет поставленным требованиям, называется корректной.
В устройстве применяются оперативные запоминающие устройства, в которых хранится информация [2]. Вхождение, обрабатываемое слово и замена переписываются из памяти в сдвигающие регистры. Процессы записи и считывание информации в регистры могут быть следующие: параллельный ввод - параллельный вывод, используется в регистре для хранения вхождений, последовательный ввод - последовательный вывод, используется для в регистре для хранения замены, а также последовательный ввод - параллельно-последовательный вывод, используется для хранения в регистре обрабатываемого слова [3], [5]. В устройстве применяются элементы нейронной и пороговой логики [4].
При осуществлении поисковых функций вхождения могут быть представлены различными комбинациями букв в обрабатываемом слове [7, 8].
1) нет повтора одинаковых букв (итерации) в обрабатываемом слове;
2) повтор одинаковых букв есть в середине обрабатываемого слова, при этом принято обозначение W{A}P;
3) итерация существует в конце слова, обозначение Н{А};
4) итерация в обрабатываемом слове существует в начале слова, обозначение {A}R;
5) итерация в обрабатываемом слове присутствует и в начале слова и в конце, обозначение {A}S{A}.
6) обрабатываемое слово состоит полностью из итераций, обозначение {А}.
В зависимости от вида итераций применяется алгоритм, осуществляющий поисковую операцию вхождения в обрабатываемом слове [7, 8].
В предлагаемом устройстве поиск вхождения в обрабатываемом слове выполняется в параллельном режиме. Все символы вхождения параллельно поступают на первые входы компаратора. На вторые входы, также параллельно, узла сравнения поступают символы обрабатываемого слова. В устройстве параллельного поиска и замены вхождений в обрабатываемых словах применены три регистра - регистр вхождения, регистр обрабатываемого слова и регистр замены. Длина регистров, в которых хранятся вхождение и обрабатываемое слово, а также количество компараторов, в которых происходит сравнение символов, одинаковая. Если произошло положительное сравнение, то на выходе компаратора формируется единичное значение. В этом случае в обрабатываемом слове найдено вхождение. В случае работы устройства в режиме поиска определяется адрес вхождения. Если устройство работает в режиме поиска и замены, то в регистр замены записывается цепочка символов - замена. Обрабатываемое слово не изменяется в процессе замены. Если произошло отрицательное сравнение, то необходимо сдвинуть обрабатываемое слово на один разряд влево и сравнить следующую серию символов, равную по количеству символам вхождения. Процесс сдвига обрабатываемого слова в регистре выполняется до определения признака конца обрабатываемого слова. Символ в результате левого сдвига записывается в регистр замены. В регистр замены записываются символы обрабатываемого слова в результате операции левого сдвига регистра или буквы замены в режиме работы устройства поиска и замены. В устройстве осуществляются операции левой и правой конкатенаций.
На фиг.1 изображена структурная схема устройства параллельного поиска и замены вхождений в обрабатываемых словах.
На фиг.2 представлены варианты технической реализации блоков памяти: вхождений, обрабатываемых слов и замены.
На фиг.3 показана функциональная схема блока анализа поисковых операций и блока компаратора.
На фиг.4 показана функциональна схема блока анализа поиска, а также комбинационные схемы: формирования адреса и способа проведения поисковых операций.
На фиг.5 изображена функциональная схема блока регистров вхождений.
На фиг.6 представлена функциональная схема блока регистров обрабатываемых слов.
На фиг.7 показана функциональная схема блока замены.
На фиг.8 изображена функциональная схема блока регистров замены.
На фиг.9 изображена функциональная схема блока регистров результата замены.
На фиг.10 показана функциональная схема блока хранения результата.
На фиг.11а, 11б, 11в - содержательная ГСА работы устройства.
На фиг.12а, 12б, 12в - размеченная ГСА работы устройства.
Устройство параллельного поиска и замены вхождений в обрабатываемых словах (фиг.1) содержит блок 1 памяти вхождений, блок 2 памяти обрабатываемых слов, блок 3 анализа поиска, блок 4 памяти замены, блок 5 замены, блок 6 хранения результата, блок 7 управления.
Для описания алгоритма работы блока 7 управления используются следующие идентификаторы.
1. УВХ - сигналы управления оперативным запоминающим устройством блока памяти вхождений: обнуление, выбор кристалла, режим записи/считывания.
2. АдВХ - адреса столбцов и строк оперативного запоминающего устройства блока памяти вхождений.
3. ДВХ - данные, записанные в оперативное запоминающее устройство блока памяти вхождений.
4. ВХ - выходные данные из оперативного запоминающего устройства блока памяти вхождений.
5. УОС - сигналы управления оперативным запоминающим устройством блока памяти обрабатываемых слов: обнуление, выбор кристалла, режим записи/считывания.
6. АдОС - адреса столбцов и строк оперативного запоминающего устройства блока памяти обрабатываемых слов.
7. ДОС - данные, записанные в оперативное запоминающее устройство блока памяти обрабатываемых слов.
8. ОС - выходные данные из оперативного запоминающего устройства блока памяти обрабатываемых слов.
9. УЗМ - сигналы управления оперативным запоминающим устройством блока памяти замен: обнуление, выбор кристалла, режим записи/считывания.
10. АдЗМ - адреса столбцов и строк оперативного запоминающего устройства блока памяти замен.
11. ДЗМ - данные, записанные в оперативное запоминающее устройство блока памяти замен.
12. ЗМ - выходные данные из оперативного запоминающего устройства блока памяти замен.
13. УПРВ - управляющие сигналы: обнуления, синхроимпульсы, сигналы, формирующие режимы работы регистров, блока регистров вхождений блока анализа поиска.
14. УПРС - управляющие сигналы: обнуления, синхроимпульсы, сигналы, формирующие режимы работы регистров, блока регистров обрабатываемых слов блока анализа поиска.
15. СВ - сигнал сдвига влево на один разряд информации блока регистров вхождений блока анализа поиска.
16. СО - сигнал сдвига влево на один разряд информации блока регистров обрабатываемых слов блока анализа поиска.
17. РСР - выходной двоичный сигнал из блока анализа поиска, который определяет результат сравнения символов вхождения и обрабатываемого слова.
18. ОТИ - отпирающий импульс - управляющий сигнал из блока управления, проступающий на входы логических схем И блока анализа поиска для подсчета сигналов сдвига при определении адресов вхождений в обрабатываемом слове.
19. ПОЧ - признак работы устройства с общими частями, двоичный сигнал блока анализа поиска, определяющий режим работы устройства: 1) поиск вхождений с общими частями, 2) поиск вхождений без общих частей в обрабатываемом слове.
20. ОБС - информационный сигнал, поступающий из блока управления на входы R1, R2, R3 - установки в нулевое состояние двоичных счетчиков блока анализа поиска.
21. АВД - выходной информационный сигнал блока анализа поиска, определяющий адреса вхождений в обрабатываемом слове.
22. БОЧ - двоичный сигнал блока анализа поиска, определяющий режим работы устройства поиска вхождений в обрабатываемом слове без общих частей.
23. CMi - входной информационный сигнал - символ вхождения блока регистров вхождений.
24. СИМi - выходной информационный сигнал блока регистров вхождений.
25. ОС1 - символ обрабатываемого слова первого регистра Рг1 блока регистров обрабатываемого слова.
26. OCi - выходной информационный сигнал - символы обрабатываемого слова блока регистров обрабатываемого слова.
27. ПКОС - признак конца символов обрабатываемого слова, нулевая информация 00...0.
28. УКЛ - управляющий сигнал блока управления, поступающий на управляющие входы схем И блока замены.
29. УЗАМ - информационный сигнал: обнуления, синхроимпульсы, разрешение записи и выдачи информации, поступающий на управляющие входы блока регистров замены.
30. УРЗМ - информационный сигнал: обнуления, синхроимпульсы, разрешение записи и выдачи информации, поступающий на управляющие входы блока регистров результата замены.
31. ОСЗМ - информационный сигнал - символы обрабатываемого слова или замены, поступающий на информационный вход блока регистров результата замены.
32. РЗ - выходной информационный сигнал - результат замены, поступающий с выхода блока регистров результата замены.
33. УЗАМ - информационный сигнал блока управления: обнуление, синхроимпульсы, разрешение записи и выдачи информации, проступающий на управляющие входы регистров блока регистров замены.
34. РЕЗ - информационный сигнал результат замены или адрес вхождения в обрабатываемом слове, поступающий на информационный вход оперативного запоминающего устройства блока хранения результата.
35. АД СТЛ - адреса столбцов оперативного запоминающего устройства для записи результата замены или адреса вхождения в блок хранения результата.
36. АД СТР - адреса строк оперативного запоминающего устройства для записи результата замены или адреса вхождения в блок хранения результата.
37. ГИ - генератор импульсов, поступающий из блока управления на суммирующий вход (+) двоичного счетчика Сч1 блока хранения результата.
38. ТИ - тактовые импульсы, поступающие из блока управления на суммирующий вход (+) двоичного счетчика Сч2 блока хранения результата.
39. ОБ - команда обнуления двоичного счетчика Сч1 блока хранения результата.
40. УС "0" - команда обнуления двоичного счетчика Сч2 блока хранения результата.
41. ВК - команда выбора кристалла оперативного запоминающего устройства ОЗУ блока хранения результата.
42. Сч/Зп - команда считывания/записи оперативного запоминающего устройства ОЗУ блока хранения результата.
43. РЕПЗ - выходные данные оперативного запоминающего устройства блока хранения результата - результаты замен или адреса вхождений в обрабатываемом слове.
44. СБРОС - сигнал сброса - обнуление элементов памяти устройства выполнения параллельного поиска и замены.
45. ПУСК - сигнал начало работы устройства.
Работа блока управления устройства параллельного поиска и замены вхождений в обрабатываемых словах.
Содержательная ГСА управления приведена на фиг.11а, фиг.11б, 11в и отражает работу блока управления (фиг.1).
В блоке 2 алгоритма по сигналу "СБРОС" происходит установка в нуль всех элементов памяти устройства (фиг.1).
В блоке 3 алгоритма по команде "СБРОС:=1" происходит установка в единичное состояние сигнала СБРОС.
В блоке 4 алгоритма анализируется признак работы устройства "ПУСК". По выходу блока "единица" начинается работа устройства параллельного поиска и замены вхождений в обрабатываемых словах.
В блоке 5 алгоритма по команде ПВХ:=УВХ происходит подача информационного сигнала на вход блока памяти вхождений. Информационный сигнал УВХ состоит из управляющих сигналов: выбора кристалла, сигналов разрешения записи и считывания информации из ОЗУ блока. По команде ПОС:=УОС происходит подача аналогичного информационного сигнала УОС из блока управления на вход блока памяти обрабатываемых слов. По команде ПЗМ:=УЗМ на управляющие входы оперативного запоминающего устройства замены поступают управляющие сигналы: выбор кристалла, сигналы разрешения записи и считывания информации из ОЗУ блока (фиг.1, 2).
В блоке 6 алгоритма по команде ПВХ:=АдВХ на вход оперативного запоминающего устройства блока памяти вхождений подаются адреса строк и столбцов для записи вхождений в ОЗУ. По команде ПОС:=АдОС на вход ОЗУ блока памяти обрабатываемых слов подаются адреса строк и столбцов для записи в память обрабатываемых слов. По команде ПЗМ:=АдЗМ на вход оперативного запоминающего устройства блока памяти замены подаются адреса строк и столбцов для записи замен в ОЗУ (фиг.1, 2).
В блоке 7 алгоритма по команде ПВХ:=ДВХ на информационный вход оперативного запоминающего устройства блока памяти вхождений поступают данные - вхождения, представляющие собой цепочки символов, которые необходимо обнаружить в обрабатываемых словах. После этой операции заканчивается операция загрузки данных в оперативное запоминающее устройство вхождений. По команде ПОС:=ДОС в оперативное запоминающее устройство записываются данные - обрабатываемые слова. По команде ПЗМ:=ДЗМ в оперативное запоминающее устройство записываются данные замен. Блоки 5, 6, 7 это операция загрузки вхождений, обрабатываемых слов и замен в оперативные запоминающие устройства блоков: памяти вхождений, памяти обрабатываемых слов и памяти замены (фиг.1, 2).
В блоке 8 алгоритма анализируется признак работы устройства поиска и замены вхождений в обрабатываемых словах - РПЗ. По выходу НЕТ осуществляется переход на 51 конечный блок алгоритма работы устройства. По выходу ДА выполняется переход на блок 9 алгоритма.
В блоке 9 алгоритма анализируется признак левой конкатенации - ЛЕК, т.е. присоединения вхождения к обрабатываемому слову слева. Такая операция имеет вид {S}P, где S - вхождение, а Р - обрабатываемое слово. По выходу НЕТ осуществляется переход на блок 14 алгоритма. По выходу ДА выполняется переход на блок 10 алгоритма.
Блоки 9, 10, 11, 12, и 13 организуют цикл, в котором выполняется операция левой конкатенации. Цикл позволят получить одно или неоднократное присоединение вхождения к обрабатываемому слову слева, это можно записать как {{S1}...{Sn}}Р.
В блоке 10 алгоритма по команде УКЛ:=1 на управляющий вход блока замены - БЗАМ из блока управления подается управляющий сигнал УКЛ, равный единице (фиг.7). В результате этой операции данные блока регистра замены через открытые электронные ключи с прямыми управляющими входами и схемы ИЛИ поступают на вход блока регистра результата замены. При этом осуществляется операция левой конкатенации.
В блоке 11 алгоритма по команде БРгЗМ:=УЗАМ на входы блока регистров замены поступают управляющие сигналы из блока управления. Это сигналы: разрешения выдачи данных, синхроимпульсы (фиг.7). По команде БРгРЗ:=УРЗМ из блока управления подаются управляющие сигналы, по которым происходит запись с выходов схемы ИЛИ в блок регистров результата замены. Это сигналы: разрешение записи данных и синхроимпульсы (фиг.7).
В блоке 12 алгоритма по команде ОСЗМ:=ЗМ на вход данных блока регистров результата замены поступают данные из блока регистров замены.
В блоке 13 алгоритма по команде БРгРЗ:=ЗМ в блок регистров результата замены записывается вхождение из блока регистров замены (фиг.7).
В блоке 14 алгоритма анализируется признак правой конкатенации - ПРК, т.е. присоединения вхождения к обрабатываемому слову справа. Такая операция имеет вид P{S}, где, Р - обрабатываемое слово, a S - вхождение. По выходу НЕТ осуществляется переход на блок 20 алгоритма. По выходу ДА выполняется переход на блок 15 алгоритма.
Блоки 14, 15, 16, 17, и 18 организуют цикл, в результате, которого выполняется операция правой конкатенации. Цикл позволят получить одно или неоднократное присоединение к обрабатываемому слову вхождение справа, это можно записать как P{{S1}...{Sm}}.
В блоке 15 алгоритма по команде УКЛ:=0 на управляющий вход системы электронных ключей блока замены - БЗАМ из блока управления подается управляющий сигнал УКЛ равный нулю (фиг.7). В результате этой операции данные блока регистров обрабатываемого слова через открытые электронные ключи с инверсными управляющими входами и схемы ИЛИ поступают на вход блока регистра результата замены. При этом осуществляется операция записи символов обрабатываемого слова в блок регистров результата замены.
В блоке 16 алгоритма по команде БРгОС:=УПРС на входы блока регистров обрабатываемого слова поступают управляющие сигналы из блока управления. Это сигналы: разрешения выдачи данных, синхроимпульсы (фиг.6, 7). По команде БРгРЗ:=УРЗМ из блока управления подаются управляющие сигналы, по которым происходит запись с выходов схемы ИЛИ в блок регистров результата замены. Это сигналы: разрешение записи данных и синхроимпульсы (фиг.7, 9).
В блоке 17 алгоритма по команде ОСЗМ:=ОС на вход данных блока регистров результата замены поступают данные из блока регистров обрабатываемого слова (фиг.6, 7, 9).
В блоке 18 алгоритма по команде БРгРЗ:=ОСЗМ в блок регистров результата замены записывается обрабатываемое слово из блока регистров обрабатываемого слова (фиг.6, 7).
В блоке 19 алгоритма анализируется признак присоединения - конкатенация КОН левая или правая. По выходу ДА блока осуществляется переход на блок 9 алгоритма, в этом случае процесс присоединений продолжается или осуществляется переход на блок 20 алгоритма. По выходу НЕТ происходит переход на блок 43 алгоритма для записи результата конкатенаций в оперативное запоминающее устройство блока хранения результатов.
В результате выполнения этих циклов возможны следующие композиции вхождения и обрабатываемого слова: {S}P - одна левая конкатенация, {{S1}...{Sn}}P - n левых конкатенаций, а также P{S} - правая конкатенация и Р{{S1}...{Sm}} - m правых конкатенаций.
В блоке 20 алгоритма по команде БРгВХ:=УПРВ на управляющие входы регистров блока регистров вхождений из блока управления подаются управляющие сигналы: разрешения записи информации, синхроимпульсы, установки в нулевое состояние регистров (фиг.1, 5). Управляющие сигналы подаются одновременно на все входы регистров блока. По команде БРгОС:=УПРС на управляющие входы регистров блока регистров обрабатываемого слова из блока управления подаются управляющие сигналы: разрешения записи слова, синхроимпульсы, обнуления регистров (фиг.1, 6). По команде ОТИ:=1 на управляющие входы электронных ключей из блока управления подается отпирающий сигнал, равный единичному значению. Через открытый электронный ключ, схема И с прямым управляющим входом, количество импульсов сдвига поступают на вход схемы ИЛИ (фиг.4). По команде СчА:=СВ на суммирующий вход двоичного счетчика СчА поступают сигналы сдвига СВ из блока регистров вхождений. Количество импульсов сдвига СВ определяет количество символов в вхождении (фиг.3, 4).
В блоке 21 алгоритма по команде БРгВХ:=ВХ на информационные входы регистров блока регистров вхождения в параллельном режиме из блока памяти вхождений поступают символы вхождения ВХ (фиг.2, 5). По команде БРгОС:=ОС на информационные входы регистров блока регистров обрабатываемого слова в последовательном режиме - посимвольно из блока памяти обрабатываемых слов поступают символы обрабатываемого слова для проведения поисковых операций (фиг.2, 6).
В блоке 22 алгоритма анализируется признак конца обрабатываемого слова ПКОС. В случае управляющего сигнала ПКОС, равного нулевому значению - выход НЕТ блока, это означает, что все символы обрабатываемого слова просмотрены и регистр обрабатываемого слова пуст (фиг.6). В этом случае осуществляется переход на блок 43 алгоритма. Если сигнал ПКОС равен единичному значению - выход ДА блока, то поиск в обрабатываемом слове продолжается (фиг.6). В этом случае осуществляется переход на блок 23 алгоритма.
В 23 алгоритма по команде КОМ:=ВХ на первые входы компаратора поступают символы вхождения ВХ. По команде КОМ:=ОС на вторые входы компаратора поступают символы обрабатываемого слова ОС. В компараторе выполняется операция сравнение символов вхождения и обрабатываемого слова. Операция сравнения в блоке анализа поиска осуществляется в параллельном режиме посимвольно (фиг.3).
В блоке 24 алгоритма анализируется признак результата сравнения на равенство символов вхождения и обрабатываемого слова - РСР. Если сравнение произошло положительно, сигнал при этом РСР равен единичному значению - выход блока "единица", то осуществляется переход на блок 31 алгоритма. В случае отрицательного сравнения на равенство входных величин - выход "нуль" блока, сигнал РСР равен нулевому значению, при этом выполняется переход на блок 25 алгоритма.
В блоках 25, 26, 27, 28 выполняется операция записи символа обрабатываемого слова в регистр блока регистров результата замены, если произошло отрицательное сравнение символов обрабатываемого слова и вхождения (фиг.3, 7, 9).
В блоке 25 алгоритма по команде УКЛ:=0 управляющий сигнал из блока управления поступает на входы электронных ключей с инверсными управляющими входами, тем самым, отпирая электронные ключи. В результате этого на входы схем ИЛИ поступает символ обрабатываемого слова, который запишется в регистр блока регистров результата замены. Этот характеризуется отрицательным сравнением символов вхождения и обрабатываемого слова (фиг.7).
В блоке 26 алгоритма по команде ОСЗМ:=ОС на информационные входы регистра блока регистров результата замены поступает символ обрабатываемого слова ОС для дальнейшей записи его в регистр блока (фиг.7).
В блоке 27 алгоритма по команде БРгРЗ:=УРЗМ на управляющие входы регистров блока регистров результата замены поступает информационный сигнал из блока управления УРЗМ. В результате этой операции регистры блока устанавливаются в нулевое состояние, на входы регистров поступают синхроимпульсы и происходит разрешение записи информации в регистры блока (фиг.9).
В блоке 28 алгоритма по команде БРгРЗ:=ОС1 на входы регистра блока регистров результата замены поступает символ обрабатываемого слова ОС1. Эта операция осуществляется в случае отрицательного сравнения в блоке компаратора символов обрабатываемого слова и вхождения (фиг.7, 9).
В блоке 29 алгоритма по команде БРгОС:=СО на управляющий вход регистров блока регистров обрабатываемого слова поступает сигнал сдвига СО. В результате этой операции обрабатываемое слово сдвигается на один разряд влево для выполнения поисковой операции (фиг.6).
В блоке 30 алгоритма по команде ОТИ:=0 из блока управления поступает управляющий сигнал ОТИ, равный нулевому значению. Сигнал поступает на инверсный вход схемы И - электронного ключа. В результате этого электронный ключ будет открыт, через него и схему ИЛИ сигнал сдвига влево поступит на суммирующий вход двоичного сумматора СчА (фиг.3, 4). По команде СчА:=СО на суммирующий вход счетчика поступает сигнал сдвига влево СО для подсчета количества сигналов сдвига влево обрабатываемого слова для формирования адреса вхождения в обрабатываемом слове (фиг.4).
По выходу из блока 30 алгоритма осуществляется переход на блок 22 алгоритма для выполнения операции сравнения символов вхождения и сдвинутым влево на один разряд обрабатываемым словом. В результате образуется цикл, в котором будут просмотрены все символы обрабатываемого слова. Циклическая операция будут продолжаться до обнаружения признака конца обрабатываемого слова ПКОС.
В блоке 31 алгоритма анализируется признак операций: 1) поиск, 2) поиска и замены - ПЗ. Если устройство работает в режиме только поиска - выход НЕТ, то в этом случае осуществляется переход на блок 43 алгоритма. В случае работы в режиме поиска и замена - выход ДА алгоритма, то выполняется переход на блок 36 алгоритма.
В блоках алгоритма 32, 33, 34, и 35 определяется способ обработки информации: 1) поиск, 2) поиск и замена. Существуют два вида комбинаций вхождений в обрабатываемом слове: 1) с общими частями символов вхождений, 2) без общих частей символов вхождений. Первый вид это когда между предыдущим вхождением в обрабатываемом слове и последующим есть общие части - символы. В этом случае поиск вхождения в обрабатываемом слове осуществляется сразу же на следующем сдвиге обрабатываемого слова, после положительного сравнения символов вхождения и обрабатываемого слова. Второй вид это когда сравнение символов осуществляется через n сигналов сдвига влево обрабатываемого слова, где n - количество символов вхождения.
В блоке 32 анализируется признак работы устройства с общими частями - выход ДА и без общих частей - выход НЕТ - сигнал ПОЧ. В случае выбора режима работы устройства с общими частями осуществляется переход на блок 22 алгоритма. Если устройство работает в режиме поиска без общих частей, то выполняется переход на блок 33 алгоритма.
Блоки 33, 34 и 35 формируют цикл, в котором выполняется сдвиг влево обрабатываемого слова на один разряд до тех пор, пока сигнал БОЧ - признак работы устройства без общих частей не будет равен нулевому значению.
В блоке 33 алгоритма анализируется двоичный сигнал - признак без общих частей БОЧ (фиг.4). Если сигнал уже равен нулевому значению - выход блока "нуль", то осуществляется переход на блок 22 алгоритма. В случае равенства единичному значению этого сигнала - выход "единица" блока, то выполняется переход на блок 34 алгоритма.
В блоке 34 алгоритма по команде БРгОС:=СО на управляющие входы регистров блока регистров обрабатываемого слова поступают сигналы сдвига влево на один разряд для выполнения операции сдвига данных обрабатываемого слова влево (фиг.6).
В блоке 35 алгоритма по команде по команде СчВ:=СО на вычитающий вход двоичного счетчика СчВ поступают сигналы сдвига влево регистров блока регистров обрабатываемого слова. В счетчике СчВ выполняется операция вычитание. От количества символов вхождения вычитается поступившее на вычитающий вход число сигналов сдвига влево на один разряд обрабатываемого слова. Предварительно при загрузке символов вхождения в регистры блока регистров вхождения в суммирующий двоичный счетчик СчС будет записана информация в двоичном коде, соответствующая количеству символов вхождения. Будет проведена предварительная установка вычитающего счетчика СчВ. Если результата на выходе счетчика равен нулю, то это означает обрабатываемое слово сдвинуто на определенное количество разрядов влево, равное количеству символов вхождения (фиг.1, 4).
Блоки 36-42 алгоритма выполняют операцию записи замены в регистры блока регистров результата замены. Если устройство работает в режиме поиска и замены и при этом обнаружено вхождение в обрабатываемом слове, то в регистры блока регистров результата замены записывается цепочка символов замены (фиг.2, 7, 9).
В блоке 36 алгоритма по команде БРгЗМ:=УЗАМ на входы блока регистров замены поступают управляющие сигналы из блока управления. Это сигналы: разрешения выдачи данных, синхроимпульсы (фиг.1, 7).
В блоке 37 алгоритма по команде БРгЗМ:=ЗМ в блок регистров замены записывается замена из блока памяти замены (фиг.2, 7).
В блоке 38 по команде УКЛ:=1 на управляющий вход блока замены - БЗАМ из блока управления подается управляющий сигнал УКЛ равный единице. По выполнению этой операции данные блока регистра замены через открытые электронные ключи с прямыми управляющими входами и схемы ИЛИ поступают на вход блока регистров результата замены (фиг.7).
В блоке 39 алгоритма по команде БРгЗМ:=УЗАМ из блока управления на входы блока регистров замены поступают управляющие сигналы: разрешения выдачи данных, синхроимпульсы (фиг.1, 7).
В блоке 40 по команде БРгРЗ:=УРЗМ из блока управления подаются управляющие сигналы, по которым происходит запись с выходов схемы ИЛИ в блок регистров результата замены. Это сигналы: разрешение записи данных и синхроимпульсы (фиг.1, 7).
В блоке 41 алгоритма по команде ОСЗМ:=ЗМ на информационный вход данных блока регистров результата замены поступают данные из блока регистров замены (фиг.7).
В блоке 42 алгоритма по команде БРгРЗ:=ОСЗМ выполняется запись замены в регистры блока регистров результата замены (фиг.7, 9). По выходу из этого блока выполняется переход на блок 49 алгоритма.
В блоке 43 алгоритма анализируется выполнения устройством операций: 1) поиска, 2) поиска и замены, 3) конкатенаций левой или правой - (П) или (ПЗ) или (КОН). Результат выполнение функций определяется с помощью логической операции ИЛИ. Если не выполнялось ни одной из этих операции устройством - выход НЕТ блока, то осуществляется переход на блок 8 фиг.11a. В случае выполнения хотя бы одной из этих операций - выход ДА блока, то осуществляется переход на блок 44 алгоритма.
В блоке 44 алгоритма по команде АВД:=СчА определяется адрес вхождения в обрабатываемом слове, который вычисляется с помощью двоичного счетчика СчА блока анализа поиска. Адрес вхождения формируется по количеству сигналов сдвига влево, поступивших на суммирующий вход счетчика СчА, вначале вхождения, затем обрабатываемого слова (фиг.4).
В блоке 45 алгоритма по команде РЕЗ:=(АДВ)или(РЗ) определяется результат РЕЗ с помощью логической операции ИЛИ. Результат поиска - адрес вхождения, или в результате поиска и замены или после неоднократных замен, полученное новое слово из блока регистров результата замены, поступает на информационный вход оперативного запоминающего устройства блока хранения результата (фиг.7, 10).
В блоке 46 алгоритма по командам ВК:=0, Сч/3п:=0 сигналы: выбор кристалла и запись/считывание, поступившие из блока 7 управления, устанавливают режим записи информации в ОЗУ блока хранения результата. На управляющие входы поступают нулевые значения, что соответствует режиму записи в ОЗУ устройства входной информации (фиг.10).
В блоке 47 алгоритма по командам ОЗУ:=АдСТЛ и ОЗУ:=АдСТР на адресные входы оперативного запоминающего устройства блока хранения результата поступают адреса столбцов - АдСТЛ и строк - АдСТР. Адреса столбцов и строк определяют двоичные счетчики Сч1 и Сч2 блока. По этим адресам данные записываются в ОЗУ блока (фиг.10).
В блоке 48 алгоритма по команде ОЗУ:=РЕЗ на входные информационные входы оперативного запоминающего устройства блока хранения результата поступает результат РЕЗ - выполнение операций: поиска или поиска и замены или конкатенаций (фиг.10).
В блоке 49 алгоритма по команде БРгОС:=СО на управляющий вход регистров блока регистров обрабатываемого слова из блока управления поступает сигнал сдвига СО. Обрабатываемое слово при этом сдвигается на один разряд влево для дальнейшего выполнения поисковой операции (фиг.6).
В блоке 50 алгоритма по команде ОТИ:=0 из блока управления поступает управляющий сигнал ОТИ, равный нулю. Сигнал поступает на инверсный вход схемы И - электронного ключа, который открывается, через него и схему ИЛИ сигнал сдвига влево поступит на суммирующий вход двоичного сумматора СчА (фиг.3, 4). По команде СчА:=СО на суммирующий вход счетчика поступает сигнал сдвига влево СО для подсчета количества сигналов сдвига влево обрабатываемого слова для формирования адреса вхождения в обрабатываемом слове (фиг.4).
По выходу из блока 50 алгоритма осуществляется переход на блок 32 фиг.11б алгоритма для анализа способа поиска вхождений в обрабатываемом слове: поиск с общими частями или без общих частей.
Блок 51 алгоритма является конечным.
Работа устройства параллельного поиска и замены вхождений в обрабатываемых словах заключается в следующем.
Внешние управляющие сигналы "СБРОС" и "ПУСК" поступают в блок 7 управления. В блок памяти обрабатываемых слов в оперативное запоминающее устройство блока будут записаны обрабатываемые слова. В этих словах необходимо обнаружить вхождения. В блок памяти вхождений в оперативное запоминающее устройство блока записываются вхождения - символы, которые нужно найти в обрабатываемом слове. Символы вхождений и обрабатываемых слов поступают на вход компаратора параллельно. При операциях левой или правой конкатенаций к обрабатываемому слову присоединяются слева или справа вхождения. Если устройство работает в режиме поиска вхождений в обрабатываемых словах, то при обнаружении символов, положительном сравнении компаратора, вычисляется адрес - местоположение вхождений в обрабатываемых словах. Эти адреса записывается в блок хранения результата. В случае работы устройства в режиме поиска и замены, при обнаружении вхождений в обрабатываемых словах осуществляется операция замены. Операция записи замены выполняется в третий регистр - регистр замены. Если вхождение не обнаружено, то символы обрабатываемого слова под управлением сигналов сдвига влево информации на один разряд записываются также в третий регистр замены. В третий регистр сдвига будут записаны символы замены в случае обнаружения вхождений в обрабатываемых словах или символы обрабатываемых слов, если на выходе компаратора установился отрицательный результат.
Блок 1 памяти вхождений БПВХ содержит оперативное запоминающее устройство ОЗУ DD8, в котором записаны цепочки символов - вхождения. Входной информационный вход блока УВХ состоит из управляющих сигналов: выбора кристалла микросхемы и режима записи - считывания информации из ОЗУ блока. Адресными входами ОЗУ - сигнал АдВХ являются адреса столбцов и строк, по которым записываются данные в блок памяти. Информационными данными ДВХ являются данные вхождений, которые поступают на информационные входы оперативного запоминающего устройства блока памяти. По сигналам выбора кристалла и разрешения записи УВХ, а также по адресным входам АдВХ, данные вхождений записываются в оперативное запоминающее устройство блока памяти. Выходным информационным сигналом блока является сигнал ВХ - вхождения, который поступает на вход блока анализа памяти (фиг.1, 2).
Блок 2 памяти обрабатываемых слов БПОС содержит оперативное запоминающее устройство ОЗУ DD9. В ОЗУ блока записаны обрабатываемые слова, с которыми необходимо проводить поисковые операции. Входной информационный вход блока УОС состоит из управляющих сигналов: выбора кристалла микросхемы и режима записи - считывания информации из ОЗУ блока. Входные информационные сигналы АдОС являются адресными входами ОЗУ. Сигнал АдОС состоит из адресов столбцов и строк, по которым записываются данные в блок памяти. Информационными данными ДОС являются обрабатываемые слова, которые поступают на информационные входы оперативного запоминающего устройства блока памяти. По сигналам выбора кристалла и разрешения записи УОС, а также по адресным входам АдОС, данные обрабатываемых слов записываются в оперативное запоминающее устройство блока памяти. Выходной информационный сигнал блока - обрабатываемые слова ОС поступают на вход блока анализа поиска (фиг.1, 2).
Блок 3 анализа поиска БАП содержит: блок регистров вхождений DD11, блок регистров обрабатываемых слов DD12, двоичный n - разрядный компаратор DD13, DD14, DD15 выполненный на нейронах, логическую схему И, выполненную на пороговом элементе DD16, комбинационную схему формирования адреса вхождения - КСхФА, комбинационную схему, определяющую режим работы устройства без общих частей БОЧ - КСхОЧ (фиг.3, 4). Функции блока анализа поиска заключаются в записи, хранении и выдачи символов в двоичном эквиваленте вхождений и обрабатываемых слов, в поразрядном сравнении символов вхождений и обрабатываемых слов в компараторе, формировании адреса вхождений в обрабатываемых словах, а также определении режима работы устройства без общих частей БОЧ (фиг.3, 4). Входным информационным сигналом, формирующим режим работы блока регистров вхождений устройства является сигнал УПРВ. Этот сигнал поступает на управляющие входы блока регистров вхождений из блока 7 управления (фиг.1, 3). В состав этого сигнала входят управляющие сигналы, которые определяют режим работы блока: разрешение записи, хранения и выдача двоичных разрядов вхождений, сигнал обнуления регистров, сигнал сдвига влево информации, синхроимпульсы. На информационные входы регистров блока поступают данные - вхождения ВХ из блока памяти вхождений (фиг.2, 3). Выходной информационный сигнал блока регистров вхождений поступает на первые входы схем сравнений - компаратора (фиг.3). Входным информационным сигналом блока регистров обрабатываемого слова является сигнал - УПРС, который поступает на управляющие входы регистра блока регистров обрабатываемых слов из блока 7 управления. Этот сигнал состоит из управляющих сигналов, формирующих режимы работы регистров: разрешения записи, хранения и выдачи информации из регистров блока, сигнал сдвига влево информации на один разряд, синхроимпульсы, сигналы обнуления регистров (фиг.3). На информационные входы регистров блока регистров обрабатываемых слов поступает информационный сигнал ОС - обрабатываемые слова из блока памяти обрабатываемых слов (фиг.2, 3). Выходной информационный сигнал регистров блока регистров обрабатываемых слов поступает на вторые входы схем сравнений - компараторов, выполненных на нейронных элементах DD13, DD14, DD15 (фиг.3). На входы компараторов - схем сравнений поступают поразрядно символы вхождений и обрабатываемых слов в двоичном эквиваленте. Выходные сигналы компаратора поступают на входы схемы И пороговых элементов DD16. Компараторы работают в режиме равенства входных величин. Схемы сравнений выполнены на сумматорах по модулю два. Выходной сигнал сравнения - РСР блока анализа поиска будет равен единичному значению только в том случае, когда входные величины символов вхождения и обрабатываемого слова будут равны между собой. Это означает равенство символов вхождения с фрагментом обрабатываемого слова. Единичное значение сигнала РСР означает, что вхождение найдено в обрабатываемом слове. В этом случае формируется адрес вхождения в обрабатываемом слове в режиме поиска работы устройства или записывается замена в регистры блока результата замены в режиме поиска и замены работы устройства. Если на выходе схемы И сигнал РСР равен нулевому значению, то равенство входных величин на входе компаратора не произошло, в этом случае необходимо сдвинуть обрабатываемое слово на один разряд влево, затем анализировать результат сравнения символов вхождения и следующего фрагмента обрабатываемого слова (фиг.3, 6). Выходным управляющим сигналом блока является сигнал признак конца символов обрабатываемого слова - ПКОС, который поступает на управляющий вход блока 7 управления. Если признак конца обрабатываемого слова ПКОС равен единичному значению, то это означает, что не все символы обрабатываемого слова просмотрены, в регистрах блока регистров обрабатываемого слова еще имеется двоичная информация. В случае равенства этого сигнала нулевому значению, это означает, что все символы обрабатываемого слова просмотрены. В регистрах блока регистров обрабатываемого слова информации нет - регистры "пусты" (фиг.3, 6). Выходным информационным сигналом блока является - символ обрабатываемого слова, поступающий с выхода первого регистра Рг1 блока регистров обрабатываемого слова - ОС1, который поступает на вход блока замены (фиг.3, 6, 7). Этот символ будет записан в регистр блока регистров замены в случае отрицательного сравнения входных величин в компараторе блока. В состав блока анализа поиска входит комбинационная схема формирования адреса вхождения - КСхФА. На выходе этой комбинационной схемы определяется информационный сигнал - адрес вхождения в обрабатываемом слове - АДВ, который поступает на вход блока хранения результата. Управляющим сигналом, поступающим на вход комбинационной схемы формирования адреса блока анализа поиска из блока 7 управления, является сигнал ОТИ - отпирающий импульс. Этот сигнал поступает на управляющие входы схем И, выполненных на пороговых элементах DD17 и DD18. Схема И на элементе DD17 имеет инверсный управляющий вход, схема И на элементе DD18 имеет прямой управляющий вход. На информационный вход схемы И элемента DD 17 поступает сигнал СО - сдвига влево на один разряд с входов регистров блока регистров обрабатываемого слова. На информационный вход схемы И элемента DD18 поступает сигнал СВ - сдвига влево на один разряд с входов регистров блока регистров вхождений (фиг.4). Выходные сигналы схем И DD17 и DD18 поступают на входы схемы ИЛИ элемента DD19. Выходной сигнал схемы ИЛИ DD19 поступает на суммирующий вход двоичного счетчика адреса СчА DD20. На выходе счетчика СчА будет определен адрес вхождения в обрабатываемом слове. Адрес формируется из суммы сигналов сдвига влево, вначале при загрузки в регистр вхождения, затем при поиске, регистра обрабатываемого слова. Предварительно двоичный счетчик адреса СчА DD20 будет обнулен сигналом установки в нуль - ОБС, поступающим из блока 7 управления на вход R1 - установки в нулевое состояние двоичного счетчика (фиг.4). Вначале сигнал ОТИ - отпирающий импульс равен единичному значению. В этом случае схема И DD17 будет заперта - сигнал поступает на инверсный управляющий вход, а схема И DD18 будет открыта, так как сигнал поступает на прямой управляющий вход. Количество сигналов сдвига влево регистра вхождения через открытую схему И DD18, схему ИЛИ DD19 поступают на суммирующий вход двоичного счетчика СчА DD20. Количество сигналов сдвига СВ будет соответствовать количеству символов вхождения. После этого отпирающий импульс ОТИ устанавливается в нулевое состояния. В результате этого схема И DD17 будет открыта, так как сигнал подается на инверсный вход схемы, а схема И DD18 будет заперта, сигнал подается на прямой вход схемы. В этом случае сигналы сдвига влево регистра обрабатываемого слова через открытую схему И DD17, схему ИЛИ DD19 поступают на суммирующий вход двоичного счетчика СчА DD20. В счетчике происходит подсчет количества сигналов сдвига влево регистра обрабатываемого слова. В результате этих процедур на выходе двоичного счетчика будет сформирован адрес вхождения в обрабатываемом слове, то есть местоположения определенного фрагмента в полной цепочке символов обрабатываемого слова (фиг.4). Комбинационная схема, определяющая режим работы устройства без общих частей КСхОЧ, содержит: схему И DD21, суммирующий двоичный счетчик СчС DD22, вычитающий счетчик СчВ DD23, схему ИЛИ DD24. Режим работы устройства без общих частей производит поиск в обрабатываемых словах, не имеющих общих символов между предыдущим и последующим вхождениями [7]. Для формирования этого режима работы в случае обнаружения вхождения в обрабатываемом слове необходимо сдвинуть обрабатываемое слова влево на m разрядов, где m - количество букв вхождения. Предварительно двоичные счетчики СчС DD22 и СчВ DD23 будут обнулены сигналами ОБС, поступившими из блока 7 управления. На входы обнуления R2 и R3 счетчиков соответственно поступают сигналы установки в нулевое состояние элементов. Если устройство работает в режиме поиска вхождений без общих частей, то сигнал из блока 7 управления ПОЧ - признак работы с общими частями принимает значение единицы. Управляющий сигнал ПОЧ поступает на прямой управляющий вход электронного ключа схемы И DD21, открывая ее. Через открытую схему И сигналы сдвига влево СВ вхождений поступают на суммирующий вход двоичного счетчика СчС DD22. В счетчике СчС будет подсчитано количество символов вхождения. Выходы суммирующего счетчика СчС поступают на входы D1-Dx вычитающего счетчика СчВ. В результате этой операции происходит предварительная установка вычитающего счетчика СчВ в двоичное значение, равное количеству символов вхождения. На вычитающий вход счетчика СчВ поступают сигналы сдвига влево СО обрабатываемого слова. На выходе вычитающего счетчика СчВ вычисляется разность между количеством символов вхождения и поступившими сигналами сдвига обрабатываемого слова. Логическая схема ИЛИ DD24 определяет нулевое значение сигнала БОЧ - признака работы устройства без общих частей. Если сигнал БОЧ равен нулевому значению, то это означает, что обрабатываемое слово сдвинуто на m разрядов влево, где m - количество символов вхождения. В результате этой операции необходимо продолжить операцию сравнения символов вхождения и обрабатываемого слова. Выходной управляющий сигнал БОЧ признак работы без общих частей блока анализа поиска поступает на управляющий вход блока 7 управления (фиг.1, 4).
Блок 4 памяти замены БПЗМ содержит оперативное запоминающее устройство ОЗУ DD10. В блоке памяти ОЗУ записаны цепочки символов, которые записываются в блок замены, если устройство работает в режиме поиска и замены. В случае положительного сравнения символов вхождения и обрабатываемого слова цепочка символов - замены будет записана в регистр блока замены. Входной информационный сигнал - УЗМ состоит из управляющих сигналов: выбора кристалла микросхемы и режима записи - считывания информации из ОЗУ блока. Входные информационные сигналы АдЗМ являются адресными входами ОЗУ. Сигнал АдЗМ состоит из адресов столбцов и строк, по которым записывается информация в блок памяти. Информационными данными ДЗМ являются символами замены, которые поступают на информационные входы оперативного запоминающего устройства блока памяти. По сигналам выбора кристалла и разрешения записи УЗМ, а также по адресным входам АдЗМ, данные замены записываются в оперативное запоминающее устройство блока памяти. Выходной информационный сигнал блока - замены ЗМ поступает на вход блока замены (фиг.1, 2).
Блок 5 замены БЗАМ содержит блок 10 регистров замены БРгЗМ DD31, систему электронных ключей схему И с прямыми управляющими входами, выполненных на пороговых элементах DD32, DD33, DD34, систему электронных ключей схему И с инверсными управляющими входами, выполненных на пороговых элементах DD35, DD36, DD37, систему элементов ИЛИ, выполненных на пороговых элементах DD38, DD39, DD40, выполняющую собирательную функцию, блок 11 регистров результата замены БРгРЗ DD41 (фиг.7). Функция этого блока устройства параллельного поиска и замены вхождений в обрабатываемых словах заключается в управлении операцией записи в блок регистров результата замены символа обрабатываемого слова, если на выходе схемы сравнения установлено нулевое значение или букв замены, в случае положительного сравнения входных величин в компараторе устройства в режиме работы поиска и замены. Блок 10 регистров замены БРгЗМ DD31 предназначен для записи, хранения и выдачи символов замены. Замена осуществляется в случае обнаружения символов вхождения в обрабатываемом слове и в режиме работы устройства поиска и замены. Входной информационный сигнал - УЗАМ поступает на управляющие входы регистров блока регистров замены и состоит из управляющих сигналов: сдвига влево информации на один разряд, синхроимпульсов, формирующих режимы записи, хранения и выдачи двоичного кода. Входной информационный сигнал замены ЗМ поступает на информационные входы регистров блока. По приходу управляющих разрешающих сигналов из блока 7 управления происходит запись символов замены в регистры блока регистров замены. Выходной информационный сигнал блока регистров замены поразрядно поступает на информационные входы системы электронных ключей DD32, DD33, DD34 с прямыми управляющими входами. Входным информационным сигналом блока регистров замены является сигнал ОС1. Этот сигнал поступает с выхода первого регистра Рг1 DD27 блока регистров обрабатываемого слова БРгОС (фиг.6). Информационный сигнал ОС1 поступает на информационные входы системы электронных ключей DD35, DD36, DD37 с инверсными управляющими входами. Информационные выходы систем электронных ключей DD32, DD33, DD34, DD35, DD36, DD37 поступают на входы системы элементов ИЛИ DD38, DD39, DD40. Выходные информационные сигналы системы ИЛИ - ОСЗМ поступают на информационные входы регистров блока регистров результата замены (фиг.7). Информационный сигнал ОСЗМ является результатом логической функции ИЛИ входных величин: ОС1 - символа обрабатываемого слова или символов замены ОСЗМ=(ОС1) или (ЗМ). Входным управляющим сигналом блока замены является сигнал УКЛ - управления, поступающий из блока 7 управления на прямые управляющие входы систем электронных ключей DD32, DD33, DD34, и на инверсные управляющие входы электронных ключей DD35, DD36, DD37 (фиг.7). Если управляющий сигнал УКЛ равен нулевому значению, то система электронных ключей с прямимы управляющими входами DD32, DD33, DD34 будет заперта, а электронные ключи с инверсными управляющими входами DD35, DD36, DD37 будут открыты. В этом случае символ обрабатываемого слова ОС1 через открытые электронные ключи DD35, DD36, DD37 и систему логических элементов ИЛИ DD38, DD39, DD40 поступит на вход информационного входа регистров блока регистров результата замены (фиг.7). По приходу информационного сигнала УРЗМ на управляющие входы регистров блока регистров результата замены из блока 7 управления входная информация ОСЗМ будет записана в регистры блока регистров результата замены. Управляющие сигналы регистров блока: С, P/S, A/S формируют режимы: сдвига влево информации на один разряд, синхронизации, записи, хранения и выдачи результата в регистрах блока. В случае равенства сигнала управления УКЛ единичному значению система электронных ключей с прямыми управляющими входами DD32, DD33, DD34 будет открыта, а электронные ключи с инверсными управляющими входами DD35, DD36, DD37 будут закрыты. В этом случае символы замены ЗМ через открытые электронные ключи DD32, DD33, DD34 и систему логических элементов ИЛИ DD38, DD39, DD40 поступают на вход информационного входа регистров блока регистров результата замены, где по приходу управляющих сигналов УРЗМ будут записаны и храниться в блоке (фиг.7). Выходной информационный сигнал блока регистров результата замены - сигнал РЗ, представляет собой информацию из результатов замены или символов обрабатываемого слова. Этот сигнал поступает на вход блока хранения результата (фиг.1, 7).
Блок 8 регистров вхождений БРгВХ содержит n универсальных восьмиразрядных регистров сдвига Рг1,..., Ргn, выполненных на элементах DD25, DD26 (фиг.5). Регистры блока работают в режимах: параллельного ввода, параллельного вывода, хранения, установки нулей (сброс). Режимы работы регистров задаются сигналами на управляющих входах. Управляющие сигналы подаются параллельно на все регистры. Из блока 7 управления на управляющие входы регистров поступает информационный сигнал УПРВ - управление режимами работой блока регистров вхождений (фиг.1). Входы DR и DL обеспечивают режимы сдвига информации вправо и влево соответственно. Вход СВ является тактовым, управляющие входы S1 и S0 формируют режимы работы регистров, вход R служит для установки регистров в нулевое состояние. Входным информационным сигналов блока регистров вхождений является информационный сигнал ВХ - вхождения. Этот сигнал поступает с выхода блока памяти вхождений (фиг.1, 2). Информационные сигналы параллельно поступают на информационные входы регистров. В каждый регистр блока запишется один символ, который имеет восьмиразрядный двоичный код. На выходе регистра также будет восьмиразрядный двоичный эквивалент. Регистры имеют восьмиразрядные информационные входы CMi и восьмиразрядные выходы CMi. Для параллельного ввода информации в регистры блока на обоих управляющих входах должно быть S1=S2=1. Информация со входов CMi будет записана в регистры и появится на выходах CMi по перепаду 0,1 тактового импульса СВ. Когда на управляющих входах будет S1=S2=0, то регистры работают в режиме хранения информации. Установка в нулевое состояние осуществляется подачей на вход R нулевого значения [3]. Перед началом работы все регистры блока регистров вхождений будут обнулены подачей нулевого уровня на входы сброса R. По приходу входного информационного сигнала ВХ, который подается параллельно на входы регистров и состоит из информационных сигналов CMi, ..., CMn, установкой на входах всех регистров блока при режиме S1=S2=1 осуществляется запись информации в регистры блока регистров вхождений. Хранение двоичных кодов в регистрах блока выполняется при режиме S1=S2=0 (фиг.5). Входной управляющий сигнал СВ - тактовый импульс поступает на входы элементов И комбинационных схем блока анализа поиска (фиг.4, 5). Выходным информационным сигналом ВХ, состоящим из информационных сигналов СМ1,..., CMn, блока является цепочка символов вхождения, которую необходимо обнаружить в обрабатываемом слове.
Блок 9 регистров обрабатываемого слова БРгОС содержит n универсальных восьмиразрядных регистров сдвига Рг1, Рг2,..., Ргn, выполненных на элементах DD27, DD28, DD29, логическую схему ИЛИ, выполненную на пороговом элементе DD30 (фиг.6). Регистры блока работают в режимах: последовательного ввода, параллельно-последовательного вывода, хранения, установки нулей (сброс). Режимы работы регистров задаются сигналами на управляющих входах. Управляющие сигналы подаются параллельно на все регистры. Из блока 7 управления на управляющие входы регистров поступает информационный сигнал УПРС - управление режимами работой блока регистров обрабатываемого слова. Управляющие сигналы СО, P/S и A/S поступают на все регистры параллельно. Сигнал СО - синхронизирующий тактовый импульс, сочетание сигналов P/S и A/S определяют режимы работы регистров блока. Сигнал P/S формирует способ ввода информации, сигнал A/S - режим асинхронный/синхронный [3]. Входной информационный сигнал ОС - обрабатываемое слово поступает на вход регистра Ргn DD29 из блока памяти обрабатываемых слов. При поступлении сигналов сдвига информация с правого регистра Ргn элемента DD29 сдвигается в левый регистр Рг1 элемента DD27. В параллельном режиме символы обрабатываемого слова ОС1, ОС2, ОСЗ,..., OCf поступают на вторые входы компараторов. На первые входы компараторов поступают символы вхождения (фиг.3). Результатом сравнения может быть нулевое или единичное значение выходного с компаратора сигнала. Если на выходе компаратора установилась единица, то операция поиска осуществилась положительно, то есть вхождение обнаружено. В случае получения нулевого значения на выходе компаратора формируется сигнал сдвига влево на один разряд символов обрабатываемого слова. Выходной сигнал с выходов первого регистра Рг1 поступает на входы логической схемы ИЛИ элемента DD30 (фиг.6). Выходной управляющий сигнал - признак конца обрабатываемого слова ПКОС с выхода схемы ИЛИ определяет нулевую комбинацию на входе схемы. Нулевой двоичный код 0 ... 00 является признаком конца символов обрабатываемого слова. В этом случае все символы обрабатываемого слова в регистрах блока просмотрены. Если признак конца обрабатываемого слова равен единичному значению, то в регистрах блока имеется двоичная информация. Процесс поиска в этом случае продолжается. Синхронизирующий сигнал СО является выходным управляющим сигналом блока регистров обрабатываемого слова, который поступает на входы элементов И комбинационных схем блока анализа поиска (фиг.4, 6).
Блок 10 регистров замены БРгЗМ содержит s универсальных восьмиразрядных регистров сдвига Рг1, Рг2,..., Ргs, выполненных на элементах DD42, DD43, DD44 (фиг.8). Регистры блока работают в режимах: последовательного ввода, последовательного вывода, хранения, установки нулей (сброс). Режимы работы регистров задаются сигналами на управляющих входах. Регистры соединены между собой последовательно. На управляющие входы регистров из блока 7 управления поступает информационный сигнал УЗАМ - управление режимами работой блока регистров замены. Управляющие сигналы С, P/S и A/S поступают на все регистры параллельно. Сигнал С - синхронизирующий тактовый импульс, комбинации сигналов P/S и A/S определяют режимы работы регистров блока. Сигнал P/S формирует способ ввода информации, сигнал A/S - режим асинхронный/синхронный [3]. Входной информационный сигнал ЗМ - символы замены поступает на вход правого регистра Ргs DD44 из блока памяти замены. При генерации сигналов сдвига влево на один разряд информация с правого регистра Ргs элемента DD44 поступает на выход левого регистра Рг1 элемента DD42 (фиг.8). Вначале работы устройства все регистры блока будут обнулены. В режиме поиска и замены, а также левой или правой конкатенаций, по приходу управляющих сигналов из блока 7 управления символы замены записываются из блока памяти замены в регистры блока регистров замены (фиг.2, 8). Выходным информационным сигналом блока регистров замены является двоичный код символов замены - ЗМ. Блок работает в режиме записи, хранения и выдачи информации. Выдача информации происходит в режиме поиска и замены работы устройства. Если в обрабатываемом слове обнаружено вхождение, то необходимо в регистры блока регистров результата замены записать замену - цепочку символов. В этом случае регистры блока работают в режиме выдачи информации (фиг.7, 8).
Блок 11 регистров результата замены БРгРЗ содержит m универсальных восьмиразрядных регистров сдвига Рг1, Рг2,..., Ргm, выполненных на элементах DD45, DD46, DD47 (фиг.9). Регистры блока работают в режимах: последовательного ввода, последовательного вывода, хранения, установки нулей (сброс). Режимы работы регистров задаются сигналами на управляющих входах. Регистры соединены между собой последовательно, выход предыдущего является входом последующего. На управляющие входы регистров из блока 7 управления поступает информационный сигнал УРЗМ - управление режимами работой блока регистров результата замены. Управляющие сигналы С, P/S и A/S поступают на все регистры в параллельном режиме. Сигнал С - синхронизирующий тактовый импульс, комбинации сигналов P/S и A/S определяют режимы работы регистров блока. Сигнал P/S формирует способ ввода информации, сигнал A/S - режим асинхронный/синхронный [3]. Входной информационный сигнал ОСЗМ - символы обрабатываемого слова или замены поступает на вход правого регистра Ргm элемента DD47 с выходов логической схемы ИЛИ блока замены (фиг.7). При генерации сигналов сдвига влево на один разряд информация с правого регистра Ргm элемента DD47 поступает на выход левого регистр Рг1 элемента DD45 (фиг.9). Вначале работы устройства все регистры блока будут обнулены. В режиме поиска и замены символы замены записываются в регистры блока регистров результата замены. В случае выполнения операций левой или правой конкатенаций в регистры блока регистров результата замены записываются символы замены и обрабатываемого слова (фиг.9). В режиме поиска в регистры блока регистров результата замены записываются символы обрабатываемого слова. Выходным информационным сигналом блока регистров результата замены является двоичный код символов результата замены - РЗ. Блок работает в режиме записи, хранения и выдачи информации. Выдача результата происходит в случае обнаружения признака конца обрабатываемого слова - сигнала ПКОС, равного нулевому значению. Выходной информационный сигнал результат замены - РЗ блока регистров результата замены поступает на вход блока хранения результата (фиг.9, 10).
Блок 6 хранения результата БХР содержит логическую схему ИЛИ, выполненную на пороговом элементе DD48, двоичный счетчик формирующий адреса столбцов ОЗУ - Сч1 DD49, двоичный счетчик формирующий адреса строк ОЗУ - Сч2 DD50, оперативное запоминающее устройство ОЗУ DD51. Двоичные счетчики вначале работы устройства обнулены управляющими сигналами ОБ, УС "0", поступающими из блока 7 управления. На входы счетчиков поступают прямоугольные импульсы ГИ, ТИ из блока 7 управления. Счетчики формируют адреса строк и столбцов, по которым будет записаны результаты поиска или замены, поступающие на вход оперативно-запоминающего устройства ОЗУ DD51. Входными информационными сигналами блока являются: информационный сигнал АДВ - адрес вхождения и информационный сигнал РЗ - результаты замены. Информационные сигналы поступают на входы схемы ИЛИ DD48. Выходной информационный сигнал РЕЗ - результат операции ИЛИ поступает на информационный вход оперативного запоминающего устройства ОЗУ DD51. Если устройство работает в режиме поиска вхождений, то будут записаны адреса вхождений. Если устройство работает в режиме поиска и замены, то в оперативное запоминающее устройство будут записаны результаты замены, в случае положительного сравнения компаратора. Сигналы управления оперативного запоминающего устройства ОЗУ DD51 выбор кристалла и считывания/запись соответственно при записи принимают значения ВК=0, Сч/3п=0 (фиг.10).
Блок 7 управления синтезируется на основе ГСА алгоритма управления (фиг11а, 11б, 11в) известным способом [6]. Размеченная ГСА работы блока 7 управления приведена на фиг.12а, 12б, 12в, где обозначено:
Источники информации
1. Кудрявцев В.Б., Подколзин А.С., Ушчумлич Ш. Введение в теорию абстрактных автоматов. М.: Из-во МГУ, 1985. 174 с.
2. Пом А., Агравал О. Быстродействующие системы памяти. - М.: Мир, 1987. - 264 сл., ил.
3. Зельдин Е.А. Цифровые интегральные микросхемы в информационной измерительной аппаратуре. - Л.: Энергоатомиздат., Ленингр. отд-ние, 1986. - 280 с.: ил.
4. Мкртчян С.О. Проектирование логических устройств ЭВМ на нейронных элементах. - М.: Энергия, 1977 г.
5. Алексенко А.Г., Шагурин И.И. Микросхемотехника: Учеб. пособие для вузов. - 2-е изд., перераб. и доп. - М.: Радио и связь, 1990. - 496 с.: ил.
6. Баранов С.И. Синтез микропрограммных автоматов. - Энергия, Ленинградское отделение. 1974 г. - 184 с.
7. Патент №2250493 (прототип).
8. Патент №2209465 (аналог).
9. Патент №2199778 (аналог).
10. Патент №2202823 (аналог).
название | год | авторы | номер документа |
---|---|---|---|
Устройство параллельно-последовательного поиска и замены вхождений в обрабатываемых словах | 2022 |
|
RU2793554C1 |
ВЫЧИСЛИТЕЛЬНАЯ ОТКРЫТАЯ РАЗВИВАЕМАЯ АСИНХРОННАЯ МОДУЛЬНАЯ СИСТЕМА | 2009 |
|
RU2453910C2 |
ПАРАЛЛЕЛЬНАЯ СИСТЕМА ПОИСКА И ЗАМЕНЫ | 2003 |
|
RU2245579C2 |
УСТРОЙСТВО ПОИСКА И ЗАМЕНЫ ПРОИЗВОЛЬНЫХ ВХОЖДЕНИЙ В СЛОВАХ ТЕКСТА | 2002 |
|
RU2250493C2 |
ИНФОРМАЦИОННО-ПОИСКОВАЯ СИСТЕМА | 2001 |
|
RU2199778C1 |
ПАРАЛЛЕЛЬНАЯ СИСТЕМА ИНФОРМАЦИОННОГО ПОИСКА | 2001 |
|
RU2195015C1 |
УСТРОЙСТВО ПОИСКА ПРОИЗВОЛЬНЫХ ВХОЖДЕНИЙ | 2001 |
|
RU2202823C2 |
ПАРАЛЛЕЛЬНАЯ СИСТЕМА ПОИСКА ПРОИЗВОЛЬНЫХ ВХОЖДЕНИЙ | 2001 |
|
RU2220448C2 |
УСТРОЙСТВО ПОИСКА ВХОЖДЕНИЙ | 1998 |
|
RU2150740C1 |
УСТРОЙСТВО СОРТИРОВКИ СЛОВ | 2002 |
|
RU2223538C2 |
Изобретение относится к техническим средствам информатики и вычислительной техники и может быть использовано для решения задач по составлению словарей, справочников, а также по созданию баз данных. Техническим результатом является расширение функциональных возможностей, повышение надежности функционирования и упрощение алгоритма работы устройства. Устройство содержит блок памяти вхождений, блок памяти обрабатываемых слов, блок анализа поиска, блок памяти замены, блок замены, блок хранения результата, блок управления. 16 ил.
Устройство параллельного поиска и замены вхождений в обрабатываемых словах, содержащее блок памяти вхождений, блок управления, отличающееся тем, что дополнительно введены блок памяти обрабатываемых слов, блок анализа поиска, блок памяти замены, блок замены, блок хранения результата, причем с первого по третий информационные выходы блока управления, на которых соответственно формируются сигналы управления оперативным запоминающим устройством, адреса столбцов и строк оперативного запоминающего устройства и данные, записанные в оперативное запоминающее устройство, соединены соответственно с первым по третий информационными входами блока памяти вхождений, информационный выход которого соединен с первым информационным входом блока анализа поиска, второй информационный вход которого соединен с информационным выходом блока памяти обрабатываемых слов, с первого по третий информационные входы которого соединены соответственно с четвертым по шестой информационными выходами блока управления, на которых соответственно формируются сигналы управления оперативным запоминающим устройством блока памяти обрабатываемых слов, адреса столбцов и строк оперативного запоминающего устройства и данные, записанные в оперативное запоминающее устройство, с третьего по пятый управляющие входы которого соединены соответственно с первым по третий управляющими выходами блока анализа поиска, на которых формируются сигналы, характеризующие соответственно результат сравнения символов вхождения и обрабатываемого слова, режим работы устройства поиска вхождений в обрабатываемом слове без общих частей и признак конца символов обрабатываемого слова, с третьего по пятый информационные входы блока анализа поиска соединены соответственно с седьмого по девятый информационными выходами блока управления, на которых формируются сигналы установки в нулевое состояние двоичных счетчиков, управляющие сигналы, формирующие режимы работы регистров блоков регистров вхождений и обрабатываемых слов соответственно, первый и второй управляющие выходы блока управления, на которых соответственно формируются сигналы признака работы устройства с общими частями и отпирающий импульс соединены соответственно с первым и вторым управляющими входами блока анализа поиска, второй информационный выход которого соединен с первым информационным входом блока замены, третий и четвертый информационные входы которого соединены соответственно с десятым и одиннадцатым информационными выходами блока управления, на которых формируются сигналы управления блоком регистров замены и блоком регистра результата замены, входящих в состав блока замены, третий управляющий выход блока управления соединен с управляющим входом блока замены, второй информационный вход которого соединен с информационным выходом блока памяти замены, с первого по третий информационные входы которого соединены соответственно с двенадцатого по четырнадцатый информационными выходами блока управления, на которых формируются сигналы управления оперативным запоминающим устройством, адреса столбцов и строк оперативного запоминающего устройства и данные, записанные в оперативное запоминающее устройство блока памяти замен, с четвертого по девятый управляющие выходы блока памяти соединены соответственно с первым по шестой управляющими входами блока хранения результата, второй информационный вход которого соединен с первым информационным выходом блока анализа поиска, информационный выход блока замены соединен с первым информационным входом блока хранения результата, первый и второй управляющие входы "СБРОС" и "ПУСК" блока управления являются внешними входами устройства.
УСТРОЙСТВО ПОИСКА И ЗАМЕНЫ ПРОИЗВОЛЬНЫХ ВХОЖДЕНИЙ В СЛОВАХ ТЕКСТА | 2002 |
|
RU2250493C2 |
ПОИСКОВОЕ УСТРОЙСТВО ПРОИЗВОЛЬНЫХ ВХОЖДЕНИЙ | 2001 |
|
RU2209465C2 |
УСТРОЙСТВО ПОИСКА ПРОИЗВОЛЬНЫХ ВХОЖДЕНИЙ | 2001 |
|
RU2202823C2 |
Устройство для реализации подстановок с двухкомпонентными вхождениями | 1989 |
|
SU1667097A1 |
US 5873660 A, 23.02.1999 | |||
Шланговое соединение | 0 |
|
SU88A1 |
Авторы
Даты
2007-03-27—Публикация
2005-08-09—Подача