Date: | Thu, 19 Oct 2006 10:19:13 +0800 |
---|---|
From: | "hongxia sun" <sunhx.seraph@xxxxxxxxx> |
Subject: | Re: [Gems-users] Atomic operation implementation |
Dan,
Thank you for your help!
But there are still some questions on this topic. I looked up in SIMICS doc and found some explanation about Atomic Instruction in simics-micro-architectual-interface. It said that "MAI handles this by
locking a ram region at a configurable granularity when the first access is issued. The lock is released as soon as the second access is finished or if the instruction is squashed. Any
conflicting transaction to the same memory region issued between the two by any processor will stall until the lock is released." Does it means any atomic operation is handled by SIMICS itself? SIMICS will control the conflicting memory accesses between multiprocessors? Is it best to set the
lock granularity as the size of a cache line?
I know that in our currently simulation, we need to do nothing special to support atomic operation. However, in a real system, no such mechanism to control atomic operation between multiprocessors. For example, in MIPS, it implements spin lock through LL-SC. All the processors can try LL-SC to acquire the lock, and they will check whether there are any other stores between their own LL-SC by some special hardware themselves. Is it still nothing to do with Cache Coherence Protocol? Do we still need
not to add any special mechanism in Cache Coherence Protocol to support such atomic instructions?
Thanks a lot!
Best Regards,
Hongxia
2006/10/18, Dan Gibson <degibson@xxxxxxxx>:
|
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | [Gems-users] getTo/FromNet, arrvindh shriraman |
---|---|
Next by Date: | [Gems-users] FILE_SPECIFIED topology, Mishali Naik |
Previous by Thread: | Re: [Gems-users] Atomic operation implementation, Dan Gibson |
Next by Thread: | Re: [Gems-users] Atomic operation implementation, Dan Gibson |
Indexes: | [Date] [Thread] |