Как очистить L1, 2 и 3 кэша

Что команды необходимы для очистки L1, L2 и кэша L3 в человечности?

Это может быть сделано, использовав оболочку, или мне нужен высокоуровневый язык?

0
задан 4 October 2018 в 03:42

2 ответа

От: Способ сбросить / очищает Оперативные памяти и кэш-память

, не возможно сделать это с полной эффективностью на уровне пользователя. Счетчики производительности в неядре могут использоваться для получения отображения физических адресов к частям L3 (CBos) для любого диапазона адресов, который пользователь может выделить и протестировать, но который только говорит Вам, которые CBO используется, не, какой класс конгруэтности в той части используется. Размер частей L3 предлагает простое отображение, но я не знаю ни о каких демонстрациях, которые подтверждают внутреннее отображение.

На грубом уровне, в системах Xeon E5 v3, читая массив, который является 4x больше, чем размер кэша L3, очистит почти 100% предшествующих данных из L1, L2 и кэшей L3. Это только требует привязки процесса (например, "taskset" или "numactl - physcpubind" в системах Linux).

0
ответ дан 13 April 2019 в 06:43

Кэш-память L1, L2 и L3 - это термины, используемые для описания кэшей, используемых внутренне процессором и набором микросхем. Они прозрачны для системы, то есть наличие или отсутствие данных в кешах никогда не должно иметь каких-либо видимых побочных эффектов для выполнения программы или данных, возвращаемых какой-либо операцией. Следовательно, также нет способа их очистить, и если бы они были, это не имело бы заметного эффекта.

Эти кэши являются неотъемлемой частью функционирования процессора. Их содержимое обновляется, возможно, миллионы раз в секунду, в зависимости от выполняемых операций.

3
ответ дан 13 April 2019 в 06:43

Другие вопросы по тегам:

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