RU2248094C2 - Устройство преобразования из десятичной системы счисления в двоичную - Google Patents

Устройство преобразования из десятичной системы счисления в двоичную Download PDF

Info

Publication number
RU2248094C2
RU2248094C2 RU2003109603/09A RU2003109603A RU2248094C2 RU 2248094 C2 RU2248094 C2 RU 2248094C2 RU 2003109603/09 A RU2003109603/09 A RU 2003109603/09A RU 2003109603 A RU2003109603 A RU 2003109603A RU 2248094 C2 RU2248094 C2 RU 2248094C2
Authority
RU
Russia
Prior art keywords
binary
input
register
decimal
adder
Prior art date
Application number
RU2003109603/09A
Other languages
English (en)
Other versions
RU2003109603A (ru
Inventor
В.Л. Волковыский (RU)
В.Л. Волковыский
С.И. Елесина (RU)
С.И. Елесина
Original Assignee
Рязанская государственная радиотехническая академия
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Рязанская государственная радиотехническая академия filed Critical Рязанская государственная радиотехническая академия
Priority to RU2003109603/09A priority Critical patent/RU2248094C2/ru
Publication of RU2003109603A publication Critical patent/RU2003109603A/ru
Application granted granted Critical
Publication of RU2248094C2 publication Critical patent/RU2248094C2/ru

Links

Images

Landscapes

  • Analogue/Digital Conversion (AREA)

Abstract

Устройство относится к области вычислительной техники и может быть использовано в процессорах, где предусмотрена аппаратная реализация преобразований из одной системы счисления в другую. Техническим результатом является сокращение в 2 раза времени преобразования. Указанный результат достигается за счет введения в устройство, содержащее регистры десятичного и двоичного числа, двоичный сумматор и счетчик тактов, двоичного вычитающего устройства, преобразователя кода и мультиплексора байтов. 2 ил., 1 табл.

Description

Предлагаемое изобретение относится к области вычислительной техники и может быть использовано в процессорах, где предусмотрена аппаратная реализация преобразований из одной системы счисления в другую.
Известны устройства преобразования из десятичного двоично-кодированного представления (BCD-код) в двоичный код, основанные на последовательном делении десятичного числа на 2. Цифры двоичного кода формируются, начиная с младшей, как остатки от этого деления.
Устройство преобразования содержит регистры десятичного и двоичного чисел с общей цепью сдвига вправо на 1 бит и схему коррекции, вход которой соединен с выходом десятичного регистра, а выход подключен к входу этого регистра, а также счетчик тактов по числу разрядов двоичного числа. Преобразование происходит по схеме “сдвиг-коррекция”: на каждом шаге преобразования осуществляется сдвиг регистров вправо, а затем коррекция кода в регистре десятичного числа с целью получения корректного значения частного от деления на 2.
Недостатком описанного устройства является низкая производительность, так как преобразование выполняется за n тактов сдвига и коррекции, где n - разрядность двоичного кода [1, 2].
Другой способ преобразования десятичного числа N=DkDk-1... Di... D2D1, где k - число десятичных разрядов, Di - i-я десятичная цифра, состоит в использовании рекуррентной формулы
Figure 00000002
При выполнении по формуле (1) в двоичной системе получаем двоичное значение N. При этом умножение двоичного числа на 10 заменяется сложением числа, сдвинутого на 3 бита влево (умножение на 8) с этим же числом, сдвинутым на 1 бит влево (умножение на 2).
Устройство преобразования (фигура 1) содержит регистры двоичного (1) и десятичного (2) чисел, мультиплексор тетрад десятичного числа (4), первый двоичный сумматор (3), второй двоичный сумматор (5) и счетчик тактов (6) по числу десятичных разрядов k.
Выход регистра двоичного числа соединен с входами двоичного сумматора 3, причем к первому входу он подключен со сдвигом на 3 бита влево, а ко второму входу - со сдвигом на 1 бит влево. Выход двоичного сумматора 3 подключен к первому входу двоичного сумматора 5, ко второму входу которого подключены выходы тетрад десятичного регистра 2 через мультиплексор тетрад десятичного числа 4, управляющий вход которого подключен к выходу счетчика тактов 6, а выход второго двоичного сумматора 5 соединен с входом двоичного регистра 1.
В каждом цикле преобразования выполняются следующие действия:
1) на входы первого двоичного сумматора (3) поступает код из двоичного регистра со сдвигом влево на 3 и 1 бит соответственно (умножение на 10), результат поступает на первый вход второго двоичного сумматора (5);
2) на второй вход второго двоичного сумматора (5) подается код очередной тетрады из десятичного регистра, начиная со старшей, результат поступает в двоичный регистр (1).
Процедура повторяется k раз, где k - разрядность десятичного регистра.
Описанное устройство является прототипом предлагаемого технического решения.
Недостатком устройства является неполное использование возможностей схемы с двумя двоичными сумматорами, полное использование которых позволило бы удвоить быстродействие устройства.
В предлагаемом техническом решении на каждом шаге обрабатывается две тетрады десятичного числа. Преобразование происходит в соответствии с выражением
Figure 00000003
где Bi - i-й байт (пара тетрад) десятичного числа. Умножение на 100 в соответствии с выражением 100=27+22-25 выполняется сложением двоичного числа, сдвинутого на 7 и 2 битов влево, и вычитанием этого же числа, сдвинутого на 5 битов влево. В состав устройства вводятся двоичное вычитающее устройство и преобразователь кода. На вход преобразователя кода подается старшая тетрада очередного байта десятичного числа, выходы преобразователя кода и младшей тетрады очередного байта десятичного числа соединены со свободными входами двоичного сумматора и двоичного вычитающего устройства.
В основе предлагаемого технического решения лежит то обстоятельство, что при передаче на входы двоичного сумматора и двоичного вычитающего устройства сдвинутых кодов остаются свободными входы семи младших разрядов первого входа двоичного сумматора, два младших разряда его второго входа и пять младших разрядов второго входа двоичного вычитающего устройства. Это позволяет совместить в одном такте умножение числа на 100 и прибавление очередного байта десятичного числа.
Работа преобразователя кода описывается таблицей 1 и системой логических выражений (3), где d1, d2, d3, d4 - биты старшей тетрады байта десятичного числа; a1, a2, а3, a4, а5, a6, a7 - младшие (свободные) биты первого входа двоичного сумматора; c1, c2 - младшие (свободные) биты второго входа двоичного сумматора; b1, b2, b3, b4, b5 - младшие (свободные) биты второго входа двоичного вычитающего устройства. Цифры над обозначениями этих переменных в таблице соответствуют их весовым значениям.
Figure 00000004
.
Преобразователь кода, осуществляющий следующие преобразования:
Figure 00000005
Figure 00000006
Figure 00000007
c1=d4,
Figure 00000008
Figure 00000009
где d1, d2, d3, d4 - биты старшей тетрады байта десятичного числа; а1, а2, а3 - младшие биты первого входа двоичного сумматора; c1, c2 - младшие биты второго входа двоичного сумматора; b2, b3 - младшие биты второго входа двоичного вычитающего устройства, есть комбинационная схема - дешифратор.
Схема предлагаемого устройства приведена на фигуре 2, где 1 - регистр двоичного числа, 2 - регистр десятичного числа, 3 - двоичный сумматор, 4 - мультиплексор байт, 5 - двоичное вычитающее устройство, 6 - счетчик тактов, 7 - преобразователь кода.
Выход регистра двоичного числа (1) подключен к первому входу двоичного сумматора (3), причем выход разряда i регистра двоичного числа (1) соединен с входом разряда i+7 первого входа двоичного сумматора (3) соответственно, и ко второму входу двоичного сумматора (3), причем выход разряда i регистра двоичного числа (1) соединен с входом разряда i+2 второго входа двоичного сумматора (3) и ко второму входу двоичного вычитающего устройства (5), причем выход разряда i регистра двоичного числа (1) соединен с входом разряда i+5 второго входа двоичного вычитающего устройства (5) (i=1, 2,... n; n - разрядность регистра двоичного числа (1), двоичного сумматора (3) и двоичного вычитающего устройства (5). Значение n зависит и равно разрядности исходного двоично-десятичного кода, который записывается в регистр десятичного числа (2)). Выход двоичного сумматора (3) соединен с первым входом двоичного вычитающего устройства (5). Выходы байтов Bk, Bk-1,... B2, B1 десятичного регистра (2) через мультиплексор байт (4) подключены соответственно старшая тетрада ко входу преобразователя кода (7), а младшая тетрада к младшим разрядам первого входа двоичного сумматора (3), причем управляющий вход мультиплексора байт (4) подключен к выходу счетчика тактов (6), одна группа выходов преобразователя кода (7) (а1a2а3) соединена с 5, 6 и 7 разрядами первого входа двоичного сумматора (3), вторая группа (c1) - со вторым разрядом второго входа двоичного сумматора (3) и третья (b2b3) соответственно с 4 и 5 разрядами второго входа двоичного вычитающего устройства (5). Выход двоичного вычитающего устройства (5) соединен с входом регистра двоичного числа (1).
Устройство работает следующим образом. Вначале в регистр десятичного числа (2) загружается преобразуемый десятичный код, регистр двоичного числа (1) сбрасывается, а в счетчик тактов (6) заносится число пар десятичных разрядов k. Затем выполняется k тактов преобразования. В каждом из них выполняются следующие действия:
1) осуществляется выбор байта из регистра десятичного числа (2) мультиплексором байтов (4) под управлением счетчика тактов (6), начиная с Bk;
2) старшая тетрада выбранного байта поступает на вход преобразователя кода (7), на выходе которого получаем коды а1a2а3, c1 и b2b3;
3) на первый и второй входы двоичного сумматора (3) подаются сдвинутое на 7 и 2 бит соответственно содержимое регистра двоичного числа (1), на младшие разряды с 1 по 4 первого входа двоичного сумматора (3) подается младшая тетрада очередного десятичного байта, на разряды с 5 по 7 первого входа двоичного сумматора (3) подается с преобразователя кода преобразованный код а1a2а3, на младший второй разряд второго входа двоичного сумматора (3) подается с преобразователя кода (7) преобразованный код c1;
4) результат суммирования передается на первый вход двоичного вычитающего устройства (5), а на второй вход двоичного вычитающего устройства (5) подается сдвинутое на 5 бит содержимое регистра двоичного числа (1), а на младшие разряды с 3 по 4 второго входа двоичного вычитающего устройства (5) подается с преобразователя кода (7) преобразованный код b2b3;
5) результат выполнения вычитания записывается в регистр двоичного числа (1).
Операция заканчивается при обнулении счетчика.
Положительный эффект предлагаемого технического решения состоит в сокращении времени преобразования по сравнению с аналогом в 2 раза.
Литература
1. Карцев М.А. Арифметика цифровых машин. М.: Наука, 1969 г. п.1.2.4, п.5.2.2.
2. Злобин В.К., Григорьев В.Л. Программирование арифметических операций в микропроцессорах: Учебное пособие для технических вузов. - М: Высш. шк., 1991. Стр. 134, 141, 127.

