IP Library Granted Patent US 9,734,064
Granted Patent B2
US 9,734,064 · App. 14/791,350 · Granted Aug 15, 2017

System and method for a cache in a multi-core processor

Inventor: Martin Vorbach (Lingenfeld, DE)
Assignee: Hyperion Core, Inc.
G06F12/0815G06F9/526G06F12/084G06F12/0811G06F12/0813G06F12/0842G06F12/0893G06F2212/271G06F2212/50G06F2212/62Y02B60/1225
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 9,734,064
App. No.
14/791,350
Granted
Aug 15, 2017
Kind
B2
Abstract

The invention relates to a multi-core processor system, in particular a single-package multi-core processor system, comprising at least two processor cores, preferably at least four processor cores, each of said a least two cores, preferably at least four processor core, having a local LEVEL-1 cache, a tree communication structure combining the multiple LEVEL-1 caches, the tree having at 1 a one node, preferably at least three nodes for a four processor. core multi-core processor, and TAG information is associated to data managed within the tree, usable in the treatment of the data.

Claims (56)

1. A method for operating a data processing system, comprising:

retrieving a thread for execution by at least one processor core of a plurality of processor cores connected to a data memory structure, wherein the data memory structure includes:

one or more dedicated Level-1 data caches included in each of the plurality of processor cores, and

a combined memory hierarchy physically connected to the one or more dedicated Level-1 data caches, the combined memory hierarchy having one or more shared higher level caches and a main memory, wherein the one or more shared higher level caches are at a level above the one or more dedicated Level-1 data caches;

executing the thread, including associating tag information with data transmitted within the data memory structure, wherein the tag information is stored in respective Level-1 data caches of the one or more dedicated Level-1 data caches, and wherein the tag information defines a movement of the associated data in the data memory structure between the one or more shared higher level caches of the combined memory hierarchy; and

managing, based on the tag information, at least one of:

transmission of the data within the combined memory hierarchy, and

transmission of the data between the combined memory hierarchy and one or more of the plurality of processor cores.

2. The method of claim 1 wherein the one or more shared higher level caches include a plurality of higher level caches arranged in a tree structure.

3. The method of claim 1 wherein the one or more shared higher level caches include a plurality of higher level caches arranged in a ring structure.

4. The method of claim 1 wherein the tag information is included in a cache tag.

5. The method of claim 1 wherein the tag information is attached to data that is at least one of:

stored in the data memory structure; and

transmitted in the data memory structure.

6. The method of claim 1 wherein the tag information is attached to a variable that is at least one of:

stored in the data memory structure; and

transmitted in the data memory structure.

7. The method of claim 1 wherein the tag information is located within a descriptor table.

8. The method of claim 1 wherein the tag information defines a positioning of the associated data in the data memory structure, wherein the positioning indicates one of:

at least one of the one or more dedicated level-1 caches,

at least one of the one or more shared higher level caches, and

the main memory.

9. The method of claim 1 wherein the tag information defines a location of the associated data in the data memory structure.

10. The method of claim 1 wherein the tag information defines duplication of the associated data in the data memory structure.

11. The method of claim 1 wherein the tag information defines access to associated data stored in the data memory structure.

12. The method of claim 1 wherein the tag information is generated by a thread executed on one or multiple of the plurality of processor cores at an execution time of a program.

13. The method of claim 12 wherein the tag information is defined by at least one of the following executed on the one or multiple of the plurality of processor cores:

an operating system,

a runtime profiler,

an optimizer, and

a profiler embedded in code.

14. The method of claim 1 wherein the tag information is included in one or more tags generated at a compile time of a program.

15. The method of claim 1 wherein the tag information is defined at a software design time by one of:

a programmer,

a profiler, and

a compiler.

16. The method of claim 1 wherein the tag information defines an ownership of the associated data by one or more threads executed on at least one of the plurality of processor cores.

17. The method of claim 1 wherein the tag information indicates at least one of:

which of the plurality of processor cores owns the associated data;

that the associated data is read-only;

that the associated data can be duplicated;

that the associated data is more frequently read from the data memory structure than written to the data memory structure;

that the associated data is more frequently written to the data memory structure than read from the data memory structure;

that associated data is written to the data memory structure and read from the data memory structure with approximately equal occurrence;

that data associated with the tag information is written by a single source thread and read by a plurality of threads; and

that the data associated with the tag information is randomly accessed by one or more of the plurality of processor cores.

18. A data processing system comprising:

a plurality of processor cores; and

a data memory structure connected to the plurality of processor cores, the data memory structure including:

one or more dedicated Level-1 data caches included in each of the plurality of processor cores; and

a combined memory hierarchy physically connected to the one or more dedicated Level-1 data caches, the combined memory hierarchy having one or more shared higher level caches and a main memory, wherein the one or more shared higher level caches are at a level above the one or more dedicated Level-1 data caches,

wherein at least one processor core of the plurality of processor cores executes a thread, including associating tag information with data transmitted within the data memory structure, wherein the tag information is stored in respective Level-1 data caches of the one or more dedicated Level-1 data caches, wherein the tag information defines a movement of the associated data in the data memory structure between the one or more shared higher level caches of the combined memory hierarchy, and

wherein the at least one processor core manages, based on the tag information, at least one of:

transmission of the data within the combined memory hierarchy, and

transmission of the data between the combined memory hierarchy and one or more of the plurality of processor cores.

19. The data processing system of claim 18 wherein the tag information defines management of associated data in the data memory structure.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2024
From: HYPERION CORE INC.
To: UBITIUM GMBH
Reel/Frame 068200/0301 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2015
From: VORBACH, MARTIN
To: HYPERION CORE, INC.
Reel/Frame 035976/0378 →
Priority Claims (10)
EP 09007607 · Jun 9, 2009 · regional
EP 09007815 · Jun 15, 2009 · regional
EP 09008861 · Jul 7, 2009 · regional
EP 10000530 · Jan 20, 2010 · regional
EP 10000689 · Jan 25, 2010 · regional
EP 10000920 · Jan 29, 2010 · regional
EP 10001453 · Feb 12, 2010 · regional
EP 10001454 · Feb 12, 2010 · regional
EP 10002122 · Mar 2, 2010 · regional
EP 10004645 · May 3, 2010 · regional
Continuity (2)
Continuation 13376839
Related Publication 20160004639A1 · Jan 7, 2016