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

Иллюстрации

Показать все

Реферат

 

Изобретение относится к вычис гительной технике и может быть использовано в процессорах ЦВМ с повьшенной достоверностью обработки данных. Целью изобретения является повышение быстродействия устройства. Это достигается тем, что устройство для умножения , содержащее регистр 7 множимо-, го, регистр 8 обратного кода множимого , блок 25 микропрограммного управm пт /21Г V I (Л Ш9 со 00 со ел 9иг .1 №

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

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

РЕСПУБЛИН (19) (11) m 4 6 06 F 7/49

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

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 4054455/24-24 .(22) 14.04.86 (46) 23.09,87. Бюл. 9 35 (72) В.В.Роздобара, Г.В.Кремез, И.А.Баранов, Ю.Г.Пехтерев и С.Н.Зимин (53) 681. 3 (088. 8) (56) Авторское..свидетельство СССР

К- 997031, кл.G 06 F 7/49, 1981.

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

9 1130859, кл. G 06 F. 7/49, 1983. (54) УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ (57) Изобретение относится к вычиспительной технике и может быть использовано в процессорах ЦВМ с повышенной достоверностью обработки данных.

Целью изобретения является повышение быстродействия устройства. Это достигается тем, что устройство для умножения, содержащее регистр 7 множимо-. го, регистр 8 обратного кода множимого, блок 25 микропрограммного управ1 ления, регистр 9 множителя, три блока 10-12 контроля, блок 13 преобразования, четыре группы элементов

И 16-19, группу элементов ИЛИ 23, сумматор 24, элемент И 22 и функциональные связи, снабжено блоком 14 анализа, дополнительным регистром

339551

15, пятой и шестой группами элементов И 20-21 и дополнительными функциональными связями, что позволяет при умножении 49-разрядных "золотых" кодов I-пропорции увеличить среднее быстродействие устройства в 1,23 раза. 4 ил. 1 табл.

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

1-кодов и может быть использовано в

5 процессорах ЦВМ с повышенной достоверностью обработки данных.

Цель изобретения — увеличение быстродействия устройства.

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

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

4 задания константы, вход 5 "Пуск", 2р вход 6 синхронизации, регистры 7-9 множимого, обратного кода множимого и множителя, три блока 10-12 коррекции, блок 13 преобразования "золото- . го" кода множимого в обратный код, 25 блок 14 анализа, дополнительный регистр 15, шесть групп элементов

И 16-21, элемент И 22, группу элементов ИЛИ 23, сумматор 24, блок 25 микропрограммного управления, выход gp

26 результата, выход 27 сигнала ошиб-.. ки сумматора, выход 28 признака окончания умножения, выход 29 сигнала ошибки регистров, вход 30 признака нормализации кода блока 25, тринадцать выходов 31-43 блока анализа, входы 44 и 45 признаков окончания нормализации и сложения блока 25, одиннадцать выходов 46-56 блока 25.

Сумматор 24 (фиг.2) содержит регистр 57 суммы, блок 58 нормализации, блок 59 фиксации окончания нормализации, регистр 60 коррекции, элемент

ИЛИ 61, регистр 62 переносов, блок

63 фиксации окончания суммирования, полусумматор 64, блок 65 контроля. сумматора, выход 66 знакового разряда регистра суммы.

Блок 25 микропрограммного управления (фиг.3) содержит блок 67 формирования адреса, блок 68 памяти микрокоманд, регистр .69 микрокоманд, коммутатор 70, дешифратор 71, счетчик 72, элемент ИЛИ 73.

Регистр 7 множимого предназначен для хранения золотоrо" I-кода мно— жимого. Регистр 8 предназначен для хранения обратного кода произведения (oL А), где А — код множимого. Регистр 8, также как регистры суммы 57 и коррекции 60, содержит входную коммутирующую логику, реализованную на элементах И и ИЛИ для обеспечения записи в него информации по нескольким входам. !

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

Блоки 10-12 контроля предназначены для контроля регистров 7-9 на нор-. мальность хранимой информации, т.е. отсутствие единиц в двух соседних разрядах "золотого" 1-кода.

Блок 13 предназначен для образования обратного "золотого" I-кода (м. А)

Блок 14 и регистр 15 предназначены для преобразования кода множителя в код с минимальным числом значащих цифр, управления группами элементов

И 16-21 и выработкой признаков для блока 25. Блок 14 анализа может быть реализован на ПЗУ.

Сумматор 24 предназначен для сложения очередных частичных произведе1339551 ний с их текущей суммой по правилам

"золотой" I-системы счисления, Устройство работает следующим образом.

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

Для выполнения умножения на входы устройства подается следующая информация: на вход 1 — прямой п золотой I-код множимого, на вход 2 — инверсное значение сдвинутого на 2 разряда влево

"золотого" I-кода множимого, на вход

3 — прямой "золотой" 1-код множителя, на вход 4 — двоичный код числа и (--- + 2) тактов умножения.

Блок 25 анализирует наличие сигнала "Пуск" на входе 4 (блок Вl блоксхемы алгоритма). Для этого сигнал с выхода 4 через коммутатор 70, управляемый сигналами на выходах 74 и .75 регистра 69, поступает на блок 67.

В зависимости от значения этого сигнала блок 67 формирует адрес микрокоманды продолжения анализа выхода

4, либо первой микрокоманды умноже-. ния. При появлении сигнала Пуск" эта команда с единицей в первом разряде из блока 68 записывается в регистр 69 по синхросигналу на входе

5.При этом возбуждается выход 46 по сигналу, по которому осуществляется запись информации в регистры 7 — 9, блок 13 и счетчик 72, а также обнуление дополнительного регистра 15, регистра 57 и регистра 60 (блок В2).

Для получения правильного результата умножения регистры 7 и 8, блоки

10 и 11 контроля, блок 13 преобразования и сумматор 24 имеют три дополнительных старших разряда.

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

8 они устанавливаются в единицу. По сигналу с выхода 30 блока ll определяется, нормализован ли код в регистре 8 (блок ВЗ). Если (30)=0, то осуществляется запись частично нормализованных кодов из блока 13 в регистр 8 по сигналам с выхода 47 (блок В4) .

По окончании нормализации кода в регистре 8 ((30)=1) на выходе 49 блока 25 вырабатывается сигнал, 5 управляющий элементом И 22, и выходы блоков 10 — 12 подключаются к выходу

29 сигнала ошибки регистров (Цлок

В5). Далее сигнал на выходе 49 вырабатывается в каждой микрокоманде

1р вплоть до окончания умножения.

Затем начинается процесс умножения множимого на группы из трех раз-.. рядов множителя, преобразованные с помощью блока 14 и регистра 15 так, 15 чтобы-,в каждой группе находилось минимальное число значащих цифр. В таблице показаны логический способ преобразования кода множителя, вид кратного множимому, соответствующий

20 (i) é преобразованной триаде разрядов множителя, и возбуждаемые выходы блока 14 для управления пропуском этого кратного множимому на сумматор в 1-м такте записи частично преобразованной (i+1) -й триады в регистр 15 и выработки признаков для блока 25.

Признаки, вырабатываемые на выходах 40-43 блока 14, соответствуют случаям, когда преобразованная триа30 да разрядов множителя принимает значения, приведенные в таблице.

Анализируя эти признаки, блок 25 формирует одну из трех мокрокоманд (блок В6) .

35 Если (40,41,42,43)=1100, т.е. очередное частичное произведение равно (. А ) „, то возбуждаются выходы 50, 51 и 53.

По сигналу на выходе 50 код

40 о (о А),, поступающий на сумматор из регистра 8 со сдвигом Hà I разряд в сторону младших разрядов через группу элементов И 20 ((35)=1) и группу элементов ИЛИ 23, записыва45 ется в регистр 62.

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

Сигнал на выходе 53 является сигналом коррекции сложения кода суммы

55 частичных произведений с кодом (о А), так как код о (о к

" А),оо, записанный в регистр 62, отличается от требуемого значения кратного множимому (й А)о на величину

13

0,01. Поэтому для выполнения коррекции сигнал с выхода 53 поступает во второй разряд элемента ИЛИ 61.

Далее вырабатывается сигнал на выходе 52 блока 25, по которому осуществляется запись частичной суммы из полусумматора 64 в регистр 57 вместе с корректирующим членом через элемент ИЛИ 61 в регистр 6?.

Промежуточная сумма в регистре 57 приводится к нормальной форме с помощью блока 58. Сигналы записи частично нормализованной суммы вырабатываются на выходе 55 блока 25 (блок

В11), Сигнал об окончании нормализации кода в регистре 57 вырабатывается блоком 59 на выходе 44 сумматора (блок В10).

39551

5

15 в регистре 60 коррекции выполняется модифицированный сдвиг, при котором в освободившиеся после сдвига разряды записывае 0)0. При значении счетчика 72, равном 1, содержимое регистра коррекции по сигналу с выхода 56 записывается в регистр переносов, и из счетчика 72 вычитается 1 (блок В15) .

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

25 переходит в начальное состояние (блок B)6) .

