Ячейка однородной вычислительной структуры

Реферат

 

Изобретение относится к цифровой вычислительной технике и предназначено для использования в однородных вычислительных структурах для реализации нечетких алгоритмов, а также в информационно-советующих и прогнозирующих системах. Техническим результатом является расширение функциональных возможностей ячейки за счет организации двунаправленного обмена нечеткой информацией. Ячейка содержит восемь регистров, два коммутатора, схему сравнения, счетчик, управляющую память, элемент И, пять элементов ЗАПРЕТ, четыре входных шины ячейки, четыре выходных шины ячейки, вход настрйоки ячейки, входы кода микрокоманды, входы адреса микрокоманды, тактовый вход ячейки. Введение в состав ячейки новых узлов дает возможность расширить функциональные возможности однородных вычислительных структур, построенных на базе таких ячеек, за счет реализации предельного случая декомпозиции нечеткой информации и, следовательно, расширения класса задач, решаемых на данных структурах. 7 табл. 6 ил.

Изобретение относится к цифровой вычислительной технике и предназначено для использования в однородных вычислительных структурах (ОВС) для реализации нечетких алгоритмов, а также в информационно-советующих и прогнозирующих системах.

Известна ячейка ОВС, содержащая три регистра, схему сравнения, первую группу элементов И, группу элементов ИЛИ, дешифратор, три коммутатора, четвертый регистр и вторую группу элементов И, которая позволяет выполнять над элементами нечетких множеств следующие операции: отрицание, конъюнкцию, дизъюнкцию, импликацию и эквивалентность [1] Однако эта ячейка не позволяет выполнять преобразования над нечеткими высказываниями по логическим формулам, содержащие более одной операции.

Наиболее близким к предлагаемому по технической сущности является устройство, выполненное в виде процессора для реализации операций над элементами расплывчатых множеств, содержащее три регистра, два коммутатора, схему сравнения, группу элементов И, счетчик, управляющую память, элемент И, причем информационные входы процессора соединены с информационными входами первого и второго регистров, прямые группы выходов первого, второго и третьего регистров соединены с первой, третьей и пятой группами информационных входов первого коммутатора соответственно, инверсные группы выходов первого, второго и третьего регистров соединены с второй, четвертой и шестой группами информационных входов первого коммутатора соответственно, первая группа выходов первого коммутатора соединена с первыми группами информационных входов второго коммутатора и схемы сравнения, вторая группа выходов первого коммутатора соединена с вторыми группами информационных входов второго коммутатора и схемы сравнения, группа выходов схемы сравнения соединена с второй группой управляющих входов второго коммутатора, группа выходов которого соединена с вторыми входами элементов И группы элементов И и с группами информационных входов первого, второго и третьего регистров, выходы элементов И группы элементов И соединены с информационными выходами процессора, группа входов адреса микрокоманды процессора соединена с информационными входами счетчика, выходы которого соединены с адресными входами управляющей памяти, группа входов загрузки программы процессора соединена с группой информационных входов управляющей памяти, вход задания режима работы процессора соединен с входами записи счетчика и управляющей памяти, выходы кода операции управляющей памяти соединены с первой группой управляющих входов второго коммутатора, выходы признака адреса первого операнда, адреса первого операнда, признака адреса второго операнда, адреса второго операнда управляющей памяти соединены с группой управляющих входов первого коммутатора, группа выходов адреса результата управляющей памяти соединена с входами записи первого, второго и третьего регистров, выход признака конца операции управляющей памяти соединен с первыми входами элементов И группы элементов И и с первым входом элемента И, второй вход которого соединен с тактовым входом процессора, выход элемента И соединен со счетным входом счетчика [2] Недостатком известного устройства является однонаправленный метод обмена информацией, вследствие чего на базе таких устройств возможно построение ОВС, позволяющих реализовать нечеткие алгоритмы только для узкоспециализированного класса решаемых задач.

Изобретение предназначено для расширения функциональных возможностей ячейки за счет организации двунаправленного обмена нечетной информацией.

