Low latency floating-point division operations

US11314482B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11314482-B2
Application numberUS-201916684081-A
CountryUS
Kind codeB2
Filing dateNov 14, 2019
Priority dateNov 14, 2019
Publication dateApr 26, 2022
Grant dateApr 26, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods and systems for division operation are described. A processor can initialize an estimated quotient between the dividend and the divisor separately from a floating-point unit (FPU) pipeline. The processor can implement the FPU pipeline to execute a refinement process that can include at least a first iteration of operations and a second iteration of operations. The refinement process can include, in the first iteration of operations, generating a first unnormalized floating-point value using the initialized estimated quotient. The refinement process can include, in the second iteration of operations, generating a second unnormalized floating-point value using the first unnormalized floating-point value. The processor can determine a final quotient based on the second unnormalized floating-point value.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a memory; a processor configured to be in communication with the memory, wherein: the processor comprises a circuit including logic gates, and a separate floating-point unit (FPU); the circuit of the processor is configured to initialize an estimated quotient between a dividend and a divisor; the FPU of the processor is configured to receive the estimated quotient from the circuit and execute a refinement process to refine the estimated quotient in a FPU pipeline, the FPU pipeline including at least a first iteration of operations and a second iteration of operations, the refinement process comprises: in the first iteration of operations, generating a first unnormalized floating-point value using the initialized estimated quotient; in the second iteration of operations, generating a second unnormalized floating-point value using the first unnormalized floating-point value; and the separate FPU of the processor is further configured to determine a final quotient between the dividend and the divisor based on the second unnormalized floating-point value. 2. The system of claim 1 , wherein the processor is configured to: input a sum component and a carry component of an estimated reciprocal of the divisor into a carry-save adder (CSA); perform Booth recoding on an output from the CSA, wherein the output is based on the sum component and the carry component; wherein the initialization of the estimated quotient is performed using the Booth recoded output, the dividend, and the divisor. 3. The system of claim 2 , wherein the processor is configured to multiply the Booth recoded output with the dividend to initialize the estimated quotient, and multiply the Booth recoded output with the divisor to initialize another estimated quotient. 4. The system of claim 1 , wherein the processor is configured to perform a fixed shift on the first unnormalized floating-point value to remove at least one leading zero among the first unnormalized floating-point value to generate the second unnormalized floating-point value. 5. The system of claim 4 , wherein a number of leading zeros to remove using the fixed shift is based on a division scheme being implemented by the processor. 6. The system of claim 1 , wherein the processor is configured to normalize the second unnormalized floating-point value. 7. The system of claim 1 , wherein the processor is configured to: add a first value to a final estimated quotient to generate a first final estimated quotient, the final estimated quotient being an normalized value of the second unnormalized floating-point value; add a second value to the final estimated quotient to generate a second final estimated quotient; determine a product between the first final estimated quotient and the divisor; compare the product with the dividend; based on a result of the comparison, select a value between the second final estimated quotient and a sum of the second final estimated quotient with an added rounding term; and round the selected value to determine the final quotient. 8. The system of claim 7 , wherein the processor is configured to select the first value and the second value based on a rounding scheme being implemented by the processor. 9. The system of claim 1 , wherein the FPU pipeline comprises at least a first iteration of operations and a second iteration of operations, and the refinement process comprises: in the first iteration of operations, generating a first unnormalized floating-point value using the initialized estimated quotient; in the second iteration of operations, generating a second unnormalized floating-point value using the first unnormalized floating-point value, wherein the outcome of the FPU pipeline is the second unnormalized floating-point value; the processor is configured to: normalize the second unnormalized floating-point value to generate a final estimated quotient; perform a back-multiplication check using a first copy of the final estimated quotient; round a second copy of the final estimated quotient based on a result of the back-multiplication check; and set the rounded result as the final quotient. 10. A computer-implemented method comprising: initializing, by a circuit integrated in a processor, an estimated quotient between a dividend and a divisor; receiving, by a separate floating-point unit (FPU) of the processor, the estimated quotient from the circuit; executing, by the separate floating-point unit (FPU) of the processor, a refinement process to refine the estimated quotient in FPU pipeline, the FPU pipeline including at least a first iteration of operations and a second iteration of operations, the refinement process comprises: in the first iteration of operations, generating, by the processor, a first unnormalized floating-point value using the initialized estimated quotient; in the second iteration of operations, generating, by the processor, a second unnormalized floating-point value using the first unnormalized floating-point value; and determining, by the separate FPU of the processor, a final quotient between the dividend and the divisor based on the second unnormalized floating-point value. 11. The computer-implemented method of claim 10 , further comprising: inputting, by the processor, a sum component and a carry component of an estimated reciprocal of the divisor into a carry-save adder (CSA); performing, by the processor, Booth recoding on an output from the CSA, wherein the output is based on the sum component and the carry component; wherein initializing the estimated quotient comprises using the Booth recoded output, the dividend, and the divisor. 12. The computer-implemented method of claim 11 , further comprising: multiplying, by the processor, the Booth recoded output with the dividend to initialize the estimated quotient; and multiplying, by the processor, the Booth recoded output with the divisor to initialize another estimated quotient. 13. The computer-implemented method of claim 10 , further comprising performing, by the processor, a fixed shift on the first unnormalized floating-point value to remove at least one leading zero among the first unnormalized floating-point value to generate the second unnormalized floating-point value. 14. The computer-implemented of claim 13 , wherein a number of leading zeros to remove using the fixed shift is based on a division scheme being implemented by the processor. 15. The computer-implemented method of claim 10 , further comprising normalizing, by the processor, the second unnormalized floating-point value. 16. The computer-implemented method of claim 10 , further comprising: adding, by the processor, a first value to a final estimated quotient to generate a first final estimated quotient, the final estimated quotient being a normalized value of the second unnormalized floating-point value; adding, by the processor, a second value to the final estimated quotient to generate a second final estimated quotient; determining, by the processor, a product between the first final estimated quotient and the divisor; comparing, by the processor, the product with the dividend; based on a result of the comparison, selecting, by the processor, a value between the second final estimated quotient and a sum of the second final estimated quotient with an added rounding term; and rounding, by the processor, the selected value to determine the final quotient. 17. The computer-implemented method of claim 16 , further comprising selecting, by the processor, the first v

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11314482B2 cover?
Methods and systems for division operation are described. A processor can initialize an estimated quotient between the dividend and the divisor separately from a floating-point unit (FPU) pipeline. The processor can implement the FPU pipeline to execute a refinement process that can include at least a first iteration of operations and a second iteration of operations. The refinement process can…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F7/4873. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 26 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).