Maintaining even and odd array pointers to extreme values by searching and comparing multiple elements concurrently where a pointer is adjusted after processing to account for a number of pipeline stages
First Claim
Patent Images
1. A method comprising:
- retrieving a pair of data elements from an array of elements in a single fetch operation, wherein the pair of data elements includes an even data element and an odd data element;
substantially comparing the even element of the pair with an even extreme value;
if the even element of the pair exceeds the even extreme value, storing the even element of the pair as the even extreme value and storing a parameter indicative of an address of the even element of the pair in a pointer register, wherein storing the parameter indicative of an address of the even element of the pair in a pointer register comprises maintaining a first pointer register to store an address for the extreme value of the even data elements;
concurrent with said comparing the even element of the pair with the even extreme value, comparing the odd element of the pair with an odd extreme value;
if the odd element of the pair exceeds the odd extreme value, storing the odd element of the pair as the odd extreme value, and further comprising maintaining a second pointer register to store an address for the extreme value of the odd data elements;
substantially fetching and comparing remaining pairs of data elements of the array until all of the data elements of the array have been processed; and
adjusting at least one of the pointer registers after processing all of the pairs of data elements to account for a number of stages in a pipeline.
3 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a programmable processor searches an array of N data elements in response to N/M machine instructions, where the processor has a pipeline configured to process M data elements in parallel. In response to the machine instructions, a control unit directs the pipeline to retrieve M data elements from the array of elements in a single fetch cycle, concurrently compare the data elements to M current extreme values, and update the current extreme values, as well as M references to the current extreme values, based on the comparisons.
388 Citations
4 Claims
-
1. A method comprising:
-
retrieving a pair of data elements from an array of elements in a single fetch operation, wherein the pair of data elements includes an even data element and an odd data element; substantially comparing the even element of the pair with an even extreme value; if the even element of the pair exceeds the even extreme value, storing the even element of the pair as the even extreme value and storing a parameter indicative of an address of the even element of the pair in a pointer register, wherein storing the parameter indicative of an address of the even element of the pair in a pointer register comprises maintaining a first pointer register to store an address for the extreme value of the even data elements; concurrent with said comparing the even element of the pair with the even extreme value, comparing the odd element of the pair with an odd extreme value; if the odd element of the pair exceeds the odd extreme value, storing the odd element of the pair as the odd extreme value, and further comprising maintaining a second pointer register to store an address for the extreme value of the odd data elements; substantially fetching and comparing remaining pairs of data elements of the array until all of the data elements of the array have been processed; and adjusting at least one of the pointer registers after processing all of the pairs of data elements to account for a number of stages in a pipeline. - View Dependent Claims (2, 3, 4)
-
Specification