KR920005226B1 - 부동 소수점 연산장치 - Google Patents

부동 소수점 연산장치 Download PDF

Info

Publication number
KR920005226B1
KR920005226B1 KR1019890010030A KR890010030A KR920005226B1 KR 920005226 B1 KR920005226 B1 KR 920005226B1 KR 1019890010030 A KR1019890010030 A KR 1019890010030A KR 890010030 A KR890010030 A KR 890010030A KR 920005226 B1 KR920005226 B1 KR 920005226B1
Authority
KR
South Korea
Prior art keywords
output
incrementer
signal
mantissa
receiving
Prior art date
Application number
KR1019890010030A
Other languages
English (en)
Other versions
KR900002169A (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
Priority claimed from JP63174872A external-priority patent/JP2645422B2/ja
Priority claimed from JP63201891A external-priority patent/JP2578482B2/ja
Application filed by 후지쓰 가부시끼가이샤, 야마모도 다꾸마 filed Critical 후지쓰 가부시끼가이샤
Publication of KR900002169A publication Critical patent/KR900002169A/ko
Application granted granted Critical
Publication of KR920005226B1 publication Critical patent/KR920005226B1/ko

Links

Images

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
    • G06F7/535Dividing only
    • 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/544Methods 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 for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums
    • G06F7/5525Roots or inverse roots of single operands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5355Using iterative approximation not using digit recurrence, e.g. Newton Raphson or Goldschmidt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5356Via reciprocal, i.e. calculate reciprocal only, or calculate reciprocal first and then the quotient from the reciprocal and the numerator
    • 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/4873Dividing
    • 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/49936Normalisation mentioned as feature only
    • 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
    • G06F7/49957Implementation of IEEE-754 Standard

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)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

내용 없음.

Description

