IP Library Granted Patent US 6,965,908
Granted Patent B2
US 6,965,908 · App. 09/808,138 · Granted Nov 15, 2005

Multi-function floating point arithmetic pipeline

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,965,908
App. No.
09/808,138
Granted
Nov 15, 2005
Kind
B2
Abstract

A scalable engine having multiple datapaths, each of which is a unique multi-function floating point pipeline capable of performing a four component dot product on data in a single pass through the datapath, which allows matrix transformations to be computed in an efficient manner, with a high data throughput and without substantially increasing the cost and amount of hardware required to implement the pipeline.

Claims (53)

1. A datapath for processing input data, said datapath comprising:

at least one arithmetic pipeline, each pipeline inputting at least a portion of the input data and being controllable to perform at least one mathematical operation on the portion as it passes through the pipeline, each pipeline being capable of performing a four component dot product as the input data passes through said pipeline a single time,

wherein at least one pipeline is subdivided into a plurality of subsections, each subsection corresponding to a subset of the input data, and wherein at least one of said subsections comprises a flat four-input floating point adder module operating in parallel with floating point adders of other of said plurality of subsections.

2. The datapath of claim 1 , wherein said at least one of said subsections further comprises:

a floating point multiplier module.

3. The datapath of claim 1 , wherein said plurality of subsections comprise:

a floating point multiplier module; and

a two-input floating point adder module.

4. The datapath of claim 1 , wherein said at least one mathematical operation is a three component dot product that is performed as the input data passes through said pipeline a single time.

5. A datapath for processing input data, said datapath comprising:

at least one arithmetic pipeline, each pipeline inputting at least a portion of the input data and being controllable to perform at least one mathematical operation on the portion as it passes through the pipeline, each pipeline being capable of performing a four component dot product as the input data passes through said pipeline a single time,

wherein at least one pipeline is subdivided into a plurality of subsections, each subsection corresponding to a subset of the input data, and wherein at least one of said subsections comprises a floating point multiplier module and a flat four-input floating point adder module, and

wherein said floating point multiplier module inputs the portion of the input data and performs a floating point multiply operation, and said flat four-input floating point adder module performs a normalization operation on a result of the floating point multiply operation.

6. A datapath for processing input data, said datapath comprising:

at least one arithmetic pipeline, each pipeline inputting at least a portion of the input data and being controllable to perform at least one mathematical operation on the portion as it passes through the pipeline, each pipeline being capable of performing a four component dot product as the input data passes through said pipeline a single time,

wherein at least one pipeline is subdivided into a plurality of subsections, each subsection corresponding to a subset of the input data, and wherein at least one of said subsections comprises a floating point multiplier module and a flat four-input floating point adder module, and

wherein said subsection further comprises a floating point-to-integer converter module controllable to convert a floating point number into one of a plurality of integer types and sizes.

7. A datapath for processing input data, said datapath comprising:

at least one arithmetic pipeline, each pipeline inputting at least a portion of the input data and being controllable to perform at least one mathematical operation on the portion as it passes through the pipeline, each pipeline being capable of performing a four component dot product as the input data passes through said pipeline a single time,

wherein at least one pipeline is subdivided into a plurality of subsections, each subsection corresponding to a subset of the input data, wherein said plurality of subsections comprise a floating point multiplier module and a two-input floating point adder module, and

wherein said floating point multiplier module inputs the portion of the input data and performs a floating point multiply operation, and said two-input floating point adder module performs a normalization operation on a result of the floating point multiply operation.

8. A processor executing arithmetic operations on vertex data, said processor comprising:

a data processing engine coupled to a first stage of said graphics pipeline, said processing engine comprising at least one arithmetic pipeline, each pipeline inputting at least a portion of the input data and being controllable to perform at least one mathematical operation on the portion as it passes through the pipeline, each pipeline being capable of performing a four component dot product as the input data passes through said pipeline a single time,

wherein at least one arithmetic pipeline is subdivided into a plurality of subsections, each subsection corresponding to a subset of the input data, and wherein at least one of said subsections comprises a flat four-input floating point adder module operating in parallel with floating point adders of other of said plurality of subsections.

9. The processor of claim 8 , wherein said at least one of said subsections further comprises:

a floating point multiplier module.

10. The processor of claim 8 , wherein said plurality of subsections comprise:

a floating point multiplier module; and

a two-input floating point adder module.

