Устройство для умножения

Иллюстрации

Показать все

Реферат

 

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

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК

s 0 06 F 7/52

ГОСУДАРСТВЕННЫЙ КОМИТЕТ

ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ

ПРИ ГКНТ СССР

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ и/р я/р

Z= g (У1 > Х (2Р ) )(2Р), i=1 i=1 (21) 4699058/24 (22) 04.04.89 (46) 23.08.91, Бюл. М 31 (72) А,И,Бобровский, Ж.Б.Ерема-Еременко, И.А,Лезин, B.Н.Марчук и И.С.Тищишин (53) 681,325(088.8) (56) Авторское свидетельство СССР

М 798820, кл. G 06 F 7/38, 1978.

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

N 754412, кл, G 06 F 7/52, 1978, (54) УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ

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

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

В устройстве операнды положительные числа. представляются в виде А= ; ai2 .

-1

i 1

aiE. {О, 1}, где А = а1а2...а двоичный и-разрядный код числа А. Выполнение операции умножения в предлагаемом устройстве, так же как и в известном, основано на таблично-алгоритмическом методе умножения, одНако в отличие от известного в предлагаемом устройстве процесс умножения конвейеризован за счет совмещения во времени получения элементарных произве... SU,, 1672441 Al (57) Изобретение относится к цифровой вычислительной технике и предназначено для умножения и сдвига чисел, представленных в двоичной системе счисления, и может найти применение в высокопроизводительных вычислительных машинах и системах. Цель изобретения состоит в расширении функциональных воэможностей за счет выполнения операции сдвига путем введения блока формирования параметров сдвига, двух блоков поворота кода. коммутатора, счетчика и изменения связей. 6 ил. дений и накопления суммы частичных изведений. и л

Пусть Х= g xi2 и Y= у 2 множи

i =1 i =1 и множитель соответственно, где хь yi — значение i-x разрядов кодов сомножителей.

Тогда для представления точного результата Z = X Y требуется 2п-разрядный двоичный код.

Процесс вычисления произведения 2 запишется в виде где Х = х xi+1...õi+ -1 — i-я двоично-кодированная цифра кода множимого в канонической позиционной системе счисления с основаниемq =2;

Yi = yi ye+1...yi+p-1 — i-я двоично-кодированняа цифра кода множителя.

1672441

Таким образом, процесс умножения состоит из однотипных повторяющихся циклов. Во время очередного j-го цикла -e

П/У частичное произведение Yi, Xi 2 " выi =1 и числяется на — = К умножителях, выполр няющих операцию умножения р-разрядного двоичного кода У на р-разрядный двоичный код Xi с образованием произведения разрядности 2р и "собирается" в ni р двоично-разрядный код частичного произведения Х У на сумматоре.

Наличие регистра частичных произведений при соответствующем управлении позволяет организовать конвейер при вычислении Z, когда в один и тот же момент времени на одном сумматоре формируется частичное произведениде XYi+>, а на другом сумматоре формируется сумма частичных произвдений 7; =- Zi-1 2 " + XYi, причем Zo =О, Z--Zs.

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

Пусть d — число сдвигов (т.е. число разрядов, на которое необходимо сдвинуть двоичный код), Тогда сдви влево будет аналогичен умножению сдвигаемого кода на число 2 . При большом d умножение произd водить не выгодно иэ-за большого числа циклов умножения. Поэтому цвоичный код числа сдвигов дешифрируется и полученныи унитарный код разбивается на группы по р разрядов. Пусть в г-й группе р разрядов (г = 1,...,)2 /р(, где )а(— ближайшее к а целое, такое, что а )а(, С- разрядность числа сдвигов б) есть I (наэовем эту группу р разрядов параметром сдвига С). тогда производится умножение на r-ю группу р разрядов с помощью аппаратуры умножителя и r-1 (это число назовем параметром сдвига М, М

= г- 1) аппаратный сдвиг на р разрядов.

Число сдвигов M на р разрядов отслеживается с помощью счетчика и выполняется на сдвиговом регистре, который может быть реализован, например, с помощью косой передачи.

Сдвиг вправо аналогичен сдвигу влево повернутого кода. Поворотом кода бдует называть преобразование следующего вида.

Пусть двоичный и-разрядный код числа B имеет вид В = bib „.b>, то да после поворота он имеет вид В*=0,...b2 01

Поэтому при сдвиге вправо сдвигаемый код необходимо повернуть, произвести

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

На фиг.1 приведена гтруктурная схема вычислительного устройс.тва; на фиг,2 — пример реализации блока поворота кода; на фиг.3 — пример реализации блока формирования параметров сдвигов; на фиг,4-6 — относительные временные диаграммы сигналов на выходах блока микропрограммного управления при работе устройства

Устройство содержит (см. фиг.1) регистры множимого 1 и множителя 2, умножители

31-3к, сумматор 4 элементарных произведений, сумматор 5 частичных произведений, блок 6 формирования параметров сдвига, блок 7 микропрограммного результата. счетчик 8, второй блок 9 поворота кода, коммутатор 10 регистры 11 и 12 частичного произведения и результата соответственно, первый блок 13 поворота кода. выходы 1424 блока 7, входы 25 адреса первой микрокоманды, тактовый вход 26 и вход 27 окончания операции блока 7, вход 28 числа сдвигов устройства.

Блок поворота кода 9 (13) содержит (см.фиг.2) содержит первую 29 и вторую 30 группы элементов И, группу элементов ИЛИ

31.

Блок 6 формирования параметров сдвига (см. фиг,3) содержит дешифратор 32, первую 33 и вторую 34 группы элементов ИЛИ, шифратор 35.

Счетчик 8 предназначен для подсчета выполняемых сдвигов на р разрядов и циклов умножения и выда <и сигнала о завершении выполнения операций.

Блок 9 поворота кода предназначен для передачи на регистр множимого 1 множимои го или сдвигаемого кода X= g х,2 в норi =1 мальном виде или с поворотом в зависимости от направления сдвига.

Коммутатор 10 предназначен для передачи на регистр множителя 2 множителя или параметра сдвига С.

Регистр множимого 1 предназначен для хранения множимого или сдвигаемого кода X.

Регистр множителя 2 сдвиговый. и-разрядный, причем сдвиг осуществляется в сторону младших рдазрядов на р разрядов.

Предназначен для хранения множителя Y или параметра сдвига С.

Умножители Çi...3ê предназначены для вычисления очередного элементарного произведения XiYi, i = 1,...,К, имеют два р-разрядных входа и 2р-разрядный выход.

Сумматор 4 элементарных произведений -двуухвходовый, п-разрядный, предназ5

1672441 начни Qfl<) ф(эРг1(<Рп(3:эн)1Я cT<1PI

Сумматор 5 частичных пооиэнедении днухвходоный, п<р-разрядный. предназнз- <п чен для сложения двух слзгзеглых

Регистр результата 12 — n-I-p-разрядный сдвиговый, причем сдвиг осу<цестнляется l3 сторону старших разрядов. 11редназначен для хранения результзтон умножения или 15 сдига, Блок поворота кодл 13 предназначен для выдачи результата i,

НоМ виде или с <)o <)1, i о если:.! BL1( осуществлялся Bllpnno.

При вь<полн<эн(<и оп ".;<ци(1 (г.<ножения устройство рзбо < з<..т (1< .; ющим образом, В исходном состоя«и регистры 1, 2. 11, 12 обнулены (на ф(1(.1 цнии сброса и питания не показаны). По си(налзм блока 7 (на выходах 16, 17, 13, 24 18) r.)I

В каждом цикле углножения Х на очереднь е р разрядон нз y()pB(3 (i) K K B K > T o 35 показано на ф(1(.4. Число циклон углножения равно К - n!ð.

В первом (j -- 1) цикле по сигналу на выходе 21 бло< з 7 нз умножителях 3!...3v, происходит формиронзг<ие I< элег",ентарных произведений Xi Y! —, I = 1, 2 ..K, а ио сигна лу наа выходе 20 блока 7 они "ccF. ираются" на суглматоре 4 31 час» ое про згедение запись<нается на ре< и<.<1 1, одг о(эрегленг<(э происходит сдн(<г мно<кителя на р разрядов 45 в регистре vk

В последующих циклах происходит умножение Х нз очер".;1 <не р рлэрядо(э Y c однонременныгл сложениег. частичного произведения с содержа;иег",,".егистра 12, сдвинутыгл нз р р;эзрядов в ..орону младших разрядов с поr . )n<,üþ косой передачи на сумматоре 5 по си(н1. у I

В кл кдпм L

<1< k

CL1I НаЛЗМ НЗ НЬ ХОДЕ 15 (<рОИСХОдИт СчЕт цИКлен IIB с <ет

После завершения слож<.I

12 оказывается и р clзршис разрядов хода произведения з нз ре(истре 2 и-р млздшис разряд()н K()дл прпизнедения.

Об окончании операции угл)<ожег<3<я сигнализирует счет <èv..

При ныполl

В исходном ссс)(<янин регист<)ы 1, 2, 11, 12 обнулены. Нз упр

Г!о сигналам блока 7 на выходах (16, 17 18, 23, 2-1 I сдвиг;3(.глый код <врез блок поворота кода 9 в нормалhilîм ниде ириниглзется нз регистр 1. на ре

Вг<тем по сигналу на выходе 21 блока управления 7 на ум<<ожи<елях 31.Д3к происходит <1<ормировл(<ие К элемен зрных произ(<еден)<й Х, С, 11, 2,...,,V,, з по си(нзлу на выходе 20 блока 7 они "собирз<отся" на сумматоре 4 и частичное ироизьч)дение ззпол<инзетсч нз регистр(. 11. Затем ио си(нзлу на выходе 21 происходит сложение частичного произведения с нулем и запоминание результата на регистре 12.

l1o сигналам нз выходе 15 происходит не()Г»одимое число сдви(он влево нз р разрядов с одновременной иода <еи си(нзлов нз с

I IpL< выполнении оиеpi цl<и сдг<ига нпра«о н;3 управляющие входьi иогтупз<от сигналы г;)к К<3К 3TQ показано ><,«1

ci ;I )<злам (16, 17.?3, 24. 18) .днигземыи код че1) .з блок 9 поворота кодл с поворотом ир(1 <имзется в регистр 1

Далее процесс повторчетгя аналогично сдвигу влево.

По окончании операции сдни(з результат сниглается с регистра 12 через блок 13

rkof!opo a кода и с поворотом кода.

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

Устройство для умножe«L< содержащее регистры глножиглого и глножителя. К у(<ноя ителей (К = и/р, где i) разрядность операндов, р — количест<<о )д«онременно обрабатываемых разрядов оп .рзндз), сумглатор элементарных пр . (3(:ден)<й, ре1672441 гистр частичных произведений, сумматор частичных произведений, регистр произведения и блок микропрограммного результата, причем вход первого сомножителя каждого умножителя соединен с выходом соответствующих р разрядов регистра множимого, а вход второго сомножителя — с выходом р младших разрядов регистра множителя, входы разрядов первого слагаемого сумматора элементарных произведений соединен соответственно с выходами р старших разрядов каждого умножителя, выходы р младших разрядов j-го умножителя (j = 2...,К) соединены соответственно с входами (pj - р)-х разрядов второго слагаемого сумматора элементарных произведений, выходы р младших разрядов первого умножителя соединены соответственно с входами р младших разрядов регистра частичных произведений, входы последующих разрядов которого соединены с выходами соответствующих разрядов сумматора элементарных произведений, а выход — с входом первого слагаемого сумматора частичных произведений, вход второго слагаемого которого соединен с выходом регистра результата, информационный вход которого соединен с выходом сумматора частичных произведений, вход разрешения суммирования которого соединен с входом записи регистра результата, управляющим входом К умножителей и первым выходом блока микропрограммного управления. второй выход которого соединен с входом записи регистра множимого и первым входом записи регистра множителя, вход сдвига которого соединен с входом записи регистра частичных произведений, входом разрешения суммирования сумматора элементарных произведений и третьим выходом блока микропрограммного управления, четвертый выход которого соединен с входом сдвига регистра результата, о т л и ч а ю щ е е с я тем, что, с целью расширения функциональ10

40 ных возможностей за счет выполнения операции сдвига, в него введены блок формирования параметров сдвига, первый и второй блоки поворота кода, коммутатор и счетчик, вход установки которого соединен с пятым выходом блока микропрограммноro управления и первым выходом блока формирования параметров сдвига, второй выход которого соединен с первым информационным входом коммутатора, второй информационный вход которого соединен с входом множителя устройства. а выход — с первым информационным входом регистра множителя, второй информационный вход которого соединен с выходом р младших разрядов регистра результата, а второй вход записи — с шестым выходом блока микропрограммного управления, второй выход которого соединен с информационным входом счетчика, счетный вход и выход которого соединены соответственно с седьмым выходом и входом окончания операции блока микропрограммного управления, восьмои и девятьiA выходы которого соединены соответственно с первым и вторым управляющими входами коммутатора, выход регистра результата соединен с информационным входом первого блока поворота кода, выход которого соединен с выходом устройства, а первый и второй управляющие входы — соответственно с десятым и одиннадцатым выходами блока микропрограммного управления и первым и вторым управляющими входами второго блока поворота кода. информационный вход которого соединен с входом множимого устройства, а выход — с информационным входом регистра множимого, вход кода операции и управляющий вход устройства соединены соответственно с входом адреса первой микрокоманды и тактовым входом блока микропрограммного управления, вход блока формирования параметров сдвига соединен с входом числа сдвигов устройства.

1672441

Выходы блока упааоЛЕНОЯ

19.

16

18

МгпомаГпическое дреня

Фиг. 9

1672441

Й одь ба а улоодлсния

14

16

17

18

19

21

22

24

Фиг 5

° Ф

Вьподы йл Owo у раВлеииа

15 !

17

19

22

Abno omuvecroe dptn11 <

Составитель Е.Мурзина

Техред М.Моргентал Корректор А.Осауленко

Редактор А.Бер

Заказ 2840 Тираж 376 Подписное

ВНИИПИ Государственного комитета по изобретениям и открытиям при f KHT СССР

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

Производствен го-издательский комбинат "Патент", г. Ужгород, ул.Гагарина. 101