Устройство для вычисления булевых функций
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
СОЮЗ СО 8 ЕТСНИХСО.ИА ЛИСТ ИЧЕСКИ ХРЕСПУБЛИК ЯО 15010(5 4 С 06 Г 7/00 ОПИСАНИЕ ИЭОБРЕТЕНИК А ВТОРСКОМУ СВИДЕТЕЛЬСТВУ ьшоно о СССР1980.СССР1986,ГССУДАРСТВЕННЬЙ НОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМПРИ ГКНТ СССР(56) Авторское свидетельствУ 955027, кл. С 06 Г 7/00,Авторское свидетельствоВ 1339545, кл, С 06 Г 7/00,(54) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯБУЛЕВЫХ ФУНКЦИЙ(57) Изобретение относится к автоматике и вычислительной технике и предназначено для вычисления булевыхфункций. Цель изобретения - сокращение объема памяти, необходимого длязаписи программы вычисления булевыхфункций за счет обеспечения возможности перехода к следующей по номеру1501033 4 команде при неравенстве значений аргумента и его признака. Устройствосодержит мультиплексор 1, блок 2 памяти программ, дешифратор 3, две 5группы 4 и 11 триггеров, генератор 5импульсов, вход 6 начальной установки, элемент НЕ 7, триггер 8, формирователь 9 импульсов, элемент И 10,информационные входы 12 и выходы 13, 10 Изобретение относится к областиавтоматики и вычислительной техникии может быть использовано для вычисления булевых функций в системах контроля и управления техническими и тех 0нологическими средствами.Целью изобретения является упрощение устройства за счет сокращенияобъема памяти,На фиг. 1 представлена схема уст 25ройства для вычисления булевых функций; на фиг. 2 - граф-схема алгоритма вычислення двух булевых функций.Устройство для вычисления булевыхфункций содержит мультиплексор 1,блок 2 памяти программ, дешифратор 3,группу триггеров 4, генератор 5 импульсов, вход 6 начальной установки,элемент НЕ 7, триггер Я,формирователь9 импульсов, элемент И 10, группу 35триггеров 11, информационные входы12, выходы 13, элемент СУММА ПО МОДУЛЮ ДВА 14, коммутатор 15,сумматор 16,шину 17 логического нуля.Устройство работает следующим образом.Когда на входе 6 начальной установки имеет место сигнал, запрещающий работу устройства, по отрицательному Фронту первого после появления 45сигнала запрета импульса на выходетриггера 8 сформируется сигнал установки группы триггеров 4 в начальноесостояние. При этом на выходах группытриггеров 4 будет иметь места нулевой 50код, независимо от поступления на еготактовые входы тактовых импульсов, аустройство будет находиться в состоянии ожидания. При появлении на входе6 сигнала разрешающего работу устрой 55ства, по отрицательному фронту первого тактового импульса, поступающегос выхода генератора 5 импульсов, навыходе триггера 8 сформируется сигэлемент СУММА ПО МОДУЛЮ ДВА 14, коммутатор 15, сумматор 16, шину 17 логического нуля. Устройство вычисляет булевые Функции по заданной программе. При этом обеспечивается возможность перехода к следующей по номеру команде в случае, когда значение аргумента и его признака не равны между собой. 2 ил, 1 табл. нал, разрешающий работу группы триггеров 4 по тактовым входам. По положительным фронтам тактовых импульсов производится вызов команд программы вычисления булевых Функций, записанной в блоке 2 памяти программ, Каждая команда содержит код ацреса опрашивае мого аргумента, поступающий на управляющие входы мультиплексора 1; код признака аргумента, равный "1", если аргумент входит в линейную граф-схему алгоритма с отрицанием, и "0 в противном случае, и поступающий на второй вход элемента СУММА ПО МОДУЛЮ ДВА 14; код адреса команды, к выполнению которой устройство приступит на следующем такте, если в данном такте на выходе элемента СУММА ПО МОДУЛЮ ДВА 14 сформировался сигнал "0", этот код поступает на первые входы коммутатора 15; код адреса результата вычисляемой функции, который поступает па, " адресные входы дешифратора 3; код разрешения записи результата вычисления логической функции, который поступает на первый вход элемента И 10; код результата вычисления логической функции, который поступает наинформационные входы триггеров группы 11.Процедура вычисления булевых Функций заключается в следующем.По первой команде программы, находящейся в блоке 2 памяти программ по нулевому адресу и формирующейся на выходах блока 2 памяти программ, когда устройство находится в состоянии ожидания, на первый вход элемента СУММА ПО МОДУЛЮ ДВА 14 поступает сигнал, соответствующий значению первого опрашиваемого. аргумента первой функции. На второй вход элемента СУММА ПО МОДУЛЮ ДВА 14 поступает сигнал, соответствующий признаку этого аргумента. Могут иметь место дваслучая: на первый и второй входы элемента СУММЛ ПО МОДУЛН) ДВА 14 поступают разные сигналы; на первый и второй входы элемента СУ 1 ссМЛ 1 И) МОДУЛЮДВА 14 поступаютодинаковые сигналы.5В первом случае на выходе элемен,та СУММА ПО МОДУЛИ ДВА 14 сформируется сигнал "1", ло которому на вторыхвходах сумматора 16 сформируется код, 10соответствующий числу 1, а на первыевходы сумматора 16 через коммутатор 15 поступит код с выходов триггеров группы 4. Обозначим число,соответствующее этому коду, А. Тогда на выходах сумматора 16 сформируется код, соответствующий числу (А+1),Во втором случае на выходе элемента СУММА ПО МОДУЛЮ ДВА 14 сформируется сигнал "0", по которому на вторыхвходах сумматора 16 сформируется нулевой код, а на первые входы сумматора 16 через коммутатор 15 поступит код адреса команды с выходов кода адреса команды блока 2 памяти программ. В этом случае этот же код сфор"мируется и на выходах сумматора 16,Код на выходах сумматора 16 определяет, какую команду устройство выполнит на следующем такте работы. Впервом случае это будет следующаяпо порядку команда, во втором - команда, код которой записан в поленомера команды выполняемой команды.После появления на установочныхвходах группы триггеров 4 сигнала,разрешающего его работу по тактовымвходам, ло положительному фронтупервого тактового импульса код,имеющий место на выходах сумматора4016, записывается в группу триггеров4 и формируется на его выходах. Поэтому коду на выходах блока 2 памятипрограмм формируется код новой команды. В первом случае это будет кодследующей ло порядку команды, но втором - код той команды, которая записана в блоке 2 памяти программ по адресу, равному коду номера команды,записанному в предыдущей команде.Приэтом, если значение опропжнного ар 50. гумента не полностью определяет значение функции, то по этой командеосуществляется опрос другого аргумента этой же функции, если значениефункции полностью определяется значением опрошенного аргумента, то осуществляется запись результата вычисления функции в один из триггеров группы 11 и фсэрилруетс я кс н с с н.н,с с сс -рехода к первой ксчнлс:с нр , рння 1 вы -числения следующей Функсснн. Этс 1 лрлсходит следующим обрд 1 .с, ,днн ь результата осуществняетс.я 1 сд с;снс 1 ьсу изтактовых входов группы трнссеров 11.Результат вычисления поступает изблока 2 памяти программ, номер такта.ного входа определяется кодом адресарезультата, который поступает на адресные входы дешифратора 3 из блока2 памяти программ. Дешифратор 3 стробируется импульсом, формируемым поотрицательному фронту тактового импульса формирователем 9 импульс 1 н.Этот импульс поступает на стробнрующий вход дешифратора 3 с вьсхола эле,мента И 10 при наличии на его первомвходе сигнала разрешения записи результата, который поступает из блока2 памяти программ. Для перехода к вычислению следующей функции н команде, по которой производится записьрезультата вычисления, н поле кодаадреса аргумента записывается код константы "О", т,е. код номера того информационного входа мультиплексора1, который соединен с шиной 17 логического нуля. В поле признака аргумента записывается сигнал "0", в лоле адреса команды записывается кодадреса команды, ло которой производится опрос и анализ первого аргумента следующей функции. После вычисления всехлогических функций устройство может опять перейти к вычислениюпервой функции. Для этого в поле адреса команды двух последних командпрограммы необходимо записать адресапервой команды программы. Кроие этого, устройство может прекратить вычисления, для чего в лоле адреса команды двух последних команд программы вычисления записывается код адреса дополнительной "пустой" командыв поле адреса опрашиваемого аргумента которой записывается адрес константы "0", в поле адреса ксианды -адрес ее самой, в поле признака аргумента - "О". Тогда устройство будетпостоянно выполнять эту команду доперевода его в состояние ожиданиясигналом с входа 6. Для примера и пояснения работы устройства, а также способа его программирования в таблице представлена программа вычисления двух функций, 1501033-Х ХЧТ Х (Х ЧХр).Для составления программы вычисления этих функций цеобходи.фо построить блок-схему алгоритма бинарной программы вычисления, которая представлена на фиг. 2 а, Далее необходимо перейти к линейной блок-схеме алгоритма бинарной программы (к линейному бинарному графу - ЛБГ), которая показана на фиг. 2 Б, Для этого все аргументы Функции записываются в линию в том порядке, в котором они стоят в блок- . схеме алгоритма бинарной программы. По этой линии Фиксируются единичные переходы от аргумента к аргументу. Далее, в блок-схеме алгоритма бинарной программы переход от Х; к Х осуществляется по нулевому значению Х , в ЛБГ аргумент Х, берется с отрицанием. Остальные переходы, переходы по нулевому значению аргументов, строятся в соответствии с блок-схемой алгоритма бинарной программы с учетом проставленных инверсий,Составление программы вычисления 30 производится следующим образом;1) в столбец таблицы "Код адреса аргумента" записываются коды адресов аргументов первой функции в том порядке, в котором эти аргументы расположены в ЛБГ;2) в каждую строку столбца таблицы "Признак аргумента записывается "1", если аргумент, код адреса которого записан в этой строке, входит 40 в ЛБГ с инверсией, в противном случае записывается "0";3) в каждую строку столбца "Код адреса команды" записывается код адреса той команды, к выполнению кото- д 5 рой необходимо перейти по нулевому значению выражения, стоящего в соответствующей этой строке вершине ЛБГ;4) в каждую строку столбца "Разрешение записи результатазаписывается "0";5) что будет записано в столбцах "Результат вычисления" и "Адрес результата" значения це имеет;б) в следу 1 зщей по порядку строке записывается команда записи результата вычисления функции по единичному значению выражения, стоящего в последней вершине ЛБГ первой Функции,далее записывается команда записипротивоположного результата;7) в последующих строках таким жеобразом Формируется программа вычисления второй функции и т.д.,Отметим особенности формированиякоманд записи результата. В поле адреса аргумента этих команд записывается адрес константы "0", в поле"11 ризнак аргумента" - тоже "0", вполе "Код адреса команды - код номера команды, следующей за этими командами, или, если необходимо послеих выполнения организовать циклическое выполнение всей программы, нулевой код (т.е. начальной команды). Вполе "Адрес результата" заносится кодномера Функции, в поле "Результатвычисления" - соответствующий результат, в поле "Разрешение записи" - "1",Вычисления указанных функций призначениях аргументов Хр = 1; Х = 0;,-0;- 1; Х)Х, = 0 состоит в следующем.При нулевом коде ца адресном входеблока 2 памяти программ производитсяопрос аргумента Х , входящего в первую Функцию. Поскольку Х = 1, то навыходе сумматора 16 сформируется код00001, этот же код сформируется цавыходах группы триггеров 4 по положительному Фронту первого тактовогоимпульса,По адресу 00001 в блоке 2 памятипрограмм записана команды У 2, поэтой команде будет анализироватьсязначение аргумента Х,. Так как Х, = 1,то следующей будет выполняться команда, код адреса которой равен 00001+00001 = 00010 (суммирование производится в двоичном коде), т.екоманда9 3. По этой команде анализируетсязначение Х, так как Х= 1, то кодадреса следующей команды равен 00010+00001 = 00011, т.е, будет выполнятьсякоманда Р 4, Поскольку значение аргумента Хт = 0 и, следовательно, Х = 1,то код адреса следующей команды 00011+0001+=00100, т,е. на следующем тактебудет выполняться команда Р 5 и анализироваться аргумент Х. Так какХ = 1 и входит в ЛБГ с инверсией, тона, этом такте на выходе элемента СУММАПО МОДУЛЯ ДВА 14 сформируется сигнал"0", По этому сигналу ца первые входы сумматора 16 через коммутатор 15поступит код с выходов кода адресакоманды блока 2 памяти программ, т,е.1501033 О код 01000, При этом на вторых входахсумматора 16 сформируется код 00000а на выходах, следовательно, код01000, т.е. код адреса команды Р 9,которая и будет выполняться на следующем такте работы, По этой командеосуществляется запись результатаУ = 0 по адресу 3 = 0 в группе триггеров 11. При этом на информационныхвходах группы триггеров 4 сформируется код 01010 - код адреса команды,которая будет выполняться на следующем такте. Зто команда У 11 - перваякоманда программы вычисления функцииУ. По этой команде производится анализ переменной Х, так как Х, = О,то осуществляется переход к командеУ 13, по которой осуществляется анализ Х , Поскольку Х у = 1 то осуществляется переход к следующей по порядку команде, т.е, к команде У 14.По команде Р 14 проводится анализпеременной Х и, поскольку Х, = О,осуществляется переход к команде, 25код номера которой 10000, это кодкоманды Ф 17, по этой команде осуществляется запись результата Т = 0по адресу 3 = 1 и формируется код адреса первой команды программы 00000. Устройство для вычисления булевых функций, содержащее мультиплексор, блок памяти программ, дешифра 35 тор, первую и вторую группы триггеров, элемент НЕ, триггер, формирователь импульсов, элемент И, причем выходы кода адреса опрашиваемого аргумента блока памяти программ соединены с управляющими входами мультиплексора, первые информационные входы которого соединены с информационными входами устройства, выходы кода адреса результата блока памяти программ соединены с адресными входами дешифратора, стробирующий вход котоР ко- Кодманды команПрограмма вычисления лог.функций анализируемыйаргумент Код Код раз; реш,эа- писи ПризКодадресакоманКодадреса ды накХ; ды 1 00000 Х 00000 2 00001 Х, 0001 300010 Х, 0110 Формула изобретения рого соединсч с выходом элемента И,первый вход которого соединен с выходом разрешения записи результатаблока памяти программ, второй входэлемента И соединен с выходом формирователя импульсов, вход которогосоединен с тактовым входом триггера1и выходом элемента НЕ, вход которого соединен с тактовым входом устройства и тактовыми входами триггеров первой группы, установочные входы которых соединены с выходом триггера, информационный вход которогосоединен с входом начальной установки устройства, выходы которого соединены с выходами триггеров второйгруппы, тактовые входы которых соединены с выходами дешифратора, а информационные входы триггеров второйгруппы соединены с выходом значениярезультата блока памяти программ,адресные входы которого соединены свыходами триггеров первой группы,о т л и ч а ю щ е е с я тем, что, сцелью упрощения за счет сокращенияобъема памяти, оно содержит элементСУММА ПО МОДУЛЮ ДВА, коммутатор исумматор, причем выход мультиплексора соединен с первым входом элементаСУММА ПО МОДУЛЮ ДВА, второй вход которого соединен с выходом признакааргументов блока памяти программ,выходы кода адреса условного перехода которого соединены с первымивходами коммутатора, выходы которогосоединены с первыми входами сумматора, старшие разряды вторых входов которого соединены с вторым информационным входом мультиплексора и с шинойлогического нуля, вход младшего разряда вторых входов сумматора соединенс выходом элемента СУММА ПО МОДУЛЮДВА и с управляющим входом коммутатора, вторые входы которого соединены с выходами триггеров первой группы, информационные входы которых соединены с выходами сумматора.1 0 0100001 010010 0 001000" ко- Код Лндлн н(Про( рлммд вычнглення лог.функнй руемыйаргументХ,мднды комдн- ды Код ПриэКод Код разреш.здКодддре ндк ддресд комацса писи дыРазряд может принимать любое. значение. а Составитель М,КаульТехред Л.Олийнык Редактор О.Спесивых э 4868/44 Государственно 11303Бо рис о Коррек Тираж 668о комитета по иэобМосква, Ж, Ра Подписноетениям и открытиям при ГКНТ СССская наб., д. 4/5 ЗакаВНИИПИ оиэводственно-издательский комбинат "Патент", г,ужгород, ул. Гагарина,01 4 5 6 7 8 9 1 О 11 12 13 14 15 16 17 18 00011 00100 00101 01100 00111 01000 01001 01010 01011 01100 01101 01110 01111 10000 10001 Х ч
СмотретьЗаявка
4369489, 26.01.1988
ПРЕДПРИЯТИЕ ПЯ А-3462
ВАВИЛОВ ВЛАДИМИР НИКОЛАЕВИЧ, ВАЛЬШОНОК ЕФИМ САМУИЛОВИЧ, СИГАЛОВ АЛЕКСАНДР СЕМЕНОВИЧ, ШАЛЫТО АНАТОЛИЙ АБРАМОВИЧ
МПК / Метки
МПК: G06F 7/00
Метки: булевых, вычисления, функций
Опубликовано: 15.08.1989
Код ссылки
<a href="https://patents.su/6-1501033-ustrojjstvo-dlya-vychisleniya-bulevykh-funkcijj.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для вычисления булевых функций</a>
Предыдущий патент: Арифметико-логический модуль
Следующий патент: Многофункциональный логический модуль
Случайный патент: Устройство для измерения потерь на коронный разряд в линии электропередачи