11. The processor of claim 8 , wherein said at least one mathematical operation is a three component dot product that is performed as the input data passes through said arithmetic pipeline a single time.

12. A processor executing arithmetic operations on vertex data, said processor comprising:

a data processing engine coupled to a first stage of said graphics pipeline, said processing engine comprising at least one arithmetic pipeline, each pipeline inputting at least a portion of the input data and being controllable to perform at least one mathematical operation on the portion as it passes through the pipeline, each pipeline being capable of performing a four component dot product as the input data passes through said pipeline a single time,

wherein at least one arithmetic pipeline is subdivided into a plurality of subsections, each subsection corresponding to a subset of the input data, wherein at least one of said subsections comprises a floating point multiplier module and a flat four-input floating point adder module, and

wherein said floating point multiplier module inputs the portion of the input data and performs a floating point multiply operation, and said flat four-input floating point adder module performs a normalization operation on a result of the floating point multiply operation.

13. A processor executing arithmetic operations on vertex data, said processor comprising:

a data processing engine coupled to a first stage of said graphics pipeline, said processing engine comprising at least one arithmetic pipeline, each pipeline inputting at least a portion of the input data and being controllable to perform at least one mathematical operation on the portion as it passes through the pipeline, each pipeline being capable of performing a four component dot product as the input data passes through said pipeline a single time,

wherein at least one arithmetic pipeline is subdivided into a plurality of subsections, each subsection corresponding to a subset of the input data, wherein at least one of said subsections comprises a floating point multiplier module and a flat four-input floating point adder module, and

wherein said subsection further comprises a floating point-to-integer converter module controllable to convert a floating point number into one of a plurality of integer types and sizes.

14. A processor executing arithmetic operations on vertex data, said processor comprising:

a data processing engine coupled to a first stage of said graphics pipeline, said processing engine comprising at least one arithmetic pipeline, each pipeline inputting at least a portion of the input data and being controllable to perform at least one mathematical operation on the portion as it passes through the pipeline, each pipeline being capable of performing a four component dot product as the input data passes through said pipeline a single time,

wherein at least one arithmetic pipeline is subdivided into a plurality of subsections, each subsection corresponding to a subset of the input data, wherein said plurality of subsections comprise a floating point multiplier module and a two-input floating point adder module, and

wherein said floating point multiplier module inputs the portion of the input data and performs a floating point multiply operation, and said two-input floating point adder module performs a normalization operation on a result of the floating point multiply operation.

15. A graphics pipeline comprising:

a vertex engine coupled to a first stage of said graphics pipeline, said vertex engine comprising a plurality of datapaths, each datapath inputting vertex data and being controllable to perform at least one mathematical operation on the vertex data as the data passes through the datapath, wherein each datapath is capable of performing a three component dot product as the vertex data passes through said datapath a single time, and wherein a portion of the datapath comprises a flat four-input adder module operating in parallel with at least one floating point adder module of another portion of the datapath.

16. The graphics pipeline of claim 15 , wherein each datapath is capable of performing a four component dot product as the vertex data passes through said datapath a single time.

17. The graphics pipeline of claim 15 , wherein each datapath is a multi-function floating point pipeline.

18. A processor system comprising:

a processor; and

a data processing pipeline coupled to said processor, said data processing pipeline comprising at least one datapath, each datapath inputting data and being controllable to perform at least one mathematical operation on the data as the data passes through the datapath, wherein each datapath is capable of performing a four component dot product as the data passes through said datapath a single time, and wherein a portion of the datapath comprises a flat four-input adder module operating in parallel with at least one floating point adder module of another portion of the datapath.

19. A processor system comprising:

a processor; and

a graphics point pipeline coupled to said processor, said graphics pipeline comprising a vertex engine coupled to a first stage of said pipeline, said vertex engine comprising a plurality of datapaths, each datapath inputting vertex data and being controllable to perform at least one mathematical operation on the vertex data as the data passes through the datapath, wherein each datapath is capable of performing a three component dot product as the vertex data passes through said datapath a single time, and wherein a portion of the datapath comprises a flat four-input adder module operating in parallel with at least one floating point adder module of another portion of the datapath.

20. The system of claim 19 , wherein each datapath is capable of performing a four component dot product as the vertex data passes through said datapath a single time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2010
From: MICRON TECHNOLOGY, INC.
To: ROUND ROCK RESEARCH, LLC
Reel/Frame 023786/0416 →