KR0154773B1 - Multiplier for numericals expressed by the difference of 2-numbers - Google Patents

Multiplier for numericals expressed by the difference of 2-numbers

Info

Publication number
KR0154773B1
KR0154773B1 KR1019950042522A KR19950042522A KR0154773B1 KR 0154773 B1 KR0154773 B1 KR 0154773B1 KR 1019950042522 A KR1019950042522 A KR 1019950042522A KR 19950042522 A KR19950042522 A KR 19950042522A KR 0154773 B1 KR0154773 B1 KR 0154773B1
Authority
KR
South Korea
Prior art keywords
bit
bits
adder
multiplier
multiplicand
Prior art date
Application number
KR1019950042522A
Other languages
Korean (ko)
Other versions
KR970029022A (en
Inventor
김태성
최성업
Original Assignee
김광호
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김광호, 삼성전자주식회사 filed Critical 김광호
Priority to KR1019950042522A priority Critical patent/KR0154773B1/en
Publication of KR970029022A publication Critical patent/KR970029022A/en
Application granted granted Critical
Publication of KR0154773B1 publication Critical patent/KR0154773B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products

Abstract

이 발명은 두 수의 차로써 표현되는 숫자와 임의의 수간의 곱셈을 수행하기 위한 곱셈기에 관한 것으로서,The present invention relates to a multiplier for performing a multiplication between a number represented by a difference of two numbers and an arbitrary number,

제1의 수와 제2의 수의 차로써 표현되는 승수와 임의의 피승수를 곱하는 연산을 수행하는 곱셈기에 있어서, 피승수와 그의 반전비트를 받아들이며, 상기 제1의 수와 제2의 수의 최소유효비트로부터 2비트씩 증가시켜 가면서 2비트씩 받아들여, 상기 입력된 제1의 수에 '1'이 존재하면 상기 피승수를 선택하고, 상기 입력된 제2의 수에 '1'이 존재하면 상기 피승수의 반전비트를 선택하며, 상기 '1'이 존재하는 비트가 입력된 제1의 수 또는 제2의 수의 비트내에서 상위 비트일 경우 상기 선택된 비트를 1비트 회전연산시키는 적어도 하나 이상의 연산수단과; 상기 각 연산수단 중 하위 2개의 연산수단의 출력을 가산하며, 하위 4비트를 출력비트로서 제공하고 나머지 비트를 확장비트로서 제공하는 제1가산기와; 상기 제1가산기에서 제공되는 확장비트와 또다른 연산수단의 출력비를 가산하며, 하위2비트를 출력비트로서 제공하고 나머지 비트를 확장비트로서 제공하는 제2가산기 및 이와 동일한 구조를 가지는 적어도 하나 이상의 가산기와; 상기 각가산기에서 제공되는 출력비트를 받아들여, 승수가 음수인 경우 입력 데이터에 대한 2의 보수를 얻기 위한 2의 보수기로 구성되어, 두 수의 차로써 표현되는 수와 임의의 수간의 곱셈을 수행할 경우 곱셈기의 하드웨어 구조가 간단해지며, 연산의 계산시간이 단축될 수 있다.A multiplier for performing an operation of multiplying a multiplier represented by a difference between a first number and a second number and an arbitrary multiplicand, the multiplicand accepts the multiplicand and its inverted bits, and the minimum validity of the first and second numbers is valid. 2 bits are incremented by 2 bits, and the multiplicand is selected if '1' is present in the input first number, and if the '1' is present in the input second number, the multiplier is selected. At least one calculation means for selecting an inverting bit of the first bit and rotating the selected bit by one bit when the bit in which '1' is present is an upper bit in the first or second number of bits inputted; ; A first adder for adding the outputs of the lower two calculating means of each of the calculating means, providing the lower four bits as output bits and providing the remaining bits as extension bits; A second adder which adds an extension bit provided from the first adder and an output ratio of another computing means, provides a lower 2 bits as an output bit and provides the remaining bits as an extension bit, and at least one adder having the same structure Wow; It accepts the output bits provided by each adder, and consists of two's complement to obtain two's complement for the input data when the multiplier is negative, and performs a multiplication between the number represented by the difference of two numbers and any number. In this case, the hardware structure of the multiplier can be simplified, and the computation time of the operation can be shortened.

Description

두 수의 차로써 표현되는 숫자를 위한 곱셈기Multiplier for numbers represented by the difference of two numbers

제1도는 이 발명의 실시예에 따른 곱셈기의 구성 블록도이다.1 is a block diagram of a multiplier according to an embodiment of the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

11, 21, 31, 41 : 반전기 12, 22, 32, 42 : 멀티플렉서11, 21, 31, 41: Inverter 12, 22, 32, 42: Multiplexer

13, 23, 33, 43 : 회전기 5, 6, 7 : 가산기13, 23, 33, 43: rotating machine 5, 6, 7: adding machine

8 : 2의 보수기8: 2's complement

이 발명은 두 수의 차로써 표현되는 숫자를 위한 곱셈기에 관한 것으로서, 더욱 상세하게 말하자면 2진법으로 수를 표현함에 있어 '1'의 개수를 최대한 줄일 수 있는 방법으로 표현된 수와 임의의 2진수 간의 곱셈을 수행할 수 있도록 하는 곱셈기에 관한 것이다.The present invention relates to a multiplier for a number represented by a difference between two numbers. More specifically, the number represented by a method that can reduce the number of '1' as much as possible in binary notation and arbitrary binary numbers A multiplier that allows multiplication between.

통상, 정수는 사용목적에 따라 여러 진법으로 표현되는데, 전자분야의 하드웨어에서는 2진법에 따라 표현된 수가 가장 많이 사용되고 있다. 이렇게 2진법으로 표현된 수가 덧셈기, 곱셈기 및 비교기 등의 논리 연산기에서 사용될 때, 수의 표현법은 하드웨어의 복잡성과 계산 시간의 효율성에 영향을 미친다.In general, integers are represented in various notations according to the purpose of use, and the number represented by binary notation is most frequently used in hardware in the electronic field. When the numbers represented in binary are used in logical operators such as adders, multipliers, and comparators, the representation of numbers affects the complexity of hardware and the efficiency of computation time.

즉, 임의의 수를 표현함에 있어 특수한 표현방법을 사용하면, 하드웨어의 구성시 기존의 것보다 덜 복잡하고 계산시간 면에서도 효율적인 하드웨어를 구현할 수 있다.In other words, by using a special expression method for representing an arbitrary number, it is possible to implement hardware that is less complicated than conventional ones and efficient in terms of computation time when constructing hardware.

또한, 2진법으로 표현된 수의 사칙연산에 있어서 '0'은 어떠한 경우에도 연산의 결과에 영향을 미치지 않는다.Also, in arithmetic operations of numbers expressed in binary, '0' does not affect the result of the operation in any case.

이에 따라, 두 수의 차로써 임의의 수로 표현하며, 상기 두 수에 포함된 '1'의 개수를 최대한 줄일 수 있는 숫자의 표현방법에 관한 것으로서, 동출원인 및 발명자에 의해 대한민국 특허 제95-31639호(출원일자 : 1995.9.25)에 '숫자의 표현방법'이 출원된 바 있다.Accordingly, the present invention relates to a method of expressing a number that can be expressed as an arbitrary number as a difference between two numbers, and that the number of '1's included in the two numbers can be reduced as much as possible. No. (application date: September 25, 1995) filed a method of expressing numbers.

상기 출원된 '숫자의 표현방법'의 구성은, M비트로 된 임의의 2진수 X를 두 수 (A, B)의 차이(A-B)로서 표현함에 있어서, 두 수 (A, B)를 상기 임의의 수 X와 '0'으로 각각 프리세트시키는 제1단계와; 최소유효비트에서부터 '1'의 비트값이 연속적으로 존재하는지를 판단하는 제2단계와; 상기 제2단계에서 '1'의 비트값이 연속적으로 존재할 경우, '1'의 비트값이 연속적으로 존재하는 최초의 자릿수를 검출하는 제3단계와; 상기 두 수 (A, B)에 상기 제3단계에서 검출된 최초의 자릿수에 대응하는 비트의 해당 값을 각각 더하는 제4단계를 포함한다.In the above-described application of the method of representing numbers, in representing an arbitrary binary number X of M bits as a difference AB between two numbers A and B, the two numbers A and B are expressed as A first step of presetting the numbers X and '0' respectively; A second step of determining whether bit values of '1' continuously exist from the least significant bit; A third step of detecting a first digit in which bit values of '1' are continuously present when bit values of '1' are continuously present in the second step; And a fourth step of adding the corresponding values of the bits corresponding to the first digits detected in the third step to the two numbers A and B, respectively.

상기 출원된 '숫자의 표현방법'의 구성에서, 제3단계의 최초의 자릿수를 L이라 할 때, 두 수(A, B)에 더해지는 비트의 해당 값은 2L이다.In the configuration of the 'number representation method' filed above, when the first digit of the third step is L, the corresponding value of the bit added to the two numbers A and B is 2 L.

상기 제4단계에서 얻어지는 두 수(A, B)의 차이에 의해 임의의 수 X가 표현될 수 있으며, 두 수의 차이(A-B)에 의한 숫자의 표현은 2진수로 된 임의의 수 X에 비해 비트값 '1'의 개수가 줄어든다.Any number X may be represented by the difference between the two numbers A and B obtained in the fourth step, and the expression of the number by the difference of the two numbers AB may be compared with any number X in binary. The number of bit values '1' is reduced.

예를 들어, M비트의 임의의 수 X와 두 수 A, B는 아래와 같은 수식으로 정의될 수있다.For example, any number X of M bits and two numbers A and B can be defined by the following formula.

위와 같이 정의된 두 수 A, B를 이용하여 X를 표현하면 아래와 같다.Expressing X using the two numbers A and B defined above is as follows.

즉, 양수 A와 B의 차가 X와 값이 같도록 하는 두 수 A, B를 구하며, 이렇게 함으로써 두 수 A와 B에 포함된 '1'의 개수가 X에 포함된 '1'의 개수보다 최소로 작도록 할 수 있다.That is, two positive numbers A and B are obtained such that the difference between positive numbers A and B is equal to X. Thus, the number of '1' included in the two numbers A and B is smaller than the number of '1' included in X. It can be made small.

한편, 임의의 수 X가 음수일 경우, 음수의 2의 보수를 구한 후 그것에 근거하여 1의 개수가 줄어든 A, B를 구하고, 전체에 대해 다시 2의 보수를 구하면 된다.On the other hand, when the arbitrary number X is negative, the two's complement of the negative number is found, and A and B, the number of ones are reduced, are calculated, and two's complement is obtained for the whole.

이때, 임의의 수 X에 대한 수식은 다음과 같다.At this time, the formula for any number X is as follows.

상기한 바와 같은 종래의 숫자 표현방법은 하드웨어 구현시 효율성을 더할 수 있는 아래의 두가지 성질이 있다.Conventional numeric representation methods as described above have the following two properties that can add efficiency in hardware implementation.

성질2. M비트로 구성된 X중 1의 개수가 M/2가 되도록 두 수 A, B를 구할 경우, 표현할 수 있는 X의 범위는 다음과 같다.Properties 2. When two numbers A and B are obtained such that the number of 1s of X composed of M bits is M / 2, the range of X that can be expressed is as follows.

성질1은 A의 연속되는 2개의 비트와 그에 대응하는 B의 2개의 비트 중 비트값이 '1'인 것은 최대 1개라는 것이다. 그리고, 성질2는, 예를 들어, 6비트로 된 양수 중 3개의 '1'로 표현될 수 있는 최대의 수는 '101010'이라는 것이다.The property 1 is that up to one of two consecutive bits of A and the corresponding two bits of B has a value of '1'. And property 2 is that, for example, the maximum number that can be represented by three '1' of positive numbers of 6 bits is '101010'.

이 발명은 상기한 바와 같은 종래의 숫자의 표현방법 및 그 표현방법에 따른 숫자의 성질을 이용한 것으로서, 두 수의 차로써 표현된 숫자와 임의의 숫자간의 곱셈을 수행할 수 있는 곱셈기를 제공하는데 그 목적이 있다.The present invention utilizes a conventional method of representing numbers as described above and the properties of numbers according to the method of expression, and provides a multiplier capable of performing multiplication between a number represented by the difference of two numbers and an arbitrary number. There is a purpose.

상기한 목적을 달성하기 위한 수단으로서 이 발명의 구성은,As a means for achieving the above object, the configuration of the present invention,

제1의 수와 제2의 수의 차로써 표현되는 승수와 임의의 피승수를 곱하는 연산을 수행하는 곱셈기에 있어서,In a multiplier that performs an operation of multiplying a multiplier represented by a difference between a first number and a second number and an arbitrary multiplicand,

피승수와 그의 반전비트를 받아들이며, 상기 제1의 수와 제2의 수의 최소유효비트로부터 2비트씩 증가시켜 가면서 2비트씩 받아들여, 상기 입력된 제1의 수에 '1'이 존재하면 상기 피승수를 선택하고, 상기 입력된 제2의 수에 '1'이 존재하면 상기 피승수의 반전비트를 선택하며, 상기 '1'이 존재하는 비트가 입력된 제1의 수 또는 제2의 수의 비트내에서 상위 비트일 경우 상기 선택된 비트를 1비트 회전연산시키는 적어도 하나 이상의 연산수단과;Accepts a multiplicand and its inverted bits, and accepts two bits from each of the least significant bits of the first and second numbers in increments of two bits, and if '1' exists in the first number input; Selects a multiplicand, selects an inverted bit of the multiplicand if '1' is present in the input second number, and a bit of the first or second number in which the bit in which '1' exists is input At least one computing means for performing a one-bit rotation operation on the selected bit when the upper bit is in the upper bit;

상기 각 연산수단 중 하위 2개의 연산수단의 출력을 가산하며, 하위 4비트를 출력비트로서 제공하고 나머지 비트를 확장비트로서 제공하는 제1가산기와;A first adder for adding the outputs of the lower two calculating means of each of the calculating means, providing the lower four bits as output bits and providing the remaining bits as extension bits;

상기 제1가산기에서 제공되는 확장비트와 또다른 연산수단의 출력비트를 가산하며, 하위2비트를 출력비트로서 제공하고 나머지 비트를 확장비트로서 제공하는 제2가산기 및 이와 동일한 구조를 가지는 적어도 하나 이상의 가산기와;A second adder for adding an extension bit provided from the first adder and an output bit of another operation means, providing a lower two bits as an output bit and providing the remaining bits as an extension bit, and at least one or more having the same structure An adder;

상기 각 가산기에서 제공되는 출력비트를 받아들여, 승수가 음수인 경우 입력데이타에 대한 2의 보수를 얻기 위한 2의보수기를 포함하여 이루어진다.And a two's complement for acquiring the two's complement for the input data when the multiplier is negative.

이하, 첨부된 도면을 참조하여 이 발명이 바람직한 실시예를 설명한다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.

제1도는 이 발명의 실시예에 따른 곱셈기의 구성 블록도이다.1 is a block diagram of a multiplier according to an embodiment of the present invention.

먼저, 제1도를 참하여 이 발명의 실시예에 따른 곱셈기의 구성을 설명한다.First, referring to FIG. 1, a configuration of a multiplier according to an embodiment of the present invention will be described.

제1도에 도시된 바와 같이, 이 발명이 실시예에 따른 곱셈기는, 반전기(11, 21, 31, 41)와; 각 반전기(11, 21, 31, 41)의 출력단에 각각 연결되어 그 출력신호를 받아들이도록 연결된 멀티플렉서(12, 22, 32, 42)와; 각 멀티플렉서(12, 22, 32, 42)의 출력단에 연결된 회전기 (13, 23, 33, 43)와; 캐리 입력단을 구비하여, 상기 두 회전기(13 23)의 출력신호를 받아들이도록 연결된 가산기(5)와; 캐리 입력단을 구비하며, 상기 가산기(5)의 확장비트와 회전기(33)의 출력신호를 받아들이도록 연결된 가산기(6)와; 캐리 입력단을 구비하며, 상기 가산기(6)의 확장 비트와 회전기(43)의 출력신호를 받아들이도록 연결된 가산기(7)와; 상기 가산기(5, 6)의 최소유효비트측 2비트와 상기 가산기(7)의 출력신호를 받아들이도록 연결된 2의 보수기(8)로 구성된다.As shown in FIG. 1, a multiplier according to an embodiment of the present invention includes: inverters 11, 21, 31, 41; A multiplexer (12, 22, 32, 42) connected to an output terminal of each inverter (11, 21, 31, 41), respectively, to receive the output signal; Rotors 13, 23, 33, 43 connected to the output of each multiplexer 12, 22, 32, 42; An adder (5) having a carry input stage and connected to receive output signals of the two rotors (13 23); An adder (6) having a carry input stage and connected to receive the extension bit of the adder (5) and the output signal of the rotor (33); An adder (7) having a carry input stage and connected to receive an extension bit of the adder (6) and an output signal of the rotor (43); 2 bits of the least significant bit side of the adders 5 and 6 and two complementers 8 connected to receive the output signal of the adder 7.

상기한 이 발명의 실시예에 따른 구성에서 피승수(Y)는 8비트인 것으로 가정하였으며, 피승수(Y)는 최소유효비트부터 2비트씩 멀티플렉서(12, 22, 32, 42)에 각각 입력되며, 상기 각 멀티플렉서(12, 22, 32, 42)의 2비트 입력은 대응하는 반전기(11, 21, 31, 41)에도 각각 입력된다.In the configuration according to the embodiment of the present invention, it is assumed that the multiplicand (Y) is 8 bits, and the multiplicand (Y) is input to the multiplexers 12, 22, 32, and 42 by 2 bits, respectively, from the least significant bit. Two-bit inputs of the multiplexers 12, 22, 32, 42 are also input to corresponding inverters 11, 21, 31, 41, respectively.

한편, 이 발명의 실시예에 따른 곱셈기에서는 승수(X)가 두 수 (A,B)의 차로써 표현되며, 이에 관해서는 이미 언급한 특허 제95-31639호의 '숫자의 표현방법'을 따른다.On the other hand, in the multiplier according to the embodiment of the present invention, the multiplier (X) is expressed as the difference between two numbers (A, B), which follows the aforementioned 'expression method of numbers' of Patent No. 95-31639.

다음으로, 상기한 구성에 의거하여 이 발명의 실시예에 따른 곱셈기의 동작을 설명한다.Next, the operation of the multiplier according to the embodiment of the present invention will be described based on the above configuration.

전원이 인가되어 회로의 동작이 시작되면, 피승수(Y)는 최소유효비트로부터 2비트씩 각 멀티플렉서 (12, 22, 32, 42) 및 대응하는 반전기 (11, 21, 31, 41)에 입력된다.When power is applied and circuit operation begins, the multiplicand Y is input to each multiplexer 12, 22, 32, 42 and the corresponding inverters 11, 21, 31, 41 two bits from the least significant bit. do.

이미 언급한 숫자 표현방법의 성질1에 따르면, 승수(X)를 구성하는 두 수(A, B)는 이웃한 4개의 비트중 '1'인 것은 한 개 뿐이므로, 승수 (X)가 N비트라면개의 덧셈기가 필요한다.According to the aforementioned property 1 of the numerical representation method, since the two numbers A and B constituting the multiplier X are only one of four neighboring bits, the multiplier X is N bits. Ramen Adders are required.

상기 각 멀티플렉서(12, 22, 32, 42)는 두 수 (A, B)의 최소유효비트로부터 2비트씩 최대유효비트로 증가시켜 가면서 A쪽에 '1'이 존재하면, 피승수(Y)를 선택하고, B쪽에 '1'이 존재하면 반전기를 거친 피승수(Y)의 반전피트를 선택한다.Each multiplexer 12, 22, 32, 42 selects a multiplicand (Y) if '1' is present on the A side while increasing from two least significant bits of two numbers (A, B) to the most significant bit. If there is '1' on the side of B, select the inverted feet of the multiplicands (Y) through the inverter.

즉, Y × (A - B)의 곱셈연산을 수행하므로, A쪽에 '1'이 있으면 Y를 결과에 더하고 B쪽에 '1'이 있으면 2의 보수로 변환된 Y를 결과에 더해야 한다.That is, since multiplication of Y × (A-B) is performed, if there is '1' on the A side, Y should be added to the result, and if there is '1' on the B side, the Y converted to 2's complement should be added to the result.

2의 보수는 1의 보수에 '1'을 더하는 것이므로 Y의 반전값과 곱셈의 중간 과정에서 구해진 누적된 값을 더하는 과정에서 가산기(5, 6, 7)의 캐리 입력에 '1'을 넣어주면 된다.2's complement adds '1' to 1's complement, so if you add '1' to the carry input of adder (5, 6, 7) in the process of adding the inverted value of Y and the accumulated value obtained in the middle of the multiplication, do.

그리고, A나 B의 '1'은 두자리 중 하나이므로 1비트 회전기를 써서 만약 두 비트 중 최대유효비트에 가까운 비트가 '1'이면 1비트 회전연산을 수행한다.Since '1' of A or B is one of two digits, a 1-bit rotator performs a 1-bit rotation operation if the bit closest to the most significant bit of the two bits is '1'.

여기서, 각 회전기(13, 23, 33, 43)에서는 A와 B의 두 비트입력 중 상위비트를 곱하여 그 결과가 '1'이면 회전연산이 개시되도록 하며, 그 결과가 '1'이 아니면 회전연산을 하지 않고 앞단의 멀티플렉서에서 선택된 비트가 그대로 대응하는 가산기에 전달되도록 한다.Here, each of the rotors 13, 23, 33, 43 multiplies the upper bits of the two bit inputs of A and B, and if the result is '1', the rotation operation is started. If the result is not '1', the rotation operation is performed. Instead, the selected bits from the previous multiplexer are passed to the corresponding adder.

그리고, 가산기(5)의 최소유효비트측 4비트와 가산기(6, 7)의 최소유효비트측 2비트는 최종 출력단으로 보내지며, 각 가산기(5, 6, 7)의 나머지 비트들은 최대유효비트를 2비트 확장시켜서 계속 누적단으로 가게 된다. 이때, 마지막 단의 가산기(7)의 출력비트는 모두 2의 보수기(7)로 전달된다.Then, the least significant bit side 4 bits of the adder 5 and the least significant bit side 2 bits of the adders 6 and 7 are sent to the final output stage, and the remaining bits of each adder 5, 6 and 7 are the maximum significant bits. Expands to 2 bits and continues to accumulate. At this time, the output bits of the adder 7 of the last stage are all transmitted to the two complementers 7.

상기한 각 가산이(5, 6, 7)는 입력단 뿐만 아니라 캐리 입력단을 구비한 전가산기(full adder)로 구현된다. 가산기(5)에서는 멀티플렉서(12) 또는 (22)에서 피승수(Y)의 반전비트가 선택된 경우에만 캐리 입력단에 '1'이 입력되며, 가산기(6)에서는 대응하는 멀티블렉서(32)에서 피승수(Y)의 반전비트가 선택된 경우에만 캐리 입력단에 '1'이 입력되며, 가산기(7)에서는 대응하는 멀티플렉서(42)에서 피승수(Y)의 반전비트가 선택된 경우에만 캐리 입력단에 '1'이 입력된다.Each adder 5, 6, 7 is implemented as a full adder having a carry input as well as an input. In the adder 5, '1' is input to the carry input terminal only when the inverting bit of the multiplier Y is selected in the multiplexer 12 or 22, and in the adder 6, the multiplicand in the corresponding multiplexer 32 is added. '1' is inputted to the carry input only when the inverting bit of (Y) is selected, and '1' is input to the carry input only when the inverting bit of the multiplicand (Y) is selected in the corresponding multiplexer 42 in the adder 7. Is entered.

이런 방식으로 곱셈을 수행한 후, 원래 승수(X)의 값이 음수이었으면 마지막 단에서 2의 보수기(8)에 으해 각 가산기(7)의 출력에 대한 2의 보수가 얻어지며, 두 수간이 곱셈에 대한 최종 결과가 얻어질 수 있다.After performing the multiplication in this manner, if the original multiplier (X) was negative, the two's complement in the last stage gives two's complement of the output of each adder, and the two numbers multiply. The final result for can be obtained.

한편, 이 발명의 실시예에서 개시된 곱셈기에서는 피승수의 비트수가 증가하더라도 반전기, 멀티플렉서, 회전기 및 가산기로 된 구조가 부가되도록 함으로써 곱셈연산이 수행될 수 있다.On the other hand, in the multiplier disclosed in the embodiment of the present invention, even if the number of bits of the multiplicand increases, the multiplication operation can be performed by adding a structure of an inverter, a multiplexer, a rotator, and an adder.

이상에서와 같이 이 발명의 실시예에 따르면, 두 수의 차로써 표현된 숫자와 임의의 숫자간의 곱셈을 수행 할 수 있는 곱셈기를 제공할 수 있다.As described above, according to the exemplary embodiment of the present invention, a multiplier capable of performing a multiplication between a number represented by a difference between two numbers and an arbitrary number can be provided.

또한, 두 수의 차로써 표현된 숫자에는 '1'의 개수가 감소되어 있어서, 이 수와 임의의 수간의 곱셈을 수행할 경우 곱셈기의 하드웨어 구조가 간단해지며, 연산의 계산시간이 단축되는 효과가 있다.In addition, the number represented by the difference between the two numbers is reduced in the number of '1'. When multiplying the number and the arbitrary number, the hardware structure of the multiplier is simplified and the calculation time of the operation is shortened. There is.

Claims (5)

제1의 수와 제2의 수의 차로써 표현되는 승수와 임의의 피승수를 곱하는 연산을 수행하는 곱셈기에 있어서, 피승수와 그의 반전비트를 받아들이며, 상기 제1의 수와 제2의 수의 최소유효비트로부터 2비트씩 증가시켜 가면서 2비트씩 받아들여, 상기 입력된 제1의 수에 '1'이 존재하면 상기 피승수를 선택하고, 상기 입력된 제2의 수에 '1'이 존재하면 상기 피승수의 반전비트를 선택하며, 상기 '1'이 존재하는 비트가 입력된 제1의 수 또는 제2의 수의 비트내에서 상위 비트일 경우 상기 선택된 비트를 1비트 회전연산시키는 적어도 하나 이상의 연산수단과; 상기 각 연산수단 중 하위 2개의 연산수단의 출력을 가산하며, 하위 4비트를 출력비트로서 제공하고 나머지 비트를 확정비트로서 제공하는 제1가산기와; 상기 제1가산기에서 제공되는 확장비트와 또다른 연산수단의 출력비트를 가산하며, 하위2비트를 출력비트로서 제공하고 나머지 비트를 확장비트로서 제공하는 제2가산기 및 이와 동일한 구조를 가지는 적어도 하나 이상의 가산기와; 상기 각 가산기에서 제공되는 출력비트를 받아들여, 승수와 음수인 경우 입력 데이터에 대한 2의 보수를 얻기 위한 연산을 수행하는 2의 보수기를 포함하여 이루어지는 것을 특징으로 하는 곱셈기.A multiplier for performing an operation of multiplying a multiplier represented by a difference between a first number and a second number and an arbitrary multiplicand, the multiplicand accepts the multiplicand and its inverted bits, and the minimum validity of the first and second numbers is valid. 2 bits are incremented by 2 bits, and the multiplicand is selected if '1' is present in the input first number, and if the '1' is present in the input second number, the multiplier is selected. At least one calculation means for selecting an inverting bit of the first bit and rotating the selected bit by one bit when the bit in which '1' is present is an upper bit in the first or second number of bits inputted; ; A first adder for adding the outputs of the lower two calculating means of each of the calculating means, providing the lower four bits as output bits and providing the remaining bits as definite bits; A second adder for adding an extension bit provided from the first adder and an output bit of another operation means, providing a lower two bits as an output bit and providing the remaining bits as an extension bit, and at least one or more having the same structure An adder; And a two's complement, which receives an output bit provided by each adder and performs an operation for obtaining a two's complement on the input data when the multiplier and the negative number are used. 제1항에 있어서, 상기한 연산수단은 피승수를 반전시키는 반전기와; 피승수와 상기 반전기의 출력을 받아들여, 상기 제1의 수와 제2의 수로부터 입력된 2비트 중에서 제의 수에 '1'이 존재하면 피승수를 선택하고, 상기 제2의 수에 '1'이 존재하면 상기 반전기의 출력을 선택하는 멀티플렉서와; 상기 '1'이 존재하는 비트가 입력된 제1의 수 또는 제2의 수의 상위 비트일 경우 상기 멀티플렉서에 의해 선택된 비트를 1비트 회전연산시키는 회전기를 포함하는 것을 특징으로 하는 곱셈기.2. The apparatus of claim 1, wherein the computing means comprises: an inverter for inverting the multiplicand; Accepts the multiplicand and the output of the inverter, selects a multiplicand if '1' is present in the second number among the two bits inputted from the first and second numbers, and selects '1' in the second number. A multiplexer for selecting the output of the inverter if present; And a rotator for performing one-bit rotation operation on the bit selected by the multiplexer when the bit in which '1' is present is an upper bit of the input first or second number. 제1항 또는 제2항에 있어서, 상기 피승수의 비트수가 증가할 경우에는 그에 대응하여 상기 연산수단 및 가산기를 부가하여 구성함을 특징으로 하는 곱셈기.The multiplier according to claim 1 or 2, wherein when the number of bits of the multiplicand is increased, the computing means and the adder are added correspondingly. 제1항 또는 제2항에 있어서, 상기한 각 가산기는 캐리 입력단을 구비한 전가산기인 것을 특징으로 하는 곱셈기.The multiplier according to claim 1 or 2, wherein each adder is a full adder having a carry input stage. 제4항에 있어서, 상기한 각 가산기의 캐리 입력단에는 전단의 멀티플렉서에서 피승수의 반전비트가 선택될 경우에만 '1'이 입력됨을 특징으로 하는 곱셈기.5. The multiplier of claim 4, wherein '1' is input to the carry input of each adder only when an inverted bit of the multiplicand is selected in a multiplexer of the front end.
KR1019950042522A 1995-11-21 1995-11-21 Multiplier for numericals expressed by the difference of 2-numbers KR0154773B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950042522A KR0154773B1 (en) 1995-11-21 1995-11-21 Multiplier for numericals expressed by the difference of 2-numbers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950042522A KR0154773B1 (en) 1995-11-21 1995-11-21 Multiplier for numericals expressed by the difference of 2-numbers

Publications (2)

Publication Number Publication Date
KR970029022A KR970029022A (en) 1997-06-26
KR0154773B1 true KR0154773B1 (en) 1998-11-16

Family

ID=19434940

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950042522A KR0154773B1 (en) 1995-11-21 1995-11-21 Multiplier for numericals expressed by the difference of 2-numbers

Country Status (1)

Country Link
KR (1) KR0154773B1 (en)

Also Published As

Publication number Publication date
KR970029022A (en) 1997-06-26

Similar Documents

Publication Publication Date Title
Zimmermann Efficient VLSI implementation of modulo (2/sup n//spl plusmn/1) addition and multiplication
EP1672481B1 (en) Division and square root arithmetic unit
JP3345894B2 (en) Floating point multiplier
US6480873B1 (en) Power operation device
US5177703A (en) Division circuit using higher radices
Zarandi et al. An Efficient Component for Designing Signed Reverse Converters for a Class of RNS Moduli Sets of Composite Form $\{2^{k}, 2^{P}-1\} $
US4677583A (en) Apparatus for decimal multiplication
KR0158647B1 (en) Multiplier using both signed number and unsigned number
JPH1195982A (en) Circuit, method and system for arithmetic processing
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
JPH04355827A (en) Square root extracting operation device
KR0154773B1 (en) Multiplier for numericals expressed by the difference of 2-numbers
US7607165B2 (en) Method and apparatus for multiplication and/or modular reduction processing
JP3660075B2 (en) Dividing device
JPS58129653A (en) Multiplication system
JP2645422B2 (en) Floating point processor
Sravya et al. Hardware posit numeration system primarily based on arithmetic operations
US5430669A (en) Apparatus for finding the square root of a number
JP2777265B2 (en) High radix square root arithmetic unit
KR100223752B1 (en) Parallel multiplier
JPH0784762A (en) Multiplication circuit
JPH10333885A (en) Multiplying circuit
KR100196520B1 (en) Apparatus for conversion of two's complement numbers
KR0170729B1 (en) Calculator of absolute value of difference using carry select adder
KR100194678B1 (en) Multiplier with Shifter

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090615

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee