WO2010142432A2

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

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 at least two cores, preferably at least four processor cores, having a local LEVEL-1 cache, a tree communication structure combining the multiple LEVEL-1 caches, the tree having at least 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.

WO2010142432A2, drawing sheet 1
Sheet 1 of 18

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

42 claims: 22 independent, 20 dependent

  1. 1
    Claims 1. 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 at least two cores, preferably at least four processor cores, having a local LEVEL-I cache, a tree communication structure combining the multiple LEVEL-1 caches, the tree having at least 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.
  2. 4
    The multi-core processor according to any of the preceding claims, wherein each of the said at least two, preferably four cores are capable of accessing data in each others LEVEL- 1 caches at runtime.
  3. 5
    A processor, in particular according to any of the preceding claims, comprising at least one processor core, and a local memory, wherein the local memory' s physical address space is defined by a window within the virtual address space.
  4. 9
    A single package multi-core processor, preferably according to any of the previous claims, comprising at least four processor cores, each of said at least four cores having a local LEV- EL-I cache, a tree communication structure combining the multiple LEVEL-I caches, the tree having nodes, the processor cores with the respective local caches being leaves of the tree, a LEVEL-2 cache being the root node of the tree or in communication therewith;wherein each node checks whether a requested address is stored downstream the node, and i) if the requested address is stored downstream the node, the request is sent down the tree and the ac- cording data is delivered from a downstream LEVEL-I cache, or ii) if the requested address is not stored downstream the node, it is requested from an upstream node.
  5. 13
    The single package multi-core processor according to any of claims 8-12, processing task or threads being optimized for keeping shared data local in vicinities of LEV- EL-I caches.
  6. 14
    The single package multi-core processor according to any of claims 8-13, at least some of the nodes comprising a lookup table for referencing a requested address to the cache storing data related of the address.
  7. 15
    The single package multi-core processor according to any 5 of claims 8-14, wherein at least some of the nodes are capable of handling multiple transfers and/or accesses in parallel .
  8. 16
    The single package multi-core processor according to any in of claims 8-15, wherein at least some of the edges comprise a plurality of buses, the plurality of buses supporting a plurality of data transfers in parallel.
  9. 17
    The single package multi-core processor according to any 15 of claims 8-16, wherein an arbiter selects a free unused bus for a node or cache requesting a bus .
  10. 18
    A cache system for multi-core processors, each core having a closely coupled level 1 data cache, 20 wherein an address is cached only once within all level 1 caches of the processor;at least some processors have access to the level 1 cache of at least one other processor for transmitting da- 25 ta;the at least some processors having an extended cache tag structure for storing a reference between an address and the at least one other processor having the data of the respective address cached. 30
  11. 19
    A cache system for multi-core processors, each core having a closely coupled level 1 data cache, wherein an address is cached only once within all level 1 caches of the processor;and means to move the cache line related to an address from the cache of the core owning the cache line into the cache of the core requesting the address.
  12. 21
    The cache system according to one of claims 18, 19 or 20, wherein the move of the cache line is triggered by an access of a core being nominated as preferred owner.
  13. 22
    The cache system according to one of claims 18, 19, 20 or 21, wherein the move of the cache line is triggered by counter reaching a threshold value.
  14. 25
    Method for operating level 1 caches in a multi-core processor, wherein an address is cached only once within all level 1 caches of the processor;and the cache line related to an address is moved from the cache of the core owning the cache line into the cache of the core requesting the address. 5
  15. 28
    The method according to one of claims 25, 26 or 27, wherein the move of the cache line is triggered by counter reaching a threshold value. 15
  16. 31
    A single package multi-core processor comprising at least four processor cores, each core having a local LEVEL-I cache, a tree communication structure combining the multiple LEVEL-I caches, 30 the tree having nodes, the processor cores with the respective local caches being leaves of the tree, a LEVEL-2 cache being root node of the tree;wherein at least some of the edges between the nodes comprise a plurality of buses being capable of handling multiple accesses and/or transfers in parallel.
  17. 33
    A single package multi-core processor comprising at least four processor cores, each core having a local LEVEL-I cache, a tree communication structure combining the multiple LEVEL-I caches, the tree having nodes, the processor cores with the respective local caches being leaves of the tree, a LEVEL-2 cache being root node of the tree;wherein at least some of the node being capable of handling multiple accesses and/or transfers in parallel.
  18. 34
    A single package multi-core processor comprising at least two processor cores, each core having a local LEVEL-I cache, a tree communication structure combining the multiple LEVEL-I caches, the tree having at least one node, and TAG information is associated to the data managed within the tree, defining the treatment of the data.
  19. 35
    The single package multi-core processor according to one of the two preceding claims, wherein at least some of the TAGs are used for implementing locks.
  20. 36
    A processor system comprising at least two processor cores, and TAG information is associated to the data managed within the tree, defining the treatment of the data.
  21. 38
    A single package multi-core processor comprising at least two processor cores, each core having a local LEVEL-I cache, a tree communication structure combining the multiple LEVEL-I caches, the tree having at least one node, and the cores being capable of accessing data in each others LEVEL-I caches at runtime.
  22. 39
    A single package processor comprising at least one processor core, and a local memory;wherein the local memory's physical address space is defined by a window within the virtual address space.
Independent claims22