Разница между «отсутствием чистого кэша данных» и «отсутствием чистого кэша данных» - PullRequest
0 голосов
/ 20 сентября 2018

В чем разница между пропуском кеша чистых данных и пропуском кеша чистых данных ?

Я нашел счетчики для них обоих в руководстве моегоCPU и хочу знать, какая из них является верной мерой, чтобы что-то сказать об эффективности доступа к данным в коде.

В моей текущей программе clean misses = 102271, а dirty misses = 1323.

  • Когда происходит чистая ошибка, и будут ли данные загружаться из памяти при чистой ошибке?
  • Когда происходит грязная ошибка?(РЕДАКТИРОВАТЬ: на самом деле это ясно)

1 Ответ

0 голосов
/ 20 сентября 2018

За руководство , Грязные ошибки в кэше данных описываются как «обратная запись в кэш / требуется удаление)».

Это неправильная формулировка.Я ожидаю, что более вероятное намерение состоит в том, что одно из этих событий пропуска кэша считается грязным, если строка, в которой он произошел, была изменена и, следовательно, должна была быть записана в память.Различие между этим и чистым промахом кэша заключается в том, что чистое промах либо не высвобождает строку, либо высвобождает строку, которая не была изменена, и, следовательно, может быть удалена простым удалением ее без записи в память.Если бы эта интерпретация была правильной, описание было бы более ясным, если бы просто говорилось: «Требуется обратная запись в кэш».

Если комментарий взят буквально, с «/» означает «или», то это означаетчто событие пропуска кэша считается грязным, если оно либо должно было записать данные в память, либо должно было удалить строку.Тогда чистая потеря кэша будет отсутствием кэша, в котором не нужно будет удалять строку.Это маловероятная интерпретация, потому что единственный раз, когда кеш типичного дизайна не должен был бы выселять строку, чтобы освободить место для ввода новой строки после того, как кеш был инициализирован и выбранный набор кеша еще не был заполнен, или если строкибыл вручную удален из кэша.Обычно строки сохраняются в кэше до принудительного удаления, поэтому нормальное состояние кэша состоит в том, что каждый набор кэша заполнен.В этом смысле «промах чистого кеша» промахи в чистом кешировании будут редкостью, а счетчик для них не часто будет полезен.Кроме того, формулировка была бы излишней, поскольку, когда имеется обратная запись в кэш из-за пропуска, существует также выселение, поэтому «обратная запись в кэш / удаление требовалась» будет логически эквивалентна «вытеснению требовалась».«

...