Устройство для вычисления булевых функций Советский патент 1982 года по МПК G06F7/00 

Описание патента на изобретение SU955027A1

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

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

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

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

операции и адреса к блоку памяти проrpat/мы 2 .

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

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

15 переменных, соединенных дизъюнктивно.

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

25

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

30 соединен с управляющими входами вычис,-лителъного блока и блока управления первый выход которого соединен с входом считывания блока памяти программ, в него введены первый и второй коммутаторы, регистр и счетчик адреса, причем выход счетчика адреса под ключен к управляющим входам первого коммутатора и регистра, вход которог подключен к второму выходу блока управления, выход регистра соединен с информационным входом первого коммутатора, выход которого подключен к информационному входу вычислительного блока, выход которого соединен с первым информационным входом второго коммутатора, второй информационный вход которого подключен к выходу бло ка памяти данных, а управляющий вход к второму выходу блока памяти nporpaNW выход второго коммутатора соединен информационным входом регистра, адресный вход которого подключен к третьему выходу блока управления, первый в-л;од которого соединен с входом пуска устройства. Кроме того, блок управления содержит генератор импульсов, четыре элемента И, два элемента НЕ, счетчик дешифратор, два триггера, элемент ИЛИ, причем управляющий вход блока упровления подключен к входам первого и второго элементов НЕ, выходы которых подключены соответственно к первому входу первогоэлемента И и к первым входам второго и третьего элементов И, выход генератора импул сов соединен с первым входом четвер того элемента И, к второму входу ко торого подключен вход сброса счетчи ка и единичный- выход первого тригге ра, единичный вход Которого подключен к первому входу блока управлени нулевой выход первого триггера подключен к нулевому входу второго три гера, к единичному входу которого подключен первый выход дешифратора, второй выход которого соединен с вторым входом второго элемента И, выход которого подключен к первому входу элемента ИЛИ, второй вход кот рого соединен с третьим выходом дешифратора, а выход подключен к второму выходу блока управления, единичный выход второго триггера соеди ,нен с вторыми входами первого и тре тьего элементов И, выходы которьах являются третьим выходом блока упра 1пения, четвертый выход дешифратора подключен к третьему входу третьего элемента И, пятый выход дешифратора подключен к третьему входу первого элемента И, выход элемента ИЛИ подключен к второму выходу блока управ ления, выход четвертого элемента И подключен к счетному входу счетчика выходы которого соединены с входами дешифратора, шестой выход которого подключен к первому выходу блока управления. Вычислительный блок содержит два элемента НЕ, четыре элемента И, два элемента ИЛИ, причем информационный вход вычислительного блока подключен к первому и второму входам первого элемента И и первого элемента ИЛИ, выход которого соединен с первым входом второго элемента И, второй вход которого подключен к выходу третьего элемента И, первый вход которого подключен к управляющему входу вычислительного блока и к входу элемента НЕ, выход которого соединен с первым входом четвертого элемента И, второй вход которого соединен с вторым входом третьего элемента И и с выходом второго элемента НЕ, вход которого подключен к управляющему входу вычислительного блока, выход четвертого элемента И соединен с третьим входом первого элемента И, выход которого подключен к первому входу второго элемента ИЛИ/ второй вход которого соединен с выходом второго элемента И, а выход второго элемента ИЛИ подключен к ВЫХОДУ вычислительного блока. На фиг.1 представлена функциональная блок-схема предлагаемого устрой-ства; на фиг.2 - схема блока управ - лeния нафиг,3 - схема вычислительного блока. Устройство содержит блок 1 памяти программ, блок 2 паиляти данных, коммутатор 3, вычислительный блок 4, блок 5 управления, счетчик 6 адреса, регистр 7, коммутатор 8, Блок 5 содержит генератор 9 импульсов, элементы И 10-13, элемент ИЛИ 14, элементы НЕ 15 и 16, счетчик 17, дешифратор 18, триггеры 19 и 20. Блок 4 содержит элементы НЕ 21 и 22, элементы И 23-26, элементы ИЛИ 27 и 28. Устройство работае.т следующим образом. В начале цикла вычисления булевой функции на вход блока 1 памяти программы поступает импульс на считывание первого командного слова с выхода блока 5 управления. На вход блока 2 памяти данных подается код адреса переменной и ее значение появляется на выходе блока 2. При наличии в командном слове признака отсутствия операции выход блока 2 памяти данных через коммутатор 3 подключается к информационному входу регистра 7. -Счетчик б адреса в исходном состоянии сброшен. При поступлении на стробирующий вход регистра 7 сигнала с блока 5 управления происходит занесение значения переменной в ячейку с нулевЬ|1М адресом регистра 7, после чего начинается цикл выполнения второй крманды. Считывание из блока 1 памяти программы второго командного слова происходит при поступлении на его вход сигнала с выхода блока 5 управления. На счетчик 6 адреса поступает импуль увеличивающий на единицу код хранящегося в нем числа, и при появлении на стробирукщем входе регистра 7 импульса, значение переменной, адрес которой закодирован во второй команде, через коммутатор 3 заносится во вто- рую ячейку регистра 7. Если вторая команда содержит признак отсутствия операции, то на этом цикл выполнения второй команды заканчивается. При наличии в операционной части второго командного слова признаков операции конъюнкции или дизъюнкции с выхода блока 5 управления на счетчик 6 адреса подается импульс, уменьшакщий хранящееся в нем число на единицу, т.е. на адресные входы регистра 7 и коммутатора 8 подается код нуля. Коммутатор 8 служит для подключения к входам вычислительного блока 4 двух выходов регистра 7, адреса которых отличаются на единицу, причем меньший по величине адрес задается счетчиком 6 адреса. Результат выполнения заданной в команде операции над первыми двумя переменными с выхода вычислительного блока 4 через коммутатор 3 подается на информационный вход регистра 7. При появлении на стробирующем входе регистра 7 импульса с выхода блока 5 управления этот результат заносится в ячейку с нулевым адресом регистра 7, после чего из блока 1 памяти програм мы считывается следующая команда.

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

