IP Library Granted Patent US 10,078,590
Granted Patent B2
US 10,078,590 · App. 15/393,883 · Granted Sep 18, 2018

Technique to share information among different cache coherency domains

Inventors: Zeev Offen (Folsom, CA); Ariel Berkovits (Yuvalim, IL); Thomas A. Piazza (Setauket, NY); Robert L. Farrell (Granite Bay, CA); Altug Koker (El Dorado Hills, CA); Opher Kahn (Zichron Yacov, IL)
Assignee: Intel Corporation
G06F12/0831G06F12/0811G06F12/0822G06F12/0828G06F12/0835G06F13/1668G06F13/28G06F13/4282G06T1/60G11C7/1072G06F2212/283G06F2212/60G06F2212/621G06F2213/0026
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,078,590
App. No.
15/393,883
Granted
Sep 18, 2018
Kind
B2
Abstract

A technique to enable information sharing among agents within different cache coherency domains. In one embodiment, a graphics device may use one or more caches used by one or more processing cores to store or read information, which may be accessed by one or more processing cores in a manner that does not affect programming and coherency rules pertaining to the graphics device.

Claims (37)

1. A processor comprising:

a plurality of cores having a first processing architecture;

a first level cache, a second level cache, and a third level cache configured in a cache hierarchy within a cache coherency domain usable by at least one of the cores, at least one cache of the cache hierarchy to store information to be shared with one or more functional circuits having a second processing architecture;

a communication interconnect circuit to couple one or more of the plurality of cores to the one or more functional circuits over at least one bus; and

cache coherence circuitry to maintain coherence between at least one cache within the cache coherency domain of the at least one core and at least one cache of the one or more functional circuits;

wherein the cache coherence circuitry is to transfer information provided by at least one core within the cache hierarchy to make the information accessible to the at least one cache of the one or more of the functional circuits, and

wherein the cache coherence circuitry is to transfer information generated or modified by one or more of the functional circuits to make the information accessible to at least one cache of the cache hierarchy.

2. The processor as in claim 1 wherein the plurality of cores are formed on a first die and the one or more functional circuits are formed on a second die.

3. The processor as in claim 1 wherein the communication interconnect circuit comprises a PCI express (PCIe) communication interface.

4. The processor as in claim 1 wherein the one or more functional circuits are to perform one or more of: graphics processing functions, memory control functions, peripheral control functions, audio functions, video functions, disk control functions, and/or digital signal processing functions.

5. The processor as in claim 1 wherein at least one of the functional circuits comprises a graphics processing circuit.

6. The processor as in claim 1 wherein the cache coherency circuitry is to maintain coherence by processing snoop operations.

7. The processor as in claim 6 wherein the snoop operations are initiated by the cores or by the functional circuits.

8. A method comprising:

storing information in at least one cache of a cache hierarchy accessible by one or more cores having a first processing architecture, the information to be shared with one or more functional circuits having a second processing architecture, the cache hierarchy including a first level cache, a second level cache, and a third level cache within a cache coherency domain usable by at least one of the cores;

coupling one or more of a plurality of cores to the one or more functional circuits over at least one bus; and

maintaining coherence between at least one cache within the cache coherency domain of the at least one core and at least one cache of the one or more functional circuits;

wherein maintaining coherence comprises transferring information provided by at least one core within the cache hierarchy to make the information accessible to the at least one cache of the one or more of the functional circuits, and

transferring information generated or modified by one or more of the functional circuits to make the information accessible to at least one cache of the cache hierarchy.

9. The method as in claim 8 wherein the plurality of cores are formed on a first die and the one or more functional circuits are formed on a second die.

10. The method as in claim 8 wherein said coupling the one or more of the plurality of cores to the one or more functional circuits comprises coupling the one or more of the plurality of cores to the one or more functional circuits via a PCI express (PCIe) communication interface.

11. The method as in claim 8 wherein the one or more functional circuits are to perform one or more of: graphics processing functions, memory control functions, peripheral control functions, audio functions, video functions, disk control functions, and/or digital signal processing functions.

12. The method as in claim 8 wherein at least one of the functional circuits comprises a graphics processing circuit.

13. The method as in claim 8 wherein maintaining coherence comprises processing snoop operations.

14. The method as in claim 13 wherein the snoop operations are initiated by the cores or by the functional circuits.

15. A processor comprising:

means for storing information in at least one cache of a cache hierarchy accessible by one or more cores having a first processing architecture, the information to be shared with one or more functional circuits having a second processing architecture, the cache hierarchy including a first level cache, a second level cache, and a third level cache within a cache coherency domain usable by at least one of the cores;

means for coupling one or more of a plurality of cores to the one or more functional circuits; and

means for maintaining coherence between at least one cache within the cache coherency domain of the at least one core and at least one cache of the one or more functional circuits;

wherein maintaining coherence comprises transferring information provided by at least one core within the cache hierarchy to make the information accessible to the at least one cache of the one or more of the functional circuits, and

transferring information generated or modified by one or more of the functional circuits to make the information accessible to at least one cache of the cache hierarchy.

16. The processor as in claim 15 wherein the plurality of cores are formed on a first die and the one or more functional circuits are formed on a second die.

17. The processor as in claim 15 wherein said means for coupling comprises a PCI express (PCIe) communication interface.

18. The processor as in claim 15 wherein the one or more functional circuits are to perform one or more of: graphics processing functions, memory control functions, peripheral control functions, audio functions, video functions, disk control functions, and/or digital signal processing functions.

19. The processor as in claim 15 wherein at least one of the functional circuits comprises a graphics processing circuit.

20. The processor as in claim 15 wherein maintaining coherence comprises processing snoop operations.

21. The processor as in claim 20 wherein the snoop operations are initiated by the cores or by the functional circuits.

Assignments (3)
PATENT SALE AGREEMENT Recorded Nov 9, 2022
From: INTEL CORPORATION
To: FACEBOOK, INC.
Reel/Frame 062556/0479 →
CHANGE OF NAME Recorded May 26, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 060199/0363 →
PATENT SALE AGREEMENT Recorded May 26, 2022
From: INTEL CORPORATION
To: FACEBOOK, INC.
Reel/Frame 060200/0894 →
Continuity (5)
Continuation 14158865 · Jan 20, 2014
Continuation 13722440 · Dec 20, 2012
Continuation 13447279 · Apr 15, 2012
Continuation 12057601 · Mar 28, 2008
Related Publication 20170109280A1 · Apr 20, 2017