Atomic Instructions
Specifies a location, register, & atomic operation
- Value in location read into a register
- Another value (function of value read or not) stored into location
Many variants
- Varying degrees of flexibility in second part
Simple example: test&set
- Value in location read into a specified register
- Constant 1 stored into location
- Successful if value loaded into register is 0
- Other constants could be used instead of 1 and 0