Re: Complex sub-block (bank) indexing
- From: Andy Glew <"newsgroup at comp-arch.net">
- Date: Mon, 13 Sep 2010 19:48:40 -0700
On 9/13/2010 2:47 PM, Paul A. Clayton wrote:
Given the use of banking to support multiple concurrent accesses,
would it be possible to decrease conflicts by not having every address
and way use simple bit-field-selection-based indexing?
Yes. Although in my terminology, it is the set index and the tag that is typically determined using bitfield selection.
Non-power-of-2 moduli have been extensively studied, e.g.
Using Prime Numbers for Cache Indexing to Eliminate Conflict Misses
by M Kharbutli - 2004 - Cited by 49 - Related articles
Mazen Kharbutli , Yan Solihin , Jaejin Lee, Eliminating Conflict Misses Using Prime Number-Based Cache Indexing, IEEE Transactions on Computers, v.54 n.5,
I believe it was well-known before then, the novelty perhaps being applying it to an L2 or L3.
Prime indexing an L1$ is probably too slow. Prime indexing an L2 may be able to hide the moduli. Main memory prime interleaving and banking is well known; e.g. IIRC Matrix used 17 way banking. We have discussed circuits for such moduli on comp.arch before.
There are other techniques. E.g. Alliant used a skewing function in accessing the cache shared between its parallel processors in the 80s/90s.
XORing a few upper bits into the set index is also quite common.
KEY: you probably need to have the same cache line size everywhere, so prime cache line sizes are a stretch too far given compatibility concerns. (They're a good idea; you just have to have control of more of the system than is typical.)
Oooo.... bitmask coherency, one of my latest hobbyhorses, has less need of having commensurate cache line sizes everywhere. Sure, you can use any mixture of line sizes in any WB cache system, at the cost of discarding partial lines and/or having to do RFOs, and more complicated HITM dirty probe response. But with bitmask coherency many of these problems go away. Discarding partial lines is now more of a performance optimizatin than a correctness issue.
- Prev by Date: Re: Complex sub-block (bank) indexing
- Next by Date: Re: Disadvanteges of Windowed Register File (like Am29k)
- Previous by thread: Re: Complex sub-block (bank) indexing
- Next by thread: Re: Complex sub-block (bank) indexing