SOP wyk nr 11-Slajd31: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
m usunięcie zbędnego zdania i interpunkcja |
||
Linia 4: | Linia 4: | ||
Atomowo wykonywana operacja '''exchange''' polega na zamianie wartości dwóch zmiennych logicznych. | Atomowo wykonywana operacja '''exchange''' polega na zamianie wartości dwóch zmiennych logicznych. Podobnie, jak w przypadku '''test''' '''&''' '''set''', w systemie jednoprocesorowym efekt atomowości operacji można uzyskać poprzez zablokowanie przerwań na czas jej wykonywania. | ||
W architekturze IA-32 (Intel) operacja '''exchange''' realizowana jest na poziomie maszynowym przez rozkaz: '''xchg''' , dotyczy jednak nie bitów a zawartości całych rejestrów. Pewnym ograniczeniem jest fakt, że jeden z operandów musi być w rejestrze procesora, ale nie przeszkadza to np. w zastosowaniu tego. rozkazu do rozwiązania problemu wzajemnego wykluczania. Jeśli któryś z operandów rozkazu '''xchg''' jest w pamięci, następuje blokada magistrali niezależnie od użycia prefiksu lock. | |||
W architekturze IA-32 (Intel) operacja '''exchange''' realizowana jest na poziomie maszynowym przez rozkaz: '''xchg''' , dotyczy jednak nie bitów a zawartości całych rejestrów. Pewnym ograniczeniem jest fakt, że jeden z operandów musi być w rejestrze procesora, ale nie przeszkadza to np. w zastosowaniu tego. rozkazu do rozwiązania problemu wzajemnego wykluczania. Jeśli któryś z operandów rozkazu '''xchg''' jest w pamięci następuje blokada magistrali niezależnie od użycia prefiksu lock. | |||
[[SOP_wyk_nr_11-Slajd30 | << Poprzedni slajd]] | [[SOP_wyk_nr_11-toc|Spis treści ]] | [[SOP_wyk_nr_11-Slajd32 | Następny slajd >>]] | [[SOP_wyk_nr_11-Slajd30 | << Poprzedni slajd]] | [[SOP_wyk_nr_11-toc|Spis treści ]] | [[SOP_wyk_nr_11-Slajd32 | Następny slajd >>]] |
Aktualna wersja na dzień 00:08, 5 wrz 2006
Operacja exchange
Atomowo wykonywana operacja exchange polega na zamianie wartości dwóch zmiennych logicznych. Podobnie, jak w przypadku test & set, w systemie jednoprocesorowym efekt atomowości operacji można uzyskać poprzez zablokowanie przerwań na czas jej wykonywania.
W architekturze IA-32 (Intel) operacja exchange realizowana jest na poziomie maszynowym przez rozkaz: xchg , dotyczy jednak nie bitów a zawartości całych rejestrów. Pewnym ograniczeniem jest fakt, że jeden z operandów musi być w rejestrze procesora, ale nie przeszkadza to np. w zastosowaniu tego. rozkazu do rozwiązania problemu wzajemnego wykluczania. Jeśli któryś z operandów rozkazu xchg jest w pamięci, następuje blokada magistrali niezależnie od użycia prefiksu lock.