Научная статья на тему 'Исследование функциональных возможностей изотропной структуры, обеспечивающей вычисление неупорядоченных булевых функций'

Исследование функциональных возможностей изотропной структуры, обеспечивающей вычисление неупорядоченных булевых функций Текст научной статьи по специальности «Математика»

CC BY
93
25
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МНОГОФУНКЦИОНАЛЬНЫЕ ЛОГИЧЕСКИЕ МОДУЛИ (МЛМ) / H-ЯЧЕЙКИ / ПОСТРОЕНИЕ УПРАВЛЯЮЩИХ УСТРОЙСТВ

Аннотация научной статьи по математике, автор научной работы — Шидловский Станислав Викторович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The analysis of functional resources of isotropic structure guaranteeing computation of disordered Boolean functions

The article is devoted to construction of control devices on the basis of multifunctional logical modules guaranteeing the realization of control algorithms from stated class with the help of re-tuning of device structure.

Текст научной работы на тему «Исследование функциональных возможностей изотропной структуры, обеспечивающей вычисление неупорядоченных булевых функций»

Зайцев Николай Геннадьевич

Аспирант кафедры физической электроники ТУСУРа

Телефон (3822) 413936

Эл. почта: kolan317_1@mail.ru

P.E. Troyan, N.G. Zaicev

Automation of measurement of the characteristics of mos-structures with use of trunks ISA and PCI

The summary: The development cycles of the device for automatic measurement volt-farad of the characteristics MOS - structures are considered on the basis of the COMPUTER. The problems met by development of the device and variants of their elimination are stated.

УДК 681.3.06: 62-507 С.В. Шидловский

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

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

Введение

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

В работах [2, 3] рассмотрены F-, Б- и Т-структуры, реализующие вычисление только упорядоченных булевых функций и не обеспечивающие вычисление неупорядоченных булевых функций, определяемых приведенной в [4] классификацией. В связи с этим возникает необходимость в разработке новых структур с более широкими возможностями.

Вычисление неупорядоченных булевых функций

Пусть задана произвольная функция п аргументов в дизъюнктивно нормальной форме (ДНФ), и пусть она имеет к конъюнкций. Очевидно, что длина конъюнкций не может превышать п букв, поскольку п — это длина минтерма (члена сокращенной дизъюнктивно нормальной формы (СДНФ)). В работе [5] отмечено, что аргументы каждой из конъюнкций, входящих в указанную функцию ДНФ, можно упорядочить. Следовательно, заданную функцию п аргументов можно представить дизъюнкцией бесповторных упорядоченных функций с пропусками аргументов

к

f = Х1 +Х2 +... + Хк = V , (1)

I=1

где — конъюнкции заданной функции f.

Исследуем три варианта вычисления функции (1):

1) комбинационной схемой, представленной изотропной либо квазиизотропной матрицей (т.е. составленной из Б- и Т -ячеек);

2) многотактным автоматом путем последовательного вычисления за к тактов, когда в течение каждого такта вычисляется значение только одной конъюнкции функции (1);

3) линейной изотропной структурой, построенной из МЛМ, ориентированных на вычисление как упорядоченных, так и неупорядоченных булевых функций.

Рассмотрим первый вариант. Изотропная матрица строится на основе 8(Т)-структур, где символ Б(Т) обозначает, что структура состоит из 8- либо Т-ячеек (рис. 1). По схеме видно, что вместо матрицы можно рассматривать линейную 8(Т)-структуру, состоящую из п х к ячеек, где входы А1, А2,..., Ап+1, А2п+1,..., А(к-1)п+1 соединяются между собой и под-

ключаются к устройству, моделирующему вход А1. Входы А^, Ап+2, А2п+2.

..., А

к-1)п+2

также

соединяются между собой и объявляются входом аргумента А2 и т.д. до Ап , которому соответствует соединение Ап,А2п,...,Акп. Такую структуру целесообразно применять, если основным требованием, предъявляемым к устройству, является быстродействие.

Рассмотрим второй (многотактный) вариант вычисления функции (1). Его суть состоит в том, что все настроечные коды для каждой конъюнкции Х1 записываются в запоминающее устройство (ЗУ), откуда последовательно поступают на настроечные входы 8(Т)-структуры (рис. 2).

А

£( 1)-структура 1

£(1)-структура 2

J

к

£( !)-структура к

Рис. 1 — Изотропная матрица

Рис. 2 — Многотактный автомат

2

Е

С каждым тактом смены настроечных кодов на синхровход триггера Е поступает импульс. Если на каком-либо настроечном коде выходной сигнал триггера Е принимает единичное значение, то триггер Е переходит в единичное состояние, что сигнализирует о равенстве единице функции f. Если же после полного просмотра ЗУ триггер Е остался в нулевом состоянии, это значит, что функция на данном наборе значений аргументов равна нулю. ЗУ можно организовать различными способами. Условимся считать, что каждому настроечному коду соответствует определённый адрес ЗУ. Тогда можно пронумеровать конъюнкции Х1 и считать, что номер этой конъюнкции совпадает с адресом, по которому в ЗУ находится её настроечный код. Если не учитывать код р, которым задаётся распределение инверсий над аргументами, то длина выходного кода, хранящегося по заданному адресу ЗУ, равна 2п. Рассмотрим пример для п — 7 . Пусть дана функция

f — "А"1 "А"2 + -А*!-А5 Аф + А1 -А.3-А7 + А1 Аф-А7 + -А.4-А.5-А7 . (2)

Эта функция не является бесповторной, но каждая ее конъюнкция есть бесповторная функция с пропусками:

— А1А2 ; ^2 — А1А5Аф ; Х3 — А1А3А7; Х4 — А1А^А7 ; Х5 — А4А5А7 . В ЗУ будут записаны следящие коды

А1 А2 Аз А4 А5 А6 А7

8 — 0 0 1 1 1 1 1

а — 0 1 0 0 0 0 0 по адресу 1

8 — 0 1 1 1 0 0 1

а — 0 0 0 0 0 1 0 по адресу 2

8 — 0 1 0 1 1 1 0

а — 0 0 0 0 0 0 1 по адресу з

8 — 0 1 1 1 1 0 0

а — 0 0 0 0 0 0 1 по адресу 4

8 — 1 1 1 0 0 1 0

а — 0 0 0 0 0 0 1 по адресу 5

Значение функции (2) будет определено не более чем за пять тактов. Функцию (2) можно вычислить и за четыре такта, если учесть, что первая и последняя конъюнкции образуют бесповторную упорядоченную функцию с пропусками аргументов А3, А6

А-1 = А1А2 + А4 А5 А7,

Б- и а-коды которой имеют вид

А1 А2 А3 А4 А5 А6 А7

Б = 0 0 1 1 1 1 1

а = 0 1 0 0 0 0 0

Под Б- и а-кодами, согласно [6], будем понимать следующее. Поставим в соответствие каждому логическому аргументу бесповторной упорядоченной функции двоичный разряд и единицей условимся обозначать последний справа аргумент каждой конъюнкции. Все остальные аргументы будем обозначать нулями. В результате получим п-разрядное двоичное число, где п — число аргументов функции. Условимся называть такое число а-кодом.

В Б-структуре код, содержащий информацию об удаленных аргументах и задаваемый с помощью Б-триггеров, будем называть Б-кодом.

Метод декомпозиции для вычисления произвольных булевых функций

Пусть задана произвольная функция f, представленная в ДНФ и зависящая от п аргументов. Подвергнем ее операции декомпозиции следующим образом:

f = ф1 +ф2 + ... +фп , (3)

где фг (Ь = 1,2,...,п)— бесповторные упорядоченные функции с пропусками или без пропусков аргументов.

Чтобы функцию f вычислить за наименьшее число тактов и с наименьшими затратами памяти, необходимо найти минимальный список функций фЬ , дизъюнкция которых дает функцию f. В результате решения данной задачи разработан метод нахождения минимального списка функций фЬ , которые в дальнейшем будем называть ф-импликантами.

Суть метода состоит в следующем. Находим конъюнкцию, содержащую наименьший номер аргумента. Если их несколько, то выбираем из них первый произвольным образом. Если выбранная конъюнкция состоит более чем из одного аргумента, то она оканчивается аргументом с номером 51 . Затем находим конъюнкцию, содержащую первым аргумент, индекс которого является ближайшим к 51 . Это будет вторая конъюнкция, которая войдёт в ф-импликанту. Вторая конъюнкция оканчивается аргументом с индексом 52 . Аналогично находим третью, четвёртую конъюнкции и т. д., пока не получим конъюнкцию, оканчивающуюся аргументом с номером , таким, что других конъюнкций, первый аргумент которых превышает , в заданной функции f нет.

