Slide 27
Slide 27 text
27
Atomic Zoo - RMW
• Fetch-And-Add, Test-and-set, xchg, CAS
• IA32 LOCK prefix – LOCK: add [m],r
• LL-SC (ppc,Power,mips) – one word txn
• Can emulate CAS with LL-SC but not (easily) vice-versa
• Bounded HW Transactional Memory
– TMn (TM1 == LL-SC)
• Unbounded HTM – research topic (google TCC)
• Hybrid HW/SW TM – HW failover to SW
• CASn - many distinct locations -- CASn ≈ TMn
• CASX – wide form – adjacent (cmpxchg8b, 16b)
• CASv – verifies add’l operand(s)
• A-B-A problem:
– LL-SC, TM immune
– Simple CAS vulnerable