Кэш память и её предназначение в процессоре. Что означает кэш память процессора, в чем отличие L1,L2,L3 Кэш память служит

Насколько важен кэш L3 для процессоров AMD?

Действительно, имеет смысл оснащать многоядерные процессоры выделенной памятью, которая будет использоваться совместно всеми доступными ядрами. В данной роли быстрый кэш третьего уровня (L3) может существенно ускорить доступ к данным, которые запрашиваются чаще всего. Тогда ядрам, если существует такая возможность, не придётся обращаться к медленной основной памяти (ОЗУ, RAM).

По крайней мере, в теории. Недавно AMD анонсировала процессор Athlon II X4, представляющий собой модель Phenom II X4 без кэша L3, намекая на то, что он не такой и необходимый. Мы решили напрямую сравнить два процессора (с кэшем L3 и без), чтобы проверить, как кэш влияет на производительность.

Как работает кэш?

Перед тем, как мы углубимся в тесты, важно понять некоторые основы. Принцип работы кэша довольно прост. Кэш буферизует данные как можно ближе к вычислительным ядрам процессора, чтобы снизить запросы CPU в более отдалённую и медленную память. У современных настольных платформ иерархия кэша включает целых три уровня, которые предваряют доступ к оперативной памяти. Причём кэши второго и, в частности, третьего уровней служат не только для буферизации данных. Их цель заключается в предотвращении перегрузки шины процессора, когда ядрам необходимо обменяться информацией.

Попадания и промахи

Эффективность архитектуры кэшей измеряется процентом попаданий. Запросы данных, которые могут быть удовлетворены кэшем, считаются попаданиями. Если данный кэш не содержит нужные данные, то запрос передаётся дальше по конвейеру памяти, и засчитывается промах. Конечно, промахи приводят к большему времени, которое требуется для получения информации. В результате в вычислительном конвейере появляются "пузырьки" (простои) и задержки. Попадания, напротив, позволяют поддержать максимальную производительность.

Запись в кэш, эксклюзивность, когерентность

Политики замещения диктуют, как в кэше освобождается место под новые записи. Поскольку данные, записываемые в кэш, рано или поздно должны появиться в основной памяти, системы могут делать это одновременно с записью в кэш (write-through) или могут маркировать данные области как "грязные" (write-back), а выполнять запись в память тогда, когда она будет вытесняться из кэша.

Данные в нескольких уровнях кэша могут храниться эксклюзивно, то есть без избыточности. Тогда вы не найдёте одинаковых строчек данных в двух разных иерархиях кэша. Либо кэши могут работать инклюзивно, то есть нижние уровни кэша гарантированно содержат данные, присутствующие в верхних уровнях кэша (ближе к процессорному ядру). У AMD Phenom используются эксклюзивный кэш L3, а Intel следует стратегии инклюзивного кэша. Протоколы когерентности следят за целостностью и актуальностью данных между разными ядрами, уровнями кэшей и даже процессорами.

Объём кэша

Больший по объёму кэш может содержать больше данных, но при этом наблюдается тенденция увеличения задержек. Кроме того, большой по объёму кэш потребляет немалое количество транзисторов процессора, поэтому важно находить баланс между "бюджетом" транзисторов, размером кристалла, энергопотреблением и производительностью/задержками.

Ассоциативность

Записи в оперативной памяти могут привязываться к кэшу напрямую (direct-mapped), то есть для копии данных из оперативной памяти существует только одна позиция в кэше, либо они могут быть ассоциативны в n-степени (n-way associative), то есть существует n возможных расположений в кэше, где могут храниться эти данные. Более высокая степень ассоциативности (вплоть до полностью ассоциативных кэшей) обеспечивает наилучшую гибкость кэширования, поскольку существующие данные в кэше не нужно переписывать. Другими словами, высокая n-степень ассоциативности гарантирует более высокий процент попаданий, но при этом увеличивается задержка, поскольку требуется больше времени на проверку всех этих ассоциаций для попадания. Как правило, наибольшая степень ассоциации разумна для последнего уровня кэширования, поскольку там доступна максимальная ёмкость, а поиск данных за пределами этого кэша приведёт к обращению процессора к медленной оперативной памяти.

