Устройство для вычисления логических функций
Изобретение относится к вычислительной технике и может быть использовано в системах, требующих вычисления большого количества сложных логических.функций от многих переменных , в частности в системах технической диагностики отказов, распознавания особых ситуаций на борту летательного аппарата, а также в системах управления технологическими процессами . Целью изобретения является сокращение оборудования при увеличении количества входных переменных вычисляемой логической функции.Устройство содержит коммутатор 1, блок 2 вычислений, регистр 3, генератор 4 импульсов, счетчик 5, блок 6 памяти, дешифратор 7, информационный вход 8, информационный выход 9. В блоке 6 хранятся команды и применено последовательное решение логических функций нескольких переменных. Основным узлом для вычисления логических функций является блок 2 вычислений, объем оборудования которого не зависит от количества входных логических переменных , что позволя-ет резко снизить необходимый объем блока 6 памяти при увеличении количества входных логических переменных. 1 з,п.ф-лы,2 табл. 6 ил. g (Л
COIO3 СОВЕТСНИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (19) (11) А1 (51)4 С 06 F 7 00
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К ABTOPCHOMY СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
IlO ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21 ) 4064320/24-24 (22) 10.02,86 (46) 15.01.88. Бюл. ¹ 2 (72) В.В.Кашковский, П.Н.Сорокин и В.В.Устинов (53) 681.325(088.8) (56) Авторское свидетельство СССР
189629, кл. G 06 F 15/00, 1965, Авторское свидетельс ao СССР
-№ 531160, кл. G 06 F 15/32, 1974. (54) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ЛОГИЧЕСКИХ ФУНКЦИЙ (57) Изобретение относится к вычислительной технике и может быть использовано в системах, требующих вычис-ления большого количества сложных логических функций от многих переменных, в частности в системах технической диагностики отказов, распознавания особых ситуаций на борту летательного аппарата, а также в системах управления технологическими процессами. Целью изобретения является сокращение оборудования при увеличении количества входных переменных вычисляемой логической функции.Устройство содержит коммутатор 1, блок 2 вычислений, регистр 3, генератор 4 импульсов, счетчик 5, блок 6 памяти, дешифратор 7, информационный вход 8, информационный выход 9, В блоке 6 хранятся команды и применено последовательное решение логических функций нескольких переменных. Основным узлом для вычисления логических функций является блок 2 вычислений, объем оборудования которого не зависит от количества входных логических переменных, что позволяет резко снизить необходимый объем блока 6 памяти при увеличении количества входных логических переменных,. 1 з.п.ф-лы,2 табл.
6 ип, 136701
Изобретение относится к вычислительной технике и может быть использовано в устройствах, требующих решения большого числа сложных логичес5 ких функций от многих переменных, в частности в устройствах технической диагностики отказов функциональных систем, а также для решения задач в системах управления.
Целью изобретения, является сокращение оборудования при увеличении входных переменных вычисляемой логической функции.
На фиг.l изображена функциональная схема устройства; на фиг.2 — пример функциональной схемы коммутатора; на фиг.3 — - пример функциональной схемы блока вычислений; на фиг.4 — временная диаграмма вычисления фунКции
F = Х1ЛХ2лХЗ при Х?=1, Х2=0, ХЗ=О, где Х вЂ” обозначение входной переменной; на фиг.5 — временная диаграмма вычисления функции F при Х1=1, X2=l и ХЗ=О; на фиг.6 — временная диаграм- 25 ма вычисления функции F при Х1 Х2=
=Х3=1.
Устройство содержит коммутатор 1, блок 2 вычислений, регистр 3, генератор 4 импульсов, счетчик 5, блок 6 30 памяти, дешифратор 7, информационный вход 8, информационный выход 9.
Пример исполнения коммутатора для 16 логических переменных показан на микросхемах D,D < и D>, Микросхе1ъ мы D „и D> — типа 564КП2, D — типа
564 JiA9 или им подобные.
ha входы Xl Х4 коммутатора подается 4-разрядный код с выхода регистра 3.
На входы Аl,. ..A4 поступает 4-разрядный код адреса.с выхода блока 6 памяти, 12 входных логических переменных поступают на входы Х5,...Х16.
Микросхемы Р„ и 0 предназначены для коммутации айалоговых и цифровых сигналов и имеют три состояния по выходу Х: логический уровень сигнала "1"; логический уровень сигнала 0" высокое выходное сопротивление.
В состоянии высокого выходного сопротивления выход Х заперт для протекания тока в любом направлении.
Для приведения D или D в третье состояние необходимо на вход Е микросхемы подать сигнал P уровня логической единицы.
На вход F микросхемы D< поступает сигнал Al, а на вход Е микросхемы
l 2
D - сигнал Al. Таким образом, при подаче любого кода адреса входной сигнал будет проходить только через одну микросхему D „ или Р
Микросхема, включенная разрядом
Аl, передает на выход в линию А входной сигнал в соответствии с кодом адреса А2, АЗ. А4. Таким образом,,по линии А всегда будет проходить один из входных сигналов.
Блок 2 вычислений содержит триггер 10 и элементы И-НЕ 11-26 узла управления.
Устройство работает следующим образом.
Основу вычисления логических функций составляют операции, выполняемые IK-триггером 10.
Логические переменные в порядке очереди, заданной программой вычисления функции, поступают на вход А блока 2 вычислений, который в соответствии с командой, поданной на его вход В из дешифратора 7, передает эти логические переменные. в прямой;. или инверсном виде на входы I u (или) К триггера 10. При этом подача инверсного значения логической переменной на вход К соответствует операции логического умножения данной логической переменной на результат предыдущего вычисления, хранящихся в
IK-триггере 10. Подача прямого значения логической переменной на вход
I соответствует операции ИЛИ между данной логической переменной и результатом выполнения предыдущей операции, хранящимся в IK-триггере 10.
Аналогично подача логической переменной на входы I и К одновременно соответствует операции сложения по
mod.2.
Операции, выполняемые триггером 2, описаны в табл.l. Для удобства эти операции обозначены мнемокодами.
Сущность вычисления с помощью
1К-триггера JO заключается в том,что . при выполнении команды lOR с логической переменной, имеющей единичное значение, результат также примет единичное значение. При выполнении. команды AND результат будет сброшен, если логическая переменная равна нулю. Сложение по mod 2, в свою очередь, представляет из себя подачу логических переменных на счетный вход
11
8 С СЕ 00
9 AND !1
10 AND 21 вычисление второго произведения;
14
11 AND
12 СМЕ
13 10R
14 STI
01
07
11
08
15 STI
16 10R
17 AND !
8 XOR
19 СМЕ
20 !OR
21 STI вычисление треьего произведения;
00 — сложение результата;
05 — запись решения в управляющий регистр.
После вычисления функции регистр 3 принимает либо нулевое значение (если функция логических переменных равна нулю), либо значение равное номеру вычисленной функции. Код функции может быть использован в дальнейших алгоритмах вычисления, а также во внешних устройствах.
Проиллюстрируем работы предлагаемо. го устройства временной диаграммой.
Предположим,что логические пере« менные Xl Х2 и ХЗ поступают на выходы Х5, Х6 и Х7 коммутатора 1 соответственно. Кроме того, предположим, что функция F = Xl h Х2 R X3 имеет произвольно взятый номер 5, .Для вычисления этой функции необходимо выполнить программу, представленную в табл.2.
Результат вычисления первой, второй и третьей кодовых комбинаций
0 приведены на фиг.7.8 и 9 соответственно.
Вычисление функции F начинается на шаге К, задаваемом счетчиком 5.
В соответствии с адресом К из блока 6
5 считывается код первой команды
О!10 0000. По переднему фронту импульса С 2 этот код запоминается в буферном регистре блока 6 и сохраняется в нем до прихода следующего сигнала С 2. Код операции 0110 поступает в дешифратор 7. Последний в соответствии с кодом !1О выдает еди- ницу 6-м разряде позиционного кода.
Эта единица устанавливает триггер 10 в единичное состояние °
При выполнении команды на К-м шаге через коммутатор 1 приходит логи ческая переменная с адресом 0000 (согласно адресной части команды, 20
1 CLE. 00
2 CTI 00
3 tOR 11.
4 ИП) 21
- вычисление первого произведения;
5 AND 14
6 СМЕ 00
7 STI 01
55 запись в управляющий регистр промежуточного результата;
3 13670 и инверсию результата единичными значениями логических переменных.
Пример l. .Вычислить логическую функцию Р = Х Х ЛХ ...QX
Программа вычисления будет выглядеть следующим образом:
IOR 08;
AND l5;
AND l9;
AND п;
STI 08 ..
Hp и м е р 2. Решить логическую функцию. F Х v Х V Х v,. yX, Вычислейе описывается едующей 15 программой:
l0R !09
lOR l7;
l0R 06;
l0R и;
STI 04.
Пример 3. Сложить по mo6 2:
Программа будет выглядеть следующим образом: 2
SLE O01
XOR 08;
XOR 05;
XOR n
STI 09.
При решении более сложных функций регистр 3 можно использовать для хранения промежуточных результатов.
Еапример, решим функцию следующего вида!
F = Х вХ Ах чХ„вХ„вХ,„. 21 14 11 (X VhX11) + Х
В реальном случае решение можно упростить, но для иллюстрации метода оставим ее без изменения. Для состав. 4 ления программ прыщем, что регистр 3 имеет четыре разряда и они заведены на вход коммутатора 1 адресам 00, 01, 02 и 03 соответственно. В программе справа от операндов написаны 4 следующие комментарии: — обнуление управляющего триггера; — обнуление управляюще50
ro регистра;
OG — сложение результата;
00 — запись промежуточного результата;
5 1367011 считанной из блока 6). Эта логическая переменная поступает на вход А блока 2 вычислений, но не изменяет его состояния, так как нет соответствующих управляющих сигналов с дешифра гора 7.
На графике (фиг.4.5 и 6) знаком
+++4. показаны перибды, когда значение логической переменной на выходе коммутатора 1 не влияет на вычисление функции.
На втором шаге из блока 6 считывается код 1001, 0101. В соответствии с этим кодом дешифратор 7 выдает сиг- 15 нал на свой первый выход. Логическая переменная с 5-ro выхода коммутато. ра 1 через элементы 11,13,15,16 и 19 поступает на вход К триггера 10. При этом установка IK-триггера 10 в "0" 20 не происходит, так как Х1 = 1.
На третьем шаге происходит вычисление аналогичной команды, но с логической переменной, считанной по
6-му входу коммутатора. 25
На временной диаграмме (фиг,4) эта логическая переменная вызывает установку триггера 10 в "0", а на временных диаграммах (фиг.5 и 6) не вызывает установки в "0". 30
На четвертом шаге выполняется команда AND с логической переменной, поступающей на 7-й вход коммутатора 1. Эта логическая переменная на временных диаграммах (фиг.4 и 6) не вызывает изменения состояния IK-триггера 10, а на временной диаграмме (фиг.8) вызывает его установку в "0".
По команде, считанной на 5-м шаге, выдается сигнал на запись значения ункции в регистр 3. На временных диаграммах (фиг.4 и 5) этого не происходит, так как триггер 10 имеет значение "0".
На временной диаграмме (фиг.6) в регистр 3 происходит запись кода
0101, что свидетельствует о единичном значении вычисленной функции.
Формула изобр етения
1. Устройство для вычисления логических функций, содержащее коммутатор блок памяти.и дешифратор, о т л ич а ю щ е е с я тем, что, с целью сокращения аппаратных затрат при уве.личении количества входных переменных вычисляемой логической функции, в него введены генератор импульсов, счетчик, регистр и блок вычислений, причем первый выход генератора импульсов подключен к суммирующему входу счетчика, выход которого подключен к адресному входу блока памяти, второй выход генератора импульсов подключен к входу признака чтения блока памяти, с первого по К-й разряды выхода которого, где К вЂ” количество разрядов в формате информационного слова, определяющее код текущей операции, подключены к информационному входу дешифратора, выход которого подключен к входу задания кода текущей операции блока вычислений, с (K+1.)-ro по (K+M)-й разряды выхода блока памяти, где М вЂ” количество разрядов в формате информационного слова, определяющее номер текущей операции, подключены к информационному входу регистра и к адресному входу коммутатора, разряды информационного Ь-хода которого являются входами задания переменных устройства, третий выход генератора импульсов подключен к входам синхронизации регистра и. блока вычислений, выход коммутатора подключен к информационному входу блока вычислений, выход которого подключен к входу признака записи регистра, выход которого является информационным выходом устройства.
2. Устройство по п.l, о т л и— ч а ю щ е е с я тем, что блок вычислений содержит триггер и узел управления, причем информационный вход блока подключен к входу первой переменной узла управления, первый выход которого подключен к асинхронному входу установки в "0" триггера, пря-, мой выход которого подключен к входу второй переменной узла управления, второй выход которого подключен к асинхронному входу установки в "1 " триггера, инверсный выход которого подключен к входу третьей переменной узла управления, третий выход которого подключен к I-входу триггера, вход синхронизации которого является входом синхронизации блока, вход задания кода текущей операции блока . подключен к входу четвертой переменной узла управления, четвертый выход которого подключен к К-входу триггера.
Таблилб1
1367011
Код операции
Операция
Мнемокод
0000
Невыполняемый оператор
Логическое умножение результата на прямое значение логической переменной
000 1
AND
0001
Логическое умножение результата на инверсное значение логической переменной
AND
0010
10R
Логическое сложение результата с прямым значением логической переменной
10Р
1010
Логическое сложение результата с инверсным значением логической переменной
Сложение по mod 2 результата и прямого значения логической переменной
0011
X0R
X0R
Сложение по mod 2 результата и инверсного значения логической переменной
1011
Инверсия результата
Обнуление результата
Установка единичного результата
0100
0101
0110
0111
Запись в регистр номера функции при единичном результате ее вычисления
STI
STI
Запись в регистр номера функции при нулевом результате.
Пр им еч ание:
Таблица 2
Код на выходе Инемокод Адрес оператора блока 6
° и а
Адрес
0110 0000. GCE
К
К + 1 0001 0101 AND
К .+ 2 0001 0110 AND
К + 3 0001 0111 ИП)
К + 4 0111 0101 STI
06
05
Под единичным результатом вычисления логической функции или промежуточным результатом вычисления понимается состояние IK-триггера, при котором Q,--1, à Q=0.
Под нулевым результатом понимается состояние триггера, при котором Я=О, а Я=1. Промежуточный результат обозначается F 1. При написании примеров программы вычисления логических функций справа от мнемокода в виде десятичной константы записывается адресная часть операнда.
1367011
et и
«з
1367011
CZ
СЗ
ХЮ
Х3
4дрес 8 снеячике
Коа из йока 6
/зодиа
ХИ@ ши о
Pt7
Э ход(.Уmph
10) йгходрггистра 3
l36701l
Х1
Хг
Код из длока б фиг.б
Редактор Е. Копча
Заказ 6840/48
Производственно-полиграфическое предприятие, г.ужгород, ул.Проектная,4
Аорес 8 счетчике S
Код на аыхоое дешиуратооа7
Оыход 2-К триггера 10
Вьиоа регистра. 3
Составитель А.Мишин
Техред А.Кравчук Корректор С.Черни
Тираж 704 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
ll3035, Москва, Ж-35, Раушская наб., д.4/5







