KR0135487B1 - 고속 소형 디지탈 곱셈기 - Google Patents

고속 소형 디지탈 곱셈기

Info

Publication number
KR0135487B1
KR0135487B1 KR1019940012265A KR19940012265A KR0135487B1 KR 0135487 B1 KR0135487 B1 KR 0135487B1 KR 1019940012265 A KR1019940012265 A KR 1019940012265A KR 19940012265 A KR19940012265 A KR 19940012265A KR 0135487 B1 KR0135487 B1 KR 0135487B1
Authority
KR
South Korea
Prior art keywords
bit
bits
multiplier
data code
bit data
Prior art date
Application number
KR1019940012265A
Other languages
English (en)
Other versions
KR950001480A (ko
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 세끼모또 타다히로
Publication of KR950001480A publication Critical patent/KR950001480A/ko
Application granted granted Critical
Publication of KR0135487B1 publication Critical patent/KR0135487B1/ko

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
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5306Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

디지탈 곱셈기는 그의 소자 비트들을 감소하기 위해 피승수(m-비트)와 승수(n-비트)를 절대화하고, 부호 비트 없이 곱을 생성하기 위해 절대화 승수((n-1)비트들)로 절대화 피승수((n-1)비트들)를 곱하고, 부호 비트들(2비트들)은 피승수와 피승수로부터 독립적인 승수로부터 생성되고, 부호 비트들은 곱을 표시하는 데이타 코드에 가산되며, 부분 곱을 생성하기 위한 연산 장치(13)의 소자 회로들도 감소되어, 곱셈의 속도가 증가된다.

Description

고속 소형 디지탈 곱셈기
제1도는 종래 기술의 곱셈기의 구성을 도시한 블럭도.
제2도는 종래 기술의 곱셈기에 의해 수행된 곱셈을 도시한 도면.
제3도는 종래 기술의 곱셈기내에 결합된 연산 장치의 구성을 도시한 블럭도.
제4도는 연산 장치의 부분들을 형성하는 계산 부분 장치들의 구성을 도시한 회로도.
제5도는 본 발명에 따른 디지탈 곱셈기의 구성을 도시한 블럭도.
제6도는 제5도에 도시된 디지탈 곱셈기의 구성을 도시한 논리도.
*도면의 주요 부분에 대한 부호의 설명
1, 2, 11, 12, 21, 22:절대화 장치3:부호 판별 장치
4, 13, 23:연산 장치5, 19, 27:변환기
14, 15:값 판별기16, 25:데이타 보정기
17, 26:데이타 선택기18:부호 발생기
본 발명은 디지탈 곱셈기에 관한 것으로, 더 상세하게는 2의 보수에서 동작하는 고속 소형 디지탈 곱셈기에 관한 것이다.
곱셈기의 전형적인 예는 제1도의 도면에 예시되고, 두개의 디지탈 코드들을 처리한다. 제1 디지탈 코드는 m비트 2의 보수를 나타내고, 피승수로서 사용된다. 제2 디지탈 코드는 n비트 2의 보수를 나타내고, 승수로서 사용된다. 종래 기술의 곱셈기는 두개의 절대화 장치들(1과 2), 부호 판별 장치(3), 연산 장치(4) 및 변환기(5)를 포함한다.
절대화 장치들(1과 2)는 m비트 2의 보수와 n비트 2의 보수를 절대화한다. 2의 보수가 양의 값을 표시하면, 비트는 처리되지 않는다. 그러나, 2의 보수가 음의 값을 나타내면, 모든 비트들은 반전되고, 1은 최하위 비트에 가산된다.
2의 보수 표시에서, 0은 비트 문자열 00....0으로 나타내고, 비트 문자열 00....0에 1의 가산은 +1로 값을 증가한다. 반대로, 비트 문자열 11....1은 음의 값 -1을 나타내고, 비트 문자열 11....1로부터 1의 감산은 -2로 값을 감소한다. 그러므로, 2비트 코드들 00, 01, 11, 10은 2의 보수 표시에서 각각 값 0, +1, -1, -2을 나타낸다.
상기 기술된 처리를 사용하여, 절대화 장치들(1과 2)는 2의 보수 표시에서 절대화 표시로 피승수와 승수를 변환한다. 예를들어, 4비트 디지탈 코드 1110은 값 -2를 표시하는 2의 보수를 나타낸다. 절대화 장치(1 또는 2)는 우선 모든 비트들을 0001로 반전하고, 1은 최하위 비트 0에 가산된다. 그 다음에, -2를 표시하는 2의 보수는 비트 문자열 0010에 의해 절대화된다. 반대로, 2의 보수 0010은 값 +2를 표시하는 2의 보수를 나타내고, 비트 문자열 0010은 절대화 표시에서 또한 값 +2를 나타낸다.
절대화된 피승수와 절대화된 승수는 연산 장치(4)로 전송되고, 제2도에 도시된 것처럼 처리된다. 피승수와 승수는 비트 문자열 x4x3x2x1과 비트 문자열 y4y3y2y1에 의해 나타낸다고 가정한다. 연산 장치(4)는 우선 부분 곱들 x4y1/x3y1/x2y1/x2y1/x1y1, 부분 곱들 x4y2/x3y2/x2y2/x1y2, 부분 곱들 x4y3/x3y3/x2y3/x1y3 및 부분 곱들 x4y4/x3y4/x2y4/x1y4를 생성하고, 그 후에, 부분 곱들 x4y2/x3y2/x2y2/x1y2, 부분 곱들 x4y3/x3y3/x2y3/x1y3, 및 부분 곱들 x4y4/x3y4/x2y4/x1y4은 1 비트 위치, 2 비트 위치들, 3비트 위치들로 쉬프트된다. 결과적으로 부분 곱들은 적당하게 가중된다. 최종적으로, 연산 장치(4)는 부분 곱들을 가산하고, 참곱 p8p7p6p5p4p3p2p1p을 생성한다.
연산 장치(4)는 제3도에 도시된 계산 부분 장치들(sub-units: 411 내지 414, 421 내지 424, 431 내지 434 및 441 내지 444)의 배열에 의해 실현되고, 계산 부분 장치들(411-414/421-424/431-434/441-444)의 행은 적당하게 부분 곱을 가중하도록 순차적으로 오프셋된다. 각각의 계산 부분 장치들(411 내지 444)은 논리곱(AND) 게이트(AN1)와 가산기(AD1)를 포함하고, 비트들(x1,x2,x3 및 x4)는 계산 부분 장치들(411-414/421-424/431-434/441-444)의 행들에 각각 공급되고, 비트들(y1,y2,y3 및 y4)는 각각 계산 부분 장치들의 열들로 분배된다.
각 계산 부분 장치는 제4도에 도시된 것처럼 논리곱 게이트(AN1)와 가산기(AD1)을 갖고 있다 비트들(x1 내지 x4)중의 하나는 비트들(y1 내지 y4)중의 하나와 논리곱되고, 부분 곱 xiyj(여기서 i는 1, 2, 3 또는 4이고 또한 j도 1, 2, 3 또는 4이다.)는 선행 행으로부터 공급된 다른 부분 곱과 같은 행의 오른쪽 가산기로부터 공급되는 올림 비트에 가산된다.
연산 장치(4)는 양수로 나타내는 참 곱을 출력하고, 부호 비트는 참 곱으로 주어져야만 한다. 부호 비트를 주기 위해, 부호 판별 장치(3)은 2의 보수의 최상위 비트들을 검사한다. 2의 보수 표시에 따르면, 0의 최상위 비트는 양의 값을 표시하고, 1의 최상위 비트는 음의 값을 나타낸다. 참 곱의 부호 비트는 피승수의 최상위 비트와 승수의 최상위 비트에 대해 동작하는 배타적 논리합(Exculsive-OR) 게이트에 의해 결정되고, 변환기(5)는 절대호 장치들(1과 2)에서 수행되는 순서를 통해 2의 보수 표시에서 참 곱을 형성한다. 즉, 참 곱이 양의 값이면, 변환기(5)는 어떤 처리를 하지않고 비트 문자열을 전송한다. 반대로, 부호 판별 장치(3)이 참곱이 음의 값을 갖는다는 것을 알리면, 모든 비트들은 반전되고, 값1은 최하위 비트에 가산된다. 그러므로, 변환기(5)는 2의 보수 표시에서 참 곱을 출력한다.
종래 기술의 디지탈 곱셈기는 연산장치(4)에서 많은 수의 계산 부분 장치(411 내지 444)가 요구된다는 문제에 직면했다. 피승수와 승수가 5비트 디지탈 코드이면, 연산 장치(4)는 25개의 계산 부분 장치들을 필요로 한다. 8비트 디지탈 코드에 대한 곱셈의 경우에, 연산 장치(4)는 64개의 계산 부분 장치들을 필요로 한다.
종래 기술의 디지탈 곱셈기에서 나타나는 다른 문제는 낮은 계산 속도이다.
그러므로, 본 발명의 중요한 목적은 회로 소자가 감소된 고속 디지탈 곱셈기를 제공하는 것이다.
본 발명자는 종래 기술의 디지탈 곱셈기에서 나타나는 문제를 고려하여, 모든 비트들이 곱셈에서 균등하게 가중되지 않는다는 것을 알았다.
더 상세하게, 참 곱은 피승수를 표시하는 비트들과 승수를 표시하는 비트들의 총수로 나타난다. 예를들어, 피승수와 승수가 5비트이면, 곱은 10비트 디지탈 코드로 나타난다. 피승수와 승수가 8비트이면, 참 곱은 16비트로 나타난다. 그러나, 참 곱의 최상위 2비트는 이에 주어진 부호 비트와 부합되고, 피승수의 최상위 비트와 승수의 최상위 비트는 최대 음의 값을 갖는 피승수와 최대 음의 값을 갖는 승수간에 곱셈에서만 유효하다. 다른 곱셈의 경우에, 최대 음의 값만이 절대 대화를 통해 1의 최상위 비트를 갖기 때문에, 참 곱은 2개의 부호 비트들이 수반되는 {(피승수의 비트 수)-1}과 {(승수의 비트 수)-1}사이의 곱에 의해 표현될 수 있다.
본 발명자는 참 곱이 양쪽 모두 최대 음의 값을 나타내는 피승수와 승수사이의 곱셈을 제외한 상위 비트들간에 계산없이 얻어지고 최상위 비트로부터의 제2비트가 양쪽 모두 최대 음의 값을 나타내는 피승수와 승수사이의 곱셈이 1로 세트되고 다른 곱셈에 대해서는 0으로 세트된다는 것을 결론을 내렸다.
상기 목적을 달성하기 위해, 본 발명은 최대 음의 값을 제외한 승수의 하위 비트에 피승수의 하위 비트를 곱셈하는 것을 제안한다.
본 발명에 따르면, 피승수를 표시하는 제1 다중 비트 데이타 코드와 승수를 표시하는 제2 다중 비트 데이타 코드로서 2의 보수 표시로 피승수와 승수를 나타내는 제1 다중 비트 데이타 코드와 제2 다중 비트 데이타 코드가 공급되는 곱셈기에 있어서, a) 제1 다중 비트 데이타 코드보다 비트의 수가 작은 제3 다중 비트 데이타 코드로 나타내는 피승수를 절대화하도록 동작하는 제1 절대화 장치; b) 제2 다중 비트 데이타 코드보다 비트의 수가 작은 제4 다중 비트 데이타 코드로 나타내는 승수를 절대화하도록 동작하는 제2 절대화 장치; c) 하위 비트와 상위 비트로 분할되는 제5 다중 비트 데이타 코드로 부호 비트 없이 나타나는 곱을 생성하기 위행 제4 다중 비트 데이타 코드로 나타내는 승수로 제3 다중 비트 데이타 코드로 나타내는 피승수를 곱하도록 동작하는 연산 장치; d) 피승수와 승수 모두가 각각의 최대 음의 값을 갖는지 여부와 피승수와 승수중의 적어도 하나가 0인지 여부를 결정하도록 동작하고, 이 결정에 따라 부호 비트들을 생성하는 부호 발생 수단; 및 e) 상위 또는 보정 비트들, 하위 비트들 및 부호 비트로부터 2의 보수 표시로 곱을 표시하는 제6 다중 비트 데이타 코드를 생성하도록 동작하는 변환 장치를 포함하는 디지탈 곱셈기가 제공된다.
본 발명에 따른 디지탈 곱셈기의 상기 특징, 및 이점은 동일 소자에 동일 참조 부호가 병기된 첨부 도면을 참조하여 기술된 이하의 상세한 설명에 의해 본 분야의 숙련된 기술자들에게 분명하게 인지될 수 있다.
[제1 실시예]
제5도의 도면을 참조하면, 본 발명을 실시하는 디지탈 곱셈기는 절대화 장치들(11과 12), 연산 장치(13), 값 판별 회로들(14와 15), 데이타 보정기(16), 데이타 선택기(17), 부호 발생기(18), 및 변환기(19)를 포함한다. 이들 구성회로(11 내지 19)는 아래에 상세히 설명된다. 다음의 설명에서, m비트는 수에서 n비트보다 크다고 가정한다.
승수는 절대화 장치(11)에 공급되고, 절대화 장치(11)은 2의 보수 표시에서 절대화 표시로 승수를 표시하는 n비트 데이타 코드를 변환한다. 변환시에, 최상위 비트는 n비트 데이타 코드로부터 소거되고, 따라서, 절대화 승수는 (n-1)비트 데이타 코드로 나타난다. 변환 과정은 종래 기술과 유사하고, 반복을 피하기 위해 더 이상의 설명은 이루어지지 않았다.
피승수는 절대화 장치(12)에 공급되고 절대화 장치(12)는 2의 보수 표시에서 절대화 표시로 m비트 데이타 코드를 변환한다. 변환시에, 최상위 비트는 m비트 데이타 코드로부터 소거되고, 절대화 피승수는(m-1)비트 데이타 코드로 나타난다. 절대화 과정은 종래 기술 과정과 또한 유사하다.
연산 장치(13)은 종래 기술의 연산 장치(4)와 유사하게 구성된 계산 부분 장치들에 의해 실현되고, 계산 부분 장치들은 제4도에 예시된 계산 부분 장치와 회로 구성에 있어 동일하다. 그러나, 최상위 비트들이 피승수와 승수로부터 소거되기 때문에, 계산 부분 장치들의 수는 종래 기술의 연산 장치(4)를 조합하여 형성한 계산 부분 장치보다 (2n-1)만큼 적다. 연산 장치(13)은 참 곱을 생성하기 위해 절대화 승수로 절대화 피승수를 곱하고, 참 곱은 (n-1) 하위 차수 비트와 (m-1) 상위 차수 비트로 나타난다.
승수를 표시하는 n비트 데이타 코드는 값 판별기(14)에 공급되고, 값 판별기(14)는 승수가 0, 최대 음의 값 또는 다른 값 즉, 0과 최대 음의값을 제외한 값을 나타내는 지를 결정하도록 동작한다. 값 판별기(14)는 제1 판별 신호(DS1)을 생성하고, 제1 판별 신호(DS1)은 데이타 선택기(17)과 부호 발생기(18)로 공급된다.
피승수를 표시하는 m비트 데이타 코드는 값 판별기(15)에 공급되고, 값 판별기(15)는 피승수가 0, 최대 음의 값 또는 다른 값들을 나타내는 지를 결정하도록 동작한다. 값 판별기(15)는 제2 판별 신호(DS2)을 생성하고, 제2 판별신호(DS2)은 데이타 선택기(17)과 부호 발생기(18)로 또한 공급된다.
(n-1)비트 데이타 코드외 (m-1)비트 데이타 코드는 절대화 장치들(11과 12)에서 데이타 보정기(16)으로 공급된다. 피승스와 승수중의 하나가 최대 음의 값을 갖는다면, 절대화 승수/절대화 피승수는 0으로 나타나고, 피승수는 0의 참 곱을 발생시킨다. 그러나, 참 곱은 보정되지 않는다. 연산 장치(13)이 보정되지 않은 결과를 발생하는 것을 방지하기 위해서, 데이타 보정기(16)은 (m-1)비트 보정 데이타 코드 CR을 생성하고, 데이타 선택기(17)로 (m-1) 비트 보정 데이타 코드 CR을 공급한다. (m-1) 비트 보정 데이타 코드 CR은 승수가 최대 음의 값을 갖는 경우에 (m-1) 비트 데이타 코드로 표시된 값보다 2(n-1)배 큰값의 상위(m-1) 비트를 표시한다. 반대로, 피승수가 최대 음의 값을 갖는다면, (m-1) 비트 보정 데이타 코드 CR은 피승수가 최대 음의 값을 갖는 경우에 (n-1) 비트 데이타 코드로 표시되는 값보다 2(m-1)배 큰값의 상위(m-1) 비트를 표시한다. 데이타 선택기(17)은 변환기(19)로 (m-1) 상위 순서 비트와 (m-1)비트 보정 데이타 코드 CR을 선택적으로 전송하기 위해 제1 과 제2 판별 신호들(DS1과 DS2)에 응답한다. 제1 과 제2 판별 신호들(DS1과 DS2), m 비트 데이타 코드의 최상위 비트(MSB1) 및 n 비트 데이타 코드의 최상위(MSB2)는 부호 발생기(18)로 공급되고, 부호 발생기(18)은 참 곱에 대한 부호를 양이나 음중에 하나로 결정한다. 즉, 피승수와 승수중의 하나가 0이면, 부호 발생기(18)은 변환기(19)로 비트 0을 공급한다. 피승수와 승수 모두가 최대 음의 값들을 가지면, 부호 발생기(18)은 변환기(19)로 비트 10을 공급한다. 그러나, 최상위 비트(MSB1)는 다른 조합들에 대한 최상위 비트(MSB2)와 배타적 논리합되고, 두 비트로 표시된 결과는 변환기(19)에 공급된다. (n-1) 하위 순서 비트들, 데이타 선택기(17)로부터 공급된 (m-1) 비트 데이타 코드 및 두 비트 부호 코드는 변환기(19)로 공급되고, 변환기(19)는 참 곱을 2의 보수 표시로 변환한다. 변환 과정은 종래 기술과 유사하고, 참 곱을 표시하는 (m+n) 비트 데이타 코드는 변환기(19)로부터 전달된다. 데이타 보정기(16), 데이타 선택기(17) 및 데이타 선택기(17)의 선택에 관련된 값 판별기들(14와 15)의 회로 소자들은 디지탈 곱셈기로부터 소거될 수도 있다.
[제2 실시예]
제6도의 도면을 참조하면, 본 발명을 실시하는 디지탈 곱셈기는 2개의 절대화 장치들(21과 22), 연산 장치(23), 값 판별기/부호 발생기(24), 데이타 보정기(25), 데이타 선택기(26) 및 변환기(27)을 포함한다. 디지탈 곱셈기는 승수를 표시하는 5비트 데이타 코드 y5 y4 y3 y2 y1로 피승수를 표시하는 5비트 데이타 코드 x5 x4 x3 x2 x1를 곱한다. 값 판별의 부분은 절대화 장치들(21와 22)에 의해 수행된다.
논리 게이트(G1 내지 G10)은 절대화 장치(21)을 형성하고, 다른 절대화 장치(22)는 또한 논리 게이트(G1 내지 G10)과 동일한 논리 게이트(도시되지 않음)에 의해 실현된다. 연산 장치(23)은 논리 게이트(G11 내지 G26)과 가산기(AD1 내지 AD12)를 포함하고, 값 판별기/부호 발생기(24)는 논리 게이트(G27 내지 G42)로 구성된다. 논리 게이트(G27/G34/G35/G35a/G36/G37/G38/G39/G40/G45/G42)는 조합하여 부호 발생부를 형성한다. 가산기(AD1,AD5,AD9)는 반가산기이고, 다른 가산기(AD2 내지 AD4, AD6 내지 AD8 및 AD8 내지 AD12)는 전가산기이다. 논리 게이트(G43 내지 G46)은 데이타 보정기(25)를 형성하고, 데이타 선택기(26)은 4개의 소자 회로(C1 내지 C4)에 의해 형성된다. 논리 게이트(G47 내지 G54)와 소자 회로(C5 내지 C14)는 전체적으로 변환기/부호 발생기(27)을 구성한다. 다음 설명에서, 디지탈 코드의 비트는 비트를 생성하는 논리 게이트와 동일한 참조 부호로 표시된다.
이제 5비트 데이타 코드 x5x4x3x2x1과 5비트 데이타 코드 y5y4y3y2y1이 절대화 장치들(21와 22)로 각각 공급된다고 가정하면, 비트들 x5와 y5는 각각의 양이나 음의 부호중에 하나를 표시하는 최상위 비트이고, 비트들 x1과 y1은 최하위 비트이다. 최하위 비트들 x1과 y1이 절대화를 통해서 불변이므로, 최하위 비트들 x1과 y1은 임의의 처리없이 절대화 장치들(21과 22)를 통과한다. 피승수의 다른 비트는 승수의 다른 비트들과 유사하게 처리되고, 이러한 이유 때문에, 절대화 장치(21)에 대해서만 설명하겠다.
데이타 비트 y2는 최상위 비트 y5와 최하위 비트 y1 간의 논리 곱과 배타적 논리합된다. 최상위 비트 y5가 양의 부호를 표시하는 0이면, 논리 곱은 0이고, 배타적 논리합 게이트(G6)은 비트 y2와 동일한 비트를 산출한다. 반대로, 최상위 비트 y5가 음의 부호를 표시하는 1이면, 논리 곱은 최하위 유용 비트 y1에 의존한다. 최하위 비트 y1이 0이면, 논리 곱은 0이고, 배타적 논리합 게이트(G6)은 출력 비트가 비트 y2와 동일한 것으로 결정한다. 반대로, 최하위 비트 y1이 1이면, 논리 곱은 1이고, 배타적 논리합 게이트(G6)은 비트 y2의 논리 레벨을 반전한다.
다른 비트 y3과 y4는 절대화 장치(21)에 의해 유사하게 처리된다. 즉, 하위 순서 비트들은 비트 y3과 y4에 대해 서로 논리합되고, 이 논리 합은 최상위 비트 y5와 논리곱된다. 1비트가 검출되지 않으면, 배타적 논리합 게이트(G7 또는 G8)은 비트 y3 또는 y4와 동일한 출력 비트를 산출한다. 반대로, 최상위 비트 y5가 음의 부호를 표시하고 하위 순서 비트들이 1비트를 포함하면, 배타적 논리합 게이트(G7 또는 G8)은 비트 y3 또는 y4를 반전한다.
이런 방법으로, 절대화 승수를 표시하는 4비트 데이타 비트들(AB1)은 절대화 장치(21)에 의해 생성되고, 논리 게이트들(G11-G14/G15-G18/G19-G22/G23-G26)의 행들로 분배된다.
논리합 게이트(G9 와 G10)은 5비트 데이타 코드 y1-y5의 값이 속하는 3개의 부분중의 하나를 표시하는 2비트 코드(VL1)를 생성한다. 5비트 데이타 코드가 00000이면, 2비트 코드는 00이다. 5비트 데이타 코드가 최대 음의 값을 표시하는 10000이면, 2비트 코드는 10이다. 2비트 코드는 다른 값들에서 11이다.
다른 절대화 장치(22)는 또한 절대화 장치(21)과 유사한 과정으로 절대화 피승수를 표시하는 4비트 데이타 코드(AB2)와 2비트 코드(VL2)를 생성한다. 4비트 데이타 코드(AB2)의 비트들과 2비트 코드의 비트들은 절대화 장치(21)의 대응하는 논리 게이트들을 표시하는 유사한 참조 부호로 표시된다.
2비트 코드(VL1과 VL2)와 최상위 비트들(y5와 x5)는 절대화 장치들(21과 22)에서 값 판별기/부호 발생기(24)로 공급되고, 4비트 데이타 코드들(AB1 과 AB2)은 절대화 장치들(21과 22)에서 연산 장치(23)과 데이타 보정기(25)로 공급된다.
4비트 데이타 코드(AB1)의 최하위 비트는 부분 곱을 생성하기 위해 데이타 코드(AB2)의 4개의 비트와 논리곱되고, 4비트 데이타 코드(AB1)의 제2 비트(G6)은 부분 곱을 생성하기 위해 데이타 코드(AB2)의 4개의 비트와 논리곱된다. 유사하게, 데이타 코드(AB1)의 제3 비트(G7)은 부분 곱을 생성하기 위해 데이타 코드(AB2)의 4개의 비트와 논리곱되고, 데이타 코드(AB1)의 최상위 비트(G8)은 부분곱을 생성하기 위해 데이타 코드(AB2)의 4개의 비트와 논리곱된다. 부분 곱들은 이들을 생성하는 논리 게이트를 표시하는 참조 부호로 표시된다.
논리곱 게이트(G11)은 참 곱을 표시하는 8비트 데이타 코드의 최하위 비트를 산출하고, 반가산기(AD1)은 부분 곱들(G12 와 G15)의 합으로서 8비트 데이타 코드의 제2 비트를 산출한다. 나아가, 8비트 데이타 코드의 제3 비트는 반가산기(AD5)에 의해 부분 곱(G19), 부분 곱(G13 와 G16)과 반가산기(AD1)으로부터 공급된 올림 비트의 합으로부터 생성된다. 8비트 데이타 코드의 제4 비트는 부분 곱(G23) 및 부분곱(G14, G17 및 G20)과 반가산기들(AD3과 AD6)로 공급된 올림 비트의 합으로부터 반가산기(AD9)에 의해 생성된다. 8비트 데이타 코드의 제5 비트는 부분곱(G24) 및 부분곱(G18과 G21)과 가산기들(AD4, AD7 및 AD10)로 공급된 올림 비트들의 합으로부터 전가산기(AD10)에 의해 생성된다. 8비트 데이타 코드의 제6 비트는 부분곱(G25) 및 부분곱(G22)와 가산기들(AD8과 AD11)로 공급된 올림 비트들의 합으로부터 전가산기(AD11)에 의해 생성된다. 8비트 데이타 코드의 제7 비트는 부분곱(G26) 및 가산기들(AD18과 AD11)로부터 공급된 올림 비트로부터 전가산기(AD12)에 의해 생성되고 제8 비트는 전가산기(AD12)의 올림 비트이다.
4비트 데이타 코드(AB1)의 최하위 비트는 4비트 데이타 코드(AB2)의 최하위 비트와 논리합되고, 4비트 데이타 코드(AB1)의 다른 비트들(G6, G7 및 G8)은 각각 4비트 데이타 코드(AB2)의 다른 비트들(G6', G7' 및 G8')은 각각 논리합된다. 보정 데이타 코드 CR의 4개의 비트들(G43, G44, G45 및 G46)은 데이타 선택기(26)의 소자 회로(C1 내지 C4)로 각각 분배되고, 8비트 데이타 코드의 제5 내지 제8 비트는 또한 각각 소자회로(C1 내지 C4)의 다른 입력 노드로 공급된다.
8비트 데이타 코드의 최하위 비트와 제2 내지 제4 비트들은 변환기(27)로 직접 공급되고, 소자 회로(C1 내지 C4)는 8비트 데이타 코드의 제5 내지 제8 비트와 보정 데이타 코드 CR의 4개의 비트들(G43 내지 G46)을 변환기(27)로 선택적으로 전송한다.
부정 논리곱(NAND) 게이트(G33)의 출력 신호는 데이타 선택기(26)을 제어하고, 데이타 선택기(26)은 제5 내지 제8 비트와 보정 데이타 코드 CR간에 선택을 위해 출력 신호(G33)에 응답한다.
비트(G9)의 보수 비트는 비트(G10)을 갖는 부정논리곱되고, 5비트 데이타 코드 y1 내지 y5가 최대 음의 값을 가질때만 부정논리곱 게이트(G29)는 0의 출력 신호를 산출한다. 유사하게, 비트(G9')의 보수비트는 비트(G10')과 부정논리곱 되고, 5비트 데이타 코드 x1 내지 x5가 최대 음의 값을 가질때만 부정논리곱 게이트(G31)는 0의 출력 신호를 생성한다. 출력 신호들(G29와 G31)은 부정논리곱 게이트(G33)로 공급되고, 피승수와 승수중의 하나가 최대 음의 값을 가지면, 부정 논리곱 게이트(G33)은 1의 출력 신호를 생성한다. 출력 신호(G33)이 1이면, 데이타 선택기(26)은 변환기/부호발생기(27)로 보정 데이타 코드 CR을 전송한다. 반대로, 출력 신호(G33)이 0이면, 제5 내지 제8 비트들은 변환기/부호 발생기(27)로 전송된다.
나아가 출력 신호들(G29와 G31)과 비트들은 부정논리합 게이트(G32)로 공급되고, 비트들(G10/G10')은 부정논리곱 게이트(G41)로 공곱된다. 부호 발생 부(G27/G34내지 G42)는 부호 비트가 8비트 데이타 코드에 가산되는 것을 결정한다. 즉, 출력 신호(G32)가 1이면, 피승수와 승수는 각각 최대 음의 값을 갖고, 부정 논리합 게이트(G39와 G36)은 2비트 코드(VL1)과 동일한 출력 신호1과 0을 산출한다. 반대로, 피승수와 승수의 적어도 하나가 최대 음의 값을 갖지 않을때, 배타적 논리합 게이트(G27)은 부호 발생을 지배하고, 부정논리합 게이트들(G39와 G36)은 음의 참 곱에 대해서는 11 또는 양의 참 곱에 대해서는 0의 출력 신호를 산출한다.
피승수와 승수의 적어도 하나가 00000이면, 비트(G10)은 비트(G10')과 부정 논리곱되고, 부정논리곱 게이트(G41)은 1의 출력 신호를 산출한다. 이것은 부정논리합 게이트들(G40과 G42)가 0의 부호 비트를 산출하게 한다. 피승수와 승수 모두 00000이 아니면, 부정논리합 게이트들(G40과 G42)는 출력 신호들(G36과 G39)로부터 부호 비트를 생성한다.
부호 비트들(G40과 G42)는 소자 회로(C13과 C14)에 공급되고, 2의 보수 표시에서 참 곱에 대한 양 또는 음의 부호중의 하나를 표시한다. 나아가 부호 비트(G42)은 배타적 논리합 게이트(G47 내지 G54)로 공급된다. 참 곱이 음의 값이 되면, 배타적 논리합 게이트(G47 내지 G54)는 연산 장치(23)으로부터 부분적으로 공급되고 데이타 선택기(26)으로부터 부분적으로 공급된 비트들을 반전하고, 출력 비트들(G47 내지 G54)는 2개의 부호 비트들(G40과 G42)와 함께 2의 보수 표시에서 참 곱을 표시하는 10비트 데이타 코드를 형성한다. 반대로, 참 곱이 양의 값으로 되면, 배타적 논리합 게이트(G47 내지 G54)는 입력 비트를 전달하고, 출력 비트(G47 내지 G54)는 부호 비트(G40과 G42)와 함께 10비트 데이타 코드를 형성한다.
상기 설명으로부터 알수 있는 바와 같이, 보다 적은 수의 가산기가 본 발명에 따른 디지탈 곱셈기내에 결합된 연산 장치를 형성하고, 디지탈 곱셈기는 종래 기술의 디지탈 곱셈기보다 더 작다. 더우기, 올림 비트가 종래 기술의 올림 비트보다 적기 때문에, 8비트 데이타 코드는 빠르게 결정된다. 이것은 곱셈의 속도를 증가시킨다.
지금까지 본 발명의 양호한 실시예에 대해 상세하게 기술하였으나, 본 분야에 숙련된 기술자들은 첨부된 특허 청구 범위에 의해 한정된 본 발명의 원리 및 배경을 벗어나지 않고서 본 발명을 여러가지로 수정 및 변형시킬 수도 있다. 예를들면, 본 발명에 따른 디지탈 곱셈기는 마이크로프로세서 또는 마이크로 컴퓨터와 같은 대규모의 집적 부분을 형성할 수 있다.

Claims (3)

  1. [(m+n)비트 데이타 코드; 10비트 데이타 코드]곱을 생성하기 위해 피승수를 표시하는 제1 다중 비트 데이타 코드(m-비트; x1-x5)와 승수를 표시하는 제2 다중 비트 데이타 코드(n-비트; y1-y5)로서, 2의 보수 표시로 상기 피승수와 상기 승수를 나타내는 상기 제1 다중 비트 데이타 코드와 상기 제2 다중 비트 데이타 코드가 공급되는 곱셈기에 있어서, a) 상기 제1 다중 비트 데이타 코드보다 비트의 수가 작은 제3 다중 비트 데이타 코드[(m-1)비트들; AB2]로 나타내는 상기 피승수를 절대화하도록 동작하는 제1 절대화 장치(12; 22); b) 상기 제2 다중 비트 데이타 코드보다 비트의 수가 작은 제4 다중 비트 데이타 코드[(n-1)비트들; AB1]로 나타내는 상기 승수를 절대화하도록 동작하는 제2 절대화 장치(11; 21); c) 하위 비트와 상위 비트로 분할되는 제5 다중 비트 데이타 코드로 부호 비트 없이 나타나는 곱을 생성하기 위해 상기 제4 다중 비트 데이타 코드로 나타내는 상기 승수로 상기 제3 다중 비트 데이타 코드로 나타내는 상기 피승수를 곱하도록 동작하는 연산 장치(13: 23); d) 상기 피승수와 상기 승수 모두가 각각의 최대 음의 값을 갖는지 여부와 상기 피승수와 상기 승수중의 적어도 하나가 0인지 여부를 결정하도록 동작하고, 이 결정에 따라 부호 비트들(DS1/Ds2; G40/G42)를 생성하는 부호 발생 수단(18;G27/ G34-G42); 및 e) 상위 또는 보정 비트들, 하위 비트들 및 상기 부호 비트들로부터 2의 보수 표시로 상기 곱을 표시하는 제6 다중 비트 데이타 코드를 생성하도록 동작하는 변환 장치(19;27)를 포함하는 것을 특징으로 하는 디지탈 곱셈기.
  2. 제1항에 있어서, f) 상기 피승수와 상기 승수중의 적어도 하나가 상기 최대 음의 값을 표시하는 선택 신호를 생성하기 위한 최대 음의 값을 갖는지를 결정하도록 동작하는 값 판별 수단(14/15; G28-G33); g) 상기 최대 음의 값에 대한 보정 비트들을 생성하도록 동작하는 데이타 보정기(16;25); 및 h) 상기 보정 비트들로 상기 상위 비트들을 대치하기 위해 상기 선택 신호에 응답하는 데이타 선택기(17;26)을 더 포함하는 것을 특징으로 하는 디지탈 곱셈기.
  3. 제1항에 있어서, 상기 연산 장치(23)이 부분 곱들을 생성하기 위해 상기 제3 다중 비트 데이타 코드(AB2)의 비트들과 상기 제4 다중 비트 데이타 코드(AB1)의 비트들이 선택적으로 공급되고, 각각이 논리 게이트의 선행 행으로부터의 하나의 논리 게이트 만큼 오프셋되는 논리 게이트들(G11-G14/G15-G18/G19-G22/G23-G26)의 행들, 및 상기 제4 다중 비트 데이타 코드의 최하위 비트가 공급되는 논리 에이트들(G11-G14)의 행을 제외한 상기 논리 게이트들의 행들과 연관되고, 각각의 가산기가 선행 행내의 가산기들중 하나가 가산기로부터 공급된 합과 동일한 행의 가산기의 하나로부터 공급된 올림을 상기 연관된 논리 게이트로부터 공급된 부분 곱에 가산하도록 동작하는 가산기(AD1-AD4/AD5-AD8/AD9-AD12)의 행을 포함하는 것을 특징으로 하는 디지탈 곱셈기.