При этом в младших разрядах регистра 57 суммы будет находиться прямой золотой 1-код произведения.

Сложение промежуточных сумм с промежуточными переносами продолжается до тех пор, пока переносы не станут, равны 0 и на выходе 45 блока 63 появится единичный сигнал (блок В12}.

Процесс сложения золотых" I-кодов в сумматоре контролируется бло— ком 65, в каждом разряде которого реализуется функция ошибки:

Г = d;(d„, vd„v S,„ S;, где d — перенос из I-го разряда; сумма в )-м разряде.

Сигнал об ошибке поступает на выход 27 сумматора.

В случае (40,41,42,43)=1010 возбуждаются выходы 50,5) и 54 блока 25 (блок Б7) . В регистр переносов записывается код к, (А)„ ((36)=1), а сигнал (54)= 1 в первый разряд элемента ИЛИ 61 для коррекции вели— чины ь . (м, А) на код 0.1 с целью получения правильного значения крат— ного множимому А

ОБР

После завершения работы сумматора и в случае (40,4) 42,43)= 0001 анализируется значение счетчика 72. Если его содержимое не равно 0 или что определяется по сигналам с выходов дешифратора 71, вырабатывается сигнал на выходе 48, по которому осуществляется сдвиг содержимого регистров 57 и 60 на 3 разряда в сторону младших разрядов, запись частично преобразованной триады разрядов множителя с выходов 37-39 блока 14 в регистр 15 и вычитание единицы из содержимого счетчика 72.

