KR950006582B1 - 부동 소숫점 승산기의 반올림용 회로소자 - Google Patents

부동 소숫점 승산기의 반올림용 회로소자 Download PDF

Info

Publication number
KR950006582B1
KR950006582B1 KR1019920007160A KR920007160A KR950006582B1 KR 950006582 B1 KR950006582 B1 KR 950006582B1 KR 1019920007160 A KR1019920007160 A KR 1019920007160A KR 920007160 A KR920007160 A KR 920007160A KR 950006582 B1 KR950006582 B1 KR 950006582B1
Authority
KR
South Korea
Prior art keywords
mantissa
bits
bit
cin
low order
Prior art date
Application number
KR1019920007160A
Other languages
English (en)
Other versions
KR920022667A (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 KR920022667A publication Critical patent/KR920022667A/ko
Application granted granted Critical
Publication of KR950006582B1 publication Critical patent/KR950006582B1/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
    • 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4876Multiplying
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow
    • G06F7/49915Mantissa overflow or underflow in handling floating-point numbers
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Nonlinear Science (AREA)
  • Complex Calculations (AREA)

Abstract

내용 없음.

Description

부동 소숫점 승산기의 반올림용 회로소자
제1도는 부동 소숫점 승산기회로에서 다양한 오버플로우, Cin, 및 반올림 가능성의 결과로서 일어날 수 있는 조건을 도시하는 다이아그램.
제2도는 본 발명에 따라 구성된 회로를 도시하는 블럭도.
[발명의 배경]
[발명의 분야]
본 발명은 부동 소숫점 승산기 및 특히 이러한 승산기에서 반올림 속도를 증가시키기 위한 방법 및 그 장치에 관한 것이다.
[종래기술의 연혁]
컴퓨터에서 사용하기 위한 고속의 승산회로를 제공하는 다양한 배열들이 제공되어 왔다. 기본적으로 두 n-비트 이전 오퍼랜드의 곱은, 전기한 부분곱으로부터 좌측으로 1비트씩 차감된 많은 부분곱을 각각 결정함으로써 실현된다. 그후 부분곱은 결과에 도달하기 위해 합산된다. 부분곱들을 신속히 합산하기 위해, 이진 트리배열이 제공되었는데, 여기서 개개 부분곱은 쌍으로 집단화되고, 그 집단은 Csave 가산기에 의해 병렬로 합산된다. 이들 부분곱의 합산결과는 다시 쌍으로 집단화되고, 그 집단은 추가적인 Csave 가산기에 의해 같은 방식으로 병렬합산된다. 이 처리는, 최종 두 부분곱이 곱을 산출하기 위해 합산될 때까지 계속된다. 이러한 회로에 대해, "잉여 이진 가산기 트리를 이용하는 고속승산기", Harataet al., 고상회로의 IEEE 저널, Vol. SC-22, No. 1, (1987년 2월호)에 기술되어 있다. 캐리 증식 가산기는 이진 트리승산기의 전 단계로부터 최종 두 부분곱의 합 및 캐리를 가산하는데 사용가능하다.
이들 회로는 정수승산이나 부동 소숫점 승산에서 가수를 발생하는데 사용가능하다. 승산기회로가 부동 소숫점 승산기 배열에 사용될 때, 그것은 전형적으로 기계가 조정하는 것과 같은 비트의 두배를 갖는 결과를 산출하여서, 그 결과가 반올림되도록 하는데 흔히 필요하다. 예컨대 표준 배정도 이진수는 53비트를 필요로 한다. 두 53비트 이진수의 곱은 100 및 6비트의 길이이다. 그러나, 배정도 결과는 단지 최상위 비트 지시 오버플로우와 함께 이 곱의 고위 54비트만을 사용한다. 저위 53비트는, 캐리가 저위비트로부터 발생되는지, 반올림이 요구되는지, 및 정확한 반올림차가 요구되는지를 결정하는데에만 필요하다.
곱의 반올림을 달성하기 위해 우선 가수를 정상화하는 것이 필요하다. 두 정상화된 오퍼랜드를 사용하는 이진 승산에서는 1비트씩 가수의 우측으로 많아야 하나의 쉬프트를 요구하여서, 단일 상위비트만이 이진 포인트의 좌측으로 놓이고, 멱지수의 증가가 일어나도록 한다. 가수가 정상화될 때까지, 반올림이 이루어진 비트위치는 알려지지 않았다. 곱의 저순위 비트가 캐리를 발생하고 반올림을 결정하는데에만 사용될지라도 저순위 비트에 대한 캐리 결과의 발생은 고순위 비트에 대한 캐리증식가산기가 동작개시할 수 있기 이전에 요구된다. 가수가, 파생되고 고순위 비트의 캐리증식가산이 완결된 후에만 정상화될 수 있기 때문에 전체연산은 전형적으로 저순위 캐리가 발생하고 캐리 비트가 고위비트를 교차하여 증식하는 동안 대기해야만 한다. 따라서, 저순위 비트로부터의 캐리는 임계경로 있다.
반올림 조건을 발생하고, 또한 필요하다면, 반올림된 결과를 산출하기 위해 1을 최하위비트의 정상화된 가수로 가산하는 것이 정상화가 일단 발생된 승산기에서 전형적이라고 할 수 있다. 이 접근은 반올림을 산출하기 위해 승산기 트리의 출력에서는 캐리증식가산기를 사용하고 상기 가산기의 출력에서는 증분기를 사용한다. 배열의 연산속도를 배가하기 위한 통상의 접근은 두 반올림회로를 병렬로 사용하는 것이다. 한 회로는 가수가 오버플로우일 것으로 가정하는 반면에 다른 회로는 그렇지 않을 것으로 가정한다. 수정 결과는 반올림되지 않은 가수의 최상위 비트가 일단 이용가능한 것으로 선택된다.
어느 경우에도, 전형적인 종래 기술에서 부동 소숫점 승산기는 모두가 저순위 비트의 캐리증식 결과를 기다린다.
[발명의 요약]
따라서, 본 발명의 제1목적은 부동 소숫점 승산기회로가 결과에 도달하면서 속도를 증가시키는 것이다.
본 발명의 제2목적은 저순위 비트로부터 캐리증식 결과를 기다릴 필요에 따라 일어난 부동 소숫점 승산기회로에서의 실질적인 지연부분을 제거하는 것이다.
본 발명의 제3목적은 어떤 Cin도 순위비트로부터 Cin의 발생을 기다리지 않고는 발생하지 않는 것으로 가정하면서 가수의 상위 비트를 제공하기 위한 수단 ; Cin이 저순위 비트로부터 Cin의 발생을 기다리지 않고 발생하는 것으로 가정하면서 가수의 상위비트를 제공하기 위한 수단 ; 저순위 비트 및 반올림 조건으로부터 실제 Cin을 근거로 가수에 대한 저순위 비트의 제1집합을 제공하고, 가수 오버플로우가 발생하지 않기 위해 선택되는 가수에 대한 저순위 비트의 제1집합을 제공하기 위한 수단 ; 저순위 비트가산기로부터 실제 Cin을 근거로 가수에 대한 저순위 비트의 제2집합을 제공하고, 가수 오버플로우용으로 선택되는 가수에 대한 저순위 비트의 제2집합을 제공하기 위한 수단 ; 및 Cin이 가수의 저순위 비트를 지나 증식하는지 및 가수 오버플로우가 발생하는지를 근거로 가수 및 저순위 비트에 대한 상위비트를 선택하기 위한 수단을 구성하는 부동 소숫점 승산기용 반올림 회로를 구현하는데 있다.
본 발명의 제4목적 및 특징은, 도면과 함께 뒤따르는 상세한 설명한 설명을 참조함으로써, 더 잘 이해될 것인바, 여기서 동일한 요소는 여러 도시를 통한 동일한 표시로서 언급된다.
[주석 및 명명법]
다음에 오는 상세한 설명의 일부는 컴퓨터 메모리 내부의 데이타 비트당 연산의 기호식 표현으로 기술되어 있다. 이들 설명 및 표현은 그 작업물을 당기술에 숙련된 기타인들에게 전달하는데 가장 효과적인, 데이타 처리기술의 숙련공들에 의해 사용된 수단이다. 그 단계는 그들이 요구하는 실제량의 실제적인 조작이다. 통상, 꼭 필요한 바는 아니지만, 이들 량은 저장, 전송, 조합, 비교 및 기타 조작이 가능한 전기적 또는 자기적 신호의 형태를 띈다. 그것은 때때로 주로 일상적인 동법때문에, 이들 신호를 비트, 값, 요소, 기호, 문자, 용어, 수 등으로 칭하는데 편리함을 증명한다. 그러나, 이들 및 유시용어 모두는 적절한 실제량과 관련되어 있고 또한 단지 이들량에 적용된 편리한 표식일뿐이라는 사실을 명심해야만 한다.
더욱이, 수행된 조작은 통상 인간 조작자에 의해 수행된 암산과 관련되어 있는 가산 또는 비교와 같은 용어와 관련되어 있다. 인간 조작자의 그러한 능력중 어느것도, 본 발명의 본질적인 부분을 형성하는 여기 기술된 어떠한 연산의 경우에 있어서도 대부분 필요하다거나 바람직하지 않다 ; 즉 그 연산은 기계적 연산이다. 본 발명의 연산을 수행하기에 유용한 기계는 범용 디지탈 컴퓨터 또는 기타 유사한 장치를 포함한다. 모든 경우에 컴퓨터 작동상의 그러한 방법의 연산 및 그 자신을 계산하는 방법간의 차이를 명심해야 한다.
본 발명은 기타 바라는 실제 신호를 발생하기 위해 전기적 또는 기타(예컨대 기계적, 화학적) 실제 신호를 처리하면서 컴퓨터를 작동시키기 위한 장치에 관한 것이다.
[발명의 상세한 설명]
부동 소숫점 승산기가 최종 결과에 도달하는 곳에서 속도를 증가시키기 위해 본 발명은 임계경로에서 저순위 캐리 비트의 발생을 제거한다.
이 사항이 달성가능함으로써 연산을 이해하기 위해, 많은 다이아그램이 최종 곱을 산출하기 위해 사용된 캐리 증식 가산기 출력의 다양한 상태를 도시하는 제1도에 제공되어 있다. 이 경우 각각에 있어서, 이 곱(MAN_PR[105 : 52]은 승산기의 이진 3배열로서 산출된 연산(두 연산 S1[105 : 52] 및 S2[105 : 52]으로 나타남)의 고순위 비트를 가산함으로써 산출된 캐리 증식 가산기의 출력이다. 첫번째 네경우는 정상화를 요구하는 가수 오버플로우가 있는 걸로 가정하는 반면에 최종 4예는 가수 오버플로우가 있는 걸로 가정한다. 각 경우에 가수값은 고위값으로 기술되고, 두 최저순위 비트의 4가능 조건이 아래 기술되어 있다.
1 내지 4의 경우, 가수 오버플로우가 없기 때문에, 가수는 꼭 정상화될 필요는 없어서(그의 증가된 지수와 함께 우측으로 쉬프트됨), 캐리 증식 가산기에 의해 저순위 비트의 가산으로부터 제공된 반올림 비트 및 캐리 비트는 같은 비트위치에 제공된다. 1의 경우, 저순위 비트의 비트(51)로부터 캐리가 없고, 또한 어떠한 반올림도 요구되지 않는다. 따라서, 캐리 증식 가산기에 의해 산출된 가수(MAN_PR[105 : 52])는 이미 수정되었다. 그의 경우에 캐리 비트(C51=1)는 캐리 증식 가산기의 저순위 비트로부터 발생되는 반면에, 아무런 반올림도 요구되지 않아서 어떠한 반올림도 발생되지 않았다. 알수있는 바와같이 가수(MAN_PR[105 : 52])의 두 최저순위 비트가 모두 1인 경우에만 가수에서 비트(54)의 위치를 지나 증식하는 저순위 비트로부터 캐리를 행한다 ; 즉 이는 제1도에 캐리 및 가수를 조합한 결과에서 좌측으로 연속된 점들로서 표시되어 있다. 따라서, 두 최저 비트위치에서 1을 갖는 가수(MAN_PR[105 : 52])만이 캐리 비트(C51)의 존재에 의해 오버플로우를 일으킬 수 있다.
3의 경우는(여기에서는 캐리 비트가 없고, 반올림 비트가 존재함), 단일 1만의 가수의 최저 비트위치에서 가산될 뿐이기 때문에, 2의 경우와 동일하다.
따라서, 3의 경우, 두 최저비트위치에서 1을 갖는 가수(MAN_PR[105 : 52])만이 캐리 비트(C51)의 존재에 의해 오버플로우를 일으킬수 있다.
4의 경우에, 캐리 비트(C51) 및 반올림 비트 모두는 저순위 비트로부터 발생된다. 이들 두 비트의 합산은 가수의 최저 비트위치로 다음에 가산되는 1을 제공한다. 알수 있는 바와같이 최저 비트위치에 대해 두번째에서 1을 갖는 가수값만이 가수의 캐리고속비트(54)를 증식할 것이다. 다시 말해, 이들은 4의 경우의 예에서 두 최저순위 비트의 좌측으로의 예에서 점에 의해 표시된다.
5 내지 8의 경우는 가수가 틀림없이 정상화되도록 하기 위해 가수 오버플로우가 있다고 한다. 이 정상화는 1위치씩 우측으로 가수의 비트를 움직이고 캐리 비트가 비트(52)에 계속해서 주입되는 동안 가수의 비트(53)의 레벨에 있는 저순위 캐리 증식 가산기로부터 반올림 비트를 주입하는 효과를 갖는다.
따라서 반올림 비트 및 캐리 비트는 두 상이한 비트위치에 제공된다. 5의 경우에, 저순위 비트의 비트(51)로부터 아무런 캐리도 없고, 또한 어떠한 반올림도 요구되지 않는다. 따라서, 캐리 증식 가산기에 의해 산출된 가수(MAN_PR[105 : 52])는 이 가수 최저순위 비트가 가능하든지간에 이미 수정된 결과이다. 그러나, 6의 경우에 캐리 비트(C51=1)는 발생되는 반면에, 어떠한 반올림 비트도 캐리 증식 가산기의 저순위 비트로부터 발생되지 않는다. 알수 있는 바와같이 가수(MAN_PR[105 : 52])의 두 최저순위 비트가 모두 1인 경우에만, 가수에서 비트(54)의 위치를 지나 증식하는 저순위 비트로부터 캐리를 행한다 ; 다시말해, 이는 결과적으로 좌측으로 연속되는 점으로서 제1도에 표시되어 있다. 따라서 두 최저 비트위치에서 1을 갖는 가수(MAN_PR[105 : 52])만이 캐리 비트(C51)의 존재에 의해 오버플로우를 일으킬수 있다.
7의 경우(여기서 캐리 비트는 없고, 반올림 비트는 있다)는, 단일 1이 최저 비트위치의 다음에서 가수로 가산되는 경우 4와 동이하다. 최저 비트위치의 다음에 1을 갖는 가수치(MAN_PR)만이, 가수의 캐리를 비트(54)를 지나 증식하기 위해 최저 비트위치의 두번째에 1이 존재하므로써 오버플로우를 일으킬수 있다.
8의 경우에 캐리 비트(C51) 및 반올림 비트가 존재한다. 이들 두 비트의 합산은 최저 비트위치 모두에 1을 제공한다. 알수있는 바와같이, 상기 캐래는 최저 비트위치 모두에서 0을 갖는 가수치와 함께 할때만 가수의 비트(54)를 지나 증식하지 않을 것이다. 다시말해, 이들 증식은 경우 8의 예의 두 최저순위 비트의 좌측예에서 점들로서 표시된다.
따라서 한쌍의 가수를 발생함으로써 실현될 것인바, 그중 하나는 비트(54)를 지나는 캐리가 없고 또 하나는 비트(54)를 지나는 캐리가 있으며 상기 경우에 표현된 조건 모두는 쉽게 산출될 수 있다. 이들 가수는 저위 비트로부터 캐리를 기다리지 않고 발생가능하다. 이들 가수는 반올림, 저순위 캐리 및 실제로 발생하는 오버플로우에 의해 선택된 출력을 일련의 멀티플렉서로 제공가능하여서, 승산기로부터 결과를 산출하는데 있어서 실제시간이 구해질 수 있도록 한다.
제2도는 본 발명을 이행하기 위한 회로의 블럭도이다. 회로(10)는 제1캐리 증식 가산기(12) 및 제2캐리 증식 가산기(13)을 구비한다. 제1가산기(12)는 한쌍의 오퍼랜드(S1[105 : 52] 및 S2[105 : 52])를 입력으로 수신하고 가수치(MAN_0[53 : 0])를 산출하기 위해 그들 두 값을 합산한다. 가산기(12)는 저순위 비트로부터 0의 Cin을 수신함으로써 비트(51)에 캐리가 있지 않았다고 가정하는 가수를 산출한다. 제2가산기(13)는 한쌍의 오퍼랜드(S1[105 : 54] 및 S2[105 : 54])를 입력으로 수신하고, 가수치(MAN_4[53 : 2])를 산출하기 위해 그들 두 값을 가산하다. 가산기(13)는 비트(54)의 저순위 비트로부터 1의 Cin을 수신하므로써 비트(53)를 지나 증식하는 캐리가 있었다고 가정하는 가수를 산출한다.
따라서 이들 두 캐리 증식 가산기는, 비트(52)에 Cin이 없고, Cin이 비트(54)로 증식된다는 가정하에 비트(54)로부터 비트(105)까지 가수비트를 산출한다.
가산기(12)로부터의 가수의 두 최저순위 비트가 떨어지고, 가산기(12 및 13)로부터의 나머지수가 최종 가수의 두 가능상위치[53=2]로서 한쌍의 멀티플렉서(15 및 16) 각각에 제공된다. 따라서 두 최저순위 비트를 제외한 가수치는 오퍼랜드의 저순위 비트의 가산으로부터의 캐리결과를 기다리지 않고 캐리 증식 가산기(12 및 13)에 의해 연산의 완결과 함께 즉시 이용가능하다. 멀티플렉서(15 및 16)에서 선택된 값은 제2도의 추가적인 회로에 의해 결정된다.
두 가능 가수치의 고위 비트를 발생하기 위해 가산기(12 및 13)의 연산중, 조합적 로직 블럭(18)은 두 오퍼랜드의 저순의 비트(S1_M[50 : 0] 및 S2_M[50 : 0])를 합산하고, 캐리 비트(51) 및 점착장 비트를 출력으로서 제공한다. 이들 두 비트는 고위 비트 위치에서 요구된 실제 반올림 및 캐리를 결정하기 위해 사용된다. 이진 부동 소숫점 산술을 위한 IEEE표준(754)은 "최근접 반올림"의 디폴트 반올림 모드를 발생하고, tie"최근접/우수 반올림"의 경우에 선택된다. tie를 풀기위해, "점착성비트"는 IEEE(754)에 따라 발생된다. 두 오퍼랜드중 어느 한쪽의 가드비트 위치를 지난 임의의 저의 비트가 1일때 점착상 비트는 값 1을 갖으며, 만약 어떠한 비트도 1이 아닐경우 점착성 비트는 0이다. IEEE 표준은 표시된 바와같이 디폴트모드로 제공할 뿐만 아니라 마찬가지로 3기타 모드를 제공한다. 이들은 0으로의 반올림, (+)무한으로의 반올림, 및(-)무한으로의 반올림이다. 이들 반올림 모드에 대한 반올림치 각각은 점착성 비트의 값이 알려질때 산출가능하다. 반올림, 캐리 및 오버플로우에 근거하여 변화가능한 오퍼랜드(S1 및 S2) 각각의 3비트[53 : 51]는 3비트 가산기회로(20)로 제공된다. 회로(20) 또한, 4반올림 모드가 요망되는 것을 나타내는 가산기(18) 및 신호(RUD_MODE)로부터 발생된 캐리(C51) 및 점착성 비트를 수신한다. 가산기(20)는 반올림 모드를 근거로한 방법으로 이들 신호를 가산하고 출력신호(RN) 및 출력신호(RV)를 산출한다. 신호(RN)는 가수의 오버플로우가 없을 경우 사용되는 반올림치인 반면에, 신호(RV)는 가수 오버플로우가 있을 경우 사용되는 반올림치이다.
두 비트가산기(22)는 RN치를 최저순위 비트위치에 제공한다. 또한 가산기(22)로 제공된 것은 가수치의 트랜스퍼에서 멀티플렉서(15 및 16)로 떨어진 캐리 증식 가산기(12)에 의해 가수로 발생된 두 최저순위 비트[52 : 51](MAN_0[1 : 0]으로 가술됨)이다. 이들값 및 캐리 비트(51)의 값을 조합되어 값(RPD[1 : 0])을 최종 가수의 두 최저순위 비트로 산출한다. 또한 그 조합은 신호(CN)를 산출한다. 신호(CN)의 값은, 가수의 어떠한 오버플로우도 포함되지 않는 경우에 가수의 2비트에 대한 Cin이 존재하는지를 나타낸다. 이 신호(CN)의 존재 또는 부재는 멀티플렉서(15)로부터 출력을 선택하기 위해 사용된다. 만약 캐리가 존재한다면, Cin을 수신한 가산기(13)에 의해 산출된 값(MAN_4[53 : 2])이 선택되고 ; 만약 캐리가 부재한다면, Cin을 갖지않는 가산기(12)에 의해 산출된 값(MAN_0[53 : 2])이 선택된다. 따라서, 가산기(23)로부터의 신호(CV)는 Cin이 최종가수의 비트(2)로 증식되는지 그렇지 않은지를 근거로 두 부분 가수를 올바르게 선택한다.
유사한 방법으로 RV치는 최저순위 비트위치의 하나와 연결된 최저순위 비트위치 다음에서 2비트 가산기(23)로 제공된다. 또한 가산기(23)로 젝공된 것은 캐리 증식 가산기(12)에 의해 가수로서 발생된 그러나 멀티프렉서(15 및 16)로 전송되지 않은 두 최저순위 비트[52 : 51](여기에서는 MAN_0[1 : 0]으로 알려짐)이다. 이들 값 및 캐리비트(51)의 값은 조합되어 가수오버플로우의 경우 사용된 가수의 두 최저순위 비트로 가능치(RD4[1 : 0])를 산출한다. 또한 그 조합은 가수의 오버플로우가 발생했을때, 가수의 비트 2에 대한 CnN이 있는지 그렇지 않은지를 나타내는 값(CV)을 산출한다. 이 신호(CV)의 존재 또는 부재를 멀티플렉서로부터 출력을 선택하기 위해 사용된다. 만약 캐리가 존재한다면, Cin을 수신하는 가산기(13)에 의해 산출된 값(MAN_4[53 : 2])이 선택되고, 캐리가 부재라면, Cin을 갖지 않는 가산기(12)에 의해 산출된 값(MAN_0[53 : 2])이 선택된다. 따라서 가산기(23)로부터의 신호(CV) 는 Cin이 최종가수의 비트(2)로 증식되는지 그렇지 않은지를 근거로 두 부분 가수를 올바르게 선택한다.
최종적으로 멀티플렉서(15)에 의해 전송된 고순의 비트값이 가산기(22)로부터의 두 전순위 비트와 연결되고, 제3멀티플렉서(25)로 하나의 입력으로서 제공된다. 동일한 방식으로 멀티플렉서(16)에 의해 전송된 고순위 비트값은 2비트 가산기(23)에 의해 제공된 두 저순위 비트와 연결되고 다른 입력으로서 제3멀티플렉서(25)로 제공된다. 멀티플렉서(25)에 의해 산출된 출력은 멀티플렉서(25)의 우측으로 기술된 논리적 조건에 의해 제어된다. 만약 오버플로우가 Cin이 없는 가산기(12)의 가수로부터 발생한다면, 그때 오버플로우가 1의 Cin을 값는 가산기(13)의 가수로부터 발생해야만 한다는 사실이 인지될 것이다. 반면에, 역은 사실이 아니다 ; 즉, 가산기(13)의 오버플로우가 1의 CiN 때문에 발생가능한 반면에 가산기(12)는 오버플로우될 필요가 없다.
따라서, 캐리 증식 가산기에 의해 산출된 고순위 비트가 1이라면(가수 오버플로우를 나타냄), 멀티플렉서(16) 및 가산기(23)로부터의 값에 의해 산출된 결과가 선택된다. 유사하게 만약 캐리 증식 가산기(13)에 의해 산출된 고순위 비트가 1이고(가수 오버플로우를 나타냄), 최종가수의 비트(2)로의 Cin(CN=1)이 있다면, 멀티플렉서(16) 및 가산기(23)로부터의 값에 의해 산출된 결과가 선택된다. 이들중 어느것도 발생하지 않는다면, 멀티플렉서(15) 및 가수(22)에 의해 제공된 가수가 선택된다.
한 경우가 있는데, 여기서 이 점에 대해 설명되었던 것과 같은 제2도의 회로는 올바른 결과를 산출한다. 한조건에 있는데, 여기서 비트(51)의 좌측 바로 가까이의 양 오퍼랜드(S1 및 S2)의 비트모두는 1이다. 만약 1이 비트(51)로 가산된다면, 캐리는 단계를 거쳐 좌측으로 증식되어야 한다. 이는, 증식이 비트(54)에서 합을 시작하는 가산기회로(13)에 의해 Cout되지 않을 것이기 때문에 발생하지 않을 것이다. 따라서, 반가산기의 행을 구성하는 회로(30)는 만약 승산기 트리의 출력이 비트(51)의 좌측 바로 가까이의 일련의 모든 1이라면, 초기 캐리 비트를 융합하기 위해 사용된다.
당 기술의 숙력인들에 의해 알수있는 바와같이, 본 발명의 회로는 발생된 가능 가수의 최저 비트 및 연산을 개시하기 이전의 저순위 비트로부터 캐리를 기다리지 않고 고순위 비트에 대한 캐리 증식 가산기의 동작이 완결되자마자 결정된 오버플로우를 제외하고는 모두 허용한다. 그후 회로는 저순위 비트를 제공하기 위해 3비트 위치를 가로지르는 비트(51)로의 Cin, 점착성 비트 및 반올림 모드의 값을 평가하도록 요구할 뿐이다. 따라서 캐리비트(C51)는 고순위 캐리 증식 가산기의 단계 전부를 가로지르기 보다는 오히려 3비트 단계 이상으로 증식되도록 요구할 뿐이다. 따라서 본 발명의 회로는 임계경로로부터 저순위 캐리 증식 가산기에 의해 제공된 캐리 비트를 근본적으로 제거함으로써 더욱 신속하게 결과를 제공한다.
본 발명이 바람직한 실시예의 조건으로 기술되었기는 하지만, 다양한 변형 및 개조가 본 발명의 정신 및 범위를 벗어나지 않고 당기술의 숙련자들에 의해 이루어질 수 있다는 사실이 인지될 것이다. 따라서 본 발명은 다음의 특허청구의 범위에서 평가되어야 한다.

Claims (5)

  1. Cin이, 저순위 비트로부터 Cin의 발생을 기다리지 않고서는 발생하지 않는다고 가정하면서 가수의 상위 비트를 제공하기 위한 수단 ; Cin이, 저순위 비트로부터 Cin의 발생을 기다리지 않고 발생한다고 가정하면서 가수의 상위 비트를 제공하기 위한 수단 ; 저순위 비트 가산기 및 반올림 조건으로부터 작동 Cin을 근거로한 가수에 대한 저순위 비트의 제1집합, 무가수 오버플로우에 대해 선택되는 가수에 대한 저순위 비트의 제1집합을 제공하기 위한 수단 ; 저순위 비트 가산기 및 반올림 조건으로부터 작동 Cin을 근거로 한 가수에 대한 저순위 비트의 제2집합, 가수 오버플로우에 대해 선택되는 가수에 대한 저순위 비트의 제2집합을 제공하기 위한 수단 ; 및 Cin이 가수의 저순위 비트를 지나 증식하는지 및 가수 오버플로우가 발생하는지를 근거로 가수에 대한 상위 비트 및 저위 비트를 선택하기 위한 수단을 구성하는 이진 트리 부동 소숫점 승산기용 반올림 회로.
  2. 제1항에 있어서, Cin이 가수의 저순위 비트를 지나 증식하는지 및 가수 오버플로우가 발생하는지를 근거로 가수에 대한 상위 비트 및 저위 비트를 선택하기 위한 수단이, Cout이 가수에 대한 저순위 비트의 집합을 제공하기 위한 수단 각각에 의해 발생되었는지를 검출하기 위한 수단으로 구성되는 것을 특징으로 하는 이진 트리 부동 소숫점 승산기용 반올림 회로.
  3. 제2항에 있어서, Cin이 가수의 저순위 비트를 지나 증식하는지 및 가수 오버플로우가 발생하는지를 근거로 가수에 대한 상위 비트 및 저위 비트를 선택하기 위한 수단이, 가수의 상위 비트를 제공하기 위한 각 수단에 의해 제공된 비트의 최고순위 비트를 제공하기 위한 각 수단에 의해 제공된 비트의 최고순위 비트의 조건을 평가하기 위한 수단으로 구성되는 것을 특징으로 하는 이진 트리 부동 소숫점 승산기용 반올림 회로.
  4. 제1항에 있어서, Cin이 가수의 저순위 비트를 지나 증식하는지 및 가수 오버플로우가 발생하는지를 근거로 가수에 대한 상위 비트 및 저위 비트를 선택하기 위한 수단이, 가수의 상위 비트를 제공하기 위한 수단 각각에 의해 제공된 비트의 최고순위 비트의 조건을 평가하기 위한 수단으로 구성되는 것을 특징으로 하는 이진 트리 부동 소숫점 승산기용 반올림 회로.
  5. 제2항에 있어서, 저순위 비트 가산기 및 반올림 조건으로부터 작동 Cin을 근거로 가수에 대한 저순위 비트의 제1집합을 제공하기 위한 수단이, Cin이 발생하지 않는다고 가정하면서 가수의 상위 비트를 제공하기 위한 수단에 의해 발생된 최저순위 비트를 가산하기 위한 제1가산기, 저순위 비트로부터 발생된 반올림 값, 및 가수 오버플로우없이 가산되는 그들의 값으로서 저순위 비트로부터의 Cin으로 구성되며 ; 여기서, 저순위 비트 가산기 및 반올림 조건으로부터의 활성 Cin을 근거로 가수에 대한 저순위 비트의 제2집합을 제공하기 위한 수단이, Cin이 발생하지 않는다고 가정하면서 가수의 상위 비트를 제공하기 위한 수단, 저순위 비트로부터 발생된 반올림 값, 및 가수 오버플로우와 함께 가산되는 그들의 값으로서 저순위 비트로부터의 Cin에 의해 발생된 최저순위 비트를 가산하기 위한 제2가산기로 구성되는 것을 특징으로 하는 이진 트리 부동 소숫점 승산기용 반올림 회로.
KR1019920007160A 1991-05-03 1992-04-28 부동 소숫점 승산기의 반올림용 회로소자 KR950006582B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US695,423 1991-05-03
US07/695,423 US5150319A (en) 1991-05-03 1991-05-03 Circuitry for rounding in a floating point multiplier
US695423 1991-05-03

Publications (2)

Publication Number Publication Date
KR920022667A KR920022667A (ko) 1992-12-19
KR950006582B1 true KR950006582B1 (ko) 1995-06-19

Family

ID=24792917

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920007160A KR950006582B1 (ko) 1991-05-03 1992-04-28 부동 소숫점 승산기의 반올림용 회로소자

Country Status (5)

Country Link
US (1) US5150319A (ko)
EP (1) EP0512686B1 (ko)
JP (1) JP3306497B2 (ko)
KR (1) KR950006582B1 (ko)
DE (1) DE69225638T2 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218564A (en) * 1991-06-07 1993-06-08 National Semiconductor Corporation Layout efficient 32-bit shifter/register with 16-bit interface
JPH06348455A (ja) * 1993-06-14 1994-12-22 Matsushita Electric Ind Co Ltd 乗算における丸め込み方法及び乗算回路
EP0678813B1 (en) * 1994-03-07 1997-10-15 Nec Corporation Floating point multiplier
US5790446A (en) * 1995-07-05 1998-08-04 Sun Microsystems, Inc. Floating point multiplier with reduced critical paths using delay matching techniques
KR100290906B1 (ko) * 1998-03-10 2001-07-12 김영환 부동소수점곱셈기에서반올림과덧셈을동시에수행하는장치및방법
US20080028014A1 (en) * 2006-07-26 2008-01-31 Hilt Jason W N-BIT 2's COMPLEMENT SYMMETRIC ROUNDING METHOD AND LOGIC FOR IMPLEMENTING THE SAME
US9489174B2 (en) 2014-09-26 2016-11-08 Imagination Technologies Limited Rounding floating point numbers
CN109634555B (zh) * 2018-12-19 2022-11-01 深圳信息职业技术学院 一种基于注入值的浮点加法尾数快速舍入方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849923A (en) * 1986-06-27 1989-07-18 Digital Equipment Corporation Apparatus and method for execution of floating point operations
US4922446A (en) * 1988-04-01 1990-05-01 Digital Equipment Corporation Apparatus and method for floating point normalization prediction
US4972362A (en) * 1988-06-17 1990-11-20 Bipolar Integrated Technology, Inc. Method and apparatus for implementing binary multiplication using booth type multiplication
US5027308A (en) * 1989-02-14 1991-06-25 Intel Corporation Circuit for adding/subtracting two floating point operands
US4926370A (en) * 1989-04-17 1990-05-15 International Business Machines Corporation Method and apparatus for processing postnormalization and rounding in parallel
US4941120A (en) * 1989-04-17 1990-07-10 International Business Machines Corporation Floating point normalization and rounding prediction circuit
US4977535A (en) * 1989-12-08 1990-12-11 Motorola, Inc. Method of computation of normalized numbers

Also Published As

Publication number Publication date
DE69225638T2 (de) 1999-01-28
EP0512686A2 (en) 1992-11-11
US5150319A (en) 1992-09-22
EP0512686B1 (en) 1998-05-27
KR920022667A (ko) 1992-12-19
DE69225638D1 (de) 1998-07-02
JPH05150948A (ja) 1993-06-18
JP3306497B2 (ja) 2002-07-24
EP0512686A3 (en) 1993-05-19

Similar Documents

Publication Publication Date Title
US5844830A (en) Executing computer instrucrions by circuits having different latencies
US6904446B2 (en) Floating point multiplier/accumulator with reduced latency and method thereof
EP0483864B1 (en) Hardware arrangement for floating-point addition and subtraction
US6446104B1 (en) Double precision floating point multiplier having a 32-bit booth-encoded array multiplier
US8965945B2 (en) Apparatus and method for performing floating point addition
JP2002108606A (ja) スティッキービット生成回路及び乗算器
EP0040279B1 (en) Binary divider
JPH02196328A (ja) 浮動小数点演算装置
US5751619A (en) Recurrent adrithmetical computation using carry-save arithmetic
JPH0544046B2 (ko)
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
Zhang et al. Efficient fixed/floating-point merged mixed-precision multiply-accumulate unit for deep learning processors
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5301139A (en) Shifter circuit for multiple precision division
KR950006582B1 (ko) 부동 소숫점 승산기의 반올림용 회로소자
EP0416308A2 (en) Rectangular array signed digit multiplier
KR100308726B1 (ko) 고속 산술 장치에서 올림수 예견가산기 스테이지의 수를 감소시키는 장치 및 방법
US6519621B1 (en) Arithmetic circuit for accumulative operation
US5867413A (en) Fast method of floating-point multiplication and accumulation
US20050144214A1 (en) Shift-and-negate unit within a fused multiply-adder circuit
US5117384A (en) Method and apparatus for exponent adder
JPH04165530A (ja) 浮動小数点乗算装置
GB2396708A (en) Arithmetic logic unit with feedback to a first adder via registers and output via a second adder.
EP0534760A2 (en) High speed multiplier device
US6182105B1 (en) Multiple-operand addition with intermediate saturation

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

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee