|
(21), (22) Заявка: 2004106589/09, 09.03.2004
(24) Дата начала отсчета срока действия патента:
09.03.2004
(43) Дата публикации заявки: 20.08.2005
(45) Опубликовано: 27.03.2006
(56) Список документов, цитированных в отчете о поиске:
RU 2222822 С2, 27.01.2004. RU 2174700 C1, 10.10.2001. SU 1801223 A3, 07.03.1993. DE 2846686 B1, 27.09.1979. US 4295191 A, 13.10.1981.
Адрес для переписки:
109202, Москва, Перовское ш., 6а, кв.44, Б.Г.Терехину
|
(72) Автор(ы):
Терехин Борис Германович (RU)
(73) Патентообладатель(и):
Терехин Борис Германович (RU)
|
(54) УСТРОЙСТВО ДЛЯ ПОСТРОЕНИЯ ПРОГРАММИРУЕМЫХ ЦИФРОВЫХ МИКРОПРОЦЕССОРНЫХ СИСТЕМ
(57) Реферат:
Изобретение относится к средствам управления и может применяться в системах управления технологическими объектами в промышленности и на транспорте. Техническим результатом является упрощение структуры при сохранении функциональных возможностей, упрощение программирования процесса условных переходов и повышение быстродействия. Устройство содержит входной и выходной блоки, блок оперативной памяти, блок синхронизации, блок программ, многоканальный операционный блок, коммутационно-вычислительный блок и блок условных переходов. 12 ил.
Предлагаемое устройство служит для построения систем управления и регулирования простыми и сложными технологическими объектами в промышленности, на транспорте и для создания вычислительных систем.
Известно устройство, которое в самом себе содержит входной блок, принимающий сигналы от датчиков и формирующий определенный код на своем выходе, выходной блок для записи и хранения полученных значений кодов, поступающих из многоканального операционного и коммутационно-вычислительного блоков, программный блок, где хранится программа работы устройства, блок оперативной памяти для хранения промежуточных результатов вычислений, блек синхронизации, обеспечивающий устойчивую работу всего устройства [1].
Недостатком данного устройства является невозможность ветвления программы в зависимости от результатов промежуточных вычислений.
Наиболее технически близким является устройство, содержащее входной блок, принимающий сигналы от датчиков и формирующий определенный код на своем выходе, выходной блок для записи и хранения полученных значений кодов, поступающих из многоканального операционного и коммутационно-вычислительного блоков, программный блок, где хранится программа работы устройства, блок оперативной памяти для хранения промежуточных результатов вычислений, блок синхронизации, обеспечивающий устойчивую работу всего устройства, блок условных, переходов, связанный первыми шинами с программным блоком, а вторыми шинами с входным и выходным блоками и блоком оперативной памяти [2].
Недостатком данного устройства является сложность в структурной и архитектурной организации устройства, связанная с наличием двух шин и соответственно большого числа входов-выходов в блоке условных переходов, а также техническая ограниченность при программировании кодов условных переходов из-за использования части адресных шин для управляющих сигналов в модуле управления блока переходов.
Целью предлагаемого изобретения является повышение быстродействия, упрощение его структурной и архитектурной организации, расширение технических возможностей при программировании за счет введения двунаправленной шины в блок условных переходов и совершенствование алгоритмов работы модуля управления блока условных переходов и программного блока.
С этой целью в устройство, содержащее входной блок, принимающий сигналы от датчиков и формирующий определенный код на своем выходе, выходной блок для записи значений кодов, поступающих из всех логических каналов в ячейки памяти, и передачи их через цифроаналоговые преобразователи на электроисполнительные механизмы, программный блок, блок оперативной памяти, блок синхронизации и коммутационно-вычислительный блок, состоящий из элемента И-ИЛИ, элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, пяти элементов И, ячейки памяти, элементов ИЛИ и НЕ, первые входы двух И элемента И-ИЛИ соединены соответственно с третьим и четвертым выходами дешифратора, а вторые входы подключены к выходу входного блока, соединенного первой и второй группами входов с группой информационных выходов объекта управления и с группой адресных выходов программного блока, а также к выходу блока оперативной памяти, выход элемента И-ИЛИ подключен к первому входу элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, второй вход которого соединен с определенным выходом программного блока, выход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ связан с первым входом третьего элемента И, соединенного вторым входом с соответствующим выходом блока синхронизации, а выходом с управляющим входом ячейки памяти, а ее информационный вход связан с выходом элемента ИЛИ, второй вход которого подключен к выходу пятого элемента И, второй вход последнего соединен с определенной шиной программного блока, первый вход пятого элемента И подключен к выходу элемента НЕ, а вход последнего связан с вторым входом четвертого элемента И и с соответствующей шиной программного блока, первый вход четвертого элемента И подключен к инверсному выходу ячейки памяти, а его выход соединен с первым входом элемента ИЛИ, прямой выход ячейки памяти связан с информационными входами выходного блока и блока оперативной памяти, первые входы первого и второго элементов И подключены к первому и второму выходам дешифратора, их вторые входы объединены и связаны с соответствующим выходом блока синхронизации, а выходы соединены с соответствующими входами выходного блока и блока оперативной памяти для управления записью информации, многоканальный операционный блок, содержащий управляемый элемент, девять элементов И, семь элементов ИЛИ, первый и второй дешифраторы, управляемую ячейку памяти и n параллельно работающих логических каналов, имеющих одинаковую структуру, каждый их которых содержит внутри самого себя элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, первый, второй и третий элементы И, первый и второй элементы ИЛИ, первый и второй счетные триггеры, при этом в каждом логическом канале многоканального операционного блока выход логического элемента ИСКЛЮЧАЮЩЕЕ ИЛИ связан с первым входом первого элемента ИЛИ, второй вход которого соединен с выходом второго элемента И, связанного вторым входом с первым входом первого элемента И, а выход соединен с первым входом третьего элемента И, выход последнего связан со счетным входом первого счетного триггера, выход которого подключен к второму входу первого элемента И и к счетному входу второго счетного триггера, выход последнего соединен с первым входом второго элемента ИЛИ, второй вход которого подключен к выходу первого элемента И, при этом внутри многоканального операционного блока выход первого элемента ИЛИ связан с вторыми входами элементов ИСКЛЮЧАЮЩЕЕ ИЛИ логических каналов, первый и второй входы первого элемента ИЛИ связана соответственно с выходами первого и второго элементов И, причем два входа первого элемента И подключены к одному из выходов второго дешифратора и выходу третьего элемента ИЛИ, входы которого соединены с двумя соответствующими выходами первого дешифратора, первый вход второго элемента И связан с одним из входов третьего элемента ИЛИ и с определенным выходом первого дешифратора, второй вход второго элемента И подключен к выходу седьмого элемента И, первый и второй входы второго элемента ИЛИ подключены к выходам шестого и седьмого элементов И, а третий вход – к выходу третьего элемента И, входы которого соединены с соответствующим выходом второго дешифратора и с выходом первого элемента НЕ, вход которого связан с выходом третьего элемента ИЛИ, первые входы шестого и седьмого элементов И подключены к соответствующим выходам второго дешифратора, а вторые входы – соответственно к прямому и инверсному выходам ячейки памяти, информационный вход которой соединен с выходом второго элемента ИЛИ последнего логического канала, а управляющий вход управляемой ячейки памяти связан с выходом четвертого элемента И, первый вход которого подключен, вместе с первыми входами вторых элементов И всех логических каналов, к соответствующему выходу первого дешифратора, второй вход четвертого элемента И вместе с вторыми входами третьих элементов И всех логических каналов соединены с определенным выходом блока синхронизации, а третий вход четвертого элемента И связан с определенным выходом второго дешифратора, в многоканальном операционном блоке управляющий вход управляемого элемента соединен с определенным выходом программного блока и с первым входом пятого элемента ИЛИ, выход последнего подключен к первому входу девятого элемента И, в коммутационно-вычислительном блоке первые входы третьего и четвертого элементов И элемента И-ИЛИ соответствующим образом подключены к определенным выходам первого дешифратора, а вторые входы связаны соответственно с выходом управляемого элемента и с инверсным выходом второго счетного триггера последнего логического канала в многоканальном операционном блоке, входы первого и второго дешифраторов подключены к командным шинам программного блока, выход второго элемента ИЛИ первого логического канала соединен с вторым входом второго элемента И второго логического канала, выход второго элемента ИЛИ второго логического канала связан с вторым входом второго элемента И третьего логического канала и т.д. до последнего логического канала, второй вход второго элемента И первого логического канала подключен к выходу синхронного триггера, вход синхронизации которого связан с определенным выходом блока синхронизации, а информационный вход соединен с выходом второго элемента ИЛИ многоканального операционного блока, где инверсный выход управляемой ячейки памяти соединен с соответствующим входом выходного блока, второй вход пятого элемента ИЛИ соединен с одной из общих шин системы связи, передающей первый разряд кодового слова, второй вход девятого элемента И связан с выходом третьего элемента ИЛИ, входы восьмого элемента И соединены с выходом шестого элемента ИЛИ и с выходом блока синхронизации, а выход связан с первым входом четвертого элемента ИЛИ, выход последнего соединен с входами сброса в “0” вторых счетных триггеров всех логических каналов, входы пятого элемента И подключены к определенным выходам программного блока и блока синхронизации, а выход соединен с вторым входом четвертого элемента ИЛИ и с входами сброса в “0” первых счетных триггеров всех логических каналов, также систему связи, которая охватывает соответствующие блоки и содержит первый и второй электронные ключи, общие шины, логический элемент, формирующий сигналы на своих выходах аналогично сигналам на первых четырех выходах первого дешифратора многоканального операционного блока, в который введены шестой и седьмой элементы ИЛИ, элемент НЕ и электронный выключатель, а каждый логический канал дополнен четвертым элементом И, модулем сдвига разрядов /МСР/ и модулем реализации логических функций /МРФ/, модуль МСР1 введен во все каналы, кроме первого и последнего, и реализует логические функции и где и – сигналы на выходах модуля МСР1, сигналы b’, b”, c’, c”, t1, e6 являются входными для модуля MCP1, при этом b’ и b” поступают соответственно с выходов первых счетных триггеров данного и последующего логических каналов, с’ и с” приходят с определенных выходов программного блока, t1, e6 поступают соответственно с выхода элемента НЕ и выхода первого дешифратора многоканального операционного блока, а выходы модуля МСР1 связаны с третьим и четвертым входами первого элемента ИЛИ данного и последующего логических каналов, модуль МСР2 в первом логическом канале реализует булевы функции , и , где сигналы у1, у2 и у3 с выходов модуля МСР2 поступают соответственно на третий, четвертый входы первого элемента ИЛИ первого логического канала и на четвертый вход первого элемента ИЛИ второго логического канала, сигналы b1, b2, c’, c”, t1, e6 поступают на входы модуля MCP2 соответственно с выходов первых счетных триггеров первого и второго логических каналов, с двух выходов программного блока, с выхода элемента НЕ и с выхода первого дешифратора многоканального операционного блока, модуль МСР3 реализует булеву функцию где сигнал поступает с выхода модуля МСР3 на третий вход первого элемента ИЛИ последнего логического канала, сигналы bn, c”, t1, e6 приходят на входы модуля MCР3 соответственно с выходов первого счетного триггера последнего логического канала, с выхода программного блока, с выхода элемента НЕ и с выхода первого дешифратора многоканального операционного блока, модули МРФ в каждом логическом канале реализуют булеву функцию , где сигналы a1, a2, c’, c” поступают на входы модулей МРФ соответственно с выходов первого и второго счетных триггеров данного логического канала и с двух выходов программного блока, а выходные сигналы Bi модулей МРФ поступают в многоканальном операционном блоке на входы управляемого элемента и электронного выключателя, управляющий вход которого объединен с входом элемента НЕ и связан с выходом седьмого элемента ИЛИ, два входа которого и два входа шестого элемента ИЛИ подключены к соответствующим трем выходам первого дешифратора и к командной шине программного блока, выход девятого элемента И соединен с первыми входами четвертых элементов И в каждом логическом канале, вторые входы четвертых элементов И каждого логического канала вместе с информационными выходами электронного выключателя многоканального операционного блока связаны с общими шинами системы связи, а выходы четвертых элементов И в каждом логическом канале соединены с первыми входами элементов ИСКЛЮЧАЮЩЕЕ ИЛИ, общие шины также подключены к выходам первого и второго электронных ключей системы связи и к многоразрядным входам блока оперативной памяти и выходного блока, входы первого и второго электронных ключей связаны с многоразрядными выходами входного блока и блока оперативной памяти, управляющие входы первого и второго электронных ключей, блока оперативной памяти и выходного блока соединены с соответствующими выходами логического элемента, три входа которого объединены с соответствующими тремя входами первого дешифратора многоканального операционного блока и с тремя выходами программного блока, в коммутационно-вычислительном блоке имеются элемент И-НЕ, причем входы элемента И-НЕ соединены с пятым выходом дешифратора и с прямым выходом ячейки памяти, а выход элемента И-НЕ связан с третьими входами четвертых элементов И всех логических каналов многоканального операционного блока, с третьим входом первого элемента И блока оперативной памяти и с третьим входом элемента И выходного блока, шестой элемент И, подключенный входами к шестому выходу дешифратора и прямому выходу ячейки памяти, в счетчик импульсов программного блока введены второй ключ, элементы И и ИЛИ, причем информационные входы второго ключа соединены с общими шинами системы связи, а выходы второго ключа связаны с информационными входами электронного ключа в счетчике импульсов программного блока, управляющий вход второго ключа подключен к выходу шестого элемента И коммутационно-вычислительного блока и к первому входу элемента ИЛИ, второй вход которого соединен с определенным выходом модуля управления блока условных переходов, выход элемента ИЛИ связан с первым входом элемента И, второй вход которого подключен к выходу блока синхронизации, а выход соединен с входом включения электронного ключа счетчика импульсов программного блока, управляемый элемент в многоканальном операционном блоке реализует функцию ИЛИ или ИСКЛЮЧАЮЩЕЕ ИЛИ в зависимости от значения сигнала на его управляющем входе, введенные первая и вторая командные шины управления, выходящие из программного блока, блок условных переходов, содержащий модуль управления, первые шины, счетчик импульсов, например один, несколько рядов ячеек памяти, например два, соответствующее число электронных ключей, например три, при этом выходы счетчика импульсов соединены с входами третьего ряда электронных ключей, выходы первого ряда ячеек памяти связаны с входами первого ряда электронных ключей, выходы второго ряда ячеек памяти подключены к входам второго ряда электронных ключей, входы счетчика импульсов, а также входы первого и входы второго рядов ячеек памяти связаны с первыми шинами, в программный блок введен третий электронный ключ, связанный входами с соответствующими выходами постоянного запоминающего устройства ПЗУ, а выходами с первой шиной блока условных переходов и с соответствующими входами блоков входного, выходного и оперативной памяти, а в блоке условных переходов первая шина подключена к выходам трех рядов электронных ключей и модуль управления имеет пять входов и девять выходов и реализует булевы функции: где в модуле управления – входной сигнал, поступающий на первый вход с выхода программного блока, a2 и a3 – входные сигналы, поступающие на второй и третий входы с соответствующих выходов программного блока, и Z – входные сигналы, поступающие на четвертый и пятый входы с выхода ячейки памяти /триггера/ коммутационно-вычислительного блока и с определенного выхода блока синхронизации, и – сигналы, идущие соответственно из первого, второго и третьего выходов и поступающие на входы включения записью в счетчик импульсов и в первый и второй ряды ячеек памяти, и – сигналы идущие из четвертого, пятого и шестого выходов на входы включения первого, второго и третьего рядов электронных ключей, – сигналы, поступающие из седьмого и восьмого выходов соответственно на счетный вход счетчика импульсов и на управляющий вход электронного ключа программного блока, – сигнал, поступающий из девятого выхода на управляющий вход третьего электронного ключа программного блока.
Связь между вторым входом второго элемента И и первым входом первого элемента И, в каждом логическом канале, позволяет увеличить, до одного такта, время распространения переноса от первого канала до последнего. Синхронный триггер позволяет записывать и передавать на второй вход второго элемента И первого логического канала информацию на любом такте по сигналу на входе синхронизации.
Устройство состоит из изображенных на фиг.1 входного блока 1, одна группа входов которого подключена к дискретным датчикам и источникам двоичного кода /на схеме не показаны/ X1…XR, а вторая группа входов соединена с адресными шинами C12…Cj, связанными с коммутационно-вычислительным блоком 2, подключенным к блоку оперативной памяти 3, выходному блоку 4, блоку программ 5 и блоку синхронизации 6, выход которого соединен с многоканальным операционным блоком 7, содержащим первый и второй дешифраторы 8 и 9, последний связан с первым входом первого элемента И 10, подключенным вторым входом к выходу третьего элемента ИЛИ 11, соединенного своим входом с первым входом второго элемента И 12, подключенного вторым входом через второй элемент ИЛИ 13 к третьему элементу И 14, а выходом к первому элементу ИЛИ 15, выход которого связан с соответствующими входами всех логических каналов из “n”, пятый элемент ИЛИ 107, управляемый элемент 16, управляемую ячейку памяти 17, шестой элемент И 18, седьмой элемент И 19, четвертый элемент И 20, пятый элемент И 21, четвертый элемент ИЛИ 22, восьмой и девятый элементы И 72 и 73, шестой элемент ИЛИ 74, седьмой элемент ИЛИ 75, элементы НЕ 76 и первый элемент НЕ 112, электронный выключатель 77, синхронный триггер 113 и изображенных на фиг.10 общих шин 80, логического элемента /дешифратора/ 81, два выхода которого связаны с первым электронным ключом 82 и вторым электронным ключом 83, а два других выхода логического элемента 81 соединены с соответствующими входами блока оперативной памяти и выходного блока, блока условных переходов 86.
В блоке 7 выходы дешифраторов 8 и 9 обозначены е1…e7, D1…D3, Два выхода элемента 81, связанных с входами ключей 82 и 83, обозначены через e1 и e2 соответственно, а два других выхода элемента 81, связанных с блоками 3 и 4, обозначены соответственно через е3 и e4. Значения сигналов е1…е4 на выходе элемента 81 аналогичны значениям сигналов e1…e4 на выходах дешифратора 8 в блоке 7 соответственно. Одновременно активизируется только один сигнал.
Электронный выключатель 77 в блоке 7, ключи 82 и 83, элемент 81 и общие шины 80 введены для организации обмена информацией по общим шинам 80, между блоками 1, 3, 4 и блоком 7 в обе стороны. При активизации сигнала е1 соответственно на выходах элемента 81 и дешифратора 8 блока 7 ключ 82 пропускает значение кода Q1…Qn с выходов входного блока 1 на входы логических каналов в блоке 7 по общим шинам 80. При этом выходы /сигналы/ e2…e4 не активизированы, выключатель 77 в блоке 7 и ключ 83 закрыты и на их выходах присутствует высокий импеданс сопротивления. В случае активизации сигнала /выходов/ e2 ключ 83 пропускает код Р1…Pn с выходов блока 3 на входы логических каналов в блоке 7 по общим шинам 80. При этом ключ 82 и выключатель 77 в блоке 7 закрыты и на их выходах имеется высокий импеданс сопротивления. При активизации е3 либо e4 активизируется выход элемента ИЛИ 75 и выключатель 77 в блоке 7 пропускает значение кода В1…Вn с выходов логических каналов на ряды ячеек памяти соответственно в блок 3 либо в блок 4, а на выходах ключей 82 и 83 присутствует высокий импеданс сопротивления. – командные сигналы /шины/ на выходах блока 5, управляющие блоками 2, 7, 86, 97. – адресные команды /шины/, определяющие адреса источников и приемников информации в блоках 1, 3, 4, идут с выходов блока 5.
Xk+1…ХR – входные дискретные сигналы от датчиков /кнопки, путевые выключатели и т.д./. В1…Вn – выходы логических каналов.
Х1…Xn,…, Xm…Xk – многоразрядные двоичные коды /сигналы/, например, с аналого-цифровых преобразователей, где левые разряды являются младшими. Т1…Tn+1 – информационные данные на общих шинах 80.
Входы блоков, каналов и элементов указаны входящими стрелками.
На фиг.2 изображена структура логических каналов, входящих в многоканальный операционный блок 7. Каждый из “n” логических каналов состоит из четвертого элемента И 23, связанного выходом с первым входом элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 24, выход которого соединен с первым входом первого элемента ИЛИ 25, первого элемента И 26, соединенного первым входом с вторым входом второго элемента И 27, своим выходом элемент 25 соединен с входом третьего элемента И 28, выход которого связан с счетным входом первого счетного триггера 29, выход которого связан со счетным входом второго счетного триггера 30, к выходу последнего подключен первый вход второго элемента ИЛИ 31, второй вход этого элемента связан с выходом элемента И 26, модуля сдвига разрядов двоичного кода MCР2 для первого канала, модуля сдвига разрядов МСР3 для последнего канала и модулей сдвига разрядов МСР1 для остальных каналов, модуля реализуемой функции МРФ для вычисления различных логических функций поразрядно от двух или трех кодов, поочередно подаваемых на входы логических каналов.
Пример входного блока 1 представлен на фиг.3 и содержит ряд электронных ключей 32, на входы которых поступают разряды двоичных кодов Х1…Xn,…, Хm…Хk и которые поочередно, по соответствующему сигналу первого дешифратора 33, пропускают определенный двоичный код на выходы Q1…Qn в зависимости от значений адресных команд элементы И 34, на первые входы которых поступают биты информационных сигналов Хk+1…ХR, вторые входы элементов И 34 подключены к выходам второго дешифратора 35 и в зависимости от значений адресных команд при помощи активизации определенного выхода дешифратора 35, соответствующий бит информации появляется на выходе элемента ИЛИ 36.
Пример коммутационно-вычислительного блока 2 представлен на фиг.4, он состоит из дешифратора 37, подключенного входами к блоку программ 5, первыми двумя выходами дешифратор 37 соединен с входами первого и второго элементов И 38 и И 39, а вторыми двумя выходами подключен к входам элемента 2-2-2-2И-4ИЛИ 40, выход которого соединен с входом элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 41, выход последнего связан с входом третьего элемента И 42, подключенного выходом к управляющему входу ячейки памяти /триггера/ 43, информационный вход которой соединен с выходом элемента ИЛИ 44, первый вход этого элемента связан с выходом четвертого элемента И 45, а второй вход подключен к выходу пятого элемента И 46, первый вход которого соединен с выходом элемента НЕ 47, элемента И-НЕ 106 шестого элемента И 108 своими связями.
Пример блока оперативной памяти 3 представлен на фиг.5 и он содержит ряды ячеек памяти 48, в один из этих рядов ячеек памяти записываются значения двоичного кода Т1…Tn, поступающие с выходов модулей МРФ, через выключатель 77 блока 7 по импульсу d2 и команде e3, поступающих на входы первого элемента И 70, из блоков 6 и 7 и выхода элемента 81, формируя импульс разрешения записи в ряды ячеек памяти 48. Считывание двоичного кода с выходов одного из рядов ячеек памяти 48 осуществляется электронными ключами 50 по команде с выхода дешифратора 49, в зависимости от значений адресов ряд однобитовых ячеек памяти 51, куда записываются результаты промежуточных вычислений булевых функций в блоке 2, по команде из блока 2 и по адресу, определяемому выходом второго дешифратора 52 в соответствии с адресными командами считывание из ячеек памяти 51 происходит, через элементы И 53 и элемент ИЛИ 54, по адресу, определяемому выходом второго дешифратора 52. Запись и считывание происходит на разных тактах.
Пример структуры выходного блока 4 представлен на фиг.6, он состоит из рядов ячеек памяти 55, куда записываются значения двоичных кодов с выходов модулей МРФ логических каналов, через выключатель 77 блока 7, по команде с выхода элемента И 71, на вход которого поступают сигналы d2 и е4 из блока 6 и элемента 81, и по адресам, определяемым выходами дешифратора 56, значения на выходах рядов ячеек памяти 55 могут поступать на входы цифроаналоговых преобразователей и далее в виде аналоговых сигналов, например, на входы электроисполнительных механизмов, из ряда ячеек памяти 57, в которые записываются результаты вычислений булевых функций в виде бит информации из блока 2 по команде F2, также из блока 2 и по адресу, определяемому сигналом с выхода дешифратора 58 блока 4, в зависимости от значений
Пример схемы программного блока 5 представлен на фиг.7, он содержит счетчик импульсов 59, содержащий второй ключ 111, элементы И 109 и ИЛИ 110, электронный ключ 85, управляющий и информационные входы которого связаны с выходом блока условных переходов 86 и адресными шинами а выходы соединены с установочными входами счетных триггеров 84, реализующих счет импульсов, счетный вход первого триггера 84 связан с определенным выходам блока синхронизации 6, а выходы счетных триггеров являются выходами счетчика импульсов 59 и подключены к входам постоянного запоминающего устройства ПЗУ 60, часть выходов которого адресными шинами С12…Сj связаны с входами третьего электронного ключа 61, с выходов которого сигналы с адресных шин поступают во все блоки, кроме блоков 2 и 7, а командные /управляющие/ шины поступают с оставшейся части выходов ПЗУ 60 на соответствующие входы блоков 2, 7 и 86. Установочные входы триггеров 84 обозначены через R и S входы. Управляющий вход ключа 61 связан с выходом блока 86.
Функциональная взаимосвязь между входами и выходами электронного ключа 85 представлена ниже, с использованием переменных и d2:
где и S12…Sj – выходы электронного ключа 85, d2 – сигнал с выхода элемента 64 блока синхронизации 6.
– значения кодов на шинах 90 блока 86;
– значение выхода модуля управления 96 блока 86;
является инверсией С. Счетчик импульсов 59 представлен в виде примера на схеме фиг.11.
Пример блока синхронизации 6 представлен на фиг.8, он содержит первый счетный триггер 62, подключенный прямым выходом к элементу И 63, а инверсным выходом к первым входам элементов И 64 и И 65, второй вход последнего подключен к выходу элемента И 66, входы которого связаны с прямым выходом второго счетного триггера 67 и с выходом инвертора 68, вход последнего вместе с входом триггера 62 подключены к генератору прямоугольных импульсов 69. Работа блока 6 поясняется диаграммами на фиг.9.
Блок условных переходов 86 представлен на фиг.13 и состоит из счетчика импульсов 87, имеющего установочные входы, связанные с первыми шинами 30, третьего электронного ключа 89, соединенного входами с выходами счетчика импульсов, а выходами с первыми шинами 90, первого и второго рядов ячеек памяти 91 и 92, подключенных входами к первым шинам, а выходами к входам соответственно первого и второго рядов электронных ключей 93 и 94, выходы последних соединены с первыми шинами 90 модуля управления 96, входами соединенного с двумя командными шинами С7 и С8, с одной командной шиной и с выходами и Z соответственно блоков 2 и 5, выходы модуля 96 связаны соответственно с входами управления счетчика импульсов 87, двух рядов ячеек памяти 91, 92 и трех электронных ключей 89, 93 и 94, а также с управляющими входами электронных ключей 85 и 61 в программном блоке 5 и со счетным входом счетчика импульсов 87.
В блоке 7 нижний выход дешифратора 9 есть инверсия выхода D2.
Оговоримся, что все триггеры и ячейки памяти срабатывают по заднему фронту импульсов, поступающих на их управляющие или счетные входы, и перед началом работы устройства сброшены в “0”.
Принцип работы блока 2 известен, он состоит в реализации булевых функций И, ИЛИ, НЕ при С3=0 и функции ИСКЛЮЧАЮЩЕЕ ИЛИ при С3=1, последовательно по тактам, а также в управлении соответствующими процессами в блоках 3 и 4. Под активизацией выхода или сигнала подразумевается появление логической “1”.
В приведенных, без участия в работе блока 86, примерах работы устройства предполагается, что электронный ключ 61 открыт при постоянном значении сигнала У9=0, поступающего с выхода модуля 96.
Структура модуля управления 96 представляет собой автомат без памяти и его аналитическая интерпретация в виде булевых функций, связывающих его входы d2, a2, a3, и Z с его выходами , дана ниже:
a1‘ – входной сигнал, поступающий, с первой введенной в блок 5 командной шины на вход модуля 96.
a1 – входной сигнал, поступающий по второй, введенной в блок 5, шине a1 на вход управления дешифратором 9 блока 7.
a2, a3 – входные сигналы, поступающие по командным шинам С7, С8 процессе работы модуля 96 в режиме записи информации в счетчик импульсов 87 или в ячейки памяти 91, 92.
d2 – сигнал, поступающий с выхода элемента И 64 блока синхронизации 6 на вход элемента И 109 счетчика 59 программного блока 5 и вместе с сигналами и определяет состояние электронного ключа 85 счетчика 59.
– входной сигнал, поступающий по управляющей шине блока 5 и определяющий одно из условий записи /прибавления/ “1” в счетчик 87.
– входной сигнал, поступающий с выхода триггера 43 блока 2.
Z – входной сигнал, идущий с выхода элемента 63 блока 6.
– выходные сигналы, поступающие на входы управления записью соответственно в счетчик 87 и в ячейки памяти 91, 92.
– выходные сигналы, поступающие на входы включения электронных ключей 89, 93, 94 в режиме считывания информации с выходов счетчика 87 и ячеек памяти 91, 92.
– выходной сигнал, поступающий на счетный вход счетчика 87.
– выходной сигнал, поступающий на вход включения электронного выключателя 85, информационные входы которого связаны с шинами 90, а выходы – с установочными входами счетных триггеров 84.
– выходной сигнал, поступающий с выхода модуля управления 96 на управляющий вход третьего электронного ключа 61 блока 5, при ключ 61 закрыт.
При единичном значении сигнала a1 на второй командной шине a1, на выходах D1, D2, D3 дешифратора 9 многоканального операционного блока 7 имеются логические нули.
Сигнал поступает по соответствующей управляющей шине из программного блока 5 на определенный вход элемента 16 блока 7 и при элемент 16 реализует функцию ИЛИ, а при элемент 16 реализует функцию ИСКЛЮЧАЮЩЕЕ ИЛИ.
Работа устройства состоит в вычислении булевых функций по битам в блоке 2 с одновременной реализацией операций с многоразрядными двоичными кодами в блоке 7, и при необходимости устройство обеспечивает совместную работу блоков 2 и 7, например в случае сравнения двух двоичных кодов. Устройство работает по тактам, сформированным в блоке 5.
Работу устройства поясним на нескольких примерах. Примем, что .
Сравним два двоичных числа А1 и А2 при А1=А2 и для примера число А1 равно числу А2 и оба выражены двоичным кодом 11001011. Допустим число А1 находится в блоке 1 в виде Х1…Xn, где n=8, а число А2 хранится в блоке оперативной памяти 3 в значениях Р1…Pn, где n=8, и блок 7 имеет восемь логических каналов. Равенство чисел определим методом алгебраического сложения числа A1 и отрицательного числа A2, представленного в дополнительном коде, т.е. инвертировав его и прибавив “1” к младшему разряду. Примем, что является инверсией А2, а С’=1 и С”=1.
На первом такте значения Х1…Х8, при соответствующих значениях C4…Ce и e1=1, поступят в виде Q1…Q8 на входы T1…Tn элементов 23 всех каналов из блока 1 в блок 7, где под действием команд С9…С11 дешифратор 8 блока 7 активизирует выход e1 и число А1 через элементы 23 всех каналов при активизации выхода элемента И 73 поступит на входы элементов 24 и при D1=0, е2=0, d1=1 значение числа А1 запишется в счетные триггеры 29, т.к. К1=0 и K2=0,
На втором такте при соответствующих сигналах С4…Ce и e2=1 в блоке 3 активизируется верхний выход дешифратора 49 и число А2 в виде значений Р1…Pn с выхода электронного ключа 50 поступает на входы элемента 23 всех каналов блока 7 и при e2=1, D1=1, e1=0, К1=0 и К2=0 значение инверсии числа А2 поступает на счетные входы счетных триггеров 29 всех каналов в третьей четверти такта при d1=1 и реализуется поразрядно функция ИСКЛЮЧАЮЩЕЕ ИЛИ для чисел А1 и , при этом на выходах триггеров 29 всех каналов устанавливаются единичные значения.
На третьем такте, для окончания перевода числа А2 в дополнительный код, под действием команд С7…С11 активизируется выход D1 и выход e5 дешифраторов 9 и 8 блока 7 и логическая “1” с выхода элемента 14 через элементы ИЛИ 13, синхронный триггер 113 и И 27 первого канала поступит на второй и первый входы элементов ИЛИ 25 и элемент И 26, на второй вход последнего поступает “1” с выхода триггера 29, при этом логическая “1” с выхода элемента И 26 через элемент ИЛИ 31 первого канала появится на входе элемента И 27 второго канала и далее, через элементы И 27, И 26 и ИЛИ 31 последующих каналов, указанная логическая “1” появится на выходах элементов ИЛИ 31 всех каналов блока 7, и в третьей четверти такта при импульсе d1 все счетные триггеры 29 всех каналов переключатся в состояние логического “0” на выходе, т.е. мы получили результат разности двух равных чисел, при этом триггеры 30 всех каналов переключились в состояние “1” и произошла запись информации с выхода триггера 30 последнего канала в ячейку памяти 17 по сигналу с выхода элемента И 20 блока 7.
На четвертом такте при С’=1 логический “0” с выхода элемента ИЛИ 16 при соответствующих сигналах С9…С11 по команде e6 с выхода дешифратора 8 блока 7 поступает через элемент 40 на вход элемента 41 блока 2, где инвертируется при С1=1, и затем в третьей четверти такта, когда d1=1 и C2=1, а C3=0, единичное значение сигнала с выхода элемента ИЛИ 44 запишется в ячейку памяти 43 по команде с выхода элемента И 42.
На пятом такте логическая “1” с выхода ячейки 43 при определенных командах С4…С6 активизации нижнего выхода дешифратора 37 блока 2 и выхода элемента И 39, в момент d2=1, запишется в определенную значениями Ce+1…Cj ячейку памяти 57 выходного блока 4 как информация о том, что А1=А2.
Рассмотрим второй пример, когда А1<А2 и А1=11001011, а А2 равно 10011011. Учтем, что выход дешифратора 9 связан с входом элемента И 20 блока 7.
На первом такте по аналогии с первым примером число А1 записывается в счетные триггеры 29 по разрядам в каждый канал блока 7.
На втором такте при e1=1, D1=1 инверсия числа А2, т.е. 01100100, поступает на входы элементов И 28 и по импульсу d1=1, в третьей четверти такта, единичные значения разрядов числа меняют состояние счетных триггеров 29 на противоположное и на выходе триггеров 29 появляется результат, равный т.е. 10101111, при этом во втором канале счетный триггер 29 за два такта дважды поменял свое состояние с “0” в “1” и снова в “0”, что привело к изменению состояния второго счетного триггера 30 с нулевого в единичное, и фактически произошла фиксация факта образования переноса из второго разряда в третий разряд или из второго канала в третий, с этой целью и были введены счетные триггеры 30 во все каналы блока 7.
На третьем такте по сигналам D1 и e5 логическая “1” через элементы И 14, ИЛИ 13, синхронный триггер 113 и элемент И 27 первого канала поступает на второй и первый входы элементов ИЛИ 25 и И 26 первого канала и с выхода последнего элемента И 26 через элемент ИЛИ 31 логическая “1” поступает на вход элемента 27 второго канала и далее на входы элементов ИЛИ 25 и И 26, с выхода элемента ИЛИ 31 логическая “1”, как результат переноса, о котором говорилось выше /на втором такте/, поступила на вход элемента И 27 третьего канала и далее на входы элементов И 28 и И 26, с выхода последнего элемента логическая “1” через элемент ИЛИ 31 поступает на вход элемента И 27 четвертого канала и затем на входы И 26 и И 28, далее перенос не проходит, т.к. на выходах триггеров 29 и 30 логические нули. Таким образом элементы И 26 к ИЛИ 31 обеспечивают сквозной перенос из канала /разряда/ в канал /разряд/, когда перенос имеется, затем в третьей четверти такта при d1=1 происходит изменение состояний триггеров 29 в первых четырех каналах и на выходах всех триггеров 29 всех каналов устанавливается результат алгебраической суммы А1+/-А2/ в дополнительном коде 01011111, одновременно по сигналу с выхода элемента 20 произойдет запись информации /0/ с выхода триггера 30 последнего канала через элемент ИЛИ 31 в ячейку памяти 17 блока 7, при этом нулевое значение выхода триггера 30 показывает, что А1<А2 и получен результат алгебраической суммы А1+/-А2/ в дополнительном коде. На этом же такте в блоке 2, при С1=1, С2=1, С3…С6, равными “0”, через элементы И 46 и ИЛИ 44 на информационный вход ячейки 43 поступает логическая “1”, которая при нулевых выходах дешифратора 37 записывается в ячейку 43 по сигналу, поступающему с выхода элемента 41, через элемент И 42 на управляющий вход ячейки 43 при d1=1.
На четвертом такте по сигналу с выхода дешифратора 8 блока 7, e7=1, значение L2=1 с инверсного выхода триггера 30 последнего канала поступает на выход элемента 40 блока 2 и затем при С1=1 на выходе элемента 41 находится “0” и значение ячейки памяти 43 не меняется, оставаясь “1”.
На пятом такте при С’=1, значение L1=1 с выхода элемента ИЛИ 16 при e6=1 поступит, через элемент 40, на вход элемента 41 и при C1=1 на выходе последнего будет “0” в единичное значение ячейки 43 не изменится, мы получили результат вычисления функции L2·L1, подтверждающий, что А1<А2.
На шестом такте результат вычисления функции L2·L1 с выхода ячейки 43 блока 2 при соответствующей команде с выхода дешифратора 37 и при d2=1, т.е. во второй четверти такта, по команде с выхода элемента И 39 запишется в выходной блок 4, в одну из ячеек памяти по адресу Ce+1…Сj.
Дальше следовало бы, описанным выше образом, в блоке 2 вычислить функцию , и если бы А1>А2, то функция равнялась “1”.
Вернемся к третьему такту, когда мы получили результат алгебраической суммы чисел А1 и -А2, в дополнительном коде и продолжим для нового примера выполнения операций по решению задачи определения окончательного результата вычисления суммы А1+/-А2/.
Для этого на четвертом такте в блоке 7 полученный результат с выходов триггеров 29 всех каналов при С’=1 записывается в блок оперативной памяти 3 по сигналу с выхода элемента И 70 при e3=1 и d2=1, в ряд ячеек памяти, определенным значениями С12…Ce и выходом дешифратора 49. Одновременно под действием сигнала q1=1 с выхода элемента И 21 все счетные триггеры всех каналов сбрасываются в “0”, при этом на выходе элемента ИЛИ 22 имеется логическая “1” в виде импульса, т.к. C”’=1.
На пятом такте записанная на предыдущем такте информация из блока 7 в блок 3 в соответствии с адресом С12…Ce считывается из ряда электронных ключей 50 по сигналу с выхода дешифратора 49 и при активизации выхода e2 элемента 81 и дешифратора 8 блока 7 указанная информация через элементы 23 всех каналов поступает на входы элементов 24, где все разряды инвертируются под действием сигнала с выхода элемента ИЛИ 15 при D2=1 и поступают, через элементы ИЛИ 25 при К1=1, на счетные входы триггеров 29, при этом единичные разряды меняют состояния триггеров 29, на выходах которых устанавливается инверсное значение указанной информации, т.е. 10100000.
На шестом такте к полученному результату в виде кода 10100000 прибавляется логическая “1” путем поступления с выхода элемента 19, D2=1 блока 7 единичного значения К1, которое с выхода элемента ИЛИ 13 приходит, через элемент И 27, при e5=1 на вход элемента И 28 и на вход элемента И 26, учитывая, что на втором входе элемента И 26 присутствует “1”, с его выхода единичный сигнал через элементы ИЛИ 31 и И 27 второго канала поступят на вход элемента И 28 второго канала и в третьей четверти такта при d1=1 на выходах триггеров 29 появится результат вычисления А1+/-А2/ в прямом коде 01100000, при этом состояние ячейки памяти 17 блока 7 не изменится и на инверсном выходе ячейки 17 сохранится единичное значение, означающее, что результат вычисления является отрицательным числом /знаковый разряд/.
На седьмом такте полученный на предыдущем такте результат и знаковый разряд с выходов триггеров 29 через модуль МРФ и с инверсного выхода ячейки 17 запишутся под действием сигналов С’=1, e4=1 и d2=1 и соответственно единичном выходе элемента И 71 в группу ячеек памяти 55 выходного блока 4.
Модуль сдвига разрядов МСР1 для каждого логического канала из “n” логических каналов, кроме первого и последнего в многоканальном операционном блоке 7, имеет два выхода y1 и y2 и шесть входов, обозначенных через t1, c’, c”, b’, b”, e6, работа определяется следующими булевыми функциями:
где первый выход y1 соединен с третьим входом первого элемента ИЛИ 25 данного логического канала, второй выход связан с четвертым входом элемента ИЛИ 25 последующего канала, вход b’ подключен к выходу счетного триггера 29 данного логического канала, вход b” соединен с выходом первого счетного триггера 29 последующего логического канала, входы С’ и С” связаны с соответствующими выходами программного блока 5, t1 соединен с выходом элемента НЕ 76, связан с выходом первого дешифратора 8 блока 7.
Модуль сдвига разрядов МСР2 первого логического канала блока 7 имеет три выхода y1, y2, y3 и шесть входов, обозначенных через b1, b2, t1, c’, c”, и e6, и его работа определяется булевыми функциями:
где первый выход y1 соединен с четвертым входом элемента ИЛИ 25 первого логического канала, второй выход y2 связан с третьим входом элемента ИЛИ 25 того же канала, третий выход y3 подключен к четвертому входу элемента ИЛИ 25 второго логического канала, вход b1 связан с выходом первого счетного триггера 29 первого логического канала, вход b2 подключен к выходу счетного триггера 29 второго логического канала блока 7, входы С’ и С” соединены с соответствующими выходами программного блока 5, вход t1 связан с выходом элемента НЕ 76 и вход подключен к соответствующему выходу дешифратора 8 блока 7.
Модуль сдвига разрядов МСР3 последнего логического канала имеет один выход и четыре входа, обозначенные через bn, С”, t1 и и функционирует в соответствии с булевой функцией:
где выход соединен с третьим входом элемента ИЛИ 25 последнего логического канала, вход bn связан с выходом триггера 29 последнего канала, вход С” подключен к соответствующему выходу блока 5, вход t1 соединен с выходом элемента НЕ 76 блока 7, вход e6 соединен с соответствующим выходом дешифратора блока 7.
Напомним, что все триггеры срабатывают по заднему фронту импульса, а, например, сигнал означает инверсию сигнала e6.
Сдвиг разрядов кода вниз от первого к “n” каналу осуществляется по команде C’=1 при С”=0, t1=1 и e6=0. В этом случае при условии, что все счетные триггеры 29 содержат определенный код, для модуля МСР2 в соответствии с функциями (3) и (5) на выходе y1 установится логическая “1”, если b1=1, и, проходя через элемент ИЛИ 25, логическая “1” окажется на входе элемента И 28 и в момент окончания импульса d1 на выходе триггера 29 первого канала установится “0”. Одновременно при неравенстве сигналов на входах b1 и b2 выход y3 активизируется и логическая “1” поступает на вход элемента И 28 и по окончании импульса d1 выход триггера 29 второго канала примет противоположное значение, т.е. значение, которое было на выходе триггера 29 первого логического канала. Одновременно в модулях МСР1 в соответствии с функцией (2) при неравенстве значений сигналов на выходах триггеров 29 данного и последующего логических каналов блока 7 активизируется выход во всех модулях МСР1 и логические “1” через соответствующие элементы ИЛИ 25 поступят на входы элементов И 28 соответствующих логических каналов и при окончании импульса d1 на выходе триггера 29 каждого последующего канала появится значение выхода триггера 29 данного логического канала, т.е. произойдет сдвиг вниз разрядов кода, записанного ранее в триггеры 29, начиная с третьего логического канала.
Сдвиг разрядов кода, записанного в триггеры 29 вверх, имеет место при наличии команды C”=1, когда C’=0, e6=0, t1=1. Тогда в соответствии с функциями (1)…(6) могут активизироваться выходы y2 в модуле МСР2, в модуле МСР1 и выход в модуле МСР3, при этом выход y2 активизируется, если входные сигналы b1 и b2 на соответствующих входах модуля МСР2 не равны, и в этом случае через элемент ИЛИ 25 на вход элемента И 28 первого логического канала поступит логическая “1” и по заднему фронту импульса d1 триггер 29 первого канала примет значение триггера 29 второго логического канала. Одновременно, т.е. на этом же такте, для любого модуля МСР1 при неравенстве сигналов на его входах b’ и b” активизируется выход и логическая “1” через элемент ИЛИ 25 поступает на вход элемента 28 данного канала, где находится соответствующий модуль МСР1, и в момент окончания импульса d1 на выходе триггера 29 данного канала устанавливается значение выхода триггера 29 последующего логического канала. Одновременно, если bn=1, активизируется выход модуля МСР3 и на входе элемента И 28 появится логическая “1” и по окончании импульса d1 триггер 29 последнего логического канала перейдет в состояние “0”. Таким образом произойдет сдвиг разрядов кода, записанного в триггеры 29 снизу-вверх.
Каждый модуль МРФ поразрядной реализации булевых функций от двоичных кодов имеет четыре входа и один выход. Входы модуля МРФ связаны с выходами соответственно триггеров 29 и 30 в каждом логическом канале, а входы С’ и С” соединены с соответствующими командными шинами программного блока 5. Модуль МРФ содержится в каждом логическом канале блока 7. Выход модуля МРФ является выходом соответствующего логического канала, обозначен через Вi и каждый из них подключен к определенному входу электронного выключателя 77 и соответствующему входу элемента 16 блока 7. Работа каждого модуля МРФ определяется булевой функцией:
Допустим требуется определить поразрядное логическое И, поразрядное ИЛИ и поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ от трех двоичных кодов, хранящихся либо во входном блоке, либо в блоке оперативной, и записать результат в выходной блок или в блок оперативной памяти. На первых трех тактах, предварительно сбросив триггеры 29 всех логических каналов в “0”, поочередно записываем /подаем/, описанным выше способом, указанные коды в счетные триггеры 29 логических каналов. Затем в соответствии с функцией (7) при значении команд С’=1 и С”=0 на выходах модулей МРФ будут находиться результаты вычисления функции ИСКЛЮЧАЮЩЕЕ ИЛИ /поразрядно/ от трех двоичных кодов, которые по команде e3=1 можно записать в блок 3. Далее на следующем такте при С’=1 и С”=1 на выходах МРФ имеется результат поразрядного вычисления функции ИЛИ от трех указанных кодов, и его также можно записать в блок 3 на этом же такте при e3=1. Затем на третьем такте при С’=0 и С”=0 на выходах модулей МРФ будет иметь место результат вычисления поразрядного И от тех же трех кодов, и его можно записать в блок 3 при e3=1. Таким образом введенные модули МРФ позволяют поразрядно вычислять указанные логические функции непосредственно от трех кодов, подавая их в логические каналы один раз, что повышает быстродействие устройства при вычислении указанных функций.
Веденный в блок 7 элемент ИЛИ 107, связанный входами с соответствующим выходом программного блока 5 и с одной Т1 из общих шин 80, а выходом с первым входом элемента И 73, второй вход которого соединен с выходом элемента ИЛИ 11, выход элемента И 73 подключен к первым входам всех элементов И 23 всех логических каналов, позволяет при записывать информацию в триггеры 25 только при T1=1.
Единичное значение прямого выхода ячейки памяти 17 в блоке 7 означает наличие переноса, например после арифметического сложения n разрядов двух двоичных чисел, в следующий n+1 разряд указанных чисел, значение переноса активизируется при D3=1 на выходе дешифратора 9 блока 7 и поступает через элемент ИЛИ 13 на вход элемента И 27 первого логического канала блока 7.
Работу блока условных переходов в предлагаемом устройстве поясним на примерах.
Допустим, что в одном из фрагментов программы необходимо из множества чисел, представленных в двоичном коде и хранящихся во входном блоке 1, отобрать нечетные числа и поместить их в ячейки памяти блока 3 по адресам, начиная с кода А и далее по порядку с разницей в единицу.
Определять нечетные числа будем по значению младшего разряда Т1, поступающего на информационный вход элемента 107 блока 7.
На первом такте реализации указанного фрагмента программы при произойдет запись кода А в счетчик 87 из блока 5 по шинам
На следующем такте, по вышеописанному способу, из входного блока 1 считывается первое число, допустим оно нечетно, и тогда при и значении Т1=1 указанное нечетное число на этом же такте, при определенных командах С9…С11, запишется в триггеры 29 логических каналов блока 7 и на другом такте под действием команд С1…С6 логическая “1” запомнится в триггере 43 блока 2. На следующем такте при соответствующих сигналах С9…С11, С’, С” и =1, значение первого числа с выходов модуля МРФ логических каналов блока 7 запишется в блок 3, в ячейку памяти с адресом А, который будет считан из счетчика 87 при помощи ключа 89, а в конце этого такта по окончании импульса Z с учетом произойдет увеличение кода А на единицу, что является кодом следующего адреса для записи следующего нечетного числа из указанного множества. Далее, на следующем такте произойдет считывание второго числа из блока 1, и если оно нечетно, то процесс повторится, а если оно четно и Т1=0, значения сигналов и Т1=0 обеспечат логический нуль на выходах элементов ИЛИ 107 и И 73 блока 7, по этой причине на данном такте второе число не будет записано в триггеры 29 логических каналов, которые переведены в нулевое состояние на предыдущем такте, вместе с состоянием триггера 43 блока 2 при соответствующих сигналах С”’, С1…С6. При этом на выходе элемента 16 блока 7 имеется “0” и поэтому состояние триггера 43 не меняется и =0, поэтому считывание кода А+1 с выходов счетчика 87 не произойдет и указанный код не увеличится на “1”. Подобный процесс будет повторятся до тех пор, пока из входного блока 1 не будет считано нечетное число, которое запишется в блок 3 в ячейку памяти по адресному коду А+1 в соответствии с процессом, описанным в начале данного примера.
С введением блока 86 появилась возможность отбора и фиксации информации с определенными признаками среди множества различной информации, что расширяет функциональные возможности предлагаемого устройства по сравнению с прототипом.
Другой пример. Допустим нам следует при определенном значении /смысле/ кодового слова из “М” имеющихся кодовых слов в блоке 1 перейти к программному коду А1′, обеспечивающему включение сигнального устройства, подключенного к выходу соответствующей ячейки памяти выходного блока 4, и затем перейти к программному коду А2.
На соответствующем такте в ячейку памяти 91 блока 86 при записывается программный код А1, поступающий по шинам из программного блока 5. На следующем такте программный код А2 при записывается в ячейку памяти 92. Код А1 меньше А1′ на единицу.
Допустим, что определенное значение кодового слова хранится в блоке 3 и на следующем такте при соответствующих сигналах этот код считается с выходов блока 3 и запишется в триггеры 29 логических каналов. На следующем такте один код из “М” кодов под действием командных и адресных сигналов и поступит на входы триггеров 29 логических каналов и сравнится с ранее записанный туда кодом, и если коды совпадают, то на выходе элемента 16 блока 7 появится “0” и на следующем такте при соответствующих сигналах C1…C6 в триггер 43 блока 2 запишется “1”. На следующем такте, под действием сигналов =1, происходит считывание из ячеек памяти 91 программного кода А1 и установка счетных триггеров 84, счетчика 59 блока 5 в состояние А1. На следующем такте реализуется программный код А1 и при соответствующих сигналах и происходит запись “1” в соответствующую ячейку памяти выходного блока 4, куда подключено сигнальное устройство по условиям примера. На следующем такте под действием сигналов =1, и через ключ 94, происходит считывание программного кода А2 из ячеек памяти 92 и его запись, через ключ 85, в триггеры 84 блока 5. Далее реализуется программа в соответствии с программным кодом А2. т.к. сравнивать следующие коды из “М” кодов нет смысла, и таким образом сокращается число тактов при решении задачи, в зависимости от результатов сравнения кодовых слов. При этом повышается быстродействие устройства и появляется возможность решать смысловые задачи, расширяя сферу использования устройства.
Количество счетчиков импульсов, рядов ячеек памяти и соответствующее им число электронных ключей в блоке условных переходов может быть любым, а их связи и принцип работы аналогичны выбранным в предлагаемом устройстве.
Введение в коммутационно-вычислительный блок 2 элемента И-НЕ 106, у которого входы связаны соответственно с пятым выходом дешифратора 37 и с выходом ячейки памяти 43, а выход соединен с определенными входами элементов И 23, И 70 и И 71 в блоках 7, 3 и 41, позволяет подавать или блокировать подачу двоичного кода через элементы И 23 в логические каналы блока 7, а также записывать или не записывать результаты операций над двоичными кодами в блоки 3, 4, в зависимости от выходного сигнала ячейки 43, что расширяет функциональные возможности при обработке кодов этим устройством по сравнению с прототипом, например при выполнении операции арифметического деления или логического выбора между двоичными кодами и т.д.
Введение связи между шинами 80 системы связи, обозначенными через Т1…Tn, и через второй ключ 111 и электронный ключ 85 с установочными входами счетных триггеров программного блока 5 позволяет реализовывать программу работы предлагаемого устройства в зависимости от результатов анализа данных на выходах модулей МРФ всех логических каналов блока 7, проводимого, при определенных значениях команд С4…С6, в блоке 2, т.к. команды на управление работой ключами 111 и 85 поступают с выхода элемента И 108 блока 2, что расширяет функциональные возможности предлагаемого устройства.
В синхронный триггер 113 блока 7 записывается и появляется на его выходе информация, имеющаяся на его информационном входе и поступающая с выхода элемента ИЛИ 13, при определенных значениях сигналов на выходах элементов И 14, 18, 19, элемента первого НЕ 112 и на выходе D1 дешифратора 9, по окончании управляющего импульса, поступающего на вход синхронизации триггера 113, например, с выхода d1 блока синхронизации 6.
Технико-экономический эффект от предлагаемого изобретения состоит в упрощении структурной и архитектурной организации устройства для построения программируемых цифровых микропроцессорных систем при сохранении его функциональных возможностей и в более простом программировании за счет использования всех адресных шин при программировании условных переходов, а также в повышении быстродействия путем увеличения интервала времени при распространении сигнала переноса от младшего разряда к старшему в многоканальном операционном блоке, что позволяет увеличить частоту следования тактов.
Источники информации
1. Патент РФ №2174700. 10.10.2001 г.
2. Патент РФ №2222822. 27.01.2004 г.
Формула изобретения
Устройство для построения программируемых цифровых микропроцессорных систем, содержащее в себе входной блок, принимающий сигналы от датчиков и формирующий определенный код на своем выходе, выходной блок для записи значений кодов, поступающих из всех логических каналов в ячейки памяти и передачи их через цифроаналоговые преобразователи на электроисполнительные механизмы, программный блок, блок оперативной памяти, блок синхронизации и коммутационно-вычислительный блок, состоящий из элемента И-ИЛИ, элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, пяти элементов И, ячейки памяти, элементов ИЛИ и НЕ, первые входы двух И элемента И-ИЛИ соединены соответственно с третьим и четвертым выходами дешифратора, а вторые входы подключены к выходу входного блока, соединенного первой и второй группами входов с группой информационных выходов объекта управления и с группой адресных выходов программного блока, а также к выходу блока оперативной памяти, выход элемента И-ИЛИ подключен к первому входу элемента ИСКЛЮЧАЮЩЕЕ ИЛИ, второй вход которого соединен с определенным выходом программного блока, выход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ связан с первым входом третьего элемента И, соединенного вторым входом с соответствующим выходом блока синхронизации, выходом с управляющим входом ячейки памяти, а ее информационный вход связан с выходом элемента ИЛИ, второй вход которого подключен к выходу пятого элемента И, второй вход последнего соединен с определенной шиной программного блока, первый вход пятого элемента И подключен к выходу элемента НЕ, а вход последнего связан с вторым входом четвертого элемента И и с соответствующей шиной программного блока, первый вход четвертого элемента И подключен к инверсному выходу ячейки памяти, а его выход соединен с первым входом элемента ИЛИ, прямой выход ячейки памяти связан с информационными входами выходного блока и блока оперативной памяти, первые входы первого и второго элементов И подключены к первому и второму выходам дешифратора, их вторые входы объединены и связаны с соответствующим выходом блока синхронизации, а выходы соединены с соответствующими входами выходного блока и блока оперативной памяти для управления записью информации, многоканальный операционный блок, содержащий управляемый элемент, девять элементов И, семь элементов ИЛИ, первый и второй дешифраторы, управляемую ячейку памяти и n параллельно работающих логических каналов, имеющих одинаковую структуру, каждый из которых содержит внутри самого себя элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, первый, второй и третий элементы И, первый и второй элементы ИЛИ, первый и второй счетные триггеры, при этом в каждом логическом канале многоканального операционного блока выход логического элемента ИСКЛЮЧАЮЩЕЕ ИЛИ связан с первым входом первого элемента ИЛИ, второй вход которого соединен с выходом второго элемента И, связанного вторым входом с первым входом первого элемента И, а выход соединен с первым входом третьего элемента И, выход последнего связан со счетным входом первого счетного триггера, выход которого подключен к второму входу первого элемента И и к счетному входу второго счетного триггера, выход последнего соединен с первым входом второго элемента ИЛИ, второй вход которого подключен к выходу первого элемента И, при этом внутри многоканального операционного блока выход первого элемента ИЛИ связан с вторыми входами элементов ИСКЛЮЧАЮЩЕЕ ИЛИ логических каналов, первый и второй входы первого элемента ИЛИ связаны соответственно с выходами первого и второго элементов И, причем два входа первого элемента И подключены к одному из выходов второго дешифратора и выходу третьего элемента ИЛИ, входы которого соединены с двумя соответствующими выходами первого дешифратора, первый вход второго элемента И связан с одним из входов третьего элемента ИЛИ и с определенным выходом первого дешифратора, второй вход второго элемента И подключен к входу седьмого элемента И, первый и второй входы второго элемента ИЛИ подключены к выходам шестого и седьмого элементов И, а третий вход – к выходу третьего элемента И, входы которого соединены с соответствующим выходом второго дешифратора и с выходом первого элемента НЕ, вход которого связан с выходом третьего элемента ИЛИ, первые входы шестого и седьмого элементов И подключены к соответствующим выходам второго дешифратора, а вторые входы – соответственно к прямому и инверсному выходам ячейки памяти, информационный вход которой соединен с выходом второго элемента ИЛИ последнего логического канала, а управляющий вход управляемой ячейки памяти связан с выходом четвертого элемента И, первый вход которого подключен вместе с первыми входами вторых элементов И всех логических каналов к соответствующему выходу первого дешифратора, второй вход четвертого элемента И вместе с вторыми входами третьих элементов И всех логических каналов соединены с определенным выходом блока синхронизации, а третий вход четвертого элемента И связан с определенным выходом второго дешифратора, в многоканальном операционном блоке управляющий вход управляемого элемента соединен с определенным выходом программного блока и с первым входом пятого элемента ИЛИ, выход последнего подключен к первому входу девятого элемента И, в коммутационно-вычислительном блоке первые входы третьего и четвертого элементов И элемента И-ИЛИ соответствующим образом подключены к определенным выходам первого дешифратора, а вторые входы связаны соответственно с выходом управляемого элемента и с инверсным выходом второго счетного триггера последнего логического канала в многоканальном операционном блоке, входы первого и второго дешифраторов подключены к командным шинам программного блока, выход второго элемента ИЛИ первого логического канала соединен с вторым входом второго элемента И второго логического канала, выход второго элемента ИЛИ второго логического канала связан с вторым входом второго элемента И третьего логического канала и т.д. до последнего логического канала, второй вход второго элемента И первого логического канала подключен к выходу синхронного триггера, вход синхронизации которого связан с определенным выходом блока синхронизации, а информационный вход соединен с выходом второго элемента ИЛИ, многоканального операционного блока, где инверсный выход управляемой ячейки памяти соединен с соответствующим входом выходного блока, второй вход пятого элемента ИЛИ соединен с одной из общих шин системы связи, передающей первый разряд кодового слова, второй вход девятого элемента И связан с выходом третьего элемента ИЛИ, входы восьмого элемента И соединены с выходом шестого элемента ИЛИ и с выходом блока синхронизации, а выход связан с первым входом четвертого элемента ИЛИ, выход последнего соединен с входами сброса в “0” вторых счетных триггеров всех логических каналов, входы пятого элемента И подключены к определенным выходам программного блока и блока синхронизации, а выход соединен с вторым входом четвертого элемента ИЛИ и с входами сброса в “0” первых счетных триггеров всех логических каналов, также систему связи, которая охватывает соответствующие блоки и содержит первый и второй электронные ключи, общие шины, логический элемент, формирующий сигналы на своих выходах аналогично сигналам на первых четырех выходах первого дешифратора многоканального операционного блока, в который введены шестой и седьмой элементы ИЛИ, элемент НЕ и электронный выключатель, а каждый логический канал дополнен четвертым элементом И, модулем сдвига разрядов /МСР/ и модулем реализации логических функций /МРФ/, модуль МСР1 введен во все каналы, кроме первого и последнего, и реализует логические функции и где У’ и У” – сигналы на выходах модуля МСР1, сигналы b’, b”, с’, с”, t1, е6 являются входными для модуля МСР1, при этом b’ и b” поступают соответственно с выходов первых логических, к счетных триггеров данного и последующего каналов, с’ и с” приходят с определенных выходов программного блока, t1, е6 поступают соответственно с выхода элемента НЕ и выхода первого дешифратора многоканального операционного блока, а выходы модуля МСР1 связаны с третьим и четвертым входами первого элемента ИЛИ данного и последующего логических каналов, модуль МСР2 в первом логическом канале реализует булевы функции и где сигналы У1, У2 и У3 с выходов модуля МСР2 поступают соответственно на третий, четвертый входы первого элемента ИЛИ первого логического канала и на четвертый вход первого элемента ИЛИ второго логического канала, сигналы b1, b2, с’, с”, t1, е6 поступают на входы модуля МСР2 соответственно с выходов первых счетных триггеров первого и второго логических каналов, с двух выходов программного блока, с выхода элемента НЕ с выхода первого дешифратора многоканального операционного блока, модуль МСР3 реализует булеву функцию , где сигнал поступает с выхода модуля МСР3 на третий вход первого элемента ИЛИ последнего логического канала, сигналы bn, с”, t1, е6 приходят на входы модуля МСР3 соответственно с выходов первого счетного триггера последнего логического канала, с выхода программного блока, с выхода элемента НЕ и с выхода первого дешифратора многоканального операционного блока, модули МРФ в каждом логическом канале реализуют булеву функцию где сигналы a1, а2, с’, с” поступают на входы модулей МРФ соответственно с выходов первого и второго счетных триггеров данного логического канала и с двух выходов программного блока, а выходные сигналы Вi модулей МРФ поступают в многоканальном операционном блоке на входы управляемого элемента и электронного выключателя, управляющий вход которого объединен с входом элемента НЕ и связан с выходом седьмого элемента ИЛИ, два входа которого и два входа шестого элемента ИЛИ подключены к соответствующим трем выходам первого дешифратора и к командной шине программного блока, выход девятого элемента И соединен с первыми входами четвертых элементов И в каждом логическом канале, вторые входы четвертых элементов И каждого логического канала вместе с информационными выходами электронного выключателя многоканального операционного блока связаны с общими шинами систем связи, а выходы четвертых элементов И в каждом логическом канале соединены с первыми входами элементов ИСКЛЮЧАЮЩЕЕ ИЛИ, общие шины также подключены к выходам первого и второго электронных ключей системы связи и к многоразрядным входам блока оперативной памяти и выходного блока, входы первого и второго электронных ключей связаны с многоразрядными выходами входного блока и блока оперативной памяти, управляющие входы первого и второго электронных ключей, блока оперативной памяти и выходного блока соединены с соответствующими выходами логического элемента, три входа которого объединены с соответствующими тремя входами первого дешифратора многоканального операционного блока и с тремя выходами программного блока, в коммутационно-вычислительном блоке имеются элемент И-НЕ, причем входы элемента И-НЕ соединены с пятым выходом дешифратора и с прямым выходом ячейки памяти, а выход элемента И-НЕ связан с третьими входами четвертых элементов И всех логических каналов многоканального операционного блока, с третьим входом первого элемента И блока оперативной памяти и с третьим входом элемента И выходного блока, шестой элемент И, подключенный входами к шестому выходу дешифратора и прямому выходу ячейки памяти, в счетчик импульсов программного блока введены второй ключ, элементы И и ИЛИ, причем информационные входы второго ключа соединены с общими шинами системы связи, а выходы второго ключа связаны с информационными входами электронного ключа в счетчике импульсов программного блока, управляющий вход второго ключа подключен к выходу шестого элемента И коммутационно-вычислительного блока и к первому входу элемента ИЛИ, второй вход которого соединен с определенным выходом модуля управления блока условных переходов, выход элемента ИЛИ связан с первым входом элемента И, второй вход которого подключен к выходу блока синхронизации, а выход соединен с входом включения электронного ключа счетчика импульсов программного блока, управляемый элемент в многоканальном операционном блоке реализует функцию ИЛИ или ИСКЛЮЧАЩЕЕ ИЛИ в зависимости от значения сигнала на его управляющем входе, введенные первая и вторая командные шины управления, выходящие из программного блока, блок условных переходов, содержащий модуль управления, первые шины, счетчик импульсов, например один, несколько рядов ячеек памяти, например два, соответствующее число электронных ключей, например три, при этом выходы счетчика импульсов соединены с входами третьего ряда электронных ключей, выходы первого ряда ячеек памяти связаны с входами первого ряда электронных ключей, выходы второго ряда ячеек памяти подключены к входам второго ряда электронных ключей, входы счетчика импульсов, первого и второго рядов ячеек памяти связаны с первыми шинами, отличающееся тем, что в программный блок введен третий электронный ключ, связанный входами с соответствующими выходами постоянного запоминающего устройства ПЗУ, а выходами – с первой шиной блока условных переходов и с соответствующими входами блоков входного, выходного и оперативной памяти, а в блоке условных переходов первая шина подключена к выходам трех рядов электронных ключей и модуль управления имеет пять входов и девять выходов и реализует булевы функции
где в модуле управления – входной сигнал, поступающий на первый вход с выхода программного блока, a2, и а3 – входные сигналы, поступающие на второй и третий входы с соответствующих выходов программного блока, а и Z – входные сигналы, поступающие на четвертый и пятый входы с выхода ячейки памяти /триггера/ коммутационно-вычислительного блока и с определенного выхода блока синхронизации, и – сигналы, идущие соответственно из первого, второго и третьего выходов и поступающие на входы включения записью в счетчик импульсов и в первый и второй ряды ячеек памяти , и – сигналы, идущие из четвертого, пятого и шестого выходов на входы включения первого, второго и третьего рядов электронных ключей, – сигналы, поступающие из седьмого и восьмого выходов, соответственно на счетный вход счетчика импульсов и на управляющий вход электронного ключа программного блока, – сигнал, поступающий из девятого выхода на управляющий вход третьего электронного ключа программного блока.
РИСУНКИ
MM4A – Досрочное прекращение действия патента СССР или патента Российской Федерации на изобретение из-за неуплаты в установленный срок пошлины за поддержание патента в силе
Дата прекращения действия патента: 10.03.2007
Извещение опубликовано: 27.06.2008 БИ: 18/2008
|
|