부동 소수점 연산장치
제1도는 부동 소수점 연산 장치의 종래예를 도시한 회로도.
제2도는 본 발명을 설명하는 요약 블록도.
제3도는 본 발명의 실시예에 따른 부동소수점 연산장치를 도시한 회로도.
제4도는 제3도의 부동 소수점 연산장치의 수정을 도시한 회로도.
본 발명은 부동 소수점 연산 창치에 관한 것이고, 특히 부동 소수점 표시법에 의해 표시된 수치들에 의하여 계산 또는 제곱근 연산을 수행하는 연산장치에 관한 것이다.
부동 소수점표시를 사용하는 연산은 넓은 다이나믹 레인지(dynamic range)와 높은 정확도를 제공하므로, 부동소수점 연산은 다양한 고도의 연산 특히, 계산과 제곱근 연산들의 고속처리를 행하도록 널리 사용되고 있다.
종래예는 2가지 계산 연산방법이 사용되었다. 감산 및 이동과 수렴법, 예를들면, 뉴톤-라퍼슨 방법, 선자의 방법에서, 이동된 제수는 피제수로부터 반복하여 감산한다. 이것의 예는 비환원(non-restoring)방식이고, 개선된 비환원 방식에서, 몫은 고속으로 얻어질 수 있다. 후자의 방법에서, 제수의 가역은 수렴법에 의해 계산되고 그 가역은 몫을 얻기 위하여 피제수로 곱하여진다. 이 방법에서, 컴퍼젼스(convergence)를 실현하기 위해 필요한 연산 싸이클들의 수는 실제값에 대해 초기의 가정된 가역치의 유사성 때문에 감소된다.
수렴법(즉, 뉴톤-라퍼슨 방법)은 제곱근 연산에 대해 또한 사용된다. 이 방법에서, 제곱근의 수 B를 얻기 위하여, 첫째 1/√B이 얻어지고, 얻어진 값은 B로 곱하여지고, 다음 √B가 얻어진다. 1/√B의 계산이 뉴튼-라퍼슨 방법에 의해 수행될때, 싸이클들의 수는 실제값에 대해 초기의 가정된 가역치 유사성 때문에 감소된다.
많이 공지된 부동소수점 연산장치들은 뉴튼-라퍼슨 방법을 사용하기 때문에, 다른 방법에서, 1사이클당 얻어진 몫은 기껏해서 3 내지 4비트이고, 마지막 몫을 얻기 위하여, 계산은 IEEE단일 정밀 기준에서 8사이클 동안 반복되어야만 한다. 역으로, 뉴톤-라퍼슨 방법에서, 만약 가역의 초기치가 일정한 한계내에 주어질 수 있다면, 몫은 약 3 내지 4사이클의 계산을 수렴함으로써 얻어진다. 따라서, 뉴톤-라퍼슨 방법을 사용하는 계산 연산에서, 몫은 다른 방법에 비해 고속으로 얻어질 수 있다. 많은 장치들은 제곱근 연산에 대하여 뉴톤-라퍼슨 방법을 또한 사용한다. 이 방법으로인하여, 만약 초기 가역치가 일정한 한계내에 주어진다면, 약 3 내지 4사이클의 수렴계산은 충분하다. 따라서 뉴톤-라퍼슨 방법에 의해 제곱근 연산은 고속으로 처리될 수 있다.
뉴톤-라퍼슨 방법을 사용한 계산 연산은 아래에 설명된다.
첫째, 계산이 실행될때, 가역함수가 계산된다. 예를들면, 계산 C=A/B는 가역형태를 사용한 C=A(1/B)로써 표시된다. 가역함수(1/B)는 다음과 같은 뉴톤-라퍼슨 방법에 의해 표시된다.
Xi+1= Xi(2-BXi)
여기서, i=0,1,2,…, X0는 i=0에 대응하는 계수의 초기 가역이고 Xi는 (1/B)의 i번째 근사를 표시한다. 만약 초기치 X0가 다음의 부등식(2/B)>|X0|>0을 만족한다면, 연산은 완료된다. 초기치를 얻기 위한 전형적인 방법에서, 제수의 상위 비트는 룩엎(look up)표에서 메모리(ROM)의 포인터로써 사용된다. ROM은 계수의 비트들에 의해 지시된 번지에 따라 초기치를 출력한다. 일반적으로, 출력의 비트수(X0)의 비트수)는 입력의 비트수(계수의 상위 10비트)와 거의 같다 부동소수점 연산에서 계수의 졍우에, 가수부의 가역은 각각의 룩-엎표들(ROM)로부터 얻어진다.
종래의 계산처러는 아래에 설명된다.
첫째, 이진수의 2개 데이타 A와 B는 다음과 같이, 부동소수점 연산에 의해 표시되고, 다음의 연산들이 실행된다.
A=(-1)Sa2Ea-BS(1.Fa)
B=(-1)Sa2Eb-BS(1.Fb)
입력 데이타 A와 B의 가수들(1.Fa)와 (1.Fb)는 고정소수점 승산회로를 통하여 각각 서로 곱하여지고, 결과 (1.Fa)x(1.Fb)가 얻어진다. 즉, 결과는 1.xxxx……이거나 1xxxx……이다. 비록 1.xxxx……가 이미 정규화되었어도, 1x.xxxx……는 정규화되기 위해 여전히 남는다. 이 정규화는 1비트만큼 오른쪽으로 데이타를 이동시키고 범람 신호에 따라 1비트만큼 지수부를 증가시킴으로써 실행된다. 다음, 정규화 값은 출력 데이타 형태를 매치시키기 위하여 반올림한다. 만약 비트들이 모두 "1"이라면, 범람이 발생하고, 이 경우에, 데이타는 오른쪽으로 1비트만큼 이동된다. 위의 처리들은 정규화 수인 마지막 출력을 제공한다.
지수부에서, (Ea+Eb)의 연산이 실행되고 결과가 네가티브인 바이어스(-BS)에 가산된다 : 즉, (Ea+Eb-BS)가 얻어진다. 다음 범람이 정규화에 의해 보정되어야만 할때 가수치는 1만큼 증가된다. 반올림에 의한 범람의 보정을 위하여, 1만큼의 증가는 앞서 실행된다.
신호연산부에서의 연산은 배타 논리합 회로에 의해 실행된다.
계산 연산이 상기 종래의 부등소수점 연산 장치를 사용하여 실행될때, 수렴법을 사용한 계산에서 필요한(2-BX1)의 이진수 계산은 1단계로 실행되지 않는다. 즉, 제수의 가역이 수렴법 즉, Xi+1=Xi(2-BX)에 의해 얻어질때 실행되는 반복계산을 계산하기 위하여, 승산 BXi, 감산(2-BXi)와 승산 X1(2-BX1)가 필요하다. 그러므로, 전체 처리 시간은 연장되고 고속연산을 실현하는 것이 어렵게 된다.
더욱이, 가산과 감산회로는 (2-BXi)로 감산을 실행하기 위하여 가산되어야만 한다. 상기 Xi+1=Xi(2-BXi)가 상기 회로의 가산에 의해 실행된다고 가정하면, 여전히 산술연산은 반복되어야만 한다. 따라서, 부동소수점 계산에서 고속연산의 견지에서 어떠한 개선도 얻을 수 없다.
뉴톤-라퍼슨 방법을 사용한 제곱근 연산이 설명된다. 제곱근 연산이 실행될때, 첫째, 가역함수가 계산된다. 예를들면, C=√B가 C=B(1-√B)로써 표시된다. 뉴톤-라퍼슨 방법에 의한 반복표시는 다음과 같다.
Xi+1(1/2)*Xi(3-BXi 2)여기서 i=0에 대응하는 X0는 √B의 초기가역의 근사치이고, Xi는 i번째 근사치이고, 별표(*)는 승산을 나타낸다. 만약 초기치 X0가 부등식 0<X0
Figure kpo00001
를 만족한다면, 연산은 완료된다. 초기치를 얻기 위한 전형적인 방법에서, B의 상위 10비트는 포인터로써 룩-엎표(ROM)에 적용되고, ROM은 B값에 의해 지정된 메모리로부터 초기치를 출력한다. 일반적으로, 출력 비트수는 입력비트수와 거의 같다. 일반적으로, 부등점 연산에 의한 제곱근 연산에서, 지수와 가수와 가역들은 각각의 룩-엎 표들에 저장된다.
제곱근 연산에서, Xi+1=(1/2)*Xi(3-BXi 2)의 반복된 계산은 다음의 5개의 산술연산을 실행하기 위해 구성되어야만 한다.
MLT : B*Xi(지금부터 B*Xi=A)
MLT : A*Xi
SUB : 3-(A*Xi)
MLT : xi*(3-(A*Xi))
MLT : (1/2)*(Xi*(3-A*Xi))
여기서 MLT : 승산, SUB : 감산이다. 따라서, 전체 연산시간은 연장되고 고속연산은 실행하는 것이 어렵게 된다.
본 발명의 목적은 연산수의 가역이 수렴법을 사용하여 얻어질때 반복계산이 고속으로 실행되고, 그것에 의해서 부동소수점연산 장치에서 고속처리가 실현될 수 있는 부동소수점 연산장치를 제공하는 것이다.
본 발명의 다른 목적은 부동 연산장치에서 간단한 개선에 의해 고속처리를 실행하기 위한 것이다.
본 발명에서, 연산되는 2개의 입력으로부터 지수들을 연산하기 위한 지수연산 수단과, 2개의 입력으로부터 신호들을 연산하기 위한 신호연산수단과, 2개의 입력으로부터 가수들을 연산하기 위한 가수연산 수단들로 이루어지는 부동소수점 연산 장치를 제공하는 것이다. 가수연산 수단은 하나의 가수와 다른 하나의 가수를 곱하기 위한 고정 소수점 승산 수단과 출력을 정규화하기 위한 고정 소수점 승산 수단의 출력을 수신하는 첫번째 이동 수단과, 첫번째 오른쪽 이동수단의 출력을 수신하는 인크리멘터 수단과, 첫번재 오른쪽 이동 수단의 출력을 수신하고, 출력을 그의 인크리멘터 수단으로 적용하기 위한 반올림 제어수단과, 인크리멘터 수단의 캐리신호를 수신하고, 캐리신호가 공급될때 오른쪽으로 인크리멘터 수단의 출력을 이동시키기 위한 두번째 오른쪽 이동 수단과, 계산 또는 제곱근 연산에서 반복 근사중 하나의 연산이 실행될때 첫번째 오른쪽 이동수단의 출력 대신에 인크리멘터 수단에 인버팅 출력을 각각 공급하기 위한 첫번째 오른쪽 이동 수단의 출력을 수신하는 반전 수단과, 반복근사중 하나의 연산이 실행될때 인크리멘트 신호로 공급되는 인크리멘터 수단과, 제곱근 연산의 반복근사중 하나의 연산이 실행될때 오른쪽으로 인크리멘터 수단의 출력을 이동시키는 두번째 오른쪽 이동 수단으로 이루어졌다.
본 발명의 다른 특징들과 장점들은 덧붙인 도면에 의거하여 다음의 설명으로부터 명백해질 것이다.
바람직한 실시예의 중요한 설명, 종래의 부동소수점 연산장치는 제1도에 의거하여 설명된다.
이 장치는 지수연산회로, 신호연산회로아 가수 연산회로로 이루어졌다. 지수연산 회로는 가산기들 20과, 21, 인크리멘터들 22와 23, 멀티플렉서 24로 이루어졌고, 신호연산회로는 배타논리합 회로 30으로 이루어졌고, 가수연산회로는 고정소수점 연산회로(또는 승산회로)10, 오른쪽 이동기들 13과 16, 반올림 제어기 14, 인크리멘터 15로 이루어졌다.
지수 입력들을 Ea와 Eb라고 가정하면, (Ea+Eb)의 연산은 첫번째 가산기 20에서 실행되고, 위의 결과가 두번째 가산기 21에서 네가티브 바이어스(-BS)로 가산된다. 즉, (Ea+Eb-BS)의 언산은 2개의 가산기에 의해서 실행된다. 다음, 인크리멘터 22에서, 1(+1)만큼의 인크리멘트 연산은 범람의 보정이 정규화하기 위해 필요할때 실행된다. 그리고 인크리멘터 23에서, 인크리멘터 연산(+1)은 반올림 처리로 인하여 어떤 범람을 보정하기 위해 미리 실행된다. 그러고 신호들의 하나는 범람 신호 F2에 대응하는 멀티플렉서 24에 의해 선택된다.
신호 연산 회로에서, 배타논리합 연산은 신호들 즉, 입력들 A와 B에 대응하는 Sa와 Sb에 대해 배타 논리합 회로 30을 사용하여 실행된다.
가수 연산 희로에서, 가수(1.Fa)는 고정소수점 승산회로 10을 통하여 다믄 가수(1.Fb)와 공하여지고, 이 가수들은 연산되는 입력들 A와 B의 가수부이고, 결과로, 만약 캐리 F1이 출력된다면, 정규화는 오른쪽 이동기 13을 통하여 1비트 오른쪽 이동에 의해 실행된다. 캐리 F1이 인크리멘터 22에 동시에 제공되고 "+1"이 지수에 가산된다. 정규화 결과는 반올림 제어기 14에 의해서 제어되고 반올림 처리는 필요할때 최소유효비트(LSB)에 "+1"을 가산함으로써 인크리멘터 15에서 실행된다. 범람이 인크리엔터 15에서 발생할때, 캐리 F2가 출력되고 오른쪽 이동기 16은 인크리멘터 15의 출력을 오른족으로 1비트만큼 이동시킨다. 따라서, 정규화 가수가 얻어진다.
본 발명에 따른 장치에서 실행된 계산처리는 아래에 설명된다.
제3도에 도시된 요약 블록도와 같이, 이 장치는 이진수의 2개 입력데이타에 포함되고 부동소수점표시에 의해 표시되는 가수부를 서로 곱하고, 출력을 정규화하기 위한 승산 회로 1과 승산회로로부터 출력데이타를 반전하기 위한 비트인 버터 회로 2와 계산 또는 제곱근 처리에서 연산들의 하나에 활동하는 제어신호(계산 또는 제곱근)에 따라 비트인버트 회로의 출력 또는 승산회로의 출력을 선택하기 위한 선택회로 3과 승산회로 출력의 반올림 처리를 실행하고, 비트인버트 회로의 출력이 선택회로에서 선택될때 제어신호(계산과 제곱근)에 따라 반전회로 출력의 LSB에 "+1"을 가산하고, 상기 얻어진 각각의 값들을 정규화하기 위한 인크리멘트 회로 4로 이루어졌다.
계산 연산 처리들은 다음과 같다. 첫째, (2-BXi)의 연산은 승산회로, 비트반전회로, 인크리멘터를 사용함으로써 실행된다. 여기서(2-BX1)는 부동소수점 계산 연산 A/B는 수렴법을 사용하여 실행할때 필요하고, 0<BX1≤1(i=0,1,…)에서, X0는 제수의 가역의 초기치이고, Xi는 제수의 가역의 i번째 근사이다. 다음, 제수의 가역의 근사치를 나타낸 연산 Xi-1=Xi(2-BXi)는 승산회로를 통하여 실행되고, A/B의 계산은 소정수의 시간 동안 각각의 계산을 반복함으로써 얻어진 Xi의 데이타를 적용함으로써 실행되고, 여기서 데이타 A는 피제수이다.
IEEE기준에 따른 부동소수점 데이타 서식에 의해 표시된 정규화수(1
Figure kpo00002
B<2)의 가수부의 제곱은 연산이 설명된다. 제곱은 값이 C라고 가정한다 : C=√B=B(1/√B), 다음
Figure kpo00003
의 근사치는 Xi+1은 다음과 같이 표시된다 : Xi-1=(1/2) *Xi(3-BXi 2) : 여기서 0<X0<√(3/8), B>0와 X0는 초기치이다.
만약 룩엎 표(ROM)로부터의 0<X0
Figure kpo00004
1/B와 0<AX0
Figure kpo00005
1(여기서 A=BX0)이면, 2
Figure kpo00006
(3-AX0)<3,1
Figure kpo00007
(1/2)*(3-AX0)<3/2이다. (1/2)*(3-AXi)는 정규화수이다. 따라서 일반적으로 (1/2)*(3-AXi)는 정규화수이다. 따라서 일반적으로(1/2) *(3-AX0)는 정규화수이다.
(1/2)*(3-AXi)의 연산이 설명된다. 0<AXi
Figure kpo00008
1이기 때문에, 만약 AXi의 점 아래에 대한 반전된 값이라면,(3-AXi)d=(10.
Figure kpo00009
)+LSB(1))b이다. 이점에서, LSB(1)은 LSB에 "1"의 가산을 나타내고 ( )d는 십진수의 표시를 나타내고, ( )b는 이진수의 표시를 나타낸다. 더욱이, 얻어진(10.
Figure kpo00010
)+LSB(1)b는 1비트 만큼 오른쪽으로 이동되고, (1/2)*(3-AXi)는 뉴톤-라퍼슨법 제급근 연산에서 필요한 연산이다 여기서 0<AXi
Figure kpo00011
1이다.
상기 처리를 사용하여 다섯번 반복된 연산은 아래에 간단히 도시된다.
MLT : B*Xi(지금부터 B*Xi=A이다)
상기연산 : (1/2)*(3-A*Xi)
MLT : Xi*(1/2)*(3-A*Xi)
즉, 상기 처리들은 단지 3개의 산술연산에 의해 실행된다.
제3도는 본 발명의 실시예에 따라 부동소수점 연산장치의 중요한 구성을 도시하였다. 이 장치는 IEEE기준에 따르는 단지 정규화 수들을 처리한다.
이 장치는 지수연산회로, 신호연산회로와 가수연산회로로 이루어졌다. 지수연산 회로는 가산기들 20과 21, 인크리멘터들 22와 23, 멀티플렉서 24로 이루어졌고, 신호연산회로는 배타논리합 회로 30으로 이루어졌고, 가수연산회로는 고정소수점 승산기, 첫번째 오른족 이동 수단으로써의 1비트 이동기 13, 반올림 제어기 14, 53 비트 인크리멘터 15, 두번째 오른쪽 이동 수단으로써의 1비트 이동기 16, 인버트 수단으로써의 비트인버터 41, 멀티플렉서(MUXF)42, 논리합 회로들인 45, 46과 47로 이루어졌다.
이 실시예의 구성 특징은 비트 인버터 41과 멀티 플렉서 42의 제공이다. 인버터 41은 가수연산회로에서 이동기 13과 인크리멘터 15사이에 위치하고, 이동기로부터의 각 비트 출력을 반전하고, 멀티플렉서 42는 제어신호(제산과 제곱근)에 따라 인버터 41의 출력 또는 이동기의 출력 들중의 하나를 선택한다. 제산처리의 경우에서, 제산제어신호 DIV는 (2-BXi)의 연산이 실행되고 인버터 41의 출력이 선택될때 하이(H)레벨이고, 제곱근 처리의 경우에서, 제곱근 제어신호 SQRT는 (1/2)*(3-A*Xi)의 연산이 실행되고 인버터 41의 출력이 멀티플렉서 42에서 선택될때 하이레벨이다. 일반 승산 연산의 경우에서, 제어신호들 DIV와 SQRT는 로우(L)레벨이고 이동기 13의 출력이 선택된다.
부동소수점 표시에 의해 이진수의 데이타 D1과 D2의 2개의 입력들이 다음과 같다고 가정한다.
D1=(-1)Sa2Ea-BS(1·Fa)
D2=(-1)Sb2Eb-BS(1. Fb)
첫째, 가수연산회로에서, 고정소수점 승산기는 고정소수점으로써 서로 가수부분들(1·Fa)(1·Fb)를 곱한다. (1·Fa)와 (1·Fb)는 2개의 입력들(A·B)데이타 D1과 D2에 대한 가수들이다. 고정소수점 승산기는 중간결과 발생과 가산회로 11과 가산기 12로 이루어졌다.
이동기 13은 가산기 12에 발생된 범람신호 F1에 따라 가산기 12에서 발생된 데이타 또는 출력데이타 둘중의 하나를 선택하고, 오른쪽을 (LSB측으로) 1비트만큼 가산기 12의 출력에서 이동된 데이타를 발생시킨다. 이 실시예에서, 신호 F1이 출력될때, 이동된 데이타가 선택된다.
반올림 제어기 14는 일반승산처리로 연산한다. 반올림 제어기 14는 신호데이타와 소정의 라운드 모드(round mode) 신호를 수신하고, LSB 아래의(반올림 처리)도면을 생략하고, 어쨋든 "1"이 LSB에 가산되어 위치를 정하여 상기 위치를 출발하기 위하여 반올림 제어신호를 출력한다.
인크리멘터 15는, 일반승산처리의 경우에서, 반올림 제어기 14로부터 제어신호에 따라 멀티플렉서 42(즉, 이동기 13의 출력)의 출력데이타의 LSB에 "1"을 가산한다. 인크리멘터 15는, 제산 또는 제곱근 처리의 경우에서, 제어신호 DIV 또는 SQRT에 따라 멀티플렉서 42(즉, 인버터 41의 출력)의 출력데이타의 LSB에 "1"을 가산한다. 이 경우에서, 만약 가산된 결과 데이타가 정규화되지 않았다면, 범람신호 F2가 출력한다.
이동기 16은, 이동기 13에서와 같이, 범람신호 F2또는 신호 SQRT가 출력될때 오른쪽으로(LSB축으로) 1비트만큼 인크리멘터 15의 출력데이타를 이동시키고, 신호 F2또는 SQRT가 출력하지 않을때는 데이타를 출력한다. 출력 데이타는 연산된 출력데이타의 가수이다.
지수 연산 회로에서, 가산기 20은 데이타 D1과 D2의 지수들에 대응하는 지수부들인 데이타 Ea와 Eb를 가산하고, 가산기 21은 소정의 네가티브 바이어스(-BS)에, 가산기 20의 출력인 일시의 지수(Ea+Eb)를 가산한다. 인크리멘터 22는 가산기 21의 출력인 실제의 지수(Ea+Eb-BS)에 신호 Fi로써 "1"을 가산한다. 인크리멘터 23은 인크리멘터 22의 출력 데이타에, 반올림 처리로 인한 범람을 보정하기 위하여, "1"을 가산한다. 멀티플렉서 24는 범람신호 F2에 따라 인크리멘터 22의 출력 또는 인크리멘터 23의 출력을 선택한다. 멀티플렉서 24는 신호 F2가 출력될때 인크리멘터 23의 출력을 선택하고, 신호 F2가 출력되지 않을때 인크리멘터 22의 출력을 선택한다. 선택된 데이타는 연산된 출력 데이타의 지수부이다.
신호연산회로에서, 배타논리합 회로 30은 입력데이타 D1과 D2에 대응하는 신호데이타 Sa와 Sb를 수신하고 신호데이타를 출력한다. 신호데이타는 입력데이타 D1과 D2의 신호들이 같을때 "0"(포지티드)이 되고 신호들이 다를때 "1"(네가티브)이 된다. 신호 데이타는 반올림 제어기 14에 제공되고 연산된 출력데이다의 신호이다.
IEEE 기준에 대한 제산처리 형성은 아래에 상세히 설명된다. 적용된 제산은 이 예에서 C=A/B이다.
이 연산에서, C=A/B=A(1/B)이고, 이 방정식에서, 모든 수들 A, B와 C는 정규화수이다. 상기 상태에서, (i+1)번째 근사치는 가역함수 1/B, Xi+1=Xi(2-BXi)로 얻어진다 : 여기서 B>0때 0<X0</B이고, B<0때 0>X0>2/B이다.
초기치 X0는 아래에 도시된 바와 같이 설정된다 : 룩엎 표(도시되지 않았음)을 사용하면 0<X0
Figure kpo00012
1/B이고, 0<BX0
Figure kpo00013
1이면 1
Figure kpo00014
2-BX0<2이다. 여기서 (2-BX0)는 정규화 수이다. 따라서 일반적으로 (2-BXi)는 정규화 수이다.
(2-BXi)의 연산은, 여기서 0<BXi
Figure kpo00015
1, 아래에 도시된 것과 같이 실행된다. 만약 BXi의 반전된 값이
Figure kpo00016
라면,2-BXi=
Figure kpo00017
+LSB(1)이다. 이점에서, LSB(1)은 LSB에 가산"+1"을 의미한다.
첫째, 지수연산회로와 신호연산회로는 디스에이블(disable)되고, 제수 b의 데이타와 제수의 가역의 초기치 X0는 입력데이타 D1과 D2로써 승산기 10에 공급되고, 제어신호 DIV는 하이레벨로 된다, 승산기 10의 출력 BX0는 이동기 13을 통하여 인버터 41에 공급되고 각 비트의 네이타는 (
Figure kpo00018
)로 반전되고, 멀티플렉서 42에 의해 선택되고, 인크리멘터 15에 공급된다. 인크리멘터 15는 하이레벨신호 DIV에 따라 입력데이타(
Figure kpo00019
)의 LSB에 "1"을 가산하고, 가산된 데이타(
Figure kpo00020
+LSB(1)) 즉, (2-BX0)는 이동기 16을 통하여 정규화 되고 정규화 데이타 D3(단계 1)으로써 출력된다.
다음, 출력데이타(2-BX0)와 초기치 X0는 데이타 D1과 D2로써 승산기 10에 공급되고, 제어신호 DIV는 로우레벨로 되고, 승산기 10의 출력, X0(2-BX0)는 이동기 13을 통하여 인크리멘터 15에 공급되고 멀티플렉서 42에 의해 선택된다. 인크리멘터 15는 반올림 제어기 14에서 제어신호를 수신할때 반올림처리를 실행한다. 유사하게, 인크리멘터 15의 출력데이타는 이동기 16을 통하여 정규화 되고, 데이타 D3(단계 2)으로써 출력된다.
그후에, 상기 단계 1과 단계 2는 3 내지 4번 반복된다. 따라서 얻어진 데이타 Xi+1즉, 1/B의 (i+1)번째 근사데이타는 입력데이타 D1과 D2로써 피제수데이타 A와 함께 승산기 10에 공급된다. 동시에, 신호 DIV는 로우레벨로 되고, 지수연산회로와 신호연산회로는 인에이블(enable)된다. 따라서 부동소수점 제산 A/B의 결과는 데이타 D3로써 출력된다.
상술된 바와 같이, 뉴튼-라퍼슨 방법의 제산에서 필요한 연산(2-BXi)는, 여기서 0<BXi
Figure kpo00021
1,
Figure kpo00022
, 즉 BXi의 반전의 LSB에 "1"을 가산함으로써 단계씩 실행될 수 있다.
따라서, 반복연산 Xi+1=Xi(2-BXi)는 제수(1/B)의 가역이 얻어지고, 하나의 반복 연산에 대한 2단계 즉, (2-BXi)의 연산인 하나의 단계의 Xi(2-BXi)의 연산인 다른 하나의 단계에 의해 실행될때 실행된다. 따라서 종래 3단계에서 하나의 단계가 생략된다. 반복연산은 일반적으로 3 내지 4번 반복되고, 부동소수점 제산에 대한 전체 연산 횟수는 상당히 감소된다.
아래에, 제곱근 연산에서 사용된 (1/2)*(3-A*Xi)의 연산이 설명된다. 승산기 10으로부터의 출력 AXi가 0<AXi
Figure kpo00023
1이기 때문에, 이동기 13을 통과한 후의 데이타는 1.0000… 또는 0.xxxx…된다. 이 데이타는 1.0000…로부터 0.1111…이고 0.xxxx…로부터 1.
Figure kpo00024
…된다. 이점에서,
Figure kpo00025
는 x의 반전된 값이고, 제곱근 연산 즉 (1/2)*(3-A*Xi)에서 부분적인 연산이 실행될때, 주어진 제어신호 SQRT는 멀티플렉서 42를 통하여 인버너 41의 출력을 선택한다. 만약 신호 SQRT가 공급되지 않으면, 이동기 13의 출력은 인크리멘터 15에 공급되고, 신호 SQRT가 공급될때 "1"은 그의 LSB로 인크리멘터 15의 용량에 가산된다. 인크리멘터 15의 출력은 이동기 16을 통하여 가수출력을 만든다. 반올림모드에서, 이 연산은 제산 연산과 같다. 인크리멘터 15에서, 캐리신호 F2가 "1"일때, 신호 F2는 지수연산회로의 멀티플렉서(MUXE) 24에 공급된다. 인크리멘터들 22와 23으로부터의 출력들이 선택되고, 인크리멘터 15의 출력은 이동기 16에서 오른쪽으로 1비트만큼 이동된다. 신호 SQRT가 공급될때, 인크리멘터 15의 출력은 또한 이동된다.
따라서, 인크리멘더 15의 출력에서, 연산(3-A*SXi)가 실행되고, 출력은 이동기 16에 의해서 2로 나누어진다. 결과로, 연산 (1/2)*(3-AXi)는 1단계에 의해 실행되는데, 여기서 0<AXi
Figure kpo00026
l이다.
제4도는 상기 실시예의 수정의 회로도를 도시하있다. 지수연산회로와 신호연산회로는 상기 실시예와 동일하다. 이 회로는 제곱근 연산을 연산한다. 연산은 또한 B*Xi=A, (1/2)*(3-A*Xi)와 Xi*(3-A*Xi)로 이루어지고, 이들 연산들이 반복된다.
수정된 가수연산회로는 인버터 41 대신에 인버더 43으로 이루어졌고 제어신호 SQRT의 적용은 그 실시예와 다르다. 나머지 부분들은 상기 실시예에서 대응하는 부분들과 유사하다. 이동기 13의 출력은 인버터 43과 멀티플렉서 42에 공급된다. 인버터 43에서, 점 아래의 입력 데이타는 반전되고 상위 비트들은 "10"으로 설정된다 : 즉 데이타 "10.xxxx…"가 출력된다.
아래에, 연산 (1/2)*(3-A*Xi)의 처리들이 설명된다. 승산기 10의 출력, AXi가 0<AX1
Figure kpo00027
1상태이기 때문에, 범람비트 V는 "0"이다. 이동기 13을 통과한 데이타는 "1.0000… 또는 0.xxxx…"이다. 데이타 1.0000…은 인버터 43에 의해서 10.1111…으로 되고 데이타 0.xxxx…는 인버터 43에 의해서 10.
Figure kpo00028
으로 된다.
Figure kpo00029
는 x의 반전된 값이다. 멀티플렉서 42는 제곱근 연산 즉, (1/2)*(3-A*Ai)의 연산의 부분에서 주어진 제어신호 SQRT에 의해 인버터의 출력을 선택한다. 만약 신호 SQRT가 공급되지 않는다면, 이동기 13은 인크리멘터 15에 공급되고, 만약 신호 SQRT가 공급되면, "1"은 인크리멘터 15에서 LSB에 가산된다. 인크리멘터 15의 출력은 다른 이동기 16을 통하여 가수부의 출력을 만든다. 반올림 모드에서, 반올림 제어기는 신호 데이타와 이동기 13으로부터 데이타(G,R)을 수신하고 라운드 제어신호를 출력한다. 반올림 제어신호가 주어질때, 인크리멘터 l5는 신호 SQRT가 주어질때와 같은 방법으로 연산한다. 데이타(G,R)의 설명이 생략된다.
인크리멘터 15의 캐리가 출력하고 신호 SQRT가 주어지지 않을때, 멀티플렉서 24는 인크리멘터 22의 출력을 선택한다. 인크리멘터 15의 캐리는 이동기 16에서 오른쪽으로 1비트만큼 데이타를 이동시킨다. 제곱근 연산에서, 범람비트(즉, 도면 21)는 "1"이기 때문에, 이동기 16은 데이타를 이동시키므로, 신호 SQRT는 이동기 16에 공급되지 않는다.
상술된 바와 같이, 인크리멘터 15의 출력에서, 연산 (3-A*Xi)는 실행되고 출력은 이동기 16에서 1비트 오른쪽 이동에 의해 1/2로 곱하여진다. 따라서 연산(1/2)*(3-AXi)는 1단계로 실행된다. 여기서 0<AXi
Figure kpo00030
1이다.

