Однотактное цифровое арифметическое устройство
ОПИСАНИЕ
ИЗОБРЕТЕНИЯ
330450
Сбюа Советских
Социалистических
Республик
К АВТОРСЖОФАУ СВИДЕТЕЛЬСТВУ
Зависимое от авт. свидетельства №.Ч. К.. C 06 738
Заявлено ОЗ.VI.1970 (№ 1444796. 18-24) с присоединением заявки ¹
Приоритет
Опубликовано 13ЛХ.1972. Бюллетень № 27
Дата опубликования описания 18.XII.1972
Комитет по делам изобретений и открытий при Совете Министров
СССР
УДК 681.325.5(088.8) Авторы изобретения В. А. Брик, В. А. Гаврилин, В. И. )Кук, В. М. Златников, М. А. Карцев, В. А. Кислинский, Л. И. Лушпин и Г. H. Петрова
Заявитель
ОДНОТАКТНОЕ ЦИФРОВОЕ АРИФМЕТИЧЕСКОЕ
УСТРОЙСТВО
Изобретение относится к области цифровой вычислительной техники, и более точнее к однотактным цифровым арифметическим устройствам, в которых все операции осуществляются за один такт местного управления.
Известно однотактное цифровое арифметическое устройство, содержащее входные и выходные регистры, узел управления, формирователь знаков, несколько множительных блоков для умножения сомножителей, имеющих формат, меньший максимального, узел для заключительного сложения, выполненный в ниде преобразователя многорядного кода в двухрядный и многоформатного сумматора с распространением переноса.
Целью изобретения является обеспечение возможности одновременного умножения нескольких пар сомножителей немаксимального формата и обеспечение возможности осуществления многоместных операций суммирования операндов и суммирования парных произведений пемаксимального формата.
Для достижения этого предлагаемое устройство дополнительно содержит входные коммутаторы старшей и младшей частей многоформатного сумматора, входной коммутатор преобразователя многорядного кода в двухрядный, узел коррекции для вычитания
«единицы» с весом младшего разряда операнда и для суммирования «единиц», соответствующпх знаковым разрядам отрицательных слагаемых и имеющих вес их младшего разряда, узел инвертирования двухрядного кода и коммутатор результата; одни входы вход5 Hblx коммутаторов многоформатного сумматора соединены с выходами блоков умножения, другие входы входных коммутаторов старшей части многоформятного сумматора соединены с выходами преобразователя многорядного
10 кода, другие входы входных ком мутаторов младшей части многоформатного сумматора соединены с выходом узла инвертирования двухрядного кода; входной коммутатор преобразователя многорядного кода соединен с
15 выходами блоков умножения и выходом узла коррекции, входы которого соединены с выходами знаковых разрядов входных регистров; входы узла инвертирования двухрядного кода соедтшены с выходами преобразователя
20 многорядного кода в двухрядный, информационные входы коммутатора результата соединены с выходами младшей и старшей частей многоформатного сумматора, управляющие входы — с выходами знаковых разрядов
25 младшей и старшей частей многоформатного сумматора; выходы коммутатора результата соединены с выходными регистрами, входы переноса в младшие разряды старшей н младшей частей многоформатного сумматора
30 соединены с выходами узла управления, слу330450
65 жащими для подачи сигнала о наличии многоместной операции, управляющие входы узла коррекции, входных коммутаторов, многоформатного сумматора и входного коммутатора преобразователя многорядного кода в двухрядный соединены с соответствующими выходами узла управления.
Блок-схема предлагаемого устройства представлена на чертеже.
Устройство содержит входные регистры 1 и
2, выходные регистры 8 и 4, узел 5 управления, формирователь 6 знаков, несколько множительных блоков 7 для умножения сомножителей, имеющих формат, меньший максимального, узел для заключительного сложения, выполненный в виде преобразователя 8 многорядного кода в двухрядный и многоформатного сумматора 9 с распространением переноса, сумматор 9 разделен на младшую часть 10 и старшую часть 11, каждая из которых разбита на части 12 для сложения и умножения операндов малого формата.
На входе младшей части 10 и старшей части 11 сумматора 9 установлены соответственно коммутаторы 18 и 14, у которых информационные входы соединены с выходами блоков 7 и выходами преобразователя 8, а управляющие входы — с выходами узла 5 управления, служащими для подачи сигналов о форматах операндов в различных операциях.
Коммутаторы 18 и 14 разбиты на части 15 для подачи чисел малого формата в части 12 сумматора 9.
Выходы блоков 7 поданы на входы частей 15 коммутаторов в однорядном или двухрядном коде. Между выходами блоков 7 и входами преобразователя 8 установлен коммутатор 16 для передачи положительных чисел в прямом, а отрицательных — в инверсном коде со сдвигом, необходимым для умножения операндов максимального формата и для многоместных операций (операции суммирования исходных опер аидов и опер ации суммирования произведений исходных операндов) над операндами меньшего формата.
Коммутатор 16 управляется формирователем б знаков и узлом 5 управления.
Коммутаторы 14 старшей части сумматора соединены непосредственно с выходами преобразователя 8, между коммутаторами 18 младшей части сумматора и выходами преобразователя 8 установлены инверторы 17, между выходами обеих частей 11 и 10 сумматора 9 и выходными регистрами 8 и 4 установлен коммутатор 18 для выбора результата с выходов частей 10 и 11 в прямом коде; информационные входы 19, 20 коммутатора 18 соединены с выходами частей 11 и 10, а управляющие входы 21, 22 коммутатора 18 соединены с выходами 28, 24 знаковых разрядов частей 11 и 10 сумматора 9.
Вход 25 переноса в младший разряд каждой из частей 10 и 11 соединен с узлом 5 для подачи «единицы», соответствующей на5
45 личию многоместной операции. На входе коммутатора 16, соединенного со входом преобразователя 8, установлен узел коррекции 26 для вычитания «единицы» с весом (2 — ") младшего разряда операнда и для суммирования «единиц», соответствующих знаковым разрядам отрицательных слагаемых и имеющих вес (2 — ") их младшего разряда, а входы узла 26 соединены с выходами 27 знаковых разрядов входных регистров 1 и 2.
Узел 26 представляет собой набор одноразрядных сумматоров, соединенных для сложения и вычитания единиц одинакового веса.
Для формирования указанных единиц служат входные цепи узла 26, причем формирование положительных единиц производится по знакам операндов, поступающим со входов 27 регистров 1 и 2, и по сигналам кода операции, поступающим из узла 5 управления.
Отрицательная единица с весом 2-" (т. е. число †2 †") в дополнительном коде закоммутирована на входах узла 26.
Устройство работает следующим образом.
Умножение чисел максимального формата
Два сомножителя из регистров 1 и 2 подаются в блоки 7, каждый из которых перемножает множимое (или его часть) на группу разрядов множителя. Число групп разрядов множителя зависит от количества блоков 7.
Частичные произведения с выходов блоков 7 в однорядном или двухрядном коде подаются через коммутатор 16 в преобразователь 8 со сдвигом, необходимым для сложения этих произведений с соответствующими весами.
Преобразователь 8 преобразует многорядный код, образованный частичными произведениями, в двухрядный код произведения.
Двухрядный код произведения с выхода преобразователя 8 поступает через коммутаторы
14 в старшую часть 11 сумматора 9, который преобразует двухрядный код произведения в однорядный. Готовое произведение поступает в регистры 8 и 4.
Умножение чисел малого формата
B каждом из регистров 1 и 2 располагается столько чисел малого формата, сколько имеется блоков 7. В каждом блоке 7 перемножается одна пара сомножителей малого формата, поступающих из регистров 1 и 2.
Таким образом, по одной команде одновременно выполняется столько независимых операций умножения, сколько имеется блоков 7.
Произведение с выхода каждого блока 7 в однорядном или двухрядном коде поступает в соответствующую данному блоку 7 часть 15 коммутатора, а из него через части 12 сумматора — в регистры 8 и 4. В этой операции сумматор 9 разделен на независимые части (сумматоры) 12, каждый из которых служит для получения одного произведения.
Многоместные операции
К многоместным операциям над операндами малого формата относятся операции сум330450 мирования парных произведений, определяемые формулой
R = ) а,с,, (1)
j=I и операция суммирования всех исходных операндов, определяемая формулой
R = —;, (а, + с ), j 1 где R — результат операции; 1 — номер операнда малого формата в каждом входном регистре 1 и 2; и — максимальное количество операндов малого формата в каждом входном регистре 1 и 2; а„— 1-й операнд в регистре 1; с,— j-й операнд в регистре 2.
Обе эти операции выполняются в предлагаемом устройстве за один такт следующим образом.
При операции суммирования парных произведений каждый блок 7 формирует произведение одной пары сомножителей так же, как и при операции умножения чисел малого формата. Произведения из блоков 7 подаются через коммутатор 16 в преобразователь 8 с одинаковыми весами (при умножении чисел максимального формата веса нескольких частичных произведений, поступающих в преобразователь 8, неодинаковы).
При этом отрицательные произведения IIIIвертируются ь коммутаторе 16 и подаются в преобразователь 8 в инверсном (обратном) коде, а неотрицательные произведения пропускаются через коммутатор 16 в прямом коде.
В узел 26 (корректор) с весом (2 — ") младшего разряда произведения поступают положительные единицы, каждая из которых формируется для одного отрицательного произведения, и одна отрицательная единица тоже с весом 2-".
Узел 26 формирует алгебраическую сумму этих единиц, дополнительный код которой через коммутатор 16 поступает в преобразователь 8. Преобразователь 8 алгебранческп суммирует поступившие в него коды, преобразуя многорядный код слагаемых в двухрядный представленный кодом S поразрядной суммы и кодом Е переносов.
Сумма прямых и инверсных кодов произведений и положительных единиц, подаваемых в узел 26, представляет собой дополнительный код суммы парных произведении: (2) R, = (2 + R) mod2, (З) Двухрядный код (S и Е) с выхода преобразователя 8 подается без инверсии в коммутаторы 14 старшей части сумматора и где R определяется формулой (1). (Если
R)0, то R„=R; если R(0, то R„=2 — К ).
С учетом отрицательной единицы, подаваемой в узел 26 с весом 2 ", двухрядный код на выходе преобразователя 8 соответствует величине
S+E= R, — 2 —" = (2+ R — 2-")mod2 (4) через инверторы 17 — в коммутаторы 18 младшей части сумматора, Из коммутаторов 14 прямой двухрядный код подается в старшую часть ll сумматора, а пз коммутаторов 13 инверсный двухрядный код — в младшую часть 10 сумматора. 1-1а входы 26 частей 10 и 11 сумматора поданы величины 2 —" в качестве слагаемых.
На выходе части 11 получается величина:
R, =S+E+2 — ".
Подставим выражение (4) в уравнение (5), получим:
R, = (2 + R — 2 ) + 2 —" = (2 + R) mod2. (6)
На вход части 10 каждая пз величин S» Е поступает в обратном коде:
S, =5=1 — S — 2 — . (7) (8) 20
Еог,р — Š— 1
Здесь считается, что 5)0, Е)0.
На выходе части 10 получается величина:
R. = (1 — Я вЂ” 2 — ) + (1 — Š— 2 —" ) + 2 " =
= 2 — (S+ Е) — 2 — ". (10) Подставим выражение (4) в уравнение (10), получим:
Я, = — 2 — (2+ R — 2-") mod 2 — 2 —" = 2— — (2+ R) mod2. (1) )
Если R)0, то согласно выражениям (6) и (12)
40 R,=R; R,=-R,= 2 — R. (12) Если R(0, то
R, =- Я, =-= 2 — R; R, =- R (13) 45 Прямой код R результата выбирается коммутатором 18 и поступает в регистры, 3 плп
4. Если R)0, то через коммутатор 18 передается код RI пз части 10 сумматора.
Прп операции суммирования всех исходных операндов в соответствии с выражением (2) на выходе каждого блока 7 формируется сумма одной нары операндов, причем отрицательные операнды подаются в блоки 7 в обратном коде.
B узел 26 с весом (2 — ") младшего разряда операнда подаются положительные единицы, каждая пз которых формпр1 ется для одно! о
0TplIll,IITI IblIOI операнДа.
60 Через коммутатор 16 в преобразователь 8 без инверсии подаются слагаемые пз всех блоков 7 и узла 26. В остальном выполнение этой операции ничем не отличается от выполнения операции суммирования парных
65 произведений.
25 Ra — SoIIp + Еобр + 2 (9)
Подставим выражения (7) и (8) в уравнение (9):
Предмет изобретения
Составители И. Долгуи1ева
Те«реп Е. Борисова Корректор С. Сатагулова
Редактор E. 11анк!и!а
Заказ 3966/13 Изд. >!е 1546 Тира>к 406 Подписное
ЦНИИПИ Комитета по делам пзобретепий и открытий при Совете Министров СССР
Москва, Ж-35, Раугпская наб., д. 4/5
Типографии, пр. Сапунова, 2
Однотяктное цифровое арифметическое устройство, содержащее входные и выходные регистры, узел управления, формирователь умножеHI45I со ож1!тслеЙ максимального формата, преоб11язовятсль мпогоряд;!ого кода в двухрядный и многоформатный сумматор с распространением переноса, от гииаюшееся тем, что, с целью обеспечения воз можности одновременного умножения нескольких пар сомножителей пемаксг!.",Ялы!î "o формата и обеспечения возможкости осуществления многоместных операций суммирования операндов и суммирования парных произведений немаксимального формата, оно дополнительно содержит входные коммутаторы старшей и младшей частей многоформатного сумматора, входной коммута-.ор преобразователя многорядного кода в двухрядный, узел коррекции для вычитания
«единицы» с весом младшего разряда опсоанза ч для суммирования «единиц», соответствуюц!их знаковым разрядам отрицательных слагаемых и имеюц1их вес их младшего разряда, узел инвертирования д«ухрядного кода и коммутатор рсзульта га; одни входы вход:!ых коммутаторов многоформа",íîãо сумматора сосдипены с «ыходамп блоков умно>кения, друг«с входы входных ком мутаторов стари сй::ястп мпогоформатпого сумматора
cocQII сн!! с выхо:!ЯAIII llpcоорязов 1тсл5! горядного коля, другие входы «ходпых коммутаторог, младп1ей части многоформятпого
С ." i ", !IT O P 3 С О Е Д П! С Н Ы С В Ь! Х О,о 1! У 3 Л и 1 I I I 13 C Pтиров-li! я двухрядного кода, в одной коммутатор преобразователя многорядного кода соединен с выходами блоков умножения п «ыходом узла коррекции, входы которого соед51нены с выходами знаковых разрядов входных регистров, входы узла инвертирования двухрядного кода соединсны с выходами преоб5 р язов ятсля многop513 I(ol О кода В двухрядный, информационные входы коммутатора результата соединены с выходами младшей и старшей частей многоформатного сумматора, управляющие входы — с выходами знаковых
10 разрядов младшей н стар1пей частей многоформатного сумматора, выходы коммутатора розу.:!«татя сосдш!епы с выходными регистрами, входы переноса в младшие разряды старшей и младшей частей многоформатного
15 сумматора соединены с выходами узла управления, служащими для подачи сигнала о наличии многоместной операции, управляющие входы узла коррекции, входных коммутаторов, многоформатного сумматора и входного
20 коммутатора преобразователя многорядного кода в двухрядный соединены с соответствующими выходамп узла управления.



