Есть ли в SPARC v9 инструкция сравнения и замены двойных слов?

StackOverflow https://stackoverflow.com/questions/1272768

  •  13-09-2019
  •  | 
  •  

Вопрос

Так;на 64-битном процессоре SPARC, совместимом с v9, существует, я знаю, Кас инструкция.Это работает со значениями длины одного слова.

Я также видел в Интернете ссылку на Касс инструкция - но больше ничего о ней узнать не могу.

Мне интересно - это двойное сравнение и замена слов?

А если нет, то общий вопрос;Есть ли двойное слово «сравнить и поменять местами»?

Это было полезно?

Решение 3

Sparc64 - единственный среди современных процессоров - не реализует ни CAS двойной ширины, ни LL/SC.Таким образом, реализация кода без блокировки является проблематичной.Решения есть, но это решения проблемы (ABA), которой нет на других платформах из-за поддержки CAS или LL/SC.Более того, из-за этого ограничения в Sparce невозможно реализовать ряд алгоритмов без блокировки.

Другие советы

Также обратите внимание, что casx существует, однако это синтетическая инструкция (т.е.упрощенная мнемоника) для casxa.Видеть Таблица 43 в вышеупомянутом Руководстве по архитектуре SPARC:

Synthetic:   casx [regrs1], regrs2, regrd 
Instruction: casxa [regrs1]#ASI_P, regrs2, regrd 
Description: compare and swap extended 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top