Приведём несколько примеров: у Core i5 и i7 используется 32 кбайт кэша L1 с 8-way ассоциативностью для данных и 32 кбайт кэша L1 с 4-way для инструкций. Понятно желание Intel, чтобы инструкции были доступны быстрее, а у кэша L1 для данных был максимальный процент попаданий. Кэш L2 у процессоров Intel обладает 8-way ассоциативностью, а кэш L3 у Intel ещё "умнее", поскольку в нём реализована 16-way ассоциативность для максимизации попаданий.

Однако AMD следует другой стратегии с процессорами Phenom II X4, где используется кэш L1 с 2-way ассоциативностью для снижения задержек. Чтобы компенсировать возможные промахи ёмкость кэша была увеличена в два раза: 64 кбайт для данных и 64 кбайт для инструкций. Кэш L2 имеет 8-way ассоциативность, как и у дизайна Intel, но кэш L3 у AMD работает с 48-way ассоциативностью. Но решение выбора той или иной архитектуры кэша нельзя оценивать без рассмотрения всей архитектуры CPU. Вполне естественно, что практическое значение имеют результаты тестов, и нашей целью как раз была практическая проверка всей этой сложной многоуровневой структуры кэширования.

Что такое кэш процессора?

Кэш – это часть памяти, которая обеспечивает максимальную скорость доступа и ускоряет скорость вычисления. Он хранит в себе части данных, которые процессор запрашивает наиболее часто, так что процессору нет необходимости постоянно за ними обращаться к памяти системы.

Как вы знаете, – это часть оборудования компьютера, которая характеризуется наиболее медленными скоростями обмена данными. Если процессору понадобится какая-то информация, он отправляется за ней к оперативной памяти по одноимённой шине. Получив от процессора запрос, та начинает копаться в своих анналах в поисках нужных процессору данных. По получению ОЗУ пересылает их обратно в процессор по той же шине памяти. Такой круг для обмена данными всегда был длинноват. Потому производители и решили, что можно было бы позволить процессору хранить данные где-нибудь поблизости. Принцип работы кэша основан на простой идее.

Представьте, что память – это школьная библиотека. Ученик подходит к работнику за книжкой, та отправляется к полкам, ищет её, возвращается к студенту, должным образом оформляет и приступает к следующему ученику. В конце дня он повторяет ту же операцию, когда книги ей возвращают. Вот так работает процессор без кэша.

Зачем же нужен кэш процессору?

А теперь представьте, что библиотекарю надоело постоянно носиться туда-сюда с книгами, которые постоянно у неё требуют из года в год, изо дня в день. Он обзавёлся большой тумбой, где хранит наиболее часто запрашиваемые книги и учебники. Остальные, что положены, конечно, так и продолжают храниться на прежних полках. Но эти – всегда под рукой. Сколько же времени он сэкономил этой тумбой и себе, и остальным. Это и есть кэш.

Значит, кэш умеет сохранять только самые требуемые данные?

Да. Но он может большее. Например, уже сохраняя в себе часто требуемые данные, он способен оценить (с помощью процессора) ситуацию и затребовать информацию, которая вот-вот понадобиться. Так, клиент видео проката, затребовавший фильм «Крепкий орешек» с первой частью, скорее всего, попросит вторую. А вот она! Также и с кэшем процессора. Обращаясь к ОЗУ и сохраняя определённые данные, он извлекает и данные из соседних ячеек памяти. Такие куски данных получили название строка кэша.

Что такое двухуровневый кэш?

