IP Library Granted Patent US 8,544,008
Granted Patent B2
US 8,544,008 · App. 11/721,434 · Granted Sep 24, 2013

Data processing system and method for cache replacement using task scheduler

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,544,008
App. No.
11/721,434
Granted
Sep 24, 2013
Kind
B2
Abstract

A data processing system is provided with at least one processing unit ( 1 ) for an interleaved processing of multiple tasks (T 1 -T 3 ), and a cache ( 5 ) associated to the at least one processing unit ( 1 ) for caching data for the multiple tasks (T 1 -T 3 ) to be processed by the at least one processing unit ( 1 ). The cache ( 5 ) is divided into a plurality of cache lines ( 6 ). Each of the cache lines ( 6 ) is associated to one of the multiple tasks (T 1 -T 3 ). Furthermore, a task scheduler ( 10 ) is provided for scheduling the multiple tasks (T 1 -T 3 ) to be processed in an interleaved manner by the at least one processing unit ( 1 ). A cache controller ( 20 ) is provided for selecting those cache lines ( 6 ) in the cache ( 5 ), which are to be evicted from the cache ( 5 ). This selection is performed based on the task scheduling of the task scheduler ( 10 ).

Claims (23)

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.

2. The data processing system according to claim 1 , wherein the task scheduler comprises:

a scheduling table configured to store its scheduling pattern; and the cache controller comprises:

a victim control device configured to store a task identifier for those cache lines which are to be evicted according to the scheduling pattern stored in the scheduling table.

3. The data processing system according to claim 1 , wherein the eviction status corresponds to those cache lines which are not to be evicted according to the scheduling pattern stored in the scheduling table.

4. 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, the cache controller comprises a victim control device configured to store a task identifier for those cache lines which are to be evicted according to the scheduling pattern stored in the scheduling table and the task scheduler updates the victim control device according to the scheduling pattern stored in the scheduling table.

5. A method for cache replacement in a cache associated to a processing unit for interleaved processing of multiple tasks, wherein the cache comprises a plurality of cache lines each being associated with one of the multiple tasks, the method comprising:

storing a scheduling pattern in a scheduling table;

scheduling one of the multiple tasks to be processed in an interleaved manner by the processing unit, wherein each of the plurality of cache lines is associated with one of the multiple tasks;

storing a task identifier in a victim control device for those cache lines based upon an eviction status;

selecting those cache lines in the cache to be evicted, wherein the selecting is performed based on the task scheduling and the stored task identifier such that cache lines corresponding to a next runnable task will not be evicted.

6. The method of claim 5 , further comprising:

storing information of the next runnable task in a look-up table.

7. The method of claim 5 , further comprising:

storing multiple contexts relating to different tasks in the processing unit.

Assignments (11)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2009
From: KONINKLIJKE PHILIPS ELECTRONICS N.V.
To: NXP B.V.
Reel/Frame 022856/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2007
From: KARLAPALEM, SAINATH; THOMAS, BIJO; BUSSA, NAGARAJU
To: NXP B. V.
Reel/Frame 019830/0192 →