Цель достигается тем, что в ячейку, содержащую первый, второй и третий регистры, первый и второй коммутаторы, схему сравнения, счетчик, управляющую память и элемент И, причем прямые группы выходов первого, второго и третьего регистров соединены с первой, третьей и пятой группами информационных входов первого коммутатора соответственно, инверсные группы выходов первого, второго и третьего регистров соединены с второй, четвертой и шестой группами информационных входов первого коммутатора соответственно, первая группа выходов первого коммутатора соединена с первыми группами информационных входов второго коммутатора и схемы сравнения, вторая группа выходов первого коммутатора соединена с вторыми группами информационных входов второго коммутатора и схемы сравнения, группа выходов схемы сравнения соединена с второй группой управляющих входов второго коммутатора, группа входов адреса микрокоманды ячейки соединена с информационными входами счетчика, выходы которого соединены с адресными входами управляющей памяти, группа входов кода команды ячейки соединена с группой информационных входов управляющей памяти, вход настройки ячейки соединен с входами записи счетчика и управляющей памяти, выходы кода операции управляющей памяти соединены с первой группой управляющих входов второго коммутатора, выходы признака адреса первого операнда, первого и второго разрядов адреса первого операнда, признака адреса второго операнда, первого и второго разрядов адреса второго операнда управляющей памяти соединены с группой управляющих входов первого коммутатора, первый, второй и третий разряды выходов адреса результата управляющей памяти соединены с входом записи первого, второго и третьего регистров соответственно, выход признака конца операции управляющей памяти соединен с первым входом элемента И, второй вход которого соединен с тактовым входом ячейки, выход элемента И соединен со счетным входом счетчика, введены четвертый, пятый, шестой, седьмой и восьмой регистры, первый, второй, третий, четвертый и пятый элементы ЗАПРЕТ, причем группы информационных входов четвертого, пятого, шестого и седьмого регистров соединены с группами информационных входов первой, второй, третьей и четвертой входных шин ячейки соответственно, входы записи первой, второй, третьей и четвертой входных шин ячейки соединены с входами записи четвертого, пятого, шестого и седьмого регистров соответственно, группы выходов четвертого, пятого, шестого и седьмого регистров соответственно соединены с информационными входами первого, второго и третьего регистров и с группами информационных выходов первой, второй, третьей и четвертой выходных шин ячейки, группа выходов второго коммутатора соответственно соединена с группой информационных входов восьмого регистра, группа выходов которого соответственно соединена с группами информационных выходов первой, второй, третьей и четвертой выходных шин ячейки, выход первого разряда адреса первого операнда управляющей памяти соединен с прямыми входами четвертого и пятого элементов ЗАПРЕТ и с инверсными входами первого, второго и третьего элементов ЗАПРЕТ, выход второго разряда адреса первого операнда управляющей памяти соединен с прямыми входами второго и третьего элементов ЗАПРЕТ и с инверсными входами первого, четвертого и пятого элементов ЗАПРЕТ, выход третьего разряда адреса первого операнда управляющей памяти соединен с прямыми входами первого, третьего и пятого элементов ЗАПРЕТ и с инверсными входами второго и четвертого элементов ЗАПРЕТ, выход четвертого разряда адреса первого операнда управляющей памяти соединен с прямыми входами первого, второго, третьего, четвертого и пятого элементов ЗАПРЕТ, выходы первого, второго, третьего, четвертого и пятого элементов ЗАПРЕТ соединены с управляющими входами четвертого, пятого, шестого, седьмого и восьмого регистров соответственно, выход четвертого разряда адреса результата управляющей памяти соединен с входом записи восьмого регистра, выход пятого разряда адреса результата управляющей памяти соединен с выходом записи первой выходной шины ячейки, выход шестого разряда адреса результата управляющей памяти соединен с выходом записи второй выходной шины ячейки, выход седьмого разряда адреса результата управляющей памяти соединен с выходом записи третьей выходной шины ячейки, выход восьмого разряда адреса результата управляющей памяти соединен с выходом записи четвертой выходной шины ячейки.

На фиг.1 показана функциональная схема ячейки; на фиг.2 структура микрокоманды; на фиг.3 функциональная схема одного из возможных вариантов реализации первого коммутатора; на фиг.4 функциональная схема одного из возможных вариантов реализации второго коммутатора; на фиг.5 представлен ОВС на базе таких ячеек; на фиг.6 показано функциональное назначение входов-выходов ячейки.

В табл.1 приведена система основных команд ячейки; в табл.2 мнемокоды и коды адресов операндов и адресов результата; в табл.3 примеры микропрограмм, выполненных ячейкой; в табл.4 соответствие входов и выходов первого коммутатора при его работе; в табл.5 работа схемы сравнения; в табл.6 соответствие входов и выходов второго коммутатора при его работе; в табл.7 возможные варианты разрешенных комбинаций адресов результата в зависимости от адреса первого операнда при выполнении операций пересылки.

