Arithmetic operation in a data processing system

US9348796B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9348796-B2
Application numberUS-201314031854-A
CountryUS
Kind codeB2
Filing dateSep 19, 2013
Priority dateSep 19, 2013
Publication dateMay 24, 2016
Grant dateMay 24, 2016

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.

An arithmetic operation in a data processing unit, preferably by iterative digit accumulations, is proposed. An approximate result of the arithmetic operation is computed iteratively. Concurrently at least two supplementary values of the approximate result of the arithmetic operation are computed, and the final result selected from one of the values of the approximate result and the at least two supplementary values of the arithmetic operation depending on the results of the last iteration step.

First claim

Opening claim text (preview).

What is claimed is: 1. A data processing unit, comprising: approximate result computation circuit that iteratively computes an approximate result of an arithmetic operation performed on at least first and second operands each having a respective sign; supplementary value computation circuitry including two data registers in which at least two supplementary values of the arithmetic operation are computed concurrently with iterative computation of the approximate result; selection circuitry that selects a final result of the arithmetic operation from among a set of data inputs including the approximate result and the at least two supplementary values depending on a result of a last iteration of iterative computation by the approximate result computation circuit, wherein the selection circuitry receives, as control inputs, operand sign signals representing the signs of the at least first and second operands and selects the final result in response to the operand sign signals. 2. The data processing unit according to claim 1 , wherein the selection circuitry comprises a multiplexing unit. 3. The data processing unit according to claim 1 , wherein the arithmetic operation is an SRT (Sweeney, Robertson, and Tocher) computation process. 4. The data processing unit according to claim 1 , wherein the arithmetic operation is one of a set including a division operation, square-root operation, addition operation, subtraction operation, and a multiplication operation. 5. The data processing unit according to claim 1 , wherein: the approximate result computation circuit iteratively computes an approximate result Q of the arithmetic operation by accumulating digit values q concatenated to a previous approximate result Q using a given radix r; the supplementary value computation circuitry computes iteratively the at least two supplementary values of the approximate result, Q−1 and Q−2, by accumulating digit values q−1 and q−2, respectively, concatenated to previous supplementary values Q−1 and Q−2 using the given radix r; remainder computation circuitry that computes a remainder P of the arithmetic operation concurrently with the supplementary value computation circuitry; and the selection circuitry selects, as the final result: a value of Q for the last iteration in response to the remainder P being greater than or equal to zero and Q being greater than or equal to zero; a value of Q−1 for the last iteration in response to P being less than zero and Q being greater than or equal to zero; a negation of a value of Q−1 for the last iteration in response to P being greater than or equal to zero and Q being less than zero; and a negation of a value of Q−2 for the last iteration in response to P being less than zero and Q being less than zero. 6. The data processing unit according to claim 5 , wherein an absolute value of the digit values q is less than the radix r. 7. A computer program product comprising: a data storage device; program code stored within the data storage device that, when executed on a computer, causes the computer to perform: computing iteratively an approximate result of the arithmetic operation performed on at least first and second operands each having a respective sign, concurrently with the computing iteratively, computing at least two supplementary values of the approximate result of the arithmetic operation, and selecting a final result of the arithmetic operation from among a set of data inputs including the approximate result and the at least two supplementary values depending on a result of a last iteration of the computing iteratively, wherein the selecting includes selecting the final result in response to operand sign signals representing the signs of the at least first and second operands. 8. The computer program product according to claim 7 , wherein the arithmetic operation is one of a set including a division operation, square-root operation, addition operation, subtraction operation, and a multiplication operation. 9. The computer program product according to claim 7 , wherein: the iteratively computing the approximate result comprises iteratively computing an approximate result Q of the arithmetic operation by accumulating digit values q concatenated to a previous approximate result Q using a given radix r; computing at least two supplementary values comprises computing iteratively the at least two supplementary values of the approximate result, Q−1 and Q−2, by accumulating digit values q−1 and q−2, respectively, concatenated to previous supplementary values Q−1 and Q−2 using the given radix r; the program code further causes the computer to compute, concurrently with the computation of the at least two supplementary values, a remainder value P of the arithmetic operation; the selecting the final result comprises: in response to P being greater than or equal to zero and Q being greater than or equal to zero, selecting as the final result a value of Q for the last iteration; in response to P being less than zero and Q being greater than or equal to zero, selecting as the final result a value of Q−1 for the last iteration; in response to P being greater than or equal to zero and Q being less than zero, selecting as the final result a negation of a value of Q−1 for the last iteration; and in response to P being less than zero and Q being less than zero, selecting as the final result a negation of a value of Q−2 for the last iteration. 10. The computer program product according to claim 9 , wherein an absolute value of the digit values q is less than the radix r.

Assignees

Inventors

Classifications

  • G06F17/10Primary

    Complex mathematical operations {(function generation by table look-up G06F1/03; evaluation of elementary functions by calculation G06F7/544)} · CPC title

  • G06F7/535Primary

    Dividing only · CPC title

  • Non restoring calculation, where each digit is either negative, zero or positive, e.g. SRT; · CPC title

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 US9348796B2 cover?
An arithmetic operation in a data processing unit, preferably by iterative digit accumulations, is proposed. An approximate result of the arithmetic operation is computed iteratively. Concurrently at least two supplementary values of the approximate result of the arithmetic operation are computed, and the final result selected from one of the values of the approximate result and the at least tw…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F17/10. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 24 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).