A method of generating a stream of non-contiguous memory addresses
representing contiguous points in logical space is described. The method
comprises: generating initializing parameters describing the contiguous
points in the logical space; configuring a memory address engine with the
initializing parameters; performing an algorithm in the memory address
engine according to the initialising parameters to produce a plurality of
non-contiguous memory addresses; and collating the non-contiguous memory
addresses into the stream of memory addresses for output to a data
memory. The present invention has particular application to SIMD
processing techniques where there are a plurality of memory address
engines.