Преобразователь двоичного кода в двоично-десятичный и обратно

Иллюстрации

Показать все

Реферат

 

(,?08344

Союз Советсккк

Социалистических республик

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (61) Дополнительное к авт. свид-ву (22) Заявлено 10.04.75 (21) 2123823/18-24 с прнсоеднненнем заявки J% (5%)М. Кл.

G 06 F 5/02

Гасударственный комитет

СССР ав аааам изобретений н открытий (23) Приоритет

Опубликовано 05.01.80. Бюллетень М 1

Дата опубликования описания 07.01.80 (53) УДК 681.325 (088.8 ) (72) Авторы изобретения

А. A. Левин и Б. И. Песчанский (71) Заяв л аявнтель

Ордена Трудового Красного Знамени экспериментальный научноисследовательский институт металлорежущих станков (54) ПРЕОБРАЗОВАТЕЛЬ ДВОИЧНОГО КОДА В ДВОИЧНОДЕСЯТИЧНЫЙ И ОБРАТНО

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

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

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

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

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

Цель изобретения — повышение быстродействия работы преобразователей.

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

На чертеже изображена структурная схема предложенного преобразователя.

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

2, элемент 3 ИЛИ, одноразрядный сумматор 4, который имеет три входе, два слагаемых и перенос (не показан), триггер

5 переполнения, блок 6 хранения двоич 40 ных эквивалентов, который формирует дво- О ичные числа соответствующие значениям десятичных разрядов от 101 1 до 10, где 1 — число разрядов десятичного числе, блок 7 умножения, коммутатор 8 слагаемого, счетчик 9 десятичных разрядов> 4 счетчик 10 тактов, сдвиговую тетраду 11, коммутатор 12 двоично-десятичных разрядов, регистр 13 двоично-десятичного числа, выходной регистр 14. Коммутатор 12 состоит, например, из четырех элементов

И 15 и элемента ИЛИ 16.

Устройство работает следующим образом.

Рассмотрим сначала работу устройства в режиме прямого кодопреобразования

55 последовательного двоичного кода в параллельный двоично-десятичный код "8421".

Во внешних регистрах числе представлены

44 4 в дополнительном коде. В преобразователь вводится модуль числа А, знак которого определяется отдельным блоком и нв работу преобразователя не влияет. Ввод числа производится в начальный момент, который фиксируется переполнением в счетчике тактов 10 и начальным состоянием в счетчике десятичных разрядов 9. Через элемент 3 ИЛИ в такте ввода исходное двоичное число поступает на вход одноразрядного сумматора 4. После завершения вводя во всех дальнейших тактах преобразования нв вход сумматоре 4 через элемент 3 ИЛИ поступают числа с выхода сдвигового регистра 2. Преобразование производится последовательно, начиная с цифр стершего разряде. B такте ввода одновременно осуществляется алгебрическое вычитание из вводимого числа двоичнодесятичного эквивалента десятичного разряда 10 . Для получения соответствую2 щих двоично-десятичных эквивалентов производятся сдвиги влево (так кек числе в регистре 2 идут младшими разрядами вперед) двоичных чисел 10 . Каждый из сдвигов фиксируется счетчиком 10 тактов, который управляет разрядными сдвигами в блоке 7 умножения. При начальном состоянии счетчика 10 блок 7 умножения реализует сдвиг на три разряда, что соответствует умножению на 8, Таким обре» зом,при вводе от модуля числа А вычитается число 10 2 (дпя шестиразрядно1Л го числа это составляет А-800000). Результат вычитания после окончания начального такта ввода записывается в регистр

2. Здесь и далее промежуточные значения чисел в регистре 2 обозначаются с индексом десятичного разряда и номера такта, Ь 1-1 следующим образом А-2 ° 10 =An., где — номер такта.

Одновременно с определением числового значения разности в конце l- .о такта происходит определение знака разности

A О. Если А >Ото подается соответ2 с 2 ствующий сигнал выхода триггера 5 нв вход коммутатора слагаемого 8, s в сдвиговую тетраду 11 записывается единица. если жеА1<0 ???? ?????????????????????????? ???????? ???????????????? ?????????????????????? ???? ???????????? ???????????????????? ?????????? 8, ?? ?????????????????? ?????????????? ???????????????????? 0 . ???? ?????????? ?????? ?????????????? „> О происходит следующее вычитание от результата хранящегося в регистре 2

А Я =А

2 (дпя шестиразряднот о числа это состев708344 ляет Л вЂ” 400000). В случае А, (Q во

Раз- Осно втором такте происходит суммирование

2 «-» 2 ряд i вани д .z

10Двоичный эквивалент

»o" "

Последнее действие выполняемое экви- s валентно (двум операциям) BoccTaHoBlla» нию первоначального числа А и последую» щему вычитанию величины 2 ° 10 По результатам определения знака в конце второго такта в сдвиговой тетраде 11 про- исходит продвижение «1" (при А» 0 ) либо "О (при А» (0 ). В третьем такте при условии A ф() производится действие

2 (обеспечиваемое сдвигом на один бит в блоке 7 умножения 7 )

a,-z" о =А,, либо (при A 2 «0

I I

A +|. о»»= А

2 го

Последнее действие также эквивалентно двум операциям - восстановлению первоАi начального значения числа А и последующему вычитанию 2 10 . B конце

»-» третьего такта при A >iO в сдвиговой тетраде 11 происходит продвижение "1, а в случае А> (О - ".0 . B триггере фик» сируется знак числа,А . В четвертом такте при условии А О выполняется

» действие

4» — ЬО, 10 » А»

3 ф у ! либо (при А Й О)

А» + о, or- A»

4.

В конце четвертого такта, в зависимости от знака А, в сдвиговой тетраде 11 продвигается "1" или «О». После окончания 4 х тактов завершается дешифрация цифры в старшем десятичном разряде числа A. B тетраде 11 получено значение его старшего разряда в соответствии с двоично-десятичным кодом "8421". По сигналу переполнения счетчика 10 тактов подается импульс на управляющий вход выходного регистра 14 (для переписи состояния сдвиговой тетрады 11) и на счетный вход счетчика 9 (для получения значении (».-l, разряда). С этого момента начина1

-"т - > дешифрация (L-1 )-ого десятичного разряда. С выхода блока 6 двоичных эквизалентов на вход блока 7 умножения поступает двоичный эквивалент десятичного разряда 10

Вычисления очередного разряда осуществляются в точном соответствии с описанным выше алгоритмом. Значения величин двоичных эквивалентов десятичных разрядов определяются по следующей таблице. »

6 10 1.1000.0110.1010.0000

10.0111.0001.0000

5 10

4 10

3 10

2 10 а

l 10

11. 1110. 1000

110.0100

1010

На дешифрацию каждой цифры двоичнодесятичного разряда числа А расходуется время равное четырем тактам. После завершения дешифрации по всем разрядам в разряде единиц выполняется операция вычитания единицы с продвижением - 1" либо «О" в тетраде 11. После последней операции, независимо от того, что в регистре 2 может быть число равное -1", либо "О, по сигналам счетчиков 9 и 10:. осуществляется повторный ввод модуля числа A в сумматор через ключ 1 приема двоичных чисел и элемент 3 ИЛИ. При вводе разрывается соединение с входом сумматора, что эквивалентно очищению сдвигового регистра 2 от предыдущего числа. Одновременно при вводе выполняется начальная операция

Д- Д"=А"

Далее повторяется весь цикл прямого кодопреобразования. B случае шестиразряд»ого числа цикл длится 24 такта.

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

Преобразование это выполняется по отдельной команде, разрешающей обратное и запрещающей прямое преобразование. Сдвиговый регистр 2 устанавливается в "О". На чертеже указанная установочная коммутация не показана. цикл преобразовании начинается со старшего десятичного разряда и максимального сдвига на три разряда, что обеспечивается начальным положениями счетчиков 9 и 10. Все выходы регистра 13 двоично-десятичного числа подключены при этом на входы коммутатора 12 (на входы 4-х элементов

И 15). На вторые входы коммутатора 12. 7083 (на входы элементов И 15) последова« тельно подаются единичные выходы разрядов счетчика тактов. Выходы всех элементов И 15 через элемент ИЛИ 16 управляют работой коммутатора 8 слагаемого, разрешая либо запрещая прохождение соответствующих значений двоичных эквивалентов на сумматор 4. Если в очередном такте, например начальном, когда в блоке умножения 7 реализуется сдвиг на три разряда, а на выходе коммутатора 12 имеется единичный сигнал, то на вход

41 сумматора проходит число 2 IO c выхода сумматора 4, которое накапливается в регистре 2. Если же с элемента ИЛИ 1

16 поступает нулевой сигнал, то коммутатор 8 не пропускает двоичный эквивалент числа 2 ° 101 1 нв вход сумматора 4.

Цикл обратного преобразования так же выполняется за 4 такта. Поступающее с регистра 13 число А о) в двоично-десятичном коде накапливается в регистре 2 в двоичном коде Ад) По завершении цикла преобразования результат с выхода сумматора 4 передается в выходной регистр.

С выходного регистра число Ag) при необходимости передается на вход ключа 1 приема для выполнения прямого преобразования.

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

pasa быстрее (24 такта вместо 72) чем известный преобразователь (прототип).

Формула и зобретения

Преобразователь двоичного кода в двоично-десятичный и обратно, содержащий ключ приема двоичного числа, сдвиговый регистр, элемент ИЛИ, коммутатор спа-. гаемого, одноразрядный сумматор, триг45 гер переполнения, блок хранения двоичных эквивалентов, регистр двоично-десятичного числа, выходной регистр и счетчик десятичных разрядов, выходы которого сое44 8 динены с входами регистра двоично-десятичного числа и блока хранения двоичных эквивалентов, выходы элемента ИЛИ и

I коммутатора слагаемого соединены с ïåðвым и вторым входами одноразрядного сумматора соответственно, информационный выход одноразрядного сумматора соединен с входом сдвигового регистра, выход которого соединен с первым входом элемента ИЛИ, второй вход которого соединен „, с выходом ключа приема двоичного числа, выход переполнения одноразрядного сумматора соединен с входом триггера переполнения, первый вход ключа приема двоичного числе соединен с выходом первого разряда счетчика десятичных разрядов, о т л и ч а ю щ и йс я тем, что, с целью повышения быстродействия преобразователя, он дополнительно содержит блок умножения, счетчик тактов, сдвиговую тетраду и коммутатор двоично-десятичных разрядов, первая группа входов которого соединена с выходами регистра двоично-десятичного числа, вторая группа входов - с выходами счетчика тактов и первой группой входов блока умножения, а выход - с первым входом коммутатора слагаемого второй вход которого соединен с выходом блока умножения, а третий вход - с выходом триггера переполнения и входом сдвиговой тетрады, второй вход блока умножения соединен с выходом блоха хранения двоичных эхвивалентов, выход переполнения счетчика тактов соединен с входом счетчика десятичных разрядов, управляющим входом выходного регистра и с вторым входом блока приема двоичного числа, выходы сдвиговой тетрады соединены с информационными входами выходного регистра.

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

1. Авторское свидетельство СССР

М 473173, кл. Q 06 Р 5/02, 1973.

2. Песчвнский Б. И. и др. Устройства пифровой индикации перемещений в

ACID В сб. Агрегатное построение унифицированных систем программного упревления машинами. М., Наука, 1973.

70834 4

Составитель М. Аршавский

Редактор А. Шмелькин Техред 3. фанта Корректор Г. Решетник

Заказ 8489/44 Тираж 751 Подписное

ЦНИ! !ПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., д. 4/5

Филиал ППП Патент, r. Ужгород, ул, Проектная, 4