Есть ли в SPARC v9 инструкция сравнения и замены двойных слов?
Вопрос
Так;на 64-битном процессоре SPARC, совместимом с v9, существует, я знаю, Кас инструкция.Это работает со значениями длины одного слова.
Я также видел в Интернете ссылку на Касс инструкция - но больше ничего о ней узнать не могу.
Мне интересно - это двойное сравнение и замена слов?
А если нет, то общий вопрос;Есть ли двойное слово «сравнить и поменять местами»?
Решение 3
Sparc64 - единственный среди современных процессоров - не реализует ни CAS двойной ширины, ни LL/SC.Таким образом, реализация кода без блокировки является проблематичной.Решения есть, но это решения проблемы (ABA), которой нет на других платформах из-за поддержки CAS или LL/SC.Более того, из-за этого ограничения в Sparce невозможно реализовать ряд алгоритмов без блокировки.
Другие советы
КАСХА.Видеть Руководство по архитектуре SPARC.
Также обратите внимание, что casx
существует, однако это синтетическая инструкция (т.е.упрощенная мнемоника) для casxa
.Видеть Таблица 43 в вышеупомянутом Руководстве по архитектуре SPARC:
Synthetic: casx [regrs1], regrs2, regrd
Instruction: casxa [regrs1]#ASI_P, regrs2, regrd
Description: compare and swap extended