Claims (4)

  1. 하나의 가수와 다른 하나의 가수를 승산하기 위한 고정 소수점 승산 수단(10)과, 출력을 정규화하기 위한 고정 소수점 승산 수단(10)의 출력을 수신하는 첫번째 오른쪽 이동 수단(13)과, 첫번째 오른쪽 이동수단(13)의출력을 수신하는 인크리멘터 수단(15)과, 첫번째 오른쪽 이동 수단(13)의 출력을 수신하고, 그의 출력을 인크리멘터 수단(15)에 공급하는 반올림 제어 수단(14)과, 인크리멘터 수단(15)의 캐리 신호를 수신하고, 캐리신호가 공급될때 인크리멘터 수단(15)의 출력을 오른쪽으로 이동시키기 위한 두번째 오른쪽 이동수단(16)과, 첫번째 오른쪽 이동 수단(13)의 출력을 수신하고, 제산 또는 제곱근 연산에서 반복근사중 하나의 연산이 첫번째 오른쪽 이동 수단(13)의 출력 대신에 반전출력을 인크리멘터 수단(15)에 각각 공급하기 위한 반전 수단과, 반복근사중 하나의 연산이 각각 실행될때 인크리멘트 신호가 공급되는 인크리멘터 수단(15)과, 제곱근 연산의 반복근사중 하나의 연산이 실행될때 인크리멘터 수단의 출력을 오른쪽으로 이동시키는 두번째 이동 수단(16)등을 포함하고, 2개의 입력으로부터 가수들을 연산하기 위한 가수연산 수단과, 2개의 압력으로부터 신호들을 연산하기 위한 신호연산수단(30)과, 연산되는 2개의 압력으로부터 지수들을 연산하기 위한 지수연산 수단으로 이루어지는 부동소수점 연산처리장치.
  2. 제1항에 있어서, 고정 소수점 승산 수단(10)이 중간결과 승산기와 가산회로(11) 및 다른 가산기(12)로 이루어지고, 다른 가산기(l2)의 캐리가 고정소수점 승산수단(10)의 출력을 1비트만큼 오른쪽으로 이동시키기 위한 첫번째 오른쪽 이동 수단(13)에 공급되는 부동소수점 연산처리장치.
  3. 제1항에 있어서, 가수 연산 수단이 인버터 수단과 인크리멘터 수단 사이에 멀티플렉서(42)를 더 포함하기 때문에, 멀티플렉서(42)가 제산 또는 제곱근 연산에서 반복근사중 각각 하나의 연산에 대한 제어신호가 주어지지 않을때 첫번째 오른쪽 이동수단(13)의 출력을 선택하고 제어신호가 주어질때 반전수단의 출력을 선택하는 부동소수점 연산처리장치.
  4. 하나의 가수와 다른 하나의 가수로 승산하기 위한 고정 소수점 승산 수단(10)과, 출력을 정규화하기 위한 고정소수점 승산 수단(10)의 출력을 수신하는 첫번째 오른쪽 이동 수단(13)과, 첫번째 오른쪽 이동 수단(13)의 출력을 수신하는 인크리멘터 수단(15)과, 첫번째 오른쪽 이동 수단(13)의 출력을 수신하고, 그의 출력을 인크리멘터 수단(15)에 공급하는 반올림 제어수단(14)과, 인크리멘터 수단(15)의 캐리신호를 수신하고, 캐리신호가 공급될 때 오른쪽으로 인크리멘터 수단(15)의 출력을 이동시키기 위한 두번째 오른쪽 이동수단(16)과, 첫번째 오른쪽 이동 수단(13)의 출력을 수신하고, 제곱근 연산에서 반복근사중 하나의 연산이 실행될때, 이진수 표시에서 소수점 이하의 모든 비트들이 반전되고 소수점 이상의 모든 비트들 "10"이 세트되는 그의 출력을 첫번째 오른쪽 이동 수단(13)의 출력대신에 인크리멘터 수단(l5)에 각각에 공급하기 위한 반전수단과, 제곱근 연산에서 반복근사중 하나의 연산이 실행될때 인크리멘트 신호가 공급되는 인크리멘터 수단등을 포함하고 2개의 입력으로부터 가수들을 연산하기 위한 가수연산수단과, 2개의 입력으로부터 신호들을 연산하기 위한 신호연산수단(30)과, 연산되는 2개의 입력으로부터 지수들을 연산하기 위한 지수연산수단으로 이루어지는 부동소수점 연산처리장치.