При значении знакового разряда ре— гистра 57 суммы, равном 1 ((66)=)), 25

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

Устройство для умножения, содержащее регистры множимого, обратного кода множимого и множителя, три блока контроля, блок преобразования золотого кода множимого в обратный код, четыре группы элементов И, группу элементов ИЛИ, элемент И, блок микропрограммного управления и сумматор, в состав которого входят регистр суммы, блок нормализации, блок фиксации окончания нормализации, полусумматор, блок контроля сумматора, регистр коррекции, элемент ИЛИ, регистр переноса, фиксации окончания суммирования, причем входы множимого и множителя устройства являются информационными входами регистров множимого и множителя соответственно, вход )-го разряда инверсного кода множимого (где 1=1,2,...,п, n — разрядность сомножителей) соединен с информационным входом (1+2)-го разряда регистра обратного кода множимого, группа выходов регистра множимого соединена с первыми входами элементов И первой, второй и третьей групп и входом первого блока контроля, выход регистра обратного кода множимого соединен с информационным входом блока преобразования "золотого" кода множимого в обратный код, с входом второго блока контроля и с первыми входами элементов И четвертой группы, выходы элементов И первой, второй, третьей и четвертой групп соединены с первыми, вторыми, третьи1339551 ми и четвертыми входами соответственно элементов ИЛИ группы, выходы которой соединены с первым информационным входом регистра пе5 реносов, выход которого соединен с первкм информационным входом полусумматора и с входом блока фиксации окончания суммирования, выход которого соединен с входом признака окончания сложения блока микропрограммного управления, первый выход которого соединен с входом сброса регистра суммы и с входами разрешения записи регистров множимого, множителя, обратного кода множимого и блока преобразования "золотого кода множимого в обратный код, выход которого соединен с вторым информационным входом регистра обрат- 20 ного кода множимого, второй вход разрешения записи которого соединен с вторым выходом блока микропрограммного управления, третий выход которого соединен с входом разрешения 25 сдвига регистра суммы и регистра множителя, выход которого соединен с входом третьего блока контроля, выходы первого, второго и третьего блоков контроля соединены с первым, д0 вторым и третьим входами элемента И, выход которого является выходом сигнала ошибки регистров, второй ° вход элемента И соединен с четвертым выходом блока микропрограммного управ35 ления, входы пуска и синхронизации которого являются входами пуска и синхронизации устройства соответственно, выход. второго блока контроля соединен с входом признака нормали- 40 зации кода блока микропрограммного управления, пятый выход которого соединен с первым входом разрешения записи регистра переносов, второй информационный вход которого соединен с выходом элемента ИЛИ, первый вход которого соединен с выходом переноса

