KR0175358B1 - 고속화를 위한 연산기의 상태 플래그 검출회로 - Google Patents

고속화를 위한 연산기의 상태 플래그 검출회로 Download PDF

Info

Publication number
KR0175358B1
KR0175358B1 KR1019950051476A KR19950051476A KR0175358B1 KR 0175358 B1 KR0175358 B1 KR 0175358B1 KR 1019950051476 A KR1019950051476 A KR 1019950051476A KR 19950051476 A KR19950051476 A KR 19950051476A KR 0175358 B1 KR0175358 B1 KR 0175358B1
Authority
KR
South Korea
Prior art keywords
flag
carry
detection circuit
zero
flag detection
Prior art date
Application number
KR1019950051476A
Other languages
English (en)
Other versions
KR970049499A (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 KR1019950051476A priority Critical patent/KR0175358B1/ko
Publication of KR970049499A publication Critical patent/KR970049499A/ko
Application granted granted Critical
Publication of KR0175358B1 publication Critical patent/KR0175358B1/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/50Adding; Subtracting

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

본 발명은 고속화를 위한 연산기의 상태 플래그 검출회로에 관한 것으로, 연산기와 상태 플래그를 검출하는 예외검출기 등을 포함하는 상태 플래그 검출회로에 있어서, 상기 연산기와 병렬로 연결되어 상기 연산기의 입력신호를 2그룹으로 분할하여 상위비트는 단순 0플래그 검출 및 캐리를 더한 값의 0플래그를 검출하고, 하위비트는 0플래그와 캐리를 검출하며, 하위비트의 캐리에 의해 상위비트의 0플래그 검출을 선택하여 상하위비트 0플래그를 앤드조합하도록 구성하므로써, 상태 플래그를 빠른 타이밍에서 얻는 것이 가능하여 연산기 전체의 처리시간을 단축할 수 있고, 이에 따라 종래의 방법에 비하여 20% 정도의 속도개선효과로 마이크로프로세서나 DSP 등의 연산처리 속도개선에 적용할 수 있다.

Description

고속화를 위한 연산기의 상태 플래그 검출회로
제1a도는 종래의 상태플래그 검출처리회로의 개념도.
제1b도는 본 발명에 의한 상태 플래그 검출회로의 개념도.
제2도는 본 발명에 의한 제로 플래그 검출회로도.
제3도는 본 발명에 따른 비트 분할후의 제로 플래그 검출회로도.
* 도면의 주요부분에 대한 부호의 설명
10 : 연산기 21∼23 : '0'플래그 검출기
24 : 선택기 31,32 : '0' 검출회로부
33 : '0'검출신호 합성회로부
본 발명은 고속화를 위한 연산기의 상태 플래그 검출처리회로에 관한 것으로, 특히 마이크로프로세서나 신호처리프로세서내의 연산기의 처리속도의 고속화를 위하여 연산처리와 상기 연산처리 결과의 특성을 나타내는 상태 플래그의 출력, 즉 연산처리 이외의 예외 처리의 고속화를 달성하기 위한 연산기의 상태 플래그 검출처리회로에 관한 것이다.
일반적으로, 마이크로프로세서나 신호처리프로세서에서 프로세스의 고속화가 계속 이루어지고 있다.
상기 프로세서는 데이타를 받아들여 그 데이타를 연산한 후 출력하는 처리를 반복하는데, 이를 고속화하기 위해서는 고속의 연산기가 필요하다.
상기 연산기가 수행하는 것은 연산처리뿐만 아니라 그 이외에도 연산결과의 특성을 나타내는 상태 플래그(flag)의 출력이나, 연산결과치가 목표로 하는 범위 내에서 얻어지도록 출력에 보정을 가하는 연산결과의 보정이 있다.
그러나, 상기 연산기의 연산처리 시간이 여러 가지 고속화 수법에 의하여 단축될 수 있음에 따라, 연산처리가 아닌 플래그형과 보정형의 2가지 형태의 예외처리의 시간도 무시할 수 없게 된다.
따라서, 상기 연산기의 처리를 고속화하기 위해서는 연산만이 아니고, 이러한 예외처리도 고속화하지 않으면 안된다.
중래에는 상기와 같은 예외처리를 수행하는 형태의 하나로서 플래그형 처리회로가 있다.
상기 플래그형 예외 처리회로는 0 플래그, 패리티(parity) 플래그, 오버플로우(overflow) 플래그 및 캐리(carry) 플래그 등의 결과를 알려준다.
즉, 연산결과가 0인 것을 나타내는 0 플래그, 연산결과의 부호를 표시하는 사인(sign) 플래그, 연산결과중의 1의 비트 수에 관한 패리티 플래그, 가감산에서의 오버플로우 플래그나 캐리 플래그 중에서 상기 오버플로우 플래그나 캐리 플래그와 같이 가감산과 동시에 얻어지는 상태 플래그도 일부 있지만, 나머지는 연산결과로부터 간단한 처리를 통하여 얻어지는 것으로, 회로의 구성은 연산기의 출력이 예외검출기에 다시 입력되어 상태 플래그를 얻도록 이루어진다.
즉, 플래그형 예외처리의 예로서, 제1a도의 연산결과가 0으로 되는 것을 검출하는 0 플래그 검출회로는 연산기(100의 전체 연산결과 비트를 부정 논리합(NOR)함으로써 상태 플래그를 검출할 수 있다.
그러나, 종래의 플래그형 예외처리는 연산기의 연산결과 출력이 예외검출기에 다시 입력되어 처리되는 한 단계의 처리를 더 수행함에 따라 상태 플래그의 검출 및 처리속도가 늦어지는 문제점이 있었다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 예외검출기를 연산기와 병렬로 구성연결하여 입력되는 그 값으로부터 직접 상태 플래그를 검출함으로써 연산결과의 플래그를 빠른 타이밍에서 얻을 수 있는 고속화를 위한 연산기의 상태 플래그 검출처리회로를 제공함에 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 특징은, 연산기와 상태 플래그를 검출하는 예외검출기 등을 포함하는 상태 플래그 검출회로에 있어서, 상기 연산기와; 상기 연산기와 병렬로 연결되어 상기 연산기의 입력신호를 직접 입력하여 상태 플래그를 검출하는 상태 플래그 검출기를 포함하여 구성되는 데에 있다.
이하, 첨부된 도면을 참조하여 본 발명의 상태 플래그 검출처리회로를 상세히 설명한다.
제1b도는 본 발명에 의한 상태 플래그 검출회로의 개념도로서, 상태 플래그 검출회로, 특히 0 플래그 검출회로는 연산기 (10)와 0 플래그 검출기(20)가 병렬로 구성되어, 입력되는 신호(A,B)를 직접 입력하여 상기 연산기(10)는 연산의 처리결과(X)를, 상기 0 플래그 검출기(20)는 연산결과가 0으로 되는 것을 검출한다.
상기 검출기로서는 0 플래그를 얻는 데는 NOR 회로를, 패리티 플래그를 얻는 데에는 XOR 회로를 이용하면 되는데, 이때 상기 NOR 회로나 XOR의 입력신호의 수는 연산기의 출력신호의 데이타폭과 같아지게 되기 때문에 32비트 연산기에서는 32입력, 64비트 연산기에서는 64입력의 NOR 회로나 XOR 회로를 구성해야 한다.
그리고, 연산에는 논리연산이나 가감산이 있지만, 이 중에서 처리에 시간이 걸리는 것은 가감산으로, 상기 가감산은 예를 들어, (111 ... 111)2+ (000 ... 001)2의 경우처럼 캐리 신호를 차례차례 상위 비트(bit)에 전파시키는 처리가 필요하여, 비트 마다의 논리연산에 비해 아무래도 회로의 게이트(gate)의 단수가 많아진다.
그러나, 감산 결과가 0으로 되는 것은 입력하는 두 수가 일치하는 경우이므로 각 비트(bit)의 XOR를 취한 결과의 0 여부를 조사하는 것으로 대신할 수 있다.
따라서, 본 발명은 상기와 같은 사실을 이용하여 가산결과의 0 플래그를 검출하는 회로를 구성한 것이다.
또한, 연산 중에서 가산은 캐리의 발생으로 인하여 연산시간이 오래 걸리게 되는데, 상기 연산을 고속으로 행하기 위한 여러 가지 수법 중 캐리 셀렉트(carry select) 방법이 있다.
상기 캐리 셀렉트 방법은, 긴 단어-길이(word-length)의 가산을 짧은 단어 길이(word-length)로 분할하여 각각 독립적으로 가산을 행하여 마지막으로 결합하는 방법이다.
즉, 입력할 수를 각각 상위와 하위로 분할하여, 상위는 상위끼리 하위는 하위끼리 가산한다.
상기 하위의 가산결과는 단순한 가산결과로 되지만, 상위의 가산 결과는 하위의 가산결과의 캐리 유무에 의해 단순한 가산으로 되던가, 거기에 1이 더해진 값으로 된다.
따라서, 상위에 대하여는 2개의 가산기를 사용하여 두 수의 합의 값과, 두 수의 합에 1이 더해진 값을 병렬로 구하여 하위의 캐리 신호를 제어신호로 한 MUX에 의하여 한 값을 선택 출력한다.
원래의 가산보다도 비트 폭이 짧은 가산인 것, 3개의 가산을 전부 병렬로 수행할 수 있다는 것, 또 상위의 가산결과의 선택은 각 비트마다 독립적으로 행할 수 있으므로 시간이 가산만큼은 걸리지 않는다는 것으로 인해, 이 가산기(adder) 전체의 처리시간은 원래의 긴 단어-길이(long word-length)의 가산기에서 걸리는 시간 보다도 단축이 가능하다.
상기와 같은 방법을 0 플래그 검출에 이용한 제2도의 개념도를 참고하면, 긴 단어-길이의 가산결과의 0 플래그를 구하기 위해서는 상위와 하위로 분할하여 짧아진 2개의 값에 대해 3개의 '0'플래그 검출기(21, 22, 23)를 사용하여 각각 독립적인 동시에 병렬로 0 flag을 구한다.
이때, '0' 플래그 검출기(21)는 하위 비트의 가산결과의 0 플래그 Z1외에 캐리 신호 C1을 구하고, '0' 플래그 검출기(22, 23)는 상위 비트의 단순한 가산일 때의 0 플래그 Zh0와 가산결과에 1이 더해진 때의 0 플래그 Zh1을 구한다.
전체의 0 플래그는 상위, 하위 모두 가산이 0으로 되는 경우이므로, 하위로부터 상위에 캐리가 없는 경우, 즉 C1이 0인 경우는 Zh0와 Z1의 논리곱(AND)(25)을 전체의 0 플래그로 하고, C1이 1인 경우는 ZH1과 Z1의 논리곱(AND)(25)을 0 플래그로 하면 된다.
따라서, C1을 사용하여 Zh0와 Zh1의 한쪽을 선택기(24)에서 선택하여 그 값과 Z1의 AND(25)를 취하면 전체의 0 플래그로 된다. 이 처리를 식으로 나타내면
로 된다.
또한, 상기와 같이 상위와 하위 2개의 블록(block)으로 분할하여 각각의 0 플래그를 구하듯이, 제3도에 도시된 바와 같이, 분할 후의 블록에서 0 플래그를 구하는 것에도 같은 방법을 적용할 수 있다.
즉, 하위로 되는 블록에서는 캐리 신호를 구하지 않으면 안되므로 이 캐리 신호도 0 플래그와 마찬가지로 그 블록 내의 하위로부터 캐리 유무에 맞는 2가지를 구하여 두고 캐리신호로 선택하도록 한다.
상위로 되는 블록에서는 결합 후에 하위로부터의 캐리 유무에 대응하는 2가지의 0 플래그가 필요하므로, 그 블록 내의 하위에서는 하위 블록으로부터의 캐리에 대응한 2가지의 캐리 신호를 발생시켜 상위의 0 플래그를 선택하여, 하위의 2가지의 0 플래그와 각각 AND를 구해 2가지의 0 플래그를 구한다.
상기와 같이 각각의 블록에 있어서 하위로부터의 캐리 유무에 맞추어 0 플래그 2가지, 캐리 신호 2가지 등 4개의 신호를 구해두면, 차례차례 블록을 분할하여 0 플래그를 구할 수 있다.
이상에서 설명한 0 플래그 검출회로는 제3도에 도시된 바와 같이, 블록을 분할하여 각각의 0 플래그를 병렬로 구하는 0 검출회로부 2개(31, 32)와, 그들의 신호를 결합하여 전체의 0 플래그를 구하는 0 검출신호 합성회로부(33)로 구성된다.
여기서, 하위 블록의 0 플래그 신호를 Z10, Z11, 캐리 신호를 C10, C11, 전체의 0 플래그를 Z0, Z1, 캐리 신호를 C0, C1으로 한다.
단, 마지막 철자가 0인 것은 그 하위로부터 캐리가 없을 때의 값이고, 1인 것은 캐리 신호가 있는 경우의 값을 나타내고 있다.
상기 0 검출신호 합성회로부(33)의 입출력 신호의 관계를 상기 식(1)을 기본으로 하여 종합하면 다음과 같이 된다.
분할을 거듭하면 최종적으로 1비트 0 검출기에 도달하게 되는데, 1비트의 경우는, 0 플래그와 캐리 신호를 간단한 논리 게이트에서 구할 수 있다.
하위로부터의 캐리가 없는 경우는 두 수가 모두 0일 때와 모두 1일 때에 합이 0으로 되기 때문에 상기 두 수의 XOR로 0 플래그가 얻어진다.
캐리 신호는 두 수가 모두 0일 때는 생기지 않고 두 수가 1일 때 발생하며, 한 쪽이 1이고 다른 쪽이 0일 때는 하위로부터의 캐리가 그대로 캐리 신호로 되지만, 이 때의 0 플래그는 0 이기 때문에 상위의 0 플래그의 값에 관계없이 0 플래그 검출신호 합성회로부(33)에서 합성한 0 플래그는 반드시 0으로 되어 정확한 캐리신호를 발생시킬 필요가 없다.
따라서, 상기 두 수 중한 값을 그대로 캐리 신호로 해버리면 충분하다.
하위로부터의 캐리 신호가 있는 경우는, 상기 두 수의 한 쪽이 0, 다른 한 쪽이 1 일 때에 합이 0으로 되기 때문에, 두 수의 XOR에서 0 플래그가 얻어진다.
0 플래그가 1로 되는 입력의 조합에서는 0 플래그가 0이기 때문에, 앞의 경우와 같은 이유에 의해 캐리 신호를 정확히 할 필요가 없이 캐리 신호는 항상 1로 해 두면 충분하다.
이것을 종합하면, 다음과 같이 된다.
여기서 a, b는 1비트의 두 수,는 XOR이다.
이상과 같이, 본 발명은 예외검출기를 연산기와 병렬로 구성하여 입력한 그 값으로부터 직접 연산결과의 상태 플래그를 검출할 수 있어 상태 플래그를 빠른 타이밍에서 얻는 것이 가능하여 연산기 전체의 처리시간을 단축할 수 있고, 이에 따라 종래의 방법에 비하여 20%정도의 속도개선효과로 마이크로프로세서나 DSP등의 연산처리 속도개선에 적용할 수 있다.

Claims (1)

  1. 캐리 셀렉트(Carry select) 가산기를 이용한 연산기(ALU)의 상태 플래그를 검출하기 위한 회로에 있어서, 상기 연산기에 입력되는 두 입력신호를 공유하도록 그 연산기와 병렬로 연결하여 두 입력비트를 각각 상기 캘 셀렉트 가산 방법을 위해 분할 시킨 상위비트와 하위비트의 2개의 블록으로 분할하고, 두입력의 각 상위비트를 단순 가산한 결과의 '0'플래그와, 가산 결과에 캐리신호 '1'을 더했을 때의 '0'플래그를 각각 검출하는 2개의 상위비트 제로플래그 검출회로와, 상기 두입력의 각 하위비트를 단순 가산한 결과의 '0' 플래그와, 가산 결과 캐리신호가 발생되는지의 여부를 알리는 캐리신호를 검출하는 하나의 하위 비트 제로 플래그 검출회로와, 상기 하위 비트 제로 플래그 검출회로의 캐리신호 발생 여부에 의해 상기 2개의 상위비트 제로플래그 검출회로중 캐리신호가 없으면 단순 가산 결과에 의한 '0' 플래그를 검출하는 단순 가산 '0' 플래그 검출회로를 선택하고, 캐리신호가 있는 경우는 상기 가산결과에 '1'을 더하여 '0' 플래그를 검출하는 캐리 가산 '0' 플래그 검출회로를 선택하는 선택기와, 상기 선택기에 의해 선택된 상위비트 '0' 플래그 검출회로의 '0' 플래그 검출신호와 상기 하위비트 '0' 플래그 검출회로의 '0' 플래그 검출신호를 논리곱(AND)하여 '0' 플래고 검출신호를 출력하는 앤드게이트를 포함하여 구성된 것을 특징으로 하는 고속화를 위한 연산기의 상태 플래그 검출회로.
KR1019950051476A 1995-12-18 1995-12-18 고속화를 위한 연산기의 상태 플래그 검출회로 KR0175358B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950051476A KR0175358B1 (ko) 1995-12-18 1995-12-18 고속화를 위한 연산기의 상태 플래그 검출회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950051476A KR0175358B1 (ko) 1995-12-18 1995-12-18 고속화를 위한 연산기의 상태 플래그 검출회로

Publications (2)

Publication Number Publication Date
KR970049499A KR970049499A (ko) 1997-07-29
KR0175358B1 true KR0175358B1 (ko) 1999-04-01

Family

ID=19441078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950051476A KR0175358B1 (ko) 1995-12-18 1995-12-18 고속화를 위한 연산기의 상태 플래그 검출회로

Country Status (1)

Country Link
KR (1) KR0175358B1 (ko)

Also Published As

Publication number Publication date
KR970049499A (ko) 1997-07-29

Similar Documents

Publication Publication Date Title
EP0585619B1 (en) Method of detecting zero condition of arithmetic or logical computation result, and circuit for same
US9146707B2 (en) Generating a fast 3x multiplicand term for radix-8 booth multiplication
JPH07210369A (ja) 並列加算および平均演算を行うための回路およびその方法
EP0487814A2 (en) Overflow determination for three-operand alus in a scalable compound instruction set machine
KR100254913B1 (ko) 이진차에 대한 제로 검출
US8370415B2 (en) Overflow detection and clamping with parallel operand processing for fixed-point multipliers
KR20060057574A (ko) 예비 포화 검사로 가산 또는 감산을 위한 산술 유닛 및 그방법
US6499044B1 (en) Leading zero/one anticipator for floating point
JPH0520028A (ja) 加減算のための浮動小数点演算装置の仮数部処理回路
US5867413A (en) Fast method of floating-point multiplication and accumulation
US5235539A (en) Method and apparatus for generating carry out signals
US5117384A (en) Method and apparatus for exponent adder
KR0175358B1 (ko) 고속화를 위한 연산기의 상태 플래그 검출회로
KR100627993B1 (ko) 3입력 분할 가산기
JP3306497B2 (ja) 浮動小数点乗算器における丸め回路
US5675528A (en) Early detection of overflow and exceptional quotient/remainder pairs for nonrestoring twos complement division
US5798958A (en) Zero detect for binary sum
US7356553B2 (en) Data processing apparatus and method for determining a processing path to perform a data processing operation on input data elements
JPH04350724A (ja) シフト量検出回路
EP0706117B1 (en) Non-restoring fixed-point divider apparatus
US7069290B2 (en) Power efficient booth recoded multiplier and method of multiplication
EP0328779A2 (en) Apparatus for branch prediction for computer instructions
KR100252766B1 (ko) 고속으로 동작하는 스티키 신호 생성기
US20060242219A1 (en) Asynchronous multiplier
Vazquez et al. A Sum Error Detection Scheme for Decimal Arithmetic

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