Устройство для умножения чисел
Изобретение относится к области вычислительной технике и может быть использовано при разработке быстродействующих устройств умножения чисел, удобных для изготовления с применением БИС и СБИС. Цель изобретения - сокращение аппаратурных затрат устройства. Устройство содержит регистр множимого, (п+1) блоков вычисления разрядных значений произведения (п - разрядность множимого), две группы по (п+1) буферных регистров и m блоков приведения . Цель достигается за счет изменения функции блоков вычисления разрядных значений произведения. 1 з.п. ф-лы, 6 ил.
СОЮЗ СОВЕТСКИХ
СОЦИАЛ ИСТИ Ч Е СК ИХ
РЕСПУБЛИК (я)5 G 06 F 7/52
ГОСУДАРСТВЕННОЕ ПАТЕНТНОЕ
ВЕДОМСТВО СССР (ГОСПАТЕНТ СССР) ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4908191/24 (22) 05.02,91 (46) 23.02.93. Бюл. М 7 (71) Научно-исследовательский институт электронных вычислительных машин (72) А.А.Шостак и B.Â.ßñêåâè÷ (56) Авторское свидетельство СССР
N 1322265, кл. G 06 F 7/52, 1985.
Авторское свидетельство СССР
1ч . 1746377, кл. G 06 F 7/52, 1990. (54) УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ ЧИСЕЛ
Изобретение относится к области вычислительной технике и может быть использовано при разработке быстродействующих устройств умножения чисел, представленных в любой позиционной системе счисления. Особенно эффективно его применение при использовании технологии БИС и
СБИС.
Целью изобретения является сокращение аппаратурных затрат.
На фиг.1 приведена функциональная схема устройства для умножения чисел; на фиг.2 — функциональная схема блока вычисления разрядных .значений произведения; на фиг,3 — массивы частичных произведений, формируемые в узлах умножения блока вычисления разрядных значений произведения при его разрядности для случая 2—
256 — ричной системы счисления (b=2, k=8); на фиг.4 — массив слагаемых, который суммируется каждым блоком вычисления разрядных значений произведения до получения четырехрядного кода; на фиг.5— Ж 1797112 А1 (57) Изобретение относится к области вычислительной технике и может быть использовано при разработке быстродействующих устройств умножения чисел, удобных для изготовления с применением БИС и СБИС. Цель изобретения — сокращение аппаратурных затрат устройства, Устройство содержит регистр множимого. (и+1) блоков вычисления разрядных значений произведения (n — разрядность множимого), две группы по {n+1) буферных регистров и m блоков приведения. Цель достигается за счет изменения функции блоков вычисления разрядных значений произведения. 1 з,п, ф-лы, 6 ил. процесс суммирования массива слагаемых фиг.4 в узле суммирования блока вычисления разрядных значений произведения; на фиг.6 — процесс приведения четырехрядного кода разряда произведения, формируемого на выходе первого буферного регистра второй группы, к двухрядному коду в первом блоке приведения с учетом содержимого его регистра задержки.
Устройство для умножения чисел содержит(фиг.1) п ðàçðÿäíûé регистр 1 множимого, {и+1) блоков 2 вычисления разрядных значений произведения, (и+1) буферных регистров 3 первой группы, (n+1) буферных регистров 4 второй группы. m блоков 5 приведения (m=1,2,3...), вход 6 множителя устройства, первый 7 и второй 8 и третий 9 входы коррекции устройства, выход 10 устройства.
Блок 2 вычисления разрядных значений произведения (фиг.2) содержит два узла умножения 11, 12 и узел суммирования 13.
1797112
Рассмотрим функциональное назначение и реализацию узлов и блоков устройства.
Регистр 1 предназначен для хранения значения и-разрядного множимого и может быть реализован на синхронных двухтактных Д-триггерах, Блоки 2 предназначены для вычисления разрядных значений произведения, Узлы
11, 12 формируют две "усеченных" матрицы произведений множителя Х на соседние разряды множимого Y u Y в соответствии
I с фиг.3(а и б), Эти матрицы произведений вместе со слагаемыми, поступающими на входы первого и второго слагаемых блока 2, образуют массив слагаемых, суммируемый в узле 13 и показанный на фиг.4 для случая двоично-кодированной 2 -256-ричной системы счисления (Ь=2, 1=8) в предложении, что на выходе каждого блока вычисления 20 разрядных значений произведения формируется значение функции в четырехрядном коде. Первое слагаемое обозначено знаками "+", второе слагаемое знаками — "х", "усеченная" матрица произведений,, 25 сформированная узлом 11 — энаками "-", а "усеченная" матрица произведений, сформированная узлом 12, показана в виде точек. Процесс суммирования массива на фиг.4 в узле 13 блока 2 показан на фиг,5 и 3О осуществляется с использованием однораз- рядных двоичных сумматоров. Те двоичные разряды слагаемых массива, которые обрабатываются одним одноразрядным двоичным сумматором, обведены овальной линией. Как видно иэ фиг,5, преобразование исходного шестнадцатирядного кода к четырехрядному на выходах старшего и младшего разрядов блока 2 осуществляется за три шага с использованием 63 одноразряд- 40 ных двоичных сумматоров(их содержитузел
13), а узлы 11 и 12 содержат 64 двухвходовых элемента И.
Буферные регистры 3,4 предназначены для хранения информации, формируемой на 45 выходах блоков 2, они могут быть реализованы на синхронных двухтактных Д-триггерах с входами установки в нулевое состояние.
Каждый блок 5 предназначен для приве- 5О дения многорядного кода информации на своем входе к коду меньшей рядности (для
m-го блока 5 — к однорядному коду результата). Блок 5 содержит узел 14 суммирования, регистр 15 задержки и буферный регистр 16, причем узел 14 должен обеспечивать задержку на преобразование кодов меньшую или равную задержке на блоках 2 вычисления разрядных значений произведения. В рассматриваемом примере каждый узел 14 должен осуществлять преобразование не более, чем за три шага, поэтому в устройстве требуется два блока 5 приведения. На фиг,б изображен процесс суммирования в узле 14 первого блока 5 разряда произведения сомножителей в четырехрядном коде, хранимого в первом регистре 4, и двухрядной информации, хранимой в регистре 15 задержки этого блока 5. Преобразование исходного шестирядного кода к двухрядному осуществляется за три шага с использованием 16 одноразрядных двоичных сумматоров, При окончании процесса преобразования восемь младших двоичных разрядов в двухрядном коде с выхода суммы узла 14 записываются в регистр 16, а один старший двоичный разряд в двухрядном коде с выхода переноса узла 14 записывается в регистр 15, В качестве узла суммирования второго блока 5 используется восьмиразрядный двухвходовой сумматор с ускоренным переносом, с выхода суммы которого в регистр 16 второго блока б записывается однорядный код разряда результата. а с выхода переноса в регистр 15 записывается один двоичный разряд переноса. Буферные регистры 16 и регистры 15 задержки блоков
5 могут быть реализованы на синхронных двухтактных Д-триггерах с входами установки в нулевое состояние.
B целях упрощения на структурных схемах условно не показаны цепи установки в нулевое состояние регистров 3, 4, 15, 16 и цепи синхронизации всех регистров устройства, однако, можно отметить, что имеется общая цепь синхронизации регистров 3, 4, 15 и 16, а цепь установки в нулевое состояние этих регистров соединена с цепью синхронизации регистра 1, Совокупность блока 2 и соответствующих ему регистров 3 и 4 может быть конструктивно выполнена в виде операционного модуля (на фиг.1 показан штрих-пунктирной линией), реализованного, например, как большая интегральная схема.
Устройство для умножения чисел работает следующим образом.
В исходном состоянии буферные регистры 3, 4 и регистры 15, 16 блоков 5 обнулены, в регистре 1.хранится без знака и-разрядный 2"-ичный код множимого (n*k— разрядный двоичный код). Здесь предполагается, что множимое и множитель представлены в двоичнокодированной 2"-ичной системе счисления, т,е. каждый разряд как множимого, так и множителя представляет собой набор из к двоичных цифр. Умножение в устройстве осуществляется эа 2n+m тактов.
17 I7112
15
40
50
В каждом из п первых тактов работы устройства на его вход 6 поступает один разряд множителя (параллельно к двоичных разрядов). При этом в 1-м блоке 2 осуществляется "усеченное" умножение (см. фиг.3) разряда множителя, поступающего нэ его вход множителя с входа 6 устройства, на!-й разряд множимого (в узле 11), поступающий на его первый вход множимого с выхода I-го разряда регистра 1, а также на (i-1)-й разряд множимого (в узле 12), поступающий на его второй вход множимого с выхода (i-1)-го разряда регистра 1 и подсуммирование (в узле
13) младшего разряда произведения (I+1)-го блока 2; сформированного в предыдущем такте и хранимого в (I+1)-м регистре 4 и старшего разряда произведения 1-го блока
2, сформированного в предыдущем такте и хранимого в I-м регистре 3. По окончании каждого такта с выходов старшего и младшего разрядов I-го блока 2 в I-ые регистры 3 и 4 записываются два разряда произведения. Одновременно с работой блоков 2 вычисления разрядных значений произведения в блоках 5 приведения осуществляется преобразование по конвейерному принципу многорядного кода результата, хранимого в первом регистре 4, к однорядному коду на выходе 10 устройства, После выполнения и первых тактов работы устройства нэ его вход 6 множителя поступает нулевая информация и далее осуществляется еще дополнительно (n+m) тактов, в течение которых из устройства выводится информация, хранимая в буферных регистрах 3, 4, а также в регистрах 15, 16 блоков 5. Вывод 2п-разрядного произведения в устройстве осуществляется через его выход 10 в параллельно-последовательном коде по к двоичных разрядов в каждом такте, начиная с (m+1)-го такта работы устройства (в первых m тактах младший разряд результата последовательно передается с соответствующими преобразованиями из блока 5 в блок 5 в направлении к выходу 10 устройства), В рассматриваемом случае на входы 7—
9 устройства во всех 2n+m тактах его работы подавалась нулевая информация. Если же требуется подсуммировать к вычисляемому произведению дополнительные слагаемые, например, при введении коррекции по знакам при умножении чисел, представленных в дополнительном коде, то необходимо подать на соответствующие входы 7-9 требуемую информацию, что обеспечит подсуммирование без дополнительных временных затрат, Следует особо отметить, что умножение и-разрядных чисел в устройстве (как и в известном) может быть выполнено и зэ (ni 1) тактов, если после выполнения и-го такта содержимое буферных регистров 3, 4 и результаты блоков 5 подать для окончательного суммирования на соответствующие входы быстродействующего многовходового блока суммирования (на фиг.1 такой блок суммирования и соответствующие связи показаны штриховыми линиями).
Формула изобретения
1. Устройство для умножения чисел, содержащее регистр множимого, и блоков вычисления разрядных значений произведения1п-разрядность множимого), две группы по п буферных регистров и m блоков приведения (m=1,2,3...), причем вход множителя I-го блока вычисления разрядных значений произведения (i=1,...n) соединен с входом множителя устройства, первый вход множимого I-ro блока вычисления разрядных значений произведения соединен с выходом I-го разряда регистра множимого, вход первого слагаемого i-го блока вычисления разрядных значений произведения соединен с выходом i-ro буферного регистра первой группы, вход второго слагаемого I-ro блока вычисления разрядных значений произведения соединен с выходом (i+1)-ro буферного регистра второй группы (I-1,...,n-1), выходы старшего и младшего разрядов 1-го блока вычисления разрядных значений произведения соединены соответственно с входами i-x буферных регистров первой и второй групп, выход первого буферного регистра второй группы соединен с входом первого блока приведения, выход j-ro блока приведения ()=1,...,m-1) соединен с входом (j+1)-го блока приведения, выход m-го блока приведения соединен с выходом устройства, о т л и ч э ю щ е е с я тем, что, с целью сокращения аппаратурных затрат устройства, оно содержит (n+1)-й блок вычисления разрядных значений произведения и (п+1)-е буферные регистры первой и второй групп, причем второй вход множимого (i+1)-ro блока вычисления разрядных значений произведения соединен с выходом -го разряда регистра множимого, вход второго слагаемого и-го блока вычисления разрядных значений произведения соединен с выходом (и+1)-го буферного регистра второй группы, вход множителя (n+1)-го блока вычисления разрядных значений произведения соединен с входом множителя устройства, первый вход множимого — с первым входом коррекции устройства, вход первого слагаемого— с выходом (и+1)-го буферного регистра первой группы, вход второго слагаемого — с вторым входом коррекции устройства, выходы старшего и младшего разрядов (n+1)-го
1797112
Фиг1 блока вычисления разрядн.ых значений произведения соединены соответственно с входами (и+1)-х буферных регистров первой и второй групп, третий вход коррекции устройства соединен с вторым входом множи- 5 мого первого блока вычисления разрядных значений произведения.
2, Устройство по п,1, о т л и ч а ю щ е ес я тем, что блок вычисления разрядных значений произведения содержит два узла 10 умножения и узел суммирования. причем вход множителя блока соединен с первыми входами узлов умножения, вторые входы которых соединены соответственно с первым и вторым входами множимого блока, входы первого и второго слагаемых которого соединены соответственно с первым и вторым входами узла суммирования, третий и четвертый входы которого соединены с выходами соответственно первого и второго узлов умножения, первый и второй выходы узла суммирования соединены соответственно с выходами старшего и младшего разрядов блока.
1797112 8 7 4 Ь Ь 2 6 <, Xy Aá Eg Ху Хр g
88t Ч ху Ура Уф(г Ц х) Узы Урхо Я у
9уХу ВХг ЖЛг ВЬ УуХи УгХг УМ
Ь @Х УХЗ Х à У7Хз
Os цвай 9 А gled чту
У4Х5 УЯХ5 У2Х5 У) 5
Ч Х zing Я4 .Ь7 ЬХ7
УуХг
>a У Ь Ь Ь з Уя ду Рр Ag Лу 8у Ер Хр Яр У2
>a%» sУцХц Чуй 9gQ
Уфх5 973,5 ВЯЯ УФ,5
УРХО УУХ6 ЙЦ6 Узы ЧМ
Flaxy Зри УРч Утеху Утеху 9рер 8"В ® 8 У6Х8 Х8 Щ J3>8 У2 Ь
1797112
RR
xxx xxxxx
)()CXX XXX Х х х х х х >< x X
xxxxx Ххх
° а е ° еаееее
Ф э э а ° ° е ° е ° ° е е ° ° е
° °
° °
° е ф °
° ° Ф °
88
Ф °
° у ° ° Ф °
° °
Ф °
° ф
°
° Э ° ° °
° Ф
Ф °
° 1
80 о
1797112
° я, ° ф ° °
° Е Ф 1 °
° ° ° . ° ° 4 4
Ф ° ° ° ° ° ° Ф
° o ° В 1 ° ° Ф
Составитель Е.Мурзина
Техред М.Моргентал КоРРектор Н.Ревская
Редактор
Заказ 654 Тираж Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., 4/5
Производственно-издательский комбинат "Патент", г. Ужгород, ул.Гагарина, 101