Закодируем двоичными числами все найденные ф-импликанты. Для этого запишем в ряд конъюнкции, образующие функцию (3). Каждой из них поставим в соответствие двоичный разряд и единицами будем отмечать конъюнкции, входящие в ту или иную ф-импли-канту. Перечислив все ф-импликанты, получим таблицу двоичных чисел, где каждому числу будет соответствовать определённая ф-импликанта. Обозначим ф-импликанты символами ф1, ф2,... , фп . Затем составим булево уравнение, представляющее собой конъюнкцию скобочных выражений, где в каждой скобке записана дизъюнкция ф-импликант. Число скобочных выражений в уравнении равно числу конъюнкций заданной функции, т. е. каждой конъюнкции заданной функции соответствует скобочное выражение в уравнении. Чтобы найти ф1, ф2,... , фп , входящие в скобочные выражения, достаточно обратить внимание на единицы в соответствующей колонке полученной таблицы.

Представим булево уравнение в ДНФ. После минимизации получим дизъюнкцию конъюнкции символов ф1, ф2,... , фп . Каждая конъюнкция даёт одно решение задачи декомпозиции.

Для иллюстрации метода рассмотрим пример. Дана функция

f = А1А2 А3 + А1А4 А6 + А4 А7 А8 А9 + А5 А7 А8 + А9 А10 А12 А14 + А9 А13 + А10 А11А12 + А13 А14 ,

которая не является бесповторной, следовательно, её необходимо подвергнуть операции декомпозиции. Наиболее простой вариант декомпозиции состоит в том, что вычисление ведётся отдельно по каждой конъюнкции. При этом потребуется 8 тактов. Выясним, сколько

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

ф 1 = А1А2 А3 + А4 А7 А8 А9 + А10 А11А12 + А13 А14 ! ф 2 = А1А2 А3 + А5 А? А8 + А9 Аю А12 А14 ; ф 3 = А1А2 А3 + А5 А7А8 + А9 А13 ; ф 4 = А1А2 А3 + А5А? А8 + А10 А11А12 + А13 А14 ; ф 5 = А1А4 А6 + А9 А10 А12 А14 ; ф 6 = А1А4 А6 + А9 А13; ф 7 = А1А4 А6 + А10 А11А12 + А13 А14 .

Таблица 1

ф-импликанты

А1 А2 А3 А1 А4 А6 А4 А7 А8 А9 А5 А7 А8 А9 А10 А12 А14 А9 А13 А10 А11А12 А13 А14

1 0 1 0 0 0 1 1 ф 1

1 0 0 1 1 0 0 0 ф 2

1 0 0 1 0 1 0 0 ф3

1 0 0 1 0 0 1 1 ф 4

0 1 0 0 1 0 0 0 ф5

0 1 0 0 0 1 0 0 ф6

0 1 0 0 0 0 1 1 ф7

Составляем булево уравнение. Прежде всего рассмотрим колонку таблицы, где записана конъюнкция А4А?А8А9 , так как в ней только одна единица. Это значит, что конъюнкция А4 А? А8 А войдёт в какую-либо функцию искомого их списка только в единственном случае — когда в список будет включена ф-импликанта ф1. Очевидно, что эта ф-импликанта войдёт во все варианты декомпозиции. Далее, поскольку импликанта ф1 введена в список, следовательно, в него будут введены и конъюнкции А1А2А3 , АюАц А12 , А13А14 . Вычеркиваем из таблицы верхнюю строку и колонки, обозначенные единицами в этой строке. Построим новую таблицу (табл. 2). По ней строим булево уравнение в виде конъюнкции дизъюнкций:

(ф 5 +ф 6 +ф 7)(ф 2 +ф 3 +ф 4 )(ф 2 +ф 5)(ф 3 +ф 6) = 1.

Раскроем скобки:

(ф 5 +ф 2ф 6 +ф 2ф 7)(ф 3 +ф 2ф 6 +ф 4ф 6) = = ф 3ф 5 + ф 2ф 3ф 6 + ф 2ф 3ф 7 + ф 2ф 5ф 6 + ф 2ф 6 + ф 2ф 6ф 7 + ф 4ф 5ф 6 + ф 2ф 4ф 6 + ф 2ф 4ф 7. Выполнив все операции поглощения, получим минимальную ДНФ

ф 3ф 5 +ф 2ф 6 +ф 2ф 3ф 7 +ф 4ф 5ф 6 = 1.

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

ф 1 = А1А2 А3 + А4 А7 А8 А9 + А10 А11А12 + А13 А14,

ф 3 = А1А2А3 + А5А7А8 + А9Alз, (4)

ф 5 = А1А4 А6 + А9 А10 А12 А14;

