Устройство для умножения по модулю м=2 @ -1
Иллюстрации
Показать всеРеферат
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСНИХ
РЕС(1УБЛИК
„„80„„1383339 А1 (5))4 С 06 F 7/49
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
" «,, « «-».
F, l3I
: j«
К А ВТОРСКОМ,Ф СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 4090600/24-24 (22) 15.07.86 (46) 23.03.88. Вюл. 11» ll .(71) Физико-механический институт им. Г.В«Карпенко (72) Л.В.Вариченко (53).681.325 (088.8) (56) Авторское свидетельство СССР
11» 1160398, кл. G 06 F 7/49, 1983.
Авторское свидетельство СССР 11» 1254471, кл. G 06 F 7/49, 1985. (54) УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ ПО МОДУЛЮ М2"-1
{57) Изобретение относится к вычисли- тельной и информационно-измерительной технике и может быть использовано в устройствах для цифровой обработки сигналов, в частности, для цифровой обработки изображений, а также в устройствах кодирования,. принцип действия которых базируется на теории конечных колец и полей Галуа. Цель изобретения - повышение быстродействия. Устройство содержит группы входов I 2 прямого и инверсного значений одного операнда, группу входов 3 другого операица, коммутатор 4, блок
5 формирования частичных произведений, блок 6 суммирования частичных произведений, блок 7 коррекции, коммутатор 8, многовходовой одноразряд-. ный сумматор 9, группу элементов НЕ
10. выходы 11. 1 з.п. ф-лы, 10 ил.
1383339
Изобретение относится к вычислительной технике и информационно-измерительным системам и может быть использовано в устройствах для цифро5 вой обработки сигналов, в частности, для цифровой обработки изображений а также в устройствах кодирования, принцип действия которых базируется на теории конечных колец и полей Га-. 10 луа.
Цель изобретения - повышение быстродействия устройства.
На фиг.l приведена функциональная схема устройства для умножения по мо- 15 и дулю М-2 -1; на фиг.2 - функциональная схема многовходового (п-входового) одноразрядного сумматора, на фиг.3 - функциональная схема коммутатора; на фиг.4 и 5 — функциональная 20 схема блока формирования частичных произведений; на фиг.б — функциональная схема узла приоритета; на фиг.7— функциональная схема сдвигателя, на фиг.8 — схемы умножителей на степе- 25 ни двойки; на фиг.9 — функциональная схема блока суммирования частичных произведений; на фиг ° 10 — функциональная схема блока коррекции.
Устройство для умножения по модулю М=2 -1 (фиг.l) содержит группу входов 1,, 1,..., 1„ прямого значения операнда Ь,, Ь,,. ° ., Ь„, группу входов 2,, 2,..., 2„ инверсного значения операнда Ь,, b,..., Ь„, группу входов 3,3,..., 3 „ (прямого зна-. чения) второго операнда а,, а а„, коммутатор 4, блок 5 формирования частичных произведений, блок 6 суммирования частичных произведений, 40 блок 7 коррекции, коммутатор 8, многовходовой одноразрядный сумматор 9, группу элементов НЕ 10,, 10 ...,10„, выходы 11<, 11, ° ... Il Значения операндов могут быть выбраны из ре- 45 гистров (при этом прямые и инверсные выходы одного регистра могут быть соединены с входами 1,, ° .., 1„ и 2,, 2 ), и в регистр же может быть занесено значение результата с выходов 11„,..., ll Сумматор 9 своими входами 12 „ 12,..., 12„ соединен с входами 1,, 1,..., .1„, а выходом 13 старшего разряда — с управляющими вхоцами коммутаторов 4 и 8. Информационные входы коммутатора 4 соединены с входами I 1,..., 1„ и 2,, 2,..., 2„, а выходы 14,, 14
14„ - с первой группой входов блока 5, вторая группа входов которого соедииена с входами 3,, 3,..., 3„, а выходы 15,, 15,..., 15„(где k
= — — при п — четном k = — — — при
n — нечетном) подключены к входам блока 6, выходы 16(, 1бя,,...в 16л.кторого подключены к входам блока 7, в моды 17) 172, ° . 17„ которого соединены с входами элементов НЕ 10, 10,..., IO„ и первой группой информационных входов коммутатора 8, вторая группа входов которого подключена к выходам элементов НЕ 10<, IOä, ° ° ю 10 °
Многовходовой одноразрядный .сумматор 9 (фиг.2) построен на двоичных сумматорах 18.
Коммутатор 4 (фиг.3) содержит элементы И 19,, 19,,...; 19 „, 20,, 20
22 ° Коммутатор 8 строится аналогично.
Блок 5 формирования частичных про" изведений (фиг.4 и 5) содержит узлы
23,, 23, 23» ..., 23к приоритета, группы сумматоров 24 по модулю два, сдвигатели 25,, 25,..., 25„. Совокупности узлов 23 и сумматоров 24 onределяют управляющие коды, которые поступают на управляющие коды сдвигателей 25, на информационные входы ко-!
",îðûõ подается с входов 3,, 3
3„ код операнда а,, а,..., а„. Каж- . дый 8-й узел 23 (фиг.б), где В =
1, 2,..., k, имеет входы 26з„..., 26зк и выходы 27 „..., 27зк . Узел
23 содержит элементы HE 28,,..., 28к-, И 29, . ° . ° ь 29к °
Каждьп сдвигатель 25 (фиг. 7) содержит группы элементов И 30, умножители 31 на степени двойки и группу элементов ИЛИ 32.
Блок 6 суммирования частичных произведений (фиг.9) имеет k и-разрядных входов и содержит двоичные сумматоры 33 и узел 34 ускоренного переноса.
Блок 7 коррекции (фиг.10) содержит двоичные сумматоры 35, узел 36 ускоренного переноса и элемент И 37. В совокупности блоки б и 7 йредставляют собой сумматор k чисел по модулю M. . Произведением чисел а и Ъ по модулю И q = а Ь (mod М) называется остаток от деления обычного произведения
ahab на значение модуля M.
1383339
Принцип быстрого умножения заключается в следующем.
Для М = 2 — 1 справедливо равенство: -а = а, т.е. отрицательное число 5 в кольце Z> (множество целых чисел (»"
О, 1, 2,..., M-I с рассматриваемыми на нем операциями сложения и умножения по модулю М), представленное в двоичной системе счисления, получает- 1ð ся в.результате инверсии соответствующего ему положительного числа. Отрицательные числа оказываются закодированными целыми числами, большими
М., Например, для 2,» = Z7 можно записать соответствие . 00, 1 1,2 2
3 3 4-3, 5 -2, 6-1. В двоичной системе счисления эти числа можно представить трехразрядными двоич- 20 ными числами: -001 = 11 0 =. 6; -010 =
101 = 5; -011 = 100 = 4, значит ум" ножение можно проводить по следующему выражению. а.Ъ (mod.М) = (а.b) (mod M) . (1) 35
Результат умножения по модулю М = и
2 - 1 имеет число разрядов, равное числу разрядов каждого из сомножителей. 30
Очевидно, что инверсия одного из сомножителей согласно (1) целесообразна лишь в том сЛучае, если этот сомножитель (в выражении (1) число
Ъ) имеет больше половины единиц в значащих разрядах. Управление работой коммутатора 4 осуществляется с помощью п-входового одноразрядного сумматора 9, на котором формируется сумма разрядов множителя. Если число 40 единиц в разрядах множителя больше
n/2, значение ш"го разряда на выхои г де сумматора 9 (т = )1о9 — -, тае скобки 1(обозначают округление до ближайшего большего целого числа) равно единице. Значения младших разрядов .не используются. Значение разряда сумматора 9 является управляющим сигналом для коммутатора 4. С выходов коммутатора 4 прямое или ин50 версное значение множителя подается на входы блока 5, на другие входы которого подается множимое с входов 3,, 3,..., 3„. Блок 5 формирует k слов частичных произведений, которые подаются на выходы 15,, 15,..., 15„ (каждый выход и-разрядный). Слова частичных произведений суммируются с помощью блока 6 и корректируются блоком 7, на выходах 17», 17
17 которого формируются разряды слова суммы частичных произведений. С этих выходов прямое значение слова суммы частичных произведений поступает на первые входы коммутатора 8.
Кроме того, слово суммы частичных произведений инвертируется с помощью элементов НЕ 10,, 10,..., 10 „ и подается на вторые входы коммутатора 8.
Управляется последний с помощью того же управляющего сигнала, что и комму" татор 4. Таким образом, если производится инверсия множителя с помощью коммутатора 4, осуществляется инверсия результата умножения с помощью коммутатора 8, как того требует выражение (1). С выходов коммутатора 8 и значение произведения по модулюМ=2 подается навыходы 11 устройства.
П р и и е р. При работе блока 5 пусть необходимо умножить два числа а = 1101011 (п = 7 и М = 2 — 1) и Ь = 0011011.
Умножение проводится согласно (1).
Значит слово а подается на входы 3,, 3,2,..., 3„, инверсное слово b =
1100100 подается на выходы 14,, 14,..., 14 „. Первые (младшие) k разрядов поступают на входы узла 23».
Задачей узла 23 является выбор едиS ницы, которая встречается впервые в слове, поступающем на входы этого узла. На входы 26„, 26,,..., 26„, (k = (7 + 1)/2 = 4) узла 23, подается слово 0010. На выходах 27„,...,. 27»,» имеют 0010 (в этом слове только одна единица, поэтому входное значение совпадает с выходным). Это слово яв-. ляется управляющим для сдвигателя
25, . На первые входы сумматоров 24«24, по модулю два подается слово.
010, а на вторые входы сумматоров
24«-24, — слово 010 с выходов 27» 27»4 узла 23». На вход 26 узла 23 подается эначенйе пятого разряда,т.е. нуль. Значит на сумматорах 24„ -24» суммируются по модулю два слова 010 и 010, что в результате дает слово
000. В результате на входах и выходах узла 23 имеют нулевое слово 0000, которое также является управляющим для сдвигателя 25. На первые входы сумматоров 24, -24, по модулю два подается слово 000 с выходов сумматоров
24,z и 24„ .первые два разряда и третий разряд с выхода 14 . На вторые
5 13833 входы сумматоров 24, -24 3 подается слово 000 с выходов 27 -27 узла 23 .
На вход 26 4 узла 23 подается значение шестого разряда, т,е. единица.
Значит на сумматорах 24, -24 3 суммируются по модулю два слова 000 и 000, что в результате дает слово 000. В результате на входах узла 233 находится слово 0001 и на выходе точно такое же слово 0001, которое является управляющим для сдвигателя 253.
На первые входы сумматоров 24, -24 3 по модулю два подается слово 001 с выходов сумматоров 24 и 24 3 первые два разряда и третий (k+2)-й разряд с выхода 14 . На вторые входы сумматоров 243, -24 3 подается 001 с выходов 273 2734 узла 233. На вход 2644 этого узла подается значение послед44 1 него, т.е. седьмого разряда, равное единице. На сумматорах 243, -243 суммируются по модулю два слова 001 и
001, что в результате дает слово 000..
В результате на входах узла 234 нахо-25 дится слово 000) и на выходе точно такое же слово 0001, которое является управляющим для сдвигателя 254.
Схема узла 23 осуществляет функцию выбора первой единицы в кодовом слове, которое поступает на входы 26,, 2632,, 26 „ . Умножители 31 на-степени двойки осуществляют умножение множимого на степень двойки по модулю М, что является обычным циклическим сдвигом и эти умножители представляют собой простую перекоммутацию проводов. На фиг.8 приведена такая перекоммутация для случая И = з — 2 -1. Умножитель 31 на степень
Si 40 двойки осуществляет умножение множимого на 2, умножитель 31в — на 2, умножитель 31 „ - на 2 ", причем умножение проводится по модулю
M. В результате происходит циклический сдвиг множимого с помощью управляющего слова, поступающего на входы элементов ИЛИ 32;,, 32 " 32;„.
Если в управляющем слове j-é разрядравен единице, работает линейка элемен- . тов И 30,„, 30 „,..., 30, умножитель 31 „ нн степень двойки который
iij-< осуществляет умножения на 2 . Резул:ьтат умножения подается на выходы сдвигателя 25„через элементы ИЛИ 32.
На выходах остальных умножителей на степени двойки (умножители 31,, 31,..., 31 „ ) — сигналы, соответствующие значению логического нуля.
39
Блок 6 реализует операцию суммы по модулю M kn-разрядных слов частичных произведений. Блок 7 коррекции устраняет неоднозначность представления нуля 0 = 2-1 (mod И = 2" — 1). В двоичной системе счисления нуль может представляться нулевым кодовым словом 000...0, а также словом
111... 1 = 2" —, 1. Блок 7 коррекции преобразует единичное слово в нулевое.
Формула изобретения
1. Устройство для умножения по модулю М = 2 — 1, содержащее блок формирования частичных произведений, блок суммирования частичных произведений и блок коррекции, причем группа входов одного из операндов устройства соединена с одной из групп входов блока формирования частичных произведений, выходы которого соединены с входами блока суммирования частичных произведений, выходы которого соединены с входами блока коррекции, отличающееся тем, что, с целью повьш)ения быстродействия, в него введены два коммутатора, многовходовой одноразрядный сумматор и группа элементов НЕ, причем другая группа входов блока формирования частичных произведений соединена с выходами первого коммутатора, первая и вторая группы информационных входов которого соединены соответственно с группой входов прямого значения и группой входов инверсного значения другого операнда устройства, вь ходы блока коррекции соединены с первой группой информационных входов второго коммутатора и входами соответс1вующих элементов НЕ группы, выходы которых соединены с второй группой информационных входов второго коммутатора, выходы которого являются выходами устройства, а управляющий вход соединен с управляющим входом первого коммутатора и выходом старшего разряда многовходового одноразрядного сумматора, входы которого соединены с первой группой входов информационных входов первого коммутатора.
2, Устройство по п.1, о т л и ч а ю щ е е с я тем, что блок формирования частичных произведений содержит k узлов приоритета, (k-1) групп сумматоров по модулю два и k
1383339
121
12
12
12
127
128 !
12л-8 !
2л-7
12л-6
° °
4 .
12h 5
f2h-Ф
12h.-g
12л 2
1гл.1
1 .
ФИ8. 2 и сдвигателей (k = — — при n - четном
%
n+1
k — — при n — нечетном; n - раз2
5 рядность операндов), причем входы первого узла приоритета соединены с входами первой группы блока с первого по k-й, входы i-ro узла приоритета (i 2,..., k) соединены с выходами сумматоров по модулю два (i-1)-й . группы и (k+i-1)-м входом первой группы блока, первый вход j-ro сумматора по модулю два (i-1)-й группы (j . 1 ° ° ° k 1) соединен с ()+1) M 15 выходом (i-1)-.го узла приоритета, второй вход j-ro сумматора по модулю два второй группы соединен с (j+1)-м входом первой группы блока, второй вход х-го сумматора по модулю два
1-й группы (r = 1,..., k-2, 1 2, . ° ., k-1) соединен с выходом (r+1)-го сумматора по модулю два (1-l)-й группы, выходы узлов приоритета соединены с управляющими входами соответствующих сдвигателей, информационные входы которых соединены с входами второй группы блока, а выходы - с выходами блока.
1383339
l383339
26
2
151п
15А
Фиг. Х
1 383339
$1
3п
lSs
1 г
Х
4 о
2
Я
1 г
1
3
f
15е
g бд
15су
О is>
f 15и
15,»
6уу
151
2
3 1$
Ф а2" 1383339
1383339 фиг. 10
Составитель В.Березкин
Текред Л.Олейник Корректор О. Кравцова
Редактор Н.Рогулич
-Заказ 1297/47 Тираж 704 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4