Работа вычислительного блока 4 происходит следующим образом.

От блока 1 памяти программы на элементы НЕ 21, НЕ 22 и И 24 вычислительного блока 4 поступает код операционной части командного слова. Операции Конъюнкция соответствует код 00,.в разрядах Р1 и Р2 командного слова, т.е., с выхода элемента И 23 на элемент И 25 подается потенцисШ логической 1, а на выходе вычислительного блока 4 появляется результат конъюнкции двух ne-i ременных, поданных на входы элемента И 25 от блока 8. Если же в операционной части командного слова закодирована операция Дизъюнкция, что соответствует коду 10, то потенциал

логической 1 поступает на вход элемента И 26 с выхода элемента И 24. На выходе вычислительного блока 4 в , этом случае появляется результат дизъюнкции входных переменных, который формируется элементами ИЛИ 27, И 2G и ИЛИ 28.

Блок 5 управления работает следующим образом.

В исходном состоянии, т.е. до на0чала вычисления булевой функции, триггеры Т 19, Т 20 и двоичный счетчик СТ 17 сброшены. При нажатии кнопки Пуск триггер Т 19 устанавливается в единичное состояние, им5пульсы с выхода -генератора Т 9 поступают через элемент И 10 на вход С двоичного счетчика СТ 17 и на выходах .О ... 6 дешифратора ДС 18 последовательно появляются прямоугольные импульсы. Импульс с выхода 1 дешиф0ратора ДС 18 поступает на вход блока 1 памяти программы, который производит считывание первого командного слова и выдачу кода адреса переменной и кода операции на свои два выхода

5 соответственно. При этом импульсы с выходов 2 и 4 дешифратора ДС 18 через элементы И 11 и И 12 на счетчик 16 адреса не поступают, так как на первые входы элементов И 11 и И 12

0 подается потенцисШ логического нуля . с триггера Т 20. Импульс с выхода 3 дешифратора ДС 18 через элемент ИЛИ 14 поступает на стробирующий вход регистра 7. Первое командное слово

5 содержит логическую 1 в разряде Р2, что означает отсутствие операци конъюнкции или ДИЗЪЮНКЦИИ; поэтому импульс с выхода 5 дешифратора ДС 18 не поступает через элементы

0 И 13 и ИЛИ 14 ьа регистр 7. Импульс с выхода 6 дешифратора устанавливает триггер Т 20 в единичное состояние, чем заканчивается цикл считывания и выполнения первой команды.

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

0 командном слове признаков операции и операнда, в разрядах Р2 и РЗ содержит ся код 00.

Таким образом, за счет хранения

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

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

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

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

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

первый выход дешифратора, второй выход которого соединен с вторым входом второго элемента И, выход которого подключен к первому входу элемента ИЛИ, второй вход которого соединен с третьим выходом дешифратора, а выход t подключен к второму выходу блока управления, единичный выход второго триггера соединен с вторыми входами первого и третьего элементов И, выходы которых являются третьим выходом блока управления, четвертый выход дешифратора подключен к третьему входу третьего элемента И, пятый выход дешифратора подключен к третьему входу первого элемента И, выход элемента ИЛИ подключен к второму выходу блока управления, выход четвер:того элемента И подключен к счетному входу счетчика, выходы которого соединены с входами дешифратора, шестой выходкоторого подключен к первому, выходу блока управления.