Современный процессор имеет два уровня. Соответственно, первый и второй. Обозначаются литерой L от английского Level. Первый – L1 – более быстрый, но по объёму невелик. Второй – L2 – чуть больше, но медленнее, но быстрее, нежели оперативная память. Кэш первого уровня делится на кэш инструкций и кэш данных. Кэш инструкций хранит в себе тех их набор, которые необходимы процессору для расчётов. Тогда как в кэше данных сохраняются величины или значения, необходимые для текущего вычисления. А кэш второго уровня используется для подгрузки данных из оперативной памяти компьютера. Принцип работы уровней кэша также можно объяснить с помощью примера школьной библиотеки. Так, заполнив купленную тумбу, библиотекарь понимает, что её уже не хватает на книги, ради которых постоянно приходится бегать по залу. Но список таких книг окончательно оформлен, и нужно купить такую же тумбу. Первую он выбрасывать не стал – жалко – и просто докупил вторую. И теперь, по мере заполняемости первой, библиотекарь начинает заполнять вторую, которая вступает в дело, когда первая заполнена, но нужные книги в неё не поместились. С уровнями кэша то же самое. И по мере развития микропроцессорной техники уровни кэша процессора растут в своих объёмах.

Кэш будет продолжать расти?

Вряд ли. Погоня за частотой процессора тоже продолжалась недолго, и производители нашли другие пути увеличения мощности. Также и с кэшем. Говоря конкретно, объём и количество уровней бесконечно раздувать нельзя. Кэш не должен превращаться в ещё одну планку оперативной памяти с медленной скоростью доступа к ней или превращать размеры процессора до уровня в половину материнской платы. Ведь скорость доступа к данным – это, прежде всего, энергопотребление и затрата производительности самого процессора. Также стали учащаться промахи кэша (в противоположность к попаданию кэша), когда процессор обращается к кэшированной памяти за данными, которых там не оказывается. Данные в кэше постоянно обновляются, используя различные алгоритмы, чтобы вероятность попадания кэша усилить.

Прочитано: 644

Все процессоры с конца 90-х годов имеют внутреннюю кэш-память (или просто кэш). Кэш — это быстродействующая память, в которую переносятся команды и данные, непосредственно обрабатываемые процессором.

В современных процессорах встроена кэш-память двух уровней — первого (L1) и второго (L2). С содержимым кэша L1 процессор работает несколько быстрее, а объем кэша L2 обычно несколько больше. Обращение к кэш-памяти происходит без состояния ожидания, т.е. кэш-память первого уровня (встроенный кэш) работает на частоте процессора.

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

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

Вы приходите в кафе пообедать ежедневно, в одно и то же время, и садитесь всегда за один и тот же столик. Всегда заказываете стандартный набор из трех блюд.

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

Вы не ждете заказ и сэкономили массу времени. Поднос с вашими блюдами — это и есть кэш первого уровня. Но на четвертый день вам вдруг захотелось добавить еще одно блюдо, допустим, десерт.

Хотя вас в назначенное время уже ждал поднос с заказом, но за десертом официанту все равно пришлось бежать на кухню.

А на пятый — снова меню из трех наименований. На шестой — опять десерт, но отличающийся от предыдущего. И официант, не зная, что вы из десерта захотите заказать (да и вообще не зная, будете ли вы что-либо заказывать), решается на следующий шаг: рядом с вашим столиком ставит шкафчик с несколькими наименованиями десерта.

И если вы изъявите желание, все под рукой, на кухню бежать не надо. Шкафчик с десертом — это кэш второго уровня.

От объема кэша L1 (от 16 до 128 Кбайт) и L2 (от 64 Кбайт до 512 Кбайт, в Pentium III Хеоп и AMD Opteron до 4 Мбайт) существенно зависит производительность процессора.

У процессоров Intel Pentium III и процессоров Celeron на его основе размер кэша L1 составляет 32 Кбайт. У Intel Pentium 4, а также на его базе Celeron и Хеоп-версий — всего 20 Кбайт. Процессоры AMD Duron, Athlon (включая ХР/МР) и Opteron, а также VIA СЗ содержат 128 Кбайт L1 кэша.

Современные двухъядерные процессоры имеют кэш первого уровня для каждого ядра в отдельности, поэтому иногда в описании кэша мы можем встретить цифру 128×2. Это означает, что каждое ядро процессора обладает 128 Кбайт кэш-памяти первого уровня.

Размер кэша L1 важен для получения высокой производительности в большинстве распространенных задач (офисные приложения, игры, большинство серверных приложений и т.п.). Особенно сильно его эффективность проявляется для поточных вычислений (например, обработка видеоизображения).

Это одна из причин того, что Pentium 4 относительно малоэффективен для большинства распространенных применений (хотя это компенсируется высокой тактовой частотой). Кэш L1 всегда работает (обменивается информацией с ядром процессора) на внутренней частоте процессора.

В отличие от него, кэш L2 в разных моделях процессоров работает с разной частотой (и соответственно производительностью). Начиная с Intel Pentium II во многих процессорах применялся кэш L2, работающий на частоте, вполовину меньшей, чем внутренняя частота процессора.

Такое решение использовано в устаревших процессорах Intel Pentium III (до 550 МГц) и устаревших AMD Athlon (в некоторых из них внутренний кэш L2 работал на трети частоты ядра процессора). Объем кэша L2 также различен для разных процессоров.

В устаревших, а также некоторых более новых процессорах Intel Pentium III объем кэша L2 составляет 512 Кбайт, в остальных Pentium III — 256 Кбайт. Процессор Intel Celeron на основе Pentium III выпускался с 128 и 256 Кбайт кэша L2, а на основе Pentium 4 — только со 128 Кбайт. В различных вариантах Xeon-версии Intel Pentium 4 присутствует до 4 Мбайт кэш-памяти L2.

В новых процессорах Pentium 4 (некоторые серии с частотой 2000 МГц и все — для частот выше) имеется 512 Кбайт кэша L2, в остальных Pentium 4 -256 Кбайт. В процессорах Хеоп (на основе Pentium 4) бывает 256 или 512 Кбайт кэша L2.

Кроме того, в них присутствует еще кэш-память третьего уровня L3. Интегрированная кэш-память L3 в сочетании с быстрой системной шиной формирует высокоскоростной канал обмена данными с системной памятью.

Как правило, кэш-памятью третьего уровня L3 комплектуются только процессоры для серверных решений или специальные модели «настольных» процессоров. Кэш-памятью L3 обладают, например, такие линейки процессоров, как Xeon DP, Itanium 2, Xeon MP.

Процессор AMD Duron имеет 128 Кбайт кэша L1 и 64 Кбайт кэша L2. В процессорах Athlon (кроме наиболее старых), Athlon MP и большинстве вариантов Athlon ХР присутствует 128 Кбайт кэша L1 и 256 Кбайт кэша L2, а в новейших Athlon ХР (2500+, 2800+, 3000+ и выше) — 512 Кбайт кэша L2. AMD Opteron содержит 1 Мбайт кэш-памяти L2.

Последние модели процессоров Intel Pentium D, Intel Pentium M, Intel Core 2 Duo выпускаются с 6 Мбайт кэш-памяти L2, a Core 2 Quad — 12 Мбайт кэш-памяти L2.

Последний на момент написания данной книги процессор фирмы Intel Core i7 обладает 64 Кбайт кэш-памяти L1 для каждого из 4 ядер, а также 256 Кбайт памяти L2 также для каждого ядра. Помимо кэш памяти первого и второго уровней процессор обладает и общей для всех ядер кэш-памятью третьего уровня, равной 8 Мбайт.

Для процессоров, у которых возможен разный размер кэша L2 (или в случае Intel Xeon MP — L3) у одной и той же модели, этот размер должен быть указан при продаже (от него, разумеется, зависит цена процессора). Если процессор продается в «коробочной» упаковке (поставка In-Box), на ней обычно указывается размер кэш-памяти.

Для обычных пользовательских задач (в том числе игр) важнее скорость кэша L2, чем его объем; для серверных задач, наоборот, важнее объем. Наиболее продуктивные серверы, особенно с большим объемом оперативной памяти (несколько гигабайт), требуют максимального объема и максимальной скорости кэша L2.

Непревзойденными по этим параметрам остаются Хеоп-версии процессоров Pentium III. (Процессор Xeon MP оказывается все же более производительны в серверных задачах, чем Pentium III Xeon, за счет более высокой тактовой частоты самого процессора и шины обмена информацией с памятью.) Из изложенного выше сделаем вывод: кэш-память улучшает взаимодействие между быстрым процессором и более медленной оперативной памятью, а также позволяет минимизировать периоды ожидания, возникающие при обработке данных. Решающую роль в этом играет кэш-память второго уровня, расположенная в кристалле процессора.

Всем доброго времени суток. Сегодня мы постараемся растолковать вам такое понятие как кэш. Кэш память процессора – это сверхбыстрый массив обработки данных, скорость которого превышает показатели стандартной ОЗУ раз так в 16–17, если речь идет о DDR4.

Из этой статьи вы узнаете:

Именно объем кэш-памяти позволяет ЦП работать на предельных скоростях, не дожидаясь, пока оперативная память обработает какие-либо данные и не отправит результаты готовых вычислений чипу для дальнейшей их обработки. Аналогичный принцип прослеживается в HDD, только там используется буфер на 8–128 МБ. Другое дело, что скорости гораздо ниже, но процесс работы аналогичен.

Что такое кэш процессора?

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

Результаты вычислений снова отправляются в ОЗУ, но уже в гораздо меньшем количестве (вместо тысячи значений на выходе получаем куда меньше), а на обработку берется новый массив. И так до тех пор, пока работа не будет сделана.

Скорость работы определяется эффективностью оперативной памяти. Но ни один современный модуль DDR4, включая оверклокерские решения с частотами под 4000 МГц, и рядом не стоял с возможностями самого чахлого процессора с его «медленным» КЭШем.

Все потому, что скорость работы ЦП превышает показатели работы ОЗУ в среднем раз в 15, а то и выше. И не смотрите только на параметры частоты, помимо них отличий хватает.
В теории получается, что даже сверхмощные Intel Xeon и AMD Epyc вынуждены простаивать, но по факту оба серверных чипа работают на пределе возможностей. А все потому, что они набирают необходимое количество данных по величине кэша (вплоть до 60 и более МБ) и моментально обрабатывают данные. ОЗУ служит в качестве некоего склада, откуда черпаются массивы для вычислений. Эффективность вычислений компьютера возрастает и все довольны.

Краткий экскурс в историю

Первые упоминания о кэш-памяти датированы концом 80‑х годов. До этого времени скорость работы процессора и памяти были приблизительно одинаковой. Стремительное развитие чипов требовало придумать какой-нибудь «костыль», чтобы повысить уровень быстродействия ОЗУ, однако использовать сверхбыстрые чипы было очень затратно, а потому решились обойтись более экономичным вариантом – внедрением скоростного массива памяти в ЦП.

Впервые модуль кэш-памяти появился в Intel 80386. В то время задержки при работе DRAM колебались в пределах 120 наносекунд, в то время как более современный модуль SRAM сокращал время задержек до внушительных по тем временам 10 наносекунд. Примерная картина более наглядно продемонстрирована в противостоянии HDD против SSD.

Изначально кэш-память распаивалась прямиком на материнских платах, ввиду уровня техпроцесса того времени. Начиная с Intel 80486 8 кб памяти было внедрено непосредственно в кристалл процессора, что дополнительно увеличивало производительность и снижало площадь кристалла.

Данная технология расположения оставалась актуальной лишь до выхода Pentium MMX, после чего SRAM-память была заменена более прогрессивной SDRAM.
Да и процессоры стали гораздо меньше, а потому надобность во внешних схемах отпала.

Уровни кэш-памяти

