RU2021633C1 - Multiplying device - Google Patents
Multiplying device Download PDFInfo
- Publication number
- RU2021633C1 RU2021633C1 SU5039651A RU2021633C1 RU 2021633 C1 RU2021633 C1 RU 2021633C1 SU 5039651 A SU5039651 A SU 5039651A RU 2021633 C1 RU2021633 C1 RU 2021633C1
- Authority
- RU
- Russia
- Prior art keywords
- input
- output
- group
- adder
- transfer
- Prior art date
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
Description
Изобретение относится к вычислительной технике и может быть использовано при разработке быстродействующих устройств умножения чисел, удобных для изготовления с применением технологии БИС и СБИС. The invention relates to computer technology and can be used in the development of high-speed number multiplication devices, convenient for manufacturing using LSI and VLSI technology.
Целью изобретения является сокращение аппаратурных затрат и расширение функциональных возможностей за счет обеспечения умножения чисел как в беззнаковой форме, так и чисел со знаками. The aim of the invention is to reduce hardware costs and expand the functionality by ensuring the multiplication of numbers both in unsigned form and numbers with signs.
На фиг.1 приведена функциональная схема устройства для умножения чисел; на фиг. 2 - функциональная схема коммутатора; на фиг.3 - функциональная схема узла формирования коррекции; на фиг.4 - пример умножения 16-разрядных двоичных чисел для случая двоично-кодированной шестнадцетиричной системы счисления, представленных в дополнительном коде. Figure 1 shows a functional diagram of a device for multiplying numbers; in FIG. 2 - functional diagram of the switch; figure 3 is a functional diagram of the node forming correction; figure 4 is an example of multiplication of 16-bit binary numbers for the case of a binary-coded hexadecimal number system, presented in the additional code.
Устройство для умножения (фиг.1) содержит n одноразрядных узлов 1 умножения (n - разрядность множимого), n буферных регистров первой 2 и второй 3 групп, n комбинационных сумматоров 4 первой группы, (n+1) комбинационных сумматоров 5 второй группы, (n+1) регистров 6 промежуточного результата, n триггеров 7 переноса, (n-1) коммутаторов 8 и узел 9 формирования коррекции, входы множителя 10 и множимого 11 устройства, входы режима 12 работы, знака 13 множителя, последовательной подачи множимого 14 и знака 15 множимого устройства, первый 16 и второй 17 управляющие входы устройства, первый 18 и второй 19 выходы устройства, выходы старшего 20 и младшего 21 разрядов 1-го узла 1 умножения, выходы буферных регистров первой 22 и второй 23 групп, выходы суммы 24 и переноса 25 сумматора 4, вход переноса 26 сумматора 4, выходы суммы 27 и переноса 28 и вход переноса 29 сумматора 5, выходы 30 регистров 6, первый 31 и второй 32 выходы поправки узла 9. The device for multiplication (Fig. 1) contains n single-digit multiplication nodes 1 (n is the length of the multiplicable), n buffer registers of the first 2 and second 3 groups,
Коммутаторы 8 (фиг.2) содержат элемент ИЛИ 33 и элемент И 34. The switches 8 (figure 2) contain the element OR 33 and the element And 34.
Узел 9 формирования коррекции (фиг.3) содержит дешифратор 35 нуля, выполненный на элементе ИЛИ, RS-триггеры 36, 37, элемент ИЛИ 38 и элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 39 и элементы И 40, 41, 42.
Рассмотрим функциональное назначение и реализацию узлов и блоков устройства. Consider the functional purpose and implementation of the nodes and blocks of the device.
Узлы 1 комбинационного типа предназначены для вычисления произведения соответствующих разрядов множителей, представленных в виде чисел со знаком или кодов чисел в беззнаковой форме. Режим операции задается подачей соответствующих сигналов на первый и второй управляющие входы узла 1. Узлы 1 могут быть реализованы любым из известных способов. Например, узел 1 вместе с одноразрядными регистрами 2 и 3 входит в состав БИС-умножителей К1802ВР3, К1802ВР4, К1802ВР5.
Буферные регистры 2 и 3 предназначены для хранения значений разрядов произведений, формируемых соответствующими узлами 1 и могут быть реализованы на синхронных двухтактных D-триггерах с входами установки в нулевое состояние.
Сумматоры 4 и 5 комбинационного типа, предназначены для вычисления разрядов сумм частичных произведений сомножителей. Они могут быть реализованы любым известным способом, например, в виде сумматоров с параллельным переносом.
Регистры 6 предназначены для хранения информации, формируемой на выходах 27 суммы соответствующих сумматоров 5 и могут быть реализованы на синхронных двухтактных триггерах с входами установки в нулевое состояние. Registers 6 are designed to store information generated at the outputs 27 of the sum of the
Триггеры 7 предназначены для хранения разрядов переносов, возникающих при работе сумматоров 5, и могут быть реализованы на синхронных двухтактных D-триггерах с входами установки в нулевое состояние. Flip-flops 7 are intended for storing carry bits that occur during the operation of
Коммутаторы 6 предназначены для передачи информации на их выходы 29 (входы переноса сумматоров 5) с первого или второго их информационных входов (выходов 25 и 28 переносов соответственно сумматоров 4 и 5) в зависимости от сигнала на их управляющих входах (входе 17 устройства). The switches 6 are designed to transmit information to their outputs 29 (transfer inputs of adders 5) from their first or second information inputs (
Узел 9 предназначен для формирования корректирующих поправок при работе устройства в режиме умножения чисел, представленных в дополнительном коде.
Как известно, при умножении любого ненулевого положительного числа на отрицательное получается отрицательное произведение, расширяя знаковый разряд которого получают корректирующую поправку 11...11. Однако при умножении отрицательного числа на нуль, получают положительное число нуль и расширение будет 00. . .00. Необходимость введения поправки по знаку множимого (ненулевое значение разряда множителя) контролируется по старшему разряду произведения n-го узла 1, при этом подсуммирование поправки начинается после того, как в RS-триггер 37 будет записана "1", определяющая отрицательное частичное произведение. Далее в каждом такте через вход второго слагаемого n-го сумматора 4 поразрядно подсуммируется поправка 11...111 без запоминания возникающего при этом переноса. Нулевое значение разряда множимого контролируется с помощью дешифратора нуля, выполненного на элементе ИЛИ 35. Введение поправки по знаку множителя начинается (так же как и поправки по знаку множимого) после определения первого ненулевого разряда множимого, начиная с младших его разрядов, что фиксируется в RS-триггере 36. Разряд поправки при этом равен 11...11. Если далее следует нулевой разряд множимого, то разряд поправки будет 11...10, а если ненулевой разряд множимого - то 11...10 и т.д. As you know, when you multiply any nonzero positive number by negative, you get a negative product, expanding the sign digit of which you receive a correction correction of 11 ... 11. However, when multiplying a negative number by zero, a positive number of zero is obtained and the extension will be 00.. .00. The need to introduce corrections according to the sign of the multiplier (nonzero value of the digit of the multiplier) is controlled by the highest bit of the product of the
В целях упрощения на структурной схеме условно не показаны цепи синхронизации и установки в нулевое состояние регистров 2, 3 и 6, триггеров 7, а также триггеров 36 и 37 узла 9, однако можно отметить, что имеется общая цепь синхронизации и общая цепь установки в нулевое состояние регистров 2, 3 и 6, триггеров 7, а также триггеров 36 и 37 узла 9. In order to simplify, the synchronization circuit and the zeroing state of
Устройство для умножения чисел может работать в режиме вычисления произведения кодов - чисел в беззнаковой форме или в режиме вычисления произведения чисел, представленных в дополнительном коде. The device for multiplying numbers can work in the mode of calculating the product of codes - numbers in unsigned form or in the mode of calculating the product of numbers represented in the additional code.
Умножение кодов. Multiplication Codes.
В исходном состоянии регистры 2, 3 и 6, триггеры 7, а также триггеры 36 и 37 узла 9 обнулены, на входе 11 устройства присутствует без знака n-разрядный 2k-ичный код множимого (n*k - разрядный двоичный код множимого). Предполагается, что множимое и множитель представлены в двоично-кодированной 2k-ичной системе счисления, т.е. каждый разряд как множимого, так и множителя представляет собой набор из k двоичных цифр. На вход 16 устройства подан сигнал, настраивающий все узлы 1 на вычисление произведения разрядов сомножителей как кодов, на вход 12 - нулевые сигналы, а на вход 17 - сигнал, настраивающий коммутаторы 6 на передачу информации только с их первых информационных входов (выходов 25 сумматоров 4). Умножение в устройстве осуществляется за n+2 тактов.In the initial state, registers 2, 3 and 6, flip-flops 7, as well as flip-
В каждом из n первых тактов работы устройства на его вход 10 поступает один 2k-ичный разряд множителя (параллельно к двоичных разрядов). При этом, на выходах 20 и 21 i-го узла 1 (i=1,...,n) формируются соответственно старший и младший разряды двухразрядного произведения соответствующего разряда множителя, поступающего на его вход множителя с входа 10 устройства, на i-й разряд множимого, поступающий на его вход множимого с i-го разряда входа 11 устройства. Старший и младший разряды произведения i-го узла 1 по окончании каждого такта записываются в i-е регистры 2 и 3 соответственно. Одновременно с работой узлов 1 в каждом такте старший разряд произведения i-го узла 1, сформированный в предыдущем такте и хранящийся в i-м регистре 2, поступает на вход первого слагаемого i-го сумматора 4, на вход второго слагаемого которого поступает младший разряд (i+1)-го узла 1, сформированный в предыдущем такте и хранящийся в (i+1)-м регистре 3 (на вход второго слагаемого n-го сумматора 4 поступает нулевая информация с выхода 31 узла 9, а младший разряд первого узла 1, сформированный в предыдущем такте и хранящийся в первом регистре 3 поступает на вход первого слагаемого первого сумматора 5). Сумма указанных слагаемых i-го сумматора 4 с его выхода 24 поступает на вход первого слагаемого (i+1)-го сумматора 5, а их перенос - с выхода 25 через (i+2)-й коммутатор 8 на вход переноса (i+2)-го сумматора 5. На вход второго слагаемого i-го сумматора 5 поступает соответствующий разряд суммы частичных произведений сомножителей, сформированный в предыдущем такте и хранящийся в (i+1)-м регистре 8. На вход второго слагаемого (n+1)-го сумматора 5 поступает нулевая информация с выхода 32 узла 9. Сформированные сумматорами 5 разряды суммы частичных произведений в двухразрядном коде с их выходов 27 и 28 по окончании каждого такта записываются в соответствующие регистры 6 и триггеры 7.In each of the n first clock cycles of the device, its input 10 receives one 2 k -th digit of the multiplier (parallel to binary digits). At the same time, at the outputs 20 and 21 of the i-th node 1 (i = 1, ..., n), the highest and the least significant bits of the two-bit product of the corresponding digit of the factor, which is input to its input from the factor 10 from the input 10 of the device, are formed on the i-th the discharge of the multiplicand received at its input of the multiplicative from the i-th digit of the input of the
После выполнения n первых идентичных тактов работы устройства на его вход 10 множителя поступает нулевая информация и осуществляется (n+1)-й такт, по окончании которого в регистры 2 и 3 записывается нулевая информация, а в регистры 8 и триггеры 7 - результат произведения сомножителей в двухрядном коде. After the first n identical clock cycles of the device have been executed, zero information is received at its input of a factor of 10 and the (n + 1) th clock is executed, after which zero information is recorded in
В (n+2)-м такте работы устройства на его вход 17 подается сигнал, настраивающий коммутаторы 6 на передачу информации с их первых и вторых информационных входов (выходов 25 и 28 переносов соответственно сумматоров 4 и 5) и осуществляется приведение двухрядного кода результата к однорядному. Следует отметить, что на выходах 25 сумматоров 4 в этом такте переносы не возникают, что позволяет упростить структуру коммутаторов 9 (фиг.2). In the (n + 2) -th clock cycle of the device, a signal is input to its input 17, which configures the switches 6 to transmit information from their first and second information inputs (
Вывод n+1 младших 2k-ичных разрядов 2n - разрядного произведения в устройстве осуществляется через его выход 18 по одному разряду в каждом такте работы устройства, начиная со второго такта, а вывод n-1 старших 2k-ичных разрядов произведения - через выход 19 в (n+2)-м такте работы устройства.The output of n + 1 lower 2 k- bits of a 2n-bit product in the device is carried out through its output 18, one bit in each clock cycle of the device, starting from the second clock, and the output of n-1 senior 2 k- bits of the product - through the output 19 in the (n + 2) -th cycle of the device.
Умножение чисел, представленных в дополнительном коде. Multiplication of numbers represented in additional code.
Исходное состояние устройства аналогично описанному выше режиму (за исключением следующего) на входе 11 устройства присутствует n-разрядное значение множимого, включая его знаковый разряд: на вход 16 устройства подан сигнал, настраивающий n-й узел 1 на вычисление произведения код-число, а все остальные узлы 1 - на вычисление произведения кодов; на входы 13 и 16 поданы значения знаков множителя и множимого соответственно: на вход 12 - нулевые сигналы. Умножение в устройстве осуществляется за (n+2) тактов. На фиг. 4 показан пример умножения в предлагаемом устройстве 16-разрядных двоичных чисел, представленных в дополнительном коде в двоично-кодированной шестнадцатеричной системе счисления. Ввод корректирующих поправок с третьего такта работы устройства. Поправки вводятся при отрицательных множимом или множителе, а также зависят от того, есть ли в множимом или множителе нулевые разряды. Если младшие разряды множимого или множителя равны нулю, то первые разряды соответствующих поправок также равны нулю. Первый же ненулевой разряд множимого или множителя вызывает введение соответствующей поправки в виде 11...11. Поправка по знаку множителя во всех последующих тактах также равна 11...11, поскольку она подсуммируется в n-м сумматоре 4 без сохранения переноса. Значения разрядов поправки по знаку множимого зависят от того, какими являются последующие разряды множимого-нулевыми или ненулевыми. Если последующий разряд множимого равен нулю, то вводится поправка 11. . . 11, а если последующий разряд множимого не равен нулю, то вводится 11...10. The initial state of the device is similar to the mode described above (except for the following) at the
В первом такте работы устройства на его вход 10 поступает младший значащий 2k-ичный разряд множителя (параллельно k двоичных разрядов). При этом на выходах 20 и 21 k-го узла 1 (k=1,...n-1) формируются соответственно старший и младший разряды двухразрядного произведения младшего значащего разряда множителя, поступающего на его вход множителя с входа 10 устройства на k-й значащий разряд множимого, поступающий на его вход множимого с k-го разряда входа 11 устройства. В n-м узле 1 осуществляется умножение младшего значащего разряда множителя, поступающего на его вход множителя с входа 10 устройства на старший разряд множимого (этот разряд содержит информацию о знаке множимого), поступающий на его вход множимого с n-го разряда входа 11 устройства. Старший и младший разряды произведения i-го узла 1 по окончании первого такта записываются в i-е регистры 2 и 3 соответственно.In the first clock cycle of the device, the least significant 2 k -th digit of the multiplier (parallel to k binary digits) is supplied to its input 10. At the same time, at the outputs of 20 and 21 of the k-th node 1 (k = 1, ... n-1), the highest and the least significant bits of the two-bit product of the least significant digit of the multiplier received at the input of the multiplier from input 10 of the device to the k-th a significant digit of the multiplicand received at its input of the multiplicand from the kth bit of the
Во втором такте работы устройства на его вход 10 поступает второй значащий разряд множителя, с использованием которого в узлах 1 осуществляются аналогичные описанным выше действия. По окончании второго такта в i-е регистры 2 и 3 записываются старший и младший разряды произведения i-го узла 1, а в регистры 6 и триггеры 7 - соответствующие разряды частичного произведения множимого на младший разряд множителя. Кроме того, в этом такте на вход установки в единицу триггеры 37 узла 9 поступает информация о знаке частичного произведения, сформированного в первом такте, и если множимое отрицательное и первый разряд множителя не равен нулю, то триггер 37 устанавливается в "1", в противном случае он остается в состоянии "0". In the second clock cycle of the device, a second significant digit of the multiplier arrives at its input 10, with the use of which, in
С третьего по n-й такты работы устройства через входы второго слагаемого n-го сумматора 4 и (n+1)-го сумматора 5 вводятся корректирующие поправки. При отрицательном множителе на входе 13 устройства присутствует "1", а при отрицательном множимом на входе 15 устройства присутствует "1". На вход 14 устройства подается по одному разряду в каждом такте множимое, начиная с его младшего разряда. На вход 12 устройства подается сигнал, разрешающий прохождение корректирующих поправок на выходы 31 и 32 узла 9. Ненулевые значения поправок формируются после установки триггеров 36 и 37 в "1", т.е. , когда соответствующие разряды множимого и множителя не равны нулю. После чего, на выходе 31 узла 9 всегда будет присутствовать "11...11", а на выходе 32 узла 9 - или "11...10" (если следующий разряд множимого не равен нулю), или "11...11", (если следующий разряд множимого равен нулю). Corresponding corrections are introduced from the third to the n-th clock cycles of the device through the inputs of the second term of the n-
С третьего по (n-1)-й такты работы устройства на его вход 10 подаются с третьего по (n-1)-й значащие разряды множителя по одному разряду в каждом такте. В узлах 1 и сумматорах 4 и 5 при этом осуществляются действия, аналогичные описанному выше второму такту работы устройства с подсуммированием через входы второго слагаемого n-го сумматора 4 и (n+1)-го сумматора 6 корректирующей информации, причем перенос, возникающий в результате суммирования в n-м сумматоре 4 теряется, а перенос, возникающий в результате суммирования в (n+1)-м сумматоре 5 записывается по окончании каждого такта в n-й триггер 7. From the third to the (n-1) -th clock cycles of the device, its input 10 receives the third to the (n-1) -th significant bits of the multiplier, one bit in each clock cycle. In
В n-м такте работы устройства на вход 10 устройства подается самый старший разряд множителя, который содержит информацию о знаке множителя. На вход 16 устройства поступает сигнал, настраивающий с первого по (n-1)-й узлы 1 на вычисление произведения число-код, а n-й узел 1 на умножение чисел. Работа устройства аналогична описанной выше. In the nth clock cycle of the device, the most significant bit of the factor, which contains information about the sign of the factor, is supplied to the input 10 of the device. The
В (n+1)-м такте работы устройства на вход 10 устройства подается нулевая информация. В сумматорах 4 и 5 выполняются аналогичные описанным выше действия и по окончании (n+1)-го такта в регистры 6 и триггеры 7 записываются разряды полного произведения сомножителей с учетом корректирующих поправок в двухрядном коде. In the (n + 1) -th clock cycle of the device, zero information is supplied to the input 10 of the device. In
В (n+2)-м такте работы устройства на его вход 17 подается сигнал, настраивающий коммутаторы 8 на передачу информации с их первых и вторых информационных входов (выходов 25 и 28 переносов соответственно сумматоров 4 и 5) и осуществляется приведение двухрядного кода результата к однорядному. In the (n + 2) -th clock cycle of the device, a signal is input to its input 17, which configures the switches 8 to transmit information from their first and second information inputs (
Вывод (n+1) младших 2k-ичных разрядов 2n-разрядного произведения в устройстве осуществляется через его выход 18 по одному разряду в каждом такте работы устройства, начиная со второго такта, а вывод (n-1) старших 2k-ичных разрядов произведения - через выход 19 в (n+2)-м такте работы устройства.The output of the (n + 1) lower 2 k- bits of the 2n-bit product in the device is carried out through its output 18, one bit in each clock cycle of the device, starting from the second clock, and the output of (n-1) the highest 2 k- bits works through output 19 in the (n + 2) -th clock cycle of the device.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU5039651 RU2021633C1 (en) | 1991-07-10 | 1991-07-10 | Multiplying device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU5039651 RU2021633C1 (en) | 1991-07-10 | 1991-07-10 | Multiplying device |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2021633C1 true RU2021633C1 (en) | 1994-10-15 |
Family
ID=21602945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU5039651 RU2021633C1 (en) | 1991-07-10 | 1991-07-10 | Multiplying device |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2021633C1 (en) |
-
1991
- 1991-07-10 RU SU5039651 patent/RU2021633C1/en active
Non-Patent Citations (3)
Title |
---|
Авторское свидетельство СССР N 1038936, кл. G 06F 7/52, 1983. * |
Микропроцессоры и микропроцессорные комплекты интегральных микросхем. * |
Справочник под ред. В.В.Шахнова, М.: Радио и связь, 1988, т.2, с.71-89, рис.12.19., 12.26. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4545028A (en) | Partial product accumulation in high performance multipliers | |
RU2021633C1 (en) | Multiplying device | |
US4276608A (en) | Fibonacci p-code parallel adder | |
US4941121A (en) | Apparatus for high performance multiplication | |
US4845728A (en) | VLSI binary updown counter | |
SU1654814A2 (en) | Multiplier | |
SU1536374A1 (en) | Device for multiplying numbers | |
RU2386998C1 (en) | Method and device for binary-coded decimal multiplication | |
RU1807481C (en) | Device for multiplication | |
SU1185328A1 (en) | Multiplying device | |
SU1529216A1 (en) | Multiplication device | |
SU1667061A1 (en) | Multiplication device | |
RU2022339C1 (en) | Multiplier | |
SU1229758A1 (en) | Multiplying device | |
SU1307455A1 (en) | Sequential multiplying device | |
RU1817091C (en) | Device for multiplying numbers | |
SU1626252A1 (en) | Multiplier | |
SU734669A1 (en) | Converter of proper binary fraction into binary-decimal fraction and integer binary-decimal numbers into binary numbers | |
SU1179322A1 (en) | Device for multiplying two numbers | |
SU1517026A1 (en) | Dividing device | |
SU1718215A1 (en) | Device to perform vector-scalar operations over real numbers | |
SU888109A1 (en) | Multiplier | |
SU1236462A1 (en) | Device for multiplying decimal numbers | |
SU1529458A1 (en) | Code converter | |
SU1424011A1 (en) | Associative adder |