Ячейка содержит (фиг. 1) четвертый, пятый, шестой и седьмой регистры 1,2,3 и 4, первый, второй и третий регистры 5, 6 и 7, первый коммутатор 8, схему 9 сравнения, второй коммутатор 10, восьмой регистр 11, счетчик 12, управляющую память 13, элемент И 14, первый, второй, третий и четвертый элементы ЗАПРЕТ 15, 16, 17 и 18, пятый элемент ЗАПРЕТ 19, первую, вторую, третью и четвертую входные шины 20, 21, 22 и 23 ячейки, первую, вторую, третью и четвертую выходные шины 24, 25, 26 и 27 ячейки, настроечный вход 28 ячейки, входы 29 кода микрокоманды, входы 30 адреса микрокоманды, тактовый вход 31 ячейки 32.

Формат микрокоманды (фиг.2) содержит поля 33-439.

Выходы регистров 1, 2, 3 и 4 соединены с информационными входами регистров 5, 6 и 7, прямые выходы которых соединены с первой, третьей и пятой группами информационных входов коммутатора 8 соответственно. Инверсные выходы регистров 5,6 и 7 соединены с второй, четвертой и шестой группами информационных входов коммутатора 8 соответственно, первая группа выходов которого соединена с первыми группами информационных входов схемы 9 сравнения и коммутатора 10. Вторая группа выходов коммутатора 8 соединена с вторыми группами информационных входов схемы 9 сравнения и коммутатора 10. Выходы коммутатора 10 соединены с информационными входами регистра 11. Выходы счетчика 12 соединены с адресными входами управляющей памяти 13, выход поля "конец операции" которой соединен с первым входом элемента И 14. Выход элемента И 14 соединен со счетным входом счетчика 12. Выход первого, второго, третьего и четвертого разрядов поля "адрес первого операнда" управляющей памяти 13 соединены соответственно с первым, вторым, третьим и четвертым входами элементов ЗАПРЕТ 15, 16, 17, 18 и 19. Выходы элементов ЗАПРЕТ 15, 16, 17, 18 и 19 соединены с управляющими входами регистров 1, 2, 3, 4 и 11 соответственно. Выходы первого, второго и третьего разрядов поля "адрес результата" управляющей памяти 13 соединены с входами записи регистров 5, 6 и 7 соответственно. Выходы поля "признак адреса первого операнда", первого и второго разрядов поля "адрес первого операнда", поля "признак адреса второго операнда" и поля "адрес второго операнда" управляющей памяти 13 соединены с группой управляющих входов коммутатора 8. Выходы поля "код операции" управляющей памяти 13 соединены с первой группой управляющих входов коммутатора 10, вторая группа управляющих входов которого соединена с группой выходов схемы 9 сравнения. Выход четвертого разряда поля "адрес результата" управляющей памяти 13 соединен с входом записи регистра 11. Информационные входы регистров 1, 2, 3 и 4 соединены с группами информационных входов входных шин 20, 21, 22 и 23 ячейки соответственно. Входы записи регистров 1, 2, 3 и 4 соединены с входами записи входных шин 20, 21, 22 и 23 ячейки соответственно. Выходы регистра 11 соединены с информационными входами регистров 5, 6 и 7 и с группами информационных выходов выходных шин 24, 25, 26 и 27 ячейки. Выходы записи выходных шин 24, 25, 26 и 27 ячейки соединены с выходами пятого, шестого, седьмого и восьмого разрядов поля "адрес результата" управляющей памяти 13 соответственно. Вход 28 настройки ячейки соединен с входами записи счетчика 12 и управляющей памяти 13. Входы 29 кода команды ячейки соединены с информационными входами управляющей памяти 13, входы 30 адреса микрокоманды ячейки соединены с информационными входами счетчика 12. Тактовый вход 31 ячейки соединен с вторым входом элемента И 14.

Ячейка предназначена для реализации микропрограмм обработки нечетких высказываний, элементов нечетких множеств и для образования ОВС, позволяющей реализовать нечеткие алгоритмы, в основе которых используется аппарат теории графов.

Нечетким высказыванием называется предложение, относительно которого можно судить о степени его истинности или ложности. Степень истинности каждого нечеткого высказывания принимает значения из интервала [0,1] Примерами нечетких высказываний являются пять небольшое число, сто много, сорок среднее число и тысяча много. Степень истинности первого нечеткого высказывания положим равной 0,1, второго 0,3, третьего 0,2, четвертого 0,9. Если обозначить первое нечеткое высказывание а, второе b, третье с, а четвертое d, то а 0,1; b 0,3; с 0,2; d 0,9.

