KR20000074611A - High radix floting point divider - Google Patents
High radix floting point divider Download PDFInfo
- Publication number
- KR20000074611A KR20000074611A KR1019990018661A KR19990018661A KR20000074611A KR 20000074611 A KR20000074611 A KR 20000074611A KR 1019990018661 A KR1019990018661 A KR 1019990018661A KR 19990018661 A KR19990018661 A KR 19990018661A KR 20000074611 A KR20000074611 A KR 20000074611A
- Authority
- KR
- South Korea
- Prior art keywords
- multiplier
- output
- remainder
- divisor
- initial approximate
- Prior art date
Links
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F21—LIGHTING
- F21S—NON-PORTABLE LIGHTING DEVICES; SYSTEMS THEREOF; VEHICLE LIGHTING DEVICES SPECIALLY ADAPTED FOR VEHICLE EXTERIORS
- F21S8/00—Lighting devices intended for fixed installation
- F21S8/08—Lighting devices intended for fixed installation with a standard
- F21S8/085—Lighting devices intended for fixed installation with a standard of high-built type, e.g. street light
-
- E—FIXED CONSTRUCTIONS
- E02—HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
- E02D—FOUNDATIONS; EXCAVATIONS; EMBANKMENTS; UNDERGROUND OR UNDERWATER STRUCTURES
- E02D27/00—Foundations as substructures
- E02D27/32—Foundations for special purposes
- E02D27/42—Foundations for poles, masts or chimneys
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04H—BUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
- E04H12/00—Towers; Masts or poles; Chimney stacks; Water-towers; Methods of erecting such structures
- E04H12/22—Sockets or holders for poles or posts
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F21—LIGHTING
- F21V—FUNCTIONAL FEATURES OR DETAILS OF LIGHTING DEVICES OR SYSTEMS THEREOF; STRUCTURAL COMBINATIONS OF LIGHTING DEVICES WITH OTHER ARTICLES, NOT OTHERWISE PROVIDED FOR
- F21V21/00—Supporting, suspending, or attaching arrangements for lighting devices; Hand grips
- F21V21/10—Pendants, arms, or standards; Fixing lighting devices to pendants, arms, or standards
- F21V21/116—Fixing lighting devices to arms or standards
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F21—LIGHTING
- F21W—INDEXING SCHEME ASSOCIATED WITH SUBCLASSES F21K, F21L, F21S and F21V, RELATING TO USES OR APPLICATIONS OF LIGHTING DEVICES OR SYSTEMS
- F21W2131/00—Use or application of lighting devices or systems not provided for in codes F21W2102/00-F21W2121/00
- F21W2131/10—Outdoor lighting
- F21W2131/103—Outdoor lighting of streets or roads
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02B—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02B20/00—Energy efficient lighting technologies, e.g. halogen lamps or gas discharge lamps
- Y02B20/72—Energy efficient lighting technologies, e.g. halogen lamps or gas discharge lamps in street lighting
Abstract
Description
본 발명은 제산기에 관한 것으로, 특히, 주어진 사이클(cycle) 시간내에 좀 더 빠른 하이 래딕스(high radix) 제산 연산을 하는 하이 래딕스 플로팅 포인트(floting point) 제산기에 관한 것이다.TECHNICAL FIELD The present invention relates to a divider, and more particularly, to a high radix floating point divider that performs a faster high radix division operation within a given cycle time.
일반적으로, 숫자 순환 알고리듬(digit recurrence algorithm)을 사용한 제산기는 로우(low) 래딕스 제산과 제곱근 연산에 적합하며 칩이 복잡해지면서 주어진 사이클 시간내에 좀 더 빠른 하이 래딕스 제산 연산이 요구된다. 이 때, 순수한 Newton-Raphson 방식을 채택한 제산기는 근사값 수렴에 따른 에러 보상을 필요로 하는 번거로움이 있다.In general, dividers using the digital recurrence algorithm are suitable for low-radix division and square root operations, and as the chips become more complex, faster high-radix division operations are required within a given cycle time. At this time, the divider adopting the pure Newton-Raphson method is troublesome to require error compensation due to the approximate convergence.
본 발명이 이루고자 하는 기술적 과제는 근사값의 수렴에 따른 에러 보상을 필요로 하지 않는 하이 래딕스 플로팅 포인트 제산기를 제공하는 데 있다.An object of the present invention is to provide a high-radix floating point divider that does not require error compensation due to convergence of an approximation.
도 1은 본 발명에 따른 하이 래딕스 플로팅 포인트 제산기의 도면이다.1 is a diagram of a high radix floating point divider in accordance with the present invention.
상기 과제를 이루기 위해, 필요한 제어 신호를 발생하고, 명령어를 래치하는 제어 로직, 제어 로직으로부터 제수를 받아들여 초기 근사 역수를 구하기 위한 롬 데이블, 제어 로직으로부터 피제수를, 롬테이블로부터 초기 근사 역수를 각각 받아들이고, 제1제어신호에 응답하여 입력된 값들중 하나를 선택 출력하는 제1선택기, 초기 근사 역수, 현재의 몫 및 현재의 나머지를 기억하고, 이들을 연산하여 연산된 결과를 출력하는 제1기억수단, 제1기억수단에서 발생되는 값과 제1선택기에서 발생되는값을 승산하고 그 결과을 출력하는 제1승산기, 제1승산기에서 출력된 값, 제1연산값 및 이전 나머지값을 받아들여 이들을 승산하고 그 결과를 출력하는 제2승산기, 제2승산기에서 출력된 값으로부터 나머지를 구하는 나머지 연산기, 제수, 제1승산기의 출력 및 상기 제2승산기의 출력을 연산하여 최종 나머지를 구하는 최종 나머지 연산기, 최종 나머지 연산기의 출력 및 제수를 연산하여 제1연산값을 발생하는 제1연산기, 최종 나머지 연산기의 출력 및 제1승산기의 출력을 받아들여 라운딩에 필요한 스틱키 비트들을 발생하고, 몫이 증가되어야 하는지 아닌지를 결정하는 나머지 보정을 수행하는 나머지 보정수단 및 제1승산기의 출력을 받아들여 사인 확장을 시켜 더하고 더한 결과를 최종 몫으로서 발생하는 몫누산기를 구비하는 것을 특징으로 한다.In order to achieve the above object, the control logic for generating the necessary control signal, latching the instruction, the divisor from the control logic to obtain the initial approximate inverse, the dividend from the control logic, and the initial approximate inverse from the ROM table, respectively First storage means for storing the first selector, the initial approximation reciprocal, the current quotient, and the current remainder, receiving and selecting and outputting one of the input values in response to the first control signal, and outputting the calculated result by calculating them. Multiply them by multiplying the values generated by the first storage means and the values generated by the first selector and outputting the results; A second multiplier for outputting the result, a remainder calculator for obtaining a remainder from the value output from the second multiplier, a divisor, an output of the first multiplier, and A first remainder calculator that calculates the final remainder by calculating the output of the second multiplier, an output of the last remainder calculator, and a first operator that generates a first operation value by calculating a divisor and an output of the first remainder Generates the sticky bits required for rounding, accepts the output of the first multiplier and the remaining correction means for performing the remaining corrections to determine whether the quotient should be increased or not, and adds and adds the result as a final quotient It is characterized by comprising a share accumulator.
이하, 본 발명에 따른 하이 래딕스 플로팅 포인트 제산기를 첨부한 도면을 참조하여 다음과 같이 설명한다.Hereinafter, with reference to the accompanying drawings, a high-radics floating point divider according to the present invention will be described.
도 1은 본 발명에 따른 하이 래딕스 플로팅 포인트 제산기의 일실시예를 보이는 개략적인 블록도이다. 본 발명에 따른 하이 래딕스 플로팅 포인트 제산기는 제어로직(100), 롬테이블(120), 제1선택기(130), 제1기억수단(150), 제1승산기(190), 제2승산기(140), 나머지 연산기(192), 제1연산기(110), 최종 나머지 연산기(180), 나머지 보정부(170) 및 몫누산기(160)를 포함하여 구성된다.1 is a schematic block diagram showing one embodiment of a high radix floating point divider in accordance with the present invention. The high-radix floating point divider according to the present invention is the control logic 100, the ROM table 120, the first selector 130, the first storage means 150, the first multiplier 190, the second multiplier ( 140, a remainder calculator 192, a first operator 110, a final remainder calculator 180, a remainder corrector 170, and a share accumulator 160.
도 1에 도시된 제어로직(100)은 필요한 제어 신호를 발생하고, 명령어를 래치하고, 롬테이블(120)은 초기 근사 역수들을 기억하고 있으며, 제어로직(100)으로부터 제수(Y)를 받아들여 초기 근사 역수를 추출하여 출력한다. 제1선택기(130)는 제어로직(100)으로부터 피제수(X)를, 롬테이블(120)로부터 초기 근사 역수를 각각 받아들이고, 제1제어신호(CS1)에 응답하여 입력된 값들중 하나를 선택 출력한다. 제1기억부(150)는 초기 근사 역수, 현재의 몫 및 현재의 나머지를 기억하고, 이들을 연산하여 연산된 결과를 출력하고, 제1승산기(190)는 제1기억부(150)에서 발생되는 값과 제1선택기(130)에서 발생되는 값을 승산하고 그 결과을 출력한다.The control logic 100 shown in FIG. 1 generates the necessary control signal, latches the instruction, and the ROM table 120 stores the initial approximate reciprocals, accepting a divisor Y from the control logic 100. Extract and output the initial approximate reciprocal. The first selector 130 receives the dividend X from the control logic 100 and the initial approximate reciprocal number from the ROM table 120, and selects one of the input values in response to the first control signal CS1. do. The first memory unit 150 stores the initial approximate reciprocal number, the current quotient, and the current remainder, calculates these, and outputs the calculated result. The first multiplier 190 is generated in the first memory unit 150. The value is multiplied by the value generated by the first selector 130 and the result is output.
제2승산기(140)는 제1승산기(190)에서 출력된 값, 제1연산부(110)에서 출력되는 제1연산값 및 나머지 연산기(192)에서 출력되는 이전 나머지값을 받아들여 이들을 승산하고 그 결과를 출력한다. 나머지 연산기(192)는 제2승산기(140)에서 출력된 값으로부터 나머지를 연산하고, 최종 나머지 연산기(180)는 제수(Y), 제1승산기의 출력 및 제2승산기의 출력을 연산하여 최종 나머지를 구한다. 제1연산기(110)는 최종 나머지 연산기(180)의 출력 및 제수(Y)를 연산하여 제1연산값을 발생하고, 나머지 보정부(170)는 최종 나머지 연산기(180)의 출력 및 제1승산기(190)의 출력을 받아들여 라운딩에 필요한 스틱키 비트(sticky bit)들을 발생하고, 몫이 증가되어야 하는지 아닌지를 결정하는 나머지 보정을 수행한다. 몫누산기(160)는 제1승산기(190)의 출력을 받아들여 사인 확장(sine extention)을 시켜 최종 몫을 연산한다.The second multiplier 140 receives a value output from the first multiplier 190, a first operation value output from the first operator 110, and a previous residual value output from the remaining operator 192, and multiplies them. Output the result. The remainder calculator 192 calculates the remainder from the value output from the second multiplier 140, and the final remainder calculator 180 calculates the divisor Y, the output of the first multiplier, and the output of the second multiplier to determine the final remainder. Obtain The first operator 110 generates the first operation value by calculating the output and divisor Y of the final remainder calculator 180, and the remaining corrector 170 outputs and first multiplier the final remainder calculator 180. Accept the output of 190 to generate the sticky bits needed for rounding and perform the remaining correction to determine whether the quotient should be increased or not. The share accumulator 160 receives the output of the first multiplier 190 and performs a sine extention to calculate a final quotient.
본 발명은 매 이터레이션(iteration)마다 8비트의 몫이 발생되도록 하고, 퓨즈드(fused) 승산/가산 연산을 수행할 수 있도록 가산기를 포함한 승산기와 초기 근사 역수값을 구하기 위한 룩업데이터블을 롬테이블(120)에 기억시킨다. 여기서는 플로팅 포인트연산에 일반적으로 필요한 전/후 정규화(pre/post normalization), 라운딩, 지수처리 부분은 제외하기로 한다.The present invention allows an 8-bit quotient to occur in each iteration, and a multiplier including an adder and a lookup data table for obtaining an initial approximate reciprocal value so that a fused multiplication / addition operation can be performed. The table 120 is stored. In this case, the pre / post normalization, rounding, and exponential processing parts which are generally required for the floating point calculation are excluded.
먼저, 도 1에 도시된 장치의 입력은 제수(Y)와 피제수(X)의 맨티사 부분이며 이 중 Y의 최상위 9비트로 롬 테이블(120)을 트레인하여 10비트의 근사 역수값(1/Yh)을 구하고, 이와 동시에 제2승산기(140)에서는 Xh*Y의 승산을 수행한다. 스케일링을 위한 승산{(1/Yh)*Y, (1/Yh)*(Xh*Y)}은 제2승산기(140)에서 실행 후, 제1연산기(110)의 레지스터(112)와 연산기 (116)에 담겨져서 나머지와 몫을 구하는 다음 이터레이션에 사용된다. 이 때, 제2승산기(12*66)(140)는 새로운 제수곱을 구해서 나며지 연산기(192)에서 감산하는데 쓰이고, 제1승산기(12*10)(190)는 새로운 몫을 구해서 이전 몫에 더하는 동작을 반복하므로써 최종 몫을 형성하게 되느데 이 때, 나머지 보정수단(9)에서는 라운딩에 필요한 스틱키 비트들을 발생하여 도시되지는 않았지만 라운딩 가산기로 보내고 몫이 증가되어야 하는지 아닌지를 결정하는 나모지 보정을 수행한다. 최종 나머지 연산기(180)에서는 최종 나머지를 구하기 위한 선택기와 가산기로 이루어져 있다. 또한, 몫 누산기(160)는 제1승산기(190)에서 발생되는 몫을 사인 확장하여 더하고, 이를 최종 몫으로서 발생한다. 한편, 도 1에서 사용된 CSA 가산기들(164, 184)는 합(sum)과 캐리(carry) 부분을 더하기 위해 사용된 가산기이다.First, the input of the apparatus shown in FIG. 1 is the mantisa portion of the divisor (Y) and the dividend (X), and trains the ROM table 120 with the most significant 9 bits of Y, so that an approximate reciprocal value of 10 bits (1 / Yh) is obtained. ) And at the same time, the second multiplier 140 multiplies Xh * Y. The multiplication for scaling {(1 / Yh) * Y, (1 / Yh) * (Xh * Y)} is executed in the second multiplier 140, and then the register 112 and the operator ( 116) and used for the next iteration to find the remainder and share. At this time, the second multiplier (12 * 66) 140 is used to subtract a new product, and the subtractor (192) is used to subtract the new multiplier (192 * 10) (190). By repeating the operation, a final quotient is formed, in which the remaining correction means 9 generate stick-key bits necessary for rounding and send them to the rounding adder, although not shown, to determine whether the quotient should be increased or not. Do this. The final remainder calculator 180 includes a selector and an adder for obtaining the final remainder. In addition, the quotient accumulator 160 sine-extends the quotient generated by the first multiplier 190 and adds the quotient. Meanwhile, the CSA adders 164 and 184 used in FIG. 1 are adders used to add a sum and a carry part.
결국, 매 이터레이션마다 8비트의 몫들이 리타이어(retire)되므로 단일 정밀도(single precision)의 경우 4번, 복(double) 정밀도의 경우 7번의 승산/가산 동작이 수행되어야 한다. 시뮬레이션 결과, 단일 정밀도의 경우 0사이클, 복 정밀도의 경우 12사이클이 소요되었고 명령간에 파이프 라인은 허용하지 않는다.As a result, since 8-bit shares are retired for each iteration, four multiplication / addition operations must be performed for single precision and seven for double precision. The simulation resulted in 0 cycles for single precision and 12 cycles for double precision and no pipelines between instructions.
상술한 바와 같이, 본 발명에 따른 하이 래딕스 플로팅 포인트 제산기는 간단한 회로구성을 통해 주어진 사이클내에 보다 빠른 하이 래딕스 제산 연산을 수행할 수 있다는 효과가 있다.As described above, the high-radix floating point divider according to the present invention has an effect of performing a faster high-radix division operation within a given cycle through a simple circuit configuration.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990018661A KR20000074611A (en) | 1999-05-24 | 1999-05-24 | High radix floting point divider |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990018661A KR20000074611A (en) | 1999-05-24 | 1999-05-24 | High radix floting point divider |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20000074611A true KR20000074611A (en) | 2000-12-15 |
Family
ID=19587353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990018661A KR20000074611A (en) | 1999-05-24 | 1999-05-24 | High radix floting point divider |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20000074611A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100407562B1 (en) * | 2001-11-21 | 2003-11-28 | 삼성전자주식회사 | Division and square root caculation apparatus and method |
KR100429195B1 (en) * | 2000-03-16 | 2004-04-28 | 엘지전자 주식회사 | method for division using approximate value |
-
1999
- 1999-05-24 KR KR1019990018661A patent/KR20000074611A/en not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100429195B1 (en) * | 2000-03-16 | 2004-04-28 | 엘지전자 주식회사 | method for division using approximate value |
KR100407562B1 (en) * | 2001-11-21 | 2003-11-28 | 삼성전자주식회사 | Division and square root caculation apparatus and method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6360241B1 (en) | Computer method and apparatus for division and square root operations using signed digit | |
EP0411491B1 (en) | Method and apparatus for performing division using a rectangular aspect ratio multiplier | |
US4707798A (en) | Method and apparatus for division using interpolation approximation | |
JP2835153B2 (en) | High radix divider | |
KR19990013698A (en) | Calculation method and device | |
US6754689B2 (en) | Method and apparatus for performing subtraction in redundant form arithmetic | |
US9785407B2 (en) | Data processing apparatus having combined divide-square root circuitry | |
JPH03171324A (en) | Circuit and method for calculating square root of operand | |
US5793659A (en) | Method of modular reduction and modular reduction circuit | |
US7809784B2 (en) | Apparatus and method for calculation of divisions and square roots | |
CN108334304B (en) | Digital recursive division | |
JP4273071B2 (en) | Divide and square root calculator | |
JP3598096B2 (en) | Operation method using Newton-Raphson method | |
CA1321650C (en) | Floating point unit computation techniques | |
KR20000074611A (en) | High radix floting point divider | |
US10353671B2 (en) | Circuitry and method for performing division | |
JP2737933B2 (en) | Division device | |
Sravya et al. | Hardware posit numeration system primarily based on arithmetic operations | |
CN109298848A (en) | The subduplicate circuit of double mode floating-point division | |
JPH08202533A (en) | Division processor | |
KR19980084342A (en) | Method and apparatus for multiplying floating point data in a two cycle pipeline | |
Piso et al. | Obtaining accurate error expressions and bounds for floating-point multiplicative algorithms | |
JPH10333883A (en) | Multiplying method and circuit therefor | |
JP2607759B2 (en) | Divider | |
JPH08249161A (en) | Cubic root arithmetic unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |