Herlihy's Wait-Free Consensus Hierarchy

Atomic registers cannot implement consensus for two threads; compare-and-swap does it for any number. Why your CPU has CAS.