Алгоритмы замещения строк кэш-памяти

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

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

По методу сквозной записи прежде всего обновляется слово, хранящееся в основной памяти. Если в кэш-памяти существует копия этого слова, то она также обновляется. Если в кэше отсутствует нужная копия, то либо из основной памяти в кэш-память переносится блок, содержащий обновленное слово (сквозная запись с отображением), либо этого не делается (сквозная запись без отображения). Главное достоинство метода сквозной записи состоит в том, что когда строка в кэш-памяти назначается для хранения другого блока, то удаляемый блок можно не возвращать в основную память, так как его копия там уже есть. Недостаток метода – отсутствие эффекта от использования кэш-памяти (сокращение времени доступа) в отношении к операциям записи.

Согласно методу обратной записи, слово заносится только в кэш-память. Если соответствующей строки в кэш-памяти нет, то нужный блок сначала пересылается из ОП, после чего запись все равно выполняется исключительно в кэш-память. При замещении строки ее необходимо предварительно переслать в соответствующее место основной памяти. Для метода обратной записи, в отличие от алгоритма сквозной записи, характерны две пересылки между основной и кэш-памятью при каждом чтении из ОП. В среднем обратная запись на 10 % эффективнее сквозной записи, но для ее реализации требуются и повышенные аппаратные затраты.

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



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: