Transactional Synchronization Extensions (TSX) instructions set
Transactional Synchronization Extensions (TSX) allow the processor to determine dynamically whether threads need to serialize through lock-protected critical sections, and to perform serialization only when required. This lets the hardware expose and exploit concurrency hidden in an application due to dynamically unnecessary synchronization through a technique known as lock elision.
With lock elision, the hardware executes the programmer-specified critical sections (also referred to as transactional regions) transactionally. In such an execution, the lock variable is only read within the transactional region; it is not written to (and therefore not acquired) with the expectation that the lock variable remains unchanged after the transactional region, thus exposing concurrency.
Tip: For detailed information about each instruction please read: Intel Architectures Software Developer’s Manual Volume 2: Instruction Set Reference, A-Z
Instruction | Meaning |
---|---|
XACQUIRE | Prefix hint to the beginning of an HLE transaction region |
XRELEASE | Prefix hint to the end of an HLE transaction region |
XBEGIN | Transaction begin of an RTM transaction region |
XEND | Transaction end of an RTM transaction region |
XABORT | Abort an RTM transaction execution |
XTEST | Test if executing in a transactional region |