Изобретение относится к цифровой вычислительной.технике, предназначено для умножения и деления чисел, представленных в двоичной системе счисления и может быть применено в качестве операционного блока в высокопроизводительных машинах и системах.
На фиг.1 приведена функциональная схема вычислительного устройства; на фиг.2 - схема блока микропрограммного управления; на фиг.З - схема сумматора частичных произведенийо
Вычислительное устройство содержит регистры множимого 1 и множителя 2, k умножителей 3, сумматоры 4 и 5 элементарных и частичных произведений, блок 6 микропрограммного управления, регистры первого 7 и второго
8 операндов, блок 9 начального при- ближения, первый 10 и второй 11 коммутаторы, буферный регистр 12, регистр 13 частичных произведений, третий коммутатор 14, регистр 15 результата, выходы 16-35 блока микропрограммного управления, вход кода операций 36 устройства и тактовый вход 37 устройства л
Блок микропрограммного управления образуют счетчик 38 и память 39.
Сумматор частичных произведений состоит из коммутатора 40, элемента ИЛИ 41, комбинационного сумматора 42, входов первого 43 и второго 44 слагаемых и входа 45 1.
Регистр 7 первого операнда предназначен для приема и хранения мноСП
со to
со
Жимого или делимого X
х 2
Регистр 8 второго операнда предназначен для приема и хранения MHO-
жителя или делителя Y « у. 2 .
Блок 9 начального приближения предназначен для выдачи по значениям (р+1) старших разрядов делителя на- чиная со второго р-разрядного значе- ия Са. В качестве блока начального Приближения может быть использовано
ПЗУ.
Коммутатор 10 предназначен для пе- Једачи на регистр множимого или де- Лителя со сдвигом вправо (Y/2), или делимого X, или значения 2(l-Y/2 С:).
Коммутатор 11 используется для передачи на буферный регистр или дели- теля Y, или очередного С;, или в младшие разряды буферного регистра С0
Буферный регистр 12 служит для временного хранения значений, поступающих с выхода коммутатора 11„
Регистр 1 множимого предназначен для хранения множимого X, величины 2( Cj) или Y/2.
Регистр 2 множителя - сдвиговый, n-разрядный, причем сдвиг осущест- Вляется в сторону младших разрядов на р разрядов. Он предназначен для хранения множителя Y или С-(у « 0,0„. я
.
Умножители 3, - 3 к служат для вычисления очередного элементарного произведения ХДП-, i l,ooo,k , имеют два р разрядных входа и 2р-раз- рядный выход.
Сумматор элементарных произведений 4 - двухвходовый, п-разрядный, предназначен для формирования старших п разрядов частичных произведений Y- X, j l,2,...,k.
пч-р-разрядный регистр 13 частич- |Ных произведений предназначен для хранения частичного произведения YjX, п разрядов которого поступают из сумматора 4, младшие р разряды - ум- ножителя 3(„
Сумматор 5 частичных произведений двухвходовой, n+p-разрядный, кроме функции сложения двух слагаемых имеет функцию сложения с единицей первого слагаемого, имеет прямой и инверсный выходыо
Коммутатор 14 предназначен для передачи на старшие разряды регистра
5
0
5
0
0
5
0
5
5
15 произведения прямого или инверсного значений с выхода сумматора 5 частичных произведений.
Регистр произведения 15 - 211-разрядный, сдвиговый, причем сдвиг осуществляется в сторону младших разрядов на р разрядов о
В вычислительном устройстве операнды - положительные числа, представляются в виде А а. 2 ,
f fe1 at 6 1° Ч где a4 °° an двоичный n-разрядный код числа АО Выполнение операции умножения в устройстве, как и в прототипе, основано на таблично-алгоритмическом методе умножения о
Пусть X iEIx: ( ) и Y- у.
{и 1-1 множимое и множитель соответственно,
где х-, у- - значения 1-х разрядов кодов сомножителейо Тогда для представления точного результата Y требуется 2п-разрядный двоичный код.
Процесс вычисления произведения Z записывается в виде п §
Z L (((2Р) )(2Р)5, (1)
3 - 1
где.Х. х(г,,..,х,. -1-я двоично-кодированная цифра кода множимого в канонической позиционной „ системе счисления с основанием ; .
+ P-i Двоич но-кодированная цифра кода множителя.
Таким образом, процесс умножения состоит из однотипных повторяющихся циклов. Во время очередного j-ro цикла j-e частичное произведение
«/L - с;п
х-2 вычисляется на - k 3 i АР
умножителях, выполняющих операцию умножения р-разрядного двоичного кода Y; на р-разрядный двоичный код X; с образованием произведения разрядности 2р и собирается в (n+р) двоично- разрядный код частичного произведения X YJ на сумматорео
Наличие регистра частичных произведений при соответствующем управлении позволяет организовать контейнер при вычислении Z, когда в один и тот же момент времени на одном сумматоре формируется частичное произведение , а на другом сумматоре - сумма частичных произведений Z-Z, 2 P + X-Yj, где ,,
5153
Выполнение операции деления в устройстве основано на использовании модификации известной итеративной схемы Ньютона, Модификация позволяет ускорить процесс вычисления обратной величины делителя.
Пусть - точное частное, а Z - приближенное, причем L - ZK2 Итеративная схема Ньютона позволяет получить обратную величину делителя посредством последовательного приближения согласно формуле
-и
Cj-C;,(2-YC ,-,),
cj 7T5 Преобразуем (2) в
(2)
Cj - 20 (- Y/2 Cj,). (3)
В каждой итерации обычно выполняют два полноразрядных умножения и взятие дополнения
Для получения частного в этой схеме требуется заключительное умножение обратной величины делителя на делимое z - х- cJMawo
Наибольшую точность обеспечивает табличный метод, использованный, в устройстве, причем количество разрядов делителя г, необходимое для построения блока начального приближения (таблицы) г|ЛМЦ р+2, с учетом того, что делитель представляется в диапазоне I Tjj 1-2 j , т„е„ старший разряд делителя имеет значение, равное 1, на вход таблицы можно подавать значение (р+1) разрядов делителя начиная с номера , но построение таблицы производить с учетом значения старшего разряда делителя по формуле Р
,-е
1
Тм е Y& + maxuY .Момент окончания определения обратной величины делителя 1/Y в устройстве определяется не путем сравнения разности I С. -С i с некоторым допуском, а путем выполнения фиксированного числа итераций, которое определяется из соотношения
макс
. .
где at - ближайшее к а целое, причем а Ј } аЈ
При выполнении операции умножения устройство работает следующим образом.
и т й
JQ
и
яя
15
20
25
30
35
40
45
50
55
76
В исходном состоянии в регистре 7 находится множимое X, в регистре 8 - множитель Y, регистры 1, 2, 12, 13 и 15 обнулены (цепи сброса и питания не показаны). По сигналам блока микропрограммного управления (на выходах 18 и 27) множимое X через коммутатор 10 принимается на регистр 1, множитель через коммутатор 11 принимается на регистр 12, а затем на регистр 2 (по сигналам на выходах 22, - 24 и 25 блока микропрограммного управления) о
Число циклов умножения равно .
Р
В первом () цикле по сигналу на 28 выходе блока микропрограммного управления на умножителях 3,00.,3К происходит формирование k элементарных произведений , ,2,...,k а по сигналу на выходе 29 блока они собираются на сумматоре 4 и частичное произведение записывается на регистр 13, одновременно по сигналу на выходе 26 блока 6 управления происходит сдвиг множителя на р разрядов в регистре 20
В последующих циклах происходит умножение X на очередные р разрядов Y с одновременным сложением частичного произведения с содержанием регистра 15 на сумматоре 5 по сигналам на выходах 31, 32 и 35 блока 6, а затем сборка очередного частичного произведения на сумматоре 4 и прием его на регистр 13 с одновременным сдвигом на р разрядов содержимого регистра 2 и регистра 15 по сигналам на выходах .29, 26 и 30 блока микропрограммного управления 0
После завершения сложения на сумматоре 5 в последнем цикле (j k) на регистре 15 оказывается 2п-раз- рядный код произведения 0
При выполнении операции деления устройство работает следующим образом.
Для определения обратной величины делителя. выполняется d
1 Iog2 - однотипных циклов. В
исходном состоянии в регистре 7 находится делимое X, в регистре 2 - делитель Y, регистры 1, 2, 12, 13 и 15 обнулены По сигналам на выходах 19 и 27 блока микропрограммного управления делитель со сдвигом на один
разряд в сторону младших разрядов через коммутатор 10 записывается на регистр 1, одновременно по сигналу на выходе 20 блока 6 из блока 9 Начального приближения значение С„ через коммутатор 1I по сигналу на выходе 24 блока управления записывается на буферный регистр 12 и регистр 2 множителя (сигналы на 24 и 25 выходах бдюка управления)„ Б первом цикле () по сигналу на выходе 28 блока управления происходит умножение ii-разрядного Y/2 на р-разрядное Са, результат с сумматора 4 поступает через регистр 13 (сигнал на выходе 29 блока управления) на сумматор 5, С инверсного выхода которого переписывается на регистр 15, по сигналам На выходах 35, 33 и 31 блока управле- |ния,- затем по сигналу на 34 выходе блока управления код с регистра 15 складывается с единицей младшего разряда на сумматоре 5, результат по сигналам на выходах 31 и 32 блока уп- равления записывается на регистр 15, с которого со сдвигом влево на один разряд по сигналам на выходах 17 и 27 блока управления через коммутатор 10 записывается на регистр 1. Далее происходит умножение содержимого регистра 1, п-разрядного 2 (1-У/2-Cj,) на младшие р разряды регистра 2 (С0) так как было показано при описании работы устройства при умножении, ре- зультат, (п+р)-разрядное Су, получается в старших разрядах регистра 15 Далее по. сигналам на выходах 19 и 27 блока управления Y/2 записывается на регистр 1, одновременно происхо- дит сдвиг в сторону младших разрядов содержимого регистра 15 (k - 2 раза по р разрядов) по сигналам на 30 выходе блока управления о Затем по сигналам на выходах 23, 24 и 25 блока управления старшие п разрядов регистра 15 через коммутатор 12 поступают на регистр 12 и далее на регистр 2
После этого цикл определения очередного С г, ,3,...,d повторяется, причем в каждом цикле происходит умножение n-разрядного Y/2 на очередное 2ci ° р-разрядное Cj. После определения очередного 2(l-Y/2 Cj, ) v(n)С : , с регистра 12 по сигналу на выходе 25 блока управления восстанавливается на регистр 2 и происходи умножение n-разрядного 2(l-Y/2 Cj.,,)
на 2
( J-0
р-разрядное С. Полученный результат сдвигается на регистре 15 (k-2Jp) раз на р разрядов в каждом цикле, кроме последнего„ После завершения определения 1/Y делимое X с регистра 7 через коммутатор 10 поступают на регистр 1 по сигналам на выходах 18 и 27 блока управления, Cj находится на регистре 2. Далее происходит умножение п-разрядных X и Cj, так как было показано при описании работы устройства при выполнении операции умножения. После окончания уму
ножения1 частное Z - - размещается в
регистре 15.
Формула изобретения
Вычислительное устройство, содержащее регистры множимого и множителя,
k умножителей (где k - , n-разрядность операндов, р р - входная разрядность умножителей), сумматор элементарных произведений,- регистр частичных произведений, сумматор частичных произведений, регистр результата и блок микропрограммного управления, причем выходы соответствующих р разрядов регистра множимого соединены с входами первого сомножителя 1-го умножителя (i«l,./. ,k), входы второго сомножителя которого соединены с выходами младших р разрядов регистра множителя, выходы старших р разрядов 1-го умножителя соединены с входами соответствующих р разрядов первого слагаемого сумматора элементарных произведений, входы (pj-p)-x разрядов второго слагаемого которого соединены соответственно с выходами младших р разрядов j-ro умножителя (,... ,k) j, выходы младших р разрядов первого умножителя соединены соответственно с входами младших р разрядов регистра частичных произведений, входы последующих разрядов которого соединены соответственно с выходами сумматора элементарных произведений, а выходы - с входами первого слагаемого сумматора частичных произведений, входы второго слагаемого которого соединены соответственно с выходами регистра результата, входы записи регистра множимого,сдвига регистра множителя, выдачи k умножителей, разрешения суммирования сумматоров элементарных произведений и частичных произведений, записи
и сдвига регистра результата соединены соответственно с первого по седьмой выходами блока микропрограммного управления, вход записи регистра частичных произведений соединен с входом разрешения суммирования сумматора элементарных произведений, отличающееся тем, что, с целью расширения функциональ- ных возможностей за счет выполнения операции деления, в него введены регистры первого и второго операндов, три коммутатора, блок начального приближения и буферный регистр, выход которого соединен с информационным входом регистра множителя, а инфор- мацнонный вход - с выходом первого коммутатора, первый информационный вход которого соединен с выходом бло- ка начального приближения, информационные входы которого соединены с выходами старших (р-Н) разрядов регистра второго операнда, выходы (п-1) разрядов которого соединены с первым информационным входом второго коммутатора, второй информационный вход которого соединен с выходом регистра первого операнда, а третий информационный вход - с выходами старших разрядов, начиная с второго, регистра результата, выходы старших п разрядов которого соединены с вторым информационным входом первого комму- татора, третий информационный вход которого соединен с выходом регистра второго операнда, прямой и инверсный
выходы сумматора частичных произведений соединены соответственно с первым и вторым информационными входами - третьего коммутатора, выход которого соединен с информационным входом регистра результата, выход второго коммутатора соединен с информационным входом регистра множимого, входы записи регистров первого и второго операндов соединены с восьмым выходом блока микропрограммного управления, девятый, десятый и одиннадцатый выходы которого соединены соответственно с первым, вторым.и третьим управляющими входами второго коммутатора, первый, второй и третий управляющие входы первого коммутатора соединены соответственно с двенадцатым, тринадцатым и четырнадцатым выходами .: блока микропрограммного управления, пятнадцатый, шестнадцатый и семнадцатый выходы которого соединены соответственно с входами выдачи блока начального приближения, входами записи буферного регистра и регистра - множителя, восемнадцатый, девятнадцатый и двадцатый выходы блока микропрограммного управления соединены соответственно с входом сложения с единицей сумматора частичных произведений и первым и вторым управляющими входами третьего коммутатора, вход кода операции и тактовый вход устройства соединены соответственно с информационным и тактовыми входами блока микропрограммного управления.
JSl
Urrn
название | год | авторы | номер документа |
---|---|---|---|
Устройство для умножения чисел | 1990 |
|
SU1714595A1 |
Устройство для умножения | 1989 |
|
SU1672441A1 |
Устройство для умножения | 1988 |
|
SU1615706A1 |
Устройство для умножения | 1990 |
|
SU1753471A1 |
Вычислительное устройство | 1988 |
|
SU1545215A1 |
Арифметическое устройство | 1984 |
|
SU1236473A1 |
Устройство для умножения | 1987 |
|
SU1495785A1 |
Устройство для умножения чисел с плавающей запятой | 1985 |
|
SU1280624A1 |
Устройство для обработки данных | 1985 |
|
SU1287146A1 |
Устройство для деления | 1991 |
|
SU1783523A1 |
Изобретение относится к цифровой вычислительной технике и предназначено для умножения и деления чисел, представленных в двоичной системе счисления. Цель изобретения - расширение функциональных возможностей за счет выполнения операции деления путем введения трех коммутаторов, регистров первого и второго операндов, буферного регистра и блока начального приближения и соответствующих связей. Выполнение операции умножения основано на таблично-алгоритмическом методе, выполнение операции деления - на модифицированном итеративном методе Ньютона, что дало возможность удвоить точность вычислений на каждой итерации, сократив при этом общее число циклов умножения. Работа устройства организована по конвейерному принципу. 3 ил.
jЈ
B-9
Устройство для умножения-деления | 1985 |
|
SU1249509A1 |
Авторское свидетельство СССР № 754412, кл | |||
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1989-12-30—Публикация
1988-05-18—Подача