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ż