Dynamic cache architecture for a multi-processor array. The system
includes a plurality of processors, with at least one of the processors
configured as a parent processor, and at least one of the processors
configured as a child processor. A data cache is coupled to the parent
processor, and a dual port memory is respectively associated with each
child processor part and parcel of a unified memory architecture. The
parent processor may then dynamically distribute sub-cache components to
dual-port memories based upon a scatter-gather work unit decomposition
pattern. A parent cache controller reads, in response to a memory request
from a child processor and an address translation pattern from the parent
processor, a set of data from non-contiguous addresses of the data cache
according to the address translation pattern, and writes the set of data
to contiguous addresses of the dual port memory associated with the
requesting child processor.