СПОСОБ И УСТРОЙСТВО ВЫЧИТАНИЯ ЕДИНИЦ
METHOD AND APPARATUS FOR SUBTRACTING UNITS

Описание изобретения.
Изобретение относится к области вычислительной техники и может быть использовано в устройствах управления различными технологическими процессами.
Известны способы и устройства счета и вычитания импульсов (см., например, И.Н. Букреев, Б.М. Мансуров и В.И. Горячев. Микроэлектронные средства цифровых устройств. 1973 г. Сов. Радио, стр. 135-160).
Общими признаками известных устройств являются, как правило, кодирование информации в коде 8, 4, 2, 1, для построения одного разряда устройства требуется два RS-триггера, формирование сигнала переноса (СП) ведется последовательно, т.е. упомянутый сигнал проходит через каждый разряд, в основном, последовательно, при этом максимальная временная задержка СП равна Т=n×t (n - число разрядов, t - задержка сигнала на одном логическом элементе И (ИЛИ).
Известны способы снижения этого показателя, но за счет увеличения аппаратурных затрат. Известно также устройство счета и вычитания импульсов, построенное на основе одного RS-триггера, логических элементов И, ИЛИ, НЕ, например счетчики RU 2269199, RU 2308801, RU 2273951, но принцип последовательного формирования распространения СП, в основном, сохраняется.
Наиболее близким, принятым за прототип, является реверсивный счетчик импульсов по патенту RU 2273951. Его каждый разряд построен на основе одного RS-триггера и логических элементов И, ИЛИ, НЕ, выполняет как счет импульсов, так и их вычитание.
К недостаткам прототипа следует отнести последовательное формирование СП. В предложенных способе и устройстве (СУ) этот недостаток устранен за счет исключения из оборудования каждых четырех двоичных разрядов (тетрады) четырех элементов И формирования СП.
Целью изобретения является повышение быстродействия за счет снижения времени формирования СП и сокращения оборудования при построении схемы определения нулевых значений всех триггеров устройства.
Для этого предложен способ кодирования двоично-десятичных чисел в кодах 4, 3, 2, 1, т.е. «вес» единицы каждого разряда тетрады равен цифре, совпадающей с порядковым номером разряда в тетраде, а двоично-десятичная цифра, хранящаяся в тетраде, равна сумме этих единиц. Также способ вычитания единиц предусматривает замену выполнения операции вычитания выполнением операции сдвига младших единиц кода на один двоичный разряд вправо при поступлении в устройство каждого импульса вычитания (ИВ) единиц. В случае вычитания всех единиц из первой тетрады, формируют импульс заема (ИЗ) единицы из второй тетрады, а во второй-четвертый разряды первой тетрады заносят код девяти единиц, т.е. в первую тетраду заносят цифру «9». После вычитания кодов единиц всех тетрад уменьшаемого операцию заканчивают.
Также предложено устройство вычитания единиц уменьшаемого, хранящихся в триггерных тетрадах, содержащее в каждом двоичном разряде три элемента И, один элемент ИЛИ, три элемента НЕ и один RS-триггер, отличающееся тем, что в каждый разряд введен второй элемент ИЛИ, введена схема определения нулевых значений триггеров каждой тетрады и нулевых значений всех тетрад устройства.
Предлагаемое устройство обеспечивает сокращение времени формирования ИВ, ИЗ и затрат оборудования при построении схемы определения нулевых значений триггеров всех тетрад.
Для пояснения работы устройства на фиг. 1 приведена функциональная схема первой тетрады триггеров устройства.
На схеме приняты следующие обозначения: элементы И1-6, 16, 18 элементы ИЛИ7, 8, элементы НЕ11-13, 15, RS-триггер (Тг) 14, первый вход импульсов вычитания единиц 9, выход импульса заема единицы из второй тетрады 10, выходы нулевых значений 1-3 и четвертого разрядов Тг каждой тетрады с входами на И4-6, 19, 20.
Предлагаемое устройство осуществляется следующим образом.
В каждом двоичном разряде устройства выходы И1, 2 через НЕ12, 13 соединены с нулевым и единичным входами Тг14. Выход И1 и единичный выход Тг14 через ИЛИ8 соединены с первым входом ИЗ, второй вход которого подключен к выходу НЕ13. Выход И3 соединен с третьим входом И1 и с входом НЕ11, выход которого подключен к первому входу И2. В каждой тетраде выходы ИЛИ7 соединены со вторыми входами И2. Первые входы ИЛИ7 во втором-четвертом разрядах соединены с выходом И4. Третьи входы ИЛИ7 соединены с информационными входами 17, а вторые входы ИЛИ7 второго и третьего разрядов подключены к выходам элементов И1 третьего и четвертого разрядов. Выход 10 первой тетрады соединен с первыми входами И1, И4 второй тетрады, выход НЕ11 первого разряда соединен со вторым входом И1 второго разряда и с первым входом И6, второй вход И6 соединен с выходом НЕ11 второго разряда, выход И6 подключен к вторым входам И5 и И1 третьего разряда. Выход И5 соединен со вторыми входами И4 и И1 четвертого разряда. Первый вход И4 связан с выходом НЕ11 четвертого разряда, третий вход И4 соединен с выходом И18, и с первыми входами И1 триггеров всех разрядов тетрады. Второй и первый входы И4 соединены с первым и вторым входами И16, аналогичные связи с И16 имеют все тетрады устройства за счет связей 19 и 20. Выход И16 через НЕ15 соединен с вторым входом И18, первый вход которого соединен с первым входом ИВ9.
Рассмотрим работу устройства при выполнении операции вычитания единиц. Операция выполняется путем выполнения элементарных вычислительных операций:
1. Прием уменьшаемого в Тг14. Сигнал приема проходит по цепи элементов ИЛИ17, 7, И2, НЕ13 на единичный вход Тг14.
<mrow><mo>"</mo><mn>0</mn><mo>"</mo><mi>П</mi><mi>Т</mi><mo>=</mo><mover accent="true"><mrow><mi>А</mi><mn>4</mn></mrow><mo stretchy="true">¯</mo></mover><mo>×</mo><mover accent="true"><mrow><mi>А</mi><mn>3</mn></mrow><mo stretchy="true">¯</mo></mover><mo>×</mo><mover accent="true"><mrow><mi>А</mi><mn>2</mn></mrow><mo stretchy="true">¯</mo></mover><mo>×</mo><mover accent="true"><mrow><mi>А</mi><mn>1</mn></mrow><mo stretchy="true">¯</mo></mover><mo>=</mo><mn>1</mn></mrow>
2. До прихода ИВ в каждой тетраде формируют нулевой потенциал триггеров тетрады ("0"ПТ).
. Или "0"ПТ≠1.
3. После прихода первого ИВ при "0"ПТ=1 импульс вычитания единиц по цепи вход 9, И18, поступает на входы И1 всех разрядов и на И4, т.к. тетрада не содержит единичных значений Тг14, то на выходе И4 будет сформирован импульс заема единицы из второй тетрады, т.е. из второй тетрады будет вычтена единица, а в триггеры первой тетрады будет занесен код единиц в третий-четвертый разряды, что соответствует цифре "9" (1110), принятой в первую тетраду. Импульс занесения "9" пройдет по цепи И4, ИЛИ7, единичные входы Тг14 второго-четвертого разрядов.
<mrow><mover accent="true"><mrow><mi>A</mi><mn>1</mn></mrow><mo stretchy="true">¯</mo></mover><mo>=</mo><mn>1</mn></mrow>
4. После окончания первого ИВ и переключения Тг4, 3, 2 будет формироваться новый нулевой потенциал первой тетрады, равный
. Одновременно будет подготовлен к работе И1 по сдвигу А2 вправо на один разряд. Второй ИВ поступит на первые входы И1 А4, A3, А2 и А1, выработает импульс сдвига с выхода И1 А2. установит его в "0" и по цепи элементов ИЛИ7, И2, НЕ13 первого разряда поступит на единичный вход Тг14 и установит его в единицу. При этом сигнал с выхода ИЗ А1 будет задержан во времени на время длительности ИВ. Таким образом, из "9" будет вычтена одна единица, и первая тетрада будет хранить код "8" (1101). Заметим, что триггеры А4 и A3 сохранят свое единичное состояние, т.к. потенциалы с выходов И6, 5 будут равны "0".
5. Третий ИВ поступит на первый вход И1 А1 и установит его в "0". После чего на И6 сформируется ВП, который поступит на второй вход И1 A3.
6. Четвертый ИВ по цепи элементов И1, НЕ12 поступит на нулевой вход Тг14 третьего разряда и установит его в "0". Одновременно импульс с И1 третьего разряда по цепи элементов И7, И2, НЕ13 поступит на единичный вход Тг14 второго разряда и установит его в "1". В тетраде будет храниться код 1010 (цифра 6).
7. Пятый ИВ сдвинет код 1 из второго разряда в первый разряд. В тетраде будет храниться код 1001 (цифра 5).
8. Шестой ИВ установит Tг14 первого разряда в "0" 1000 (цифра 5).
9. Седьмой ИВ сдвинет код четвертого разряда в третий разряд 0100 (число 3).
10. Восьмой ИВ сдвинет код третьего разряда во второй разряд 0010 (число 2).
11. Девятый ИВ сдвинет код второго разряда в первый разряд.
12. Десятый ИВ установит код первого разряда в "0", таким образом, на каждый ИВ из первой тетрады устройства вычитается одна единица. Предлагаемый способ и устройство не требуют в тетраде оборудования для формирования сквозного переноса, при этом исключаются временные задержки сигнала переноса и, при прочих равных условиях, повышается быстродействие работы устройства. Кроме того, предложенное построение схемы определения нулевых кодов всех триггеров обеспечивает экономию числа диодов и сокращение информационных связей в два раза, исключается оборудование и временные задержки сигнала переноса в каждой тетраде устройства.