Если а и b некоторые простые нечеткие высказывания, то, применяя к ним логические операции, можно получить составные высказывания. Ячейка реализует следующие логические операции над значениями нечетких высказываний а и b: a Если заданы степени истинности простых нечетких высказываний, то, используя (1) (5), можно найти степень истинности результирующего нечеткого высказывания, а также решать нечеткие логические уравнения.

Регистры 1-4 предназначены для приема в параллельном коде, хранения и выдачи в прямом коде значений нечетких высказываний на информационные входы регистров 5-7 и на выходные шины 24-27 ячейки и имеют информационные входы и выходы, разрядность которых определяется представлением нечетких высказываний, вход записи и управляющий вход, предназначенный для вывода выходов регистров из третьего состояния. Регистры имеют третье, высокоимпедансное, состояние и могут быть выполнены на микросхемах, например К555ИР22. Регистры 5-7 предназначены для приема в параллельном коде, хранения и выдачи в прямом и инверсном кодах значений нечетких высказываний на информационные входы коммутатора 8 и имеют информационные входы и выходы, разрядность которых определяется разрядностью регистров 1-4, и вход записи. Регистры могут быть выполнены на микросхемах, например, К555ИР35, где инверсные выходы организованы с помощью инверторов, и могут быть выполнены на микросхемах, например, К155ЛН1.

Коммутатор 8 предназначен для коммутации выходов регистров 5-7 на входы схемы 9 сравнения и коммутатора 10 и имеет шесть групп информационных входов, две группы выходов и группу управляющих входов. Разрядность информационных входов и выходов коммутатора определяется разрядностью регистров 1-4. Разрядность группы управляющих входов коммутатора 8 зависит от способа задания кодов адреса операндов, хранящихся в регистрах 5-7.

На фиг. 3 приведена одна из возможных схем реализации коммутатора 8 на базе микросхем, например, К155КП7, который представляет собой две одинаковые группы мультиплексоров 40 и 41, состоящих из N мультиплексоров 42, где N разрядность нечетких высказываний и соответственно регистров 1-4. Соответствие входов и выходов коммутатора при его работе показано в табл.4.

Схема 9 сравнения предназначена для сравнения значений нечетких высказываний и имеет две группы информационных входов, разрядность которых определяется разрядностью регистров 1-4, и три выхода признаков результата сравнения и может быть выполнена на микросхемах, например, К555СП1. Работа схемы сравнения показана в табл.5.

Коммутатор 10 предназначен для коммутации одного из выходов коммутатора 8 с информационными входами регистра 11. Коммутатор 10 имеет две группы информационных входов и одну группу выходов, разрядность которых определяется разрядностью регистров 1-4, а также две группы управляющих входов. Разрядность первой группы управляющих входов равна четырем, а разрядность второй группы управляющих входов равна трем.

На фиг. 4 приведена одна из возможных схем реализации коммутатора 10, который содержит мультиплексор 43, четыре элемента И 44, 45, 47 и 49, два элемента ИЛИ 46 и 48 и элемент НЕ 50, которые могут быть выполнены на микросхемах, например, К531КП11П, К155ЛИ1, К155ЛЛ1, К155ЛН1. Соответствие входов и выходов коммутатора при его работе показано в табл.6.

Счетчик 12 предназначен для задания начального адреса микропрограммы (т. е. адреса первой микрокоманды микропрограммы) и для формирования адреса текущей микрокоманды, имеет информационные входы, счетный вход, выходы и управляющий вход вход записи и может быть выполнен на микросхемах, например, К155ИЕ7. Разрядность информационных входов и выходов определяется объемом управляющей памяти 13.

Управляющая память 13 совместно с элементом И 14 и счетчиком 12 представляет собой микропрограммное устройство управления, которое предназначено для хранения микропрограмм и организации работы ячейки. Объем управляющей памяти зависит от числа микропрограмм. Разрядность выходной шины управляющей памяти определяется форматом микрокоманды. Управляющая память может быть выполнена на микросхемах, например, К155РУ5 или К155РУ2А.

Реализация таких устройств широко известна (например, Шевкопляс Б.В. Микропроцессорные структуры. Инженерные решения. M. Радио и связь, 1990, с. 27).

Элемент И 14 предназначен для стробирования прохождения импульсов от внешнего генератора импульсов в тот момент, когда выполнение текущей микропрограммы завершилось и ячейка готова к выполнению следующей микропрограммы, имеет два входа и выход и может быть выполнен на микросхемах, например, К144ЛИ1.

