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

Иллюстрации

Показать все

Реферат

 

Изобретение относится к автоматике и вычислительной технике и предназначено для вычислений булевых функций. Цель изобретения - повьшзение быстродействия за счет исключения из процесса вычисления булевых функций аргументов, от значений которых функции Не зависят. Устройство соСлЭ СО СО ел 4; ел

t, 1, д., СОЮЗ СОВЕТСКИХ

СО11ИАЛИСТИЧЕСНИХ вЂ” РЕСПУБЛИН

091 (И) А1 (511 4 G 6 F 7 00

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

"- "NBFtAP

Ä13

ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ

К А ВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4005634/24-24 (22) 08,01.&6 (46) 23.09.87. Бюл. Ф 35 (72) А.И.Арсюков, В.Н.Василов, E.Ñ.ÂàëüøîHîK, В.Д.Митин и А.С.Сигалов (53) 681.3 (088,8) (56) Авторское свидетельство СССР

У 1218376, кл, G 06 F 7/00, 1984, Авторское свидетельство СССР

М - 955027, кл. G 06 F 7/00, )980 (54) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ БУЛЕвых ж нкций (57) Изобретение относится к автоматике и вычислительной технике и предназначено для вычислений булевых функций. Цель изобретения — повышение быстродействия за счет исключения из процесса вычисления булевых функций аргументов, от значений которых функции не зависят. Устройство со1339545

35 держит мультиплексор 1, блок ". памяти программ, дешифратор 3, две группы

4 и 11 триггеров, генератор импульсов

5, вход 6 начальной установки, элемент HE 7, триггер 8, формирователь импульсов 9, элемент И 10, информационные входы 12 и выходы 13. 1!оложительный эффект, заключающийся в обеспечении зависимости процесса вы—

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

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

На фиг.l представлена схема устройства для вычисления булевых функций; на фиг.2 — граф †схе алгоритма вы- 15 числения булевых функций, Устройство для вычисления булевых функций содержит мультиплексор 1, блок 2 памяти программ, дешифратор 3, группу триггеров 4, генератор 5 им- 20 пульсов, вход 6 начальной установки, элемент НЕ 7, триггер 8, формирователь 9 импульсов, элемент И 10, группу триггеров 11, информационные вхо— ды 12, выходы 13„ 75

Устройство работает следующим образом.

Когда на входе 6 начальной уста— новки имеет место сигнал, запрещающий работу устройства, по отрицательному фронту первого после появления сигнала запрета импульса на выходе триггера 8 формируется сигнал установки группы триггеров 4 в начальное состояние, При этом на выходах группы триггеров 4 имеет место нулевой код независимо от поступления на его тактовые входы тактовых импульсов. При появлении на входе 6 сигнала, разре4l) шающего работу устройства, по отрицательному фронту первого тактового имчисления бчлевых функций c т значений их аргуме IToB обеспечивается тем, что при анализе значения любого из

GpI ументов логикеcY,èõ функций по ре— зультату анализа формируется условный переход к команде, по которой производится анализ другого аргумента или формируется результат вычисления. 2 ил °, 1 табл. пульса, поступающего с выхода генератора 5 импульсов, на выходе триггера

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

Каждая команда содержит код адреса опрашиваемого аргумента, поступающий на управляющие входы мультиплексора 1, код старших разрядов адреса условного перехода, поступающий на информационные входы группы триггеров 4, при этом на информационный вход его первого триггера поступает сигнал, равный значению опрашиваемого аргумента, — так формируется младший разряд кода условного перехода, код адреса результата вычисляемой функции, который поступает на адресные входы дешифратора 3, результата вычисления логической функции, который поступает на информационные входы группы триггеров 11„

Сигнал разрешения записи результата вычисления, который поступает на первый вход элемента И 10.

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

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

1339545

По этой команде производится onрос аргумента х, и, поскольку х, =О, формируется код условного перехода

00100 к команде N 4.

Переход к этой команде осуществляется по следующему тактовому импульсу. Затем опрашивается х и, так как х, =О, осуществляется переход к команде. 9 7. Далее опрашивается х и осуществляется переход к команде N - 8, так как х =О, Здесь опрашивается х, поскольку х =1, осуществляется переход к команде