Claims (1)

  1. Устройство преобразования из десятичной системы счисления в двоичную, содержащее регистр десятичного числа, регистр двоичного числа, двоичный сумматор и счетчик тактов, отличающееся тем, что в устройство дополнительно введены двоичное вычитающее устройство, преобразователь кода и мультиплексор байтов, управляющий вход которого подключен к выходу счетчика тактов, а информационные входы соединены с выходами соответствующих байтов регистра десятичного числа, один выход мультиплексора байтов подключен ко входу преобразователя кода, преобразователь кода осуществляет следующие преобразования а1=d1 ∨ d2· d3,
    Figure 00000010
    Figure 00000011
    c1=d4,
    Figure 00000012
    Figure 00000013
    где d1, d2, d3, d4 - биты старшей тетрады байта десятичного числа, a1, а2, а3 - младшие биты первого входа двоичного сумматора, c1, c2 - младшие биты второго входа двоичного сумматора, b2, b3 - младшие биты второго входа двоичного вычитающего устройства, а другой - к первому входу двоичного сумматора, одна группа выходов преобразователя кода соединена с первым входом двоичного сумматора, вторая - со вторым входом двоичного сумматора и третья группа - со вторым входом вычитающего устройства, выход регистра выход разряда i регистра двоичного числа соединен с разрядом i+7 первого входа двоичного сумматора, со вторым входом двоичного сумматора, причем выход разряда i регистра двоичного числа соединен с разрядом i+2 второго входа двоичного сумматора и со вторым входом двоичного вычитающего устройства, причем выход разряда i регистра двоичного числа соединен с разрядом i+5 второго входа двоичного вычитающего устройства, где i=1... n, n - разрядность регистра двоичного числа, двоичного сумматора и двоичного вычитающего устройства, выход двоичного сумматора подключен к первому входу двоичного вычитающего устройства, выход которого подключен ко входу двоичного числа.
RU2003109603/09A 2003-04-04 2003-04-04 Устройство преобразования из десятичной системы счисления в двоичную RU2248094C2 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2003109603/09A RU2248094C2 (ru) 2003-04-04 2003-04-04 Устройство преобразования из десятичной системы счисления в двоичную

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2003109603/09A RU2248094C2 (ru) 2003-04-04 2003-04-04 Устройство преобразования из десятичной системы счисления в двоичную

Publications (2)

Publication Number Publication Date
RU2003109603A RU2003109603A (ru) 2004-12-20
RU2248094C2 true RU2248094C2 (ru) 2005-03-10

Family

ID=35365046

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2003109603/09A RU2248094C2 (ru) 2003-04-04 2003-04-04 Устройство преобразования из десятичной системы счисления в двоичную

Country Status (1)

Country Link
RU (1) RU2248094C2 (ru)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ЗЛОБИН В.К. и др. Программирование арифметических операций в микропроцессорах: Учебное пособие для технических вузов, М.: Высшая школа, 1991, с.127, 131, 141. *

Similar Documents

Publication Publication Date Title
US20110264719A1 (en) High radix digital multiplier
RU2248094C2 (ru) Устройство преобразования из десятичной системы счисления в двоичную
JPS5841532B2 (ja) セキワケイサンカイロ
SU723567A1 (ru) Преобразователь двоично-дес тичного кода в двоичный код
SU577524A1 (ru) Преобразователь двоичного кода смешанных чисел в двоично-дес тичный код
SU748409A1 (ru) Устройство дл умножени двоично- дес тичных чисел
SU1283979A1 (ru) Преобразователь двоично-дес тичного кода в двоичный
SU1003074A1 (ru) Устройство дл параллельного алгебраического сложени в знакоразр дной системе счислени
RU2148270C1 (ru) Устройство умножения
SU357561A1 (ru) Устройство для умножения
SU1437857A1 (ru) Устройство дл делени двоичных чисел в дополнительном коде
SU676986A1 (ru) Цифровой функциональный преобразователь
SU151117A1 (ru) Дес тичный сумматор
SU807276A1 (ru) Суммирующее устройство
SU517890A1 (ru) Преобразователь двоично-дес тичного кода в двоичный
SU711570A1 (ru) Арифметическое устройство
SU1249508A1 (ru) Устройство дл умножени (его варианты)
SU1179322A1 (ru) Устройство дл умножени двух чисел
SU363119A1 (ru) Регистр сдвига
SU809153A1 (ru) Устройство дл преобразовани двоичныхчиСЕл B дВОичНО-дЕС ТичНыЕ
SU1432512A1 (ru) Конвейерное вычислительное устройство
SU822174A1 (ru) Преобразователь пр мого двоично- дЕС ТичНОгО КОдА B дОпОлНиТЕльНыйдВОичНО-дЕС ТичНый КОд
JP2813513B2 (ja) データ変換回路
SU1182513A1 (ru) Последовательное устройство дл делени чисел в дополнительном коде
SU849205A1 (ru) Конвейерное устройство дл выполне-Ни АРифМЕТичЕСКиХ ОпЕРАций НАдМНОжЕСТВОМ чиСЕл

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20050405