Определите заполнение буфера заполнения L1, связанное с магазинами на Intel - PullRequest
2 голосов
/ 07 марта 2019

Чтобы определить заполнение буфера заполнения L1D, связанное с нагрузками , можно использовать события L1D_PEND_MISS, в частности L1D_PEND_MISS.PENDING, которые задокументированы следующим образом:

Подсчитывает длительность невыполненных пропусков L1D, то есть число циклов заполняющих буферов (FB), требуемых для чтения запросов по требованию.FB либо удерживается нагрузками по требованию, либо он удерживается нагрузками не по требованию и по крайней мере один раз подвергается воздействию по требованию.Действительный ожидающий интервал определяется до освобождения FB одним из следующих способов: из распределения FB, если FB выделяется по требованию из запроса FB Hit, если он назначается аппаратной или программной предварительной выборкой. Примечание: в L1DЧтение по требованию содержит кешируемые или не кешируемые нагрузки по требованию, в том числе те, которые вызывают разбиение строки кэша и чтение из-за обходов страниц, полученных в результате любого типа запроса.

Немного сложно разобрать вторую часть этого абзаца,но ключевым аспектом, по-видимому, является то, что это событие подсчитывает в каждом цикле только то количество заполненных буферов заполнения, которое требуется каким-либо образом для нагрузок по требованию .

В сценарии потока хранилищбез нагрузки, например, есть ли способ определить заполнение буфера заполнения L1?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...