An apparatus and method are provided for updating one or more pluralities of
pointers
(i.e. one or more vector pointers) which are used for accessing one or more pluralities
of data elements (i.e. one or more vector data elements) in a multi-ported memory.
A first register file holds the vector pointers, a second register file holds stride
data, and a plurality of functional units combine data from the second register
file with data from the first register file. The results of combining the data
are transferred to the first register file and represent updated vector pointers.
Furthermore, a third register file is provided for holding modulus selector data
to specify the size of a circular buffer for circular addressing.