CIRCULAR BUFFER SUPPORT IN A SINGLE INSTRUCTION MULTIPLE DATA (SIMD) DATA PROCESSSOR
First Claim
1. A method for generating a control vector for accessing a circular buffer in a data processing system, the circular buffer comprising a plurality of storage elements that are arranged sequentially from a designated first storage element to a designated last storage element, and when the designated last storage element of the plurality of storage elements is accessed, the access continuing in a sequential order continuing with the designated first storage element, the method comprising:
- determining a beginning storage element of the plurality of storage elements to be accessed;
determining an offset value of the beginning storage element, the offset value determined to be a predetermined number of storage elements from the designated first storage element to the beginning storage element; and
determining the control vector based on the offset value, the control vector comprising a plurality of index values, each of the plurality of index values corresponding to one of the plurality of storage elements to be accessed in the sequential order from the beginning storage element to an ending storage element.
19 Assignments
0 Petitions
Accused Products
Abstract
A method is provided for generating a control vector. The method comprising: providing a circular buffer having a plurality of storage elements that are arranged sequentially from a designated first storage element to a designated last storage element, and when the designated last storage element of the plurality of storage elements is accessed, the access continuing in a sequential order continuing with the designated first storage element; determining a beginning storage element of the plurality of storage elements to be accessed; and generating a control vector, the control vector comprising a plurality of index values, each of the plurality of index values corresponding to one of the plurality of storage elements of the circular buffer to be accessed in the sequential order from the beginning storage element to an ending storage element.
-
Citations
20 Claims
-
1. A method for generating a control vector for accessing a circular buffer in a data processing system, the circular buffer comprising a plurality of storage elements that are arranged sequentially from a designated first storage element to a designated last storage element, and when the designated last storage element of the plurality of storage elements is accessed, the access continuing in a sequential order continuing with the designated first storage element, the method comprising:
-
determining a beginning storage element of the plurality of storage elements to be accessed; determining an offset value of the beginning storage element, the offset value determined to be a predetermined number of storage elements from the designated first storage element to the beginning storage element; and determining the control vector based on the offset value, the control vector comprising a plurality of index values, each of the plurality of index values corresponding to one of the plurality of storage elements to be accessed in the sequential order from the beginning storage element to an ending storage element. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. In a data processing system having a plurality of general purpose registers, a method comprising:
-
forming a circular buffer from a plurality of storage elements of the plurality of general purpose registers, wherein the plurality of storage elements store a plurality of circular buffer values; in response to a first instruction, combining a base address with an offset value to form an effective address for calculating a plurality of circular buffer index values; and extracting a plurality of circular buffer data values in response to a second instruction, wherein the second instruction identifies a first source register, a second source register, and a destination register, all from the plurality of general purpose registers, the first source register for storing the plurality of circular buffer index values, the second source register for storing the circular buffer values, and the destination register for storing a result of executing the second instruction, wherein each index value of the plurality of circular buffer index values stored in the first source register corresponds to a particular vector element location of the circular buffer indicated by the index value and results in a circular buffer value stored at the particular vector element location being stored into a predetermined vector element of the destination register. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A method comprising:
-
providing a circular buffer having a plurality of storage elements that are arranged sequentially from a designated first storage element to a designated last storage element, and when the designated last storage element of the plurality of storage elements is accessed, the access continuing in a sequential order continuing with the designated first storage element; determining a beginning storage element of the plurality of storage elements to be accessed; and generating a control vector, the control vector comprising a plurality of index values, each of the plurality of index values corresponding to one of the plurality of storage elements of the circular buffer to be accessed in the sequential order from the beginning storage element to an ending storage element. - View Dependent Claims (17, 18, 19, 20)
-
Specification