Элементы ЗАПРЕТ 15-18 предназначены для формирования управляющих сигналов в регистры 1-4 соответственно, по которым выходы регистра выводятся из высокоимпедансного состояния, и могут быть выполнены на микросхемах, например, К155ЛИ1 и К155ЛН1. Элементы ЗАПРЕТ 15-18 имеют четыре входа и один выход, причем первый и второй входы элемента ЗАПРЕТ 15 инверсные, а третий и четвертый прямые, первый и третий входы элемента ЗАПРЕТ 16 инверсные, а второй и четвертый прямые, первый вход элемента ЗАПРЕТ 17 инверсный, а второй, третий и четвертый прямые, второй и третий входы элемента ЗАПРЕТ 18 инверсные, а первый и четвертый прямые. Элемент ЗАПРЕТ 19 предназначен для формирования управляющего сигнала в регистр 11, по которому выходы регистра выводятся из высокоимпедансного состояния, и может быть выполнен на микросхемах, например, К155ЛИ1 и К155ЛН1. Элемент ЗАПРЕТ 19 имеет четыре входа и один выход, причем первый, третий и четвертый входы прямые, а второй вход инверсный.

Входные шины 20, 21, 22 и 23 ячейки предназначены для приема нечетких высказываний и их записи в регистры 1, 2, 3 и 4 соответственно и содержат группы информационных входов и входы записи нечетких высказываний. Группы информационных входов входных шин 20-23 ячейки соединены с информационными входами регистров 1-4 соответственно. Входы записи нечетких высказываний входных шин 20-23 ячейки соединены с входами записи регистров 1-4 соответственно. Разрядность групп информационных входов входных шин определяется представлением нечетких высказываний.

Выходные шины 24, 25, 26 и 27 ячейки предназначены для выдачи и записи результирующих значений нечетких высказываний в соседние ячейки структуры и содержат группы информационных выходов и выходы записи нечетких высказываний. Группы информационных выходов выходных шин 24-27 ячейки соединены с выходами регистров 1, 2, 3, 4 и 11. Выходы записи нечетких высказываний выходных шин 24, 25, 26 и 27 ячейки соединены с пятым, шестым, седьмым и восьмым разрядами поля адреса результата управляющей памяти 13 соответственно. Разрядность группы информационных выходов шины определяется разрядностью регистров 1, 2, 3, 4 и 11, или представлением нечетких высказываний.

Вход 28 настройки ячейки предназначен для записи адреса микрокоманды в счетчик 12 и кода микрокоманды в управляющую память 13. Входы 29 кода команды ячейки предназначены для занесения микрокоманд микропрограмм в управляющую память 13. Разрядность входов 29 определяется форматом микрокоманды. Входы 30 адреса микрокоманды ячейки предназначены для занесения в счетчик 12 адреса первой микрокоманды выполненной микропрограммы, а также для задания адресов микрокоманд при загрузке микропрограмм в управляющую память 13. Разрядность входов 30 определяется объемом управляющей памяти 13. Тактовый вход 31 ячейки предназначен для синхронизации работы элементов ячейки.

Рассмотрим работу ячейки 32 на примере алгоритмов выполнения следующих операций.

Алгоритм выполнения операций дизъюнкции, конъюнкции.

1. Выдать содержимое регистра 1 на его выходы и записать это значение в один из регистров 5-7, например в регистр 5.

2. Выдать содержимое регистра 2 на его выходы и записать это значение в один из регистров 5-7, например в регистр 6.

3. Выдать на соответствующие входы схемы 9 сравнения и коммутатора 10 содержимое регистров 5 и 6 в прямых кодах.

4. Выдать результат выполнения операции на выход коммутатора 10 и записать этот результат в регистр 11.

5. Выдать содержимое регистра 11 на его выходы и записать это значение в один из регистров 5-7 или выдать на соответствующие выходные шины 24-27 ячейки 32, например на выходную шину 26.

6. Конец.

Отличие между операциями дизъюнкции и конъюнкции состоит лишь в том, что в результате выполнения операции дизъюнкции на информационные выходы соответствующей выходной шины ячейки выдается максимальное значение из двух сравниваемых нечетких высказываний, а при выполнении операции конъюнкции минимальное.

Алгоритм выполнения операции пересылки.

1. Выдать содержимое одного из регистров 1-4 или 11 на их выходы и записать это значение в один из регистров 5-7 (внутренняя пересылка), например в регистр 6, или выдать на соответствующие выходные шины ячейки, например на выходную шину 26 (внешняя пересылка).

2. Конец.

Алгоритм выполнения операции импликации.

1. Выдать содержимое регистра 3 на его выходы и записать это значение в регистр 5.

2. Выдать содержимое регистра 4 на его выходы и записать это значение в регистр 6.

3. Выдать на соответствующие входы схемы 9 сравнения и коммутатора 10 содержимое регистров 5 и 6 в инверсном и прямом кодах соответственно.

4. Произвести сравнение этих операндов и записать результат операции в регистр 11.

5. Выдать содержимое регистра 11 на его выходы и записать это значение в один из регистров 5-7 или выдать на соответствующие выходные шины ячейки, например на выходную шину 24.

6. Конец.

Алгоритм выполнения операции инверсии.

1. Выдать содержимое одного из регистров 1-4, например регистра 1, на его выходы и записать это значение в один из регистров 5-7, например в регистр 7.

2. Выдать содержимое регистра 7 на первую группу выходов коммутатора 8 в инверсном коде и записать это значение в регистр 11.

3. Выдать содержимое регистра 11 на его выходы и записать это значение в один из регистров 5-7 или выдать на соответствующие выходные шины ячейки, например на выходную шину 25.

4. Конец.

Алгоритм выполнения операции ассоциативного поиска.

1. Выдать содержимое регистра 1 на его выходы и записать это значение в регистр 5.

2. Выдать содержимое регистра 2 на его выходы и записать это значение в регистр 6.

3. Выдать на соответствующие входы схемы 9 сравнения и коммутатора 10 содержимое регистров 5 и 6 в прямых кодах.

4. Если содержимое регистра 5 совпадает с содержимым регистра 6, то содержимое этого регистра записать в регистр 11. В противном случае запись не производить.

5. Выдать содержимое регистра 11 на его выходы и записать это значение в один из регистров 5-7 или выдать на соответствующие выходные шины ячейки, например на выходную шину 26.

6. Конец.

Алгоритм выполнения операций эквивалентности.

1. Выдать содержимое регистра 1 на его выходы и записать это значение в регистр 5.

2. Выдать содержимое регистра 2 на его выходы и записать это значение в регистр 6.

3. Выдать на соответствующие входы схемы 9 сравнения и коммутатора 10 содержимое регистров 5 и 6 в инверсном и прямом кодах соответственно.

4. Записать наибольшее из сравниваемых значений в регистр 11.

5. Выдать содержимое регистра 11 на его выходы и записать это значение в регистр 7.

6. Выдать на соответствующие входы схемы 9 сравнения и коммутатора 10 содержимое регистров 5 и 6 в прямом и инверсном кодах соответственно.

7. Записать наибольшее из сравниваемых значений в регистр 11.

8, Выдать содержимое регистра 11 на его выходы и записать это значение в регистр 6.

9. Выдать на соответствующие входы схемы 9 сравнения и коммутатора 10 содержимое регистров 6 и 7 в прямых кодах.

10. Записать наименьшее из сравниваемых значений в регистр 11.

11. Выдать содержимое регистра 11 на его выходы и записать это значение в один из регистров 5-7 или выдать на соответствующие выходные шины ячейки, например на выходную шину 26.

12. Конец.

Кроме того, ячейка позволяет выполнять микроорганизмы, состоящие из различных наборов операций, объединенных в сложные логические формулы, например (ab) (a b) которую можно представить в виде max(min(max(1-a,b),max(a,1-b)),min(a,b)).

При этом выполнение такой микропрограммы в ячейке обеспечивается за счет хранения в регистрах 1-4 исходных значений нечетких высказываний.

Алгоритм выполнения микропрограммы (ab) (a b) 1. Выдать содержимое регистра 1 на его выходы и записать это значение в регистр 5.

2. Выдать содержимое регистра 2 на его выходы и записать это значение в регистр 6.

3. Выдать на соответствующие входы схемы 9 сравнения и коммутатора 10 содержимое регистров 5 и 6 в инверсном и прямом кодах соответственно.

4. Записать наибольшее из сравниваемых значений в регистр 11.

5. Выдать содержимое регистра 11 на его выходы и записать это значение в регистр 7.

6. Выдать на соответствующие входы схемы 9 сравнения и коммутатора 10 содержимое регистров 5 и 6 в прямом и инверсном кодах соответственно.

7. Записать наибольшее из сравниваемых значений в регистр 11.

8. Выдать содержимое регистра 11 на его выходы и записать это значение в регистр 6.

