swap

WHAT

DEF

1. is HW synchronization primitive

HW primitive for synchronization

HOW

HW like..
void Swap(boolean &a, boolean &b) {
	boolean temp = a;
	a = b; 
	b = temp;
}

how to provide Mutual Exclusion?

Mutual Exclusion

boolean lock = false; 
 
do {
	key = true;
	while (key == true) Swap(lock, key);
	CRITICAL_SECTION;
	lock = false;
	REMAINDER_SECTION;
}