Является ли энергозависимость дорогой?

После прочтения Поваренной книги JSR-133 для авторов компиляторов о реализации volatile, особенно раздела «Взаимодействия с атомарными инструкциями "Я предполагаю, что для чтения изменчивой переменной без ее обновления требуется барьер LoadLoad или LoadStore. Далее по странице я вижу, что LoadLoad и LoadStore фактически не работают на процессорах X86. Означает ли это, что операции непостоянного чтения могут выполняться без явного аннулирования кеша на x86, и выполняется так же быстро, как обычное чтение переменной (без учета ограничений переупорядочения volatile)?

Кажется, я неправильно это понимаю. Может ли кто-нибудь просветить меня?

РЕДАКТИРОВАТЬ: Интересно, есть ли различия в многопроцессорных средах. В однопроцессорных системах ЦП может смотреть на свои собственные кэши потоков, как заявляет Джон В., но в многопроцессорных системах должен быть какой-то параметр конфигурации для ЦП, что этого недостаточно, и необходимо задействовать основную память, что замедляет энергозависимость. в системах с несколькими процессорами, верно?

PS: По пути, чтобы узнать больше об этом, я наткнулся на следующие замечательные статьи, и, поскольку этот вопрос может быть интересен другим, я поделюсь своими ссылками здесь:

107
задан Attila 27 May 2019 в 09:19
поделиться