3. Устройство по П.1, отличающееся тем, что вычислительный блок содержит два элемента НЕ, четыре элемента И, два элемента ИЛИ, примем информационный вход вычислительного блока подключен к-первому и второму входам первого элемента И и первого элемента ИЛИ, выход которого соединен с первым входом второго элемента И, второй вход которого подключен к выходу третьего элемента И, первый вход которого подключен к управляющему входу вычислительного блока и к входу элемента НЕ, выход которого соединен с первым входом четвертого элемента И, второй вход которого соединен с вторым входом третьего элемента И.и с выходом второго элемента НЕ, вход которого подключен к управляющему входу вы числительного блока, выход четвертого элемента И соединен с третьим входом первого элемента И, выход которого подключен к первому входу второго элемента ИЛИ, второй вход которого соединен с выходом второго элемента И, а выход второго элемента ИЛИ подключен к выходу вычислительного блока.

Источники информации, принятые во внимание при экспертизе

1.Авторское свидетельство СССР 371580, кл. G Об F 15/00, 1970.

2.Измерения, ко.нтроль, автомати-. зация. 1979, т.20, № 4, с.25-33 (прототип) . ..

fPu. /

Похожие патенты SU955027A1

название год авторы номер документа
Система программного управления технологическими процессами 1989
  • Тимонькин Григорий Николаевич
  • Харченко Вячеслав Сергеевич
  • Улитенко Валентин Павлович
  • Тюрин Сергей Феофентович
  • Ткаченко Сергей Николаевич
  • Пугач Евгений Васильевич
SU1688229A1
Устройство для реализации булевых функций 1982
  • Куклин Григорий Васильевич
  • Бодунов Валерий Владимирович
  • Ревяко Григорий Максимович
SU1032451A1
Устройство для моделирования конечных автоматов 1980
  • Плахтеев Анатолий Павлович
  • Харченко Вячеслав Сергеевич
  • Тимонькин Григорий Николаевич
  • Приходько Владимир Моисеевич
  • Ткаченко Сергей Николаевич
SU955080A1
Вычислительное устройство для реализации логических функций 1983
  • Диденко Константин Иванович
  • Конарев Анатолий Николаевич
  • Перекрестов Анатолий Григорьевич
  • Ручинский Анатолий Антонович
  • Черепаха Анатолий Константинович
SU1269130A1
Устройство для ввода в микроЭВМ дискретных сигналов 1988
  • Тюрин Сергей Феофентович
SU1608679A1
Система программного управления технологическими процессами 1989
  • Байда Николай Константинович
  • Тимонькин Григорий Николаевич
  • Харченко Вячеслав Сергеевич
  • Тюрин Сергей Феофентович
  • Середа Валерий Николаевич
  • Ткаченко Сергей Николаевич
SU1681297A1
Устройство для последовательного программного управления 1983
  • Белов Борис Васильевич
  • Гольдин Яков Гелеевич
  • Мальчик Анатолий Яковлевич
  • Палк Константин Ильич
  • Спектор Леонид Бенцианович
  • Файнштейн Лев Наумович
  • Цыбульский Григорий Давидович
SU1126928A1
УСТРОЙСТВО ДЛЯ ПРОГРАММНОГО ЛОГИЧЕСКОГО УПРАВЛЕНИЯ ЭЛЕКТРОПРИВОДАМИ, ЭЛЕКТРОННЫМИ КЛЮЧАМИ И СИГНАЛИЗАЦИЕЙ 1996
  • Терехин Б.Г.
  • Терехина Н.Б.
RU2106676C1
Устройство для программного управления 1985
  • Зазулин Сергей Николаевич
  • Никифоров Владимир Константинович
SU1348772A1
Устройство для ввода в микроЭВМ дискретных сигналов 1990
  • Тюрин Сергей Феофентович
  • Назин Владимир Иванович
  • Несмелов Владимир Аркадьевич
  • Лазуков Андрей Александрович
  • Овчинников Александр Владимирович
  • Козяк Игорь Петрович
  • Харитонов Валерий Алексеевич
SU1751772A1

Иллюстрации к изобретению SU 955 027 A1

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

Формула изобретения SU 955 027 A1

м муммм

IWWW itfffe ft

netoenit .

lH fOHyi It pttveinpy

IfHaifMf / Iff.

Л fVfAHWMf f

etfitea fetieem/л

2Г|

ч| 1

:

SU 955 027 A1

Авторы

Ерофеев Юрий Владимирович

Михайлова Алла Алексеевна

Полященко Геннадий Николаевич

Шандрин Игорь Степанович

Даты

1982-08-30Публикация

1980-04-19Подача