ВЫЧИСЛИТЕЛЬНАЯ ОТКРЫТАЯ РАЗВИВАЕМАЯ АСИНХРОННАЯ МОДУЛЬНАЯ СИСТЕМА
COMPUTING PUBLIC EVOLUTIONARY ASYNCHRONOUS MODULAR SYSTEM

Изобретение относится к техническим средствам информатики и вычислительной техники и может быть использовано для создания высокопроизводительных, быстродействующих вычислительных систем, выполняющих основные арифметические, символьные и логические операции: суммирование, вычитание, умножение и деление чисел в прямых кодах с фиксированной и плавающей запятой, осуществляющих поисковые функции и операции замены, выполняющих логические операции - инверсию, конъюнкцию, дизъюнкцию и исключающую ИЛИ, а также операции, выполняющиеся специализированными вычислительными модулями, и функции коммутации.
Известен "Сумматор-вычитатель старшими разрядами вперед на нейронах" (з-ка RU №2205444 27.05.2003 г.), выполняющий операции суммирование и вычитание двоичных чисел в прямых кодах старшими разрядами вперед.
Известно "Поисковое устройство произвольных вхождений" (з-ка RU, №2209465 от 27.07.2003 г.), осуществляющая поиск произвольных вхождений в обрабатываемых словах.
Известно "Устройство поиска и замены произвольных вхождений в словах текста" (з-ка RU, №2250493 19.04.2005 г.), которое выполняет функцию поиска и замены произвольных вхождений в словах текста.
Известен "Параллельный сумматор-вычитатель на нейронах" (з-ка RU №2246752 от 20.02.2005 г.), который выполняет операции суммирование и вычитание двоичных чисел.
Известно "Устройство выполнения логических операций" (з-ка RU, №2288500 от 27.11.2006 г.), которое выполняет логические операции: инверсию, конъюнкцию, дизъюнкцию и исключающую ИЛИ.
Известен "Арифметический вычислитель" (з-ка RU, №2292580 27.01.2007 г.), выполняющий основные арифметические операции: сложение, вычитание, умножение и деление чисел в прямых кодах с фиксированной и плавающей запятой.
В качестве прототипа выбран "Арифметико-символьный процессор" (з-ка RU №2316047 от 27.01.2008 г.), который выполняет основные арифметические операции: сложение, вычитание, умножение и деление чисел в прямых кодах с фиксированной и плавающей запятой, осуществляющий поисковые функции и операции замены, а также выполняет логические операции: инверсия, конъюнкция, дизъюнкция и исключающая ИЛИ.
Задача заключалась в следующем:
1) расширить функциональные возможности вычислительной системы;
2) повысить надежность работы вычислительной модульной системы.
В представленной вычислительной системе выполняются основные арифметические операции: сложение, вычитание, умножение и деление чисел в прямых кодах с фиксированной и плавающей запятой, осуществляются поисковые функции и операции замены, выполняются логические операции - инверсия, конъюнкция, дизъюнкция и исключающие ИЛИ, осуществляется распределение ресурсов со многими параметрами, решается задача сортировки данных без применения операции копарации, выполняется ускоренное умножение чисел с примененм пороговых элементов и нейронов, осуществляется операция сортировка слов с применением ассоциативного запоминающего устройства, параллельная система выполняет операции поиска и замены в различных режимах обработки символьной информации, а также выполняется передача заданий и результатов с использованием интерфейсных каналов процессор-модуль и модуль-модуль. Предлагаемая вычислительная открытая развиваемая асинхронная модульная система позволит расширить функциональные возможности устройства.
Решение задачи осуществляется тем, что вычислительная открытая развиваемая асинхронная модульная система, содержащая арифметико-символьный процессор, блок управления, отличающаяся тем, что дополнительно введены: система коммутации процессор-модуль, первый специализированный вычислительный модуль, второй специализированный вычислительный модуль, n-й специализированный вычислительный модуль, система коммутации модуль-модуль, блок периферийных устройств, причем управляющий выход арифметико-символьного процессора соединен с третьим управляющим входом блока управления, первый управляющий выход которого соединен с управляющим входом арифметико-символьного процессора, первый информационный выход которого соединен с первым информационным входом системы коммутации процессор-модуль, первый информационный выход которой соединен с информационным входом арифметико-символьного процессора, второй информационный выход которого соединен с информационным входом блока периферийных устройств, второй информационный выход системы коммутации процессор-модуль соединен с первым информационным входом первого специализированного вычислительного модуля, первый информационный выход которого соединен со вторым информационным входом системы коммутации процессор-модуль, первый управляющий вход которой соединен с первым управляющим выходом первого специализированного вычислительного модуля, второй управляющий выход которого соединен со вторым управляющим входом системы коммутации процессор-модуль, третий информационный выход которой соединен с первым информационным входом второго специализированного вычислительного модуля, первый информационный выход которого соединен с третьим информационным входом системы коммутации процессор-модуль, третий управляющий вход которой соединен с первым управляющим выходом второго специализированного вычислительного модуля, второй управляющий выход которого соединен с четвертым управляющим входом системы коммутации процессор-модуль, четвертый информационный выход, которой соединен с первым информационным входом n-го специализированного вычислительного модуля, первый информационный выход которого соединен с четвертым информационным входом системы коммутации процессор-модуль, пятый управляющий вход которой соединен с первым управляющим выходом n-го специализированного вычислительного модуля, второй управляющий выход, которого соединен с шестым управляющим входом системы коммутации процессор-модуль, второй информационный выход первого специализированного вычислительного модуля соединен с первым информационным входом системы коммутации модуль-модуль, первый информационный выход, которой соединен со вторым информационным входом первого специализированного вычислительного модуля, третий управляющий выход которого соединен с шестым управляющим входом блока управления, четвертый управляющий выход которого соединен с управляющим входом первого специализированного вычислительного модуля, второй информационный выход второго специализированного вычислительного модуля соединен со вторым информационным входом системы коммутации модуль-модуль, второй информационный выход которой соединен со вторым информационным входом второго специализированного вычислительного модуля, третий управляющий выход, которого соединен с пятым управляющим входом блока управления, третий управляющий выход которого соединен с управляющим входом второго специализированного вычислительного модуля, второй информационный выход n-го специализированного вычислительного модуля соединен с третьим информационным входом системы коммутации модуль-модуль, третий информационный выход которой соединен со вторым информационным входом n-ого специализированного вычислительного модуля, третий управляющий выход которого соединен с четвертым управляющим входом блока управления, второй управляющий выход, которого соединен с управляющим входом n-го специализированного вычислительного модуля, первый, второй и третий информационные выходы блока управления соединены соответственно с четвертым, пятым и шестым информационными входами системы коммутации модуль-модуль, первый и второй управляющие входы СБРОС и ПУСК блока управления являются внешними входами вычислительной открытой развиваемой асинхронной модульной системы.
Вычислительную открытую развиваемую асинхронную модульную систему (ВОРАМС) можно представить как иерархию универсальной ЭВМ, систему специализированных вычислительных модулей и гибкую подсистему интерфейсных каналов параллельной передачи информации между устройствами. В представленной системе отдельное устройство имеет собственные средства обработки, оперативное запоминающее устройство для хранения данных, локальную коммутацию и автономный блок управления, становится самостоятельным, функционально полным вычислительным модулем. В вычислительной системе предложены неоднородные модули, в которых явно выражена функциональная специализация устройств. Универсальная вычислительная машина, реализующая любой алгоритм, не может конкурировать со специализированными вычислительными модулями при решении определенных задач. Специализированные модули эффективно решают задачи по обработке и сортировке массивов, упорядочения данных, распределения ресурсов между локализованными центрами, ускоренное выполнение арифметические операции. В связи с этим поле их применения, безусловно, будет расширяться. Вычислительные специализированные процессоры не менее чем на порядок дешевле равномощного универсального устройства.
Основным принципом развития в архитектуре вычислительных систем является распараллеливание и совмещение процессов разных типов. Одновременно увеличивается число решаюших модулей. В связи с этим возникает проблева организации коммутации и обменов между процессором и устройствами, а также функцианальное соединение между вычислительными модулями.
ВОРАМС - открытая развиваемая система совместимых функциональных модулей, которая способна к статической и динамической реконфигурации. Она может быть адаптирована к использованию в различных областях применения. Система имеет параллельную структуру за счет использование интерфейсных каналов соединения процессора и вычислительных модулей, характеризуется также асинхронностью работы составляющих ее устройст, имеет упорядоченную спецификацию модулей и интерфейсов [1, 2].
Вычислительная открытая развиваемая асинхронная модульная система ВОРАМС (фиг.1) содержит: арифметико-символьный процессор, систему коммутации, обеспечивающую соединение процессора и специализированных вычислительных модулей, специализированные вычислительные модули, систему коммутации, выполняющую функцию интерфейсного соединения между специализированными вычислительными модулями системы, блок периферийных устройств, блок управления.
АСП - арифметико-символьный процессор, который выполняет основные арифметические операции: сложение, вычитание, умножение и деление чисел в прямых кодах с фиксированной и плавающей запятой, осуществляющий поисковые функции и операции замены, а также выполняет логические операции - инверсия, конъюнкция, дизъюнкция и исключающая ИЛИ.
СКПМ - система коммутации процессор-модуль служит для соединения процессора и специализированных вычислительных модулей системы.
СпецВычМод1 - первый специализированный модуль, выполняющий функции поиска и замены вхождений в обрабатывающих словах, а также специализированные операции символьной обработки.
СпецВычМод2 - второй специализированный модуль, выполняющий функции сортировки слов.
СпецВычМодn - n-е специализированные модули, выполняющие арифметические, логические операции, операции сортировки символов, задачи распределения ресурсов.
СКММ - система коммутации модуль-модуль служит для соединения между собой специализированных вычислительных модулей системы.
БПУ - блок периферийных устроств служит для выполнения операций чтения, записи, сканирования, передачи, печати и т.д. входной и выходной информации.
БУ - блок служит для управления вычислительной системой.
В арифметико-символьном процессоре выполняются основные арифметические операции: сложение, вычитание, умножение и деление чисел в прямых кодах с фиксированной и плавающей запятой, осуществляются поисковые функции и операции замены, а также выполняются логические операции - инверсия, конъюнкция, дизъюнкция и исключающая ИЛИ. Предлагаемый арифметико-символьный процессор позволит расширить функциональные возможности устройства, повысить надежность работы процессора, упростит алгоритм работы устройства.
Арифметико-символьный процессор (фиг.2) содержит: блок выполнения арифметических операций, блок параллельного поиска и замены в обрабатываемых словах, блок выполнения логических операций, блок хранения результатов, блок управления арифметико-символьного процессора [5].
БВАО - блок выполнения арифметических операций служит для выполнения операций с фиксированной и плавающей запятой.
БППЗВОС - блок параллельного поиска и замены в обрабатываемых словах служит для выполнения поисковых операций и функции замены.
БВЛО - блок выполнения логических операций служит для выполнения логических операций: конъюнкция, дизъюнкция, инверсия, исключающее ИЛИ.
БХР - блок хранения результатов служит для записи и хранения результатов выполнения арифметических, поисковых и логических операций.
БУАСП - блок служит для управления арифметико-символьным процессором.
Существуют специфические задачи обработки символьной информации, т.е. текстов. Тексты имеют очень большие объемы, измеряемые гигабайтами. Тексты имеют сложную внутреннюю структурную организацию: лексическую, морфологическую и синтаксическую. Отсюда вытекают специфические задачи лексикографического, морфологического и синтаксического анализа и т.д. В системы числовой обработки вводятся процессоры быстрого преобразования данных. Арифметические операции выполняются в параллельном режиме, в форматах с фиксированной и плавающей запятой. Доля символьной информации в общем потоке информации составляет более 80%. Доля числовой информации в общем потоке информации составляет всего 10-15%. Для увеличения производительности универсальные системы обработки символьной информации, а также системы обработки числовых данных и выполнения логических операций расширяются специализированными процессорами.
Блок выполнения арифметических операций БВАО
Арифметические операции двоичных чисел в блоке выполняются в параллельном режиме, в формате с фиксированной и плавающей запятой в прямых кодах (фиг.3).
БВЧКО - блок ввода чисел служит для ввода операндов и знака операции, значений логических переменных.
БОФЗ - блок выполнения операций с фиксированной запятой в прямом коде служит для выполнения основных арифметических операций в формате с фиксированной запятой.
БОПЗ - блок выполнения операций с плавающей запятой в прямом коде служит для выполнения основных арифметических операций в формате с плавающей запятой.
БХРАО - блок хранения результатов арифметических операций служит для записи и хранения в нем результатов выполнения арифметических операций.
БУАО - блок арифметических операций служит для управления устройством выполнения арифметических операций.
В современных ЭВМ операция вычитания выполняется с применением дополнительного или обратного кода. При вводе отрицательного числа осуществляется перевод его в дополнительный или обратный код. Полученный результат также анализируется. Если получен отрицательный результат, то осуществляется перевод в дополнительный или обратный код. Если получен положительный результат, то перевода в коды не происходит. По этому алгоритму результат можно получить только после анализа знакового разряда результата. В случае ввода двух отрицательных чисел необходимо перевести оба числа в коды. Результат в этом случае также переводится в дополнительный или обратный код [3].
Известен алгоритм сложения чисел в прямых кодах. Этот алгоритм позволяет сразу получить правильный результат в прямом коде. В этом случае необходимо применить операцию вычитания чисел. Для этого используется комбинационная схема вычитателя чисел в прямых кодах.
Для получения суммы двух чисел возможны два случая:
1) слагаемые имеют одинаковые знаки;
2) слагаемые имеют разные знаки.
Алгоритм получения суммы двух чисел с одинаковыми знаками определяется следующим образом:
Алгоритм первый:
1) сложить два числа;
2) сумме присвоить знак одного из слагаемых.
Алгоритм получения суммы двух чисел с разными знаками определяется следующем образом:
1) сравниваются знаки слагаемых, и если они одинаковы, то выполняется сложение по первому алгоритму;
2) если знаки слагаемых разные, то сравниваются числа по абсолютной величине;
3) если есть необходимость переставить числа местами, чтобы вычитать из большего меньшее;
4) произвести вычитание двух чисел;
5) результату присвоить знак большего слагаемого.
Этот алгоритм позволяет получить сумму или разность чисел в прямых кодах. В арифметическом вычислителе не происходит сравнения чисел, если числа имеют разные знаки, в нем применена операция вычитания из первого числа второго. Если формируется заем из знакового разряда, то в этом случае от меньшего числа вычитается большее. Числа в этом случае с помощью коммутатора меняются местами на входе нейронов сумматора-вычитателя. На втором такте от второго большего числа вычитается первое меньшее. Если заема не образуется, то от большего первого числа вычитается меньшее второе. Менять местами числа на входе нейронов не нужно.
Операция умножения выполняется в прямом коде умножением младшими разрядами множителя со сдвигом суммы частичных произведений влево. Знак произведения определяется путем сложения знаковых цифр сомножителей по модулю два.
Операция деления выполняется по алгоритму деление чисел без восстановления остатков. Для определения следующей цифры частного необходимо сдвинуть текущий остаток влево на один разряд, а затем алгебраически прибавить к нему модуль делителя, которому приписывается знак, противоположный знаку текущего остатка. Знак остатка определяет следующую цифру частного: если остаток положительный, то в частном записывается 1, если отрицательный, то записывается 0. Операция сдвигов и алгебраических сложений повторяется до тех пор, пока в частном не получится требуемое количество цифр. Знак частного определяется путем сложения знаковых цифр делимого и делителя по модулю два. По таким алгоритмам выполняются основные арифметические операции с фиксированной запятой [3, 4].
Числа в формате с плавающей запятой представляются в виде: знака порядка, значения порядка, знака мантиссы, мантиссы. При выполнении основных арифметических операций в формате с плавающей запятой необходимо выполнять операции над порядками, затем над мантиссами чисел.
Операции сложения, вычитания чисел, представленных в формате с плавающей запятой, выполняются по следующему алгоритму:
1) осуществляется сравнение порядков путем вычитания их как целых чисел;
2) производится выравнивание мантиссы числа с меньшим порядком в сторону числа с большим порядком;
3) производится алгебраическое сложение или вычитание мантисс чисел;
4) в случае получения левой или правой денормализации мантиссы производится нормализация результата. Нормализация осуществляется с помощью операций сдвига вправо на один разряд и серии сдвигов влево до получения значащей цифры после запятой.
Операция умножения чисел с плавающей запятой выполняется в следующей последовательности:
1) находится знак произведения при помощи операции суммы по модулю два знаковых разрядов мантисс чисел;
2) выполняется сложение порядков сомножителей;
3) находится произведение мантисс сомножителей по алгоритму произведения чисел с фиксированной запятой, т.е. умножением младшими разрядами множителя со сдвигом суммы частичных произведений влево;
4) при получении денормализации осуществляется нормализация результата путем сдвига произведения влево до получения значащей цифры после запятой.
Операция деления чисел в формате с плавающей запятой выполняется по следующему алгоритму:
1) определяется знак частного с помощью операции суммы по модулю два знаковых разрядов мантисс делимого и делителя;
2) вычитаются порядки чисел по правилам вычитания операндов с фиксированной запятой. Из порядка делимого вычитается порядок делителя. При возникновении денормализации результата выполняется операции сдвига, тем самым осуществляется нормализация результата;
3) находится частное мантисс делимого и делителя по алгоритму деление чисел без восстановления остатков в формате чисел с фиксированной запятой. Для определения следующей цифры частного необходимо сдвинуть текущий остаток влево на один разряд, а затем алгебраически прибавить к нему модуль делителя, которому приписывается знак, противоположный знаку текущего остатка. Знак остатка определяет следующую цифру частного: если остаток положительный, то в частном записывается 1, если отрицательный, то записывается 0. Операция сдвигов и алгебраических сложений повторяется до тех пор, пока в частном не получится требуемое количество цифр;
4) нормализация частного при помощи операций сдвига.
На фиг.2 изображена структурная схема арифметико-символьного процессора.
На фиг.3 изображена структурная схема блока выполнения арифметических операций.
На фиг.4 представлен вариант технической реализации блока ввода чисел и кода операций.
На фиг.5 представлен вариант технической реализации блока операций, выполняющий вычисления с фиксированной запятой.
На фиг.6 представлен вариант технической реализации блока операций, выполняющий вычисления с плавающей запятой.
Блок выполнения арифметических операций (фиг.2) содержит: блок ввода чисел, блок операций с фиксированной запятой, блок операций с плавающей запятой, блок хранения результата, блок управления арифметическими операциями, пороговые элементы, нейроны.
Для описания алгоритма работы блоков 13 управления работой арифметико-символьного процессора и блока 18 управления выполнения арифметическими операциями используются следующие идентификаторы:
1. ОКРАСП - сигнал окончания работы арифметико-символьного процессора.
2. НЧРАСП - сигнал начало работы арифметико-символьного процессора.
3. СБРОСБВАО - сигнал сброса в нулевое состояние всех элементов памяти блока выполнения арифметичеких операций.
4. ПУСКБВАО - сигнал пуска работы блока выполнения арифметических операций.
5. СБРОСБППЗ - сигнал сброса в нулевое состояние всех элементов памяти блока параллельного поиска и замены.
6. ПУСКБППЗ - сигнал пуска работы блока параллельного поиска и замены.
7. СБРОСБВЛО - сигнал сброса в нулевое состояние всех элементов памяти блока выполнения логических операций.
8. ПУСКБВЛО - сигнал пуска работы блока выполнения логических операций.
9. ВХБВАО - входной информационный сигнал блока выполнения арифметических операций.
10. ВХБППЗ - входной информационный сигнал блока параллельного поиска и замены.
11. ВХБВЛО - входной информационный сигнал блока выполнения логических операций.
12. ВЫХБВАО - выходной информационный сигнал блока выполнения арифметических операций.
13. ВЫХБППЗ - выходной информационный сигнал блока параллельного поиска и замены.
14. ВЫХБВЛО - выходной информационный сигнал блока выполнения логических операций.
15. Резул - результат операций арифметико-символьного процессора, входной информационный сигнал блока хранения результатов.
16. ВыхДн - выходной информационный сигнал блока хранения результатов из ОЗУ блока.
17. УС"0"БХР - установка в нулевое значение триггеров блока хранения результатов.
18. ОББХР - сигнал обнуления триггеров блока хранения результатов.
19. ТИБХР - тактовые импульсы блока хранения результатов.
20. ГНБХР - генератор прямоугольных импульсов блока хранения результатов.
21. ВКБХР - сигнал выбора кристала ОЗУ блока хранения результатов.
22. Зп/СчБХР - сигнал записи/считывания информации из ОЗУ блока хранения результатов.
23. БВЧКО - блок ввода чисел и кода операции.
24. БОФЗ - блок выполнения операций с фиксированной запятой.
25. БОПЗ - блок выполнения операций с плавающей запятой.
26. БХР - блок хранения результатов.
27. БУАСП - блок управления арифметико-символьным процессором.
28. БРгПЧ - блок регистра первого числа.
29. БСВ - блок сумматора-вычитателя.
30. БРгВЧ - блок регистра второго числа.
31. БФЗР - блок формирования знакового разряда.
32. БРгРЕЗ - блок регистра результата.
33. ВХЧ - входные числа.
34. ЗРПЧ - знаковый разряд первого числа.
35. ЗРВЧ - знаковый разряд второго числа.
36. ЗЗР - знаковый разряда большего по модулю числа.
37. ЗРРЗ - знаковый разряд результата.
38. РЕЗ - окончательный результат.
39. ПЧ - первое число.
40. ВЧ - второе число.
41. ОСТ - остаток при делении.
42. ПДЧ - признак дробной части при делении.
43. ЦДЧ - целая и дробная часть результата при делении.
44. УПР - сигналы управления в блок регистра результата.
45. СУП - сигналы управления (обнуление, синхронизация, разрешение записи, сдвига) блока регистра второго числа.
46. УП - сигналы управления блока регистра первого числа (обнуление, синхронизация, разрешение записи).
47. РФЗ - результат с фиксированной запятой.
48. РМН - разряд множителя при умножении.
49. КОП - код операции (СУМ, ВЫЧ, ДЕЛ, УМН).
50. УМН - операция умножение.
51. ДЕЛ - операция деление.
52. ЗрОСТ - знаковый разряд остатка при делении чисел.
53. ППР - признак пустого регистра второго числа.
54. ВХД - выходные данные блока ввода чисел и кода операции.
55. РПЗ - результат с плавающей запятой.
56. РРФЗ - разрешение работы блока с фиксированной запятой.
57. КРБФЗ - конец работы блока с фиксированной запятой.
58. РРПЗ - разрешение работы блока с плавающей запятой.
59. КРБФЗ - конец работы блока с фиксированной запятой.
60. ОРБПЗ - окончание работы блока с плавающей запятой.
61. ГИ - генератор прямоугольных импульсов.
62. ТИ - тактовые импульсы.
63. ВК - сигнал выбора кристалла.
64. Зп/Сч - сигнал записи/считывания информации из ОЗУ.
65. ВХЧМН - входные числа мантисс в арифметике с плавающей запятой.
66. ВХЧПР - входные порядки чисел с плавающей запятой.
67. СНМН - сигнал нормализации мантиссы.
68. РПЗПР - результат с плавающей запятой порядков.
69. РПЗМН - результат с мантисс с плавающей запятой.
70. СВ - признак операций суммирование или вычитание.
71. БУОФЗ - блок управления операциями с фиксированной запятой.
72. БУАО - блок управления устройством для выполнения арифметических операций.
73. БХРАО - блок хранения результатов арифметических операций.
74. БОПРПЗ - блок выполнения операций порядков с плавающей запятой.
75. БОМПЗ - блок выполнения операций с плавающей запятой.
Работа блока выполнения арифметических операций заключается в следующем.
Внешние управляющие сигналы СБРОСАСП и ПУСКАСП поступают в блок 5 управления арифметико-символьного процессора.
Предлагаемый блок выполнения арифметических операций выполняет операции: суммирование, вычитание, умножение и деление в параллельном формате. Определяется перенос в старшие разряды при суммировании, который необходимо учитывать при сложении чисел. Вычисляется заем из старших разрядов в младшие при вычитании. Умножение выполнятся младшими разрядами множителя со сдвигом суммы частичных произведений влево. Операция деление осуществляется по алгоритму деление чисел без восстановление остатков.
Арифметико-символьный процессор содержит: блок выполнения арифметических операций БВАО, блок параллельного поиска и замены в обрабатываемых словах БППЗОС, блок выполнения логических операций БВЛО, блок хранения результатов БХР, блок управления арифметико-символьного процессора БУАСП (фиг.2). БВАО - блок выполнения арифметических операций служит для выполнения операций с фиксированной и плавающей запятой. БППЗОС - блок параллельного поиска и замены служит для выполнения поисковых операций и функции замены в обрабатываемых словах. БВЛО - блок выполнения логических операций служит для выполнения логических операций: конъюнкция, дизъюнкция, инверсия, ИСКЛЮЧАЮЩЕЕ ИЛИ. БХР - блок хранения результатов служит для записи и хранения результатов выполнения арифметических, поисковых и логических операций. БУАСП - блок служит для управления устройством. Выходные информационные сигналы блоков: ВЫХБВАО - выходной информационный сигнал блока выполнения арифметических операций, ВЫХБППЗ - выходной информационный сигнал блока параллельного поиска и замены, ВЫХБВЛО - выходной информационный сигнал блока выполнения логических операций по замкнутой шине подаются на входы каждого блока арифметико-символьного процессора. Циклическая передача информации обеспечивает выполнение сложных задач по выполнению арифметических операций, операций поиска и замены, а также логических операций. Результаты выполнения каждого блока поступают также на входы блока хранения результатов БХР. Входным информационным сигналом Резул является результат выполнения операций специализированных вычислительных модулей, который поступает на вход блока хранения результатов. Выходной информационный сигнал Задан является выходом из кольцевой информационной шины, а также заданием для выполнения операций на специализированных вычислительных модулях системы. Выходной информационный сигнал ВыхДн - выходная информация является выходом блока хранения результатов (фиг.2).
Блок 9 выполнения арифметических операций БВАО содержит: блок ввода чисел и кода операций БВЧКО, блок операций с фиксированной запятой БОФЗ, блок операций с плавающей запятой БОПЗ, блок хранения результата арифметических операций БХРАО, блок управления арифметическими операциями БУАО (фиг.3). Входным информационным сигналом является сигнал ВХБВАО - входной информационный сигнал блока выполнения арифметических операций. Выходной информационный сигнал ВЫХБВАО - результат арифметических операций - является выходным сигналом блока выполнения арифметических операций.
Блок 14 ввода чисел и кода операций БВЧКО содержит шифратор (обычная стандартная клавиатура) ШФ и дешифратор ДШКОП (фиг.3, 4). Этот блок позволяет вводить двоичные числа и дешифрировать код операций, т.е. распознать, какую операцию необходимо выполнить блоку выполнения арифметических операций - сложение, вычитание, умножение, деление. С выхода шифратора формируется двоичный код чисел со своими знаками: ЗpiПЧ, ЗpiBЧ, ЗРПЧ, ЗРВЧ в виде информационного сигнала ВХЧ. Двоичные разряды с выхода шифратора поступают на вход регистров первого и второго числа. С выхода дешифратора кода операций ДШКОП (фиг.4) формируется информационный сигнал КОП - код операций, который поступает на вход блока формирования знакового разряда БФЗР (фиг.5). В зависимости от кода операции блок выполнения арифметических операций выполняет соответствующую арифметическую операцию. Выходным информационным сигналом блока 14 БВЧКО является сигнал ВХД - выходные данные.
Блок 15 операций с фиксированной запятой БОФЗ содержит: блок 21 формирования знакового разряда результата - БФЗР, блок 22 регистра первого числа - БРгПЧ, блок 23 сумматора-вычитателя - БСВ, блок 24 регистра второго числа - БРгВЧ, блок 25 регистра результата - БРгРЕЗ, блок 26 управления операциями с фиксированной запятой - БУОФЗ (фиг.3, 5). Основная функция этого блока заключается в вычислении результата и формировании знакового разряда результата при выполнении операций умножения и деления, а также определения типа операций: сложение или вычитание. На информационные входы блоков 22 и 24 регистров первого и второго числа поступают входные операнды ВХЧ из блока 14 ввода чисел (фиг.3, 4,5). В случае выполнения операций умножения или деления этот блок по операции суммы по модулю два определяет знаковый разряд результата - ЗРРЗ, поступающий на вход блока 25 регистра результата ЗРРЗ=ЗРПЧ ⊕ ЗРВЧ, где ЗРПЧ - знаковый разряд первого числа, ЗРВЧ - знаковый разряд второго числа. Если блок выполнения арифметических операций выполнял операции сложения или вычитания, то знаковый разряд результата ЗЗР формируется в блоке 23 сумматора-вычитателя и поступает на вход блока 21 формирования знакового разряда. На управляющие входы блоков 22, 24, 25 регистра первого числа, второго числа, результата из блока 26 управления операциями с фиксированной запятой поступают соответственно информационные сигналы: УП на блок 22 регистра первого числа, СУП на блок 24 регистра второго числа, УПР на блок 25 регистра результата. По приходу сигналов осуществляется обнуление регистров этих блоков, синхронизация по записи информации, а также сигналы сдвига в блоки регистров первого и второго числа. На входы блока 23 сумматора-вычитателя поступают двоичные коды чисел ПЧ - первое число и ВЧ - второе число для выполнения операций сложения, вычитания, умножения и деления. На вход блока 23 сумматора-вычитателя из блока 21 формирования знакового разряда поступают управляющие сигналы: СВ - суммирование-вычитание для управления по выполнению операций суммирование или вычитание и УМН - умножение для выполнения операции произведение чисел. Из блока 23 сумматора-вычитателя выходной управляющий сигнал ЗрОСТ - знаковый разряд остатка - поступает на вход блока 21 формирования знакового разряда и на вход блока 25 регистра результата для определения признака операции - сигнала СВ и очередной цифры частного при выполнении операции деление. Выходным управляющим сигналом блока 23 сумматора-вычитателя является сигнал ЗЗР - знаковый разряд, который поступает на вход блока 21 для формирования окончательного знака результата. Выходной сигнал блока 23 сумматора-вычитателя ОСТ - остаток - поступает на вход блока 22 регистра первого числа, формирование этого сигнала необходимо при выполнении операции деления. Выходной информационный сигнал РЕЗ является результатом операций, который поступает на вход блока 25 регистра результата. Выходным информационным сигналом блока 25 регистра результата является сигнал РФЗ - результат с фиксированной запятой. С входа блока 22 регистра первого числа на вход блока 26 управления операциями с фиксированной запятой поступает управляющий сигнал ПДЧ - признак дробной части при делении, который является признаком конца целой части двоичного первого числа. При поступлении этого сигнала на блок управления необходимо установить знак, отделяющий целую часть числа от дробной в блоке 25 регистра результата. На вход блока 25 регистра результата поступает с выхода блока 26 управления операциями с фиксированной запятой признак целой и дробной части результата при делении - ЦДЧ, который формирует позицию, отделяющую целую часть от дробной (точку или запятую). На вход блока 21 формирования знакового разряда поступает информационный сигнал КОП - код операции сложения, вычитания, умножения и деления, этот сигнал поступает на вход блока 26 управления операциями с фиксированной запятой для анализа и генерации соответствующих управляющих сигналов, поступающих на входы блоков. С выхода блока 24 регистра второго числа выходит управляющий сигнал РМН, соответствующий значению двоичного разряда второго числа при выполнении операции умножения вычислителем, который поступает на вход блока 22 регистра первого числа. При РМН, равном нулю, происходит сдвиг двоичного числа блока 22 регистра первого числа на один разряд влево, если сигнал РМН равен единице, то блок 23 суммирования-вычитания принимает значение из блока 22 регистра первого числа. Выходной управляющий сигнал ППР - признак пустого регистра - поступает на вход блока 26 управления операциями с фиксированной запятой. Этот сигнал принимает значение единицы, если в регистре второго числа имеется хотя бы один двоичный разряд, равный единице. Внешними входными сигналами блока 26 управления операциями с фиксированной запятой являются управляющие сигналы: РРБФЗ - разрешения работы блока операций с фиксированной запятой и КРБФЗ - конец работы блока операций с фиксированной запятой (фиг.5).
Блок 16 операций с плавающей запятой БОПЗ выполняет арифметические операции с плавающей запятой как с порядками, так и мантиссами двоичных чисел (фиг.3, 6). Этот блок состоит из двух блоков: 1) блока 27 определения операций порядков с плавающей запятой - БОПРПЗ, в котором выполняются арифметические операции над порядками двоичных чисел, 2) блока 28 определения операций мантисс с плавающей запятой - БОМПЗ, в котором выполняются арифметические операции над мантиссами двоичных чисел. Внешними входными сигналами блока 16 БОПЗ операциями с плавающей запятой являются сигналы: информационный сигнал ВХД, который является выходными данными блока ввода чисел и кода операции. Этот сигнал состоит из информационных сигналов: входные порядки чисел с плавающей запятой ВХЧПР, который поступает на вход блока 27 определения операций порядков с плавающей запятой - БОПРПЗ и входные числа мантисс в арифметике с плавающей запятой ВХЧМН, поступающий на вход блока 28 определения операций мантисс с плавающей запятой БОМПЗ. Внутренним управляющим сигналом является сигнал нормализации мантиссы СНМН, поступающий с выхода блока 28 БОМПЗ на вход блока 27 БОПРПЗ. Выходным информационным сигналом блока определения операций порядков с плавающей запятой БОПРПЗ является сигнал РПЗПР - результат с плавающей запятой порядков. Выходным информационным сигналом блока 28 определения операций мантисс с плавающей запятой - БОМПЗ является сигнал РПЗМН - результат с мантисс с плавающей запятой. Выходным информационным сигналом блока 16 операций с плавающей запятой БОПЗ является сигнал РПЗ - результат с плавающей запятой, который состоит из информационных сигналов: РПЗПР - результат с плавающей запятой порядков и РПЗМН - результат с мантисс с плавающей запятой. Входными управляющими сигналами блока БОПЗ являются: сигнал РРПЗ - разрешения работы блока операций с плавающей запятой, по приходу этого сигнала осуществляется операция пуска цифрового устройства и сигнал ОРБПЗ - конец работы блока операций с плавающей запятой, по этой команде заканчивается работа устройства (фиг.6).
Блок хранения результата арифметических операций БХРАО предназначен для хранения результатов с фиксированной и с плавающей запятой. Результаты записываются по сформированным адресам двоичных счетчиков в оперативное запоминающее устройство блока. Блок 17 хранения результата арифметических операций - БХРАО содержит логическую схему ИЛИ, двоичный счетчик Сч1, формирующий адреса столбцов в ОЗУ, двоичный счетчик Сч2, формирующий адреса строк в ОЗУ, оперативное запоминающее устройство ОЗУ (фиг.3). Входные информационные сигналы блока РФЗ - результат с фиксированной запятой и РПЗ - результат с плавающей запятой поступают на вход логической схемы ИЛИ. Выходной сигнал схемы ИЛИ поступает на вход оперативного запоминающего устройства ОЗУ. Перед началом работы системы происходит обнуление двоичных счетчиков Сч1 и Сч2 входным сигналом ВК - выбор кристалла, поступающего из блока 18 управления арифметическими операциями. На суммирующие входы двоичных счетчиков Сч1 и Сч2 поступают прямоугольные импульсы ГИ и ТИ соответственно из блока 18 управления арифметическими операциями. Двоичные счетчики формируют адреса, по которым записываются данные в ОЗУ блока. Входной сигнал ВК - выбор кристалла, равный нулю, поступает на вход оперативного запоминающего устройства и формирует работу ОЗУ для записи информации. Входной сигнал Зп/Сч - запись-считывание, равный нулю, формирует работу оперативного запоминающего устройства в режиме записи информации. Выходной информационный сигнал ВЫХБВАО - результат блока арифметических операций - является выходным сигналом блока 17 хранения результатов арифметических операций (фиг.3).
Блок 18 управления арифметическими операциями синтезируется на основе граф схемы алгоритма ГСА управления известным способом [6].
Блок параллельного поиска и замены в обрабатываемых словах ППЗВОС
Блок параллельного поиска и замены в обрабатываемых словах содержит: блок 29 памяти вхождений, блок 30 анализа поиска, блок 31 памяти замены, блок 32 памяти обрабатываемых слов, блок 33 замены, блок 34 хранения результата поиска и замены, блок 35 управления поиска и замены (фиг.7).
На фиг.7 изображена структурная схема блока параллельного поиска и замены в обрабатываемых словах. На ней представлены:
БПВХ - блок памяти вхождений служит для записи, хранения и выдачи вхождений - цепочки символов, которые необходимо обнаружить в обрабатываемом слове.
БАП - блок анализа поиска служит для анализа поисковой операции, определения способа поиска вхождений в обрабатываемом слове, а также определения адреса вхождения.
БПЗМ - блок памяти замены служит для записи, хранения и выдачи замены в регистры блока регистров результата замены.
БПОС - блок памяти обрабатываемых слов служит для записи, хранения и выдачи обрабатываемых слов, с которыми необходимо проводить поисковые операции.
БЗАМ - блок замены служит для выполнения операций: 1) записи символа обрабатываемого слова в случае отрицательного сравнения, 2) записи замены в регистры блока регистров результата замены, если произошло положительное сравнение в блоке компараторов.
БХРПЗ - блок хранения результатов служит для записи и хранения в нем адресов вхождений в обрабатываемых словах и результатов выполнения операций замены.
БУПЗ - блок управления памяти и замены служит для генерации управляющих сигналов первого специализированного вычислительного модуля.
Процессы поиска вхождений в обрабатываемом слове можно выполнить как в последовательном, так и в параллельном режимах символьной обработки. Формировать новое слово возможно с помощью операций замены, а также левой или правой конкатенации.
При выполнении операций поиска вхождений в обрабатываемом слове необходимо достигнуть высокой скорости поиска и замены.
Поиск вхождений в обрабатываемом слове может быть осуществлен в двух режимах работы устройства: 1) определение вхождений, имеющих общие части, 2) определение вхождения без общих частей. Такая процедура поиска, которая удовлетворяет поставленным требованиям, называется корректной.
В блоке применяются оперативные запоминающие устройства, в которых хранится информация. Вхождение, обрабатываемое слово и замена переписываются из памяти в сдвигающие регистры. Процессы записи и считывание информации в регистры могут быть следующие: параллельный ввод - параллельный вывод, используется в регистре для хранения вхождений, последовательный ввод - последовательный вывод, используется для в регистре для хранения замены, а также последовательный ввод - параллельно-последовательный вывод, используется для хранения в регистре обрабатываемого слова. В вычислительном модуле применяются элементы нейронной и пороговой логики.
В предлагаемом устройстве поиск вхождений в обрабатываемом слове выполняется в параллельном режиме. Все символы вхождения параллельно поступают на первые входы компараторов. На вторые входы, также параллельно, узла сравнения поступают символы обрабатываемого слова. В блоке параллельного поиска и замены применены три регистра - регистр вхождения, регистр обрабатываемого слова и регистр замены. Длина регистров, в которых хранятся вхождение и обрабатываемое слово, а также количество компараторов, в которых происходит сравнение символов, одинаковая. Если произошло положительное сравнение, то на выходе компараторов формируется единичное значение. В этом случае в обрабатываемом слове найдено вхождение. В случае работы устройства в режиме поиска определяется адрес вхождения. Если блок работает в режиме поиска и замены, то в регистр замены записывается цепочка символов - замена. Обрабатываемое слово не изменяется в процессе замены. Если произошло отрицательное сравнение, то необходимо сдвинуть обрабатываемое слово на один разряд влево и сравнить следующую серию символов, равную по количеству символам вхождения. Процесс сдвига обрабатываемого слова в регистре выполняется до определения признака конца обрабатываемого слова. Символ в результате левого сдвига записывается в регистр замены. В регистр замены записываются символы обрабатываемого слова в результате операции левого сдвига регистра или буквы замены в режиме работы устройства поиска и замены. В устройстве осуществляются операции левой и правой конкатенации.
Для описания алгоритма работы устройства и блока 35 управления поиска и замены используются следующие идентификаторы:
76. УВХ - сигналы управления оперативным запоминающим устройством блока памяти вхождений: обнуление, выбор кристалла, режим записи/считывания.
77. АдВХ - адреса столбцов и строк оперативного запоминающего устройства блока памяти вхождений.
78. ДВХ - данные, записанные в оперативное запоминающее устройство блока памяти вхождений.
79. ВХ - выходные данные из оперативного запоминающего устройства блока памяти вхождений.
80. УОС - сигналы управления оперативным запоминающим устройством блока памяти обрабатываемых слов: обнуление, выбор кристалла, режим записи/считывания.
81. АдОС - адреса столбцов и строк оперативного запоминающего устройства блока памяти обрабатываемых слов.
82. ДОС - данные, записанные в оперативное запоминающее устройство блока памяти обрабатываемых слов.
83. ОС - выходные данные из оперативного запоминающего устройства блока памяти обрабатываемых слов.
84. УЗМ - сигналы управления оперативным запоминающим устройством блока памяти замен: обнуление, выбор кристалла, режим записи/считывания.
85. АдЗМ - адреса столбцов и строк оперативного запоминающего устройства блока памяти замен.
86. ДЗМ - данные, записанные в оперативное запоминающее устройство блока памяти замен.
87. ЗМ - выходные данные из оперативного запоминающего устройства блока памяти замен.
88. УПРВ - управляющие сигналы: обнуление, синхроимпульсы, сигналы, формирующие режимы работы регистров, блока регистров вхождений блока анализа поиска.
89. УПРС - управляющие сигналы: обнуление, синхроимпульсы, сигналы, формирующие режимы работы регистров, блока регистров обрабатываемых слов блока анализа поиска.
90. РСР - выходной двоичный сигнал из блока анализа поиска, который определяет результат сравнения символов вхождения и обрабатываемого слова.
91. ОТИ - отпирающий импульс - управляющий сигнал из блока управления, поступающий на входы логических схем И блока анализа поиска для подсчета сигналов сдвига при определении адресов вхождений в обрабатываемом слове.
92. ПОЧ - признак работы устройства с общими частями, двоичный сигнал блока анализа поиска, определяющий режим работы устройства: 1) поиск вхождений с общими частями; 2) поиск вхождений без общих частей в обрабатываемом слове.
93. ОБС - информационный сигнал, поступающий из блока управления на входы R1, R2, R3 - установки в нулевое состояние двоичных счетчиков блока анализа поиска.
94. АДВ - выходной информационный сигнал блока анализа поиска, определяющий адреса вхождений в обрабатываемом слове.
95. БОЧ - двоичный сигнал блока анализа поиска, определяющий режим работы устройства поиска вхождений в обрабатываемом слове без общих частей
96. ОС1 - символ обрабатываемого слова первого регистра Рг1 блока регистров обрабатываемого слова.
97. ПКОС - признак конца символов обрабатываемого слова, нулевая информация 00…0.
98. УКЛ - управляющий сигнал блока управления, поступающий на управляющие входы схем И блока замены.
99. УРЗМ - информационный сигнал: обнуление, синхроимпульсы, разрешение записи и выдачи информации, поступающий на управляющие входы блока регистров результата замены.
100. РЗ - выходной информационный сигнал - результат замены, поступающий с выхода блока регистров результата замены.
101. УЗАМ - информационный сигнал блока управления: обнуление, синхроимпульсы, разрешение записи и выдачи информации, поступающий на управляющие входы регистров блока регистров замены.
102. ГИ - генератор импульсов, поступающий из блока управления на суммирующий вход (+) двоичного счетчика Сч1 блока хранения результата.
103. ТИ - тактовые импульсы, поступающие из блока управления на суммирующий вход (+) двоичного счетчика Сч2 блока хранения результата.
104. ОБ - команда обнуления двоичного счетчика Сч1 блока хранения результата.
105. УС "0" - команда обнуления двоичного счетчика Сч2 блока хранения результата.
106. ВК - команда выбора кристалла оперативного запоминающего устройства ОЗУ блока хранения результата.
107. Сч/Зп - команда считывания/записи оперативного запоминающего устройства ОЗУ блока хранения результата.
108. СБРОСБППЗ - сигнал сброса - обнуление элементов памяти устройства выполнения параллельного поиска и замены.
109. ПУСКБППЗ - сигнал начало работы устройства.
Работа блока параллельного поиска и замены в обрабатываемых словах БППЗВОС заключается в следующем (фиг.7).
Внешние управляющие сигналы СБРОСБППЗ и ПУСКБППЗ поступают в блок 35 управления поиска и замены. В блок памяти обрабатываемых слов в оперативное запоминающее устройство блока будут записаны обрабатываемые слова. В этих словах необходимо обнаружить вхождения. В блок памяти вхождений в оперативное запоминающее устройство блока записываются вхождения - символы, которые нужно найти в обрабатываемом слове. Символы вхождений и обрабатываемых слов поступают на вход компараторов параллельно. При операциях левой или правой конкатенации к обрабатываемому слову присоединяются слева или справа вхождения. Если устройство работает в режиме поиска вхождений в обрабатываемых словах, то при обнаружении символов, положительном сравнении компараторов, вычисляется адрес - местоположение вхождений в обрабатываемых словах. Эти адреса записывается в блок хранения результата. В случае работы устройства в режиме поиска и замены, при обнаружении вхождений в обрабатываемых словах осуществляется операция замены. Операция записи замены выполняется в третий регистр - регистр замены. Если вхождение не обнаружено, то символы обрабатываемого слова под управлением сигналов сдвига влево информации на один разряд записываются так же в третий регистр замены. В третий регистр сдвига будут записаны символы замены в случае обнаружения вхождений в обрабатываемых словах или символы обрабатываемых слов, если на выходе компараторов установился отрицательный результат.
Блок 29 памяти вхождений БПВХ содержит оперативное запоминающее устройство ОЗУ, в котором записаны цепочки символов - вхождения. Входной информационный вход блока УВХ состоит из управляющих сигналов: выбора кристалла микросхемы и режима записи - считывания информации из ОЗУ блока. Адресными входами ОЗУ - сигнал АдВХ - являются адреса столбцов и строк, по которым записываются данные в блок памяти. Информационными данными ДВХ являются данные вхождений, которые поступают на информационные входы оперативного запоминающего устройства блока памяти. По сигналам выбора кристалла и разрешения записи УВХ, а также по адресным входам АдВХ данные вхождений записываются в оперативное запоминающее устройство блока памяти. Выходным информационным сигналом блока является сигнал ВХ - вхождения, который поступает на вход блока 30 анализа памяти (фиг.7).
Блок 30 анализа поиска БАЛ содержит: блок регистров вхождений, блок регистров обрабатываемых слов, двоичный n-разрядный компаратор, выполненный на нейронах, логическую схему И, комбинационную схему формирования адреса вхождения - КСхФА, комбинационную схему, определяющую режим работы устройства без общих частей БОЧ - КСхОЧ. Функции блока анализа поиска заключаются в записи, хранении и выдачи символов в двоичном эквиваленте вхождений и обрабатываемых слов, в поразрядном сравнении символов вхождений и обрабатываемых слов в компараторе, формировании адреса вхождений в обрабатываемых словах, а также определении режима работы устройства без общих частей БОЧ. Входным информационным сигналом, формирующим режим работы блока регистров вхождений устройства, является сигнал УПРВ. Этот сигнал поступает на управляющие входы блока регистров вхождений из блока 35 управления поиска и замены. В состав этого сигнала входят управляющие сигналы, которые определяют режим работы блока: разрешение записи, хранения и выдача двоичных разрядов вхождений, сигнал обнуления регистров, сигнал сдвига влево информации, синхроимпульсы. На информационные входы регистров блока поступают данные - вхождения ВХ из блока памяти вхождений. Выходной информационный сигнал блока регистров вхождений поступает на первые входы схем сравнений - компараторов. Входным информационным сигналом блока регистров обрабатываемого слова является сигнал - УПРС, который поступает на управляющие входы регистра блока регистров обрабатываемых слов из блока 35 управления поиска и замены. Этот сигнал состоит из управляющих сигналов, формирующих режимы работы регистров: разрешения записи, хранения и выдачи информации из регистров блока, сигнал сдвига влево информации на один разряд, синхроимпульсы, сигналы обнуления регистров. На информационные входы регистров блока регистров обрабатываемых слов поступает информационный сигнал ОС - обрабатываемые слова из блока памяти обрабатываемых слов. Выходной информационный сигнал регистров блока регистров обрабатываемых слов поступает на вторые входы схем сравнений - компараторов. На входы компараторов - схем сравнений - поступают поразрядно символы вхождений и обрабатываемых слов в двоичном эквиваленте. Выходные сигналы компараторов поступают на входы логической схемы И. Компараторы работают в режиме равенства входных величин. Схемы сравнений выполнены на сумматорах по модулю два. Выходной сигнал сравнения - РСР блока анализа поиска будет равен единичному значению только в том случае, когда входные величины символов вхождения и обрабатываемого слова будут равны между собой. Это означает равенство символов вхождения с фрагментом обрабатываемого слова. Единичное значение сигнала РСР означает то, что вхождение найдено в обрабатываемом слове. В этом случае формируется адрес вхождения в обрабатываемом слове в режиме поиска работы устройства или записывается замена в регистры блока результата замены в режиме поиска и замены работы устройства. Если на выходе схемы И сигнал РСР равен нулевому значению, то равенство входных величин на входах компараторов не произошло, в этом случае необходимо сдвинуть обрабатываемое слово на один разряд влево, затем анализировать результат сравнения символов вхождения и следующего фрагмента обрабатываемого слова. Выходным управляющим сигналом блока является сигнал - признак конца символов обрабатываемого слова - ПКОС, который поступает на управляющий вход блока 35 управления поиска и замены. Если признак конца обрабатываемого слова ПКОС равен единичному значению, то это означает, что не все символы обрабатываемого слова просмотрены, в регистрах блока регистров обрабатываемого слова еще имеется двоичная информация. В случае равенства этого сигнала нулевому значению, это означает, что все символы обрабатываемого слова просмотрены. В регистрах блока регистров обрабатываемого слова информации нет - регистры "пусты". Выходным информационным сигналом блока является символ обрабатываемого слова, поступающий с выхода первого регистра Рг1 блока регистров обрабатываемого слова - ОС1, который поступает на вход блока замены. Этот символ будет записан в регистр блока регистров замены в случае отрицательного сравнения входных величин в компараторах блока. В состав блока анализа поиска входит комбинационная схема формирования адреса вхождения - КСхФА. На выходе этой комбинационной схемы определяется информационный сигнал - адрес вхождения в обрабатываемом слове - АДВ, который поступает на вход блока хранения результата. Управляющим сигналом, поступающим на вход комбинационной схемы формирования адреса блока анализа поиска из блока 35 управления поиска и замены, является сигнал ОТИ - отпирающий импульс. Этот сигнал поступает на управляющие входы логических схем И. Первая схема И на элементе имеет инверсный управляющий вход, вторая схема И имеет прямой управляющий вход. На информационный вход первой схемы И поступает сигнал СО - сдвига влево на один разряд с входов регистров блока регистров обрабатываемого слова. На информационный вход второй схемы И поступает сигнал СВ - сдвига влево на один разряд с входов регистров блока регистров вхождений. Выходные сигналы логических схем И поступают на входы схемы ИЛИ. Выходной сигнал схемы ИЛИ поступает на суммирующий вход двоичного счетчика адреса СчА. На выходе счетчика СчА будет определен адрес вхождения в обрабатываемом слове. Адрес формируется из суммы сигналов сдвига влево - вначале при загрузки в регистр вхождения, затем при поиске регистра обрабатываемого слова. Предварительно двоичный счетчик адреса СчА будет обнулен сигналом установки в нуль - ОБС, поступающим из блока 35 управления поиска и замены на вход R1 - установки в нулевое состояние двоичного счетчика. Вначале сигнал ОТИ - отпирающий импульс - равен единичному значению. В этом случае первая схема И будет заперта - сигнал поступает на инверсный управляющий вход, а вторая схема И будет открыта, так как сигнал поступает на прямой управляющий вход. Количество сигналов сдвига влево регистра вхождения через открытую схему И, схему ИЛИ поступает на суммирующий вход двоичного счетчика СчА. Количество сигналов сдвига СВ будет соответствовать количеству символов вхождения. После этого отпирающий импульс ОТИ устанавливается в нулевое состояния. В результате этого первая схема И будет открыта, так как сигнал подается на инверсный вход схемы, а вторая схема И будет заперта, так как сигнал подается на прямой вход схемы. В этом случае сигналы сдвига влево регистра обрабатываемого слова через открытую первую схему И, схему ИЛИ поступают на суммирующий вход двоичного счетчика СчА. В счетчике происходит подсчет количества сигналов сдвига влево регистра обрабатываемого слова. В результате этих процедур на выходе двоичного счетчика будет сформирован адрес вхождения в обрабатываемом слове, то есть местоположения определенного фрагмента в полной цепочке символов обрабатываемого слова. Комбинационная схема, определяющая режим работы устройства без общих частей КСхОЧ, содержит: логическую схему И, суммирующий двоичный счетчик СчС, вычитающий счетчик СчВ, логическую схему ИЛИ. Режим работы устройства без общих частей производит поиск в обрабатываемых словах, не имеющих общих символов между предыдущим и последующим вхождениями. Для формирования этого режима работы в случае обнаружения вхождения в обрабатываемом слове необходимо сдвинуть обрабатываемое слова влево на m разрядов влево, где m - количество букв вхождения. Предварительно двоичные счетчики СчС и СчВ будут обнулены сигналами ОБС, поступившими из блока 35 управления поиска и замены. На входы обнуления R2 и R3 счетчиков соответственно поступают сигналы установки в нулевое состояние элементов. Если устройство работает в режиме поиска вхождений без общих частей, то сигнал из блока 35 управления поиска и замены ПОЧ - признак работы с общими частями - принимает значение единице. Управляющий сигнал ПОЧ поступает на прямой управляющий вход электронного ключа схемы И, открывая ее. Через открытую схему И сигналы сдвига влево СВ вхождений поступают на суммирующий вход двоичного счетчика СчС. В счетчике СчС будет подсчитано количество символов вхождения. Выходы суммирующего счетчика СчС поступают на входы D1-Dx вычитающего счетчика СчВ. В результате этой операции происходит предварительная установка вычитающего счетчика СчВ в двоичное значение, равное количеству символов вхождения. На вычитающий вход счетчика СчВ поступают сигналы сдвига влево СО обрабатываемого слова. На выходе вычитающего счетчика СчВ вычисляется разность между количеством символов вхождения и поступившими сигналами сдвига обрабатываемого слова. Логическая схема ИЛИ определяет нулевое значение сигнала БОЧ - признака работы устройства без общих частей. Если сигнал БОЧ равен нулевому значению, то это означает, что обрабатываемое слово сдвинуто на m разрядов влево, где m - количество символов вхождения. В результате этой операции необходимо продолжить операцию сравнения символов вхождения и обрабатываемого слова. Выходной управляющий сигнал БОЧ - признак работы без общих частей блока анализа поиска - поступает на управляющий вход блока 35 управления поиска и замены.
Блок регистров вхождений БРгВХ содержит n универсальных восьмиразрядных регистров сдвига Рг1, …, Ргn. Регистры блока работают в режимах параллельного ввода, параллельного вывода, хранения, установки нулей (сброс). Режимы работы регистров задаются сигналами на управляющих входах. Управляющие сигналы подаются параллельно на все регистры. Из блока 35 управления поиска и замены на управляющие входы регистров поступает информационный сигнал УПРВ - управление режимами работой блока регистров вхождений. Входы DR и DL обеспечивают режимы сдвига информации вправо и влево соответственно. Вход СВ является тактовым, управляющие входы S1 и S0 формируют режимы работы регистров, вход R служит для установки регистров в нулевое состояние. Входным информационным сигналом блока регистров вхождений является информационный сигнал ВХ - вхождения. Этот сигнал поступает с выхода блока памяти вхождений. Информационные сигналы параллельно поступают на информационные входы регистров. В каждый регистр блока запишется один символ, который имеет восьмиразрядный двоичный код. На выходе регистра также будет восьмиразрядный двоичный эквивалент. Регистры имеют восьмиразрядные информационные входы CMi и восьмиразрядные выходы CMi. Для параллельного ввода информации в регистры блока на обоих управляющих входах должно быть S1=S2=1. Информация со входов CMi будет записана в регистры и появится на выходах CMi по перепаду 0,1 тактового импульса СВ. Когда на управляющих входах будет S1=S2=0, то регистры работают в режиме хранения информации. Установка в нулевое состояние осуществляется подачей на вход R нулевого значения. Перед началом работы все регистры блока регистров вхождений будут обнулены подачей нулевого уровня на входы сброса R. По приходу входного информационного сигнала ВХ, который подается параллельно на входы регистров и состоит из информационных сигналов CM1, …, СМn. Установкой на входах всех регистров блока режима S1=S2=1 осуществляется запись информации в регистры блока регистров вхождений. Хранение двоичных кодов в регистрах блока выполняется при режиме S1=S2=0. Входной управляющий сигнал СВ - тактовый импульс - поступает на входы элементов И комбинационных схем блока анализа поиска. Выходным информационным сигналом ВХ, состоящим из информационных сигналов CM1, …, СМn блока, является цепочка символов вхождения, которую необходимо обнаружить в обрабатываемом слове.
Блок регистров обрабатываемого слова БРгОС содержит n универсальных восьмиразрядных регистров сдвига Рг1, Рг2, …, Ргn, логическую схему ИЛИ. Регистры блока работают в режимах последовательного ввода, параллельно-последовательного вывода, хранения, установки нулей (сброс). Режимы работы регистров задаются сигналами на управляющих входах. Управляющие сигналы подаются параллельно на все регистры. Из блока 35 управления поиска и замены на управляющие входы регистров поступает информационный сигнал УПРС - управление режимами работой блока регистров обрабатываемого слова. Управляющие сигналы СО, P/S и A/S поступают на все регистры параллельно. Сигнал СО - синхронизирующий тактовый импульс, сочетание сигналов P/S и A/S определяют режимы работы регистров блока. Сигнал P/S формирует способ ввода информации, сигнал A/S - режим асинхронный/синхронный. Входной информационный сигнал ОС - обрабатываемое слово поступает на вход регистра Ргn из блока памяти обрабатываемых слов. При поступлении сигналов сдвига информация с правого регистра Ргn сдвигается в левый регистр Рг1. В параллельном режиме символы обрабатываемого слова ОС1, ОС2, ОС3, …, OCf поступают на вторые входы компараторов. На первые входы компараторов поступают символы вхождения. Результатом сравнения может быть нулевые или единичные значения на выходах компараторов. Если на выходах компараторов установились единицы, то операция поиска осуществилась положительно, то есть вхождение обнаружено. В случае получения нулевых значений на выходах компараторов формируется сигнал сдвига влево на один разряд символов обрабатываемого слова. Выходной сигнал с выходов первого регистра Рг1 поступает на входы логической схемы ИЛИ. Выходной управляющий сигнал - признак конца обрабатываемого слова ПКОС с выхода схемы ИЛИ - определяет нулевую комбинацию на входе схемы. Нулевой двоичный код 0…00 является признаком конца символов обрабатываемого слова. В этом случае все символы обрабатываемого слова в регистрах блока просмотрены. Если признак конца обрабатываемого слова равен единичному значению, то в регистрах блока имеется двоичная информация. Процесс поиска в этом случае продолжается. Синхронизирующий сигнал СО является выходным управляющим сигналом блока регистров обрабатываемого слова, который поступает на входы элементов логических схем И комбинационных схем блока анализа поиска.
Блок 31 памяти замены БПЗМ содержит оперативное запоминающее устройство ОЗУ. В блоке памяти ОЗУ записаны цепочки символов, которые записываются в блок замены, если устройство работает в режиме поиска и замены. В случае положительного сравнения символов вхождения и обрабатываемого слова цепочка символов замены будет записана в регистр блока замены. Входной информационный сигнал УЗМ состоит из управляющих сигналов: выбора кристалла микросхемы и режима записи-считывания информации из ОЗУ блока. Входные информационные сигналы АдЗМ являются адресными входами ОЗУ. Сигнал АдЗМ состоит из адресов столбцов и строк, по которым записывается информация в блок памяти. Информационными данными ДЗМ являются символы замены, которые поступают на информационные входы оперативного запоминающего устройства блока памяти. По сигналам выбора кристалла и разрешения записи УЗМ, а также по адресным входам АдЗМ данные замены записываются в оперативное запоминающее устройство блока памяти. Выходной информационный сигнал блока замены ЗМ поступает на вход блока замены (фиг.7).
Блок 32 памяти обрабатываемых слов БПОС содержит оперативное запоминающее устройство ОЗУ. В ОЗУ блока записаны обрабатываемые слова, с которыми необходимо проводить поисковые операции. Входной информационный вход блока УОС состоит из управляющих сигналов: выбора кристалла микросхемы и режима записи - считывания информации из ОЗУ блока. Входные информационные сигналы АдОС являются адресными входами ОЗУ. Сигнал АдОС состоит из адресов столбцов и строк, по которым записываются данные в блок памяти. Информационными данными ДОС являются обрабатываемые слова, которые поступают на информационные входы оперативного запоминающего устройства блока памяти. По сигналам выбора кристалла и разрешения записи УОС, а также по адресным входам АдОС данные обрабатываемых слов записываются в оперативное запоминающее устройство блока памяти. Выходной информационный сигнал блока - обрабатываемые слова ОС поступают на вход блока анализа поиска (фиг.7).
Блок 33 замены БЗАМ содержит блок регистров замены БРгЗМ, систему электронных ключей схем И с прямыми управляющими входами, систему электронных ключей схем И с инверсными управляющими входами, систему элементов ИЛИ, выполняющую собирательную функцию, блок регистров результата замены БРгРЗ. Функция этого блока устройства параллельного поиска и замены заключается в управлении операцией записи в блок регистров результата замены символа обрабатываемого слова, если на выходе схемы сравнения установлено нулевое значение или букв замены в случае положительного сравнения входных величин в компараторах модуля в режиме работы поиска и замены. Блок регистров замены БРгЗМ предназначен для записи, хранения и выдачи символов замены. Замена осуществляется в случае обнаружения символов вхождения в обрабатываемом слове и в режиме работы устройства поиска и замены. Входной информационный сигнал - УЗАМ поступает на управляющие входы регистров блока регистров замены и состоит из управляющих сигналов: сдвига влево информации на один разряд, синхроимпульсов, формирующих режимы записи, хранения и выдачи двоичного кода. Входной информационный сигнал замены ЗМ поступает на информационные входы регистров блока. По приходу управляющих разрешающих сигналов из блока 35 управления поиска и замены происходит запись символов замены в регистры блока регистров замены. Выходной информационный сигнал блока регистров замены поразрядно поступает на информационные входы системы электронных ключей с прямыми управляющими входами. Входным информационным сигналом блока регистров замены является сигнал ОС1. Этот сигнал поступает с выхода первого регистра Рг1 блока регистров обрабатываемого слова БРгОС. Информационный сигнал ОС1 поступает на информационные входы системы электронных ключей с инверсными управляющими входами. Информационные выходы систем электронных ключей поступают на входы системы элементов ИЛИ. Выходные информационные сигналы системы ИЛИ - ОСЗМ поступают на информационные входы регистров блока регистров результата замены. Информационный сигнал ОСЗМ является результатом логической функции ИЛИ входных величин: ОС1 - символа обрабатываемого слова или символов замены ОСЗМ=(ОС1) или (ЗМ). Входным управляющим сигналом блока замены является сигнал УКЛ - управления, поступающий из блока 35 управления поиска и замены на прямые управляющие входы систем электронных ключей и на инверсные управляющие входы электронных ключей. Если управляющий сигнал УКЛ равен нулевому значению, то система электронных ключей с прямыми управляющими входами будет заперта, а электронные ключи с инверсными управляющими входами будут открыты. В этом случае символ обрабатываемого слова ОС1 через открытые электронные ключи и систему логических элементов ИЛИ поступит на вход информационного входа регистров блока регистров результата замены. По приходу информационного сигнала УРЗМ на управляющие входы регистров блока регистров результата замены из блока 35 управления поиска и замены входная информация ОСЗМ будет записана в регистры блока регистров результата замены. Управляющие сигналы регистров блока С, P/S, A/S формируют режимы сдвига влево информации на один разряд, синхронизации, записи, хранения и выдачи результата в регистрах блока. В случае равенства сигнала управления УКЛ единичному значению система электронных ключей с прямыми управляющими входами будет открыта, а электронные ключи с инверсными управляющими входами закрыты. В этом случае символы замены ЗМ через открытые электронные ключи и систему логических элементов ИЛИ поступают на вход информационного входа регистров блока регистров результата замены, где по приходу управляющих сигналов УРЗМ будут записаны и хранятся в блоке. Выходной информационный сигнал блока регистров результата замены - сигнал РЗ представляет собой информацию из результатов замены или символов обрабатываемого слова. Этот сигнал поступает на вход блока хранения результата (фиг.7).
Блок регистров замены БРгЗМ содержит s универсальных восьмиразрядных регистров сдвига Рг1, Рг2, …, Pгs. Регистры блока работают в режимах последовательного ввода, последовательного вывода, хранения, установки нулей (сброс). Режимы работы регистров задаются сигналами на управляющих входах. Регистры соединены между собой последовательно. На управляющие входы регистров из блока 35 управления поиска и замены поступает информационный сигнал УЗАМ - управление режимами работой блока регистров замены. Управляющие сигналы С, P/S и A/S поступают на все регистры параллельно. Сигнал С - синхронизирующий тактовый импульс, комбинации сигналов P/S и A/S определяют режимы работы регистров блока. Сигнал P/S формирует способ ввода информации, сигнал A/S - режим асинхронный/синхронный. Входной информационный сигнал ЗМ - символы замены поступает на вход правого регистра Pгs из блока памяти замены. При генерации сигналов сдвига влево на один разряд информация с правого регистра Pгs поступает на выход левого регистра Рг1. В начале работы вычислительного модуля все регистры блока будут обнулены. В режиме поиска и замены, а также левой или правой конкатенации, по приходу управляющих сигналов из блока 35 управления поиска и замены, символы замены записываются из блока памяти замены в регистры блока регистров замены. Выходным информационным сигналом блока регистров замены является двоичный код символов замены - ЗМ. Блок работает в режиме записи, хранения и выдачи информации. Выдача информации происходит в режиме поиска и замены работы устройства. Если в обрабатываемом слове обнаружено вхождение, то необходимо в регистры блока регистров результата замены записать замену - цепочку символов. В этом случае регистры блока работают в режиме выдачи информации.
Блок регистров результата замены БРгРЗ содержит m универсальных восьмиразрядных регистров сдвига Рг1, Рг2, …, Ргm. Регистры блока работают в режимах последовательного ввода, последовательного вывода, хранения, установки нулей (сброс). Режимы работы регистров задаются сигналами на управляющих входах. Регистры соединены между собой последовательно, выход предыдущего является входом последующего. На управляющие входы регистров из блока 35 управления поиска и замены поступает информационный сигнал УРЗМ - управление режимами работой блока регистров результата замены. Управляющие сигналы С, P/S и A/S поступают на все регистры в параллельном режиме. Сигнал С - синхронизирующий тактовый импульс, комбинации сигналов P/S и A/S определяют режимы работы регистров блока. Сигнал P/S формирует способ ввода информации, сигнал A/S - режим асинхронный/синхронный. Входной информационный сигнал ОСЗМ - символы обрабатываемого слова или замены - поступает на вход правого регистра Ргm с выходов логической схемы ИЛИ блока замены. При генерации сигналов сдвига влево на один разряд информация с правого регистра Ргm поступает на выход левого регистр Рг1. В начале работы устройства все регистры блока будут обнулены. В режиме поиска и замены символы замены записываются в регистры блока регистров результата замены. В случае выполнения операций левой или правой конкатенации в регистры блока регистров результата замены записываются символы замены и обрабатываемого слова. В режиме поиска в регистры блока регистров результата замены записываются символы обрабатываемого слова. Выходным информационным сигналом блока регистров результата замены является двоичный код символов результата замены - РЗ. Блок работает в режиме записи, хранения и выдачи информации. Выдача результата происходит в случае обнаружения признака конца обрабатываемого слова - сигнала ПКОС, равного нулевому значению. Выходной информационный сигнал - результат замены РЗ блока регистров результата замены - поступает на вход блока хранения результата.
Блок 34 хранения результата поиска и замены БХРПЗ содержит логическую схему ИЛИ, двоичный счетчик, формирующий адреса столбцов ОЗУ - Сч1, двоичный счетчик формирующий адреса строк ОЗУ - Сч2, оперативное запоминающее устройство ОЗУ. Двоичные счетчики в начале работы устройства обнулены управляющими сигналами ОБ, УС "0", поступающими из блока 35 управления поиска и замены. На входы счетчиков поступают прямоугольные импульсы ГИ, ТИ из блока 35 управления поиска и замены. Счетчики формируют адреса строк и столбцов, по которым будет записаны результаты поиска или замены, поступающие на вход оперативного запоминающего устройства ОЗУ. Входными информационными сигналами блока являются информационный сигнал АДВ - адрес вхождения и информационный сигнал РЗ - результаты замены. Информационные сигналы поступают на входы схемы ИЛИ. Выходной информационный сигнал РЗ - результат операции ИЛИ поступает на информационный вход оперативного запоминающего устройства ОЗУ. Если устройство работает в режиме поиска вхождений, то будут записаны адреса вхождений. Если устройство работает в режиме поиска и замены, то в оперативное запоминающее устройство будут записаны результаты замены, в случае положительного сравнения компараторов. Сигналы управления оперативного запоминающего устройства ОЗУ, выбор кристалла и считывания/запись соответственно при записи принимают значения ВК=0, Сч/Зп=0.
Блок 35 управления поиска и замены синтезируется на основе граф схемы алгоритма ГСА управления известным способом [6].
Блок выполнения логических операций БВЛО
Устройство выполнения логических операций содержит систему 36 электронных ключей, блок 37 конъюнкторов, блок 38 дизъюнкторов, блок 39 операции ИСКЛЮЧАЮЩЕЕ ИЛИ, блок 40 инверторов, электронные ключи 41 конъюнкторов, электронные ключи 42 дизъюнкторов, электронные ключи 43 операции ИСКЛЮЧАЮЩЕЕ ИЛИ, электронные ключи 44 инверторов, блок 45 хранения результатов, блок 46 управления по выполнению логических операций, пороговые элементы, нейроны (фиг.8) [].
На фиг.8 изображена структурная схема блока выполнения логических операций.
На ней представлены:
СЭКУ - система электронных ключей устройства служит для разрешения подачи переменных и управляющих сигналов из блока управления на входы блоков, выполняющих логические операции.
БКОН - блок конъюнкторов служит для выполнения логической операции конъюнкции над входными переменными.
БДИЗ - блок дизъюнкторов служит для выполнения логической операции дизъюнкции над входными переменными.
БИЛИ - блок операции ИСКЛЮЧАЮЩЕЕ ИЛИ служит для выполнения логической операции ИСКЛЮЧАЮЩЕЕ ИЛИ над входными переменными.
БИНВ - блок инверторов служит для выполнения логической операции инверсии над входными переменными.
ЭККН - электронные ключи конъюнкторов служат для разрешения передачи переменных в блок конъюнкторов для выполнения логической операции конъюнкции.
ЭКДЗ - электронные ключи дизъюнкторов служат для разрешения передачи переменных в блок дизъюнкторов для выполнения логической операции дизъюнкции.
ЭКИЛИ - электронные ключи операции ИСКЛЮЧАЮЩЕЕ ИЛИ служат для разрешения передачи переменных в блок операции ИСКЛЮЧАЮЩЕЕ ИЛИ для выполнения логической операции исключающее ИЛИ.
ЭКИН - электронные ключи инверторов служат для разрешения передачи переменных в блок инверторов для выполнения логической операции инверсии.
БХРЛО - блок хранения результатов служит для записи и хранения в нем результатов выполнения логических операций.
БУЛО - блок управления логическими операциями служит для генерации управляющих сигналов устройства.
Любая булева функция может быть представлена аналитически одной из нормальных форм: дизъюнктивной (СДНФ) и конъюнктивной (СКНФ). Для СДНФ и СКНФ такими функциями являются конъюнкция, дизъюнкция, отрицание (инверсия). Существуют системы булевых функций, с помощью которых можно аналитически представить любую сколь угодно сложную булеву функцию. Функционально полной системой булевых функций называется совокупность таких булевых функций f1, f2, …, fn, что произвольная булева функция может быть записана в виде формы через функции этой совокупности. К функционально полной системой булевых функций следует отнести системы: логическая И, логическая ИЛИ, отрицание НЕ, ИСКЛЮЧАЮЩЕЕ ИЛИ, т.е. конъюнкция (&), дизъюнкция (V), инверсия (НЕ), ИСКЛЮЧАЮЩЕЕ ИЛИ (⊕) [1]. Для примера следует задать булеву функцию аналитическим способом:
Для ее реализации необходимо выполнить ряд последовательных операций в определенном порядке:
3
1) определить инверсное значение переменной Х;
1
2
3
2) выполнить логическую операцию конъюнкцию над переменными X, Х и инверсным значением переменной Х;
1
2
3
4
3) выполнить логическую операцию дизъюнкцию над результатом операции конъюнкции переменных X, X инверсным значением Х и переменной Х;
5
4) определить инверсное значение переменной Х;
4
1
2
3
5
5) выполнить логическую операцию ИСКЛЮЧАЮЩЕЕ ИЛИ над результатом операции дизъюнкции Х и конъюнкции переменных X, Х, инверсным значением Х и инверсным значением переменной Х;
6) результат выполнения логических операций записать в оперативное запоминающее устройство.
В устройстве выполнения логических операций последовательность выполнения булевых функций определяется установкой управляющих сигналов на входах электронных ключей в единичное состояние. Тем самым отпираются соответствующие ключи и через их значения переменных и ранее полученные результаты других блоков поступают на входы очередного блока устройства.
Для описания алгоритма работы устройства и блока 46 управления по выполнению логических операций используются следующие идентификаторы:
110. СУП - сигналы управления, поступающие из блока управления.
111. БПР - булевы переменные, поступающие из блока управления.
112. ЗПР - информационный сигнал, в структуру которого входят определенные значения булевых переменных.
113. КОН - булевы переменные, над которыми нужно выполнить устройством операцию конъюнкцию.
114. ДИЗ - булевы переменные, над которыми нужно выполнить операцию дизъюнкцию.
115. ИЛИ - булевы переменные, над которыми нужно выполнить операцию ИСКЛЮЧАЮЩЕЕ ИЛИ.
116. ИНВ - булевы переменные, над которыми нужно выполнить операцию инверсию.
117. УКН - сигналы управления, поступающие на управляющие входы электронных ключей конъюнкторов из блока управления логическими операциями.
118. СУКН - сигналы управления, поступающие на управляющие входы электронных ключей конъюнкторов.
119. УДЗ - сигналы управления, поступающие на управляющие входы электронных ключей дизъюнкторов из блока управления логическими операциями.
120. СУДЗ - сигналы управления, поступающие на управляющие входы электронных ключей дизъюнкторов.
121. УИЛ - сигналы управления, поступающие на управляющие входы электронных ключей операции ИСКЛЮЧАЮЩЕЕ ИЛИ из блока управления логическими операциями.
122. СУИЛ - сигналы управления, поступающие на управляющие входы электронных ключей операции ИСКЛЮЧАЮЩЕЕ ИЛИ.
123. УИН - сигналы управления, поступающие на управляющие входы электронных ключей инверторов из блока управления логическими операциями.
124. СУИН - сигналы управления, поступающие на управляющие входы электронных ключей инверторов.
125. УПК - управляющие сигналы, поступающие на управляющие входы электронных ключей конъюнкторов.
126. УПД - управляющие сигналы, поступающие на управляющие входы электронных ключей дизъюнкторов.
127. УПИ - управляющие сигналы, поступающие на управляющие входы электронных ключей операции ИСКЛЮЧАЮЩЕЕ ИЛИ.
128. УПН - управляющие сигналы, поступающие на управляющие входы электронных ключей инверторов.
129. РКН - результат выполнения операции конъюнкции блоком конъюнкторов.
130. РДЗ - результат выполнения операции дизъюнкции блоком дизъюнкторов.
131. РИЛИ - результат выполнения операции суммы по модулю два блоком ИСКЛЮЧАЮЩЕЕ ИЛИ.
132. РИН - результат получения инверсных значений булевых переменных блоком инверторов.
133. ОБ - команда обнуления двоичного счетчика Сч1 DD42 блока хранения результата.
134. УС "0" - команда обнуления двоичного счетчика Сч2 DD43 блока хранения результата.
135. ГИ - генератор импульсов, поступающий из блока управления на суммирующий вход (+) двоичного счетчика Сч1 DD42 блока хранения результата.
136. ТИ - тактовые импульсы, поступающие из блока управления на суммирующий вход (+) двоичного счетчика Сч2 DD43 блока хранения результата.
137. ВК - команда выбора кристалла оперативного запоминающего устройства ОЗУ блока хранения результата.
138. Сч/Зп - команда считывания/записи оперативного запоминающего устройства ОЗУ блока хранения результата.
139. РБО - информационный вход блока хранения результата. В структуру этого информационного сигнала входят: РКН - результат выполнения операции конъюнкции блоком конъюнкторов, РДЗ - результат выполнения операции дизъюнкции блоком дизъюнкторов, РИЛИ - результат выполнения операции суммы по модулю два блоком ИСКЛЮЧАЮЩЕЕ ИЛИ, РИН - результат получения инверсных значений булевых переменных блоком инверторов.
140. СБРОСБВЛО - сигнал сброса (обнуление) элементов памяти устройства выполнения логических операций.
141. ПУСКБВЛО - сигнал начало работы устройства.
Работа блока по выполнению логических операций заключается в следующем (фиг.8).
Внешние управляющие сигналы "СБРОСБВЛО" и "ПУСКБВЛО" поступают в блок 46 управления по выполнению логических операций.
Блок выполнения логических операций над булевыми переменными выполняет логические операции: конъюнкцию (И), дизъюнкцию (ИЛИ), ИСКЛЮЧАЮЩЕЕ ИЛИ (⊕), инверсию (НЕ). Эти функции являются функционально полными базисами. Это означает, что булеву функцию любой сложности можно записать и выполнить с помощью перечисленных функций.
Блок 36 система электронных ключей устройства - СЭКУ содержит систему логических элементов И с тремя высоко идемпотентными состояниями. Этот блок служит для разрешения передачи логических переменных из блока управления на входы блоков устройства для выполнения над ними логических операций. На вход системы электронных ключей поступают информационные сигналы: СУП - сигналы управления и БПР - булевы переменные. На входы пороговых элементов блока поступают информационные сигналы - БПРi, равные нулю или единице, и управляющие сигналы - СУПi, значение которых равны нулю или единице. Количество и значение булевых переменных БПРn задаются в блоке 46 управления по выполнению логических операций. Булева переменная БПРi, где 1≤i≤n, поступает на один из входов порогового элемента. На второй вход этого порогового элемента поступает сигнал управления СУПi, где 1≤i≤n, из блока 46 управления. При единичном значении сигнала управления СУПi на выходе соответствующего i-го порогового элемента будет значение булевой переменной БПРi, в этом случае будет равенство ЗПРi:=БПРi. Если сигнал управления СУП будет равен нулевому значению, то соответствующая логическая схема И блока будет заперта, на выходе которой будет большое сопротивление для отключения этих элементов от других блоков устройства.
1
3m
Блок 37 конъюнкторов - БКОН содержит m пороговых элементов. Пороговые элементы выполняют логическую функцию конъюнкцию над логическими входными переменными. Входным сигналом блока является информационный сигнал КОН, который поступает с выхода блока 41 ЭККН - электронные ключи конъюнкторов. Блок 37 конъюнкторов имеет пирамидальную структуру. Входы a…a поступают на входы пороговых элементов. Выходы этих элементов поступают на вход порогового элемента. Выходным сигналом блока 37 конъюнкторов является сигнал РКП - результат операции конъюнкции, формирующийся с выхода порогового элемента.
1
3k
Блок 38 дизъюнкторов - БДИЗ содержит k пороговых элементов. Пороговые элементы выполняют логическую функцию дизъюнкцию над входными логическими переменными. Входным сигналом блока является информационный сигнал ДИЗ, который поступает с выхода блока 42 ЭКДЗ - электронные ключи дизъюнкторов. Блок 38 дизъюнкторов имеет пирамидальную структуру. Входы b…b поступают на входы пороговых элементов. Выходы этих элементов поступают на вход порогового элемента. Выходным сигналом блока 38 дизъюнкторов является сигнал РДЗ - результат дизъюнкции, формирующийся с выхода порогового элемента.
1
w+1
Блок 39 ИСКЛЮЧАЮЩЕЕ ИЛИ - БИЛИ содержит f нейронов. Нейроны выполняют логическую функцию ИСКЛЮЧАЮЩЕЕ ИЛИ над входными логическими переменными. Входным сигналом блока является информационный сигнал ИЛИ, который поступает с выхода блока 43 ЭКИЛИ - электронные ключи операции ИСКЛЮЧАЮЩЕЕ ИЛИ. Блок 39 ИСКЛЮЧАЮЩЕЕ ИЛИ имеет пирамидальную структуру. Входы c…c поступают на входы нейронов. Выходы этих элементов поступают на входы нейронов. Выходы этих нейронов поступают на входы нейрона. Выходным сигналом блока 39 БИЛИ является результат выполнения операции ИСКЛЮЧАЮЩЕЕ ИЛИ - РИЛИ, полученный на выходе нейрона.
Блок 40 инверторов - БИНВ содержит систему логических элементов НЕ - инверторов, выполненных на пороговых элементах. Этот блок служит для получения инверсных значений переменных. Входным сигналом блока 40 является информационный сигнал ИНВ, поступающий с выхода блока 44 ЭКИН - электронные ключи инверторов. Каждая переменная ИНВi поступает на вход соответствующего инвертора - схемы НЕ. На выходе каждого инвертора блока формируется инверсный сигнал - РИНi, ИНВi:=ИНВi. Выходным сигналом блока 40 инверторов является информационный сигнал РИН.
Блок 41 электронные ключи конъюнкторов содержит систему электронных ключей. На информационные входы этой системы поступают сигналы ЗПР - значения переменных и на управляющие входы поступают сигналы СУКН - сигналы управления электронными ключами конъюнкторов. В состав блока входит система электронных ключей, выполненных на пороговых элементах. На информационные входы этой системы поступают сигналы РБО - результаты выполнения логических операций другими блоками, на управляющие входы поступают сигналы УПК - управляющие сигналы электронными ключами конъюнкторов. В блок входит система логических элементов ИЛИ.
Блоки устройства: 42 ЭКДЗ - электронные ключи дизъюнкторов, 43 ЭКИЛИ - электронные ключи операции ИСКЛЮЧАЮЩЕЕ ИЛИ, 44 ЭКИН - электронные ключи инверторов имеют структуру, выполняют функции, состоят из элементов пороговой логики, аналогичные структуре, функции и составу элементов блока 41 ЭККН - электронные ключи конъюнкторов.
Блок 45 хранения результатов логических операций БХРЛО содержит оперативное запоминающее устройство ОЗУ, двоичный счетчик, формирующий адреса столбцов ОЗУ - Сч1, двоичный счетчик, формирующий адреса строк ОЗУ - Сч2. Двоичные счетчики в начале работы устройства обнулены управляющими сигналами ОБ, УС "0" соответственно, поступающими из блока 46 управления по выполнению логических операций. На входы счетчиков поступают прямоугольные импульсы ГИ, ТИ из блока 46 управления. Счетчики формируют адреса столбцов - АД СТЛ и строк АД СТР, по которым будет записаны результаты логических операций - РБО, поступающие на вход - Вх оперативного запоминающего устройства ОЗУ. Сигналы управления оперативного запоминающего устройства ОЗУ выбора кристалла и считывания/запись соответственно при записи принимают значения ВК=0, Сч/Зп=0.
Блок 46 управления по выполнению логических операций синтезируется на основе граф схемы алгоритма ГСА управления известным способом [6].
Блок хранения результатов БХР
Структурная схема блока 12 хранения результатов БХР арифметико-символьного процессора представлена на фиг.9. В состав указанного блока БХР входят: логическая схема Сх ИЛИ, двоичный счетчик Сч1, формирующий адреса столбцов АД СТЛ оперативного запоминающего устройства блока, двоичный счетчик Сч2, формирующий адреса строк АД СТР оперативного запоминающего устройства блока, оперативное запоминающее устройство ОЗУ. Двоичные счетчики Сч1 и Сч2 блока хранения результатов БХР перед работой процессора будут обнулены управляющими сигналами УС"0"БХР и ОББХР, поступающими из блока 13 управления арифметико-символьного процессора, на входы R установки в нулевое состояние элементов. На суммирующие входы двоичных счетчиков поступают прямоугольные импульсы ГНБХР, ТИБХР из блока 13 управления. Счетчики формируют адреса столбцов и строк, по которым будут записаны в оперативное запоминающее устройство ОЗУ блока результаты выполнения арифметических, логических, поисковых и функций замены операций, поступающие на вход логической схемы Сх ИЛИ. Входными информационными сигналами блока БХР являются: ВЫХБВАО - выходной информационный сигнал блока выполнения арифметических операций, ВЫХБППЗ - выходной информационный сигнал блока параллельного поиска и замены вхождений в обрабатываемых словах, ВЫХБВЛО - выходной информационный сигнал блока выполнения логических операций и РЕЗУЛ - выходной информационный сигнал системы коммутации процессор-модуль. Выходной информационный сигнал логической схемы Сх ИЛИ РЗО поступает на вход оперативного запоминающего устройства ОЗУ. На основании этого можно записать следующее выражение:
РЗО=(ВЫХБВАО) или (ВЫХБППЗ) или (ВЫХБВЛО) или (Резул),
где ВЫХБВАО - выходной информационный сигнал блока выполнения арифметических операций, ВЫХБППЗ - выходной информационный сигнал блока параллельного поиска и замены вхождений в обрабатываемых словах, ВЫХБВЛО - выходной информационный сигнал блока выполнения логических операций, РЕЗУЛ - выходной информационный сигнал системы коммутации процессор-модуль. Сигналы управления оперативного запоминающего устройства ОЗУ, выбор кристалла и запись/считывания соответственно при записи принимают значения ВКБХР=0, Зп/СчБХР=0 (фиг.9). В схеме Сх ИЛИ будут применены четырехвходовые элементы.
Система коммутации процессор-модуль СКПМ
Система 2 коммутации процессор-модуль СКПМ содержит: входные задания от арифметико-символьного процессора, выходные результаты с выходов специализированных вычислительных модулей, интерфейсный канал процессор-модуль, шинные 51, 54 формирователи ШФ1, ШФn, электронные 52, 53, 55, 56 ключи ЭКл1, ЭКл2, ЭКлk, ЭКлm (фиг.10). Система 2 коммутации процессор-модуль СКПМ обеспечивает передачу информации от арифметико-символьного процессора на входы специализированных вычислительных модулей системы в виде заданий, а также формирует интерфейсный канал процессор-модуль передачи информации с выходов специализированных вычислительных модулей системы в виде результата для хранения его в памяти арифметико-символьного процессора. Основная задача системы 2 коммутации процессор-модуль состоит в обеспечении двухсторонней информационной связи между арифметико-символьным процессором и специализированными вычислительными модулями системы ВОРАМС. Двухсторонняя информационная связь между арифметико-символьным процессором и первым специализированным вычислительным модулем СпецВычМод1 обеспечивается работой элементов: шинным 51 формирователем ШФ1, электронными 52, 53 ключами ЭКл2 и ЭКл1 (фиг.10). Информационным входом системы коммутации процессор-модуль является сигнал Задан, который поступает с выхода арифметико-символьного процессора на входы всех шинных формирователей системы коммутации через интерфейсный канал процессор-модуль системы. Информационным выходом системы коммутации процессор-модуль является сигнал Резул, который поступает с выходов всех шинных формирователей системы коммутации через интерфейсный канал процессор-модуль на вход арифметико-символьного процессора. Входными управляющими сигналами системы коммутации процессор-модуль являются: начало работы модуля первого НРМ1, окончание работы модуля первого ОРМ1, начало работы модуля n-го НРМn, окончание работы модуля n-го OPMn, поступающих с выходов специализированных вычислительных модулей СпецВычМод 1 и СпецВычМодn соответственно. Если входной управляющий сигнал начало работы модуля первого НРМ1 равен единице, то электронные ключи ЭКл2 53 будут открыты. В этом случае обеспечивается передача информации слева направо. Информационный сигнал с выхода арифметико-символьного процессора передается на вход шинного формирователя ШФ1 51. С выхода этого блока через открытые электронные ключи ЭКл2 53 входной информационный сигнал Задан для первого специализированного модуля СпецвычМод1 3 поступает на вход цифрового устройства (фиг.10). Если входной управляющий сигнал начало работы модуля первого НРМ1 равен нулевому значению, то электронные ключи ЭКл2 53 будут закрыты. В этом случае канал передачи информации слева направо будет закрыт.Если входной управляющий сигнал окончание работы модуля первого ОРМ1 равен единице, то электронные ключи ЭКл1 52 будут открыты. В этом случае обеспечивается передача информации справа налево. Информационный сигнал с выхода первого специализированного модуля СпецвычМод1 3 передается на вход электронных ключей ЭКл1 52. Через открытые электронные ключи ЭКл1 52 выходной информационный сигнал Резул с выхода первого специализированного модуля СпецвычМод1 3 поступает на вход арифметико-символьного процессора. Если входной управляющий сигнал начало работы модуля первого ОРМ1 равен нулевому значению, то электронные ключи ЭКл1 52 будут закрыты. В этом случае канал передачи информации справа налево будет закрыт (фиг.10). Другие каналы передачи информации системы коммутации процессор-модуль работают по аналогичному алгоритму. Для n-го специализированного вычислительного модуля СпецВычМодn 5 передачу информационных сигналов Задан и Резул по направлениям слева направо и справа налево обеспечивают шинный формирователь ШФn 54, электронные 56 ключи ЭКлm, электронные 55 ключи ЭКл1 с (фиг.10).
Специализированные вычислительные модули СпецВычМод
Первый специализированный вычислительный модуль СпецВычМод 1 - параллельная система поиска и замены содержит: блок 57 памяти вхождений, блок 58 подстановок, блоки 59, 60, 61 поиска и замены, блок 62 памяти слов, блок 63 управления модуля 1 БУМОД1 (фиг.11) [7].
На фиг.11 изображена структурная схема первого специализированного вычислительного модуля СпецВычМод 1 - параллельная система поиска и замены.
На ней представлены:
БПВ - блок служит для хранения вхождений, с которыми необходимо будет провести поисковые операции.
БПС - блок служит для хранения слов, в которых будут определяться вхождения.
БПЗn - блоки служат для поиска вхождений произвольной структуры в обрабатываемых словах в различных режимах, а также осуществления операции замены.
БПО - блок служит для хранения подстановок, на которые будет осуществлена замена найденных вхождений в произвольном тексте.
БУМОД1 - блок служит для управления специализированным вычислительным модулем 1.
Алгоритм функционирования системы заключается в следующем. В регистре слов находится обрабатываемое слово. В регистре вхождений записывается вхождение - цепочка символов. Задача системы заключается в определении вхождения в обрабатываемом слове. Если вхождение найдено, то ее адрес записывается в память блока поиска и замены. Если вхождение не найдено, то в регистр обрабатываемого слова записывается новое слово для проведения поисковой операции. Сравнение в компараторе символов происходит побуквенно. В начале работы сигналом режима работы из блока 63 управления модуля 1 устанавливается режим функционирования поисковой системы. На вход компаратора поступают по одной букве из регистра обрабатываемого слова и из регистра вхождения. Если результат сравнения положительный, то происходит сдвиг влево на один разряд информации в обоих регистрах и на вход компаратора поступают очередные символы из регистров. Возможно возникнет ситуация когда положительное сравнение произойдет на первой букве, на второй, на третьей и т.д., но на n букве результат сравнения будет отрицательным и при этом конца слово-образца не будет обнаружено. Двоично-десятичные счетчики системы подсчитывают количество положительных сравнений. Предположим, их произошло n совпадений, а на n+1 получен отрицательный результат. В этом случае осуществляется сдвиг вправо на на n-1 разрядов регистра, в котором хранится обрабатываемое слово. Происходит "вычеркивание" первой буквы из серии, где произошли положительные сравнения. Дальнейшее сравнение будет происходить, начиная со второй буквы обрабатываемого слова и с первой буквой вхождения. Вхождение будет переписано заново из памяти вхождений. Процедуры сдвига возможны при помощи реверсивных регистров, которые осуществляют сдвиг информации как влево, так и вправо. Поисковая система работает в двух режимах. Первый режим работы заключается в определении вхождений, имеющих общие части. Это означает, что предыдущие вхождения и последующие имеют общую часть, состоящую из одной буквы или цепочки символов.
Для описания алгоритма работы блока 63 управления модуля 1 параллельной системы поиска и замены используются следующие идентификаторы:
142. ПРКВ - признак конца вхождения. Это может быть двоичный код, равный 11…1.
143. КР - команда, определяющая конец работы устройства.
144. СУП - команды управления записью, выдачей, хранения данных в ОЗУ блока памяти вхождений.
145. УРР - команды управления записью, выдачей, хранения данных в ОЗУ блока памяти слов.
146. АД - адреса данных в ОЗУ - выдачи и записи блока памяти вхождения.
147. АДЕ - адреса данных в ОЗУ - выдачи и записи блока памяти слов.
148. ДН - данные, записанные в ОЗУ блока памяти вхождений.
149. ДНС - данные, записанные в ОЗУ блока памяти слов.
150. ДС - данные - обрабатываемые слова.
151. ДВ - данные вхождений.
152. ПСП - признак "пустого (отсутствие данных)" оперативного запоминающего устройства обрабатываемых слов блока памяти слов.
153. ПУС - признак "пустого (отсутствие данных)" оперативного запоминающего устройства подстановок блока подстановок.
154. ПОД - данные подстановки - выходная информация из памяти ОЗУ подстановок.
155. УПР - команды управления записью, выдачей, хранения данных в ОЗУ подстановок блока подстановок.
156. АДС - адреса данных в ОЗУ подстановок - выдачи и записи информации блока подстановок.
157. ДАН - данные, записанные в ОЗУ подстановок (двоичные коды букв) блока подстановок.
158. КП - команда пуска работы блока поиска и замены параллельной системы.
159. СБРОСМОД1 - команда сброса в нулевое состояние параллельной системы.
160. ПУСКМОД1 - команда пуска параллельной системы.
Работа специализированного вычислительного модуля 1 - параллельная система поиска и замены заключается в следующем:
Внешние управляющие сигналы ПУСКМОД1 и СБРОСМОД1 поступают в блок 63 управления модуля 1 системы.
В параллельной системе поиска и замены осуществляется процесс обработки информации сразу с несколькими словами и несколькими вхождениями в параллельном варианте, а также при необходимости осуществления операции замены вхождения на подстановку. Для осуществления параллельной обработки в системе имеются n блоков поиска и замены БПЗn. В каждый блок БПЗn системы загружаются слова и вхождения. Работают блоки в независимом друг от друга режиме. Все эти блоки имеют одинаковые структурные и принципиальные схемы, состоящие их однотипных цифровых элементов. Блоки работают по одному и тому же алгоритму. Операция замены осуществляется только в режиме работы системы поиска вхождений, не имеющих общих частей.
В оперативное запоминающее устройство блока 62 БПС записаны обрабатываемые слова, в которых необходимо обнаружить вхождения. Под вхождениями подразумевается символ или цепочка символов, а также целые слова, которые необходимо обнаружить в словах блока БПС. Вхождения записываются в оперативное запоминающее устройстве блока 57 БПВ. В блок 58 подстановок БПО записываются подстановки. Это отдельные символы, цепочка символов или целые слова, на которые необходимо заменить обнаруженные вхождения в обрабатываемых словах текста. По команде ПУСКМОД1 из ОЗУ блоков памяти вхождений и слов в блоки поиска и замены системы записываются соответственно вхождения и слова.
В каждом блоке поиска и замены операция сравнение на компараторе происходит последовательно, каждая буква вхождения сравнивается с символами обрабатываемого слова. В блоке анализа и формирования сигналов сдвига обрабатывается сигнал сравнения символов, поступивший из компаратора КОМ. Обрабатываемое слово из ОЗУ блока 62 памяти слов записывается в регистр обрабатываемого слова РгСОБ блока поиска и замены. Вхождение записывается в регистр вхождений РгВ. В каждом блоке поиска и замены анализируется сигнал, устанавливающий режим работы устройства - PP. Если вхождение обнаружено в слове, то формируется адрес (позиция) этого вхождения в слове. Обнаруженное вхождение находится в регистре подстановок РгПОД блока регистра подстановок. В случае если пользователем выбран режим поиска и замены, то в регистр подстановок РгПОД из памяти подстановок записывается вместо вхождения подстановка - цепочка символов. После проведения операции подстановки информация из регистра подстановок РгПОД переписывается в регистр буфера РгБУФ блока регистра буфера. Регистр РгПОД при этом освобождается для дальнейшего поиска вхождений в обрабатываемом слове. Если выбран режим только поиска, то адрес вхождения записывается в ОЗУ блока хранения адреса. Адрес хранится в блоке хранения адреса. Если сравнение не произошло, то формируются сигналы сдвига СДС, ССД в блоке управления поиска и замены, поступающие на вход блоков БРСП. Если при работе устройства возникает ситуация, при которой были получены вначале положительные результаты сравнения в компараторе, а затем отрицательный, но признак конца вхождения еще не обнаружен. В этом случае будут найдены только несколько символов вхождения, но не все вхождение полностью. При положительном результате в компараторе происходит сдвиг влево на одну позицию информации регистра слова РгСОБ, в котором находится слово. Слово из регистра слова РгСОБ побуквенно переходит в регистр подстановок РгПОД. Двоичным счетчиком подсчитывается положительная серия сравнений в компараторе. В случае отрицательного результата при сравнении происходит переписывание информации из регистра подстановок РгПОД в регистр буфера РгБУФ. Затем из регистра буфера РгБУФ символы переписываются в регистр слова РгСОБ. Количество сдвигов вправо будет меньше на один, чем количество сдвигов влево. Процесс поиска вхождений будет продолжен, но со второй буквы фрагмента, где было обнаружена положительная серия совпадений в обрабатываемом слове. Первая буква в этом случае как бы "вычеркивается". Процесс продолжается до тех пор, пока не будут обнаружены все вхождения и осуществлены операции замены в обрабатываемом слове.
Блок 57 памяти вхождений содержит оперативное запоминающее устройство (ОЗУ) - память вхождений ПВ, в котором будут записаны вхождения.
Блок 58 подстановок содержит оперативное запоминающее устройство (ОЗУ) - память подстановок ПОД, в котором будут храниться подстановки.
Блоки 59, 60 и 61 поиска и замены БПЗ выполняют функции поиска и замены вхождений в обрабатываемых словах.
Блок 62 памяти слов содержит оперативное запоминающее устройство (ОЗУ) - память слов ПС, в котором будут записаны обрабатываемые слова.
Блок 63 управления модуля 1 генерирует информационные и управляющие сигналы, поступающие на вход блоков системы.
Блок 59 поиска и замены БПЗ содержит: блок регистра вхождения - БРВХ, компаратор - КОМ, блок регистра слов и подстановок - БРСП, блок анализа и формирования сигналов - БАФС, блок хранения адреса вхождений - БХАВ, блок управления поиска и замены БУПЗ.
Блок регистра вхождений - БРВХ содержит реверсивный регистр сдвига РгВ (регистр вхождений), в котором будет храниться вхождение, логический элемент И для обнаружения признака конца вхождения. По сигналам управления СУП происходит разрешение записи информации, по адресным входам АД-записанные данные ДН в ОЗУ (память вхождений) из блока 63 управления модулем 1 (фиг.11). С выхода памяти вхождений информация ДВ поступает на вход реверсивного регистра вхождений РгВ, по сигналам управления СУ из блока управления поиска и замены происходит запись буквы вхождения в регистр вхождений. Сигнал сдвига вхождений СДВ из блока управления поиска и замены поступает на вход реверсивного регистра вхождений - РгВ. Выходная информация из реверсивного регистра вхождений ВДВ поступает на вход компаратора КОМ. Реверсивный регистр РгВ выполняет сдвиг в любом направлении: слева направо или наоборот. Сдвиг вправо выполняется при значении сигнала СДВ=1, сдвиг влево - при СДВ=0, т.е. направление сдвига осуществляется одним управляющим сигналом. Логический элемент И формирует сигнал признака конца вхождений ПРКВ, равный единице, если все единицы на входе элемента. В памяти вхождений формируется сигнал КР - конец работы, если ОЗУ будет пусто. Перед началом работы устройства в памяти вхождений записаны все вхождения, в регистре вхождений находится первое вхождение, сигнал признака конца вхождений ПРКВ равен нулю, сигнал сдвига вхождений СДВ равен нулю.
Компаратор КОМ представляет собой устройство сравнения на равенство входных величин: выходных данных вхождений ВДВ блока БРВХ и выходных данных слов ВДС блока БРСП. Если входные сигналы равны, то на выходе компаратора формируется единичный сигнал ССР. В противном случае ССР будет равен нулю. Выходной сигнал компаратора поступает на вход блока управления поиска и замены и на вход блока анализа и формирования сигналов сдвига.
Блок регистров слов и подстановок содержит: блок регистра подстановок БРгПОД, блок регистра буфера БРгБУФ, блок регистра обрабатываемого слова - БРгСОБ, логический элемент И предназначен для обнаружения признака конца слова ПРКС.
Блок регистра подстановок БРгПОД содержит: реверсивный регистр сдвига РгПОД (регистр подстановок), в котором будут храниться символы обрабатываемого слова в случае положительного сравнения в компарторе и электронный ключ КЛЧ.
Блок регистра буфера БРгБУФ содержит: реверсивный регистр буфера сдвига РгБУФ для промежуточного хранения информации и электронный ключ КЛ.
Блок регистра обрабатываемого слова БРгСОБ содержит реверсивный регистр сдвига РгСОБ (регистр слов), в котором будет храниться обрабатываемое слово и электронный ключ ЭКЛ.
По сигналам управления УРР из блока 63 управления модулем 1 происходит разрешение записи информации, по адресным входам АДЕ записываются данные ДНС в ОЗУ (память слов). С выхода памяти слов информация ДС поступает на входы блоков поиска и замены БПЗ параллельной системы. В каждом блоке поиска и замены входная информация ДС записывается в реверсивный регистр слова РгСОБ, по сигналам управления СУР из блока управления поиска и замены. Сигнал сдвига слов СДС из блока управления поиска и замены поступает на вход блока регистра обрабатываемого слова БРгСОБ, в котором на вход реверсивного регистра слов РгСОБ. Выходная информация из реверсивного регистра слова РгСОБ - ВДС поступает на вход логического элемента И, а также на второй вход компаратора КОМ, на информационный вход электронного ключа КЛЧ, затем на вход регистра подстановок РгПОД, на информационный вход регистра буфера РгБУФ через электронный ключ КЛ. На информационный вход регистра слова РгСОБ поступает выходная информация с регистра буфера РгБУФ. Логический элемент И формирует сигнал признака конца слова ПРКС, равный единице, если на входе элемента будут все единицы. Перед началом работы устройства в памяти слов ПС ОЗУ записаны все слова, в регистре слова РгСОБ находится первое слово, сигнал признака конца слова ПРКС, равен нулю. Если на выходе компаратора КОМ будет сформирован сигнал сравнения ССР, равный единице, то сигнал сдвига СДС будет равен нулю, в этом случае будет сформирован сигнал сдвига влево информации на один разряд. Информация из регистра слова РгСОБ сдвинется на один символ влево. Этот символ перейдет по информационным сигналам СИГ в регистр подстановок РгПОД. Процесс сдвига влево будет продолжаться до тех пор, пока не будет получен отрицательный результат сравнения в компараторе КОМ или не будет обнаружено вхождение в слове. Предположим, что было зафиксировано 5 сдвигов влево, а затем получен отрицательный сигнал сравнения ССР, равный нулю. В этом случае вся информация из регистра подстановок РгПОД перепишется в регистр буфер РгБУФ под управлением сигналов сдвига СДВП и ССД, равных нулю. После этого блоком управления поиска и замены будут сформированы сигналы сдвига вправо при этом сигналы сдвига СДС и ССД будут равны единице. Информация из регистра буфера РгБУФ будет сдвинута вправо на один символ меньше, чем влево, в нашем случае 4. В этом случае вторая буква слова будет первой в регистре слова РгСОБ, процесс поиска вхождений будет продолжен. Четыре буквы из регистра подстановок РгПОД перейдут вначале в регистр буфер РгБУФ, а затем перепишутся в регистр слова РгСОБ, если выбран режим работы устройства поиска и замены. Если выбран режим работы только поиска вхождений с сохранением адресов в ОЗУ, то в этом случае информация из регистра слова РгСОБ будет переписываться сразу в регистр буфера РгБУФ. Режимы работы устройства будут формироваться управляющими сигналами СУР, СИГ, СГУ из блока управления поиска и замены.
Блок анализа и формирования сигналов сдвига содержит: D - триггер Тр, двухвходовый логический элемент И с инверсным входом, двухвходовый логический элемент И, двухвходовый логический элемент И, трехвходовый логический элемент И с инверсным входом, четырехвходовый элемент И с инверсными входами, трехвходовый элемент И с инверсным входом, электронный ключ, двоичный счетчик СЧ1, двоичный счетчик СЧ2, двухвходовый элемент ИЛИ с инверсными входами, двухвходовый элемент И. Перед началом работы устройства двоичные счетчики, а также D - триггер Тр установлены в нулевое состояние. Блок анализа и формирования сигналов сдвига обрабатывает выходной сигнал ССР с компаратора КОМ. Если сигнал ССР равен единице, то это означает, что произошло совпадение двоичного кода символа вхождения с двоичным кодом буквы слова. В этом случае D - триггер Тр по приходу из блока управления поиска и замены разрешающего сигнала СЗЩ, равного единице, устанавливается в единичное состояние. Логический элемент И, выполняющий функцию электронного ключа, отпирается, тактовые импульсы ТАК из блока управления поиска и замены поступают на суммирующий (+) вход двоичного счетчика СЧ1. В двоичном счетчике СЧ1 происходит суммирование тактовых импульсов, количество которых соответствует количеству совпадений в компараторе КОМ. На выходе двоичного счетчика СЧ1 формируется двоичный код, соответствующий количеству положительных совпадений в компараторе. При каждом положительном совпадении в компараторе происходит формирование сигналов сдвига влево СДВ и СДС, равных нулю, и осуществляется сдвиг на один символ влево в регистрах РгВ блока 57 памяти вхождений и регистре слова РгСОБ блока регистра обрабатываемого слова. Регистр РгБУФ блока регистра буфера записывает каждый символ, поступающий из регистра слова РгСОБ, если сравнения не произошло. В случае обнаружения признака конца вхождения ПРКВ, равным единице, логическим элементом И блока регистра вхождений происходит определение адреса вхождения и записывание по соответствующему адресу записи в оперативное запоминающее устройство ОЗУ блока хранения адреса вхождений. Если признак конца слова не обнаружен ПРКВ=0 (равен нулю), то предыдущее вхождение восстанавливается, т.е. переписывается заново из памяти вхождений, и процесс поиска вхождений в слове продолжается в случае наличия нескольких вхождений в одном слове. Если совпадений в компараторе КОМ не происходит, выходной сигнал ССР равен нулю, то формируется только сигнал СДС, равным нулю, и происходит сдвиг влево на одну позицию информации, находящейся в регистре слова РгСОБ блока регистра обрабатываемого слова. При каждом сдвиге влево и отрицательном результате совпадения в компараторе из памяти слов ПС переписывается (дописывается) символ в регистр слова РгСОБ блока регистра обрабатываемого слова. Возможна ситуация в поисковой операции, когда был получен положительный результат сравнения символов, тогда формируется сдвиг влево на один разряд регистров РгСОБ и РгПОД. После сдвига получен второй раз положительный результат, третий и так далее, но признака конца вхождения еще нет. Допустим, на n шаге получен отрицательный результат сравнения, а вхождение полностью не обнаружено. В этом случае D - триггер Тр был установлен в состояние единицы, т.е. на выходе элемента единицы. На следующем этапе сигнал сравнения равен нулю ССР=0. На выходе логического элемента И будет сформирован единичный сигнал. Логический элемент И также будет открыт, прямоугольные импульсы из блока управления поиска и замены ПРИ будут поступать на вычитающий вход двоичного счетчика СЧ1. Вычитание происходит до тех пор, пока на выходе счетчика не будет двоичный код, равный единице. На положительный вход счетчика прямоугольные импульсы из блока управления поиска и замены поступать не будут, т.к. логический элемент И, выполняющий функцию электронного ключа, будет заперт установившимся в нулевое состояние D - триггером. Логический элемент И выполняет функцию дешифратора единицы. Выход этого элемента равен единице в случае получения на выходе счетчика СЧ1 двоичного кода 0001. При всех других комбинациях на выходе данного элемента будет состояние нуль. При единице на выходе этого элемента логический элемент И запирается, т.к. единица поступает на инверсный вход. Прямоугольные импульсы на вычитающий вход счетчика СЧ1 не поступают. Счетчик СЧ1 обнуляется командой ОБН, поступающей из блока управления поиска и замены. Логический элемент И выполняет роль своеобразного "клапана", формирующего количества сдвигов вправо регистра слова РгСОБ. Каждый раз когда происходит вычитание единицы из содержимого счетчика СЧ1, происходит перемещение вправо информации из регистра РгБУФ в регистр слова РгСОБ. Количество сдвигов вправо будет на один меньше, чем количество сдвигов влево. В нашем примере n-1. Вторая буква из полученной серии положительных сдвигов будет первой в регистре слова РгСОБ. Вхождение будет заново переписано из памяти вхождений в регистр вхождений РгВ. Процесс поиска будет продолжен. Логический элемент ИЛИ выполняет функцию распознавания режима работы. Как известно, система работает в двух независимых режимах: определения вхождений с общими частями и определения вхождений и без (пересечений) общих частей. В первом случае признак режима работы РР будет равен нулю. Во втором случае признак РР равен единице. Логический элемент И выполняет функцию электронного ключа. В случае когда признак работы системы РР равен нулю, на выходе элемента ИЛИ всегда будет единица. Электронный ключ будет открыт.Прямоугольные импульсы ПРИ из блока управления поиска и замены через открытый ключ поступают на третий вход логического элемента И. Этот режим характеризуется перемещением информации из регистра РгБУФ в регистр слова РгСОБ на n-1 разрядов, т.е. будет сформирован возврат информации, где n - количество положительных сдвигов, всякий раз когда будет обнаружено вхождение в обрабатываемом слове, при этом признак конца вхождения ПРКВ будет равен единице. Если режим работы системы будет установлен как поиск вхождений без общих частей, то в этом случае РР равен единице. В случае обнаружения вхождения при этом признак вхождений ПРКВ равен также единице. На выходе логического элемента ИЛИ установится нулевое значение. Электронный ключ И будет заперт. Прямоугольные импульсы ПРИ из блока управления поиска и замены не будут поступать на вход элемента И. Информация из регистра РгБУФ не переместится в регистр слова РгСОБ. В этом случае будет сформирован сдвиг влево символов из регистра слова РгСОБ в регистр РгПОД, т.е. возврата информации не будет.
Признак конца работы устройства ПСП, равный единицы, может быть сформирован тогда, когда все вхождения просмотрены, в памяти вхождений нет информации и память слов ПС также пуста. Если ПСП равен нулю, то регистр слова РгСОБ блока регистра обрабатываемого слова БРгСОБ принимает новую информацию (новое слово) из памяти слов.
Блок хранения адреса вхождений БХАВ содержит: оперативное запоминающее устройство ОЗУ, двоичный счетчик, формирующий адреса столбцов ОЗУ - Сч Ст, двоичный счетчик, формирующий адреса строк ОЗУ - Сч Стр. Двоичные счетчики в начале работы устройства обнулены управляющими сигналами СБР, СБО, поступающими из блока управления поиска и замены. На входы счетчиков поступают прямоугольные импульсы ГИ, ТИ из блока управления поиска и замены. Счетчики формируют адреса строк и столбцов, по которым будет записаны адреса вхождений, поступающие на вход оперативного запоминающего устройства ОЗУ, если выбран в устройстве только режим поиска вхождений. Сигналы управления оперативного запоминающего устройства ОЗУ считывания/запись и выбора кристалла соответственно при записи принимают значения Сч/Зп=0, ВК=0.
Блок 63 управления модуля 1 системы синтезируется на основе граф схемы алгоритма ГСА параллельной системой поиска и замены (фиг.11) известным способом [6].
Второй специализированный вычислительный модуль СпецВычМод2 - устройство сортировки слов содержит: входной 64 информационный канал ВхИК, n-блоков 65, 69 поиска вхождений, n-блоков 66, 70 ассоциативных запоминающих устройств, n-блоков 67, 71 обработки результатов сравнения, n-блоков 68, 72 хранения упорядоченных слов, блок 73 управления модуля 2 БУМОД2 (фиг.12) [8].
На фиг.12 изображена структурная схема вторго специализированного вычислительного модуля СпецВычМод2 - устройства сортировки слов.
На фиг.12 представлены:
ВхИК - входной информационный канал выполняет роль параллельного интерфейса, служит для передачи слов из внешнего источника (сеть ИНТЕРНЕТ, текстовые редакторы и т.д.) в устройство сортировки слов.
БПВ - блок поиска вхождений служит для определения слов, имеющих одинаковую первую букву.
БАЗУ - блок ассоциативного запоминающего устройства служит для хранения и упорядочения слов текста.
БОРС - блок обработки результатов сравнения служит для анализа результатов поиска на минимальное или максимальное значение в модуле АЗУ.
БХУС - блок хранения упорядоченных слов служит для записи и хранения в ОЗУ блока отсортированных слов текста.
БУМОД2 - блок служит для управления специализированным вычислительным модулем 2.
При решении информационно-логических задач требуется выбирать слова по их признакам. Например, при распределении слов в алфавитном порядке необходимо сначала выбрать слова, начинающиеся на букву "а", затем начинающиеся на букву "б" и т.д. Для этого надо многократно пересмотреть содержимое всех ячеек ЗУ. При решении обычных вычислительных задач много времени и усилий программистов затрачивается на распределение данных в ячейки адресного ЗУ и последующей учет этого распределения.
Все это привело к созданию ассоциативных запоминающих устройств АЗУ. Слова в АЗУ отыскиваются по их признакам, т.е., по их содержанию, а не по адресам ячеек, в которых записаны эти слова. В АЗУ, параллельных по словам и последовательных по разрядам, для обработки данных используются последовательные алгоритмы. Это позволяет проводить операцию на равенство - искомые слова равны заданному признаку. АЗУ могут функционировать в двух основных режимах: поисковом и вычислительном. В режиме поиска обычно требуется локализовать и считать из памяти все слова, подчиняющиеся определенным условиям:
1) равные, больше или меньше;
2) поиск минимального, максимального значения;
3) поиск величин, заключенных в заданном интервале;
4) поиск ближайшего снизу (сверху) значения;
5) упорядоченная выборка (сортировка);
6) поиск на основе булевых функций.
Ассоциативная память характеризуется рядом особенностей, к ним относятся:
1) большая емкость, которая может наращиваться путем добавления новых модулей;
2) возможность работы с записями переменной длины, состоящими из строк символов;
3) наличие средств для поиска по различным спецификациям и их сочетаниям.
В устройстве сортировки слов имеется n секций. В каждой секции находится четыре блока. На входы первых блоков всех секций поступает текстовая информация. Эти блоки отбирают слова с одинаковой первой буквой. Затем эти слова записываются в модуль АЗУ каждой секции. Для алфавитной сортировки модули АЗУ многократно просматриваются. Вначале происходит поиск минимального или максимального значения по второй букве, если не выявляется слово, то алгоритм обработки повторяется по третьей букве и т.д. до тех пор, пока не будут просмотрены все буквы всех слов. Функции анализа признаков, полученных после обработки информации в модуле АЗУ, выполняет третий блок каждой секции. Найденные слова записываются в оперативно-запоминающее устройство четвертого блока каждой секции. Все слова в строгом соответствии с порядком записи хранятся в ОЗУ. Для дальнейшей обработки слов, упорядоченных в алфавитном порядке и хранящихся в ОЗУ, осуществляется перезапись снова этих слов в АЗУ каждой секции для выполнения других операций, например: архивации слов, подсчета одинаковых слов, определения заданных букв в определенной позиции в словах и т.д.
Для описания алгоритма работы блока 73 управления модуля 2 используются следующие идентификаторы:
161. ВхИ - входная информация, поступающая на входы блоков поиска вхождений.
162. СУП - сигналы управления работой регистра RG блока поиска вхождений, поступающие из блока 73 управления модуля 2.
163. РВ - сигнал равенства входных величин, поступающий с выхода компаратора блока поиска вхождений.
164. КПБ - информационный сигнал, соответствующий коду первой буквы слова. Сигнал поступает на вход регистра RG блока поиска вхождений.
165. УС - сигнал управления режимом работы электронного ключа ЭК блока поиска вхождений.
166. СОПБ - информационный сигнал, соответствующий словам, имеющих одинаковую первую букву. Сигнал поступает из блока поиска вхождений на вход блока ассоциативного запоминающего устройства.
167. УР - управляющие сигналы, поступающие на вход блока ассоциативного запоминающего устройства. Сигналы управляют работой АЗУ, устанавливают режимы работы ассоциативного запоминающего устройства.
168. УС"0" - управляющие сигналы, поступающие на вход блока ассоциативного запоминающего устройства. Сигналы управляют работой АЗУ, устанавливают режимы работы ассоциативного запоминающего устройства.
169. ГТИ - генератор тактовых импульсов. Импульсы поступают из блока 73 управления модуля 2 на суммирующий вход двоичного счетчика СЧ5 блока ассоциативного запоминающего устройства.
170. СЛ - информационный сигнал, соответствующий выходному слову модуля АЗУ блока ассоциативного запоминающего устройства. Сигнал поступает на вход оперативно-запоминающего устройства блока хранения упорядоченных слов.
171. УСЛ - упорядоченные слова, которые переписываются из ОЗУ блока хранения упорядоченных слов в модуль АЗУ блока ассоциативного запоминающего устройства.
172. ПС АЗУ - управляющий сигнал, признак просмотра всей длины строк модуля АЗУ.
173. ПСВ - выходная информация анализатора многократного совпадения блока ассоциативного запоминающего устройства, соответствующая поиску минимального или максимального значения в модуле АЗУ блока ассоциативного запоминающего устройства.
174. АЗС - адреса (номера) строк в модуле АЗУ, в котором необходимо удалить слова во избежании ситуации "зацикливание" при упорядочении информации.
175. РАЗ - управляющий сигнал разрешения работы мультиплексора блока обработки результатов сравнения, поступающий из блока 73 управления модуля 2.
176. ЗАП - управляющий сигнал, соответствующий только одному минимальному или максимальному значению, обнаруженному в строках модуля АЗУ.
177. ЗАС - сигнал разрешения записи слова в оперативно-запоминающее устройство блока хранения упорядоченных слов. Сигнал поступает на вход блока 73 управления модуля 2.
178. ТИ - тактовые импульсы, поступающие на суммирующий вход двоичного счетчика СЧ1 блока обработки результатов сравнения.
179. ГИ - генератор прямоугольных импульсов. Импульсы поступают на информационный вход логического элемента И блока обработки результатов сравнения.
180. СБР - сигнал сброса в нулевое состояние двоичного счетчика СЧ1 блока обработки результатов сравнения.
181. ОБН - сигнал обнуления двоичного счетчика СЧ2 блока обработки результатов сравнения.
182. ВК - сигнал выбора кристалла, поступающий на вход ОЗУ блока БХУС. Сигнал управляет работой ОЗУ.
183. Сч/Зп - управляющий сигнал считывания или записи информации ОЗУ блока БХУС. Сигнал управляет режимами работы ОЗУ.
184. ИМ - прямоугольные импульсы, поступающие на суммирующий вход двоичного счетчика СЧЗ - счетчика столбцов для формирования адреса столбцов в ОЗУ блока БХУС.
185. ИМП - прямоугольные импульсы, поступающие на суммирующий вход двоичного счетчика СЧ4 - счетчика строк для определения адреса строк в ОЗУ блока БХУС.
186. ССБР - сигнал сброса в нулевое состояние счетчика Сч3 блока БХУС.
187. СБО - сигнал обнуления счетчика Сч4 блока БХУС.
188. СБРОСМОД2 - команда сброса в нулевое состояние элементов специализированного вычислительного модуля 2.
189. ПУСКМОД2 - команда пуска работы специализированного вычислительного модуля 2.
Работа специализированного вычислительного модуля 2 - устройства сортировки слов - заключается в следующем. Внешние управляющие сигналы ПУСКМОД2 и СБРОСМОД2 поступают в блок 73 управления модуля 2.
Блок 65 поиска вхождений БПВ содержит электронные ключи ЭлКл, компаратор КОМ и регистр RG. Функция блока поиска вхождений заключается в следующем: из всех слов текста необходимо отобрать те слова, у которых одинаковая первая буква. Этот блок сортирует слова по первой букве. На управляющий вход электронного ключа ЭлКл поступает управляющий сигнал УС из блока 73 управления модуля 2. На информационные входы электронного ключа ЭлКл поступает первая буква слова из входного информационного канала ВхИК. Выходная информация с выхода электронного ключа ЭлКл поступает на первый вход узла сравнения - компаратора КОМ. На второй вход компаратора КОМ поступает двоичный код первой буквы (код ASCII - международная американская стандартная кодировка символов). Перед началом работы устройства в регистр RG блока БПВ, после обнуления и установки к работе информационным сигналом СУП1 загружается код буквы - КПБ1 из блока 73 управления модуля 2. Если управляющий сигнал УС электронного ключа ЭлКл равен нулю, то информация на первый вход компаратора КОМ не поступает, электронные ключи заперты. Если управляющий сигнал равен единице, то в этом случае электронные ключи ЭлКл будут открыты, информация поступит на вход компаратора КОМ. Компаратор КОМ работает в режиме сравнения на равенство. Если выходной сигнал компаратора КОМ - РВ равен нулю, то сравнения не произошло, входные величины не равны между собой. Если сигнал РВ равен единице, то в этом случае входные коды равны между собой. Определено слово из текста, которое имеет заданную первую букву. Это слово поступает на вход блока ассоциативного запоминающего устройства - БАЗУ и записывается в модуль АЗУ по внешнему адресу. Сигнал РВ поступает на вход блока 73 управления модуля 2.
Блок 66 ассоциативного запоминающего устройства содержит модуль АЗУ, регистр аргумента поиска, селектор адреса и дешифратор, память фиксации реакций, анализатор многократного совпадения, двоичный счетчик Сч5. В начале работы устройства двоичный счетчик Сч5 обнуляется управляющим сигналом УС0, который поступает из блока 73 управления модуля 2. Режим работы модуля АЗУ устанавливается на поиск минимального или максимального значения. В модуле АЗУ записываются все слова с одинаковыми первыми буквами. Поэтому поиск минимального или максимального значения следует проводить, начиная со вторых букв слов. На первый вход селектора адреса и дешифратора поступает информационный сигнал СОПБ из блока поиска вхождений. На второй вход поступает информационный сигнал УСЛ. Это упорядоченные слова записываются из ОЗУ блока БХУС для дальнейшей обработки. На третий вход этого блока поступает внешний адрес ВнАд с выхода двоичного счетчика Сч5. По этому адресу входная информация СОПБ записывается в модуль АЗУ. На суммирующий вход счетчика Сч5 поступают сигналы прямоугольных импульсов ГТИ из блока 73 управления модуля 2. Счетчик подсчитывает количество прямоугольных импульсов на входе и в результате этого формируется внешний адрес в двоичном коде, который поступает на вход селектора адреса и дешифратора. На вход регистра аргумента поиска поступает из блока 73 управления модуля 2 информационный сигнал УР, который устанавливает режим работы модуля АЗУ. Перед началом поиска во все разряды памяти реакций заносятся нули; если на одном из шагов выявляется слова, совпадающие с режимом поиска, то соответствующие им разряды устанавливаются в "1". Те разряды, которые были однажды установлены в "1", далее не изменяют своего значения независимо от результатов последующих сравнений. В результате просмотра двоичного кода очередного символа слов все разряды памяти фиксации реакций устанавливаются в состояние "1", что соответствует соотношению, неравному минимальному или максимальному значению. Где находятся нули, то в этих строках модуля обнаружен минимум или максимум. Выходная информация с выхода памяти фиксации реакций в виде двоичного вектора поступает на вход анализатора многократного совпадения. Анализатор многократного совпадения выполняет функцию приоритетного искателя и состоит из буферных регистров. На выходе этого блока при поиске минимального или максимального значения в модуле АЗУ формируются признаки обработки слов - информационный сигнал - ПСВ. На выходе этого же блока формируется сигнал ПС АЗУ, который означает признак просмотра всех столбцов в модуле АЗУ. Этот сигнал поступает на вход блока БОРС. Если сигнал ПС АЗУ равен нулю, то процесс поиска продолжается. Если сигнал равен единице, то необходимо записать в ОЗУ блока БХУС все слова из модуля АЗУ, у которых признак поиска ПСВ остался в нулевом состоянии, из модуля АЗУ удалить эти слова. Информационный сигнал ПСВ поступает на вход мультиплексора МИХ блока обработки результатов сравнения для дальнейшего анализа. Выходной информацией модуля АЗУ является сигнал СЛ это слова, которые поступают на вход ОЗУ блока БОРС.
Блок 67 обработки результатов сравнения БОРС содержит мультиплексор МИХ с инверсными входами, двоичный счетчик Сч1, двоичный счетчик Сч2, логический элемент И на два входа, логический элемент И на три входа с одним инверсным входом, логический элемент И с инверсными входами с одним прямым входом. Работа блока БОРС начинается с подачи сигнала разрешения РАЗ, равного единице, из блока 73 управления модуля 2 на управляющий вход мультиплексора МИХ. На информационные входы мультиплексора МИХ подается сигнал ПСВ с выхода анализатора многократного совпадения блока БАЗУ. Счетчик Сч1 блока формирует управляющие сигналы АЗС, которые поступают на вход мультиплексора МИХ. Перед началом работы устройства все двоичные счетчики установлены в нулевое состояние. Счетчик Сч1 обнуляется сигналом СБР - сброс, поступающим из блока 73 управления модуля 2. На второй вход счетчика Сч1 поступают из блока 73 управления модуля 2 тактовые импульсы ТИ на суммирующий вход счетчика. При поступлении управляющих сигналов АЗС на входы мультиплексора МИХ происходит последовательное соединение каждого входа с одним выходом ЕДН. Если на выходе ЕДН будет единица, то откроется логический элемент И, но при нулевом значении сигнала ПС АЗУ (просмотра строк модуля АЗУ). На выходе логического элемента И будет высокий потенциал - единица. На второй прямой вход логического элемента И из блока 73 управления модуля 2 поступают прямоугольные импульсы ГИ. При открытом логическом элементе И прямоугольные импульсы ГИ поступают на вход суммирующего входа счетчика Сч2. Перед началом текстовой обработки двоичный счетчик Сч2 был обнулен сигналом ОБН, который поступил из блока 73 управления модуля 2. Двоичный счетчик Сч2 предназначен для подсчета прямоугольных импульсов ГИ, которые поступили на суммирующий вход. Выходная информация из двоичного счетчика Сч2 поступает на вход логического элемента И, который выполняет функцию дешифратора. Эта функция заключается в поиске одной единицы, поступившей на вход элемента. Если на прямой вход логического элемента И поступила единица, а на все остальные входы поступили нули, то в этом случае на выходе будет установлена единица. Выходной сигнал ЗАП будет равен единице. Это означает, что в модуле АЗУ найдена буква, которая имеет минимальное (максимальное) значение. В этом случае анализ слов в модуле АЗУ временно прекращается. Найденное слово записывается по сформированному адресу в ОЗУ блока БХУС. Из модуля АЗУ это же слово будет удалено. Если сигнал ЗАП будет равен нулю, то это означает, что несколько слов имеют минимальное (максимальное) значение в данной позиции. В этом случае необходимо анализировать последующие символы слов. Описанная выше цепь будет работать только в том случае, если управляющий сигнал ПС АЗУ -просмотр строк будет равен нулю. Если сигнал ПС АЗУ будет установлен в единицу, то это означает, что просмотрен весь модуль АЗУ по всей длине, а сигнал ЗАП не был равен единице. Эта ситуация означает, что в модуле АЗУ имеется несколько слов, имеющих одинаковый набор и порядок букв. В этом случае анализ слов в модуле АЗУ прекращается, эти слова переписываются в ОЗУ блока БХУС, а из модуля АЗУ удаляются. Работа блока БОРС заключается в анализе информации из блока БАЗУ. Если обнаружено одно минимальное или максимальное значение в модуле, то это слово переписывается в блок БХУС. Если не обнаружено одно минимальное или максимальное, но просмотрен весь модуль АЗУ, то переписываются в блок, БХУС несколько слов,т.к. они одинаковые.
Блок 68 хранения упорядоченных слов БХУС содержит оперативно-запоминающее устройство ОЗУ. Каждое ОЗУi работает совместно с двумя двоичными счетчиками Сч3 и Сч4. Этот блок предназначен для хранения упорядоченных слов текста. Счетчики Сч3 и Сч4 формируют адреса столбцов и адреса строк. По этим адресам информация записывается в оперативное запоминающее устройство. Двоичные счетчики в начале работы устройства обнулены управляющими сигналами ССБР1, СБО1, поступающими из блока 73 управления модуля 2. На суммирующие входы счетчиков поступают прямоугольные импульсы ИМ1, ИМП1 из блока 73 управления модуля 2. Счетчики формируют адреса строк и столбцов, по которым будут записаны слова СЛ1 из блока БАЗУ, поступающие на вход оперативного запоминающего устройства ОЗУ. Входным сигналом СЛ1 является обнаруженное слово в блоке ассоциативного запоминающего устройства. Входной сигнал поступает на входную шину ОЗУ1. Сигналы управления оперативного запоминающего устройства ОЗУ считывания/запись и выбора кристалла соответственно при записи принимают значения Сч/Зп1=0, ВК1=0. Выходом ОЗУ1 является информационный сигнал УСЛ1.
Блок 73 управления модуля 2 синтезируется на основе граф схемы алгоритма ГСА устройства сортировки слов (фиг.12) известным способом [6].
Третий специализированный вычислительный модуль СпецВычМод3 - система распределения ресурсов со многими параметрами содержит: локализованный 74 центр ЛЦ1, локализованный 75 центр ЛЦ2, локализованный 76 центр ЛЦn, магистраль 77 передачи данных, блок 78 управления модуля 3 (фиг.13) [9].
На фиг.13 изображена структурная схема третьего специализированного вычислительного модуля СпецВычМод3 - системы распределения ресурсов со многими параметрами.
На фиг.13 представлены:
ЛЦ1, ЛЦ2, …, ЛЦn - блоки служат для формирования избыточных ресурсов со многими параметрами, которые необходимо распределить по ассоциативным запоминающим устройствам (АЗУ) других блоков, а также для получения хранения и анализа ресурсов (продуктов) со своими параметрами, полученных от других блоков.
Магистраль передачи данных служит для формирования канала передачи ресурсов между локализованными центрами.
БУМОД3 - блок служит для управления специализированным вычислительным модулем 3.
Каждый локализованный центр будем представлять в виде черного ящика с множеством входом мощностью Р и множеством выходов мощностью S. По каждому входу определим дефицит соответствующего материального или информационного потока, а по каждому выходу - скорость формирования материальных или информационных ресурсов заданного локализованного узла. Система локализованных узлов функционирует оптимально тогда, когда минимизирована при заданных ограничениях следующая функция:
где MINi - объем ресурса и каждого параметра указанного ресурса;
Xj - объем "свободного места" в локализованном центре; i - 1,2, …, N - число оперативных запоминающих устройств в локализованном центре (ЛЦ);
j - 1,2, …, T - число ассоциативных запоминающих устройств в локализованном центре (ЛЦ).
В оперативных запоминающих устройствах каждого ЛЦ предварительно записывается двоичный код, который соответствует объемам избыточных ресурсов. В каждом локализованном центре ЛЦ имеется несколько оперативных запоминающих (ОЗУ) устройств. Информация каждого ОЗУ соответствует определенному конкретному ресурсу (продукту) с определяющими его параметрами. Например, 1-е ОЗУ - 1-й ресурс - наименование ресурса (продукта), количество (объем) ресурса (продукта), вид (сорт) ресурса, цена ресурса, расстояние между локализованными центрами, и т.д. 2-е ОЗУ - 2-й ресурс и его параметры, 3-е ОЗУ - 3-й ресурс и его параметры, и т.д. Количество таких ОЗУ будет значение n. В оперативных запоминающих устройствах (ОЗУ) каждого локализованного центра (ЛЦ) будет храниться информация по m параметрам.
В ассоциативных запоминающих устройствах (АЗУ) каждого ЛЦ также предварительно записывается информация в виде двоичного кода, соответствующая наличию объема "свободных" мест по всем параметрам. Количество ассоциативных запоминающих устройств (АЗУ) каждого локализованного центра ЛЦ соответствует значению k. Формируется столько "свободных мест" в АЗУ системы, сколько параметров определено в оперативных запоминающих устройствах (ОЗУ) локализованных центров (ЛЦ). Задача системы распределения ресурсов со многими параметрами заключается в нахождении мест в АЗУ системы избыточных ресурсов и их параметров и передачи их для дальнейшего анализа. Если объемы избыточных ресурсов больше, чем наличие свободных мест, то распределения ресурсов не происходит. Процесс передачи избытка на свободные места будет возможен тогда, когда выполняется условие (1), т.е. объемы избыточных ресурсов и параметров равны или меньше предоставленных объемов "свободных" мест.
Таким образом, система распределения ресурсов со многими параметрами обеспечивает режим управления материальными потоками или информацией, который обеспечивает оптимальное сбалансированное функционирование системы взаимодействующих локализованных узлов (СВЛУ) по многим ресурсам и параметрам.
При рассмотрении СВЛУ необходимо решить одну из основных задач по распределению ресурсов между локализованными центрами (ЛЦ). Рассмотрим один локализованный центр (ЛЦ) в отдельности. ЛЦ производит какие-то продукты (сельхоз, промышленные, добывающие, перерабатывающие и т.д). Введем обозначения РС1 - ресурс 1-й, РС2 - ресурс 2-й, РС3 - ресурс 3-й, …, PCn - ресурс n-й. Каждый ресурс имеет несколько параметров в виде цены, сорта (вида), количества, и т.д. Введем обозначения для параметров 1-го ресурса РС1 - ХП1РС1, УП2РС1, МП3РС1, RПmPC1. Буква "П" означает параметр. Буква "П" и число - параметр и его номер, например параметр 1-й, параметр 2-й и т.д. Цифра перед буквой "П" представляет собой количество данного параметра. У этого ЛЦ имеются места для хранения этих или других ресурсов (продуктов) и их соответственных параметров, обозначим их как WCM1, QCM2, ТСМ3, …, ВСМm для одного определенного ресурса и его параметров. Буква перед "свободным" местом указывает на объем "свободного" места под параметры. Возможна ситуация когда "свободного" места у данного ЛЦ не хватает для хранения ресурса (продуктов) и его параметров, т.е. имеет место соотношение:
где PCi - i-й избыточный ресурс;
wП1, …, fПj - количество параметров и их количественный эквивалент;
CM1, …, CMm - "свободные" места;
Х - количество избыточного ресурса;
у, s - количественные выражения объемов свободных мест; z - порядковый номер избыточного ресурса;
Такую ситуацию с продуктами (ресурсами) запишем следующим образом:
Над чертой (в числителе) перечисляются через знак # все продукты (ресурсы) и их параметры, находящиеся в избытке, а также указано их количество. Под чертой (в знаменателе) перечисляется наличие свободного места в ЛЦ. Определено наличие свободного места и указан его порядковый номер, а также "свободные" места под параметры. Такую запись будем называть избыток-свободное место.
Введем некоторые обозначения и ограничения: каждый локализованный центр (ЛЦ) должен иметь порядковый номер - натуральное число, все продукты (ресурсы) будем считать дискретными, т.е. их количества измеряются натуральными числами, ресурсы (продукты) и параметры, записанные в числителе одного локализованного центра (избыток), не должны быть записаны в знаменателе (свободное место).
Считывается первый избыточный ресурс РС1 1-го локализованного центра, затем сравнивается количественный эквивалент этого ресурса со всеми "свободными" местами остальных локализованных центров. В ассоциативном запоминающем устройстве осуществляется несколько видов сравнений: определения максимального числа, минимального, сравнения на равенство, на больше равно и т.д. Первый режим сравнения целесообразно выбирать в качестве поиска на равенство. Если равенство установлено, то выполняется пересылка избыточного ресурса PC на "свободное" место в АЗУ другого локализованного центра, по этому алгоритму осуществляется сравнение из этого же ОЗУ параметров этого ресурса. Если получен отрицательный результат сравнения, то АЗУ системы производят операцию сравнения на ближайшее большее значение. Если получен положительный результат сравнения, то на сумматоре-вычитателе находится разность между количеством избыточного ресурса и объемом "свободного" места. В это же АЗУ, где установлен положительный результат сравнения, записывается избыточный ресурс и по другому адресу записывается полученная разность, аналогично система обрабатывает каждый параметр данного ресурса. Допустим, что система определилась с одним ресурсом РС1, тогда необходимо считать из оперативного запоминающего первый параметр ресурса, затем второй и т.д., пока не закончатся все характеристики ресурса. Как только система определилась с первым ресурсом и его параметрами, из второго ОЗУ считывается второй ресурс РС2 и соответственно его параметры, затем из третьего ОЗУ считывается третий РС3 и параметры, из n-го ОЗУ считывается n-й PCn и соответствующие параметры по аналогичному алгоритму поиска "свободного места" попытаться найти "свободное место" в ассоциативно-запоминающих устройствах других локализованных центров ЛЦ. Процесс сравнения и распределения продолжается до тех пор, пока не будут просмотрены все избыточные ресурсы и соответствующие параметры всех локализованных центров и определены все возможные варианты эффективного распределения ресурсов.
Если не будет положительного результата сравнения ни в первом случае, ни во втором случаях, то избыточные ресурсы и парметры останутся на прежнем месте, распределение в этом случае не выполняется.
После того как все избыточные ресурсы всех локализованных центров будут распределены, в АЗУ системы будет записана новая двоичная информация.
Для описания алгоритма работы блока 78 управления модуля 3 используются следующие идентификаторы:
190. BX1 - первый информационный сигнал.
191. ВХ2 - второй информационный сигнал.
192. BXn - n-й информационный сигнал.
193. ВЫХ1 - первый выходной информационный сигнал.
194. ВЫХ2 - второй выходной информационный сигнал.
195. ВЫХn - n-й выходной информационный сигнал.
196. СУП1 - первый сигнал управления.
197. СУП2 - второй сигнал управления.
198. СУПn - n-й сигнал управления.
199. СБРОСМОД3 - команда сброса в нулевое состояние элементов специализированного вычислительного модуля 3.
200. ПУСКМОД3 - команда пуска работы специализированного вычислительного модуля 3.
Работа системы распределения ресурсов со многими параметрами.
Внешние управляющие сигналы ПУСКМОД3 и СБРОСМОД3 поступают в блок 78 управления модуля 3.
Работа системы заключается в следующем:
Каждый локализованный центр (ЛЦ) на первой стадии работы системы должен определиться со своими ресурсами (продуктами) и параметрами. Определить, какие ресурсы и параметры будут в избытке и в каком количестве. Двоичный эквивалент количества избыточного ресурса и параметров будет предварительно записан в оперативное запоминающие устройство каждого локализованного центра. Также каждый центр формирует объемы "свободных" мест. Эта информация записывается в виде двоичного кода в ассоциативно-запоминающее устройство каждого ЛЦ.
Система распределения ресурсов со многими параметрами может работать в двух режимах: безприоритетном и приоритетном. Безприоритетный режим работы системы осуществляется по очередном порядке распределения ресурсов и параметров. Этот режим характерен тем, что процесс считывания и сравнения двоичного эквивалента количества избыточного продукта (ресурса) и параметров из ОЗУ локализованного центра будет проходить с 1-го по n-й в очередном порядке. Сначала происходит распределение ресурсов и параметров 1-го центра, затем 2-го, и т.д. до последнего.
Второй режим определяется приоритетным считыванием и сравнением ресурсов и параметров из ОЗУ локализованных центров. Блок 78 управления модуля 3 может формировать сигналы управления выбором микросхемы и считывание/запись ОЗУ ЛЦ системы в приоритетном порядке. Вначале с наивысшим приоритетом, затем по убыванию. Отметим, что первым считывается 2-й ресурс из 2-го ОЗУ 1-го ЛЦ, затем его параметры. Затем 3-й ресурс со своими параметрами из 3-го ОЗУ 3-го ЛЦ и т.д. Это пример приоритетного распределения ресурсов представленной системы. Режимы работы системы формируются в блоке 78 управления модуля 3.
Локализованный центр ЛЦ1 состоит из электронного ключа КЛ1, блока памяти БП1 и сумматора-вычитателя СУМ-ВЫЧ1. Все локализованные центры системы состоят из однотипных блоков, выполняющих одинаковые функции. На вход блока памяти БП1 вначале поступает входной сигнал (двоичный код избыточного ресурса) - BXi. Одновременно этот сигнал поступает на вход электронного ключа КЛ1. На остальные входы блока памяти БП1 поступают информационные входы из блока 78 управления модуля 3: СУА1 - информационный сигнал маскирования и управления записью и считывания информации в АЗУ1-АЗУm, СНУ1 - информационный сигнал обнуления счетчиков и прямоугольные импульсы блока БПУ1 предварительной установки, СУО1 - информационный сигнал выбора кристалла и считывания/записи в ОЗУ1-ОЗУn, НУА1 - информационный сигнал начальной установки и формирования адресов блока БНУА1 начальной установки и адреса. В блоке памяти БП1 происходит сравнение вначале на равенство входного сигнала BXi с предварительно установленной информацией в АЗУ локализованных центров системы. Если результат сравнения положительный, то входная информация записывается в АЗУ этого локализованного центра. Затем считываются из ОЗУi параметры этого же ресурса. Вначале режим сравнения также определен на равенство. Если результат сравнения отрицательный, то устанавливается режим сравнения во всех АЗУ системы на ближайшее большее как ресурса, так и параметров. Если результат сравнения положительный, то выходной сигнал CPi - сравнения устанавливается в единицу i-го АЗУ j-го локализованного центра. Это означает, что "свободного" места имеется больше, чем затребовано при распределении избыточного ресурса. Электронный ключ KЛi открывается и входной сигнал ВХД1 поступает на вход сумматора-вычитателя. На второй вход сумматора-вычитателя поступает двоичный код PPj из АЗУj блока памяти БПi. При этом справедливо неравенство:
На выходе сумматора-вычитателя СУМ-ВЫЧi формируется разность PЗj между входными сигналами: PPj и BXi. Входная информация BXi и полученная разность PЗj записываются по соответствующим адресам в AЗУj по приходу сигнала из блока управления СУАj данного локализованного центра ЛЦk. Если результат сравнения отрицательный, то это означает что "свободного" места меньше, чем необходимо, распределение ресурса в этом случае не происходит. В случае положительного результата сравнения на равенство, а затем на ближайшее большее по алгоритму работы системы выполняется считывание параметров этого же ресурса из i-го ОЗУ по очередному адресу следующего двоичного кода, эквивалентного избыточному параметру.
Блок памяти БП1 состоит из дву блоков: блока формирования избыточного ресурса первый БФИР1 и блока формирования "свободных мест" первый БФСМ1. На вход блока БФИР1 поступают информационные сигналы: НУА1 - первый информационный сигнал начальной установки и формирования адресов блока БНУА1, СУО1 - первый информационный сигнал выбора кристалла и считывания/записи ОЗУ, выходным информационным сигналом блока БФИР1 является выходной сигнал ВЫХ1. На вход блока БФСМ1 поступают информационные сигналы: СНУ1 - информационный сигнал обнуления счетчиков и прямоугольные импульсы блока БФСМ1, РЗ1 - результат разности между i-выходным информационным сигналом ВХДi и информационным выходом блока БФСМ1 РР1, BXi - i-й входной информационный сигнал, СУА1 - информационный сигнал маскирования и управления записью и считывания информации из АЗУ. Выходными сигналами блока являются: РР1 - выходной информационный сигнал логического элемента ИЛИ 3 блока первого формирования "свободных мест" БФСМ1, СС1 - выходной управляющий сигнал логического элемента ИЛИ 2 блока первого формирования "свободных мест" БФСМ1.
Блок формирования избыточного ресурса первый БФИР1 состоит из оперативных запоминающих устройств ОЗУ1-ОЗУn, блока БНУА1 начальной установки и формирования адресов строк и столбцов оперативно-запоминающего устройств ОЗУ1-ОЗУn, логической схемы ИЛИ1. Перед распределением ресурсов и параметров, т.е. основной работы системы, в ОЗУ1-ОЗУn записывается предварительная информация. В ОЗУ1-ОЗУn вносится информация об избытках ресурсов (продуктов) и их параметров. По приходу из блока управления локализованного центра информационного сигнала НУА1 - сигнала начальной установки и формирования адресов вначале происходит обнуление счетчиков, формирующих адреса для записи информации в ОЗУ1-ОЗУn. Счетчики блока БНУА1: СчУД1, СчСЛ2, СчСТ3 установлены в нулевое состояние. По приходу сигналов из блока управления: ТИ1, ГИ1, ГИМ1 блока БНУА1 на входы счетчиков СчУД1, СчСЛ2, СчСТ3 формируются шины данных ШД1, адреса строк ШАС1, а также адреса столбцов ШАСТ1, которые поступают на входы ОЗУ1-ОЗУn блока БФИР1. По адресам строк и столбцов данные записываются в оперативные запоминающие устройства блока формирования избыточного ресурса. Эти данные соответствуют информации об избыточных ресурсах и их параметров конкретного локализованного центра ЛЦК. Запись в ОЗУ происходит при установлении сигналов выбора микросхемы ВК1-ВКn, равному нулю, а также сигнала считывание/запись С/З1-С/Зn, равному. В этом блоке происходит обнуление и запись соответствующей информации в элементы памяти блока первого формирования избыточного ресурса БФИР1.
Блок формирования "свободных" мест первый - БФСМ1 состоит из ассоциативных запоминающих устройств АЗУ1-АЗУm, БПУ1 - блока первого первоначальной установки и формирования адресов строк и столбцов ассоциативно-запоминающих устройств АЗУ1-АЗУm, логической схемы ИЛИ1, логических схем ИЛИ2, ИЛИ3. Перед распределением ресурсов и их параметров в АЗУ1-АЗУm записывается предварительная информация. В АЗУ1-АЗУm записывается двоичный код, соответствующий объемам "свободных" мест в локализованном центре ЛЦk. По приходу информационного сигнала СНУ1 - обнуления счетчиков и предварительной установки - на вход блока БПУ1 происходит вначале обнуление счетчиков СчД и СчА сигналами СБО1 и СБР1. Затем на входы этих счетчиков поступают прямоугольные импульсы ПИ1 и ПИМ1, формируя шину данных ШДА1 и адресную шину ШАА1. Выходы счетчиков СчД и СчА блока БПУ1 предварительной установки поступают на вход логической схемы ИЛИ1. Выходная информация логической схемы ИЛИ1 - ВИР1 поступает на вход ассоциативных запоминающих устройств АЗУ1-АЗУm и записывается по сформированным адресам. Это предварительный этап работы системы, при котором записывается двоичная информация в АЗУ1-АЗУm, соответствующая "свободным" местам в ЛЦk. На этом этапе происходит обнуление и запись соответствующей информации в элементы памяти блока формирования "свободных" мест БФСМ1.
Следующий этап работы системы заключается в считывании информации из ОЗУ1-ОЗУn одного локализованного центра и сравнении с двоичным кодом АЗУ1-АЗУm других ЛЦ системы. По установленным адресам ШАС и ШАСТ блока БНУА и соответствующим сигналам выбора микросхемы ВК, равным нулю, и считывание/запись С/З, равным единице, выбранного для работы ОЗУ, происходит считывание информации из памяти. На выходе ОЗУ формируется выходной информационный сигнал ВЫХ1, который соответствует избытку ресурса. Этот сигнал поступает на вход магистрали передачи данных. Через магистраль эта информация поступает на входы блоков памяти других локализованных центров. Входная информация BXi поступает на вход логических элементов ИЛИ1-ИЛИm блоков формирования "свободных" мест БФСМ системы. С выхода схем ИЛИ1-ИЛИm двоичный код поступает на вход ассоциативно-запоминающих устройств АЗУ1-АЗУm. В АЗУ1-АЗУm системы происходит сравнение поступившей информации с ранее записанным в запоминающие ячейки двоичном кодом. Если сравнение на равенство установлено, то по соответствующим адресам того же ОЗУi происходит считывание первого параметра этого же ресурса. В начале в это АЗУj, где установлен положительный результат на сравнение ресурса, формируется режим сравнения на равенство теперь первого параметра. Если результат отрицательный, то устанавливается режим сравнения в АЗУj на ближайшее большее значение. Этот режим формируется с помощью информационного сигнала СУА1, поступающего на вход АЗУj из блока управления. При положительном результате на выходе АЗУj формируется сигнал СС1 сравнения, равный единице. Полученная разность с выхода сумматора-вычитателя РЗ1 записывается по другому адресу в это же АЗУ, при дальнейшем процессе сравнения данные этой ячейки участвуют. В дальнейшем процесс считывания параметров из ОЗУi продолжается до тех пор, пока не будут считаны все параметры данного ресурса. В случае положительного результата в нескольких АЗУ системы процесс распределения ресурсов и параметров будет осуществлен только в одной АЗУj. В дальнейшем эта АЗУj в распределении ресурсов и параметров не участвует. Система "запрещает" работу этой АЗУj. Затем происходит считывание ресурса из следующего ОЗУх системы. В начале считывается значение ресурса, в случае положительного результата считываются последовательно параметры этого же ресурса.
На фиг.13 на входы локализованных центров ЛЦn поступают из блока 78 управления модуля 3 только по одному информационному сигналу СУПn - сигналу управления. В состав СУП1 информационного сигнала входят информационные сигналы: НУА1 - сигналы обнуления и формирования данных и адресов блока БНУА1 начальной установки, СНУ1 - сигналы обнуления и формирования данных и адресов блока БПУ1 предварительной установки, СУА1 - сигналы маски ассоциативно-запоминающих устройств, СУО1 - сигналы выбора микросхемы и считывания/запись, УПА1 - управление работой арифметического процессора, УПС1 - управление работой специализированными устройствами символьной информации. Основная задача информационных сигналов - осуществление связей между блоками и надежная передача двоичного кода между блоком управления и остальными устройствами системы.
Блок БНУА1 - начальной установки и формирования адресов строк и столбцов оперативного запоминающего устройства ОЗУ состоит из двоичных счетчиков: СчУД - установки данных, СчСЛ - формирователя адресов столбцов, СчСТ - формирователя адресов строк. На входы двоичных счетчиков поступают сигналы из блока 78 управления модуля 3 - установки в нулевое состояние: УО1 - сброс в нуль счетчика СчУД, СБ1 - обнуление счетчика СчСЛ, СБС1 - обнуление счетчика СчСТ. Перед началом загрузки элементов памяти все счетчики должны быть обнулены. По приходу сигналов прямоугольных импульсов: ТИ1 - тактовые импульсы, ГИ1 - генератор импульсов, ГИМ1 - генератор прямоугольных сигналов на входы соответствующих двоичных счетчиков происходит формирование шины данных ШД1 с выхода счетчика СчУД, адресов строк АСТ1 с выхода счетчика СчСЛ и адресов столбцов АСТл с выхода счетчика СчСТ. Все выходные сигналы двоичных счетчиков поступают на входы оперативных запоминающих устройств системы.
БПУ1 - блок первоначальной установки и формирования адресов строк и столбцов ассоциативных запоминающих устройств АЗУ1-АЗУm блока формирования "свободных " мест БФСМ1 состоит из двоичных счетчиков: СчД4 - счетчика данных ШДА1 и СчА5 - счетчика адреса ШАА1. На входы счетчиков поступают сигналы СБО1 - сброс в нуль и СБР1 - обнуление, которые устанавливают эти устройства в нулевое состояние. По приходу сигналов ПИ1 - прямоугольные импульсы и ПИМ1 - тактовые прямоугольные импульсы - на входы счетчиков происходит формирование на их выходах шины данных ШДА1 счетчика СчД4, адресной шины ШАА1 счетчика СчА5. Выходные сигналы двоичных счетчиков поступают на вход логической схемы ИЛИ1, выход которой является входом данных и адресным входом ассоциативных запоминающих устройств (АЗУm) системы.
Блок анализа БАН1 состоит из арифметического процессора АРЛП1, специализированного устройства обработки информации ПРСО1 и стандартного устройства вывода (принтер, стриммер, НЖМД, НГМД). Основная задача этого блока - анализ поступившей на вход информации РР1 из ассоциативных запоминающих устройств (АЗУ1-АЗУm) локализованного центра ЛЦ. Арифметический процессор АРЛП1 предназначен для выполнения всех арифметических операций с входными данными РР1. Это может быть универсальный процессор, а также ряд специализированных решающих устройств. На вход этого процессора поступают входные данные - РР1 из АЗУt и управляющие сигналы УПА1 из блока 78 управления модуля 3. Выходными данными этого процессора могут быть результаты арифметических операций - АРЛ1, которые поступают на вход стандартного устройства вывода. Специализированные устройства символьной обработки ПРСО1 предназначены для решения поисковых задач, операций, связанных с функциями поиска и замены, сортировочными операциями входной информации и т.д. По приходу сигнала РР1 из АЗУt ЛЦ и управляющих сигналов УПС1 из блока управления локализованного центра на вход ПРСО1 происходит выполнение операций по символьной обработке в зависимости от конкретно поставленной задачи. Выходная информация из специализированных устройств СИМ1 поступает на вход стандартного устройства вывода. Стандартным устройством вывода могут быть любые периферийные устройства: дисплей, принтер, стриммер, накопители на гибких магнитных лентах и дисках т.д.
Блок 78 управления модуля 3 синтезируется на основе граф схемы алгоритма ГСА известным способом [6].
Четвертый специализированный вычислительный модуль СпецВычМод4 - ускоренный умножитель на нейронах содержит: блок 79 ввода данных, блок 80 регистра множимого, блок 81 суммирования, блок 82 регистра множителя, блок 83 дешифратора, блок 84 хранения результата модуля 4, блок 85 управления модуля 4 (фиг.14) [10].
На фиг.14 изображена структурная схема четвертого специализированного вычислительного модуля СпецВычМод4 - ускоренного умножителя на нейронах.
На фиг.14 представлены:
БВД - блок ввода данных служит для ввода операндов и определения знака произведения.
БРгМН - блок регистра множимого служит для хранения множимого при выполнении операции умножения в двоичном коде.
БРгМЖ - блок регистра множителя служит для хранения множителя при выполнении операции умножения в двоичном коде и определения окончания операции умножения.
БСУМ - блок суммирования служит для выполнения операции сложения частичных произведений.
БДШ - блок дешифратора служит для анализа двух разрядов множителя.
БХРМОД4 - блок хранения результата служит для хранения произведения.
БУМОД4 - блок управления служит для управления специализированным вычислительным модулем 4.
Умножение, выполняемое методом накопления частичных произведений. Операция умножения в современных ЭВМ чаще всего выполняется суммированием сдвинутых на один или несколько разрядов частичных произведении, каждое из которых является результатом умножения множимого на соответствующий разряд (разряды) множителя. При точном умножении двух чисел количество значащих цифр произведения может в пределе достичь двойного количества значащих цифр сомножителей. Наиболее просто операция умножения в ЭВМ выполняется в прямом коде. При этом на первом этапе определяется знак произведения путем сложения знаковых цифр сомножителей по модулю 2. Произведение вычисляется как сумма частичных произведений, из которых каждое получается последовательными сдвигами и умножением множимого на соответствующий разряд множителя. Произведение двух n-разрядных чисел является 2n-разрядным числом. Перемножение модулей сомножителей производится по правилам арифметики согласно двоичной таблице умножения. Результату присваивается полученный знак. Так как умножение производится в двоичной системе счисления, частные произведения либо равны 0 (при умножении на 0) либо самому сомножителю (при умножении на 1), сдвинутому на соответствующее количество разрядов. Количество циклов можно сократить, если в каждом цикле анализировать не один, а два или более разрядов множителя. Для организации ускоренного умножения анализируют два последних разряда множителя. Возможные двоичные комбинации двух разрядов при умножении с младших разрядов множителя записываются следующим образом: 00, 01, 10, 11. Для набора 00 в блоке суммирования не производится сложения. Двоичные разряды множимого сдвигаются влево на два разряда. При наборе 01 необходимо произвести суммирование ранее полученной суммы частичных произведений и двоичным кодом множимого, затем осуществляется сдвиг влево множимого на один разряд. Для набора 10 выполняется сдвиг влево множимого, затем осуществляется операция суммирования преобразованного множимого и ранее полученной суммы частичных произведений в блоке суммирования. В случае комбинации 11 в блоке суммирования выполняются операции сложения ранее полученной суммы частичных произведения, множимого и преобразованного множимого. Операция умножения выполняется значительно быстрее при применении алгоритма, в котором анализируются два разряда множителя. При анализе более двух разрядов множителя блок 85 управления модулем 4, алгоритм работы ускоренного умножителя имеет более сложную структуру. Возрастает сложность в реализации блоков дешифрации и регистра множимого.
Для описания алгоритма работы блока 85 управления модуля 4 используются следующие идентификаторы:
201. СБРОСМОД4 - сигнал сброса (обнуления) всех элементов памяти устройства.
202. ПУСКМОД4 - сигнал начало работы ускоренного умножителя.
203. СЗЧ - суммирование по модулю два знаковых разрядов двоичных чисел.
204. ВХЧ - входные числа, двоичный код входных операндов.
205. УПР - информационный сигнал, состоящий из управляющих сигналов: сброса в нулевое состояние, сигнал синхронизации, сигнал разрешения записи информации в триггера блока регистра множителя.
206. СДП - сигнал сдвига вправо двоичного кода блока регистра множителя.
207. АН0 - сигнал анализа на нулевое состояние двоичного кода блока регистра множителя.
208. ПРРМЖ - предпоследний двоичный разряд множителя.
209. ПРМЖ - последний двоичный разряд множителя.
1
210. F - первый управляющий выход блока дешифратора устройства.
2
211. F - второй управляющий выход блока дешифратора устройства.
3
212. F - третий управляющий выход блока дешифратора устройства.
4
213. F - четвертый управляющий выход блока дешифратора устройства.
214. СУП - информационный сигнал управления, состоящий из управляющих сигналов: установки в нулевое состояние, сигнал синхронизации, сигнал разрешения записи информации в триггера блока регистра множимого.
1
215. УП - управляющий сигнал первый, формирующий режим работы регистра блока регистра множимого.
2
216. УП - управляющий сигнал второй, формирующий режим работы регистра блока регистра множимого.
3
217. УП - управляющий сигнал третий, формирующий режим работы регистра блока регистра множимого.
4
218. УП - управляющий сигнал четвертый, формирующий режим работы регистра блока регистра множимого.
219. СДЛ - сигнал сдвига влево регистра блока регистра двоичного кода множимого.
220. АНН - сигнал анализа на нулевое состояние двоичного кода множимого.
221. ЧАПРО - информационный сигнал частных произведений множимого.
222. НИН - информационный сигнал, равный нулевому значению 00…0.
223. ЗНП - знаковый разряд произведения, поступающий на вход ОЗУ блока хранения результата.
224. УПЭК - управляющий сигнал, поступающий на вход электронного ключа.
225. ГИ - генераторные импульсы, поступающие на вход двоичного счетчика СЧСТ блока хранения результата.
226. ТИ - тактовые импульсы, поступающие на вход двоичного счетчика СЧСТР блока хранения результата.
227. ОБ - сигнал обнуления двоичного счетчика СЧСТ блока хранения результата.
228. УС - сигнал обнуления двоичного счетчика СЧСТР блока хранения результата.
229. ВК - сигнал выбора кристалла ОЗУ блока хранения результата.
230. Сч/Зп - сигнал разрешения режима чтения/записи данных в ОЗУ блока хранения результата.
231. ПРО - окончательный результат, произведение чисел.
Работа умножителя на нейронах заключается в следующем:
Внешние управляющие сигналы ПУСКМОД4 и СБРОСМОД4 поступают в блок 85 управления модуля 4.
Блок 79 ввода данных БВД содержит шифратор (обычная стандартная клавиатура) ШФ, сумматор по модулю два, выполненный не нейроне. С помощью этого блока двоичные числа вводятся в блоки регистров множимого и множителя. С выхода шифратора формируется двоичный код множимого и множителя со своими знаками: МН, МЖ, ЗРМН, ЗРМЖ. Знаковые разряды с выхода шифратора поступают на вход сумматора по модулю два. Сигнал СЗЧ суммирование знаковых чисел формируется на выходе элемента. Сумматор по модулю два реализован на формальном нейроне ФН. Выходной сигнал вычисляется по формуле:
где w1, w2, w3 - коэффициенты усиления, а Т - пороговое напряжение.
Выходными сигналами блока 79 ввода данных являются двоичные коды множимого МН и множителя МЖ, а также сумма по модулю два знаковых разрядов СЗЧ.
i
i+1
i
i+2
1
i+1
i+1
i
1
1
2
3
4
1
i+2
i
1
2
i+1
i
2
3
3
2
3
4
4
4
Блок 80 регистра множимого БРгМН представляет собой набор D-триггеров, логическую схему 2И-2ИЛИ, логических схем 2И-3ИЛИ, схем И, выполненных на пороговых элементах, схему ИЛИ, выполненную на пороговом элементе. Этот блок регистра предназначен для хранения разрядов множимого, а также для организации операций сдвига: на один разряд влево, на два разряда влево, выдачу разрядов множимого на вход блока сумматора. Выходная информация D-триггера Tp является входной для следующего D-триггера Tp при сдвиге на один разряд влево, тем самым организован сдвиг информации влево на один разряд. При сдвиге на два разряда влево выходная информация D-триггера Tp является входной для D-триггера Tp. Информационный сигнал управления СУП из блока 85 управления модуля 4 поступает на вход блока 80 регистра множимого. Сигнал СУП состоит из управляющих сигналов: УС0 установка в нуль триггеров регистра, СИН сигнал синхронизации элементов памяти, ЗАП сигнал записи информации в триггера регистра. Сигнал УС0 установки в нуль триггеров поступает параллельно на все входы R обнуления триггеров регистра. Сигнал СИН синхронизации поступает параллельно на синхронизирующие входы С всех триггеров регистра. Сигнал записи ЗАП поступает на управляющие входы схем 2И-2ИЛИ. Сигнал ЗАП записи осуществляет операцию загрузки двоичного кода МН1, МН2, …, MHn множимого в D-триггера блока 80 регистра множимого. Перед загрузкой множимого в регистр блок, все D-триггера будут установлены в нулевое состояние сигналом УС0 установки в нуль. По приходу сигнала записи ЗАП на управляющие входы секций схем И двоичный код МН1, МН2, …, MHn множимого будет записан в D-триггера блока 80 регистра множимого. На входы секций схем И блока 80 регистра множимого двоичные разряды МН1, МН2, …, MHn множимого поступают из блока 79 ввода данных. Младший разряд записывается в D-триггер Tp, старшие разряды в D-триггера Tp регистра блока 80 регистра множимого. Схема ИЛИ анализирует значение двоичного кода множимого. На входы схемы ИЛИ поступают разряды множимого. Выходным управляющим сигналом схемы ИЛИ является сигнал АНН - анализ нулевой информации множимого, поступающий на вход блока 85 управления модуля 4. Если сигнал АНН равен нулю, то множимое равно нулю нулевому значению. В этом случае в блок 84 хранения результата модуля 4 записывается информационный сигнал НИН - нулевая информация, поступающий из блока 85 управления модуля 4. Если управляющий сигнал АНН равен единице, то множимое не равно нулевому значению. В этом случае выполняется операция умножения, при условии, что множитель так же не равен нулевому значению. После выполнения операции умножения произведение двоичных чисел записывается по сформированным адресам в оперативное запоминающее устройство блока 84 хранения результата модуля 4. Входным управляющим сигналом блока 80 регистра множимого является сигнал сдвига влево СДЛ, поступающий на второй управляющий вход схемы И порогового элемента и второй управляющий вход первой секции схемы 2И-2ИЛИ элемента. Сигнал сдвига влево СДЛ поступает с выхода блока 85 управления модуля 4. При формировании операции сдвига влево информации регистра множимого на один разряд управляющий сигнал СДЛ принимает значение равное единице. Этот сигнал открывает схему И порогового элемента и первую секцию схемы 2И-2ИЛИ. На первый вход схемы И порогового элемента поступает сигнал равный нулевому значению "0". Выход схемы И порогового элемента является первым входным сигналом первой секции схемы 2И-2ИЛИ элемента. При выполнении операции сдвига влево информации в регистре множимого на один разряд D-триггер Tp принимает значение D-триггера Tp. Слева в младший разряд D-триггера Tp регистра множимого записывается значение нуль. Входные управляющие сигналы УП, УП, УП, УП, поступающие с выхода блока 85 управления модуля 4, формируют режимы работы схем И, 2И-2ИЛИ, 2И-3ИЛИ. Управляющий сигнал УП поступает на вторые управляющие входы первых секций схем 2И-3ИЛИ элементов. Если управляющий сигнал УП1 принимает значение единице при комбинации предпоследнего и последнего разрядов множителя равных 00, то эти секции будут открыты. При этом выполняется операция сдвига двоичного кода множимого на два разряда влево, D-триггер Tp принимает значение D-триггера Tp блока 80 регистра множимого. Ели сигнал УП равен нулю, то первые секции схем 2И-3ИЛИ будут закрыты, операция сдвига на два разряда влево множимого не будет осуществлена. Управляющий сигнал УП поступает на вторые управляющие входы вторых секций схем 2И-3ИЛИ элементов. Информационными сигналами этих секций являются выходы D-триггеров. Информационные сигналы триггеров поступают на первые входы вторых секций схем 2И-3ИЛИ элементов. Если управляющий сигнал УП2 принимает значение единице при комбинации предпоследнего и последнего разрядов множителя равных 01, 10, 11, то эти секции будут открыты. При этом выполняется операция сдвига двоичного кода множимого на один разряд влево, D-триггер Tp принимает значение D-триггера Tp блока 80 регистра множимого. Ели сигнал УП равен нулю, то вторые секции схем 2И-3ИЛИ будут закрыты, операция сдвига на один разряд влево множимого не будет выполнена. Сигнал УП является управляющим входом схем И элементов. Эти элементы выполняют функцию электронных ключей. Информационными сигналами схем И являются выходы D-триггеров регистра. В случае равенства сигнала УП единичному значению электронные ключи элементов будут открыты. Значения D-триггеров регистра через открытые схемы И поступают на блок суммирования для выполнения операции сложения. Ели сигнал УП равен нулю, то схемы И будут закрыты, операция передачи разрядов множимого в блок суммирования не будет осуществлена. Управляющий сигнал УП принимает значение единицы при комбинации предпоследнего и последнего разрядов множителя равных 01, 10, 11. Сигнал УП является управляющим входом схем И элементов. Эти элементы работают как электронные ключи. Информационными сигналами схем И являются выходы D-триггеров регистра. В случае равенства сигнала УП единице электронные ключи элементов будут открыты. Значения D-триггеров регистра через открытые схемы И поступают на блок суммирования для выполнения операции сложения. Ели сигнал УП равен нулю, то схемы И будут закрыты, операция передачи разрядов множимого в блок суммирования не будет выполнена. Управляющий сигнал УП4 принимает значение единицы при комбинации предпоследнего и последнего разрядов множителя равных 01, 10, 11. Выходные сигналы блока 80 регистра множимого ДР1 схемы И элемента, ДРЗ1 схемы И элемента, ДР2 схемы И элемента, ДРЗ2 схемы И элемента, ДР3 схемы И элемента, ДРЗ3 схемы И элемента, ДР4 схемы И элемента, ДРЗ4 схемы И элемента, …, ДРn схемы И элемента, ДРЗn схемы И элемента - двоичные разряды D-триггеров блока поступают на схемы ИЛИ блока 81 суммирования.
1
2
3
1
2
3
i-1
1
1
i
i+1
i
i
i+1
Блок 81 суммирования БСВ состоит из системы n-элементов ИЛИ, выполненных на пороговых элементах, n-сумматоров на нейронах. Блок предназначен для выполнения операции суммирования с целью получения частичных сумм на промежуточных шагах вычисления, а также разрядов произведения при окончании операции умножения. Входной информацией блока являются разряды множимого ЧАПРО - частичные разряды произведения. Элементы ИЛИ выполняют собирательную функцию. На входы этих элементов поступают двоичные разряды ДР, ДР, ДР, …, ДРn, ДЗР, ДЗР, ДЗР, …, ДЗРn из блока регистра множителя. На вход сумматора СУМi поступает сигнал ai - результат выполнения операции ИЛИ входных величин (ДЗР) ИЛИ (ДРi). Такая связь необходима при комбинации разрядов множителя равных 11. Сложение предыдущего и последующего двоичных разрядов множимого. Операция сложение выполняется между разрядами множимого и сдвинутыми разрядами множимого на один разряд влево. На вход сумматора СУМ поступает сигнал a1 - результат выполнения операции ИЛИ входных величин "0" ИЛИ (ДР). Выходной информацией каждого сумматора блока является сумма S разрядов множимого и суммой, полученной на предыдущем шаге, и перенос P в старшие разряды. Выход каждого блока суммирования является его вторым входом, организована обратная связь, для того чтобы складывать промежуточную сумму с преобразованным множимом. На третий вход каждого блока сумматора поступает перенос из младших разрядов P. Каждый блок суммирования представляет собой одноразрядный сумматор, на входы которого поступают разряды преобразованного множимого, сумма чисел от предыдущего этапа сложения и перенос из младших разрядов. Выходом является полученная сумма S и перенос P в старший разряд. Произведение чисел ПРО записывается в оперативное запоминающее устройство ОЗУ блока хранения результата.
i
i
i
i+1
Одноразрядный сумматор блока состоит из пороговых элементов. Принципиальная схема одноразрядного сумматора реализована на двух пороговых элементах. Один элемент предназначен для получения разряда переноса в старший разряд. На вход элемента поступают a i-тый разряд множимого, P - перенос из младшего разряда с выхода предыдущего сумматора, S-тый разряд суммы. На выходе блока формируется сигнал суммы Si и P - перенос в старший разряд. Работа данного элемента описывается с помощью формулы:
где w1, w2, w3 - коэффициенты усиления, а Т - пороговое напряжение.
i
i
i
i+1
i+1
Второй элемент предназначен для получения разряда суммы. На вход этого элемента поступают a i-тый разряд множимого, P - перенос в старший разряд с выхода предыдущего сумматора, S i-тый разряд суммы, P - перенос в старший разряд. На выходе блока формируется сигнал S разряд суммы. Работа данного элемента описывается с помощью формулы:
где w1, w2, w3, w4 - коэффициенты усиления, а Т - пороговое напряжение.
m
1
m
m-2
1
2
Блок 82 регистра множителя БРгМЖ представляет собой набор D-триггеров и логический элемент ИЛИ. Блок регистра множителя предназначен для хранения разрядов множителя, организации операции сдвига вправо разрядов множителя на два разряда, с целью получения и анализа текущих младших разрядов множителя. Запись информации осуществляется следующем образом: старшие разряды множителя записываются в регистр в левую часть. Старший разряд записывается в Tp, младший - в Tp. При сдвиге вправо на два разряда происходит анализ двоичных разрядов блока регистра множителя на наличие единичных разрядов множителя. Если есть хотя бы один разряд, равный единице, в двоичном коде множителя, то сигнал АН0 - анализа нулевой информации блока регистра равен единице, иначе сигнал АН0 принимает значение равное нулю. Если сигнал анализа двоичных разрядов множителя АН0 равен единичному значению, то операция умножения чисел продолжается. Если сигнал АН0 равен нулевому значению, то осуществляется операция записи полученного произведения в блок хранения результата. Сигнал АН0 поступает на вход блока 85 управления модуля 4. На вход блока регистра множителя поступает информационный сигнал ВХЧ - входные числа, двоичные разряды множителя из блока 79 ввода данных. Блок 82 регистра множителя управляется из блока 85 управления при поступлении информационного сигнала управления - УПР. Этот сигнал состоит из трех управляющих сигналов: ССБ - сигнал сброса, СЗ - сигнал записи, ССН - сигнал синхронизации. Эти сигналы поступают параллельно на все соответствующие управляющие входы триггеров блока регистра множителя. По сигналу ССБ - сигнал сброса триггера блока регистра множителя устанавливаются в нулевое состояние, осуществляется сброс D-триггеров регистра блока в нулевое состояние. По сигналу СЗ - сигнал записи информации происходит запись двоичных разрядов множителя в блок регистра множителя. По сигналу ССН - синхронизации осуществляется общее управление работой триггеров блока регистра множителя. По сигналу СДП - сдвига множителя, поступающего параллельно на все входы триггеров блока регистра, происходит сдвиг двоичного кода множителя на два разряд вправо для анализа и дешифрации этих разрядов. При сдвиге вправо на два разряда выход с третьего триггера Тр3 поступает на вход первого триггера Тр1, выход Tp поступает на вход Tp триггера блока регистра множителя. Такое соединение триггеров позволяет за один такт сигнала сдвига СДП осуществить сдвиг на два разряда вправо двоичного кода множителя. Последний младший разряд множителя - ПРМЖ является выходом триггера Тр. Предпоследний разряд множителя - ПРРМЖ является выходом триггера Тр. Эти сигналы поступают на вход блока 83 дешифратора.
1
2
1
Блок 83 дешифратора БШД выполнен на пороговых элементах ПЭ. Блок предназначен для дешифрации входных сигналов - предпоследнего ПРРМЖ и последнего ПРМЖ двоичных разрядов множителя МЖ. Входные сигналы ПРРМЖ предпоследний и ПРМЖ последний двоичные разряды множителя поступают соответственно на вход блока дешифратора с выходов триггеров Тр и Tp блока 82 регистра множителя. Выходными сигналами блока 83 дешифратора являются управляющие сигналы F1, F2, F3, F4. Эти сигналы поступают на вход блока 85 управления модуля 4. На выходе блока 83 формируется только один высокий уровень, равный единице. Остальные выходы принимают значения равными нулю. Работу блока 83 дешифратора можно описать с помощью аналитических формул: если ПРРМЖ=0, ПРМЖ=0, то F1=1, F2=0, F3=0, F4=0; если ПРРМЖ=0, ПРМЖ=1, то F1=0, F2=1, F3=0, F4=0; если ПРРМЖ=1, ПРМЖ=0, то F1=0, F2=0, F3=1, F4=0; если ПРРМЖ=1, ПРМЖ=1, то F1=0, F2=0, F3=0, F4=1.
1
Работа порогового элемента ПЭ описывается с помощью формулы:
где w1, w2 - коэффициенты усиления, а Т - пороговое напряжение.
2
Работа порогового элемента ПЭ описывается с помощью формулы:
где w1, w2 - коэффициенты усиления, а Т - пороговое напряжение.
3
Работа порогового элемента ПЭ описывается с помощью формулы:
где w1, w2 - коэффициенты усиления, а Т - пороговое напряжение.
4
Работа порогового элемента ПЭ описывается с помощью формулы:
где w1, w2 - коэффициенты усиления, а Т - пороговое напряжение [4].
1
2
3
4
В зависимости от двоичной комбинации предпоследнего ПРРМЖ и последнего ПРМЖ двоичных разрядов множителя МЖ вычисляются выходные сигналы F, F, F, F, которые формируют различные режимы работы блока регистра множимого.
Электронный ключ ЭлКл выполнен на пороговых элементах, выполняющих логическую функцию И, и на пороговых элементах, выполняющих логическую функцию ИЛИ. Управляющим входом на схемы И является сигнал УПЭК - управление электронным ключом, поступающий из блока 85 управления модуля 4. Сигнал управления электронным ключом УПЭК поступает на прямые управляющие входы схем И элементов и на инверсные управляющие входы схем И элементов. На информационный вход схемы И элемента поступает из блока 85 управления модуля 4 знаковый разряд произведения ЗНП. На информационные входы схем И элементов поступают двоичные разряды произведения чисел ПРО из блока 81 суммирования. На информационные входы схем И элементов поступают двоичные разряды, равные нулю НИН из блока 85 управления модуля 4. Если управляющий сигнал УПЭК управление работой электронного ключа равен единичному значению, то схемы И элементов будут открыты, схемы И элементов будут закрыты. Через открытые элементы схем И информационный сигнал ПРО - произведение двоичных чисел и управляющий сигнал знак произведения ЗНП - с выходов элементов поступают на входы схем ИЛИ, выполняющих собирательную функцию. Выходной информационный сигнал электронного ключа ЭлКл РЕЗ равен произведению чисел ПРО и знаковому разряду произведения ЗНП. С выхода схем ИЛИ элементов информационный сигнал результата - РЕЗ поступает на вход оперативного запоминающего устройства блока 84 хранения результата модуля 4. В случае равенства управляющего сигнала работой электронного ключа - УПЭК нулевому значению схемы И элементов будут закрыты, а схемы И элементов будут открыты. Тогда информационный сигнал нулевая информация НИН через открытые схемы И элементов поступает на вход схем ИЛИ. Знаковый разряд произведения ЗНП в этом случае принимает нулевое значение. Выходной информационный сигнал результата РЕЗ будет равен нулевому значению НИН. В оперативное запоминающее устройство блока 84 хранения результата модуля 4 запишется нулевая информация.
Блок 84 хранения результата модуля 4 БХРМОД4 состоит из электронного ключа ЭлКл, двоичного счетчика столбцов СЧСТ, двоичного счетчика строк СЧСТР, оперативного запоминающего устройства ОЗУ, служит для хранения двоичных разрядов результата при выполнении операции умножения или нулевой информации, в случае равенства нулю двоичного кода множимого или множителя. На вход блока поступают: знаковый разряд произведения ЗНП, двоичные разряды произведения ПРО, нулевая информация НИН, управляющий сигнал УПЭК - управление работой электронного ключа. Блок 84 хранения результата модуля 4 БХРМОД4 управляется блоком 85 управления модуля 4 посредством управляющих сигналов. Сигнал ГИ генератор импульсов поступает на вход счетчика столбцов для выполнения записи произведения на новой строке. Сигнал ТИ тактовые импульсы поступают на вход счетчика строк для осуществления записи разрядов произведения в столбцы оперативного запоминающего устройства ОЗУ. Сигнал ОБ обнуление столбцов поступает на вход счетчика столбцов СЧСТ и предназначен для обнуления двоичного счетчика. Сигнал УС обнуления строк поступает на вход двоичного счетчика строк СЧСТР и устанавливает его в нулевое значение. Сигнал Сч/Зп чтения/записи устанавливает оперативное запоминающее устройство в режим чтения/записи. Сигнал ВК выбор кристалла поступает на вход ОЗУ, он предназначен для выбора кристалла оперативного запоминающего ОЗУ. На входную шину оперативного запоминающего устройства блока хранения результата поступает информационный сигнал РЕЗ - результат. Результат РЕЗ равен произведению чисел или нулевой информации. По сформированным двоичными счетчиками адресам АД СТ - адреса столбцов и АД СТР адреса строк результат операции умножения записывается в оперативное запоминающее устройство ОЗУ.
Блок 85 управления модуля 4 синтезируется на основе граф схемы алгоритма ГСА известным способом [6].
Пятый специализированный вычислительный модуль СпецВычМод5 - устройство сортировки информации методом дешифрации данных содержит: блок 86 ввода данных, блоки 87, 88, 89 сортировки, блок 90 дешифрации, блок 91 хранения результата модуля 5, блок 92 управления модуля 5 (фиг.15) [11].
На фиг.15 изображена структурная схема пятого специализированного вычислительного модуля СпецВычМод5 - устройство сортировки информации методом дешифрации данных.
На фиг.15 представлены:
БВД - блок ввода данных служит для ввода чисел и символов, представления входной информации в двоичном коде, определения знакового разряда числа.
БС - блок сортировки служит для подсчета одинаковых чисел и символов, определения знакового разряда числа, для записи и хранения упорядоченной информации.
БШД - блок дешифрации служит для декодирования входного двоичного кода и однозначного определения номера регистра для записи и хранения информации.
БХРМОД5 - блок хранения результата служит для записи и хранения в нем результата упорядоченной двоичной информации.
БУМОД5 - блок управления служит для формирования управляющих сигналов, которые осуществляют процесс сортировки входной информации и для управления специализированным вычислительным модулем 5.
Современные вычислительные системы работают наиболее эффективно при упорядоченных данных. Сортировка информации - это процесс расстановки элементов в некотором порядке. Элементы размещаются следующем образом: 1) вычисления, которые требуют определенного порядка расположения данных, могли выполняться эффективно 2) результаты имели осмысленный вид 3) последующие операции имели бы упорядоченные исходные данные. Есть много различных способов упорядочений информации таких, например, как сортировка имен в списке по алфавиту или упорядочение данных по возрастанию или по убыванию.
Упорядочение данных включает анализ возможностей аппаратных средств вычислительных систем, расположения их каналов, объема оперативной памяти, частоты обращений, быстродействие диапазона обработки входной числовой и символьной информации.
Задача сортировки потоков информации в вычислительной технике является настолько важной, что ее следует осуществлять только тогда, когда тщательное изучение аппаратных средств и параметров данных оправдывает сортировку.
Для описания алгоритма работы блока 92 управления модуля 5 используются следующие идентификаторы:
232. ПУСКМОД5 - внешний управляющий сигнал блока 92 управления модуля 5, означающий пуск работы устройства сортировки информации.
233. СБРОСМОД5 - внешний управляющий сигнал блока 92 управления модуля 5, означающий сброс всех элементов памяти и двоичных счетчиков в нулевое состояние устройства сортировки информации.
234. ЧСД - выходной информационный двоичный сигнал числовых и символьных данных, поступающий из блока 86 ввода данных.
i
235. УПP - информационный сигнал из блока 92 управления модуля 5, состоящий из управляющих сигналов: выдачи, обнуления, сдвига, установки режимов работы регистров - реж.1, реж.2.
1
236. СРЗ - управляющий сигнал разрешения работы дешифратора ДШ блока 90 дешифрации.
237. УСН - управляющий сигнал установки в нулевое состояние двоичного счетчика Сч2, формирующего адреса строк, оперативного запоминающего устройства блока 91 хранения результата модуля 5.
238. ОБН - управляющий сигнал установки в нулевое состояние двоичного счетчика Сч1, формирующего адреса столбцов, блока 91 хранения результата модуля 5.
239. ГИ - генератор прямоугольных импульсов, поступающих на суммирующий вход двоичного счетчика Сч1, формирующего адреса столбцов, блока 91 хранения результата модуля 5.
240. ТИ - генератор прямоугольных импульсов, поступающих на суммирующий вход двоичного счетчика Сч2, формирующего адреса строк, блока 91 хранения результата модуля 5.
241. ВК - управляющий сигнал выбора кристалла оперативного запоминающего устройства блока 91 хранения результата модуля 5.
242. Зп/Сч - управляющий сигнал записи/считывание информации из оперативного запоминающего устройства блока 91 хранения результата модуля 5.
243. УМД - входной информационный сигнал блока 91 хранения результата модуля 5.
244. PAЗi - управляющий сигнал из блока 90 дешифрации, разрешающий принимать информацию регистром двоичного кода блоков спортивки.
245. УМi - выходной информационный сигнал блоков сортировки БС1.
Работа устройства сортировки информации методом дешифрации заключается в следующем:
Внешние управляющие сигналы ПУСКМОД5 и СБРОСМОД5поступают в блок 92 управления модуля 5.
Блок 86 ввода данных БВД содержит шифратор ШФ, представляющий собой обычную стандартную клавиатуру. Этот блок позволяет вводить символы и двоичные числа со своими знаковыми разрядами в двоичном коде. Символы представлены в коде ASCII - международная американская стандартная кодировка символов. С выхода шифратора формируется восьмиразрядный информационный сигнал ДКЧС, представляющий двоичный код символов или чисел. Выходным сигналом шифратора ШД является знаковый разряд числа ЗРЧ. Двоичные положительные числа имеют в знаковом разряде значение нуль. Примером может служить положительное число 10, представленное в десятичной системе счисления, в двоичном представлении это число имеет вид 0.1010. Отрицательное число имеет в знаковом разряде единицу. Для примера возьмем число 12 в десятичной системе счислении, в двоичном коде это число имеет вид 1.1100. Выходной информацией блока 86 ввода данных БВД является информационный сигнал ЧСД, представляющий собой двоичный код символа и числа со своим знаковым разрядом. Выходной информационный сигнал ЧСД блока 86 ввода данных БВД поступает на входы блоков сортировки и блока дешифрации.
Блок 87 сортировки БСi состоит из трех блоков: блока подсчета положительных чисел БППЧ, блока подсчета отрицательных чисел БПОЧ, блока регистра двоичного кода БРгДК и генератора прямоугольных импульсов ПРИ. Блок подсчета положительных чисел БППЧ предназначен для определения и хранения знакового разряда числа - нуля и для подсчета положительных чисел, поступивших на вход блока сортировки. Блок подсчета отрицательных чисел БПОЧ предназначен для определения и хранения знакового разряда числа - единицы и для подсчета отрицательных чисел, поступивших на вход блока сортировки. Блок регистра двоичного кода БРгДК предназначен для записи, хранения и выдачи двоичного кода символа и модуля и знакового разряда числа. Генератор прямоугольных импульсов ПРИ предназначен для генерации прямоугольных импульсов. Блок подсчета положительных чисел БППЧ состоит из логической схемы И с одним инверсным управляющим входом, выполненной на пороговом элементе, логической схемы И с прямым управляющим входом, выполненной на пороговом элементе, двоичного счетчика Сч1, предназначенного для подсчета прямоугольных импульсов, поступающих на суммирующий вход, D-триггера Тр1, выполненного на элементе, предназначенного для записи и хранения знакового разряда положительного числа. Предварительно перед сортировкой информации двоичные счетчики Сч1, Сч2, D-триггеры Тр1 и Тр2 были обнулены управляющим сигналом обнуления ОБЛ, поступившим из блока регистра двоичного кода. Сигнал обнуления ОБЛ, который поступает одновременно на входы установки в состояние нуль R двоичных счетчиков и триггеров. Входным управляющим сигналом блока 87 сортировки БС1 является сигнал - знаковый разряд числа ЗРЧ, который поступает с выхода блока 86 ввода данных. Управляющий сигнал - знаковый разряд числа ЗРЧ параллельно поступает на прямой управляющий вход логической схемы И блока подсчета отрицательных чисел и на инверсный управляющий вход логической схемы И блока подсчета положительных чисел. Логические схемы И выполняют функцию электронных ключей. На прямые информационные входы логических схем И поступают прямоугольные импульсы с выхода генератора прямоугольных импульсов ПРИ.
В случае равенства нулевому значению сигнала знакового разряда числа ЗРЧ, который поступает на инверсный управляющий вход логической схемы И, открывает электронный ключ. На выходе открытого электронного ключа логической схемы И сформируется прямоугольный импульс. Выход логической схемы И одновременно поступает на суммирующий вход двоичного счетчика Сч1 и на управляющий вход логической схемы И, выполняющей функцию электронного ключа блока подсчета положительных чисел БППЧ. Единичный выход логической схемы И, поступающий на управляющий вход электронного ключа, откроет логическую схему И. Через открытый электронный ключ логической схемы И сигнал знакового разряда числа ЗРЧ, поступающий на информационный вход схемы, поступает на вход D-триггера Тр1 и устанавливает триггер в нулевое состояние на выходе. Выходной сигнал знакового разряда положительного числа ЗРПЧ D-триггера Тр1 принимает нулевое значение. Выход D-триггера Тр1 поступает на вход блока регистра двоичного кода БРгДК. Двоичный счетчик Сч1 подсчитает количество прямоугольных импульсов, поступивших на суммирующий вход. На выходе двоичного счетчика Сч1 сформируется информационный сигнал, который соответствует количеству положительных чисел КЛПЧ. Выход двоичного счетчика Сч1 поступает на вход блока регистра двоичного кода БРгДК. Если сигнал знакового разряда числа ЗРЧ, равный единичному значению, поступает на прямой управляющий вход логической схемы И, то открывает электронный ключ. На выходе открытого электронного ключа логической схемы И сформируется прямоугольный импульс. Выход логической схемы И одновременно поступает на суммирующий вход двоичного счетчика Сч2 и на управляющий вход логической схемы И, выполняющей функцию электронного ключа блока подсчета отрицательных чисел БПОЧ. Единичный выход логической схемы И, поступающий на управляющий вход электронного ключа, откроет логическую схему И. Через открытый электронный ключ логической схемы И сигнал знакового разряда числа ЗРЧ, поступающий на информационный вход схемы, поступает на вход D-триггера Тр2 и установит триггер в единичное состояние на выходе. Выходной сигнал знакового разряда отрицательного числа ЗРОЧ D-триггера Тр2 принимает единичное значение. Выход D-триггера Тр2 поступает на вход блока регистра двоичного кода БРгДК. Двоичный счетчик Сч2 подсчитает количество прямоугольных импульсов, поступивших на суммирующий вход. На выходе двоичного счетчика Сч2 сформируется информационный сигнал, который соответствует количеству отрицательных чисел КЛОЧ. Выход двоичного счетчика Сч2 поступает на вход блока регистра двоичного кода БРгДК.
1
2
3
1
1
8
1
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
Блок регистра двоичного кода БРгДК блока 87 сортировки БСi состоит из регистра двоичного кода числа и символа РгДКЧС, системы электронных ключей СЭК первой, системы электронных ключей СЭК второй, системы электронных ключей СЭК третьей. Регистр двоичного кода числа и символа РгДКЧС элемент является универсальным восьмиразрядным регистром. Регистр может работать в режимах: параллельный ввод, хранение, установки нулей, операции сдвига, последовательный ввод. Режимы работы задаются сигналами на управляющих входах. Входным входом блока регистра двоичного кода БРгДК является информационный сигнал управления первый УПР1, который поступает из блока 92 управления модуля 5. В состав информационного сигнала управления первый УПР1 входят управляющие сигналы: ВЫД - выдача результата, СДВ - сдвига информации, РЕЖ1 и РЕЖ2 - сигналы установки режимов работы микросхемы, ОБЛ - установки в нулевое состояние элементов памяти микросхемы, на тактовый вход С регистра поступает управляющий сигнал РАЗ с выхода блока дешифрации, который является разрешающим сигналом для записи входной двоичной информации в регистр блока. Двоичный код в триггера регистра будет записан по перепаду 0,1 тактового импульса. На входы D-D регистра поступает входной информационный двоичный сигнал числовых и символьных данных ЧСД с выхода блока 86 ввода данных. Предварительно перед работой устройства управляющим сигналом ОБН - установки в нуль будут обнулены все триггеры регистра. По перепаду входного управляющего сигнала РАЗ информационный двоичный сигнал числовых и символьных данных ЧСД, поступающий из блока 86 ввода данных, будет записан в регистр блока регистра двоичного кода БРгДК блока 87 сортировки. Двоичный код выходной информации ДКВИ является выходом регистра. Система электронных ключей СЭК первая состоит из логических элементов И, выполненных на пороговых элементах. На информационные входы пороговых элементов, системы электронных ключей СЭК первой поступает информационный сигнал количества отрицательных чисел КЛОЧ, на информационный вход порогового элемента поступает управляющий сигнал знакового разряда отрицательного числа ЗРОЧ. На управляющие входы системы электронных ключей СЭК первой параллельно поступает сигнал выдачи ВЫД информации, который поступает из блока 92 управления модуля 5. Выходной информацией системы электронных ключей СЭК первой является двоичный код количества отрицательных чисел и знаковый разряд отрицательных чисел КОЧЗОЧ. Если управляющий сигнал выдачи ВЫД информации равен нулевому значению, то логические элементы И системы электронных ключей СЭК первой будут заперты. В этом случае выходной информационный сигнал код количества отрицательных чисел и знаковый разряд отрицательных чисел КОЧЗОЧ будет равен нулю. Если управляющий сигнал выдачи ВЫД информации равен единичному значению, то логические элементы И системы электронных ключей СЭК первой будут открыты. В этом случае выходной информационный сигнал код количества отрицательных чисел и знаковый разряд отрицательных чисел КОЧЗОЧ будет равен числовому двоичному значению количества отрицательных чисел КЛОЧ и знаковому разряду отрицательного числа ЗРОЧ. Система электронных ключей СЭК вторая состоит из логических элементов И, выполненных на пороговых элементах. На информационные входы пороговых элементов системы электронных ключей СЭК второй поступает информационный сигнал количества положительных чисел КЛПЧ, на информационный вход порогового элемента поступает управляющий сигнал знакового разряда положительного числа ЗРПЧ. На управляющие входы системы электронных ключей СЭК второй параллельно поступает сигнал выдачи ВЫД информации, который поступает из блока 92 управления модуля 5. Выходной информацией системы электронных ключей СЭК второй является двоичный код - количества положительных чисел и знаковый разряд положительных чисел КПЧЗПЧ. Если управляющий сигнал выдачи ВЫД информации равен нулевому значению, то логические элементы И системы электронных ключей СЭК второй будут заперты. В этом случае выходной информационный сигнал код количества положительных чисел и знаковый разряд положительных чисел КПЧЗПЧ будет равен нулю. Если управляющий сигнал выдачи ВЫД информации равен единичному значению, то логические элементы И системы электронных ключей СЭК второй будут открыты. В этом случае выходной информационный сигнал код количества положительных чисел и знаковый разряд положительных чисел КПЧЗПЧ будет равен числовому двоичному значению количества положительных чисел КЛПЧ и знаковому разряду положительного числа ЗРПЧ. Система электронных ключей СЭК третья состоит из логических элементов И, выполненных на пороговых элементах. На информационные входы пороговых элементов системы электронных ключей СЭК3 третья поступает информационный сигнал двоичного кода ДКВИ, поступающий с выхода регистра двоичного кода числа и символа РгДКЧС. На управляющие входы системы электронных ключей СЭК третьей параллельно поступает сигнал выдачи ВЫД информации, который поступает из блока 92 управления модуля 5. Выходной информацией системы электронных ключей СЭК третьей является двоичный код символа или числа ДКСЧ. Если управляющий сигнал выдачи ВЫД информации равен нулевому значению, то логические элементы И системы электронных ключей СЭК третьей будут заперты. В этом случае выходной информационный сигнал двоичного кода символа или числа ДКСЧ будет равен нулю. Если управляющий сигнал выдачи ВЫД информации равен единичному значению, то логические элементы И системы электронных ключей СЭК третьей будут открыты. В этом случае выходной информационный сигнал двоичного кода символа или числа ДКСЧ будет равен двоичному коду выходной информации регистра двоичного кода числа и символа РгДКЧС.
8
8
8
Блоки 2, …, 256 сортировки БСi выполняют аналогичные функции по упорядочению двоичной информации, имеют одинаковые структурные и принципиальные схемы, как и блок 87 сортировки БС1. Количество блоков сортировки равно числу 256. Символы латинского и русского алфавитов кодируются восьмиразрядным двоичным кодом. Общее количество блоков соответствует числу 2=256. Числа, которые могут быть упорядочены в представленном устройстве, принадлежат диапазону 1-2≤N≤2-1.
1
256
Блок 90 дешифрации состоит из семнадцати дешифраторов ДШ1, ДШ2, ДШ3, …, ДШ17. Функция дешифратора состоит в преобразовании входной двоичной информации в унитарный код на выходе. На выходе дешифратора только один высокий уровень, одна единица. Этот высокий уровень является разрешающим сигналом для записи входной информации в определенный двоичный регистр одного из двухсот пятидесяти шести блоков сортировки БСi. Входным информационным сигналом ЧСД блока является двоичный код символа или модуля числа. Четыре старших разряда информационного сигнала поступают на вход первого дешифратора ДШ1. Младшие четыре разряда поступают параллельно на входы остальных шестнадцати дешифраторов ДШ2, ДШ3, …, ДШ17. На разрешающий работу Е вход дешифратора ДШ1 поступает управляющий сигнал СРЗ из блока 92 управления модуля 5. При единичном значении сигнала СРЗ дешифратор ДШ1 находится в рабочем состоянии, на выходе микросхемы только одна единица, остальные выходы находятся в нулевом состоянии. При нулевом значении сигнала СРЗ дешифратор находится в нерабочем режиме, на выходе микросхемы только нулевая информация. На выходе дешифратора ДШ1 при рабочем состоянии будет код один из шестнадцати. Единица на выходе первого дешифратора переведет в рабочее состояние один из оставшихся шестнадцати дешифраторов блока. На выходе только этого дешифратора будет одна единица, все остальные выходы этой микросхемы будут в нулевом состоянии. Остальные пятнадцать дешифраторов блока будут в нерабочем состоянии, т.е. на выходах этих микросхем установится нулевое состояние. На выходе блока 90 дешифрации сформируется унитарный код один из двухсот пятидесяти шести. Выходные сигналы блока дешифрации PAЗ-РАЗ поступают на входы блоков сортировки. Один единичный выходной сигнал блока дешифрации поступает на разрешающий вход для записи информации в один из двухсот пятидесяти шести регистров блоков сортировки. Поступившая на вход информация в виде двоичного кода символа и числа со своим знаковым разрядом будет записана в этот регистр.
Блок 91 хранения результата модуля 5 БХРМОД5 состоит из оперативного запоминающего устройства ОЗУ, первого двоичного счетчика Сч1, формирующего адреса столбцов АД СТЛ, второго двоичного счетчика Сч2, формирующего адреса строк АД СТР. Этот блок служит для хранения двоичных разрядов символьной и числовой информации при выполнении операции сортировки данных. На вход блока поступают упорядоченные двоичные коды символов и чисел в виде информационного сигнала УМД. На вход блока 91 хранения результата модуля 5 БХРМОД5 поступают управляющие сигналы из блока 92 управления модуля 5. Сигнал ОБН обнуления поступает на вход установки в нулевое состояние первого двоичного счетчика Сч1. Этот сигнал предназначен для обнуления счетчика Сч1. Сигнал УСН обнуления поступает на вход установки в нулевое состояние второго двоичного счетчика Сч2 и предназначен для обнуления счетчика Сч2. Управляющий сигнал ГИ-генератор прямоугольных импульсов поступает на суммирующий вход первого двоичного счетчика Сч1 для формирования адреса столбцов в оперативном запоминающем устройстве. Управляющий сигнал ТИ-генератор тактовых импульсов поступает на суммирующий вход второго двоичного счетчика Сч2 для формирования адреса строк в оперативном запоминающем устройстве. Управляющий сигнал ВК-выбор кристалла поступает на вход оперативного запоминающего устройства ОЗУ из блока 92 управления модуля 5 и устанавливает микросхему в рабочий режим. Управляющий сигнал Зп/Сч запись/считывания поступает на вход оперативного запоминающего устройства ОЗУ из блока 92 управления модуля 5 и устанавливает микросхему в режимы записи или считывания информации. Информационный сигнал - результат упорядоченных данных РУД является выходным сигналом оперативного запоминающего устройства.
Комбинационная схема - блок 92 управления устройства сортировки информации методом дешифрации данных строится по размеченной граф-схеме алгоритма ГСА (фиг.15) по известным правилам [6].
Система коммутации модуль-модуль СКММ
Система 6 коммутации модуль-модуль СКММ содержит: входные результаты от специализированных вычислительных модулей, выходные задания с выходов специализированных вычислительных модулей, интерфейсный канал модуль-модуль, шинные 95, 98 формирователи ШФt, ШФs, электронные 93, 94, 96, 97 ключи ЭКлk, ЭКлр, ЭКлz, ЭКлh (фиг.16). Система 6 коммутации модуль-модуль СКММ обеспечивает передачу информации с выходов специализированных вычислительных модулей на входы других специализированных вычислительных модулей системы в виде заданий и результатов, а также формирует интерфейсный канал передачи информации с выходов специализированных вычислительных модулей системы в виде результатов для хранения их в памяти арифметико-символьного процессора. Основная задача системы 6 коммутации модуль-модуль состоит в обеспечении двухсторонней информационной связи между специализированными вычислительными модулями системы ВОРАМС. Двухсторонняя информационная связь между первым специализированным вычислительным модулем СпецВычМод1 и другими модулями обеспечивается работой элементов: шинным 95 формирователем ШФt электронными 93, 94 ключами ЭКлk и ЭКлр (фиг.16). Информационными входами системы 6 коммутации модуль-модуль являются информационные сигналы Задан1 и Заданn, которые поступают с выхода арифметико-символьного процессора на входы специализированных вычислительных модулей системы. Информационными выходами системы коммутации модуль-модуль является информационные сигналы Резул1, Резулn, которые поступают с выходов специализированных вычислительных модулей системы на вход арифметико-символьного процессора. Входными информационными сигналами системы коммутации модуль-модуль являются сигналы: управление потоками информации первый УПИ1, управление потоками информации n-й УПИn. В состав информационного сигнала управление потоками информации первый УПИ1 входят управляющие сигналы: направление потока справа налево первый - НППЛ1 и направление потока слева направо первый - НПЛП1. Управляющий сигнал направление потока справа налево первый - НППЛ1 поступает на управляющий вход электронного 93 ключа ЭКлk. Управляющий сигнал направление потока слева направо первый - НПЛП1 поступает на управляющий вход электронного 94 ключа ЭКлр. В состав информационного сигнала управление потоками информации n-й УПИn входят управляющие сигналы: направление потока справа налево z-й - НППЛz и направление потока слева направо h-й - НПЛПh. Управляющий сигнал направление потока справа налево z-й - HППЛz поступает на управляющий вход электронного 96 ключа ЭКлz. Управляющий сигнал направление потока слева направо h-й - НПЛПh поступает на управляющий вход электронного 97 ключа ЭКлh. Если входной управляющий сигнал направление потока справа налево первый - НППЛ1 равен единице, то электронные 93 ключи ЭКлh будут открыты. В этом случае обеспечивается передача информации справа налево. С выхода шинного 95 формирователя ШФt через открытые электронные 93 ключи ЭКлk входной информационный сигнал поступит на входы специализированного вычислительного модуля первого СпецВычМод 1. Если входной управляющий сигнал направление потока справа налево первый - НППЛ1 равен нулевому значению, то электронные 93 ключи ЭКлk будут закрыты. В этом случае канал передачи информации справа налево будет закрыт.Если входной управляющий сигнал направление потока слева направо первый - НПЛП1 равен единице, то электронные 94 ключи ЭКлр будут открыты. В этом случае обеспечивается передача информации слева направо. С выхода специализированного вычислительного модуля первого СпецВычМод 1 через открытые электронные 94 ключи ЭКлр выходной информационный сигнал поступит на входы шинного 95 формирователя ШФt. Если входной управляющий сигнал направление потока слева направо первый - НПЛП1 равен нулевому значению, то электронные 94 ключи ЭКлр будут закрыты. В этом случае канал передачи информации слева направо будет закрыт.Входы-выходы шинного 95 формирователя ШФt соединены с интерфейсным каналом модуль-модуль (фиг.16). Если входной управляющий сигнал направление потока справа налево z-й - НППЛz равен единице, то электронные 96 ключи ЭКлz будут открыты. В этом случае обеспечивается передача информации справа налево. С выхода шинного 98 формирователя ШФS через открытые электронные 96 ключи ЭКлz входной информационный сигнал поступит на входы специализированного вычислительного модуля n-го СпецВычМодn. Если входной управляющий сигнал направление потока справа налево z-й - НППЛz равен нулевому значению, то электронные 96 ключи ЭКлz будут закрыты. В этом случае канал передачи информации справа налево будет закрыт. Если входной управляющий сигнал направление потока слева направо h-й - НПЛПh равен единице, то электронные 97 ключи ЭКл/г будут открыты. В этом случае обеспечивается передача информации слева направо. С выхода специализированного вычислительного модуля n-го СпецВычМодn через открытые электронные 97 ключи ЭКлh выходной информационный сигнал поступит на входы шинного 98 формирователя ШФs. Если входной управляющий сигнал направление потока слева направо первый - НПЛПh равен нулевому значению, то электронные 97 ключи ЭКлh будут закрыты. В этом случае канал передачи информации слева направо будет закрыт.Входы-выходы шинного 98 формирователя ШФs соединены с интерфейсным каналом модуль-модуль (фиг.16). Другие каналы передачи информации системы коммутации модуль-модуль работают по аналогичному алгоритму.
Блок периферийных устройств представляет собой совокупность устройств хранения информации: магнитные ленты, диски, оптические накопители - CD/DVD, устройства ввода-вывода массивов информации: принтеры, стримеры, сканеры, а также интерфейсы внутренние и внешние. Ввод вывод в режим прямого доступа к памяти используют канал прямого доступа к памяти, по которому массивы данных передаются непосредственно между периферийным устройством. Это позволяет достичь наибольшей скорости передачи, но требует специального контроллера прямого доступа к памяти. Внешним информационным входом блока периферийных устройств является сигнал ВыхДн - выходные данные (фиг.1). Этот сигнал является выходным сигналом блока хранения результатов. Из оперативного запоминающего устройства блока хранения результатов информация после выполнения заданий арифметико-символьным процессором, а также специализированными вычислительными модулями поступает на вход блока периферийных устройств (фиг.1, 2, 9).
Работа алгоритма управления вычислительной открытой развиваемой асинхронной модульной системы следующей:
Содержательная граф-схема алгоритма управления приведена на фиг.17 и отражает работу блока 8 управления (фиг.1).
Блок 1 алгоритма является начальным блоком алгоритма.
В блоке 2 алгоритма выполняется подача сигнала СБРОС установки в нулевое состояние на входы всех элементов вычислительной открытой развиваемой асинхронной модульной системы.
В блоке 3 алгоритма по команде ПУСК: =1 происходит установка внешнего сигнала устройства ПУСК в единичное значение.
Блоки 4, 5, 6, 7, 8 представляют собой цикл, в котором анализируется окончание работы арифметико-символьного процессора, а также функционирование устройства и блоков, входящих в состав процессора.
В блоке 4 алгоритма анализируется признак окончание работы арифметико-символьного процессора ОКРАСП. По выходу ДА блока, признак окончание работы АСП, осуществляется переход на конечный блок 18 алгоритма. По выходу НЕТ блока, признак функционирование процессора, происходит переход на блок 5 алгоритма.
В блоке 5 алгоритма по команде АСП=НЧРАСП на вход арифметико-символьного процессора с выхода блока 8 управления поступает управляющий сигнал начало работы процессора НЧРАСП.
В блоке 6 алгоритма по команде БВАО=ВХБВАО на вход блока выполнения арифметических операций БВАО подается входной информационный сигнал ВХБВАО. В результате выполнения этой команды на вход блока выполнения арифметических операций проступают данные, над которыми необходимо произвести основные арифметические операции. По команде БППЗВОС=ВХБППЗ на вход блока параллельного поиска и замены в обрабатываемых словах БППЗВОС подается входной информационный сигнал ВХБППЗ. В результате выполнения этой команды на вход блока параллельного поиска и замены в обрабатываемых словах поступают слова, а также фрагменты слов, над которыми необходимо произвести поисковые операции и при необходимости осуществить функции замены. По команде БВЛО=ВХБВЛО на вход блока выполнения логических операций БВЛО поступает входной информационный сигнал ВХБВЛО. В результате выполнения этой команды на вход блока выполнения логических операций поступают двоичные коды, над которыми выполняются логические операции: конъюнкция, дизъюнкция, инверсия, ИСКЛЮЧАЮЩЕЕ ИЛИ.
В блоке 7 алгоритма по команде БХР=РЗО на вход блока хранения результатов БХР арифметико-символьного процессора поступают полученные результаты выполнения арифметических, поисковых, логических операций, результаты выполнения операций распределения ресурсов, алфавитной сортировки слов и упорядочения символов с выходов блоков процессора и специализированных вычислительных модулей системы. Результаты будут записаны в оперативное запоминающее устройство блока хранения результатов.
В блоке 8 алгоритма анализируется признак работы системы коммутации процессор-модуль РСКПМ. По выходу НЕТ осуществляется переход на блок 4 алгоритма. В этом случае работают только блоки арифметико-символьного процессора. По выходу ДА происходит переход на блок 9 алгоритма. При этом полученные задания от арифметико-символьного процессора необходимо выполнять на специализированных вычислительных модулях системы.
Блоки 9, 10, 11, 12 представляют собой цикл, в котором поступают задания от арифметико-символьного процессора к специализированным вычислительным модулям системы через систему коммутации процессор-модуль. В этом цикле осуществляется запись полученных результатов с выходов модулей в блок хранения результатов арифметико-символьного процессора. По завершению цикла осуществляется переход на блок 13 алгоритма.
В блоке 9 алгоритма происходит изменение переменной счетчика цикла i от начального значения единицы до конечного значения n с шагом +1.
В блоке 10 алгоритма по команде СКПМ=НРМi на входы системы коммутации процессор-модуль поступают управляющие сигналы начало работы очередных модулей HPMi с выхода блока 8 управления. По этой команде задания с выхода арифметико-символьного процессора поступают на входы вычислительных модулей.
В блоке 11 алгоритма по команде СпецВычМодi=Заданi на вход i-го специализированного вычислительного модуля системы поступает i-e задание. Входные данные и код операции поступают на вход специализированного вычислительного модуля системы.
В блоке 12 алгоритма по команде БХР=Резулi на вход блока хранения результатов БХР арифметико-символьного процессора поступают полученные результаты с выходов специализированных вычислительных модулей системы. Результаты будут записаны в оперативное запоминающее устройство блока хранения результатов.
Блоки 13, 14, 15, 16, 17 представляют собой цикл, в котором анализируется работа системы коммутации модуль-модуль. В результате работы системы коммутации модуль-модуль устанавливается интерфейсный канал между специализированными вычислительными модулями системы. Этот канал обеспечивает передачу информации в виде заданий от одних модулей и полученных результатов от других модулей. По завершению цикла осуществляется переход на блок 8 алгоритма.
В блоке 13 алгоритма анализируется признак работы системы коммутации модуль-модуль РСКММ. По выходу НЕТ осуществляется переход на блок 8 алгоритма. В этом случае система коммутации модуль-модуль не работает. По выходу ДА происходит переход на блок 14 алгоритма. При этом полученные задания от одних модулей подаются на входы других специализированных вычислительных модулей системы. После выполнения заданий передаются между модулями в виде результатов через интерфейсный канал.
В блоке 14 алгоритма происходит изменение переменной счетчика цикла i от начального значения единицы до конечного значения n с шагом +1.
В блоке 15 алгоритма по команде СКММ=УПИi на вход системы коммутации модуль-модуль из блока 8 управления поступает i-й информационный сигнал управление потоками информации УПИi. По этой команде меняется направление потоков информации слева направо или справа налево, с выходов одних вычислительных модулей информация поступает на входы других модулей и наоборот.
В блоке 16 алгоритма по команде СпецВычМодi=Заданi на вход i-го специализированного вычислительного модуля системы поступает i-e задание. Входные числа и код операции поступают на вход специализированного вычислительного модуля системы для выполнения операции.
В блоке 17 алгоритма по команде БХРСпецВычМодi=Резулi на входы блоков хранения результатов специализированных вычислительных модулей поступают полученные результаты после выполнения этими модулями операций. Результаты будут записаны в оперативные запоминающие устройства блоков хранения результатов специализированных вычислительных модулей.
Блок 18 - является конечным блоком алгоритма.
ИСТОЧНИКИ ИНФОРМАЦИИ
1. Вишневский Ю.Л., Котов В.Е. Марчук А.Г. Модульная асинхронная развиваемая система // Кибернетика. - 1984. N 3. - C.22-29.
2. Вишневский Ю.Л., Котов В.Е. Марчук А.Г. Архитектура и принципы организации параллельного процессора для числовой обработки. - В кн.: Высокопроизводительные вычислительные средства для обработки данных. Новосибирск: Наука, 1981, с.5-14.
3. Карцев М.А. Арифметика цифровых машин. - М.: Наука. 1969. - 575 с.
4. Самофалов К.Г., Романкевич A.M., Валуйский В.Н. Прикладная теория цифровых автоматов. - Киев: Высш. шк., 1987 - 374 с.: ил.
5. Патент №2316047 27.01.2008 г.
6. Баранов С.И. Синтез микропрограммных автоматов. - Энергия. Ленинградское отделение. 1974 г. - 184 с.
7. Патент №2245579 27.01.2005 г.
8. Патент №2223538 10.02.2004 г.
9. Патент №2210103 10.08.2003 г.
10. Патент №2322688 20.04.2008 г.
11. Патент №2319197 10.03.2008 г.
12. Вавилов Е.И. и др. Синтез схем на пороговых элементах. - М.: Сов. радио. 1970 г.
13. Пом А., Агравал О. Быстродействующие системы памяти: - М.: Мир, 1987. - 264 сл., ил.
14. Зельдин Е.А. Цифровые интегральные микросхемы в информационной измерительной аппаратуре. - Л.: Энергоатомиздат. Ленинградское отделение, 1986. - 280 с.: ил.
15. Алексенко А.Г., Шагурин И.И. Микросхемотехника: Учеб. пособие для вузов. - 2-е изд., перераб. и доп. - М.: Радио и связь, 1990. - 496 с.: ил.