COARSE GRAIN COHERENCY
First Claim
Patent Images
1. A general-purpose graphics processing device comprising:
- a general-purpose graphics processing compute block to process a workload including graphics or compute operations;
a first cache memory; and
a coherency module to enable the first cache memory to coherently cache data stored in memory within a virtual address space, wherein the virtual address space is shared with a separate general-purpose processor, the separate general-purpose processor including a second cache memory that is coherent with the first cache memory, wherein the coherency module tracks coherency for shared virtual memory at superline granularity, a superline including multiple cache lines.
1 Assignment
0 Petitions
Accused Products
Abstract
One embodiment provides for a general-purpose graphics processing device comprising a general-purpose graphics processing compute block to process a workload including graphics or compute operations, a first cache memory, and a coherency module enable the first cache memory to coherently cache data for the workload, the data stored in memory within a virtual address space, wherein the virtual address space shared with a separate general-purpose processor including a second cache memory that is coherent with the first cache memory.
12 Citations
20 Claims
-
1. A general-purpose graphics processing device comprising:
-
a general-purpose graphics processing compute block to process a workload including graphics or compute operations; a first cache memory; and a coherency module to enable the first cache memory to coherently cache data stored in memory within a virtual address space, wherein the virtual address space is shared with a separate general-purpose processor, the separate general-purpose processor including a second cache memory that is coherent with the first cache memory, wherein the coherency module tracks coherency for shared virtual memory at superline granularity, a superline including multiple cache lines. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method on an agent of a heterogeneous processing system, the method comprising:
-
receiving a request to access a virtual memory address from a process executing on the agent; determining if the agent has ownership of a first superline associated with the virtual memory address, the first superline associated with a memory region spanning multiple cache lines, wherein determining if the agent has ownership of the first superline includes reading an entry for the first superline from an on-die superline directory table cache; accessing the virtual memory address from the agent without triggering a snoop request when the agent has ownership of the first superline; and sending a region snoop request to acquire ownership of the first superline when the agent does not have ownership of the first superline. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A heterogeneous data processing system comprising:
-
a general-purpose processor including a first cache memory and a first coherency module; and a general-purpose graphics processor including a second cache memory and a second coherency module, wherein the first coherency module and the second coherency module enable heterogeneous coherency between the first cache memory and the second cache memory, the heterogeneous coherency enabled at multiple cache line granularity, wherein data storage for the first cache memory is managed at cache line granularity and coherence for shared virtual memory cached by the first cache memory and the second cache memory is managed at superline granularity. - View Dependent Claims (20)
-
Specification