KR1019890010030A 1988-07-15 1989-07-14 부동 소수점 연산장치 KR920005226B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP63174872A JP2645422B2 (ja) 1988-07-15 1988-07-15 浮動小数点演算処理装置
JP174872 1988-07-15
JP185005 1988-07-15
JP201891 1988-08-15
JP63201891A JP2578482B2 (ja) 1988-08-15 1988-08-15 浮動小数点演算器

Publications (2)

Publication Number Publication Date
KR900002169A KR900002169A (ko) 1990-02-28
KR920005226B1 true KR920005226B1 (ko) 1992-06-29

Family

ID=26496328

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890010030A KR920005226B1 (ko) 1988-07-15 1989-07-14 부동 소수점 연산장치

Country Status (4)

Country Link
US (1) US4999801A (ko)
EP (1) EP0351242B1 (ko)
KR (1) KR920005226B1 (ko)
DE (1) DE68929114T2 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0394499B1 (en) * 1988-11-04 1997-10-08 Hitachi, Ltd. Apparatus for multiplication, division and extraction of square root
US5157624A (en) * 1990-12-13 1992-10-20 Micron Technology, Inc. Machine method to perform newton iterations for reciprocal square roots
US5206823A (en) * 1990-12-13 1993-04-27 Micron Technology, Inc. Apparatus to perform Newton iterations for reciprocal and reciprocal square root
US5220524A (en) * 1990-12-13 1993-06-15 Micron Technology, Inc. Machine method to perform newton iterations for reciprocals
JPH04283831A (ja) * 1991-03-13 1992-10-08 Fujitsu Ltd 除算器
US5278782A (en) * 1991-06-03 1994-01-11 Matsushita Electric Industrial Co., Ltd. Square root operation device
JP2722858B2 (ja) * 1991-06-03 1998-03-09 松下電器産業株式会社 開平演算装置
US5272660A (en) * 1992-06-01 1993-12-21 Motorola, Inc. Method and apparatus for performing integer and floating point division using a single SRT divider in a data processor
US5204829A (en) * 1992-07-10 1993-04-20 Lsi Logic Corporation Interleaving operations in a floating-point numeric processor
US5377134A (en) * 1992-12-29 1994-12-27 International Business Machines Corporation Leading constant eliminator for extended precision in pipelined division
US5341321A (en) * 1993-05-05 1994-08-23 Hewlett-Packard Company Floating point arithmetic unit using modified Newton-Raphson technique for division and square root
US5671170A (en) * 1993-05-05 1997-09-23 Hewlett-Packard Company Method and apparatus for correctly rounding results of division and square root computations
US5404324A (en) * 1993-11-01 1995-04-04 Hewlett-Packard Company Methods and apparatus for performing division and square root computations in a computer
US5729481A (en) * 1995-03-31 1998-03-17 International Business Machines Corporation Method and system of rounding for quadratically converging division or square root
CN1075646C (zh) * 1996-01-19 2001-11-28 张胤微 一种高速乘法器
JP3352887B2 (ja) * 1996-09-09 2002-12-03 株式会社東芝 クランプ付除算器、このクランプ付除算器を備えた情報処理装置及び除算処理におけるクランプ方法
US5847979A (en) * 1996-10-31 1998-12-08 Samsung Electronics Company, Ltd. Method and apparatus for generating an initial estimate for a floating point reciprocal of a square root
EP0869432B1 (en) * 1997-04-01 2002-10-02 Matsushita Electric Industrial Co., Ltd. Multiplication method and multiplication circuit
JP4086459B2 (ja) * 2000-11-13 2008-05-14 Necエレクトロニクス株式会社 固定小数点データ生成方法及び固定小数点データ生成回路
NZ524378A (en) 2003-02-24 2004-12-24 Tait Electronics Ltd Binary shift and subtract divider for phase lock loops
US7467174B2 (en) * 2004-09-23 2008-12-16 Wisconsin Alumni Research Foundation Processing unit having decimal floating-point divider using Newton-Raphson iteration
US20060129624A1 (en) * 2004-12-09 2006-06-15 Abdallah Mohammad A Method and apparatus for performing a divide instruction
US7539720B2 (en) 2004-12-15 2009-05-26 Sun Microsystems, Inc. Low latency integer divider and integration with floating point divider and method
US20060179092A1 (en) * 2005-02-10 2006-08-10 Schmookler Martin S System and method for executing fixed point divide operations using a floating point multiply-add pipeline
US7747667B2 (en) * 2005-02-16 2010-06-29 Arm Limited Data processing apparatus and method for determining an initial estimate of a result value of a reciprocal operation
US8015228B2 (en) 2005-02-16 2011-09-06 Arm Limited Data processing apparatus and method for performing a reciprocal operation on an input value to produce a result value
US8339689B1 (en) * 2006-06-30 2012-12-25 Marvell International Ltd. Exposure correction for scanners
US7949701B2 (en) * 2006-08-02 2011-05-24 Qualcomm Incorporated Method and system to perform shifting and rounding operations within a microprocessor
KR100958163B1 (ko) * 2007-08-29 2010-05-18 세종대학교산학협력단 3차원 그래픽 가속기를 위한 부동소수점 누승기장치 및 그처리방법
US8452831B2 (en) * 2009-03-31 2013-05-28 Oracle America, Inc. Apparatus and method for implementing hardware support for denormalized operands for floating-point divide operations
US8681973B2 (en) * 2010-09-15 2014-03-25 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for performing homomorphic encryption and decryption on individual operations
US9086890B2 (en) 2012-01-06 2015-07-21 Oracle International Corporation Division unit with normalization circuit and plural divide engines for receiving instructions when divide engine availability is indicated
CN111353118B (zh) * 2018-12-20 2023-09-19 华润微集成电路(无锡)有限公司 开平方的方法及相应的用于开平方的电路
CN113407235B (zh) * 2021-06-28 2022-07-08 珠海一微半导体股份有限公司 一种基于硬件加速的运算电路系统及芯片
CN116700663B (zh) * 2022-02-24 2024-08-27 象帝先计算技术(重庆)有限公司 一种浮点数处理方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0111587B1 (en) * 1982-12-23 1986-11-05 International Business Machines Corporation Method and apparatus for division operations
US4594680A (en) * 1983-05-04 1986-06-10 Sperry Corporation Apparatus for performing quadratic convergence division in a large data processing system
JPS60142738A (ja) * 1983-12-30 1985-07-27 Hitachi Ltd 内挿近似を使用する除算装置

Also Published As

Publication number Publication date
EP0351242A3 (en) 1991-09-11
KR900002169A (ko) 1990-02-28
US4999801A (en) 1991-03-12
EP0351242B1 (en) 1999-12-15
DE68929114T2 (de) 2000-04-13
EP0351242A2 (en) 1990-01-17
DE68929114D1 (de) 2000-01-20

Similar Documents

Publication Publication Date Title
KR920005226B1 (ko) 부동 소수점 연산장치
EP0973089B1 (en) Method and apparatus for computing floating point data
EP0424086B1 (en) Arithmetic processing apparatus and method used thereby
KR0139733B1 (ko) 부동 소수점 덧셈/뺄셈 연산기의 반올림 방법 및 장치
US5222037A (en) Floating-point processor for performing an arithmetic operation on fixed-point part data with high speed rounding of a result
JPH02196328A (ja) 浮動小数点演算装置
KR960002061A (ko) 부동소수점수를 위한 산술연산장치
JPH03171324A (ja) オペランドの平方根を計算する回路及び方法
KR20020063058A (ko) 덧셈 및 반올림 연산을 동시에 수행하는 부동 소수점alu 연산 장치
US5260889A (en) Computation of sticky-bit in parallel with partial products in a floating point multiplier unit
JPH05250146A (ja) 整数累乗処理を行なうための回路及び方法
EP0273753B1 (en) Floating-point arithmetic apparatus
KR920003493B1 (ko) 부동 소숫점 표기를 기초로 하는 연산회로
JP2645422B2 (ja) 浮動小数点演算処理装置
US5377134A (en) Leading constant eliminator for extended precision in pipelined division
JP2578482B2 (ja) 浮動小数点演算器
JP2003084969A (ja) 浮動小数点剰余演算器、情報処理装置及びコンピュータプログラム
JPH04172526A (ja) 浮動小数点除算器
US5305247A (en) Method and processor for high-speed convergence factor determination
JP2856792B2 (ja) 浮動小数点数演算装置
US5208769A (en) Unsigned integer multiply/divide circuit
KR940008610B1 (ko) 고속 수렴 인자 결정 방법 및 프로세서
JP3517162B2 (ja) 除算・開平演算装置
KR20010067226A (ko) 인터폴레이션 방법 및 장치
JPH0285922A (ja) 演算回路

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

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee