Отслеживание доступа к памяти в процессоре x86 - PullRequest
0 голосов
/ 19 октября 2019

Я читаю о протоколе управления кэшем, как это описано в Intel Manual Vol.3(p11). Что неясно, так это отслеживание доступа к памяти. Вот его описание:

Начиная с процессоров семейства P6, если процессор обнаруживает (посредством отслеживания), что другой процессор пытается получить доступ к области памяти, которую он изменил в своем кэше, но не имеетвсе же записанные обратно в системную память, процессор отслеживания сообщит другому процессору (посредством сигнала HITM#), что строка кэша удерживается в измененном состоянии, и будет предварительно выполнять неявную обратную запись измененных данных. Неявная обратная запись передается непосредственно начальному запрашивающему процессору и отслеживается контроллером памяти, чтобы обеспечить обновление системной памяти. Здесь процессор с действительными данными может передавать данные другим процессорам без фактической записи их в системную память;однако, контроллер памяти отвечает за отслеживание этой операции и обновление памяти.

Рассмотрим следующее состояние кэша (согласно MESI):

       CPU1    CPU2   CPU3
Line1   M       I      -

CPU2пишет в Line1.

Вот как я вижу отслеживание:

  1. CPU2 выполняет запись в память, которая кэшируется в Line1.
  2. CPU1 обходит и находит запись, выполненную CPU2.
  3. CPU1 сигнализирует другим CPU с HITM#, что Line1 находится в измененном состоянии
  4. CPU1 выполняет обратную запись Line1 данных ИЛИ , поскольку CPU1 имеет действительные данные в тот момент, когда данные будут передаваться как CPU2, так и CPU3, передавая Line1в состояние Shared (S).

  5. CPU2 выполняет фактическую запись, передавая Line1 в свой кэш в состоянии Modified (M) и Line1 в CPU1 иCPU3 в состоянии Invalid (I).

Таким образом, отслеживая доступ к памяти, можно избежать сохранения доступа к системной шине. когерентность кэша даже в том случае, если какой-либо процессор записывает в область памяти, которая находится в кэше в строке Invalid. Это в основном то, что они имели в виду под слежкой?

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