Patent ID: 7797493

Claim:
A data processing device for processing a two-dimensional array of data elements, the data processing device comprising a main memory unit having a main memory for storing the array, a processing unit, which is adapted to sequentially process data blocks forming two-dimensional sub-arrays of the array, and to provide read requests for data elements of a sliding search area that extends over a preset number of data block columns and data block lines of the array, a high-level cache unit, which has a high-level cache-memory connected to the main memory, and which is adapted to fetch from the main memory data blocks for forming a sliding region of an image larger than the sliding search area, pre-fetch data-elements of the stored sliding region, which are needed to update the sliding search area, from the high-level cache memory to a first pre-fetch buffer, and provide these data-elements at the output of the first pre-fetch buffer, a low-level cache unit, which has a low-level cache memory connected directly between the processing unit and the first pre-fetch buffer, and which is adapted to derive a parameter from the read request, store and update the sliding search area in the low-level cache memory concurrently with the above fetching and pre-fetching operations of the high-level cache unit, using the data-elements provided at the output of the first pre-fetch buffer, and select and output requested data-elements, using the parameter, to the processing unit concurrently with the above fetching and pre-fetching operations of the high-level cache unit.