Множительное устройство
Иллюстрации
Показать всеРеферат
ОП ИСАНИЕ
ИЗОБРЕТЕНИЯ
«»824206
Со:с з Советских
Социалистических
Республик
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (61) Дополнительное к авт. сеид-ву— (22) Заявлено 080878 (21) 2679660/18-24 с присоединением заявки Но (23) ПриоритетОпубликовано 2304.81 Бюллетень 1чо- 15 (51)М. Кл.
Q 06 F 7/52
Государствеииый комитет
СССР по деЛам изобретений и открытий (53) УДК 681. 325 (088.8) Дата опубликования описания 230431
4 (72) Авторы изобретения
j с
C ,с
A Н. Флоренсов и В.И; Потапов
Омский политехнический инсти4ц. ь, (71) Заявитель (54 ) МНОЖИТЕЛЬНОЕ УСТРОЙСТВО
Изобретение относится к вычислительной технике и может быть использовано для ускоренного выделения опе раций умножения и деления в быстро5 действующих специализированных и универсальных цифровых вычислительных машин.
Известно табличное суммирующеемножительное устройство, содержащее запоминающее устройство, схему фор.мирования адресов таблиц, регистры первого и второго операндов и устройство управления, кроме того, со держит блок выдачи результата и блок анализа, входы которого подключены к выходам регистров первого и второго операндов, выходы блока анализа операндов подсоеди-. нены через схем И ко входам первой и второй схемы ИЛИ блока. выдачи результата, выход: первой схемы ИЛИ блока вЫдачи результата соединен со входами опроса регистра второго операнда,. выход которого подключен к триггерам регистра второго операн да, выход второй схемы ИЛИ блока выдачи результата соединен со входом схемы опроса регистра первого операнда, выход которой подключен к триггерам регистра первого операнда f1), Недостатком такого устройства является сравнительно большая емкость используемого запоминающего устройства, а также невозможность выполнения этим устройством операции деления.
Известно множительное устройство, содержащее два регистра первого операнда, соединенные выходами своей старшей и младшей частей соответственно с первым и вторым блоками памяти, регистр второго операнда соединенный выходами своей старшей и младшей частей соответственно .с третьим и четвертым блоками памяти, первый сумматор, входи которого соединены с первыми вторым коммутаторами, вы« ход первого сумматора соединен с регистром результата, и второй сумматор, входы которого соединены с третьим и четвертым коммутаторами, выход первого блока памя-. ти через первый коммутатор подключен к первому сумматору и через третий коммутатор ко второму сумматору, выход второго блока памяти. и выход четвертого блока памяти через четвертый коммутатор подключены ко второму сумматору (2).
Недостатком такого устройства является необходимость использования
824206 блоков памяти большой емкости, что связано со значительными техническими трудностями изготовления. Так при длине и двоичных разрядов операндов требуемый суммарный объем блоков памяти составляет (4п+3)2 + 1
Кроме того, это устройство не приспособлено для выполнения операции деления.
Цель изобретения — уменьшение (суммарной емкости используемых блоков памяти и расширение функциональных возможностей устройства за счет возможности выполнения операции деления.
Поставленная цель достигается тем, что множительное устройство, содер- (5 жащее регистры первого и второго операндов, регистр результата, блоки памяти, сумматоры и коммутаторы, причем выходы старшей и младшей частей регистра первого операнда соедийены со Щ входом соответственно первого и второго блоков памяти, выходы старшей и младшей частей регистра второго операнда соединены со входами соответственно третьего и четвертого блоков памяти„ входы первого сумматора соединены с выходами первого и второго коммутаторов, а выход - со входом регистра результата, входы второго сумматора подключены к выходам третьего и четвертого коммутаторов, выход первого блока памяти соединен с первыми входами первого и третьего коммутаторов, выход второго блока памяти соединен с первым входом четвертого коммутатора, выход четвертого блока памяти соединен со вторым входом четвертого коммутатора, содержит дополнительно три блока памяти„ буферные регистры, сдвнгатели, преобразователи прямого кода в дополнительный, мно- 40 горазрядный ключ и блок переключения режимов, причем выход первого сумматора соединен со входом пятого блока памяти, выход которого подключен ко входу первого сдвигателя, выход которого соединен с первым входом второго коммутатора, выход первого сумма тора соединен со входом второго сдвигателя, выход которого подключен ко входу первого буферного регистра, эы- 50 ход младшей части которого соединен со входом шестого блока памяти, выход которого подключен ко второму входу второго коммутатора, выход второго сумматора соединен со входом второго буферного регистра, выход ко- торого соединен со входом седьмого блока памяти, выход которого подключен ко входу третьего сдвигателя, выход которого подключен ко входу третьего буферного регистра, выход кото- Я) рого соединен со входом первого пре-, образователя прямого кода в дополнительный, выход которого подключен ко второму входу третьего коммутатора, выход второго суьыатора соединен со входом четвертого буферного регистра, выход которого соединен с третьим входов четвертого коммутатора, выход третьего сдвигателя соединен со входом четвертого буферного регистра, выход пятого блока памяти соединен со входом пятого буферного регистра, выход которого подключен ко второму входу первого коммутатора, выход третьего блока памяти соединен со вхо дом второго преобразователя прямого кода в дополнительный, выход которого подключен к третьему входу второго коммутатора, третьему входу третьего коммутатора и с информационным входом многоразрядного ключа, выход которого соединен с четвертым входом третьего коммутатора, выходы старшей и младшей частей первого буферного регистра соединены с третьим и четвертым входами первого коммутатора, выход второго буферного регистра соединен с четвертым входом второго коммутатора, управляющие входы преобразователей прямого кода в дополнительный и многоразрядного ключа-подключены к выходу блока переключения режимов.
Умножение Х Y и деление Х/Y операндов Х и Y производится в устройстве на основе следующих соотношений.
Пусть Х=0,1, X, ..., Х, Y=1, У2, ..., Y>ð X„Y О, 1) . ФиксиРУем некоторые значения параметров К и L
1 < К, L
-о
Х=Х bХ, У=У+аУ, F» (ú,v) = x J и 0 (х,у)=х/у
Разлагают функции в ряд Тейлора по приращениям ы Х а ограничившись первыми произ водными х v = „(х,У) =x Уо+ьхУ+ ичх+к„
X/Y - Fq(X,У) -Хо/У +ЬХ/Уо-ЬУХ / +2, где В.(и R - остаточные члены формулы Тейлора и для данных F u F имеем
При 1/2<Х<1,1<7<2,0<ьХ<2 ", 0 <
<аУ<2 " и для оценки остаточных членов имеем неравенства.
/К /<2 (???? i ?????? (n <" "> —.2ь+ ) 824206
Выбирают значения параметров К и 1. так, чтобы выполнялось условие
Ь+ ox (K,4-1) «И+а, (1) вычисляют значения результатов one раций X Y и Х/У с n+1 верной значащей двоичной цифрой после запятой по формулам
Х Ч =ХоЧо+йХ Чо << Хо (2)
"о о+ Х/ о a XotÓ (3) 20
Заменяя в этих формулах операции умножения .на последовательные операции логарифмирования, сложения и потенцирования имеем
Х-Ч =а
+ eW, Ч+Есн,Х
Х y - 2 î Х ОЯ Чо + 2 Щ2ь Х Со(ф Ув
+2 ОФ УiСос X -20oqy
Значения Long Xo > 1оа Yo; l og,Х
1оп, дУ, в связи с существенно меньшей чем и разрядностью промежуточных аргументов Х; Уо;лХ; лУ, находят табличным преобразованием соответствующих аргументов. Операцию потенци- 25 рования по основанию 2, 2 - 2 также находят табличным преобразованием, но в связи со значительно фольшей разрядностью первых слагаемых в первой части формул (2) и (3) по сравнению 3О с остальными слагаемыми целесообразно с точки зрения сокращения объема блоков памяти, используемых для хранения таблиц преобразований, поступают следующим образом.
Требуется найти значение 2".„ (условие U=U GU), тогда 2 =2 +2 о ограничиваемся ПЗУ, хранящим таблицы от промежуточных аргументов U u о д0 вдвое меньшей разрядности.
На чертеже представлена блок-схема множительного устройства.
Устройство содержит регистр 1 первого операнда, выходы 2 которого соединены со входами блоков 3 и 4 памяти, причем выход старшей части регист-45 ра 1 соединен со входом блока 3 памяти, а выход младшей части — со входом блока 4 памяти, регистр 5 второго операнда, выходы 6 которого соединены со входами блоком.7 и 8 памя- 5Р ти причем выход старшей части регистра 5 соединен со входом блока 7 памяти, а выход младшей части регистра 5 — со входом блока 8 памяти, сумматор 9, входы которого соединены с 55 выходами первого и второго коммутаторов 10 и 11, выход первого.сумматора 9 соединен с регистром 12 результата, сумматор 13, входы которого соединены с третьим и четвертым коммутаторами 14 и 15. Устройство содержит, кроме того, последовательно соедииейные с выходом сумматора 9 блок 16 памяти и сдвигатель 17, выход которого подключен ко входу коммутатора 11, а также последовательно соединенные с выходом сумматора сдвигатель 18, буферный регистр 19 и блок 20 памяти, выход которого подключен ко входу коммутатора 11. В состав устройства входят последовательно соединенные с выходом сумматора 13 буферные регистр
21, блок 22 памяти, сдвигатель 23, буферный регистр 24 и преобразователь
25 прямого кода в дополнительный, выход которого подключен ко входу коммутатора 14, буферный регистр 26, соединенный по входу с выходом сумматора 13 и выходом сдвигателя 23, а по выходу — ао входом коммутатора 15 °
Устройство содержит также буферный регистр 27, соединенный по входу с выходом блока 16 памяти, а по выходу — co входом коммутатора 10, преобразоватЕль прямого кода в дополнительный 28, соединенный по входу с выходом блока 7 памяти, а по выходу со входом коммутатора 11, со входом коммутатора 14 и с информационным входом многоразрядного ключа 29, соединенного по выходу со входом коммутатора 14. Выход блока 3 памяти через коммутатор 10 подключен к сумматору . 9 и через коммутатор 14 к сумматору 13, выход блока 3 памяти и выход блока 8 памяти через коммутатор
15 подключены к сумматору 13. Выходы старшей и младшей части буферного регистра 19 соединены со входами коммутатора 10, выход буферного регистра 21 соединен со входом коммутатора 11, а управляющие входы преобразователей 25 и 26 прямого кода в дополнительный и многоразрядного ключа 29 подключены к выходу блока
30 переключения режимов. Управляющий вход сдвигателя 17 соединен с выходом сумматора 9, а управляющий вход сдвигателя 23 подключен к выходу сумматора 13.
В предлагаемом устройстве в старшей части регистра 1 первого операнда хранится значение Хо старших .разрядов аргумента Х, в младшей части регистра 1 первого операнда содержится значение аХ младших разрядов аргумента Х. В старшей и младшей частях регистра второго операнда хранятся, соответственно, значения Y è
àY. Для хранения таблиц значений ь зуются, соответственно, блоки 3,4, 7 и 8 памяти, блоки 16 и 18 памяти и используются для табличных преобразований потенцирования Z - 2, блок 20 памяти содержит таблицы значений
)од (2 -1). Сдвигатели 18, 17 и 23 используются: а; получения верного промежуточного результата по мантиссе аргумента потенцирования с учетом характеристики этого аргумента. Преобразователи 25 и 28 в зависимости от состояния управляющего входа либо передают код числа-без изменений, ли824206 бо формируют дополнительный код чис-. ла.
Устройство работает в семь тактов следующим образом.
В режиме умножения в первом такте работы устройства значения аргументов Х„; bX; У ; аУ, хранящиеся в регистрах 1 и 5, поступают на входы блоков 3,4,5 и б памяти, образуя на их выходах, соответственно, значения
log>Хо, 1оg
log
11 и преобразователь 28, образуя значение logХо и 1од дУ, поступающих через вторые коммутаторы
14 и 15. Промежуточный результат, равный log2(Xo. bY) запоминается на буферном регистре 26 ° Во время третьего такта работы устройства значение Ь0, снимаемое с младших разрядов буФер1ного регистра 19, поступает на вход блока 20 памяти, образуя на его выходе значение log (2 -1). Одновременно блок 16 памяти по переданному реле на него аргументу 0о, выдает значение
2 запоминаемое на буферном регист- ре 27. Сумматор 13 в третьем тактеработы производит сложение промежуточного результата log (Х ьУ) хранящегося на буферном регистре 26, с нулем, образованном на выходе многоразрядного ключа 29 (в режиме деления через этот многоразрядный ключ 29 передает- 4О ся для сложения на втором сумматоре
13 значение 21og< У ) . Промежуточный результат log Х 6У запоминается при этом на буферйом регистре 21, причем характеристика этого результата запоминается в сдвигателе 23, а ман.тисса передается на вход блока 22 памяти.
На четвертом такте работы на сумматоре 9 производится сложение значе- ний Uo и log< (2 " -1) характеристика промежуточного результата Uo+ l ogy (2-1) передается в сдвигатель 17, а мантисса этого результата — на вход блока 16 памяти. Одновременно на сумматоре 13 происходит сложение величин
log ьХ и 1од У поступающих, соответственно, через коммутатор 14 и ком2 мутатор 15. Мантисса результата этого сложенйя, равного 1оц У ьХ, запоминается на буферном регистре 21, а Ц) характеристика передается в сдвигателе 23. Параллельно с этим блоком 22 памяти производится потенцирование через третий сдвигатель 23, учитывающий путем соответствующего сдвихарактеристику log X .bY, обра у„ о значение Хо -аУ,- запоминаемое на буферном регистре 24.
В пятом такте Работы блок 16 памяти выполняет табличное потенцирование мантиссы промежуточного резуль-тата 0 -1о9 (2 -1), а блок 22 памяти выполняет табличное потенцирование мантиссы log Y ьХ, хранящейся до этого на буферном регистре 21.
Причем результат этого потенцирования передается через сдвигатель 23, учитывающий характеристику log Y ьХ, давая значение Уо ьХ, запоминаемое на на буферном регистре 26.
В шестом такте работы устройства результат потенцирования мантиссы
0 +lо9 (2 -1), передаваясь через сдвигатель 17, учитывающий характеристику числа UI>+lоа (2 -1), обра8 +йо эует значение 2 + 9 (" и складывается на сумматоре 9 с поступающим в том же такте через коммутатор
10 с буферного 27 значением 2 о. Это порождает мантиссу результата 2", которая передается через сдвигатель .18, учитывающий характеристику 0=
=log>XoYo и образуют величину ХоУ„ =
=2", запоминаемую на буферном регистре 19. Одновременно в этом же такте на сумматоре 13 -происходит сложение Уо ьХ и Х ьУ передаваемых через коммутатор 15, соответственно, с буферных регистров 24 и 2,6, причем преобразователь 25 передает значение
Y bX без изменений з.нака в режиме умножения. Результат этого сложения запоминается на втором буферном регистре 21.
В последнем>седьмом такте работы устройства, сумматор 9 выполняет сложение значение ХоУ с буферного регистра 19 и величины (Хц аУ Уо -аХ) с буферного регистра 21, результат которого, равный искомому значению X-Y в соответствии с (2), выдается на регистр 12 результата.
В режиме деления, определяемом блоком 30 переключения режимов, второй преобразователь 28 выполняет преобразование выбранного из блока.7 памяти значения log Y в соответствующий код величины — 1о9 Y . Поэтому в процессе второго такта деления на сумматоре 9 образуется значение
1о9д Хо/Ya =log< Х+(— l og
1og
29 передается код величины 21од Y т.е. аппаратурно сдвинутый на один разряд влево код величины — log@Yo, что порождает в третьем такте на сумматоре 13 обраэование значения
ЮоЯ Х АЭ 2Ео Ч -60Я (xppb,g (> ).
В результате этого, в последующие такты работы устройства выполняется
824206 потенцирование логарифмов 1од Х /Y
1о9 4Х/Уо H log (Xo о У/Y ) вместо
1<92XУо 1og b Х Уо и 1о9 Хо ь Y обРааии ЭНаЧЕИИЯ X /Y>, .ачХ УЕ И У аУ/У
В шестом такте деления преобразователь 22 изменяет знак передаваемого с буферного регистра 21 значения
ХоьУ/Y,,поэтому при сложении со/ я держймого буферных регистров 24 и 26 в этом такте образуется значение дХ/Уо-а/ ° Хо/Y . Функционирование ос2 тальных узлов устройства s режиме деления происходит таким же образом, как и в рассмотренном подробно режиме умномения.
Суммарный объем блоков памяти, используемом в предлагаемом устройстве, составляет величину
Я = ф+3) 2 +(У1-К+5) 2 +(И+5)2 +
+(И-1- 4) 2 + (И+2)2 +д 2 где ф, =)11 Я +1,g-И+2-вии(1с,,ь-1), а функция M(X)=jXj есть наименьшее целое число, не меньшее Х, причем 25 для получения требуемой точности необходимо выполнение условия (1).
Для разрядной сетки n=16 получаем, что требуется суммарный объем блоков памяти величиной в Q=24,875 Кбит для предлагаемого устройства, в то время как для известного необходимы блоки памяти суммарной емкостью Q- 8576 Кбит, т.е. получаем выигрыш в объеме блоков памяти более чем в
350 раз. Для n=24 получаем. соответственно, Оаб74 Кбит, Q = 992 Кбит я чтодает выигрыш более, чем в 4000 раз.
Формула изобретения .Множительное устройство, содержащее регистры первого и второго операицов, регистр результата, блоки памяти, сумматоры и коммутаторы, причем 45 выходы старшей и младшей частей ре,гистра первого ойеранда соединены со входом соответственно первого и второго блоков памяти, выходы старшей и младшей частей регистра второго операнда соединены со входами соответ30 ственно третьего и четвертого блоков памяти, входы первого сумматора соединены с выходами первого и второго коммутатора, а выход — со входом .регистра результата, входы второго сум- 5 матора подключены к выходам третьего и четвертого коммутаторов, выход первого блока памяти соединен с первыми входами первого и третьего коммутаторов, выход второго блока памя- 60 ти соединен со вторым входом четверто го коммутатора, выход четвертого блока памяти соединен со вторым входом четвертого коммутатора, о т л и ч аю щ е е с я тем, что, с целью расширения функциональных возможностей устройства за счет выполнения операции де ления и сокращения суммарной емкости используемых блоков памяти,устройство содержит дополнительно три блока памяти, буферные регистры, сдвигатели, преобразователи прямого кода в дополнительный, многоразрядный ключ и блок переключения. режимов, причем выход первого сумматора соединен со входом пятого блока памяти, выход которого подключен ко входу первого сдвигателя, выход которого соединен с первым входом второго коммутатора, выход первого сумматора соединен со входом второго сдвигателя, выход которого подключен ко входу первого буферного регистра, выход младшей части которого соединен со входом шестого блока памяти, выход которого подключен ко второму входу второго коммутатора, выход второго сумматора соецинен со входом второго буферного регистра, выход которого соединен со входом седьмого блока памяти, выход которого подключен ко входу третьего сдвигателя, выход которого подключен ко входу третьего буферного регистра, выход которого соединен со входом первого преобразователя прямого кода в дополнительный, выход которого подключен ко второму входу третьего коммутатора, выход второго, сумматора соединен со входом четвертого буферного регистра, выход которого соединен с третьим . входом четвертого коммутатора, выход третьего сдвигателя .соединен со входом четвертого буферного регистра, выход пятого блока памяти соединен со входом пятого буферного регистра, выход которого подключен ко второ.му входу первого коммутатора, выход третьего блока памяти соединен со входом второго преобразователя прямого кода в дополнительный, выход которого подключен к третьему входу второго коммутатора, третьему входу третьего коммутатора и с информационным входом многоразрядного ключа, выход которого соединен с четвертым входом третьего коммутатора, выходы старшей и младшей частей первого буферного регистра соединены с третьим и четвертым входами первого коммутатора, выход второго буферного регистра соединен с четвертым входом второго коммутатора, управляющие входы преобразователей прямого кода в дополнительный и многоразрядного ключа подключены- к выходу блока переключения режимов. источники информации, принятые во внимание при экспертизе
1. Авторское свидетельство СССР
Р 253442, кл. G 06 F 3/39;
G 06, 7/385, 1968.
2..1атент С1. 1А Р 3749898, кл. 235-164, 1973 (прототип1
82420б
Составитель В. Березкин .
Регактор Н. Рогулич Техрец 3. фанта Корректор Н. Бабинец
Заказ 2112/71 Тираж 745 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Филиал ППП "Патент", r. Ужгород, ул. Проектная, 4