Устройство для умножения
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и представляет собой умножитель двоичных шестнадцатиразрядных чисел со знаком, выраженных в прямом коде, может быть использовано в высокопроизводительных вычислительных системах физического эксперимента . Цель изобретения - повышение быстродействия - достигается за счет того, что в устройстве, содержащем коммутатор 1, регистр множителя 2i - 2 ly, узел суммирования 3, элементы ИЛИ 4 и И 5, блок микропрограммного управления 6, состоящий из программируемой логической матрицы 7 и регистра 8, триггер 9, дополнительный коммутатор 12,- блок инверсии 13, узел 14 сдвига, сумматор 15, буферньш регистр 17, дополнительный узел сдвига 16, накапливающий сумматор 18 и распределитель 21 импульсов, осуществляется умножение двух чисел с помощью частичных произведений, которые вычисляются в ходе операции умножения и представляют собой числа, полученные умножением множимого, поступающего на вход 11« на четыре разряда множителя, поступающего на вход 10. 2 табл., 2 ил. с (Л z со .}
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИК
0 А1 (19) (11) (S1) g С 06 Р 7/52, 7/44
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 3984916/24 — 24 (22) 05.12.85 (46) 07,05,87. Бюл, Р .17 (71) Московский инженерно-физический институт (72) С,С.Мынкин, С.Г.Русанов и 10.П.Фирстов (53) 681,325 (088 ° 3) (56) Карцев 11.А., Брик В,A. Вычислительные системы и синхронная арифметика. — M.: Радио и связь, 1981, с. 337, рис. 7 ° 7 ° 1.
Там же, с. 173-174, рис, 4.3.1. (54) УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ (57) Изобретение относится к вычислительной технике и представляет собой умножитель двоичных шестнадцатиразрядных чисел со знаком, выраженных в прямом коде, может быть использовано в высокопроизводительных вычислительных системах физического эксперимента. Цель изобретения — повышение быстродействия — достигается за счет того, что в устройстве, содержащем коммутатор 1, регистр множителя 21—
2 ц, узел суммирования 3, элементы ИЛИ
4 и И 5, блок микропрограммного управления 6, состоящий из программируемой логической матрицы 7 и регистра 8, триггер 9, дополнительный коммутатор 12; блок инверсии 13, узел
14 сдвига, сумматор 15, буферный регистр 17, дополнительный узел сдвига 16, накапливающий сумматор 18 и распределитель 21 импульсов, осуществляется умножение двух чисел с помощью частичных произведений, которые вычисляются в ходе операции умножения и представляют собой числа, полученные умножением множимого, поступающего на вход 11, на четыре разряда множителя, поступающего на вход 10, 2 табл., 2 ил.
1309019
Изобретение относится к вычислительной технике и может быть использовано в высокопроизводительных информационно-вычислительных системах, создаваемых на основе больших интегральных схем, применяемых в комплексах физического эксперимента и управления быстропротекающими процессами.
Цель изобретения — повышение бы- 10 стродействия.
На фиг. 1 представлена функциональная схема устройства, на фиг.2 временная диаграмма работы распределителя импульсов умножителя.
Устройство для умножения (фиг.1) содержит коммутатор 1, предназначенный для передачи множителя П(, регистр 2„-2 4 множителя, узел 3 суммирования, элемент ИЛИ 4, элемент И 5, блок 6 микропрограммного управления, в состав которого входят программируемая логическая матрица (ПЛМ) 7 и регистр 8 хранения микроопераций, 25 триггер 9, вход 10 множителя, вход
11 множимого, дополнительный коммутатор 12, блок 13 инверсии, узел 14 сдвига, сумматор 15, дополнительный узел 16 сдвига, буферный регистр 17, накапливающий сумматор 18, в состав которого входят сумматор 19 и регистр
201-204, распределитель 21 импульсов вход 22 запуска.
Регистр 2 имеет возможность по сигналам распределителя 21 импульсов отключать выходные шины регистра 2924 от его входов и предназначен для перезаписи содержимого одной тетради множителя в следующую.
Узел 3, триггер 9, элементы 4 и
5 предназначены для формирования коррекции тетрады, загруженной в тетраду регистра 2 множителя.
Блок 6 микропрограммного управления, состоящий из ПЛИ, предназначенной для формирования управляющих сигналов (команд операций), и регистра, управляемого распределителем 21 и предназначенного для записи управляющих сигналов (команд операций), осуществляет управление работой устройства.
Зависимость между входной информацией ПЛМ 7 (тетрады) и ее выходной информацией (управляющие сигналы блока 6 управления R1-R12) приведена в табл. 1.
Коммутатор 1 предназначен для передачи множимого и способен переводить свои выходы в нулевое и третье состояние по сигналам R12, R1 блока
6. Коммутатор 1 может быть построен на логических элементах И, элементе
НЕ и двунаправленных ключах.
Сумматор 15 предназначен для суммирования входных кодов н способен переводить свои выходы в третье состояние по сигналу R2=0 блока 6. Управляемый инвертор 13 предназначен для инвертирования множимого по сигналу R3 блока 6, узел 14 предназначен для сдвига множимого /Х/.
Узел 14 сдвига может быть построен с помощью трех групп коммутирующих ключей (по три ключа в группе) и трех групп заземляющих ключей. Ключи управляются сигналами К4, R5, R6 блока 6.
Накапливающий сумматор 18 состоит из сумматора 19, предназначенного для суммирования частичных произведений, записанных в регистры 17 и 20, причем вход переноса сумматора 19 соединен с выходом сигнала К11, записанного в регистр 17, и регистров-накопителей 20 -204, предназначенных для хранения младщих разрядов результата, не участвующих в дальнейшем выполнении операций, причем старшие 15 разрядных выходных шин и выходная шина знакового разряда регистра 20 соединены с входными шинами второго слагаемого сумматора 19 следующим образом.
Шина знакового разряда с выхода регистра 20 соединена с входной шиной знакового разряда и четырьмя входными шинами старших разрядов, выходные шины регистра 20, с 1 по 15 соединены с входными шинами второго слагаемого сумматора 19 соответственно с
5 по 19, все выходные шины регистровнакопителей 20,-204 соединены с выходами устройства соответственно старшинству разрядов результата, записанного в них, Устройство позволяет умножать двоичные шестнадцатиразрядные числа представленные в прямом коде. Устройство позволяет осуществлять выполнение алгоритма умножения двух чисел
Х и Y„ который сводится к четырем тактам суммирования частичных произведений, полученных разбиением множителя У на группы по 4 бита и умножением каждой из групп на множимое /Х/.
Алгоритм вычисления частичных произведений вида /Х / У приведен в табл. 2. 5
Устройство работает следующим образом.
Пусть необходимо вычислить произведение двух шестнадцатиразрядных чисел Х и Y представленных в прямом >0 коде с фиксированной запятой, причем
/X/ < 1, /Y/ c 1.
Пусть X=X Х Х ...Х у=у у у у ( где Х, Y — знаковые разряды чисел 15
Хи Y
3.=2 ° ° . 16 значащие разряды чисел
ХиY.
Разобьем /У/. на группы по 4 бита (тетради), начиная со старших разря- 25 дов. Обозначим тетрады через У, j=1,2,3,4. Очевидно, что старший разряд У> всегда равен О.
Алгоритм умножения состоит в преобразовании произведения модулей со- 30 множителей для получения модуля ре-. зультата в прямом коде, знак результата получается суммированием знаковых разрядов сомножителей по модулю 2.
Преобразуем выражение (1) следующим образом:
/Х/ Y/=/Х/ Y 2 =/Х/ (2-У 2 )=
=/Х/ ° (((У ° 2 +Y>) 2 +У ) 2 +У,Ц(0+ /Х/ Y ) 2 + /Х/ ° У ). 2 +
+ IX/ Y g 2-4 +/X/ У (2),Как видно иэ выражения (2), алгоритм умножения на каждом шаге можно представить в виде последовательности следующих операций: вычисление выражения вида /Х/ Y„; сложение с содержимым накопителя, вычисленным на предыдущем шаге и сдвинутым на 4 разряда вправо, запись полученной суммы в накопитель.
Функционирование устройства основано на том, что, используя набор ба- зисных чисел иэ множества j/Х/; У ) можно получить любое частичное произВо время получения команды операций, адресованной i-й тетрадой, к (i-1)-й прибавляется единица в младший разряд, если Y; E Y> это осу1309019 4 ведение /Х/ У„ за один такт сложения (обращения к суммирующему элементу), В табл. 2 показано как можно, используя набор базисных чисел 0011, 0101, 01 t l операции сложения, сдвига, преобразования в дополнительный код, получить всевозможные частичные произведения вида /Х/ У„ (для всех комбинаций Y ).
Множимое /Х/ и множитель /Y/ поступают на входы устройства.
Множитель У поступает на входы регистра 2 <-2 .
Выходы регистра 2 и 2 и узла 3 поддерживаются в отключенном (третьем) состоянии до момента записи тетрад в соответствующие секции по импульсу распределителя 21. Затем на все время преобразования выходы коммутатора 1 отключаются от своих выходных шин, а выходы секций 2 и 2 и узла 3 подключаются, соответствен-; но, к входам секций 2 -2„.
После записи множителя во входной регистр множителя младшая тетрада поступает на вход ШМ 7, которая формирует на выходах совокупность управляющих сигналов, определяющую режим работы устройства на данном шаге вычисления. Эта совокупность сигналов записывается в регистр 8 по импульсу распределителя 21. Каждая последующая тетрада, поступающая в секцию регистра 2 множителя, адресует в каждом такте ПЛМ 7 и на ее выходах формируются соответствующие управляющие сигналы, которые затем переписываются в регистр 8.
Четыре тетрады из 16 возможных, а именно (табл. 2) Y =(.1001; .1101
1011, 1111) образуют частичные произведения /Х/- Y. которые получаются
) У косвенным путем, а именно, через тет4Ф Мggn (Х У) = $gn (X) ® ggn (Y) (3) Р У = 1-У,, т.e. /X/ Y (табл.2)
45 представляется как /Х/ (1-У )
kl 3
= /Х/- IX/ Y. . Вычисление выражения
/X/ Y. сводится к следующему: на данном шаге формируется частичное
+% произведение /Х/ Y, выраженное в
У дополнительном коде, а недостающее
/Х/ учитывается прибавлением единицы в младший разряд тетрады, используемой для получения частичного произведения на следующем шаге.
1309019 ществляется с помощью узла 3. В случае, если крайние биты Y, записанФ ные в секции 24 равны 1 (т.е. 7, ь 5 ), на выходе элемента 5 возникает логическая "1", которая через элемент 4 поступает на вход переноса узла 3 и
% складывается. с тетрадой Y -1, за5 писанной в секции 2 . Триггер 9 фиксирует наличие переноса на выходе узла 3 суммирования. 10
Так как устройство обрабатывает значащие разряды чисел, записанных в прямом коде, то тетрада 75 в любом случае не больше .0111 и в случае ее коррекции переноса не возникает.
Частичные произведения формируются из множимого /Х! на блоках 12-16 и записываются в регистр 17 для дальнейшего суммирования.
Формула изобретения
Устройство для умножения, содержащее регистр множителя, накапливающий сумматор, триггер, коммутатор,распределитель импульсов и узел сдвига, причем выход накапливающего сумматора является выходом результата устройства, о т л и ч а ю щ е е с я тем, что„ с целью повышения быстродействия, в него введены дополнительные узел сдвига и коммутатор, буферный регистр, сумматор, блок инверсии, узел суммирования, элементы И и ИЛИ и блок микропрограммного управления, причем вход множимого устройства со-, э 35 единен с информационными входами дополнительного коммутатора, узла сдвига и блока инверсии, первый выход блока микропрограммного управления 40 соединен с входом управления прохождением информации на выход дополнительного коммутатора, выход i-го разряда которого (где i=1 15) соединен с информационным входом (i+4) <>
ro разряда дополнительного узла сдвига, информационный вход (i+1)-го разряда которого соединен с выходом 1.-го разряда сумматора, вход разрешения прохождения информации которого соединен с вторым выходом блока микропрограммного управления, третий выход которого соединен с управляющим входом блока инверсии и с первым,вторым и третьим разрядами первого информационного входа сумматора,(i+3)-й разряд информационного входа которого соединен с выходом i-го разряда блока инверсии, второй информациокный вход сумматора соединен с выхо= дом узла сдвига, выход дополнительного узла сдвига соединен с информационным входом буферного регистра, выход которого соединен с информационным входом накапливающего сумматора, вход множителя устройства является информационным входом коммутатора, выход j-го разряда которого (где j=i. .., 16) соединен с j-м разрядом информационного входа регистра множителя, вход разрешения записи которого соединен с входом разрешения записи узла суммирования, управляющим входом коммутатора, входами сброса триггера и накапливающего сумматора и первым выходом распределителя импульсов, второй выход которого соединен с синхровходамитриггера и блока микропрограммного управления и входом разрешения перезаписи регистра множителя, информационный вход К-го разряда которого (где
K=5, 12) соединен с выходом (К-4)— го разряда регистра множителя, выходы разрядов с девятого но двенадцатый регистра множителя соединены с информационным входом узла суммирования, выходы разрядов которого соединены с тринадцатого по шестнадцатый разрядами: информационного входа регистра множителя, выходы разрядов с тринадцатого по шестнадцатый которого соединен с группой входов задания режима блока микропрограммного управления, четвертый, пятый и шестой выходы которого соединены соответственно с входами разрешения сдвига на два разряда, на один разряд и входом разрешения прямой передачи узла сдвига, выход переноса узла суммирования соединен с икформационным входом триггера, выход которого соединен с первым входом элемента ИЛИ, выход которого соединен с входом переноса узла суммирования, выходы тринадцатого и шестнадцатого разрядов регистра множителя соединены соответственно с первым и вторым входами элемента И, выход которого соединен с вторым входом элемента ИЛИ, вход запуска устройства соединен с входом запуска распределителя импульсов, третий и четвертый выходы которого соединены с входами разрешения записи соответственно буферного регистра и накапливающего сумматора, седьмой, восьмой, девятый выходы блока микропрограммного управления соедиразряда буферного регистра и управляющим входом дополнительного коммутатора, вход восемнадцатого разряда сумматора соединен с первым разрядом информационного входа дополнительного узла сдвига и с входом логического нуля устройства, выход знакового разряда буферного регистра соединен с входом переноса накапливаю 0 щего сумматора.
7 t 309019 иены соответственно с входами разрешения сдвига на три, на два и на один разряды дополнительного узла сдвига, входы разрешения передачи прямого и инверсного кодов которого соединены соответственно с десятым и одиннадцатым выходами блока микропрограммного управления, одиннадцатый и двенадцатый выходы которого соединены соответственно с входом знакового
1309019
Э, л 1
Х Ф 1
10 Х
О Х о о
О Q
< ) О - О
Й Э
IC О
C4 Q
° О
О - О
I 1
I 1
I 01 1
В 114 В О ф
О О
О О О - О
1
I oO 1
I C4 О
О О
О О
О - - О О
I г ! Ф
1 1
° I 1
Х I ° 1 1
О 0 1 О 1
Р ф) I 04 ВО
О О
1М !О ОО ОО
О О О О
О О
О О О О О О О
О О О - О В
° 0
О 34
1О
О °
Э М
9 О !
=В
I I
Ф О
Ц ф
Ое Ф
Х
Вэ Х
О О О О О Q
О Ь О - O
I М 1 О
О О О - О
CV
И
О О
ОО O Ю О Ю
1 О - О - О ! О О» - О
1 О О О О
В О О О О О
° О . О - О
О О - - О
О ОО Ю
О ° »- тО
О
О О
Ю
Ю 1
Х
g I
10 !
1 I
В!
l l l
t Х 1
Э t
1 (I
1
1
Pl
Ц 1
° 0
О М
О
Ф М 1
Р О
Ц I и
О
Ц
Ф В
Х
Й ъ
5 63
0 <б
О C
Х 3
Х Ф
1
CV а
1 С4
I — 1
1 » е»
PQ O O O Q OO O O O O O O O
ОО ОО О О ОО -О
О О O O О О О - О О О
О О О О О О О О - О О О О О О О
1309019
Таблица 2, Тетрада (;
0000
Обнуление шин 0001
0010
00» (базисная) 0100
0101 (базисная),0110
0111 (базисная) /Х! Y /Х! 2
t000
1001
1011
Математическое выражение для вычисления !Х/ У ! х/. ;=.оо... о
/Х/ ° У =/Х/ 2
/Х/ (= /Х/ 2
/х/ Y =(!х/+!х/ г ) г
Х/ Y = !X/ 2
/Х/ Y =(/Х!+!Х! 2 ) 2
/Х/ У = (/Х/ ., 00») 2 !
Х! 7 = (!Х/-!Х! 2 ) 2
/x! ; =/х/ (1-.0t »)=/Х!-!х! .О111 юю /х/ ;=(/х! .0101/ г
/х! Y =/х/ (i-.oioi)=/х!-/х/ ..ою1
»00 /х/ „= (/х! .00») г
/х/ YÄ = — (!х/ оо11) + /х!
»10 !Х/ Y =(Х .01») 2
/х!, у. =(!х! !х!, 2 4.) J
Последовательность элементарных операций, необходимых для вычисления !Х! ° 7
Сдвиг /Х/ на 4 разряда вправо
Сдвиг /Х/ на 3 разряда вправо
Сложение /Х/ со сдвинутым /Х/ на разряд вправо, сдвиг результата на 3 разряда вправо
Сдвиг /Х/ на 2 разряда вправо
Сложение /Х/со сдвинутым на 2 разряда вправо /Х/, сдвиг результата на 2 разряда вправо
Получение частичного произведения !Х/-.0011, сдвиг результата на 1 разряд вправо
Сдвиг IX/ на 3 разряда вправо, преобразование в дополнительный код, сложение -с IХ/, сдвиг результата на 1 разряд вправо .
Сдвиг /Х/ на 1 разряд вправо
Получение /Х/ 0111, преобразованиее в дополнительный код, сложение с /Х/
Получение /X/ °,0101, сдвиг результата íà i разряд влево
Получение /Х/ .0101, преобразование в дополнительный код, сложение с /Х/
Получение /Х/ .00», сдвиг результата на 2 разряда влево
Вычисление /Х/ ° .0011, преобразование в дополнительный код, сложение с !Х/
Вычисление / Х/ ° .01», сдвиг результата на 1 разряд влево
-Ф
Вычисление /Х/ ° 2, сдвиг на 4 разряда вправо, преобразование в дополнительный код, сложение с /Х/ 30901 9
Составитель Н,Маркелова
Редактор И.Тупица Техред В.Кадар Корректор М,Демчик
Заказ 1799/41 Тираж 673 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4 л
Ф ц ф С ч Ф 1 см л ф4 ее З ф
:3 4
4 ф )ef
Я юф
4 . м
ey tag
% C9
Ф
6)
Фе : 4: ею
E cT ц ч
° ф ФИ г ч
Ф:3 Ъ
Сс 4: