Лишение законной силы кэша ЦП

Когда моя программа работает, операция загрузки с получают операцию семантики/хранилища с семантикой выпуска или возможно полным забором, это делает недействительным кэш ЦП.
Мой вопрос - это: какая часть кэша на самом деле делается недействительным? только строка кэша, которая содержала переменную, которую я использовал, получает/выпускает? или возможно весь кэш делается недействительным? (L1 + L2 + L3.. и так далее?). Существует ли различие в этом предмете, когда я использую, получают/выпускают семантику, или когда я использую полный забор?

7
задан Ian Ringrose 30 July 2010 в 09:23
поделиться

2 ответа

Я не эксперт в этом вопросе, но наткнулся на этот документ, может быть, он полезен http: // www .rdrop.com / users / paulmck / scaleability / paper / whymb.2009.04.05a.pdf

3
ответ дан 7 December 2019 в 12:19
поделиться

Когда вы выполняете загрузку без заборов или мьютексов, то загруженное значение потенциально может прийти откуда угодно, т.е. из кэшей, регистров (путём оптимизации компилятора) или оперативной памяти... но из вашего вопроса вы уже знали это.

В большинстве реализаций мьютексов, когда вы приобретаете мьютекс, всегда применяется забор, либо явно (например, мфен, барьер и т.д.), либо неявно (например, префикс блокировки для блокировки шины на x86). Это приводит к тому, что линии кэша всех кэшей на пути кэширования становятся недействительными.

Обратите внимание, что весь кэш не является недействительным, а только соответствующие строки кэша для ячейки памяти. Сюда также входят строки для мьютекса (который обычно реализуется как значение в памяти).

Конечно, существуют специфические для архитектуры детали, но в целом так оно и работает.

Также обратите внимание, что это не единственная причина для аннулирования кэшей, так как могут быть операции на одном процессоре, которые требуют аннулирования кэшей на другом. Выполнение поиска Google по "протоколам когерентности кэша" даст вам много информации на эту тему.

2
ответ дан 7 December 2019 в 12:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: