KR0175357B1 - 고속화를 위한 연산기의 오버플로우 검출회로 - Google Patents

고속화를 위한 연산기의 오버플로우 검출회로 Download PDF

Info

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
Application number
KR1019950051477A
Other languages
English (en)
Other versions
KR970049500A (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 정선종
Priority to KR1019950051477A priority Critical patent/KR0175357B1/ko
Publication of KR970049500A publication Critical patent/KR970049500A/ko
Application granted granted Critical
Publication of KR0175357B1 publication Critical patent/KR0175357B1/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/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements 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)

  1. 두 입력(A, B)에 대한 가감산 연산을 하는 연산기와, 그 연산기의 오버플로우 발생에 따라 연산결과를 최대치나 최소치로 보정을 하기 위한 보정값을 계산하는 보정회로 및 오버플로우 발생에 따라 상기 보정회로의 출력 또는 상기 연산기의 출력을 선택하여 출력하는 선택기로 이루어진 연산회로의 오버플로우를 검출하는 회로에 있어서, 상기 두 입력(A, B)을 상기 연산기와 함께 병렬로 입력받아 비교하여 오버플로우 발생 여부를 검출하는 오버플로우 검출기와, 그 오버플로우 검출기의 오버플로우 검출 여부에 의해 상기 선택기의 선택 제어신호를 출력하는 보정 제어회로로 구성되되, 상기 오버플로우 검출기는, 상기 하나의 입력(B)을 반전시키는 인버터와, 그 인버터를 통한 반전입력과 다른 입력(A)을 입력받아 대소를 비교하는 비교기와, 그 비교기의 출력(C)과 상기 두 입력 A. B의 부호(SA, SB)에 의거하여, A+B, A+B+1의 오버플로우 검출을 하는 디코더로 구성된 것을 특징으로 하는 연산기의 오버플로우 검출회로.
  2. 제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의 오버플로우를 검출하는 디코더로 구성된 것을 특징으로 하는 연산기의 오버플로우 검출회로.
KR1019950051477A 1995-12-18 1995-12-18 고속화를 위한 연산기의 오버플로우 검출회로 KR0175357B1 (ko)

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)

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
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
JP3012357B2 (ja) シフト量検出回路
KR0175357B1 (ko) 고속화를 위한 연산기의 오버플로우 검출회로
US8037120B2 (en) System and method for an efficient comparison operation of multi-bit vectors in a digital logic circuit
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
KR100252766B1 (ko) 고속으로 동작하는 스티키 신호 생성기
CN115833845B (zh) 位置输出装置和位置输出方法
US5905428A (en) N-bit comparator using count leading 1 circuits
JP3557366B2 (ja) 大小比較方法および装置
JPH0736149B2 (ja) シフトフラグ生成回路
US10599396B2 (en) Integer division circuit and method of performing integer division in hardware
JP3512700B2 (ja) 浮動小数点演算装置
JP2558799B2 (ja) 浮動小数点正規化丸め装置
US6411975B1 (en) Digital processing

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