KR19990039002U - Floating-point normalizer - Google Patents
Floating-point normalizer Download PDFInfo
- Publication number
- KR19990039002U KR19990039002U KR2019980005073U KR19980005073U KR19990039002U KR 19990039002 U KR19990039002 U KR 19990039002U KR 2019980005073 U KR2019980005073 U KR 2019980005073U KR 19980005073 U KR19980005073 U KR 19980005073U KR 19990039002 U KR19990039002 U KR 19990039002U
- Authority
- KR
- South Korea
- Prior art keywords
- values
- value
- minimum value
- exponent
- subtractors
- Prior art date
Links
Abstract
본 고안은 부동 소숫점형식 정규화기에 관한 것으로, 종래의 장치에 있어서는 정규화를 위해 해당 연산자들의 지수 들을 모두 분석해 서로 비교하였다가 비교가 끝난후 그 결과값을 이용해 정규화를 행하기 때문에 N개의 연산자가 있으면 이를 모두 비교하는데 많은 시간이 필요한 문제점이 있었다. 따라서, 본 고안은 입력되는 두 수를 가수와 지수로 분리하는 제 1,2엔코더와; 수치의 신뢰도와 관련된 유효자리수를 저장하는 정밀도 레지스터와; 상기 제 1,2엔코더를 통과한 수치와 상기 정밀도 레지스터의 유효숫자를 비교하여 시프트시킬 횟수를 계산하는 제 1,2감산기와; 제 1,2지수 레지스터에 저장되어 있는 값과 상기 제 1,2감산기에서 출력되는 값을 비교하여 그 최소값을 다시 상기 제 1,2지수 레지스터에 저장시키는 제 1,2비교부와; 처음에 시프트시킬 가장 최대값으로 초기화 되어 있다가 이 값이 상기 제 1,2비교부에서 상기 제 1,2감산기의 값과 비교된 최소값이 저장되는 제 1,2지수 레지스터와; 상기 제 1,2지수 레지스터의 수치를 입력받아 그 가장 최소값을 출력하는 제 3비교부와; 상기 제 3비교부에서 출력하는 최소값을 입력받아 제어신호에 의해 저장시키는 스케일링 레지스터와; 상기 제 1,2지수 레지스터의 현재값과 스케일링 레지스터에 저장되어 있는 최소값과 상기 제 3비교부에서 출력되는 현재의 가장 최소값 중에서 기능 선택 신호에 의해 그중 하나를 선택하여 출력하는 지수 선택부로 구성하여 복소 정규화 및 배수 정규화 과정에서 유효한 데이터에 대해 즉시 처리할 수 있어 비교시간을 줄일 수 있는 효과가 있다.The present invention relates to a floating-point type normalizer. In the conventional apparatus, all the exponents of the operators are analyzed and compared with each other for normalization, and after comparison, normalization is performed using the result value. There was a problem that it takes a lot of time to compare all. Accordingly, the present invention provides a first and second encoders that separate two input numbers into mantissa and exponent; A precision register for storing significant digits associated with the reliability of the numerical value; First and second subtractors for calculating the number of times of shifting by comparing the numerical value passing through the first and second encoders with the significant number of the precision register; First and second comparison units for comparing the values stored in the first and second index registers with the values output from the first and second subtractors and storing the minimum values in the first and second index registers; First and second exponent registers, each of which is initialized to the maximum value to be shifted initially and whose minimum value is compared with the values of the first and second subtractors in the first and second comparison parts; A third comparing unit which receives the numerical values of the first and second index registers and outputs the minimum value thereof; A scaling register configured to receive a minimum value output from the third comparator and store the same in a control signal; Comprised of the current value of the first and second index registers, the minimum value stored in the scaling register and the current minimum value output from the third comparator and an exponent selector for selecting and outputting one of them by a function selection signal. In the process of normalization and multiple normalization, valid data can be processed immediately, which reduces the comparison time.
Description
본 고안은 부동 소숫점형식 정규화기에 관한 것으로, 특히 공학적, 과학적 응용 프로그램에서 숫자를 표현하는 부동 소숫점형식의 데이터를 효과적으로 정렬하기 위한 부동 소숫점형식 정규화기에 관한 것이다.The present invention relates to a floating point format normalizer, and more particularly to a floating point format normalizer for effectively sorting floating point data representing numbers in engineering and scientific applications.
많은 부동 소숫점 연산을 요구하는 응용 프로그램을 위해서 부동 소숫점 명령어의 사칙 연산을 위한 하드웨어가 필요한데, 씨피유에서 직접 구현이 되기도 하고, 또는 상기 씨피유 이외에 부동 소숫점 연산을 위한 전용의 코프로세서를 두고, 씨피유와 연계하여 부동 소숫점 명령어를 실행한다.For applications that require many floating point operations, hardware is required for the arithmetic operations of floating point instructions, which may be implemented directly in CPI, or have dedicated coprocessors for C floating point operations in addition to C To execute a floating point instruction.
지수함수, 로그함수, 삼각함수 등의 초월함수를 다루는 공학 또는 과학적 응용 프로그램의 경우에는, 이를 하드웨어로 지원할 경우 많은 면적을 차지하기 때문에 속도는 다소 떨어지더라도 소프트웨어적으로 처리하기도 한다.In engineering or scientific applications dealing with transcendental functions, such as exponential, logarithmic, and trigonometric functions, they take up a lot of space if they are supported by hardware.
상기와 같은 공학적 또는 과학적 응용 프로그램에서 사용되는 데이터 형태는 부동 소숫점 숫자로 표현되는데, 부호는 에스(S : Sign), 지수는 이(E : Exponent), 그리고 가수는 엠(M : Mantissa)으로 표현된다. 이 S, E, M을 사용해 숫자를 표현하는 비트 숫자의 범위안에 여러 방법으로 표현이 가능한데, 그 중 가장 대표적인 표현 방법중의 하나로 전기 전자 학회(IEEE)에서 정한 규격이 있다.Data types used in such engineering or scientific applications are represented as floating point numbers, with the sign as S (S), the exponent as E, and the mantissa as M (Mt Mantissa). do. The S, E, M can be expressed in a number of ways within the range of the number of bits that represent the number, one of the most representative of the methods is the standard set by the Institute of Electrical and Electronics Engineers (IEEE).
상기 전기 전자 학회의 규격에는 단정도(Single precision), 확장 단정도(Single - Extended precision), 배정도(Double precision), 확장 배정도(Double - Extended precision)를 각각 규정하고 있고, 도1은 80비트 확장 배정도 형식의 포맷도로서, 상기와 같은 포맷으로 표현되는 숫자는 (-1)S×(1M)×2(E+Bias)값이다. 여기서 S는 부호이고, M은 유효수(Significant)의 64비트 중 최상위 비트(MSB) 1을 제외한 63비트를 의미한다.The standards of the Institute of Electrical and Electronics Engineers define Single precision, Single-Extended precision, Double precision, Double-Extended precision, respectively, Figure 1 is an 80-bit extension As a double-format format diagram, numbers represented by the above format are (-1) S × (1M) × 2 (E + Bias) values. Here, S is a sign and M is 63 bits except for the most significant bit (MSB) 1 of the 64-bits of the significant number.
공학적 또는 과학적 응용 프로그램의 경우 많은 부동 소숫점 연산자에 대한 연산이 필요한 경우가 있는데, 이때 각 연산자들을 같은 자리수로 정렬하는 과정이 필요한데, 이를 정규화(Normalization)라 하고, 복합 블록 스케일링(Complex block scaling), 복소 정규화(Complex normalization), 배수 정규화(Scaler normalization)등 3가지 경우가 있다.In engineering or scientific applications, operations on many floating-point operators may be required. In this case, each operator must be sorted by the same number of digits. This is called normalization, and complex block scaling, There are three cases: complex normalization and scale normalization.
먼저, 복합 블록 스케일링의 경우, 일련의 복소수(Complex number)들을 정하여진 유효 비트수에 맞춰 정규화 하는 것을 말한다. 이 경우, 유효 비트수는 내부 레지스터에 저장되고, 복소 정규화는 가장 큰 숫자가 정규화되는 유효 비트 수에 그 보다 작은 다른 모든 숫자들도 정규화 하는 것을 말한다. 배수 정규화는 정수(Integer)에서 부동 소숫점으로의 변환을 포함하는데, 역수, 제곱근, 역제곱근 등의 함수와 함께 사용된다.First, in the case of complex block scaling, normalizing a series of complex numbers according to a predetermined number of valid bits. In this case, the number of significant bits is stored in an internal register, and complex normalization refers to normalizing all other numbers smaller than the number of significant bits with which the largest number is normalized. Multiple normalization involves conversion from integer to floating point, which is used with inverse, square root, and inverse square root.
그러나, 종래의 장치에 있어서는 정규화를 위해 해당 연산자들의 지수 들을 모두 분석해 서로 비교하였다가 비교가 끝난후 그 결과값을 이용해 정규화를 행하기 때문에 N개의 연산자가 있으면 이를 모두 비교하는데 많은 시간이 필요한 문제점이 있었다.However, in the conventional apparatus, since all the exponents of the operators are analyzed and compared with each other for normalization, and normalized using the result value after comparison, if there are N operators, a long time is required to compare them all. there was.
따라서, 본 고안은 상기와 같은 같은 문제점을 해결하기 안출된 것으로, 복소 정규화 및 배수 정규화의 경우 유효한 데이터를 즉시 처리함으로써 비교시간을 줄일 수 있도록 하는 부동 소숫점형식 정규화기를 제공하는데 그 목적이 있다.Accordingly, an object of the present invention is to provide a floating point type normalizer for reducing the comparison time by immediately processing valid data in the case of complex normalization and multiple normalization.
도 1은 종래의 80비트 확장 배정도 형식의 포맷도.1 is a format diagram of a conventional 80-bit extended double format.
도 2는 본 고안을 적용한 부동 소숫점형식 정규화기의 블록 구성도.Figure 2 is a block diagram of a floating point type normalizer to which the present invention is applied.
*****도면의 주요부분에 대한 부호의 설명********** Description of the symbols for the main parts of the drawings *****
10 : 제1 엔코더 20 : 정밀도 레지스터10: first encoder 20: precision register
30 : 제2 엔코더 40 : 제1 감산기30: second encoder 40: first subtractor
50 : 제2 감산기 60 : 제1 지수 레지스터50: second subtractor 60: first exponent register
70 : 제1 비교부 80 : 제2 비교부70: first comparator 80: second comparator
90 : 제2 지수 레지스터 100 : 제3 비교부90: second index register 100: third comparison unit
120 : 스케일링 레지스터 130 : 지수 선택부120: scaling register 130: exponent selector
이와 같은 목적을 달성하기 위한 본 고안 부동 소숫점형식 정규화기의 구성은, 입력되는 두 수를 가수와 지수로 분리하는 제 1,2엔코더와; 수치의 신뢰도와 관련된 유효자리수를 저장하는 정밀도 레지스터와; 상기 제 1,2엔코더를 통과한 수치와 상기 정밀도 레지스터의 유효숫자를 비교하여 시프트시킬 횟수를 계산하는 제 1,2감산기와; 제 1,2지수 레지스터에 저장되어 있는 값과 상기 제 1,2감산기에서 출력되는 값을 비교하여 그 최소값을 다시 상기 제 1,2지수 레지스터에 저장시키는 제 1,2비교부와; 처음에 시프트시킬 가장 최대값으로 초기화 되어 있다가 이 값이 상기 제 1,2비교부에서 상기 제 1,2감산기의 값과 비교된 최소값이 저장되는 제 1,2지수 레지스터와; 상기 제 1,2지수 레지스터의 수치를 입력받아 그 가장 최소값을 출력하는 제 3비교부와; 상기 제 3비교부에서 출력하는 최소값을 입력받아 제어신호에 의해 저장시키는 스케일링 레지스터와; 상기 제 1,2지수 레지스터의 현재값과 스케일링 레지스터에 저장되어 있는 최소값과 상기 제 3비교부에서 출력되는 현재의 가장 최소값 중에서 기능 선택 신호에 의해 그중 하나를 선택하여 출력하는 지수 선택부로 구성함으로써 달성되는 것으로, 이하 본 고안에 따른 실시예를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.The structure of the present invention floating-point type normalizer for achieving the above object comprises: a first and second encoders for separating the input two numbers into mantissa and exponent; A precision register for storing significant digits associated with the reliability of the numerical value; First and second subtractors for calculating the number of times of shifting by comparing the numerical value passing through the first and second encoders with the significant number of the precision register; First and second comparison units for comparing the values stored in the first and second index registers with the values output from the first and second subtractors and storing the minimum values in the first and second index registers; First and second exponent registers, each of which is initialized to the maximum value to be shifted initially and whose minimum value is compared with the first and second subtractors in the first and second comparison parts; A third comparing unit which receives the numerical values of the first and second index registers and outputs the minimum value thereof; A scaling register configured to receive a minimum value output from the third comparator and store the same in a control signal; It is achieved by configuring an exponent selector for selecting one of the current value of the first and second exponent registers, the minimum value stored in the scaling register, and the current minimum value output from the third comparator by selecting a function among them. When described in detail with reference to the accompanying drawings, an embodiment according to the present invention as follows.
도2는 본 고안을 적용한 부동 소숫점형식 정규화기의 구성을 보인 블록도로서, 이에 도시한 바와 같이 입력되는 두 수(NUM1,NUM2)를 가수와 지수로 분리하는 제 1,2엔코더(10,30)와; 수치의 신뢰도와 관련된 유효자리수를 저장하는 정밀도 레지스터(20)와; 상기 제 1,2엔코더(10,30)를 통과한 수치와 상기 정밀도 레지스터(20)의 유효숫자를 비교하여 시프트시킬 횟수를 계산하는 제 1,2감산기(40,50)와; 제 1,2지수 레지스터(60,90)에 저장되어 있는 값과 상기 제 1,2감산기(40,50)에서 출력되는 값을 비교하여 그 최소값을 다시 상기 제 1,2지수 레지스터(60,90)에 저장시키는 제 1,2비교부(70,80)와; 처음에 시프트시킬 가장 최대값으로 초기화 되어 있다가 이 값이 상기 제 1,2비교부(70,80)에서 상기 제 1,2감산기(40,50)의 값과 비교된 최소값이 저장되는 제 1,2지수 레지스터(60,90)와; 상기 제 1,2지수 레지스터(60,90)의 수치를 입력받아 그 대소를 비교하여 가장 최소값을 출력하는 제 3비교부(100)와; 상기 제 3비교부(100)에서 출력하는 최소값을 입력받아 제어신호(CS2)에 의해 저장 시키는 스케일링 레지스터(120)와; 상기 제 1,2지수 레지스터(60,90)의 현재값과 스케일링 레지스터(120)에 저장되어 있는 최소값과 상기 제 3비교부(100)에서 출력되는 현재의 가장 최소값 중에서 기능 선택 신호(SF)에 의해 그중 하나를 선택하여 출력하는 지수 선택부(130)로 구성한 것으로, 이와같이 구성한 본 고안의 동작 및 작용을 설명하면 다음과 같다.FIG. 2 is a block diagram showing the configuration of a floating point type normalizer to which the present invention is applied. As shown in FIG. 2, first and second encoders 10 and 30 that separate two input numbers NUM1 and NUM2 into mantissa and exponent. )Wow; A precision register 20 for storing significant digits related to the reliability of the numerical value; First and second subtractors (40 and 50) for calculating the number of times of shifting by comparing the numerical value passing through the first and second encoders (10 and 30) with the effective number of the precision register (20); The value stored in the first and second index registers 60 and 90 is compared with the value output from the first and second subtractors 40 and 50, and the minimum value is again converted into the first and second index registers 60 and 90. First and second comparison parts (70, 80) to be stored in); The first value is initialized to the maximum value to be shifted first, and the first and second comparison parts 70 and 80 store the minimum value compared with the values of the first and second subtractors 40 and 50. 2 exponent registers 60 and 90; A third comparison unit (100) for receiving the numerical values of the first and second index registers (60,90) and comparing the magnitudes and outputting the minimum values; A scaling register 120 which receives the minimum value output from the third comparator 100 and stores it by a control signal CS2; A function selection signal S F between a current value of the first and second index registers 60 and 90, a minimum value stored in the scaling register 120, and a current minimum value output from the third comparison unit 100. It is composed of the exponent selector 130 to select and output one of them, and the operation and operation of the present invention configured as described above are as follows.
기능 선택 신호(SF)에 의해 지수 선택부(130)의 출력(POUT1,POUT2)을 결정하는데 있어서 복합 블록 스케일링의 경우, 스케일링 레지스터(120)의 출력값을 선택하고, 복소 정규화의 경우, 제 3비교부(100)의 출력값을 그대로 선택하며, 배수 정규화의 경우는 제 1지수 레지스터(60)의 값을 선택한다. 이는 제곱근, 역제곱근, 역수 등에 대해서는 몇번 시프트를 해야 하는지를 가리키는 시프트 횟수를 나타낸다.In determining the outputs P OUT1 and P OUT2 of the exponent selection unit 130 by the function selection signal S F , in the case of complex block scaling, the output value of the scaling register 120 is selected, and in the case of complex normalization, The output value of the third comparison unit 100 is selected as it is, and in the case of multiple normalization, the value of the first index register 60 is selected. This indicates the number of shifts indicating how many shifts should be performed for the square root, inverse square root, and reciprocal.
복합 블록 스케일링은 메모리에 저장될 복소수들을 입력으로 받아 처리하되 유효 비트 수는 정밀도 레지스터(20)에 저장된 값을 이용하게 된다.Complex block scaling receives and processes complex numbers to be stored in the memory, but uses the value stored in the precision register 20 as the effective number of bits.
입력으로 받아 들여진 두수(NUM1,NUM2)는 제 1,2엔코더(10,30)를 거쳐 가수와 지수로 분리되고, 최상위 비트(MSB)의 위치를 출력한다.The two numbers NUM1 and NUM2 received as inputs are separated by mantissa and exponent via the first and second encoders 10 and 30, and output the position of the most significant bit MSB.
데이터의 스케일링을 위한 새로운 지수를 찾기 위해 정밀도 레지스터(20)의 값에서 제 1,2엔코더(10,30)의 출력값을 제 1,2감산기(40,50)에서 감산을 한다. 상기 제 1,2감산기(40,50)의 감산 결과 즉, 시프트할 횟수는 제 1,2비교부(70,80)의 입력으로 들어가고, 상기 제 1,2지수 레지스터(60,90)에는 처음 쉬프트시킬 가장 최대값이 입력되어 있다가 매번 제 1,2비교부(70,80)의 시프트할 횟수와 대,소를 비교하여 그 작은 값을 다시 제 1,2지수 레지스터(60,90)에 저장하고, 다음 상기 제 1,2비교부(70,80)에 입력된 값과 상기 제 1,2지수 레지스터(60,90)의 값을 비교하여 저장시키는 동작을 반복하게 된다.The first and second subtractors 40 and 50 subtract the output values of the first and second encoders 10 and 30 from the value of the precision register 20 to find a new index for scaling the data. The subtraction result of the first and second subtractors 40 and 50, that is, the number of shifts is input to the inputs of the first and second comparators 70 and 80, and the first and second index registers 60 and 90 are first input. The maximum value to be shifted is input, and the number of shifts of the first and second comparison units 70 and 80 is compared with the number of small and large, and the small value is returned to the first and second index registers 60 and 90. The operation of storing and comparing the values input to the first and second comparison units 70 and 80 and the values of the first and second index registers 60 and 90 is repeated.
결국, 제 1,2지수 레지스터(60,90)의 값은 값은 다시 제 3비교부(100)에 의해 어느쪽이 작은 값인지 비교되며, 그 결과 가장 작은값을 스케일링 레지스터(120)와 지수 선택부(130)에 출력한다.As a result, the values of the first and second exponent registers 60 and 90 are again compared by the third comparison unit 100 to determine which one is the smaller value, and as a result, the smallest value is converted into the scaling register 120 and the exponent. Output to the selector 130.
또한 상기 제 1,2비교부(70,80)는 제어신호(CS1)에 의해 상기 제 1,2비교부(70,80)를 각각 인에이블 또는 디져블 시켜 그 동작을 제어하게 된다.In addition, the first and second comparison units 70 and 80 enable or disable the first and second comparison units 70 and 80 by the control signal CS1 to control the operation thereof.
이상에서 설명한 바와 같이 본 고안 부동 소숫점형식 정규화기는 복소 정규화 및 배수 정규화 과정에서 유효한 데이터에 대해 즉시 처리할 수 있어 비교시간을 줄일 수 있는 효과가 있다.As described above, the inventive floating-point type normalizer can immediately process data valid in complex normalization and multiple normalization, thereby reducing the comparison time.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR2019980005073U KR200222599Y1 (en) | 1998-04-02 | 1998-04-02 | Floating point type normalizer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR2019980005073U KR200222599Y1 (en) | 1998-04-02 | 1998-04-02 | Floating point type normalizer |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990039002U true KR19990039002U (en) | 1999-11-05 |
KR200222599Y1 KR200222599Y1 (en) | 2001-05-15 |
Family
ID=69709184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR2019980005073U KR200222599Y1 (en) | 1998-04-02 | 1998-04-02 | Floating point type normalizer |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR200222599Y1 (en) |
-
1998
- 1998-04-02 KR KR2019980005073U patent/KR200222599Y1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR200222599Y1 (en) | 2001-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102447636B1 (en) | Apparatus and method for performing arithmetic operations for accumulating floating point numbers | |
US4758972A (en) | Precision rounding in a floating point arithmetic unit | |
US9690580B2 (en) | Decomposition of decimal floating point data | |
US4626825A (en) | Logarithmic conversion apparatus | |
US4727508A (en) | Circuit for adding and/or subtracting numbers in logarithmic representation | |
US7949696B2 (en) | Floating-point number arithmetic circuit for handling immediate values | |
US20160202952A1 (en) | Shift Significand of Decimal Floating Point Data | |
KR100398859B1 (en) | Data calculating device | |
US4617641A (en) | Operation unit for floating point data having a variable length exponent part | |
US5187678A (en) | Priority encoder and floating-point normalization system for IEEE 754 standard | |
US4941119A (en) | Method and apparatus for predicting an overflow in an integer multiply | |
US6182100B1 (en) | Method and system for performing a logarithmic estimation within a data processing system | |
GB2549153B (en) | Apparatus and method for supporting a conversion instruction | |
US6990505B2 (en) | Method/apparatus for conversion of higher order bits of 64-bit integer to floating point using 53-bit adder hardware | |
US4852038A (en) | Logarithmic calculating apparatus | |
US20060179098A1 (en) | System and method for reduction of leading zero detect for decimal floating point numbers | |
KR100290906B1 (en) | method and appratus for performing simultaneously addition and rounding in a floating point multiplier | |
KR200222599Y1 (en) | Floating point type normalizer | |
KR920003493B1 (en) | Operation circuit based on floating-point representation | |
KR101922462B1 (en) | A data processing apparatus and method for performing a shift function on a binary number | |
US20160306608A1 (en) | Accumulation of floating-point values | |
US20040254973A1 (en) | Rounding mode insensitive method and apparatus for integer rounding | |
US8185723B2 (en) | Method and apparatus to extract integer and fractional components from floating-point data | |
JPH09128213A (en) | Block floating processing system/method | |
KR970022803A (en) | Normalization circuit device of floating point arithmetic unit |
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 | ||
REGI | Registration of establishment | ||
FPAY | Annual fee payment |
Payment date: 20060209 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |