Реверсивный преобразователь двоично-десятичного кода в двоичный
Реферат
Изобретение относится к вычислительной технике и может быть использовано в универсальных и специализированных вычислительных машинах для построения преобразователей больших потоков двоично-десятичной и двоичной информации. Целью изобретения является упрощение реверсивного преобразователя двоично-десятичного кода в двоичный. Реверсивный преобразователь двоично-десятичного кода в двоичный содержит m масштабирующих сумматоров 11-1m , где n - число разрядов входного входа; k - число разрядов входного кода, обрабатываемых одним масштабирующим сумматором; ]x[ - ближайшее целое, большее или равное (X), (m+1) k-разрядных преобразователей 21-2m+1 и коммутатор 3. На основе изобретения возможно построение конвейерных структур для преобразования кодов с любым количеством ступеней конвейера путем размещения регистров между масштабирующими сумматорами и подачей на входы преобразователя соответствующих групп разрядов, принадлежащих различным операндам. 1 ил.
Изобретение относится к вычислительной технике и может быть использовано в универсальных и специализированных ЭВМ для построения преобразователей больших потоков двоично-десятичной и двоичной информации.
Известен реверсивный преобразователь двоично-десятичного кода в двоичный, содержащий два комбинационных сумматора, двоичный и двоично-десятичный регистры, схему сравнения, коммутатор, группу элементов И, генератор импульсов, триггер режима [1]. Недостатками данного преобразователя являются низкое быстродействие при преобразовании из двоичного кода в двоично-десятичный, а также большие аппаратурные затраты. Наиболее близким по технической сущности к изобретению является реверсивный преобразователь двоично-десятичного кода в двоичный, содержащий группу из m масштабирующих сумматоров (m =] m=-1 [-1, где n - число разрядов входного кода; k - число разрядов входного кода, обрабатываемых одним масштабирующим сумматором; ]x[ - ближайшее целое, большее или равное х), группу из (m+1)k-разрядных преобразователей, группу из m коммутаторов, причем выход каждого масштабирующего сумматора, кроме последнего, соединен с входом множимого соседнего старшего масштабирующего сумматора, выход последнего масштабирующего сумматора является информационным выходом преобразователя, вход режима работы которого соединен с управляющими входами всех масштабирующих сумматоров, k-разрядных преобразователей и коммутаторов, вход множимого первого масштабирующего сумматора соединен с выходом первого k-разрядного преобразователя, информационный вход которого соединен с входом первой группы разрядов входного кода преобразователя, информационный вход i-го k-разрядного преобразователя (i = 2,3...m+1) соединен с входом i-й группы разрядов входного кода преобразователя, выход i-го k-разрядного преобразователя соединен с входом слагаемого (i-1)-го масштабирующего сумматора, вход множителя которого соединен с выходом (i-1)-го коммутатора, первые и вторые входы всех коммутаторов соединены соответственно с входами двоичной и двоично-десятичной констант преобразователя [2]. Недостатком данного преобразователя является большое количество используемой аппаратуры. Целью изобретения является упрощение реверсивного преобразователя за счет сокращения аппаратурных затрат. На чертеже показана структурная схема реверсивного преобразователя двоично-десятичного кода в двоичный. Реверсивный преобразователь двоично-десятичного кода в двоичный содержит группу масштабирующих сумматоров, 11 = =1m, группу разрядных преобразователей 21-2m+1и коммутатор 3. В основу предлагаемого преобразователя положен следующий принцип. При преобразовании двоично-десятичного кода в двоичный исходный n-разрядный код разбивается на группы по k десятичных цифр в каждой. Преобразование происходит по схеме Горнера, т. е. первая (самая старшая) группа десятичных разрядов преобразуется в двоичный код и умножается на двоичную константу, значение которой определяется значением k. Так, например, при k = 1 двоичная константа равна 1010 при х = 2 - 1100100 и т.д. К получившемуся двоичному произведению прибавляется двоичное значение соседней младшей группы десятичных разрядов. Результат суммирования опять умножается на двоичную константу и суммируется с двоичным значением следующей далее младшей группы десятичных разрядов и т.д. до тех пор, пока не будет подсуммировано двоичное значение самой младшей группы десятичных разрядов. Преобразование из двоичного кода в двоично-десятичный происходит аналогично, но все действия выполняются в десятичной системе счисления. Значение двоично-десятичной константы в этом случае также зависит от количества двоичных разрядов в группах р. Так, например, при р= = 3 двоично-десятичная константа равна 8 (код 1000) при р = 6 - 64 ( код 01100100) и т.д. В каждом из масштабирующих сумматоров 11-1m могут выполняться операции над числами в двоичном и двоично-десятичном кодах. При преобразовании в двоичный код сумматоры 11-1m настраиваются управляющим потенциалом с входа 7 преобразователя на обработку информации в двоичном коде, а при преобразовании в двоично-десятичный код - на обработку информации в двоично-десятичном коде. Каждый масштабирующий сумматор может содержать группу узлов умножения одинаковой разрядности и сумматор, причем количество узлов умножения в группе определяется их разрядностью и разрядностью промежуточного значения преобразуемого числа в новой системе счисления. На выходах умножения узлов каждой группы образуется в двухрядном коде произведение некоторого промежуточного значения преобразуемого числа, поступающего с входа множимого масштабирующего сумматора, и константы, поступающей с его входа множителя. Сумматор осуществляет сворачивание двухрядного кода произведения, полученного на выходах узлов умножения группы, к однорядному коду. При этом через свободный младший вход сумматора подсуммируется значение соседней младшей группы разрядов преобразуемого числа, поступающей с входа слагаемого масштабирующего сумматора. К-разрядные преобразователи 21-2m+1 предназначены для преобразования из двоично-десятичного кода в двоичный и наоборот значений групп разрядов, поступающих с входов соответственно преобразователя. Они могут быть реализованы самыми различными способами и средствами в зависимости от разрядности группы. Следует особо отметить, что при k = 1 и р 3 необходимость в преобразователях отпадает. Управление работой преобразователей 21-2m+1 осуществляется потенциалом с входа 7 реверсивного преобразователя. Коммутатор 3 предназначен для передачи на входы множителя масштабирующих сумматоров 11-1m значения либо двоично-десятичной (с входа 5 устройства), либо двоичной констант (с входа 6 устройства). Управление работой коммутатора 3 осуществляется потенциалом с входа 7 реверсивного преобразователя. Реверсивный преобразователь работает следующим образом. Для определенности полагают, что каждый масштабирующий сумматор выполнен так, что множимое в нем умножается на два десятичных разряда или на восемь двоичных разрядов множителя, а количество масштабирующих сумматоров равно трем. Тогда максимальное количество преобразуемых на данном устройстве десятичных разрядов равно 8, а максимальное количество двоичных разрядов - 24. Рассмотрим сначала преобразование из двоично-десятичного кода в двоичный. Пусть преобразуемое число равно 98356528. Перед началом выполнения операции на входах 41, 42, 43 и 44 устанавливаются двоично-десятичные значения групп разрядов соответственно 98, 35, 65 и 28. Управляющий потенциал с входа 7 выбора режима работы преобразователя настраивает масштабирующие сумматоры 11-13 на обработку двоичных кодов, k-разрядные преобразователи 21-24 на преобразование в двоичный код, а коммутатор 3 на передачу двоичной константы 1100100 с входа 6 двоичных констант реверсивного преобразователя. В масштабирующем сумматоре 11 происходит умножение преобразованного в двухразрядном преобразователе 21 в двоичный код значения 98 на двоичную константу и одновременно прибавляется двоичное значение числа 35, сформированное на выходе преобразователя 22. С выхода масштабирующего сумматора 11 первый промежуточный результат преобразования поступает на вход множимого масштабирующего сумматора 12, где умножается на двоичную константу и к произведению прибавляется двоичное значение соседней младшей пары десятичных цифр 65, образованное на выходе преобразователя 23. Второй промежуточный результат в масштабирующем сумматоре 13 умножается на двоичную константу и к произведению прибавляется двоичное значение числа 28, полученное на выходе преобразователя 24. С выхода масштабирующего сумматора 13 считывается окончательный двоичный результат через информационный выход 8 реверсивного преобразователя. При преобразовании из двоичного в двоично-десятичной код на входе 7 преобразователя устанавливается управляющий потенциал, настраивающий масштабирующие сумматоры 11-13 на обработку двоично-десятичных кодов, преобразователей 21-24 на преобразование из двоичного кода в двоично-десятичный и коммутатор 3 на передачу двоично-десятичный константы 01100100 (число 64) с входа 5 реверсивного преобразователя. На каждый из входов 41-44 подается по шесть двоичных разрядов преобразуемого числа (на вход 41 - самые старшие шесть двоичных разрядов, на вход 42 - соседние младшие шесть двоичных разрядов и т. д. ). После срабатывания масштабирующих сумматоров 11-13 на выходе 8 реверсивного преобразователя образуется двоично-десятичный код преобразованного числа.Формула изобретения
РЕВЕРСИВНЫЙ ПРЕОБРАЗОВАТЕЛЬ ДВОИЧНО-ДЕСЯТИЧНОГО КОДА В ДВОИЧНЫЙ, содержащий группу из m масштабирующих сумматоров (m=-1 , где n - число разрядов входного кода, k - число разрядов входного кода, обрабатываемых одним масштабирующим сумматором, ] x[ - ближайшее целое, большее или равное x), группу из (m + 1) k-разрядных преобразователей и коммутатор, причем выход каждого масштабирующего сумматора, кроме последнего, соединен с входом множимого соседнего старшего масштабирующего сумматора, выход последнего масштабирующего сумматора является информационным выходом реверсивного преобразователя, вход режима работы соединен с управляющими входами всех масштабирующих сумматоров и k-разрядных преобразователей и с управляющим входом коммутатора, выход которого соединен с входом множителя первого масштабирующего сумматора, вход множимого которого соединен с выходом первого k-разрядного преобразователя, информационный вход которого соединен с входом первой группы разрядов входного кода преобразователя, информационный вход i-го k-разрядного преобразователя (i= 2,3,...,m+1) соединен с входом i-й группы разрядов входного кода преобразователя, выход i-го k-разрядного преобразователя - с входом слагаемого (i=1)-го масштабирующего сумматора, первый и второй входы коммутатора соединены соответственно с входами двоичной и двоично-десятичной констант преобразователя, отличающийся тем, что , с целью упрощения преобразователя, вход множителя масштабирующих сумматоров с второго по m-й соединен с входом множителя первого масштабирующего сумматора.РИСУНКИ
Рисунок 1