IP Library Granted Patent US 8,174,530
Granted Patent B2
US 8,174,530 · App. 11/759,205 · Granted May 8, 2012

Parallel date 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,174,530
App. No.
11/759,205
Granted
May 8, 2012
Kind
B2
Abstract

A data processing apparatus includes a plurality of processing elements arranged in a single instruction multiple data array for processing data relating to graphical primitives. Vertex data relating to graphical primitives is used as feedback data for the processing elements for additional processing.

Claims (33)

1. A method of processing data relating to geometrical primitives, each of which has a plurality of vertices, the method using a single instruction multiple data (SIMD) processing apparatus including an array of processing elements, the method comprising the steps of:

assigning data of each different vertex to a different one of the processing elements in the array; and

on each processing element, and in parallel with one another, producing processed vertex data by performing at least one processing step on vertex data assigned to said processing element by said assigning step;

supplying the processed vertex data as feedback data to a mathematical expression evaluator (MEE) through a feedback path,

wherein the MEE is separate from the array of processing elements and evaluates a mathematical expression to produce a data input for each of the processing elements, and

wherein the feedback path includes direct connections to the processing elements and includes a feedback buffer that stores coefficients from the processing elements for the MEE; and

using the feedback path through the feedback buffer and the MEE to communicate data between processing elements, wherein a given data item is communicated as a constant coefficient with other variable coefficients being set to zero.

2. A method as claimed in claim 1 , wherein the feedback data are retrieved from a memory store internal to a processing element.

3. A method as claimed in claim 1 , wherein the feedback data are retrieved from a register internal to a processing element.

4. A method as claimed in claim 1 , wherein the feedback data are buffered before being supplied to the MEE.

5. A method as claimed in claim 1 , wherein the feedback data is supplied by one of the processing elements in the array.

6. A method as claimed in claim 1 , wherein the feedback data is supplied by a plurality of the processing elements in the array.

7. A method as claimed in claim 1 , wherein the array is a SIMD array operable to process a plurality of instruction threads in parallel with one another.

8. A method as claimed in claim 1 , wherein the array is arranged in a plurality of SIMD arrays operable to process a plurality of instruction threads in parallel with one another.

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

10. A single instruction multiple data (SIMD) graphical data processing apparatus for processing data relating to geometrical primitives, the apparatus comprising:

an array of processing elements; and

a control device operable to assign data of each different vertex to a different one of the processing elements;

wherein each processing element is operable to produce processed vertex data by performing, in parallel with other processing elements, at least one processing step on vertex data assigned to said processing element by said assignment;

a mathematical expression evaluator (MEE), which is separate from the array of processing elements; and

a feedback bus, wherein the feedback bus is configured to supply the processed vertex data from the array of processing elements to the MEE, wherein the feedback bus includes direct connections to the processing elements and includes a feedback buffer that stores coefficients from the processing elements for the MEE;

wherein the MEE receives the processed vertex data and evaluates a mathematical expression to produce a data input for each of the processing elements; and

wherein the apparatus is configured to use the feedback path through the feedback buffer and the MEE to communicate data between processing elements, wherein a given data item is communicated as a constant coefficient with other variable coefficients being set to zero.

11. An apparatus as claimed in claim 10 , wherein the feedback data is retrieved from a memory store internal to a processing element.

12. An apparatus as claimed in claim 10 , wherein the feedback data is retrieved from a register internal to a processing element.

13. An apparatus as claimed in claim 10 , wherein the control device includes a data buffer operable to buffer the feedback data before that data is supplied to the array.

14. An apparatus as claimed in claim 10 , wherein the feedback data is supplied by one of the processing elements.

15. An apparatus as claimed in claim 10 , wherein the feedback data is supplied by a plurality of the processing elements.

16. An apparatus as claimed in claim 10 , wherein the array is arranged as a plurality of SIMD arrays.

17. An apparatus as claimed in claim 10 , wherein the array is a SIMD array, and is operable to process a plurality of instruction threads in parallel with one another.

18. An apparatus as claimed in claim 10 , wherein the array is arranged in a plurality of SIMD arrays, the arrays being operable to process a plurality of instruction threads in parallel with one another.

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

20. An apparatus as claimed in claim 10 , wherein the at least one processing step is chosen from a group including transformation to screen space, geometry, lighting and shading processing steps.

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 Apr 29, 2008
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 020875/0127 →