0

Я немного запутался для доступа к памяти в случае записи через кэш для обоих написать выделить и не пишут выделить.Частота доступа к памяти в кэше записи (зарезервировать запись/Нет выделения записи)?

Предположим, у нас есть кеш с размером строки 4 слова. Сколько слов будет передаваться между кэш-памятью и в случае кэш-привет и пропустить, если:

  • Написать выделить
  • Нет записи не выделяют

Благодаря ...

+0

Мой вопрос в том, что в случае записи hit/miss количество слов будет перемещаться из кеша в память (одно слово или 4 слова). – Aadarsh

ответ

2

Я думаю, что его зависит от реализации.

Давайте рассмотрим выделение без записи и кеш-запись HIT. Начиная с его кеш-памяти HIT, вам не нужно извлекать из памяти, но с момента написания, вам нужно обновить основную память. Если ваша архитектура поддерживает маскируемую запись, то есть она может отправлять адрес с 4-х словной гранулярностью и маской фактического грязного слова, тогда вы можете уйти, просто отправив слово. Таким образом, в конце памяти, когда он получает запрос на запись, он должен иметь возможность обновлять только модифицируемое слово на основе маски и адреса. В случае кэширования MISS, поскольку его отсутствие записи не выделяется, вам не нужно ничего извлекать. Вам по-прежнему необходимо обновить основную память, опять же, как указано выше.

Когда вы рассматриваете выделение Write, когда это HIT, поведение похоже на выше. Когда его пропустить, вам нужно извлечь запись перед изменением. Обычно это реализовано аналогично прочтению прочтения. Таким образом, вы получите 4 слова, а остальное - для записи в память.

Таким образом, нижняя линия, выборка из памяти всегда будет 4 слова. Запись в память будет 1 слово или 4 слова, в зависимости от реализации.