На маркировке современных ЦП, помимо и , можно встретить такое понятие как размер кэша 1,2 и 3 уровней. Как он определяется и на что влияет? Давайте разбираться простым языком.

  • Кэш первого уровня (L1) – самая важная и быстрая микросхема в архитектуре ЦП. Один процессор может вместить количество модулей, равных числу ядер. Примечательно, что микросхема может хранить в памяти самые востребованные и важные данные только со своего ядра. Объем массива зачастую ограничен показателем в 32–64 КБ.
  • Кэш второго уровня (L2) – падение скорости компенсируется увеличением объема буфера, который доходит до 256, а то и 512 КБ. Принцип действия такой же, как и у L1, а вот частота запроса к памяти ниже, ввиду хранения в ней менее приоритетных данных.
  • Кэш третьего уровня (L3) – самый медленный и объемный раздел среди всех перечисленных. И все равно этот массив гораздо быстрее оперативной памяти. Размер может достигать 20, и даже 60 МБ, если речь касается серверных чипов. Польза от массива огромна: он является ключевым звеном обмена данными между всеми ядрами системы. Без L3 все элементы чипа были бы разрознены.

В продаже можно встретить как двух- так и трехуровневую структуру памяти. Какая из них лучше? Если вы используете процессор лишь для офисных программ и казуальных игр, то никакой разницы не почувствуете. Если же система собирается с прицелом под сложные 3D-игры, архивацию, рендеринг и работу с графикой, то прирост в некоторых случаях будет колебаться от 5 до 10%.
Кэш третьего уровня оправдан лишь в том случае, если вы намерены регулярно работать с многопоточными приложениями, требующими регулярные сложные расчеты. По этой причине в серверных моделях нередко используют кэш L3 больших объемов. Хотя бывают случаи, что и этого не хватает, а потому приходится дополнительно ставить так называемые модули L4, которые выглядят как отдельная микросхема, подключаемая к материнской плате.

Как узнать количество уровней и размер кэша на своем процессоре?

Начнем с того, что сделать это можно 3 способами:

  • через командную строку (только кэш L2 и L3);
  • путем поиска спецификаций в интернете;
  • с помощью сторонних утилит.

Если взять за основу тот факт, что у большинства процессоров L1 составляет 32 КБ, а L2 и L3 могут колебаться в широких пределах, последние 2 значения нам и нужны. Для их поиска открываем командную строку через «Пуск» (вводим значение «cmd» через строку поиска).

Система покажет подозрительно большое значение для L2. Необходимо поделить его на количество ядер процессора и узнать итоговый результат.

Если вы собрались искать данные в сети, то для начала узнайте точное имя ЦП. Нажмите правой кнопкой по иконке «Мой компьютер» и выберите пункт «Свойства». В графе «Система» будет пункт «Процессор», который нам, собственно, нужен. Переписываете его название в тот же Google или Yandex и смотрите значение на сайтах. Для достоверной информации лучше выбирать официальные порталы производителя (Intel или AMD).
Третий способ также не вызывает проблем, но требует установки дополнительного софта вроде GPU‑Z, AIDA64 и прочих утилит для изучения спецификаций камня. Вариант для любителей разгона и копошения в деталях.

Итоги

Теперь вы понимаете, что такое кэш-память, от чего зависит ее объем, и для каких целей используется сверхбыстрый массив данных. На данный момент наиболее интересными решениями на рынке в плане большого объема кэш-памяти, можно назвать устройства AMD Ryzen 5 и 7 с их 16 МБ L3.

В следующих статьях осветим такие темы как процессоров, пользу от чипов и не только. и оставайтесь с нами. До новых встреч, пока.

Кэш центрального процессора

Функционирование

Диаграмма кэша памяти ЦПУ

Кэш - это память с большей скоростью доступа, предназначенная для ускорения обращения к данным, содержащимся постоянно в памяти с меньшей скоростью доступа (далее «основная память»). Кэширование применяется ЦПУ , жёсткими дисками , браузерами и веб-серверами .

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

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

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

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

При модификации элементов данных в кэше выполняется их обновление в основной памяти. Задержка во времени между модификацией данных в кэше и обновлением основной памяти управляется так называемой политикой записи .

В кэше с немедленной записью каждое изменение вызывает синхронное обновление данных в основной памяти.

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

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