IP Library › Granted Patent US 8,856,455
Granted Patent B2
US 8,856,455 · App. 13/433,022 · Granted Oct 7, 2014

Data cache block deallocate requests

Inventors: Sanjeev Ghai (Round Rock, TX); Guy L. Guthrie (Austin, TX); William J. Starke (Round Rock, TX); Jeff A. Stuecheli (Austin, TX); Derek E. Williams (Austin, TX); Phillip G. Williams (Leander, TX)
Assignee: International Business Machines Corporation
G06F12/0897G06F12/0815
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,856,455
App. No.
13/433,022
Granted
Oct 7, 2014
Kind
B2
Abstract

A data processing system includes a processor core supported by upper and lower level caches. In response to executing a deallocate instruction in the processor core, a deallocation request is sent from the processor core to the lower level cache, the deallocation request specifying a target address associated with a target cache line. In response to receipt of the deallocation request at the lower level cache, a determination is made if the target address hits in the lower level cache. In response to determining that the target address hits in the lower level cache, the target cache line is retained in a data array of the lower level cache and a replacement order field in a directory of the lower level cache is updated such that the target cache line is more likely to be evicted from the lower level cache in response to a subsequent cache miss.

Claims (24)

1. A processing unit, comprising:

a processor core including an upper level cache, wherein the upper level cache, in response to execution of a deallocate instruction, sends a deallocation request specifying a target address associated with a target cache line, wherein the processor core executes the deallocate instruction at completion of processing of a dataset including the target cache line and a plurality of other cache lines to promote eviction of the dataset from the processing unit; and

a lower level cache coupled to the processor core, the lower level cache including a data array, a directory of contents of the data array, and control logic, wherein the control logic, in response to receipt of the deallocation request at the lower level cache, determines if the target address hits in the directory and, in response to determining that the target address hits in the directory, retains the target cache line in the data array and updates a replacement order field in the directory such that the target cache line is more likely to be evicted from the lower level cache in response to a subsequent cache miss in a congruence class including the target cache line.

2. The processing unit of claim 1 , wherein, in response to receipt of the deallocation request, the control logic updates the replacement order field to make the target cache line least recently used (LRU).

3. The processing unit of claim 1 , wherein the control logic thereafter deallocates the target cache line from the lower level cache in response to a data access request missing in the lower level cache.

4. The processing unit of claim 1 , wherein:

the lower level cache includes a load and store pipelines for data access requests of the processor core; and

the lower level cache processes the deallocation request in the load pipeline.

5. The processing unit of claim 1 , wherein:

the lower level cache is inclusive of contents of the upper level cache; and

the processor core sends the deallocation request to the lower level cache regardless of whether or not the target address hits in the upper level cache.

6. The processing unit of claim 1 , wherein:

control logic includes a plurality of state machines that service processor data access requests; and

the control logic services the deallocation request without allocating one of the plurality of state machines to the deallocation request.

7. The processing unit of claim 1 , wherein the control logic, in response to determining that the target address hits in the lower level cache, retains a previous coherence state associated with the target cache line in the cache directory.

8. A data processing system, comprising:

a plurality of processing units including the processing unit of claim 1 ;

an interconnect fabric coupling the plurality of processing units; and

a system memory coupled in communication with the interconnect fabric.

9. The processing unit of claim 1 , wherein the control logic thereafter, in response to an access of the target cache line in the lower level cache prior to eviction of the target cache line from the lower level cache, refrains from updating the replacement order field.

10. A processing unit, comprising:

a processor core including an upper level cache, wherein the upper level cache, in response to execution of a deallocate instruction, sends a deallocation request specifying a target address associated with a target cache line; and

a lower level cache coupled to the processor core, the lower level cache including a data array, a directory of contents of the data array, and control logic, wherein the control logic, in response to receipt of the deallocation request at the lower level cache, determines if the target address hits in the directory and, in response to determining that the target address hits in the directory, retains the target cache line in the data array and updates a replacement order field in the directory such that the target cache line is more likely to be evicted from the lower level cache in response to a subsequent cache miss in a congruence class including the target cache line;

wherein the control logic thereafter, in response to an access of the target cache line in the lower level cache prior to eviction of the target cache line from the lower level cache, refrains from updating the replacement order field.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2012
From: GHAI, SANJEEV; GUTHRIE, GUY L.; STARKE, WILLIAM J.; STUECHELI, JEFF A.; WILLIAMS, DEREK E.; WILLIAMS, PHILLIP G.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 027952/0092 →
Continuity (1)
Related Publication 20130262777A1 · Oct 3, 2013