IP Library Granted Patent US 10,089,229
Granted Patent B2
US 10,089,229 · App. 15/401,220 · Granted Oct 2, 2018

Cache allocation with code and data prioritization

Inventors: Andrew J. Herdrich (Hillsboro, OR); Edwin Verplanke (Chandler, AZ); Ravishankar Iyer (Portland, OR); Christopher C. Gianos (Sterling, MA); Jeffrey D. Chamberlain (Tracy, CA); Ronak Singhal (Portland, OR); Julius Mandelblat (Haifa, IL); Bret L. Toll (Hillsboro, OR)
Assignee: Intel Corporation
G06F12/0804G06F12/084G06F12/0811G06F12/0842G06F12/0864G06F12/0875G06F12/0897G06F2212/1004G06F2212/1016G06F2212/604
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 10,089,229
App. No.
15/401,220
Granted
Oct 2, 2018
Kind
B2
Abstract

Systems and methods for cache allocation with code and data prioritization. An example system may comprise: a cache; a processing core, operatively coupled to the cache; and a cache control logic, responsive to receiving a cache fill request comprising an identifier of a request type and an identifier of a class of service, to identify a subset of the cache corresponding to a capacity bit mask associated with the request type and the class of service.

Claims (39)

1. An apparatus, comprising:

a cache;

a cache control logic circuitry, to:

responsive to receiving a cache fill request comprising an identifier of a request type and an identifier of a class of service, identify a subset of the cache corresponding to a capacity bit mask associated with the request type and the class of service, and

fulfill the cache fill request.

2. The apparatus of claim 1 , wherein the cache is a set-associated cache comprising a plurality of sets, each set comprising a plurality of cache entries corresponding to a plurality of cache ways.

3. The apparatus of claim 1 , wherein the capacity bit mask comprises a plurality of bits, each bit identifying a cache subset for storing a data item characterized by the request type and the class of service.

4. The apparatus of claim 1 , further comprising:

a processing core, wherein the processing core is to tag the cache fill request with the identifier of the request type and the identifier of the class of service.

5. The apparatus of claim 1 , wherein the cache is at least one of: a level 2 cache incorporated into a processing core or a level 3 cache external to the processing core.

6. The apparatus of claim 1 , further comprising:

a processing core, wherein the processing core further comprises a software-writable register to store the class of service.

7. The apparatus of claim 1 , further comprising:

a processing core, wherein the processing core further comprises a software-writable register to store the capacity bit mask corresponding to the class of service and the request type.

8. The apparatus of claim 1 , further comprising:

a processing core, wherein the processing core further comprises a software-readable register to notify platform software of one of: a total number of classes of service or a size of the capacity bit mask.

9. The apparatus of claim 1 , further comprising a memory to store a data structure comprising a plurality of mappings, each mapping associating a class of service with a plurality of capacity bit masks, each capacity bit mask corresponding to a request type.

10. A method, comprising:

receiving a cache fill request with respect to a cache, the cache fill request comprising an identifier of a request type and an identifier of a class of service;

identifying a capacity bit mask associated with the request type and the identifier of the class of service;

identifying a subset of the cache corresponding to the capacity bit mask; and

fulfilling the cache fill request using the identified subset of the cache.

11. The method of claim 10 , wherein the cache is a set-associated cache comprising a plurality of sets, each set comprising a plurality of cache entries corresponding to a plurality of cache ways.

12. The method of claim 10 , wherein the capacity bit mask comprises a plurality of bits, each bit of a pre-defined value identifying a cache subset for storing a data item characterized by the request type and the class of service.

13. The method of claim 10 , wherein identifying the capacity bit mask comprises:

performing lookup in a memory data structure comprising a plurality of mappings, each mapping associating a class of service with a plurality of capacity bit masks, each capacity bit mask corresponding to a request type.

14. An integrated circuit comprising:

a cache control logic circuitry, the cache control logic circuitry to:

receive a cache fill request with respect to a cache, the cache fill request comprising an identifier of a request type and an identifier of a class of service;

identify a capacity bit mask associated with the request type and the class of service; and

identify a subset of the cache corresponding to the capacity bit mask.

15. The integrated circuit of claim 14 , wherein the cache control logic circuitry is further to:

fulfil the cache fill request using the identified subset of the cache.

16. The integrated circuit of claim 14 , wherein the cache is a set-associated cache comprising a plurality of sets, each set comprising a plurality of cache entries corresponding to a plurality of cache ways.

17. The integrated circuit of claim 14 , wherein the capacity bit mask comprises a plurality of bits, each bit identifying a cache subset to allocate for storing a data item characterized by the request type and the class of service.

18. The integrated circuit of claim 14 , wherein to identify the capacity bit mask, the cache control logic circuitry is further to:

perform lookup in a memory data structure comprising a plurality of mappings, each mapping associating a class of service with a plurality of capacity bit masks, each capacity bit mask corresponding to a request type.

19. The integrated circuit of claim 14 , wherein the memory data structure is stored in the cache.

20. The integrated circuit of claim 14 , wherein the cache is at least one of: a level 2 cache incorporated into a processing core or a level 3 cache external to the processing core.

Continuity (2)
Continuation 14680287 · Apr 7, 2015
Related Publication 20170192887A1 · Jul 6, 2017