Multiplication of first and second operands using redundant representation

US9703531B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9703531-B2
Application numberUS-201514939469-A
CountryUS
Kind codeB2
Filing dateNov 12, 2015
Priority dateNov 12, 2015
Publication dateJul 11, 2017
Grant dateJul 11, 2017

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.

A method is provided for multiplying a first operand comprising at least two X-bit portions and a second operand comprising at least one Y-bit portion. At least two partial products are generated, each partial product comprising a product of a selected X-bit portion of the first operand and a selected Y-bit portion of the second operand. Each partial product is converted to a redundant representation in dependence on significance indicating information indicative of a significance of the partial product. In the redundant representation, the partial product is represented using a number of N-bit portions, and in a group of at least two adjacent N-bit portions, a number of overlap bits of a lower N-bit portion of the group have a same significance as some least significant bits of at least one upper N-bit portion of the group. The partial products are added while represented in the redundant representation.

First claim

Opening claim text (preview).

We claim: 1. A data processing method for multiplying a first operand comprising a plurality of X-bit portions and a second operand comprising at least one Y-bit portion, comprising: generating, by multiply circuitry, a plurality of partial products, each partial product comprising a product of a selected X-bit portion of the first operand and a selected Y-bit portion of the second operand; for each partial product, converting the partial product to a redundant representation in dependence on significance indicating information indicative of a significance of the partial product, wherein in said redundant representation the partial product is represented using a plurality of N-bit portions, where in a group of at least two adjacent N-bit portions of the redundant representation, a plurality of overlap bits of a lower N-bit portion of the group have a same significance as a plurality of least significant bits of at least one upper N-bit portion of the group; and adding the plurality of partial products represented in the redundant representation, wherein the adding of the partial products is performed using a plurality of N-bit add circuit units for performing independent N-bit additions in parallel using respective N-bit portions of the partial products represented in the redundant representation. 2. The method of claim 1 , wherein the adding of the partial products comprises accumulating the partial products into an accumulator register storing an accumulator value having said redundant representation. 3. The method of claim 1 , wherein the multiplying comprises a plurality of partial product accumulating operations, each partial product accumulating operation corresponding to a different pair of portions selected as said selected X-bit portion and said selected Y-bit portion, and comprising: multiplying the selected X-bit portion and the selected Y-bit portion to generate one of said plurality of partial products; converting said one of said plurality of partial products to the redundant representation in dependence on the significance indicating information; and adding said one of said plurality of partial products in said redundant representation to an accumulator value having said redundant representation to generate an updated accumulator value; wherein the updated accumulator value for one partial product accumulating operation is used as the accumulator value for a next partial product accumulating operation. 4. The method of claim 3 , wherein the partial product accumulating operations are performed in ascending order of significance of the partial products generated in each partial product accumulating operation; the method comprises performing a plurality of overlap propagation additions, each overlap propagation addition comprising adding the overlap bits of a given N-bit portion of the accumulator value to non-overlap bits of a following N-bit portion of the accumulator value; and at least one of said plurality of overlap propagation additions is performed in parallel with the adding step of at least one of said partial product accumulating operations. 5. The method of claim 1 , comprising performing an overlap propagation operation on a result of adding the plurality of partial products in the redundant representation, the overlap propagation operation comprising propagating the overlap bits of one or more N-bit portions of the result to one or more subsequent N-bit portions of the result. 6. The method of claim 1 , wherein the significance indicating information is dependent on a relative position of said selected X-bit portion within said first operand and said selected Y-bit portion within said second operand. 7. The method of claim 1 , wherein the significance indicating information is dependent on a significance indicating parameter associated with at least one of said selected X-bit portion and said selected Y-bit portion. 8. The method of claim 1 , wherein the significance indicating information is dependent on a parameter specified by an instruction for controlling processing circuitry to generate at least one of said partial products. 9. The method of claim 8 , wherein the significance indicating information is dependent on a parameter of the instruction identifying which X-bit portion of the first operand is said selected X-bit portion. 10. The method of claim 1 , wherein the first operand and the second operand comprise integers. 11. The method of claim 1 , wherein X≦53 and Y≦53. 12. The method of claim 11 , wherein each partial product is generated using a floating-point multiplying circuitry for multiplying significands of two floating-point values. 13. The method of claim 1 , comprising a step of mapping the first operand to a corresponding vector of floating-point values, each floating-point value having a significand mapped from a respective X-bit portion of the first operand and an exponent dependent on a significance of that X-bit portion within the first operand; wherein the significance indicating information for a given partial product is dependent on the exponent of the floating-point value corresponding to the selected X-bit portion used to generate said given partial product. 14. The method of claim 1 , wherein X=Y. 15. The method of claim 1 , wherein X is different to Y. 16. A data processing apparatus comprising processing circuitry configured to perform the method of claim 1 . 17. A data processing apparatus comprising: multiply circuitry to multiply a selected X-bit portion of a first operand comprising a plurality of X-bit portions and a selected Y-bit portion of a second operand comprising at least one Y-bit portion to generate a partial product; conversion circuitry to convert the partial product to a converted partial product having a redundant representation in dependence on significance indicating information indicative of a significance of the partial product, wherein in said redundant representation the partial product is represented using a plurality of N-bit portions, where in a group of at least two adjacent N-bit portions of the redundant representation, a plurality of overlap bits of a lower N-bit portion of the group have a same significance as a plurality of least significant bits of at least one upper N-bit portion of the group; and adding circuitry to add the converted partial product to an accumulator value having said redundant representation, wherein said adding circuitry comprises a plurality of N-bit add circuit units to perform independent N-bit additions in parallel using corresponding N-bit portions of the converted partial product and the accumulator value. 18. The data processing apparatus according to claim 17 , comprising control circuitry responsive to at least one multiply instruction to control the multiply circuitry and the conversion circuitry to generate a plurality of converted partial products in the redundant representation corresponding to different combinations of portions selected as said selected X-bit portion and said selected Y-bit portion, and the adding circuitry to add each of said plurality of partial products to the accumulator value.

Assignees

Inventors

Classifications

  • G06F7/5443Primary

    Sum of products (for applications thereof, see the relevant places, e.g. G06F17/10, H03H17/00) · CPC title

  • overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm · CPC title

  • G06F7/50Primary

    Adding; Subtracting (G06F7/483 - G06F7/491, G06F7/544 - G06F7/556 take precedence) · CPC title

  • partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers · 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 US9703531B2 cover?
A method is provided for multiplying a first operand comprising at least two X-bit portions and a second operand comprising at least one Y-bit portion. At least two partial products are generated, each partial product comprising a product of a selected X-bit portion of the first operand and a selected Y-bit portion of the second operand. Each partial product is converted to a redundant represen…
Who is the assignee on this patent?
Advanced Risc Mach Ltd
What technology area does this patent fall under?
Primary CPC classification G06F7/5443. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 11 2017 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).