Преобразователь двоичного кода в р-ичный позиционный код
Иллюстрации
Показать всеРеферат
ПРЕОБРАЗОВАТЕЛЬ ДВОИЧНОГО КОДА В р-ИЧНЫЙ ПОЗИЦИОННЬЙ КОД, содержащий сдвиговый регистр, сумматор-вычитатель и блок управления, выход сдвига которого соединен с входом управления сдвигом сдвигового регистра,выход старшего разряда которого соединен с входом младшего разряда регистра сдвига, выход записи блока управления соединен с входом управления записью сдвигового регистра, (т + 1) старших разрядов которого (т 3log2p) сое-, динены с первой группой входов сумматора-вычитателя , выходы которого . соединены с входами (т + 1) старших разрядов сдвигового регистра, отличающийся тем, что, с . целью упрощения преобразователя и расширения класса решаемых задач путем обеспечения возможности изменения основания системы счисления, он содер5;сит регистр константы, выходы которого соединены с второй группой входов сумматора-вычитателя, вход задания режима которого соединен с выходом знака блока управления , входкоторого соединен с выходом старшего разряда сдвигового регистра, а блок управления содержит распределитель импульсов, два триггера, два элемента И, два элемента запрета, элемент ИЛИ и сдвиговьй регистр, выход младшего разряда которого подключен к входу его старшего разряда, к информационному входу первого триггера, к первому входу первого элемента И и запрещающему входу первого элемента запрета, выход которого является вьгходом сдвига блока управления, выход записи которого соединен с выходом элемента ИЛИ, первый вход которого соединен с выходом первого элемента (Л И и запрещающим входом второго элемента запрета, выход которого является выходом знака блока управления, вход которого соединен с информационным-входом второго триггера, которого соединен с входом второго элемента запрета, а еднничшлй вход соединен с первьм выходом распреОд делителя импульсов и с нулевым вхоСО СО дом первого триггера, синхровход которого соединен с вторым выходом. распределителя импульсов, с синхровходами второго триггера и сдвигового регистра, с входом первого элемента запрета и с вторым входом .первого элемента И, третий выход распределителя импульсов соединен с первым входом второго элемента И, второй вход которогосоединен с инверсным выходом первого триггера, а выход второго элемента И соединен-с вторым входом элемента ИЛИ.
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИН (19) (4 () 4 А
4(5!) Н 03 M 7/00
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К ABTOPCHOMV СВИДЕТЕЛЬСТВУ о
ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И OTHPbfTHA (21) 3594334/24-24 (22) 27.05.83 (46) 23.06.85. Бюл. № 23 (72) Г.В .Гончаренко, В.И.Жабин, В.И.Корнейчук, В.А.Репко и В.П.Тарасенко (53) 681.325(088.8) (56) Патент США ¹ 4069478, кл. 340-.347, опублик. 1978.
Авторское свидетельство СССР № 485444, кл. G 06 F 5/02, 1976. (54)(57) ПРЕОБРАЗОВАТЕЛЬ ДВОИЧНОГО
КОДА В р-ИЧНЫЙ ПОЗИЦИОННЫЙ КОД, содержащий. сдвиговый регистр, сумматор-вычитатель и блок управления, выход сдвига которого соединен с входом управления сдвигом сдвигового . регистра, выход старшего разряда которого соединен с входом младшего разряда регистра сдвига, выход записи блока управления соединен с входом управления записью сдвигового регистра, (m + 1) старших разрядов которого (m = j log pf) сое-. динены с первой группой входов сумматора-вычитателя, выходы которого соединены с входами (m + 1) старших разрядов сдвигового регистра, о т— л и ч а ю шийся тем, что, с целью упрощения преобразователя и расширения класса решаемых задач путем обеспечения возможности изменения основания системы счисления, он содержит регистр константы, выходы которого соединены с второй группой входов сумматора-вычитателя, вход задания режима которого соединен с выходом знака блока управления, вход которого соединен с выходом старшего разряда сдвигового регистра, а блок управления содержит распределитель импульсов, два триггера, два элемента И, два элемента запрета, элемент ИЛИ и сдвиговый регистр, выход младшего разряда которого подключен к входу его старшего разряда, к информационному входу первого триггера, к первому входу первого элемента И и запрещающему входу первого элемента запрета, выход которого является выходом сдвига блока управления, выход записи которого соединен с выходом элемента ИЛИ, первый вход которого соединен с выходом первого элемента
И и запрещающим входом второго элемента запрета, выход которого является выходом знака блока управления, вход которого соединен с информаци-онным входом второго триггера, вы.,ход которого соединен с входом второго элемента запрета, а единичнь)й вход соединен с первым выходом распределителя импульсов и с нулевым входом первого триггера, синхровход которого соединен с вторым выходбм распределителя импульсов, с синхровходами второго триггера и сдвигового регистра, с входом первого элемента запрета и с вторым входом .первого элемента И, третий выход распределх теля импульсов соединен с первым входом второго элемента И, второй вход которого соединен с инверсным выходом первого триггера, а выход вт рого элемента И соединен с вторым входом элемента ИЛИ.
1163479
Изобретение относится к цифровой вычислительной технике и может быть использовано при построении преобразователей кодов и вычислительных устройств, 5
Цель изобретения — упрощение преобразователя и расширение класса решаемых задач путем обеспечения возможности изменения основания системы счисления. 10
На фиг . 1 из ображе на структурная схема предлагаемого преобразователя, на фиг. 2 — структурная схема блока управления, на фиг. 3 - временная диаграмма тактирующих сигналов. 15
Преобразователь (фиг. 1) содержит . сдвиговый регистр 1, сумматор-вычитатель 2, регистр 3 констант и блок
4 управления. Выход 5 блока 4 управления соединен с входом управления 20 сдвигом сдвигбвого регистра 1, выход
6 записи блока управления — с входом управления записью сдвигового регистра, выход 7 знака блока управления— соединен с входом задания режима 25 сумматора-вычитателя, единичное значение сигнала на входе задания режима работы настраивает сумматор-вычитатель на выполнение сложения, нулевое - на выполнение вычитания. Сдви- 30 говый регистр 1 содержит k разрядов системы счисления с основания р (k m) двоичных разрядов, где m — число двоичных разрядов, отводимых для представления одной р-ичной цифры, а З5
k — - разрядность р-ичного числа.
Сумматор-вычитатель 2 и регистр
3 константы, имеют по ш + 1 двоичных разрядов. Выходы регистра 3 константы подключены к входам вычитаемого 40 сумматора-вычитателя 2, а выходы ш + 1 старших двоичных разрядов сдвигового регистра 1 — к входам уменьmaeMoro.
Блок 4 управления (фиг ° 2) содер- 45 жит сдвиговый регистр 8, триггеры
9 и 10, элементы ИЛИ 11, элементы
И 12 и 13, элементы 14 и 15 запрета и распределитель 16 импульсов, выходы 17-19 которого осуществляют так- 50 тирование блока управления. Сдвиговый регистр 8 имеет (k — 1) m + 1 двоичных разрядов. Для построения регистров 1 и 8, а также триггеров
9 и 10 необходимо использовать триг- 55 геры с внутренней задержкой, выполненные, например, по MS-схеме, особенность которых состоит в переключении в новое состояние после снятия тактирующего сигнала.
Максимальное основание рщ „ системы определяет число ш двоичных разрядов, отводимых для представления одной цифры р-ичного числа, в соответствии с выражением тп =
= 1о8 рм,,1. Если ш выбрано таким, то устройство можно использовать для перевода двоичноно числа в систему счисления с любым основанием рф, 4. .. ° рмакс Например ли р ь 1 3, 4, ..., 15, то для предст авл ения р-ич ной цифры необходимо выбрать m = )log 15l = 4. Если же р Е 3, 4, 5, 6, 7), то ш= 1од,7(=
3.
В исходном состоянии двоичное число записано в сдвиговом регистре 1 (младший разряд числа находится в крайнем справа разряде регистра, а в регистре 3 константы находится двоичный код величины А =
2 — р/2, где р — основание сис-. темы счисления, в которой требуется представить результат). Например, если устройство предназначено для работы с основаниями р E (3, 4, 151, т.е.. m = 4, то при переводе двоичного числа в систему счисления с основанием р = 7 получаем
А = 2 — 7/2 = 4,5 с основанием р =
= 9 — А = 2 — 9/2 = 3,5, с основанием р = 12 — А = 2 — 12/2 = 2 и т.д. Число А в двоичном представ- . лении имеет не более одного.дробного разряда. В m старших разрядах регистра 3 константы записывается целая часть величины А, а в младшем разряде — цифра дробной части этого числа.
При переводе двоичного числа в
k-разрядное р-ичное число необходимо выполнить k — - 1 циклов. Каждый цикл включает k m + 1 тактов. В каждом ь-м цикле (i = 1, 2. ..,, k-1) вначале выполняется (k - i)m тактов преобразования, далее один такт коррекции, а затем im тактов сдвига.
Таким образом, в каждом последующем цикле число тактов преобразования уменьшается на m, а число тактов сдвига увеличивается на такую же величину.
В такте. преобразования выполняются две микрооперации: суммирование— вычитание и сдвиг.
1163479
Первой микрооперацией управляет сигнал с выхода 6 блока 4 управления.
По этому сигналу в m + 1 старших разрядов регистра 1 числа записывается результат суммирования (вычитания) 5 чисел, поступающих на входы сумматора-вычитателя 3. Если при этбм на выходе 7 блока 4 управления присутствует единичный потенциал, то -к содержимому m + 1 старших разрядов регистра 1 числа прибавляется величина А, записанная в регистре 3 константы, а если нулевой потенциал— вычитается величина A. По сигналу. с, выхода 5 блока 4 управления осуществляется сдвиг информации в регистре
1 числа на один двоичный разряд влево. В процессе сдвига цифра из старшего разряда этого регистра переписывается в его младший разряд, а
20 также запоминается в блоке 4 управ/ лейия (в триггере 9), В следующем такте соответствующий этой цифре потенциал присутствует на выходе
7 блока управления, управляя работой сумматора-вычитателя 2. В отличии от всех последующих тактов преобразования в первом такте каждого цикла на выходе 7 блока 4 управления всегда присутствует единичный потенциал, З0 независимо от значения цифры, поступающей на, вход блока 4 управления в предыдущем такте. В связи с этим на сумматоре-вычитателе 2 всегда осуществляется суммирование. 35
В такте коррекции блок 4 управле. ния поочередно выдает два управляющих сигнала на выход 6, в результате чего выполняются две микрооперацни.
По первому сигналу, в зависимости .40 от значения цифры, поступившей в блок
4 управления в предыдущем такте, осуществляется прибавление к содержи-. мому старших разрядов регистра 1 числа величины А или вычитании этой 45 величины. По второму сигналу на вы-. ходе 6 всегда производится вычитание величины А, так как на выходе 7 бло-. ка 4 управления в этом случае всегда присутствует нулевой потенциал. В 50 такте коррекции сдвиг не выполняется.
В каждом также сдвига блок 4 управления выдает только один управляющий сигнал на выход 5, в результате которого осуществляется циклический 55 сдвиг информации в регистре 1.
Будем считать, что устройство предназначено для получения трех разрядов р-ичного числа, где рE (3, 4, 151 . Следовательно, k = 3 и m = 4. В этом случае для получения результата необходимо выполнить
k — i = 2 цикла преобразования. Первый цикл будет содержать (k - 1)m = — (3 — 1)4 = 8 тактов преобразования, такт коррекции и i ш = 1 ° 4
= 4 такта сдвига. Второй цикл будет включать (k — 1) = (3 — 2) 4 = 4 такта преобразования, такт коррекции и i m = 2 4 = 8 тактов сдвига.
Если осуществляется преобразование в систему с р = 15, то в исходном состоянии преобразуемое двоичное число записано в регистре 1; а в регистре 3 константы установлен
В1 двоичный код величины A = 2 — р/2 = 2ц — 15/2 = 0,5, т.е. содержимое 5-разрядного регистра 3
KoHcTGHTbl имеет вид 0000, 1.
При преобразовании двоичного числа в систему счисления с основаниl ем р = 7 получаем А = 2 -р/2 =
= 8 — 7/2 = 4,5, т.е. в регистре 3 константы записано 0100, 1. Результат преобразования имеет вид Х1 = 654.
В данном случае, как и в рассмотренном, для предтсавления р-ичной цифры используются 4 двоичных разряда, поскольку преобразователь предназначен для работы с основаниями р < 15. Для системы счисления с основанием р = 7 достаточно трех двоичных разрядов. Если необходимо построить устройство, для которого р.=
7 являеися максимальным основанием, то можно уменьшить разрядность блоков 1-3 устройства, приняв m —=
= 3. При этом уменьшается и число тактов в каждом цикле.
Блок 4 управления обеспечивает выдачу управляющих сигналов следующим образом. В исходном состоянии в старшем разряде сдвигового регистра 8 записана единица (остальные разряды обнулены), триггер 10 установлен в нулевое, а триггер
9 — в единичное состояние. С началоь работы преобразователя распределитель импульсов начинает вырабатывать регулярную последовательность управляющих сигналов на выходах
17-19 в соответствич с временной диаграммой, приведенной на фиг. 3 (цепи запуска распределителя 16 импульсов условно не показаны). В каждом цикле на выходы 18 и 19
1163479 на выходах блока. 4 управления обеспечивает выполнение тактов преобразования в операционной части устройства. Цифра с выхода регистра 1 запоминается в каждом такте на триггере 9 и с его выхода через элемент 14 запрета выдается на выход 7 блока управления. Так как элемент И 13 закрыт при нулевом состоянии младшего раз- 3$ ряда сдвигового регистра 8, то нулевой потенциал с его выхода, поступающий на запрещающий вход элемента
14 запрета, разрешает прохождение выдается по k m + 1 сигналу. Сигналы на выходе 19 отстают во времени от сигналов на выходе 18 на полпериода. На выходе 17 в каждом цикле формируется только один сигнал, совпадающий во времени с (k ш +. 1) сигналом на выходе 19.
Как и в исходном состоянии, перед началом каждого нового цикла триггер
10 устанавливается в нулевое состояние сигналом с выхода 17, поступающим на вход R этого триггера. Следовательно, до того момента, пока на вход Т триггера 10 не поступает единица с выхода младшего разряда сдвигового регистра 8, элемент И 12 пропускает-сигналы с выхода 18 распределителя 16 импульсов. Эти сигналы через элемент ИЛИ 11 поступают на выход 6 блока 4 управления. Пока единица отсутствует в младшем, разряде сдвигового регистра 8, открыт и элемент 15 запрета, через который сигналы с выхода 19 распределителя 16 импульсов поступают на выход 5 блока 4 управления. Эта пара сигналов на сигнала с выхода триггера 9 на выход
7 блока 4 управления. В каждом такте по сигналу с выхода 19 распределителя 16 импул„ьсов осуществляется циклический сдвиг вправо единицы в сдвиговом регистре 8. После выполнения первых (k — 1)ш тактов единица будет записана в младшем разряде этого регистра, так как он имеет (пасвЂ
1)m + 1 двоичных разрядов. На этом выполнение тактов преобразования в операционной части устройства завершается и следующий. такт является тактом коррекции.
В этом такте триггер 10 еще находится в нулевом состоянии и, следова->> тельно, сигнал с выхода .18 проходит через. элемент И 12 и элемент ИЛИ 11 на выход .6 блока 4 управления. Под действием этого сигнала выполняется. первая микрооперация (суммйрование или вычитание) . Вторая микрооперация (всегда вычитание) так же выполЗ няется по сигналу на выходе 6 блока
4 управления. При этом на выход 6 поступает сигнал с выхода 19 распределителя 16 импульсов через элемент
И 13 и элемент ИЛИ 11. Этот сигнал с выхода элемента И 13 также закрывает элемент запрета, чем достигается подача нулевого потенциала на выход 7 независимо от состояния триггера 9. На выхоце 5 в этом такте сигнал не формируется, так как элемент
15 запрета закрыт.
По окончании такта коррекции триггер 10 переключается в единичное состояние, так как на его Т-входе присутствует единичный сигнал, поступающий с выхода младшего разряда сдвигового регистра 8. Следовательно, в оставшиеся такты в текущем цикле элемент И 12 будет закрыт, т.е. сигналы будут присутствовать только на выходе 5 блока 4 управления. В ре-. .,зультате этого в регистре 1 в каждом такте будет осуществляться только циклический сдвиг информации. Перед началом выполнения нового цикла по сигналу на выходе 17 распределителя 16 импульсов триггер 10 устанавливается в нулевое, а триггер
9 — в единичное состояние.
Отличие в выполнении каждого пос- ледующего цикла состоит в том, что единица в сдвиговом регистре 8 перед началом его выполнения смещена по отношению к предыдущему циклу.на
m разрядов вправо. Это обеспечивает уменьшение числа тактов преобразования в каждом цикле на ш и увеличение на такую же велйчину числа тактов сдвига. Смещение единицы на ш разрядов вправо в каждом цикле осуществляется потому, что число разрядов сдвигового регистра 8 меньше числа тактов в цикле на m.
Например, если число тактов в цикле составляет 13, как в рассмотренных числовых примерах, то при m = 4 сдвиговый регистр 8 содержит 9 двоичных разрядов. Перед началом,пер+ вого цикла этот регистр будет иметь состояние 10000000. После выполнения 13 сдвигов вправо (в 9 такте единица из младшего разряда переписывается в старший) получим
1163479
000010000, т. е. произошло смещение единицы на 4 разряда вправо.
Для построения операционной части предлагаемого устройства требуется (m + 1)-разрядный сумматор-вычи- S татель 2, (m +,1)-разрядный регистр
3 константы и регистр 1, содержащий
k m разрядов. Можно считать, что сложность одного разряда сумматора примерно равна сложности одного разряда регистра. Тогда сложность предлагаемого устройства в условных единицах (в числе разрядов регистров и сумматора) можно представить как
N npep, (m + 1) + (m + 1) + k
= m(k + 2) + 2.
С Учетом т го, что m = ) l.одгР(, где р — основание системы счисления, в которую осуществляется преобразование, получается
Nп =)1о@гр((К + 2) + 2.
Операционная часть базового устройства содержит умножитель . на константу, вычитатель и регистр числа. Вычитатель имеет два р-ичных разряда. Для построения каждого разряда такого вычитателя требуется примерно 2 двоичных одноразрядных сумма- . торов, т.е. сложность вычитателя в условных единицах составляет примерно
4m. Умножитель содержит по крайней мере один сумматор на два р-ичных разряда. Примем его сложность за 4ш.
Регистр числа в базовом устройстве должен иметь. количество разрядов, равное числу цифр в преобразуемом числе, причем каждый разряд имеет длину m = ) log p(бит, где р — осно-. . 40 вание той системы счисления, в которую осуществляется перевод исходного числа. Таким образом, для базового устройства получается
N „ц = 4m + 4ш + пш = m(n + 8)
=3 logzpf(m + 8), где n — число разрядов преобразуемого числа. ЗФ
Очевидно, что сложность базового устройства увеличивается с увеличением разрядности преобразуемого числа, причем независимо от величины основания исходной системы счисления. В связи с этим перевод двоичных чисел в р-ичные в базовом устройСтве более эффеКтивно осуществляется через систему счисления с основанием 2, где
s — целое число.
Например, при переводе 32-разрядных двоичных чисел в десятичные сложность базового устройства будет составлять
N ggq = ) 1og2p/(n + 8)
=) log,10((32 + 8) = 4 ° 40 = 160.
Если же 32-разрядное двоичное число разбить на триады, то получим 11Разрядное число в системе счисления с основанием 8.
В этом случае сложность базового устройства определяется так:
Ng g = )log,p((n + 8)
=)logг10((11 + 8) = 4 19 = 76
Если перевод 32-разрядных двоичных чисел в 8-разрядные десятичные осуществляется с помощью предлагаемого устройства, т.е. сложность будет определяться так:
Np1ep,= ) log PL(k + 2) + 2
= 11og,10((8 + 2) + 2 = 4 10 + 2=
= 42.
Таким образом, по сравнению с наиболее эффективным вариантом базового устройства предлагаемое устройство при переводе двоичных чисел в деся-. тичнь1е позволяет уменьшить объем оборудования в N >/N ppe4= 76/42
1,8 раз.
В базовом устройстве для изменения основания системы счисления, в которую осуществляется перевод исходных чисел, необходимо заменить блоки умножителя и вычитателя или заменить их внутреннюю организацию. В предлагаемом преобразователе в этом нет необходимости.
1163479
Фиг.2
1163479
Составитель M.ÀðøàBñêèé
Техред А.Ач Корректор М.Розман
Редактор Н.Яцола
Тираж 872 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Заказ 4114/56
Филиал ППП "Патент", г. Ужгород, ул. Проектная, 4! !
I ( о
C ф