9. Выдать на соответствующие входы схемы 9 сравнения и коммутатора 10 содержимое регистров 6 и 7 в прямых кодах.

10. Записать наибольшее из сравниваемых значений в регистр 11.

11. Выдать содержимое регистра 11 на его выходы и записать это значение в регистр 7.

12. Выдать содержимое регистра 2 на его выходы и записать это значение в регистр 6.

13. Выдать на соответствующие входы схемы 9 сравнения и коммутатора 10 содержимое регистров 5 и 6 в прямых кодах.

14. Записать наименьшее из сравниваемых значений в регистр 11.

15. Выдать содержимое регистра 11 на его выходы и записать это значение в регистр 5.

16. Выдать на соответствующие входы схемы 9 сравнения и коммутатора 10 содержимое регистров 5 и 7 в прямых кодах.

17. Записать наибольшее из сравниваемых значений в регистр 11.

18. Выдать результат выполнения микропрограммы (ab) (a b) на выходы регистра 11 и записать это значение в один из регистров 5-7 или выдать на соответствующие выходные шины ячейки, например на выходную шину 26 ячейки.

19. Конец.

Алгоритм выполнения набора микропрограмм конъюнкциия+дизъюнкция.

1. Выдать содержимое регистра 1 на его выходы и записать это значение в регистр 5.

2. Выдать содержимое регистра 2 на его выходы и записать это значение в регистр 6.

3. Выдать на соответствующие входы схемы 9 сравнения и коммутатора 10 содержимое регистров 5 и 6 в прямых кодах.

4. Записать наименьшее из сравниваемых значений в регистр 11.

5. Выдать содержимое регистра 11 на его выходы и на выходную шину 26 ячейки.

6. Выдать на соответствующие входы схемы 9 сравнения и коммутатора 10 содержимое регистров 5 и 6 в прямых кодах.

7. Записать наибольшее из сравниваемых значений в регистр 11.

8. Выдать содержимое регистра 11 на его выходы и на выходную шину 27 ячейки.

9. Конец.

Алгоритм выполнения операции пересылки а+с.

1. Выдать содержимое регистра 1 на его выходы и выдать это значение на выходные шины 24 и 25 ячейки.

2. Выдать содержимое регистра 3 на его выходы и выдать это значение на выходные шины 26 и 27 ячейки.

3. Конец.

Алгоритм выполнения операций конъюнкции b, d с предельным случаем декомпозиции результата.

1. Выдать содержимое регистра 2 на его выходы и записать это значение в регистр 5.

2. Выдать содержимое регистра 4 на его выходы и записать это значение в регистр 6.

3. Выдать на соответствующие входы схемы 9 сравнения и коммутатора 10 содержимое регистров 5 и 6 в прямых кодах.

4. Выдать результат выполнения операции на выход коммутатора 10 и записать этот результат в регистр 11.

5. Выдать содержимое регистра 11 на его выходы и выдать это значение на выходные шины 24-27 ячейки 32.

6. Конец.

Микропрограммы, алгоритмы которых приведены выше, представлены в микрокомандах в табл.3.

Микрокоманды имеют следующий формат. Поле 33 микрокоманды "код операции" содержит код выполняемой операции. Мнемокоды и коды основных операций представлены в табл.1. Поля 34 и 36 микрокоманды указывают в каком коде (прямом или инверсном) выдавать содержимое регистров 5-7, адреса которых содержатся в полях 35 и 37 микрокоманды соответственно (0 в инверсном коде, 1 в прямом коде). Поля 35 и 37 микрокоманды содержат адреса операндов выполняемой операции. Мнемокоды и коды адресов регистров приведены в табл. 2. Поле 38 микрокоманды "адрес результата" содержит адрес выдачи полученного результирующего значения. Мнемокоды и коды адресов результата приведены в табл.2. Поле 39 микрокоманды "конец операции" содержит флаг конца микропрограммы. Если в этом поле микрокоманды записана "1", то за текущей микрокомандой должна выполняться следующая микрокоманда микропрограммы, если в поле 39 микрокоманды содержится "0", то это микрокоманда последняя в микропрограмме.

В приведенных таблицах в случае, если для выполнения данной микрокоманды содержимое полей микрокоманды неиспользуется и не определено, ставится прочерк (-).

Рассмотрим работу ячейки при выполнении микропрограммы, реализующей выполнение операции конъюнкции b, d с предельным случаем декомпозиции результата.