ф 1 = А1А2 А3 + А4 А7 А8 А9 + А10 А11А12 + А13 А14, ф 2 = А1А2 А3 + А5 А7 А8 + А9 А10 А12 А14, ф 6 = А1А4 А6 + А9 А13.

(5)

В списке (4) конъюнкция А1А2 А3 встречается дважды. Одну из них можно удалить, например, из функции ф 3 . Аналогично удаляем эту конъюнкцию и из функции ф 2 списка (5).

Таблица 2

ф-импликанты после декомпозиции

А1 А4 А6 А5 А7 А8 ^9 А10 А12 А14 А9 А13

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

0 1 1 0 ф2

0 1 0 1 ф 3

0 1 0 0 ф 4

1 0 1 0 ф 5

1 0 0 1 ф 6

1 0 0 0 ф 7

В связи с тем что в функции ф3 системы (4) конъюнкцию А1 А2 А3 можно было бы и не вычёркивать, можно сделать вывод: в общем случае представление минимального списка ф-импликант а- и Б-кодaми неоднозначно.

Однотактное вычисление неупорядоченных булевых функций

Как отмечалось выше, существует третий путь вычисления неупорядоченных булевых функций — с помощью линейных изотропных сред на многофункциональных логических модулях, обеспечивающих вычисление как упорядоченных, так и неупорядоченных булевых функций. Применение МЛМ подобного типа сопряжено с трудностями их разработки. Покажем реализацию разработанного МЛМ, ориентированного на вычисление вышеназванных булевых функций, представленных классами 1-6 [4] и подклассом J, определяемым следующим образом.

Пусть дана функция, явно или неявно зависящая от аргументов х1,х2,...,xn . Запишем эти аргументы в порядке возрастания их индексов слева направо. Аргумент, имеющий наименьший индекс, будем называть минимальным, а наибольший — максимальным. Диапазоном функции назовем замкнутый интервал, границы которого образуют индексы минимального и максимального аргументов. Условимся, что интервалы двух различных функций пересекаются, если минимальный аргумент одной из функций входит в интервал другой.

Если функция f представлена в виде

f = l * ю * q ,

то она входит в подкласс J, где l и ю — упорядоченные функции с пересекающимися диапазонами; q — упорядоченная функция, минимальный аргумент которой не входит в диапазон функций l и ю.

В общем случае функция q может быть тождественно равна нулю; * - знак конъюнкции или дизъюнкции. Функции l и ю могут быть любого порядка.

Логическая схема разработанного МЛМ описывается следующей системой булевых формул:

А = У1^2 V ^4 V xZз) V (21 V 22^3'; /2 = (21х V 23х V 22 V 22у1 V 2123 V 2124)у2 V Х24 V у12122,

где х, у1, у2 — информационные входы; 21, 22 , 23 , 24 — настроечные входы; Д, А2 — выходы МЛМ.

Многофункциональный логический модуль, который в дальнейшем будем называть й-ячейкой, реализует следующие системы булевых формул:

1) при z4 = 0, z3 = 0, z2 = 0, z1 = 0;

2) при z4 = 0, z3 = 0, z2 = 0, z1 = 1.

9) при z4 = 1, z3 = 0, z2 = 0, z1 = 0;

10) при z4 = 1, z3 = 0, z2 = 0, z1 = 1;

= У1Х

1) U = У2;

i/1 = X ,

2) U = У1У2

3) при z4 = 0, z3 = 0, z2 = 1, z1 = 0

4) при z4 = 0, z3 = 0, z2 = 1, z1 = 1

9)

f1 = У1х ,

f2 = y2v X;

10)

/1 = X ,

f2 = У1У2v X;

11) при z4 = 1, z3 = 0, z2 = 1, z1 = 0 ;

12) при z4 = 1, z3 = 0, z2 = 1, z1 = 1;

3)

/1 = У1 v X ,

1/2 = У 2;

4)

/1 = X

/2 = У1 v У2;

5) при z4 = 0, z3 = 1, z2 = 0, z1 = 0;

6) при z4 = 0, z3 = 1, z2 = 0, z1 = 1;

11)

/1 = У1 v X

/2 = У2 v X;

12)

/1 = X ,

/2 = У1 v У2 v X;

13) при z4 = 1, z3 = 1, z2 = 0, z1 = 0 ;

14) при z4 = 1, z3 = 1, z2 = 0, z1 = 1 ;

5)

[/1 = У1 , lf2 = У2Х;

6)

/1 = 0 ,

/2 = Xy2;

7) при z4 = 0, z3 = 1, z2 = 1, z1 = 0 ;

