KR920006324B1 - 실시간 2's콤플리멘트 코드 승산기의 최적화방법 - Google Patents
실시간 2's콤플리멘트 코드 승산기의 최적화방법 Download PDFInfo
- Publication number
- KR920006324B1 KR920006324B1 KR1019890020078A KR890020078A KR920006324B1 KR 920006324 B1 KR920006324 B1 KR 920006324B1 KR 1019890020078 A KR1019890020078 A KR 1019890020078A KR 890020078 A KR890020078 A KR 890020078A KR 920006324 B1 KR920006324 B1 KR 920006324B1
- Authority
- KR
- South Korea
- Prior art keywords
- value
- bit
- bits
- decoding
- subtotal
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/50—Adding; Subtracting
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
- Error Detection And Correction (AREA)
Abstract
내용 없음.
Description
제1도 및 제2도는 종래의 블럭도.
제3도-제5도는 본 발명의 블럭도.
* 도면의 주요부분에 대한 부호의 설명
301-315 : 래치 316-319 : 디코더
320-323 : 가산기 324-326 : 오아게이트
본 발명은 디지탈 신호처리 시스템에 있어서 승산기(Multiplier)에 관한 것으로, 특히 비트 포울딩(folding)을 이용한 실시간 2'S콤플리멘트(complement)코드 승산기의 최적화기법에 관한 것이다.
일반적으로 실시간 디지탈 신호를 처리하기 위해서는 이러한 신호처리를 위한 요소중에서 가장 시간이 많이 걸리는 승산기를 먼저 구현하여야 하는데 종래에는 제1도에 도시된 바와 같이 파이프라인(pipeline)구성의 메그니튜트 승산기를 사용할 수 있으며, 2'S컴플리먼트 숫자까지 계산 가능하도록 구성을 취할 수 있다. 상기 두 승산기 및 2'S콤플리멘트 코드에 관해서는 본원 출원인에 의하여 선출원된 바 있는 출원번호 "89-8480"에 상세히 기재되어 있으므로 구체적인 설명은 생략키로 하고 상기와 같은 종래의 기술의 문제점을 살펴보면, 2'S콤플리멘트 코드를 사용하면 가/감산기의 일관적인 구성이 가능한 장점이 있으므로 상기 선출원 "89-8480"에서는 2'S콤플리멘트 코드의 승산기를 파이프라인 구조로 설계하고 각각의 보정회로를 설명하였으나 이러한 구성의 실시간 2'S콤플리멘트 코드승산기를 구현함에 있어서 그 구성소자의 속도가 좀더 빠르다고 가정한다면 제1도에서와 같이 매번 1비트씩 계산해야 했던 불편함을 해소할 수도 있게 된다. 즉 2'S콤플리멘트 코드(편의상 8비트라고 가정한다)인 두수
를 곱하는 경우를 생각해 보면 그 결과는 하기한 (1)식과 같다.
그런데 상기 (1)식과 같은 결과를 얻기위하여 전술한 바와 같이 제2도에 도시된 곱셉 과정을 통하여 상기 두수(X,Y)의 승산을 하게 되면 하기한 (2)식과 같이 뒤에서 부터 하나씩 더하는 구성을 취하게 되어있었으므로 계산으로 인해 소요되는 시간이 긴 단점이 있었을 뿐만 아니라 회로적으로도 복잡한 불편이 있었다.
따라서 본 발명의 목적을 실시간 처리 2'S콤플리멘트 승산기의 다수 비트를 한꺼번에 디코딩하여 계산으로 인한 지연시간을 줄일 수 있도록 하는 실시간 2'S콤플리멘트 코드 승산기의 최적화기법을 제공함에 있다.
이하 본 발명을 첨부한 도면을 참조하여 설명한다.
제3도는 본발명의 블럭도로써, n비트(ynyi-1yn-2…yl)피승주의 LSB측으로 부터 두번째, 첫번째 비트 및 0(y2y10)를 m비트(XmXm-1…X1)의 승수와 디코딩하는 제1디코딩부, 상기 제1디코딩 값과 n비트 초기값(0)의 취상위 비트를 논리합하여 새로운 최상위 비트를 설정하는 제1논리 조합부, 상기 제1디코딩 값과 상기 제1논리값의 각 최상위 비트를 제외한 나머지 비트를 가산하는 제1가산부, 상기 제1논리값과 제1가산값을 래치하여 제1부분합을 산출하는 제1부분합 래치부로 이루어진 제1부분합 산출수단과, 상기 피승수의 LSB측으로 부터 K+1, K+2, K+3번째 비트를 상기 승수와 디코딩하는 제K디코딩부, 상기 제K디코딩 값과 소정비트 확장된 상기 제K-1부분합의 최상위 비트를 논리합하여 새로운 최상위 비트를 설정하는 제K논리조합부, 상기 제K디코딩 값과 소정비트 확장된 상기 제K-1부분합의 각 최상위 비트를 제외한 나머지 비트를 가산하는 제K가산부, 상기 제K논리값과 상기 제K가산값을 래치하여 제K부분합을 산출하는 제K부분합 래치부와 상기 제K-1부분합의 LBS측 2비트를 래치하는 제K-1래치부로 이루어진 제K부분합 산출수단이 상기 K가 2부터 n보다 첫번째로 작은 짝수까지 변하도록 구성된다.(본 발명에서는 승수 및 피승수가 각 8피트이고 3비트 폴딩한다고 가정하여 K=4까지 변하게 된다.)
제4도는 제3도중 디코딩 블럭의 펑선(function)정의 도로써, 5a)는 개념적으로 가장 간단한 구성을 도시한 것이고, 5b)는 하드웨어를 최적화한 구성도이다. 제5도는 제3도중 디코딩 블럭의 구체 회로도이다. 상술한 구성에 의거 본 발명을 상세히 설명한다. 먼저 전술한 X와 Y의 곱셈 연산을 변형하여 하기한 식(4)와 같이 계산해보면,
상기한 식(4)와 같이 연산을 할 경우 부분합을 구해야 하는 갯수가 7개에서 개로 줄어든다. 이때 포울딩하는 비트를 증가할 수록 부분합의 수는 줄어들지만 곱해야하는 (y1-1+y1-2y1+1)·X의 수는 복잡해진다. 여기서 상기 y1-1, y1, y1+1의 디코딩 테이블을 구하면 하기한 [표1]과 같다.
[표 1]
상기 디코딩 테이블에 의하면(y1-1+y1-2y1+1)·X의 값은 y1-1, y1, y1+1의 비트상태에 따라 0, ±X, ±2X가 된다. 그러므로 하기한 식(5)와 같이 나타내어지는 X·Y는 상기 디코딩 테이블의 출력에 의하여 X를 변화시켜 부분합에 더하면 된다.
즉 제3도중 임의의 부분합에 X·(ya-2y1)가 저장되어 있다고 가정하면 y1,y2,y3의 비트 상태에 따라 부분합에 (0,±X,±2X)·22이 더해지게 된다. 왜냐하면 상기 디코딩 테이블 및 제6도의 평션의의 예시도에 도시된 바와 같이 y1-,y1,y1+1의 3비트의 상태에 따라 디코더 출력은 하기와 같이 0, ±X, ±2X가 되기때문이다.
첫번째로, 0인 경우 디코더에 입력되는 X값에 관계없이 출력값을 0으로 한다. 두번째로, X인 경우 디코더는 X를 그대로 출력토록 한다. 세번째로, 2X인 경우 디코더는 입력되는 X를 1비트 확장하고 쉬프트 라이트한다. 네번째로, -X인 경우 디코더는 입력 X를 1의 보수처리하여 출력한 다음 가산기에서는 캐리입력(Cin)을 1로하여 실제 -X가 되도록 만든다. 다섯번째로, -2X인 경우는 디코더 출력을 2X로 하고 난후 이를 1의 보수 처리하고 가산기 클럭입력(Cin)을 1로 하여 실제로 2X가 뺄셈이 되도록 만들어 준다.
여기서 상기 디코더 동작을 이 실시예로서 첨부한 제5도의 (5a)를 참조하여 설명하면 하기와 같다. y1-,y1,y1+1이 (000) 혹은 (111)일대는 앤드케이트 입력값(A)을 0으로 한다. 다음으로 상기 y1-1,yl,y1+1이 (10),(011),)100),(101)일때는 출력이 ±X이므로 관계없으나 (001)(110)일때는 출력이 ±2X이므로 2X는 X로 부터 각 비트를 1번 쉬프트 라이트해주어야 한다.
이러한 동작은 일반적인 2:1멀티플렉서(예 : TTL74LS157)를 사용하여 예를들어 포트(port)에서는 X를 그대로 넣고 ψ포트에는 1번 쉬프트한 것을 넣으면 된다. 또한 상기 y1-1,y1,y1+1d1(001),(011),(101)일때는 출력을 1의 보수처리한다.
상기 보수처리 잡업으로 가장 간단하게는 예를들어 제5도(5b)에 도시된 바와 같은 이스크루시브 오아게이트를 사용하면 되는데 상기 익스크루시브 오아게이트 특성에 의해 컨트롤단자(C)가 0이면 출력은 입력과 동일하게 되나(D=E) 상기 콘트롤단자(C)가 1이면 입력(D)은 반전되어 출력(E=D)되므로 원하는 동작을 수행할 수 있게 된다. 또한 계산상 발생하는 에러발생을 방지하기 위하여 MSO의 오아케이트 보정을 행할수 있다. MSB의 오아케이트 보정이유는 부분합과 디코딩부 출력이 합산되면서 출력의 MSB가 바뀌는 경우에 이를 원상복귀하기 위한 것으로 더 상세한 내용은 선출원된 "89-8480"에 기재되어 있으므로 생략한다. 또한 본 발명은 실시간 2'S콤플리메트 코드 이외의 일반적인 활용이 가능하다. 이는 메그니튜트 승산기에 대하여 이를 수직적으로 전개함으로서 쉽게 증명되는데, 이는 본 발명으로 부터 쉽게 유추할 수 있다. 또한 본 발명은 8X8 2'S콤플리멘트 승산기를 예로하여 설계한 것이나, nXm비트의 형태로도 확장 가능하다.
상술한 바와 같이 실시간 처리가능한 2'S콤플리멘트 코드 승산기의 몇개의 비트를 한꺼번에 디코딩하여 계산 딜레이를 줄이므로써 MSB보정을 통하여 보다 간편하게 실시할 수 있을 뿐만 아니라 일반적인 부품으로도 쉽게 구현할 수 있어 경제적인 이점이 있다.
Claims (1)
- 실시간 2의 보수코드 승산기의 최적화 방법에 있어서, n비트(ynyn-1yn-2…y1)피승수의 LSB측으로 부터 두번째, 첫번재 비트 및 0(y2y10)를 m비트(XmXm-1…X1)의 승수와 디코딩하는 제1디코딩부, 상기 제1디코딩 값과 n비트 초기값(0)의 최상위 비트를 논리합하여 새로운 최상위 비트를 설정하는 제1논리 조합부, 상기 제1디코딩 값과 상기 제1논리값의 각 최상위 비트를 제외한 나머지 비트를 가산하는 제1가산부, 상기 제1논리값과 제1가산값을 래치하여 제1부분합을 산출하는 제1부분합 래치부로 이루어진 제1부분합 산출수단과, 상기 피승수의 LSB측으로 부터 K+1,K+2,K+3번째 비트를 상기 승수와 디코딩하는 제K디코딩부, 상기 제K디코딩 값과 소정비트 확장된 상기 제K-1부분합의 최상위 비트를 논리합하여 새로운 최상위 비트를 설정하는 제K논리조합부, 상기 제K디코딩 값과 소정비트 확장된 상기 제K-1부분합의 각 최상위 비트를 제외한 나머지 비트를 가산하는 제K가산부, 상기 제K논리값과 상기 제K가산 값을 래치하여 제K부분합을 산출하는 제K부분합 채치부와 상기 제K-1부분합의 LBS측 2비트를 래치하는 제K-1래치부로 이루어진 제K부분합 산출수단이 상기 K가 2부터 n보다 첫번째로 작은 짝수까지 변하도륵 구성됨을 특징으로 하는 회로.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019890020078A KR920006324B1 (ko) | 1989-12-29 | 1989-12-29 | 실시간 2's콤플리멘트 코드 승산기의 최적화방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019890020078A KR920006324B1 (ko) | 1989-12-29 | 1989-12-29 | 실시간 2's콤플리멘트 코드 승산기의 최적화방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR910012901A KR910012901A (ko) | 1991-08-08 |
KR920006324B1 true KR920006324B1 (ko) | 1992-08-03 |
Family
ID=19294116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019890020078A KR920006324B1 (ko) | 1989-12-29 | 1989-12-29 | 실시간 2's콤플리멘트 코드 승산기의 최적화방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR920006324B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100362186B1 (ko) * | 1995-12-29 | 2003-03-28 | 주식회사 하이닉스반도체 | 멀티플렉서를이용한직렬부스승산기 |
-
1989
- 1989-12-29 KR KR1019890020078A patent/KR920006324B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR910012901A (ko) | 1991-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5726924A (en) | Exponentiation circuit utilizing shift means and method of using same | |
US5500812A (en) | Multiplication circuit having rounding function | |
EP0158530B1 (en) | Nonrestoring divider | |
US5111421A (en) | System for performing addition and subtraction of signed magnitude floating point binary numbers | |
US6182100B1 (en) | Method and system for performing a logarithmic estimation within a data processing system | |
US5862068A (en) | Arithmetic circuit for calculating a square-root of a sum of squares | |
US5268857A (en) | Device and method for approximating the square root of a number | |
KR920003494B1 (ko) | 디지탈 신호처리 시스템에서의 실시간 2's 콤플리멘트코드 숫자의 승산방법 및 회로 | |
EP0436905B1 (en) | High performance adder using carry predictions | |
EP0366155A2 (en) | Logarithmic function arithmetic unit including means for separately processing pseudo division and multiplication | |
WO1991018355A1 (en) | Integrated interpolator and method of operation | |
KR920006324B1 (ko) | 실시간 2's콤플리멘트 코드 승산기의 최적화방법 | |
KR100290906B1 (ko) | 부동소수점곱셈기에서반올림과덧셈을동시에수행하는장치및방법 | |
US4979141A (en) | Technique for providing a sign/magnitude subtraction operation in a floating point computation unit | |
US6014683A (en) | Arithmetic operation system for arithmetically operating a first operand having an actual point and a second operand having no actual point | |
US5754458A (en) | Trailing bit anticipator | |
US5886911A (en) | Fast calculation method and its hardware apparatus using a linear interpolation operation | |
US4956802A (en) | Method and apparatus for a parallel carry generation adder | |
US6615228B1 (en) | Selection based rounding system and method for floating point operations | |
JP2645422B2 (ja) | 浮動小数点演算処理装置 | |
JPH08504046A (ja) | 浮動小数点2進数を2進形式における対数に変換しまたはその逆変換をするための装置 | |
JP2991788B2 (ja) | 復号器 | |
JP2569976B2 (ja) | ディジタルフィルタ | |
JP2608090B2 (ja) | 高基数非回復型除算装置 | |
KR0182169B1 (ko) | 로그값 계산회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 19970829 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |