1. A data processing system, comprising: a memory; a data processor core adapted for processing software threads; and an integrated array data processor for processing imaging algorithms; the integrated array data processor having i) an array of programmable arithmetic execution units, ii) a unit for loading algorithms to the array of programmable arithmetic execution units; and a plurality of pipeline stages for processing data; and a joint cache shared between the data processor core and the array data processor; the cache being connected to the memory; the data processing system further including: a buffer for storing a list algorithms to be loaded by the unit for loading algorithms, the list being generated by the data processor core.