IP Library Granted Patent US 8,169,440
Granted Patent B2
US 8,169,440 · App. 11/754,901 · Granted May 1, 2012

Parallel data processing apparatus

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 8,169,440
App. No.
11/754,901
Granted
May 1, 2012
Kind
B2
Abstract

A method of processing data relating to geometrical primitives is disclosed. Each of the primitives has a plurality of vertices. The method uses a plurality of processing elements in parallel with one another, and comprises assigning respective vertex data to the processing elements, on each processing element, and in parallel with one another, performing at least one processing step on vertex data to produce processed vertex data, and transferring processed vertex data between processing elements so as to assemble primitive data.

Claims (27)

1. A method of processing data relating to geometrical primitives, each of which has a plurality of vertices, and comprising the steps of:

using a plurality of single instruction multiple data (SIMD) processing arrays to process the data, wherein each SIMD array comprises a plurality of processing elements configured to process data in parallel with each another;

wherein processing the data comprises,

assigning respective vertex data to the processing elements, and

on each processing element, performing at least one processing step on vertex data to produce processed vertex data,

using a linear expression evaluator (LEE) circuit, which is coupled to each SIMD processing array in the plurality of SIMD processing arrays, to evaluate a linear expression,

wherein the linear expression is of the form ax i +by i +c, wherein x i and y i are variables associated with pixels, and a, b and c are coefficients,

wherein the LEE is coupled to each SIMD processing array through a feedback bus, which enables data to flow from each processing element in the SIMD to the LEE and back to processing element, and

wherein the feedback bus includes a feedback buffer (FBB) to store the coefficients a, b and c.

2. A method as claimed in claim 1 , wherein at least one processing element stores data relating to at least one of the geometrical primitives.

3. A method as claimed in claim 1 , wherein each processing element stores data relating to at least on geometrical primitive.

4. A method as claimed in claim 1 , wherein the processed vertex data is transferred between processing elements using direct inter-processing element connections.

5. A method as claimed in claim 1 , wherein the processing step is chosen from a group including transformation to screen space, geometry, lighting and shading processing steps.

6. The method of claim 1 , wherein using the plurality of SIMD processing arrays involves using a binning circuit, which is coupled to each array of SIMD processing units, to facilitate sorting processed vertex data from the processing elements in each SIMD processing array.

7. A graphical data processing apparatus comprising:

a plurality of single instruction multiple data (SIMD) processing arrays, wherein each SIMD array comprises a plurality of processing elements configured in parallel with one another such that each SIMD array is operable to process a plurality of instruction threads in parallel with one another, and

a controller operable to assign respective vertex data to the processing elements, which vertex data relates to geometrical primitives, wherein each processing element is operable to perform at least one processing step on vertex data to produce processed vertex data,

wherein the controller is operable to assemble primitive data by causing processed image data to be transferred between processing elements; and

a linear expression evaluator (LEE) circuit coupled to each SIMD processing array in the plurality of SIMD processing arrays,

wherein the LEE is configured to evaluate a linear expression of the form ax i +by i +c, wherein x i and y i are variables associated with pixels, and a, b and c are coefficients,

wherein the LEE is coupled to each SIMD processing array through a feedback bus, which enables data to flow from each processing element in the SIMD to the LEE and back to processing element, and

wherein the feedback bus includes a feedback buffer (FBB) to store the coefficients a, b and c.

8. An apparatus as claimed in claim 7 , wherein the controller operable to cause at least one processing element to store data relating to at least one of the geometrical primitives.

9. An apparatus as claimed in claim 7 , wherein the controller is operable to cause each processing element to store data relating to at least one geometrical primitive.

10. An apparatus as claimed in claim 7 , comprising direct inter-processing element connections for transfer of processed vertex data therebetween.

11. An apparatus as claimed in claim 7 , wherein the processing step is chosen from a group including transformation to screen space, geometry, lighting and shading processing steps.

12. The apparatus of claim 7 , further comprising a binning circuit, which is coupled to each array of SIMD processing units, to facilitate sorting processed vertex data from the processing elements in each SIMD processing array.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2010
From: CLEARSPEED TECHNOLOGY LTD
To: RAMBUS INC.
Reel/Frame 024964/0861 →
CHANGE OF NAME Recorded Jun 18, 2010
From: CLEARSPEED TECHNOLOGY PLC
To: CLEARSPEED TECHNOLOGY LIMITED
Reel/Frame 024555/0672 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2010
From: STUTTARD, DAVE; WILLIAMS, DAVE; O'DEA, EAMON; FAULDS, GORDON; RHOADES, JOHN; CAMERON, KEN; ATKIN, PHIL; WINSER, PAUL; DAVID, RUSSELL; MCCONNELL, RAY; DAY, TIM; GREER, TREY
To: CLEARSPEED TECHNOLOGY PLC
Reel/Frame 024554/0207 →