50

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

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

Вид крат- . Номер возбужного множи- даемых выхомому дов блока 4

Группы до преобра- Группы после преобрап/n зовайия яования 1 (1+1) -я (1) -я

000

000

000

1 000

2 000

3 000

4 000

5 000

6 001

7 001

8 001

9 001

10 010

I 1 010

12 010

13 010

14 . 010

15 100

)6 100

17 100

18 . 100

19 100

20 101

21 10)

22 101, 23 101

001

000

00!

010

000

010

Ы А

100

000

100

39,43

39,43

35,38 40 4!

ОО!

l!0

000

001

000

000

010

001 (Ы А)ов

А)акр

Ol O

35,38,40,41

010

010

001

38,43

38,43

31,38

34,37,40

35,37,40,4)

37,43

100

0IO

000

0)0

000

000

0Ol

001

010

100 (oL А)оь (eL A)qgp

l0O

010

100

0IO

100 I 10

100

000

37,43

000

000

100

31,37

32,37

33,37

34,37,38,40

34,37,38 40

35,37,38,40,41

36,37,38,40,42

)00

001

001

010

010

100

Ы А

lOO

100

100 (М, A)щ (Ы А) 110

100

110

000

010 (cL А)„ (А)

)!0

001

001

1IO

010

37,38,43

l I0

100

П р и и е В а н я е. ЛОО, 010, 00! - (40) 1.

010 (41) 1 °

00) — (42) I;

000 - (43) ).

9 133955!

10 входами элемента ИЛИ, второй вход переносов, выход переноса полусуммаразрешения записи регистра суммы сое- тора соединен с вторым входом блока динен с десятым выходом блока микро- контроля сумматора, двенадцатый выпрограммного управления одиннадцаЭ

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

1339551

26 27

4047 ФГ 4.7

Я 4Á 474149 Ю575Г5УЯ55М

1339551

Составитель Н.Маркелова

Техред М.Ходанич

Редактор Е.Папп

Корректор А. Обручар

Заказ 4222/38

Тираж 672 Подписное

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

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

Производственно-полиграфическое предприятие, r.Óæãoðoö, ул.Проектная, 4