IP Library › Granted Patent US 7,120,755
Granted Patent B2
US 7,120,755 · App. 10/039,060 · Granted Oct 10, 2006

Transfer of cache lines on-chip between processing cores in a multi-core system

Assignee: Intel Corporation
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 7,120,755
App. No.
10/039,060
Granted
Oct 10, 2006
Kind
B2
Abstract

Cache coherency is maintained between the dedicated caches of a chip multiprocessor by writing back data from one dedicated cache to another without routing the data off-chip. Various specific embodiments are described, using write buffers, fill buffers, and multiplexers, respectively, to achieve the on-chip transfer of data between dedicated caches.

Claims (55)

1. An apparatus, comprising:

an integrated circuit including:

a first processor with a first dedicated cache;

a second processor with a second dedicated cache; and

control logic, coupled to the first and second dedicated caches, having:

a first multiplexer coupled to the first and second caches to receive a first cache line from the first dedicated cache and to provide the first cache line to the second dedicated cache; and

a second multiplexer coupled to the first and second caches to receive a second cache line from the second dedicated cache and to provide the second cache line to the first dedicated cache.

2. The apparatus of claim 1 , wherein:

the control logic is to transfer the first cache line if the first cache line is a cache line in the first dedicated cache and not in the second dedicated cache.

3. The apparatus of claim 1 , wherein:

the control logic is to transfer the first cache line if the first cache line is a modified version of a particular cache line and the second dedicated cache contains an unmodified version of the particular cache line.

4. The apparatus of claim 1 , further comprising:

a coherency unit to perform snoop operations on the first and second dedicated caches.

5. The apparatus of claim 1 , wherein the integrated circuit further includes:

a shared cache coupled to the control logic, to the first dedicated cache, and to the second dedicated cache;

wherein the control logic is further to transfer a second cache line from the second dedicated cache to the first dedicated cache;

wherein the control logic includes a first write buffer to receive the first cache line from the first dedicated cache and to provide the first cache line to the shared cache, and further includes a second write buffer to receive the second cache line from the second dedicated cache and provide the second cache line to the shared cache;

wherein the shared cache is to provide the first cache line to the second dedicated cache and to provide the second cache line to the first dedicated cache.

6. An apparatus, comprising:

an integrated circuit including:

a first processor with a first dedicated cache;

a second processor with a second dedicated cache; and

control logic, coupled to the first and second dedicated caches, having:

a first fill buffer coupled to the first and second dedicated caches to receive a first cache line from the first dedicated cache and to provide the first cache line to the second dedicated cache; and

a second fill buffer coupled to the first and second dedicated caches to receive a second cache line from the second dedicated cache and to provide the second cache line to the first dedicated cache.

7. The apparatus of claim 6 , further comprising:

a coherency unit to perform snoop operations on the first and second dedicated caches.

8. The apparatus of claim 6 , wherein the integrated circuit further includes:

a shared cache coupled to the control logic, to the first dedicated cache, and to the second dedicated cache;

wherein the control logic is further to transfer a second cache line from the second dedicated cache to the first dedicated cache;

wherein the control logic includes a first write buffer to receive the first cache line from the first dedicated cache and to provide the first cache line to the shared cache, and further includes a second write buffer to receive the second cache line from the second dedicated cache and provide the second cache line to the shared cache;

wherein the shared cache is to provide the first cache line to the second dedicated cache and to provide the second cache line to the first dedicated cache.

9. A method, comprising:

transferring a first cache line directly from a first dedicated cache of a chip multi-processor to a first multiplexer within control logic coupled to the first cache in the chip multi-processor;

subsequently transferring the first cache line from the first multiplexer directly to a second dedicated cache of the chip multi-processor,

transferring a second cache line directly from the second dedicated cache to a second multiplexer within the control logic coupled to the second cache in the chip multi-processor; and

subsequently transferring the second cache line from the second multiplexer directly to the first dedicated cache.

10. A method, comprising:

transferring a first cache line directly from a first dedicated cache of a chip multi-processor to a first write buffer within control logic coupled to the first cache in the chip multi-processor;

subsequently transferring the first cache line from the first write buffer directly to a second dedicated cache of the chip multi-processor,

transferring a second cache line directly from the second dedicated cache to a second write buffer within the control logic coupled to the second cache in the chip multi-processor; and

subsequently transferring the second cache line from the second write buffer directly to the first dedicated cache.

11. A system, comprising:

a main memory,

a chip multiprocessor coupled to the main memory and including:

a first processor with a first dedicated cache;

a second processor with a second dedicated cache; and

control logic, coupled to the first and second dedicated caches, having:

a first multiplexer coupled to the first and second caches to receive a first cache line from the first dedicated cache and to provide the first cache line to the second dedicated cache; and

a second multiplexer coupled to the first and second caches to receive a second cache line from the second dedicated cache and to provide the second cache line to the first dedicated cache.

12. The system of claim 11 , wherein the chip multiprocessor further comprises:

a coherency unit to perform snoop operations on the first and second dedicated caches.

13. The system of claim 11 , wherein the chip multiprocessor further includes:

a shared cache coupled to the control logic and to the second dedicated cache to provide the first cache line to the second dedicated cache;

wherein the control logic includes a write buffer to receive the first cache line from the first dedicated cache and to provide the first cache line to the shared cache.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 2, 2002
From: JAMIL, SUJAT; MERRELL, QUINN W.; MCNAIRY, CAMERON B.
To: INTEL CORPORATION
Reel/Frame 012461/0663 →
Continuity (1)
Related Publication 20030126365A1 · Jul 3, 2003