1. A data processing system, comprising: at least one processing unit for an interleaved processing of multiple tasks; a cache associated with the at least one processing unit configured to cache data for multiple tasks to be processed by the at least one processing unit, said cache comprising a plurality of cache lines; a task scheduler configured to schedule multiple tasks to be processed in an interleaved manner by the at least one processing unit, wherein each of the plurality of cache lines is associated with one of the multiple tasks and the task scheduler comprises a scheduling table for storing its scheduling pattern; and a cache controller configured to select those cache lines in the cache to be evicted, wherein the selecting is performed based on the task scheduling of the task scheduler, such that cache lines corresponding to a next runnable task will not be evicted, and the cache controller comprises a victim control device configured to store a task identifier based upon an eviction status.