Вначале по входам 29 кода команды ячейки 32 в соответствующие ячейки управляющей памяти 13 записывается микропрограмма, причем адреса ячеек управляющей памяти поступают на адресные входы памяти через счетчик 12 с входов 30 адреса микрокоманды, а запись микрокоманд микропрограммы в соответствующие ячейки памяти производится по сигналу с входа 28 настройки ячейки. При этом необходимо, чтобы последовательность адресов задействованных ячеек памяти 13 соответствовала последовательности выполнения микрокоманд микропрограммы.

Выполнение микропрограммы начинается по произведении записи в регистры 2 и 4 нечетких высказываний из соответствующих ячеек структуры, например в регистр 2b 0,3, а в регистр 4d 0,9, и записи по входам 30 адреса микрокоманды ячейки в счетчик 12 адреса первой микрокоманды микропрограммы.

С выхода счетчика 12 адрес первой микрокоманды поступает на адресные входы управляющей памяти 13. Через время, определенное типом управляющей памяти, на ее выходах устанавливается первая микрокоманда (операция пересылки). При этом поле 35 (через элемент ЗАПРЕТ 16) указывает содержимое регистра 2 выдать на его выходы, а поле 38 микрокоманды указывает, куда поместить это значение, в данном случае в регистр 5. Одновременно поле 39 этой микрокоманды поступает на первый вход элемента И 14 и разрешает прохождение тактовых сигналов от внешнего генератора синхроимпульсов (ГСИ) на счетный вход счетчика 12. Тактовая частота ГСИ подобрана таким образом, что за период тактовых сигналов производится выполнение любой микрокоманды.

С приходом очередного тактового сигнала от ГСИ на второй вход элемента И 14 содержимое счетчика 12 увеличивается на единицу, что соответствует установлению на выходах счетчика 12 адреса второй микрокоманды. в результате чего на выходах управляющей памяти 13 устанавливается вторая микрокоманда (операция пересылки).

Поле 35 (через элемент ЗАПРЕТ 18) указывает содержимое регистра 4 выдать на его выходы, а поле 38 микрокоманды указывает, куда поместить это значение, в данном случае в регистр 6. На этом выполнение второй микрокоманды заканчивается.

С поступлением очередного тактового сигнала от ГСИ на выходах управляющей памяти 13 устанавливается третья микрокоманда. Поля 34-37 третьей микрокоманды поступают на управляющий вход коммутатора 8. При этом поле 35 указывает содержимое регистра 5 выдать на первый выход коммутатора 8, поле 34 указывает содержимое регистра 5 выдать на первый выход коммутатора 8 в прямом коде. Поле 37 указывает содержимое регистра 6 выдать на второй выход коммутатора 8, поле 36 указывает содержимое регистра 6 выдать на первый выход коммутатора 8 в прямом коде. В результате данной операции на первом выходе коммутатора 8 устанавливается значение нечеткого высказывания b=0,3, а на втором выходе d=0,9.

С выходов коммутатора 8 значения нечетких высказываний поступают на соответствующие входы схемы 9 сравнения и коммутатора 10, на первую группу управляющих входов которого уже подано поле 33 текущей микрокоманды (код операции), а на вторую группу управляющих входов коммутатора 10 поступает результат сравнения нечетких высказываний b=0,3 и d=0,9. В соответствии с кодом операции конъюнкции и результатом сравнения операндов (b<d) на выходе коммутатора 10 устанавливается значение нечеткого высказывания b=0,3.

Кроме того, для блокировки перезаписи промежуточных значений или их выдачи на выходные шины ячейки и с целью сохранения значений нечетких высказываний, содержащихся в регистрах 5-7, в поле 38 устанавливается "пустой адрес результата".

С приходом очередного тактового сигнала от ГСИ на выходах управляющей памяти 13 устанавливается четвертая микрокоманда. Поля 33-37 и 39 четвертой микрокоманды дублируют соответствующие поля предыдущей микрокоманды, что сохраняет коммутацию, а установка в поле 38 "адрес результата" адреса регистра 11 производит запись полученного результата с выхода коммутатора 10 в этот регистр. На этом выполнение четвертой микрокоманды заканчивается.

С поступлением очередного тактового сигнала от ГСИ на выходе управляющей памяти 13 устанавливается пятая микрокоманда (операция пересылки). Поле 35 (через элемент ЗАПРЕТ 19) указывает содержимое регистра 11 выдать на его выходы, а поле 38 микрокоманды указывает результат выполнения микропрограммы (b=0,3) выдать на выходные шины 24-27 ячейки. При этом поле 39 "конец операции" указывает, что данн