Regarding the shared processor cache of Sandy Bridge processors:
A cache may be "shared" in two ways: A) shared cache memory
is allocated to each core in a flexible manner, depending on need,
or B) data in shared cache is accessible to all cores (or, at least,
more than 1 core).
So, is Sandy Bridge shared cache shared only in the sense of
flexible allocation, or is data in shared cache available to all cores?
I had presumed that B was the case.
For one thing, for multiple cores to have separate cached values
for the same memory location seems problematic for cache
coherency. Further, option B also seems advantageous if multiple cores
are working on the same problem.
However, I have read that Sandy Bridge flexibly divides shared
cache memory, rather than allocating a fixed amount of memory
to each core (in which case, the term "shared" does not seem
to apply), which seems to suggest that option A is the case.
I will write a particular piece of software quite differently for
case A than for case B.
Can someone please answer this (if you know, and are not guessing).
I could write a small program that would answer this question,
but I am hoping to avoid the effort of doing so.
Thanks!
No replies to this topic
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users


Sign In
Create Account

Back to top