8) при z4 = 0, z3 = 1, z2 = 1, z1 = 1;

/1 = 0 ,

/2 = У1 v У2;

13)

/1 = 0 , /2 = у2v X;

14)

/1 = 0 /2 = X;

15) при z4 = 1, z3 = 1, z2 = 1, z1 = 0 ;

16) при z4 = 1, z3 = 1, z2 = 1, z1 = 1 ;

7)

/1 = У1,

/2 = У 2;

15)

/1 = У1 ,

/2 = У2 v X;

16)

/1 = 0 ,

/2 = У1 v У2 v X.

Проиллюстрируем работу изотропных сред (й-структур), построенных на Н-ячейках, на следующих примерах.

Пример 1. Реализация бесповторной неупорядоченной функции вида

fl — (*3 + Х4 )

представлена на рис. 3, где для каждой ячейки указаны настроечные коды, функция /1 принадлежит подклассу J, поскольку I — х1х3 + х4, ю — х2, д = 0, а минимальный аргумент ю-функции входит в диапазон функции I. Нетрудно убедиться в том, что функция / является неупорядоченной, так как среди всех формул, получаемых путем тождественных преобразований, упорядоченные записи отсутствуют.

1101 0011 0100 1110 0001 Рис. 3 — К примеру 1

fl

Пример 2. Аналогично для бесповторной неупорядоченной ни при каких тождественных преобразованиях функции /2 — х1х3 + х2х4 + х6х8 + х9 , содержащей пропуски аргументов х5 и Х7, имеем I — ^£4 ; ю — Х2 Х4 ; д — Х6Х8 + Х9 .

Структура и настроечные коды ячеек приведены на рис. 4.

0011 0100 0000 0100 0110 0011 0110 0010 0010 0011 Рис. 4 — К примеру 2

Пример 3. Рассмотрим случай реализации функции /3 — + Х1Х3 + Х2 Х3 + Х4 + ^^5. Функция /3 является повторной, так как не существует никаких тождественных преобразований, в результате которых получалась бы запись с однократным вхождением в нее каждо-

го аргумента. Настроечные коды для каждой ячейки изотропной среды, реализующей функцию А3 , представлены на рис. 5.

-'3

1011 1000 0100 1010 1011

Рис. 5 — К примеру 3 Пример 4. Реализация неупорядоченной функции высокого порядка

А4 = £(х1х6 + х8)х10 + х11 ]х12 + х13 ]"£(х2х3х4 + х5)х7х9 + х14 ]]+[(х15Х16 + х17)х18 + х20 ] х21

с пропуском аргумента х19, настроечными кодами для каждой ячейки представлена на рис. 6.

0100 1100 0010 0001 0000 0010 0000 0110 0010 0000 0011

Рис. 6 — К примеру 4

Заключение

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

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

2. На основе рассмотренных изотропных сред можно построить различные проблемно-ориентированные комплексы, которые могут настраиваться на реализацию конкретного алгоритма из заданного класса.

Литература

1. Артюхов В. Л., Копейкин Г. А., Шалыто А. А. Настраиваемые модули для управляющих логических устройств. -Л.: Энергоатомиздат, 1981. - 168 с.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

2. Шидловский С.В., Фоминых Ю.И. Исследование функциональных возможностей однородной структуры, обеспечивающей вычисление бесповторных ДНФ булевых функций // Вестник Сибирского отделения АН ВШ. -2001. -№ 1(7). - С. 50-59.

3. Шидловский С. В. Многофункциональный логический модуль для реализации операций удаления аргументов из булевых функций //Радиотехнические устройства, информационные технолгии и системы управления: Материалы региональной науч.-техн. конф. студентов и молодых специалистов. - Томск, 2001. - С. 15-16.

4. Шидловский С. В. Перестраиваемые структуры на многофункциональных логических модулях //Информационные системы: Труды постоянно действующей науч.-техн. школы-семинара студентов, аспирантов и молодых специалистов «Информационные системы мониторинга окружающей среды». Вып. 2. -Томск: ТУСУР, 2003. - С. 105-117.

5. Арсеньев Ю.Н., Журавлев В.М. Проектирование систем логического управления на микропроцессорных средствах. -М.: Высш. шк., 1991. - 319 с.

6. Шидловский С. В., Светлаков А. А. Исследование функциональных возможностей многофункционального логического модуля, реализующего операции удаления аргументов из булевых функций //Вестник Сибирского отделения АН ВШ. - 2002. - № 1(8). - С. 72-78.

i Надоели баннеры? Вы всегда можете отключить рекламу.