KR1019940012265A 1993-06-01 1994-06-01 고속 소형 디지탈 곱셈기 KR0135487B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP5129857A JP3071607B2 (ja) 1993-06-01 1993-06-01 乗算回路
JP93-129857 1993-06-01

Publications (2)

Publication Number Publication Date
KR950001480A KR950001480A (ko) 1995-01-03
KR0135487B1 true KR0135487B1 (ko) 1998-06-15

Family

ID=15019988

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940012265A KR0135487B1 (ko) 1993-06-01 1994-06-01 고속 소형 디지탈 곱셈기

Country Status (4)

Country Link
US (1) US5467296A (ko)
JP (1) JP3071607B2 (ko)
KR (1) KR0135487B1 (ko)
CA (1) CA2124737C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100403194B1 (ko) * 2000-06-21 2003-10-23 주식회사 에이디칩스 승산장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347326B1 (en) 1999-03-02 2002-02-12 Philips Electronics North America Corporation N bit by M bit multiplication of twos complement numbers using N/2+1 X M/2+1 bit multipliers
US7124237B2 (en) * 2002-10-03 2006-10-17 Seagate Technology Llc Virtual machine emulation in the memory space of a programmable processor

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5696330A (en) * 1979-12-28 1981-08-04 Fujitsu Ltd Multiplication control system
JPS5979350A (ja) * 1982-10-29 1984-05-08 Toshiba Corp 浮動小数点演算装置
JPS60258644A (ja) * 1984-06-05 1985-12-20 Fujitsu Ltd 乗算装置
US4722066A (en) * 1985-07-30 1988-01-26 Rca Corporation Digital signal overflow correction apparatus
JP2600293B2 (ja) * 1988-06-10 1997-04-16 日本電気株式会社 オーバーフロー補正回路
JP3076046B2 (ja) * 1989-01-31 2000-08-14 日本電気株式会社 例外検出回路
US5262973A (en) * 1992-03-13 1993-11-16 Sun Microsystems, Inc. Method and apparatus for optimizing complex arithmetic units for trivial operands

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100403194B1 (ko) * 2000-06-21 2003-10-23 주식회사 에이디칩스 승산장치

Also Published As

Publication number Publication date
JP3071607B2 (ja) 2000-07-31
CA2124737C (en) 1998-07-14
CA2124737A1 (en) 1994-12-02
JPH06342367A (ja) 1994-12-13
US5467296A (en) 1995-11-14
KR950001480A (ko) 1995-01-03

Similar Documents

Publication Publication Date Title
KR100284799B1 (ko) 시프트 수단을 이용한 지수 회로 및 사용 방법
EP0239899B1 (en) Multiplier array circuit
US20060184604A1 (en) Arithmetic unit
US5828590A (en) Multiplier based on a variable radix multiplier coding
KR0135487B1 (ko) 고속 소형 디지탈 곱셈기
US5307302A (en) Square root operation device
US6269385B1 (en) Apparatus and method for performing rounding and addition in parallel in floating point multiplier
JPH09222991A (ja) 加算方法および加算器
JPH08314697A (ja) 符号付き/符号なし数兼用乗算器
US5903484A (en) Tree circuit
JPH04256016A (ja) 2の補数の乗算器を無符号数の乗算を行うように修正する方法および装置
GB2226165A (en) Parallel carry generation adder
US5430669A (en) Apparatus for finding the square root of a number
JP2606326B2 (ja) 乗算器
JP3482102B2 (ja) 絶対値距離演算回路
SU1667059A2 (ru) Устройство дл умножени двух чисел
JP3315042B2 (ja) 乗算装置
SU1179322A1 (ru) Устройство дл умножени двух чисел
JP2606339B2 (ja) 乗算器
KR0172308B1 (ko) 변형 부스 곱셈기
JP3851024B2 (ja) 乗算器
US5483477A (en) Multiplying circuit and microcomputer including the same
JP3106767B2 (ja) 乗算方法及び乗算回路
JPS60160438A (ja) 除算装置
SU824199A1 (ru) Устройство дл сложени чисел в из-быТОчНОй СиСТЕМЕ СчиСлЕНи

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: 20020110

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee