Can anyone remember why locked loads are tracked at a cache block
granularity (in the CacheBlk) class in the cache? It seems like it they
could be tracked by the cache object itself like it's done for physical
memory.
Thanks,
Ali
___
m5-dev
You're right that it could be done either way. I think the rationale
is that this way you don't need to search a list to see if your
address is on it. If the common case is that there are no locked
blocks in the entire cache though then that's not a big deal since the
list will be empty anyway.
You're right that it could be done either way. I think the rationale
is that this way you don't need to search a list to see if your
address is on it. If the common case is that there are no locked
blocks in the entire cache though then that's not a big deal since the
list will be empty
ARM has an instruction that clears the lock flag (CLREX). To implement
that in physical memory, it's easy enough, on the other hand with the cache
it requires calling clearLoadLocks() on every block in the cache.
Ali
On Thu, 15 Jul 2010 16:01:09 -0700, nathan binkert n...@binkert.org
wrote:
Alpha has to do the same thing on interrupts... the way this is
handled is that there's a per-thread lock flag in the CPU that gets
cleared on interrupts, and if that flag is not set then we fail the SC
without even sending it to the cache. (At least that's my
recollection of how it works.)
I think something like that could work, although I won't be advocating for
the forwarding snoop thing, since it seems as though ARM can support LLSC
on uncachable accesses.
Ali
On Thu, 15 Jul 2010 16:27:56 -0700, Steve Reinhardt
begin_of_the_skype_highlighting end_of_the_skype_highlighting
Really? Doesn't that imply that you're snooping on uncacheables in real life?
On Thu, Jul 15, 2010 at 4:38 PM, Ali Saidi sa...@umich.edu wrote:
I think something like that could work, although I won't be advocating for
the forwarding snoop thing, since it seems as though ARM can support LLSC
You can mark a section of main memory as not cachable so it's not like an I/O
device. But, sort of, the description in the architecture reference manual
says there is a global monitor that checks the accesses.
Ali
On Jul 15, 2010, at 7:10 PM, Steve Reinhardt wrote:
Really? Doesn't that