KR0175357B1 - 고속화를 위한 연산기의 오버플로우 검출회로 - Google Patents
고속화를 위한 연산기의 오버플로우 검출회로 Download PDFInfo
- Publication number
- KR0175357B1 KR0175357B1 KR1019950051477A KR19950051477A KR0175357B1 KR 0175357 B1 KR0175357 B1 KR 0175357B1 KR 1019950051477 A KR1019950051477 A KR 1019950051477A KR 19950051477 A KR19950051477 A KR 19950051477A KR 0175357 B1 KR0175357 B1 KR 0175357B1
- Authority
- KR
- South Korea
- Prior art keywords
- overflow
- input
- signal
- output
- detector
- Prior art date
Links
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/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/78—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
본 발명은 고속화를 위한 연산기의 오버플로우 검출회로에 관한 것으로, 연산기와 연산결과에 대한 오버플로우를 보정하는 예외검출기등을 포함하는 오버플로우 검출 및 보정회로에 있어서, 상기 연산기와, 상기 연산기와 병렬로 연결되어 상기 연산기의 입력신호를 직접 입력하여 오버플로우를 검출하여 연산결과의 오버플로우를 보정처리하는 오버플로우 검출기를 포함하여 구성되어 마이크로프로세서나 신호처리프로세서내의 연산기의 처리속도의 고속화를 위하여 예외검출기인 오버플로우 검출기와 연산기를 병렬로 구성연결하여 입력되는 그 값으로부터 직접 연산결과의 오버플로우를 검출함으로써 연산결과의 오버플로우를 빠른 타이밍에서 보정할 수 있고, 이에 따라 마이크로프로세서나 DSP 등의 연산처리의 속도개선에 적용할 수 있다.
Description
제1a도는 종래의 연산기의 오버플로우 보정회로의 블럭구성도.
제1b도는 본 발명에 의한 연산기의 오버플로우 보정회로의 블럭구성도.
제2a,b도는 상기 제1b도의 연산기의 가산 및 감산전용 오버플로우 검출기의 블럭구성도.
* 도면의 주요부분에 대한 부호의 설명
21 : 가감산기 22 : 오버플로우 검출기
25 : 선택기 31 : 비교기
32 : 디코더
본 발명은 고속화를 위한 연산기의 오버플로우 검출회로에 관한 것으로, 마이크로프로세서나 신호처리프로세서내의 연산기의 처리 속도의 고속화를 위하여 연산결과치가 목표로 하는 범위 내에서 얻어지도록 출력에 보정을 가하는 연산결과의 보정 등의 처리, 즉 연산처리 이외의 예외처리의 고속화를 달성하기 위한 연산기의 오버플로우 검출 및 보정회로에 관한 것이다.
일반적으로, 마이크로프로세서나 신호처리프로세서에서 프로세스의 고속화가 계속 이루어지고 있다.
상기 프러세서는 데이타를 받아들여 그 데이타를 연산한 후 출력하는 처리를 반복하는데, 이를 고속화하기 위해서는 고속의 연산기가 필요하다.
상기 연산기가 수행하는 것은 연산처리뿐만 아니라 그 이외에도 연산결과의 특성을 나타내는 상태 플래그(flag)의 출력이다, 연산결과치가 목표로 하는 범위 내에서 얻어지도록 출력에 보정을 가하는 연산결과의 보정이 있다.
그러나, 상기 연산기의 연산처리 시간이 여러 가지 고속화 수법에 의하여 단축될 수 있음에 따라, 연산처리가 아닌 플래그형과 보정형의 2가지 형태의 예외처리의 시간도 무시할 수 없게 된다.
따라서, 상기 연산기의 처리를 고속화하기 위해서는 연산만이 아니고, 이러한 예외처리도 고속화하지 않으면 안된다.
마이크로프로세서나 DSP는 오버플로우를 발생하는 경우를 대비하여 최대치나 최소치로 값을 보정하여 연산오차를 최소로 하는 연산기를 가질 필요가 있다.
보정형의 예외처리로서 overflow 보정회로를 살펴보면, 종래 가감산기의 overflow를 검출함에는, 연산결과의 값 전체로부터의 carry 신호와, 부호부를 제외한 수치부로부터의 carry 신호의 일치를 XOR을 이용하여 검출한다.
제1a도와 같이 종래의 보정형의 예외처리 회로는 다음과 같이, 가감산기(11)의 연산기와 보정회로(12), 선택기(13) 및 버퍼(14)로 구성된다.
상기 구성에 의한 보정수행시, 상기 선택기(13)는 1bit/(출력 bit의 수) 멀티플렉서(multiplexer)로서 제어입력의 팬-아웃(fan-out)이 많아, 예외검출기의 출력에 있어서 큰 구동력이 요구된디.
그리고, 부하가 큰 선택기(13)의 제어입력을 이 오버플로우 출력이 구동해야 하므로 강력한 버퍼(14)를 사용한다.
그러나, 상기 버퍼를 사용함에 따라 오버플로우의 검출이 지연되어 연산기 전체의 처리속도가 늦어지는 문제점이 있었다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 예외검출기인 오버플로우 검출기를 연산기와 병렬로 구성연결하여 입력되는 그 값으로부터 직졉 연산결과의 오버플로우를 검출함으로써 연산결과의 오버플로우를 빠른 타이밍에서 보정할 수 있는 고속화를 위한 연산기의 오버플로우 보정 및 검출회로를 제공함에 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 특징은, 연산기와 연산결과에 대한 오버플로우를 보정하는 예외검출기 등을 포함하는 오버플로우 검출 및 보정회로에 있어서, 상기 연산기와; 상기 연산기와 병렬로 연결되어 상기 연산기의 입력신호를 직접 입력하여 오버플로우를 검출하여 연산결과의 오버플로우를 보정처리하는 오버플로우 검출기를 포함하여 구성되는 데에 있다.
이하, 첨부된 도면을 첨조하여 본 발명의 오버플로우 검출처리 회로를 상세히 설명한다.
제1b도는 본 발명에 의한 오버플로우 검출회로의 블럭구성도로서, 오버플로우 검출회로는 연산기인 가감산기(20)와 오버플로우 검출기(21), 보정회로(23), 보정제어회로(24) 및 선택기(25)를 포함하여 이루어진다.
이때, 상기 가감산기(20)와 오버플로우 검출기(21)는 병렬로 구성되어, 입력되는 신호(A,B)를 직접 입력하여 연산결과가 overflow를 발생하여 오차를 최소로 하기 위하여 연산결과를 최대치나 최소치로 보정하는 overflow 보정이 필요한 경우, 연산결과와 보정치를 선택기(25)에 입력하여 연산결과로부터 예외를 검출하는 상기 overflow검출기(22)를 통하여 선택기(25)를 구동하면 된다.
즉, Overflow 보정에서 overflow 검출기(22)를 연산기(21)와 병렬로 구성하고, 보정치 발생도 연산출력으로부터 구하지 않고 입력치로부터 직접 구하며, 검출기 내에서 트랜지스터 최적화를 행하여 부하가 큰 선택기(25)의 입력을 구동할 수 있도록 하여 종래의 버퍼에서 걸리는 시간을 단축하게 된다.
따라서, 상기 검출기(22)를 연산기(21)보다도 빠른 시간 내에 처리하게 하여 전체의 처리시간을 단축시킬 수 있다.
제2a도는 본 발명에 의한 상기 제1b도의 연산기의 오버플로우 검출기의 블럭구성도로서, 입력으로부터 직접 가감산기의 overflow를 검출하는 검출기의 회로는 매 비트의 반전을 구하는 인버터(inverter)(30)와, 대소비교를 행하는 비교기(comparator)(31) 및 두 수의 부호와 상기 비교기(31)의 결과로부터 overflow의 판별을 행하는 디코더(decoder)(32)로 구성된다.
먼저 n bit의 2's complement A, B의 가산 overflow를 생각하면, n bit의 2's complement가 나타내는 범위는 2n-1에서 -2n-1-1 임으로, A+B가 overflow할 조건은,
여기에서 overflow 영역을 비교기(31)에서 검출가능한 형태로 변환하기위해서는 상기 입력 B의 부호 비트를 그대로 두고 부호 이외의 비트를 반전하는 조작을 수행한다.
이 조작 후의 B를 B'로 하고, 가산 A+B의 오버플로우 영역은
A≥0, B≥0의 범위에서 A>B'
A<0, B<0의 범위에서 A≤B'이다.
따라서, 오버플로우는 두 수 A, B'의 부호와 A, B'의 대소관계에서 판정가능하게 된다.
반대로, 감산의 overflow를 설명하면, 감산은 감수를 2's complement 변환에 의해 +, -의 부호를 바꾸어 가산으로 행하게 된다.
상기 입력 B를 2's complement 변환하면 B + 1 로 되므로, A - B는 A + (B + 1)로 표시된다.
이에 따라, A + B + 1의 경우의 overflow를 A + B의 경우와 같이 생각하면, A + B + 1이 overflow할 조건은,
로 표시된다.
상기 A + B의 경우와 마찬가지로 B의 부호를 그대로 두고 부호 이외의 bit를 반전시키어 B > 0의 경우, 변환후의 overflow 영역은
즉, A > B' - 1 or (A. B')로 되고,
또, B < 0의 경우는
즉, A < B'로 된다.
이상을 종합하면, 가산 A + B + 1의 overflow 영역은,
A ≥ 0, B ≥ 0의 범위에서 A ≥ B'
A < 0, B < 0의 범위에서 A < B'로 된다.
따라서, A + B + 1의 overflow도 A + B와 같은 형태로 두 수 A, B의 부호와 A와 B'의 대소관계에서 판정할 수 있다.
상기와 같이, 가신의 overflow 검출은 부호비트의 값과 부호이외의 부분 끼리의 비교결과를 이용하여 검출할 수 있다.
따라서, 입력 A와 B는 부호 비트 SA, SB와 부호 이외의 비트 VA, VB로 나누어서, 상기 VA는 그대로 비교기(31)에, VB측에서는 인버터(30)에서 반전한 값 V'B를 상기 비교기(31)에 입력한다.
이때, 입력측 인버터(inverter)(30)의 제어신호로 B쪽을 반전, 비반전함에 따라 overflow 검출기는 A + B와 A - B의 overflow를 검출할 수 있다.
이어서, 상기 비교기는 VA와 VB의 대소비교를 행하여, V'B> VA이면 C = 0을 출력한다.
2's complement에서는 SA= SB의 범위에서 SA와 SB의 대소관계가 A와 B'의 대소관계와 같다.
그러므로 overflow를 일으키는 A, B' 모두 +, 혹은 A, B 모두 -의 범위에서는, SA와 SB의 대소관계를 구하는 것으로 A와 B'의 대소관계를 구하는 것에 대신할 수 있다.
이어, 디코더(32)는 두 수의 부호 SA, SB와 비교기의 출력 C가 입력되어, 이들의 신호로부터 overflow를 일으키는 조건이 되는 조합, 즉
SA= 0, SB= 0, C = 1, SA= 1, SB= 1, C = 0의 경우에 1을 출력한다.
또한, 상기 출력 C가 VA< VB에서 1로 되는 비교기를 사용하면 A + B 의 overflow로 되는 조건과 같은 SA, SB, C의 조합에서 A + B + 1의 overflow로 되기 때문에 거의 동일한 회로 구성으로 A + B + 1의 overflow 검출기를 구성할 수 있다.
그리고, 제2b도에 도시된 바와 같이, A + B와 A + B + 1의 overflow 검출을 동일한 디코더 회로에서 이루어질 수 있도록 하고, 비교기 부분을 보완하여 가감산 양 쪽에 대응하는 overflow 검출기를 구성할 수 있다.
즉, 비교기(42)는 A > B, A = B를 출력하는 것으로 하여 하나의 출력은 A > B를 그대로, 또 하나는 A > B와 A = B의 논리합(OR)(43)을 취해 A > B를 출력하도록 하는 것이 가능하므로 선택기에서 그 중 하나를 선택하여 decoding하면 A + B, A + B + 1의 overflow 검출기로 된다.
그리고, XOR(40)와 XNOR(41)에서 입력신호의 가감산을 제어한다.
이상과 같이, 본 발명은 마이크로프로세서나 신호처리프로세서내의 연산기의 처리속도의 고속화를 위하여 예외검출기인 오버플로우 검출기와 연산기를 병렬로 구성연결하여 입력되는 그 값으로부터 직접 연산결과의 오버플로우를 검출함으로써 연산 결과의 오버플로우를 빠른 타이밍에서 보정할 수 있고, 이에 따라 마이크로프로세서나 DSP등의 연산처리의 속도개선에 적용할 수 있다.
Claims (2)
- 두 입력(A, B)에 대한 가감산 연산을 하는 연산기와, 그 연산기의 오버플로우 발생에 따라 연산결과를 최대치나 최소치로 보정을 하기 위한 보정값을 계산하는 보정회로 및 오버플로우 발생에 따라 상기 보정회로의 출력 또는 상기 연산기의 출력을 선택하여 출력하는 선택기로 이루어진 연산회로의 오버플로우를 검출하는 회로에 있어서, 상기 두 입력(A, B)을 상기 연산기와 함께 병렬로 입력받아 비교하여 오버플로우 발생 여부를 검출하는 오버플로우 검출기와, 그 오버플로우 검출기의 오버플로우 검출 여부에 의해 상기 선택기의 선택 제어신호를 출력하는 보정 제어회로로 구성되되, 상기 오버플로우 검출기는, 상기 하나의 입력(B)을 반전시키는 인버터와, 그 인버터를 통한 반전입력과 다른 입력(A)을 입력받아 대소를 비교하는 비교기와, 그 비교기의 출력(C)과 상기 두 입력 A. B의 부호(SA, SB)에 의거하여, A+B, A+B+1의 오버플로우 검출을 하는 디코더로 구성된 것을 특징으로 하는 연산기의 오버플로우 검출회로.
- 제1항에 있어서, 상기 오버플로우 검출기는, 가/감산을 선택하기 위한 제어신호와 상기 가/감산기에 입력되는 두 입력(A, B)중 어느 한 입력(B)을 각각 논리 조합하는 XOR(40) 및 XNOR(41)와, 상기 다른 하나의 입력(A = VA)과 상기 XNOR(41)의 출력(VB')의 대소를 비교하는 비교기(42)와, 상기 비교기의 두 입력(VA와 VB')이 같은 때의 신호(VA= VB)와 상기 다른 하나의 입력이 큰 경우(VA> VB)의 신호를 오아 조합하는 오아 게이트(43)와, 그 오아 게이트(43)의 출력(VA≥ VB)과 상기 다른 하나의 입력이 큰 경우(VA> VB)의 신호를 입력받아 상기 가/감산 선택 제어신호에 의거하여 선택하는 선택기(44)와, 그 선택기(44)의 출력신호와 상기 다른 하나의 입력신호의 부호 및 상기 XOR의 출력신호의 부호에 의거하여 A+B, A+B+1의 오버플로우를 검출하는 디코더로 구성된 것을 특징으로 하는 연산기의 오버플로우 검출회로.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950051477A KR0175357B1 (ko) | 1995-12-18 | 1995-12-18 | 고속화를 위한 연산기의 오버플로우 검출회로 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950051477A KR0175357B1 (ko) | 1995-12-18 | 1995-12-18 | 고속화를 위한 연산기의 오버플로우 검출회로 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970049500A KR970049500A (ko) | 1997-07-29 |
KR0175357B1 true KR0175357B1 (ko) | 1999-04-01 |
Family
ID=19441080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950051477A KR0175357B1 (ko) | 1995-12-18 | 1995-12-18 | 고속화를 위한 연산기의 오버플로우 검출회로 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0175357B1 (ko) |
-
1995
- 1995-12-18 KR KR1019950051477A patent/KR0175357B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR970049500A (ko) | 1997-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5317527A (en) | Leading one/zero bit detector for floating point operation | |
US5373459A (en) | Floating point processor with high speed rounding circuit | |
US5862065A (en) | Method and circuit for fast generation of zero flag condition code in a microprocessor-based computer | |
US9146707B2 (en) | Generating a fast 3x multiplicand term for radix-8 booth multiplication | |
US20080215660A1 (en) | Three-Term Input Floating-Point Adder-Subtractor | |
WO1989009441A1 (en) | Apparatus and method for floating point normalization prediction | |
JP2618374B2 (ja) | 最上位の数字の位置の検出 | |
US5020016A (en) | Circuit for detecting zero result of addition/subtraction by simultaneously processing each pair of corresponding bits of a pair of given numbers in parralel | |
US20050060359A1 (en) | Arithmetic unit for addition or subtraction with preliminary saturation detection | |
US6629118B1 (en) | Zero result prediction | |
US5920493A (en) | Apparatus and method to determine a most significant bit | |
US7680874B2 (en) | Adder | |
JP3012357B2 (ja) | シフト量検出回路 | |
KR0175357B1 (ko) | 고속화를 위한 연산기의 오버플로우 검출회로 | |
JPH0511980A (ja) | 桁あふれ検出方式とその回路 | |
US6581087B1 (en) | Floating point adder capable of rapid clip-code generation | |
US7386580B2 (en) | Data processing apparatus and method for computing an absolute difference between first and second data elements | |
CN115833845B (zh) | 位置输出装置和位置输出方法 | |
US5905428A (en) | N-bit comparator using count leading 1 circuits | |
JP3557366B2 (ja) | 大小比較方法および装置 | |
JPH0736149B2 (ja) | シフトフラグ生成回路 | |
JP3512700B2 (ja) | 浮動小数点演算装置 | |
JP2558799B2 (ja) | 浮動小数点正規化丸め装置 | |
US6411975B1 (en) | Digital processing | |
US5801978A (en) | Overflow detection for integer-multiply instruction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20081104 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |