Устройство для умножения
Изобретеиие относится к области вычислительной техники и может быть использовано при разработке быстродействующих устройств для умножения десятичных чисел. Оно макет быть также применено в качестве основы при разработке универсальных быстродействукицих устройств умн исения двоичных и десятичных чисел. Ценлью изобретения является повьшение быстродействия устройства. Устройство содержит регистры множимого, множителя и произведения, матрицу блоков десятичного умножения, блок двоичного суммирования, блок тетрадного суммирования, блок суммирования тетрадных переносов, блок коррекции и блок десятичного суммирования. Блок тетрадного суммирования содержит узелы суммирования тетрад, блок суммирования тетрадных переносов содержит узлы суммироваиия тетрадных переносов , блок коррекции содержит узлы умножения на шесть, узлы суммир)ваг ния и преобразователи двоичного кода в десятичный. Цель достигнута за S счет введения в устройство матрицы блоков десятичного умножения и блок-а (Л тетрадного суммирования, содержащего узлы суммирования тетрад, причем в блоке коррекции узлы умножения на шесть и узлы сумм1фования .выполнены двоичными. При этом выход младшей тетрады первого блока десятичного умножения первой строки матрицы подключен к входу младшего разряда регистра произведения. I ил.
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК
ОПИСАНИЕ ИЗОБРЕТЕНИЯ 13 ГОСУДАРСТВЕННЫИ КОМИТЕТ СССР . ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ К АВТОРСКОМ У СВИДЕТЕЛЬСТВУ (21) 3875065/24-24 (22) 25.03,85 (46) 07.10.86. Бюл. У 37 (7!) Минский радиотехнический институт (72) А.А. Шостак (53) 68! .325(088.8) (56) Авторское свидетельство СССР Ф .!073??1, кл. G 06 F 7/52, !982. Авторское свидетельство СССР . У 1157542, кл. G 06 F 7/52, 1982. Авторское свидетельство СССР У 1229757, кл. G 06 F 7/52, 1982. (54) УСТРОЙСТВО ДЛЯ УИИО!!!Е Ы (57) Изобретение относится к области вычислительной техники н может быть использовано при разработке быстродействующих устройств для умножения десятичных чисел. Оно может быть также применено в качестве основы при разработке универсальных быстродействующих устройств умножения двоичных и десятичных чисел. Це-, лью изобретения является повышение быстродействия устройства. Устройст„„Я0„„1262484 А 1 во содержит регистры множимого, множителя и произведения, матрицу блоков десятичного умножения, блок двоичного суммирования, блок тетрадного суммирования, блок суммирования тетрадных переносов, блок коррекции и блок десятичного суммирования, Блок тетрадного суммирования содержит узелы суммирования тетрад, блок суммирования тетрадных переносов содержит узлы суммирования тетрадных переносов, блок коррекции содержит узлыумножения на шесть, узлы суммирова= ния и преобразователи двоичного кода в десятичный. Цель достигнута за счет введения в устройство матрицы блоков десятичного умножения и блока /ф тетрадного суммирования, содержащего узлы-суммирования тетрад, причем в блоке коррекции узлы умножения на шесть и узлы суммирования .выполнены ф двоичными. При этом выход младшей тетрады первого блока десятичного умножения первой строки матрицы подключен к входу младшего разряда реги- ©3I стра произведения. ил. hO в3Ь 1262484 Изобретение относится к вычислительной технике может быть использовано при разработке быстродействующих устройств для умножения десятичных чисел и также применено в качестве основы при разработке универсальных быстродействующих устройств умножения двоичных и десятичных чисел. Целью изобретения является повыше ние быстродействия устройства. На чертеже приведена структурная схема предлагаемого устройства для умножения в предположении, что количество тетрад разрядов как у множителя, так и у множимого равно m. Устройство содержит регистры 1-3 соответственно множимого, множителя и произведения, матрицу блоков 4 десятичного умножения, блок 5 двоичного суммирования, блок 6 тетрадного суммирования, блок 7 суммирования тетрадных переносов, блок 8 коррекции и блок 9 десятичного суммирования. Блок б тетрадного суммирования содержит узлы 10 +)О,, суммирования тетрад, блок 7 суммирования тетрадных переносов содержит узлы 11 + +1! z суммирования тетрадных переносов, блок 8 коррекции содержит узлы . 12 +12, умножения на шесть, узлы 1 2,-2 )3 +13, суммирования и преобразо1 2г - 2 ватели 14 +14, двоичного кода в де2 - 2 сятичный, выходы 15, +)5, тетрадных переносов блока 5 двоичного суммирования. Регистры 1 и 2 соответственно множимого и множителя предназначены .для хранения m-разрядных десятичных сомножителей, в регистр 3 произведения записывается 2m-разрядное десятичное произведение. Каждый блок 4 десятичного умножения матрицы предназначен для десятичного перемножения двух десятичных цифр (цифры множимого и цифры множителя), представленных, например, в коде 8-4-2-1. Пусть, например, цифра множимого равна 9, а цифра множителя равна 7, тогда на выходах старшей и младшей тетрад блока 4 будет сформирован результат )00) 0))1=0))0.00)), На выходах младших и старших тетрад блоков 4 десятичного умножения одной строки матрицы формируются два m-разрядных десятичных слагаемых, смещеналых одно относительно другого на один десятичный разряд: первое слагаемое образовано значениями. младших тетрад блоков 4, а второе — значениями старших тетрад блоков 4 десятичного умножения. Всего же на выходах матрицы блоков 4 десятичного умножения образуется 2m m-разрядных десятичных слагаемых, которые далее поступают на входы блока 5 двоичного суммирования в соответствии со значениями весов их разрядов. Блок 5 двоичного суммирования )О предназначен для параллельного, по возможности, суммирования по правилам двоичной арифметики 2m m-разрядных десятичных слагаемых, сформированных на выходах матрицы блоков 4 )5 десятичного умножения и поступающих на входы блока 5 в соответствии со значениями весов их разрядов. На выходах тетрад блока 5 образуется результат в k-рядном двоичном коде 20 (,k--2,3...,Р; Р— число рядов кода на данном выходе тетрад блока 5 двоичного суммирования), а на выходе 15 + +)5 из блока 5 поступают тетрадные переносы. Например, на выход 15, по25 даются только те переносы, которые. образуются в первой наименее значимой тетраде блока 5 при двоичном суммировании в нем десятичных слагаемых и которые должны поступить и поЗ0, ступают в его соседнюю более старшую тетраду для правильного формирования результата на его выходах тетрад. Переносы, которые возникают в первой тетраде блока 5 и в ней же используются, на его выход 15, не должны подаваться. Тетрадные переносы, значения которых поступают на выходы 15, — 15>, блока 5, могут быть как одноразрядными двоичными числами, так и многоразрядными (двухразрядными, трехразрядными или четырехразрядными).Последнее имеет место, например, при использовании в блоке 5,двоичного суммирования многовходо-. вых параллельных комбинационных счетчиков с целью увеличения его быстродействия. Блок 6 тетрадного суммирования содержит узлы 10„-10, суммирования тетрад. В них осуществляется 50 двоичное суммирование значений тетрад, образовавшихся на соответствующих выходах тетрад блока 5. На выходах узлов 10, -10 результат сум55 мирования формируется в однорядном двоичном коде. Узлы 101-)0,) суммирования тетрад фактически являются преобразователями k-рядных двоичных кодов в однорядные и могут быть раз3 1?6? рабатаны известными методами и сред— ствами. Блок 7 суммирования тетрадных содержит узлы 11 †1 2 2m 2 каждый иэ которых выполняет двоичное суммирование тетрадных переносов, формируемых только в одной тетраде блока 5. Например, узел 11 производят суммирование только тех переносов, которые образуются в m-й тетраде блока 5 двоичного суммирования и обязательно передаются в его (ш+1)-ю тетраду. С целью уменьшения значений двоич-. ных сумм, фоомируемых на выходах уз- »5 лов 11 -ll блока 7 суммирования тетрадных переносов при умножении в устройстве чисел большой разрядности, узлы )I, — 11 „, 2 суммирования тетрадных перейосов соединены цепью десятичного переноса. Это позволяет существенно упростить блок 8 коррекции и блок 9 десятичного суммирования. Для обеспечения при этом высокой скорости работы блока 7 значения 25 десятичных переносов узлов ll -ll &3 должны зависеть только от значений сумм, поступивших на их входы тетрадных переносов с разновесовых выходов 15 -15 блока 5, и не зависеть от значений их входных переносов. А зто означает, что десятичный перенос, сформированный на выходе переноса J-ro узла ()cj<2m-3), поступает на вход переноса ()+I)-го узла 11 и в нем обязательно локализу35 ется, т.е. этот перенос не может вызвать сигнал десятичного переноса ,из (1+1)-го узла )1, который в свою очередь мог бы вызвать сигнал переноса из ()+2)-го узла Il и т.д. Фор40 мирование десятичных переносов в блоке 7 может быть организовано по разному, в частности оно может быть следующим: если на вход j-ro узла 11 блока 7 поступает с выхода 15 j 45 блока 5 число тетрадных переносов )06N<20, то на его выходе переноса образуется значение переноса, равное единице; если 20 50 и т.д. При этом должны корректироваться определенным образом выходные двоичные суммы узлов )I.-ll блока 7. йгз-Э Блок 8 коррекции содержит узлы )2 -)2 2 умножения на шесть, узлы )3 -!3 » 32 2 сумммирования и преобра484 4 зователи 14 -!4 двоичного кода Ъ -2 в десятичный. По значениям сумм тетрадных переносов, полученным на выходах узлов )1, — 1) блока 7, в бло2m-2 ке 8 с помощью узлов 12 -12 умножения на шесть формируется коррекция для результата, образовавшегося на выходах узлов !О, -10, суммирования тетрад блока 6 тетрадного суммирования. Такой принцип формирования коррекции объясняется тем, что при двоичном суммировании в блоке 5 десятичных слагаемых для получения правильного конечного результата необходимо всякий раз, когда возникает одноразрядный перенос из тетрады, корректировать эту тетраду путем добавления к ней числа,6. С целью увеличения быстродействия блока 5 и сокращения количества его оборудования это добавление числа 6 в нем не производится. Вместо этого в блоке 7 суммирования тетрадных переносов для каждой весовой позиции блока 5 подсчитывается число тетрадных переносов, по значению которого в соответствующем узле 12 умножения на шесть блока 8 формируется правильная коррекция. В узлах 12 -!2, осуще| 2m-2 ствляется двоичное умножец|»е на шесть, и они фактически являются двухвходовыми двоичными сумматорами со сквозным, либо ускоренным распространением переноса. В блоке 8 с помощью узлов 13 f. 13, производится равновесовое двоичное подсуммирование значений коррекций, образованных на выходах узлов 12» -12 2 умножения на шеСть, 1 к значениям результатов, сформированных на выходах соответствующих узлов 10, — 10 < суммирования тетрад блока 6. Образовавшиеся при этом на выходах узлов I 3,,-13 двоичные суммы преобразуются на соответствующих преобразователях 14, -142 2 в десятичные. Узлы 13 -13 являются | . 2m-2 быстродействукнцими двоичными сумматорами для сложения двух чисел. Следует отметить, что совокупность узлов )2-14 одного разряда блока 8 коррекции может быть реализована по соответствующей таблице истинности в виде малоразрядного быстродействующего ПЗУ .небольшой емкости., Блок 9 десятичного суммирования предназначен для быстрого суммирования десятичных результатов, сформиро)262 5 га«ных «а выходах преобразователей )4 -14, дноич«ого код» н десятич1 . 1- г г ный с уч етои весов их разрядов (к р оме этого, н а вход старшего разряда блока 9 поступает з «ач е «и е р е э ультата, образованного и а выходе последнего узла 1 0, блока 6 тетрадного суммирования) . Организуя опр еделе иным образом вычисление десятичных переносов в узлах 1 ) 1 — ) ) 2 3 блок а 7 I Q и регулируя рядность двоичного кода на выходах те тр ад блока 5, в большин с тв е практических случаев можно обеспечить формирование н а выходах преобразователей 1 4, — 1 4 2, 2 блока 8 коррекции двухр аз р ядных десятичных р е э уль та тов, а следовательно, в кач е с тв е блока 9 де сятично г о суммиро в ания в ус тр ойс тв е может быть применен быстродействующий десятичный сумматор 20 для сложения двух де ся тич ных чисел . Устройство работает следующим о браэ ом . Одновременно либо последовательно во времени в регистры l и 2 со от- 2g в е тств енно множимо го и множителя з агружаются m-разрядные десятичные множители . После загрузки операндов в о входные регистры 1 и 2 устройства н ачинают работать блоки 4 десятичного умноже ния матрицы, с помощью которых формируются в дв оично-десятичном коде (н ап ример, в к оде 8 †4 2 - 1 ) т етр адные произведения соответствующих деся тичных цифр множимо г о и множителя . Образованные на выходах блоков 4 десятичного умножения матрицы э начения младших и старших тетрад этих и роиз в едений по ступ ают далее на входы блока 5 двоичного суммиров ания в 4О со отв етств ии со значениями весов их разрядов в виде 2m m-разрядных десятичных слагаемых . В блоке 5 о сущес твляется быстрое суммирование этих 2m десятичных сла г а емых, пр едс тавленных 45 в двоично -десятичном коде, к ак двоичных чисел, в результате чего на выходах тетрад блока 5 образуется k-рядный дв оичный код (k= 2, 3, .. . . .. Х ; 2, — число рядов дв оич но го кода о н а данном выходе те трад блока 5 двоично го суммирования), который в дальн ейш ем для каждог о выхода тетрад блока 5 преобразуется к однорядному двоичному коду на соответствующем узле 1 0 блока 6 тетрадного суммир ов а ния . Параллельно с работой блока 6 и частично параллельно с работой 484 блока 5 в блоке 7 формируются суммы тетрадных переносов, образовавшихся вь!хода 15 -)5 2 блокч 5 двои о2ь 2 го суммирования, по кот рым н узлах 12 — 12 умно>кен«я на шесть блока 1 2гг -2 8 формируется коррекция для результата, получившегося »а выходах блока 6 тетрадного суммирования. С помощью узлов 13 -13 блока 8 произ2 rii- Q водится равновесоное двоичное пОдсуммирование значений коррекций, образованных на выходах узло.< 12 12. умно;;.".-ния на шесть, к значениям 2 г -2результатов, сформированных на выходах соответствующих узлов 10, -10 суммирования тетрад блока 6. Образовавшиеся при этом на выходах узлов, 1.3„ †)3, < двоичные суммы преобразуются на соответствующих преобразователях 14, — 14,, в десятичные, которые далее суммируются в блоке 9 десятичного суммирования в соответствии со значениями весов их разрядов. На выходе блока 9 десятичного суммирования получается окончательный результат умножения в устройстве двух m-разрядных чисел, который и записывается в соответствующие разряды регистра 3 произведения (в младший разряд регистра 3 записывается значение младшей тетрады произведения / первого блока 4 десятичного умножения первой строки матрицы). Формула и з о б р е т е н и я Устройство для умножения, содержащее регистры множимого, множителя, произведения, блок двоичного суммирования, блок суммирования тетрадных переносов, блок коррекции и блок де— сятичного суммирования, причем блок суммирования тетрадных переносов содержит узлы суммирования тетрадных переносов, блок коррекции содержит узлы умножения на шесть, узлы суммирования и преобразователи двоичного кода в десятичный, при этом выход i-го тетрадного переноса, где i=),2, 2m-2 (m-разрядность сомножителей), блока двоичного суммирования соединен с входом i-ro узла суммирования тетрадных переносов соответственно, выход которого соединен с входом i-ro узла умножения на шесть, выход которого соединен с первым входом i-ro узла суммирования, )-й выход ()=2,3,...,2m) блока десятичного 12624 Составитель Н. Маркелова Редактор В. Данко Техред Jl.Cåðäþêîâà Корректор Е. Сирохман Заказ 5428/46 Тираж 671 Подписное ВНИИПИ Государственного комитета СССР по делам изобретений и открытий 113035, Москва, Ж-35, Раушская наб., д. 4/5 Производственно-полиграфическое предприятие, r. Ужгород, ул. Проектная, 4 7 сумми;.:ования соединен с равновесовым ,j-м входом разряда регистра произведения, i-й выход десятичного переноса узла суммирования тетрадных переносов соединен с входом переноса 5 (i+1)-го узла суммирования тетрадных переносов, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, устройство содержит матрицу блоков десятичного умножения и . 10 блок тетрадного суммирования, содержащий узлы суммирования тетрад, узлы умножения на шесть и узлы суммирования блока коррекции выполнены двоичными, причем первые входы блоков десятичного умножения k-й строки матрицы (k=1,2...m) соединены с выходом k-й тетрады регистра множителя, вторые входы блоков десятичного умножения k-го столбца матрицы соединены с 20 выходом k-й тетрады регистра множимого, выход младшей тетрады первого блока десятичного умножения первой строки матрицы соединен с входом младшего разряда произведения, вы- 25 84 8 ходы старших тетрац k-x и младших тетрад j .-x блоков десятичного умножения первой строки матрицы и выходы младших и старших тетрад k-х блоков десятичного умножения Х-й строки (2=2,3,...,m) матрицы соединены с входами блока двоичного суммирования в соответствии со значениями весов разрядов, выход р-й -тетрады которого (p=l,2...2m-l) соединен с входом р-го узла суммирования тетрад, выход i-го узла суммирования тетрад соединен с вторым входом i-го узла суммирования, выход i-го узла суммирования соединен с входом i-ro преобразователя двоичного кода в десятичный, выход i-го преобразователя двоичного кода в десятичный соединен с входом i-го разряда блока десятичного суммирования, соответствующего значению веса разряда, выход (2m-l)-го узла суммирования тетрад соеди- " нен с входом старшего разряда блока десятичного суммирования.