У 11, по которой производится запись результата вычисления Y =0 по адресу 0 в группе триггеров 11, и одновременно опрашивается первый аргумент функции Y - х,, так как х, =О, формируется код условного перехода к команде Р 18, по которой опрашивается аргумент х . По условию х, =1, поэтоостальные информационные входы группы триггеров 4 поступают старшие разряды кода условного перехода, Таким образом, на информационных входах группы

5 триггеров 4 формируется код условного перехода, который зависит от значения опрашиваемого аргумента и определяет, какую команду устройство выполнит на первом такте работы. 10

После появления на установочных входах группы триггеров 4 сигнала, разрешающего его работу по тактовым входам, по положительному фронту первого тактового импульса код услов- 15 ного перехода записывается в группу триггеров 4 и формируется на его выходах. По этому коду на выходах блока 2 памяти программ формируется код следующей команды, по которой в 20 зависимости от значения опрашиваемого ранее аргумента опрашивается какой-либо из следующих аргументов этой функции, или, если, значение опрошенного аргумента полностью опре- 25 деляет значение вычисляемой функции, опрашивается первый аргумент следующей функции. При этом осуществляется запись результата вычисления функции в один из триггеров группы триггеров Зб

11, Запись результата осуществляется .по одному из тактовых входов группы. триггеров 11. Результат вычисления поступает из блока 2 памяти программ.

Номер тактового входа определяется кодом адреса результата, который поступает на адресные входы дешифратора 3 из блока 2 памяти программ. ДеШифратор 3 стробируется импульсом, 4р формируемым по отрицательному фронту тактового импульса формирователем 9 импульсов, Этот импульс поступает на стробирующий вход дешифратора 3 с выхода элемента И 10 при наличии 45 на его первом входе сигнала разрешения записи результата, который поступает из блока 2 памяти программ.

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

Устройство находится в режиме выполнения этих команд до появления на шине 6 начальной установки сигнала, запрещающего работу группы триггеров 4 по тактовому входу.

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

Y — х (х Y х (х х х)у х х ) У вЂ” х х чх ° х (х чх о) (1) Граф-схема алгоритма бинарной прог; раммы вычисления функций (1} представлена на фиг.2.

Вычисление функций (1) при значе íx аргументов хо = 1. х, = ОФ следующее.

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

=1 на выходе группы триггеров 4 по первому тактовому импульсу формируется код условного перехода 00011, поэтому на выходе блока 2 памяти программ формируется команда (слово)

Р 3.

1339545

Код команды

Разрешение

Код старКод адреса х;

Команда ших разрядов адреса УП выдачи Y

00000

0011

0000

00001 хххх хххх

00010

1001

0001

00011

0010

0001

00100

0011

0110 му происходит условный переход к команде У 23 и опрашивается аргумент х, . По значению х, =0 осуществляет о ся переход к команде N 24, по которой

5 происходит запись значения 1 =0 по первому адресу, и формируется условный переход к пустым командам

11 30 и 31, Выполнение этих команд приводит независимо от значения опра- 10 шиваемого аргумента к формированию адреса условного перехода в одной из них, Следовательно, происходит зацикливание программы„

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

Например, если х =О, вычисление первой функции заканчивается на первом такте, осуществляется переход к ко— маиде У 2, по которой рассматривается значение аргумента х,, как аргу— мента функции У, и происходит запись значения У1 =0 в группу триггеров по адресу О.

Формула изобретения

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

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

339545

Продолжение таблицы

0001

1001

1 О

1 0О101

0010

0101

00!10

01 1

0100

00111

0010

0101

OI0OO

0001

1001

01001

0011! а

0110

01010

0001

1001

01011

0101

0111

01100

1001

0001.01101

0001

1001 15

0100

1000

10000

0001

1001

10001

0001! 001

10010

1001

10!1

0010

1010

10011

1001

1011

10100

10101 хххх

1000

1101

10110

1010

1100

10! l l

11000 хххх

1000

1101

11001

11010 хххх

0111

1110

11011

11100 хххх

lll01

29 хххх

Ill!0

30 хххх

111 l 1

31 хххх

П р и и с ч а н и е. и означает, что разряд может принимать любое значение — -- †††--т4 5 6

01111! 339545

7 О

Х10 й= Уг=1

Фиг. 2

Яг=0

Составитель О,Березикова

Редактор И, Горная Техред М. Ходанич

Kopgeктор Н.Король

Заказ 4222/38

Тираж 672

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб,, д,4/5

Подписное

Производственно-полиграфическое предприятие, г.ужгород, ул,Проектная,4