Zaawansowana funkcja synchronizacji
Advanced Synchronization Facility ( ASF ) to proponowane rozszerzenie architektury zestawu instrukcji x86-64 , które dodaje sprzętową obsługę pamięci transakcyjnej . Został wprowadzony przez AMD ; najnowsza specyfikacja była datowana na marzec 2009 r. W październiku 2013 r. była jeszcze na etapie propozycji. Żadne wydane mikroprocesory nie implementują tego rozszerzenia.
Cechy
ASF zapewnia możliwość rozpoczynania, kończenia i przerywania wykonywania transakcji oraz oznaczania linii pamięci podręcznej procesora dla chronionego dostępu do pamięci w regionach kodu transakcyjnego. Zawiera cztery nowe instrukcje — SPECULATE
,
COMMIT ,
ABORT i
RELEASE —
i zamienia niepoprawne instrukcje MOVx
, PREFETCH
i PREFETCHW
z prefiksem LOCK na prawidłowe wewnątrz regionów kodu transakcyjnego. Obsługiwanych jest do 256 poziomów zagnieżdżonych regionów kodu transakcyjnego.
SPECULATE i COMMIT oznaczają początek i
koniec
regionu kodu transakcyjnego. Wewnątrz regionów kodu transakcyjnego MOVx reg/xmm, mem
, PREFETCH
i PREFETCHW
z prefiksem LOCK
mogą oznaczać do czterech linii pamięci podręcznej dla chronionego dostępu do pamięci. Dostępy z innych rdzeni procesorów do chronionych linii pamięci podręcznej skutkują wyjątkami, które z kolei powodują przerwanie transakcji. Zapisy do chronionych wierszy pamięci podręcznej muszą być wykonywane przy użyciu LOCK MOVx mem, reg/imm/xmm
. Zaznaczone linie pamięci podręcznej można zwolnić spod ochrony za pomocą RELEASE
. Przerwania transakcji generowane przez sprzęt lub jawnie żądane przez ABORT
wycofują modyfikacje chronionych wierszy pamięci podręcznej i ponownie uruchamiają wykonanie od instrukcji następującej po instrukcji SPECULATE najwyższego poziomu
.
Zobacz też
- Transactional Synchronization Extensions , konkurencyjna technologia Intela po raz pierwszy wdrożona w mikroprocesorach opartych na Haswell