Что такое кэш-память

Обновлено: 21.11.2024

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

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

Techopedia рассказывает о кэш-памяти

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

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

Аппаратный кеш, также называемый кешем процессора, представляет собой физический компонент процессора. В зависимости от того, насколько близко она расположена к ядру процессора, это может быть первичная или вторичная кэш-память, при этом первичная кэш-память непосредственно интегрирована в процессор (или расположена ближе всего к нему).

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

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

При повторном доступе к этим данным, если копия доступна в кэше, доступ к этой копии осуществляется в первую очередь, что повышает скорость и эффективность. Если он недоступен, то осуществляется доступ к более крупным, удаленным и медленным памяти (например, к ОЗУ или жесткому диску).

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

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

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

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

  • Уровень 1 или регистр.
    Это тип памяти, в которой хранятся и принимаются данные, которые немедленно сохраняются в ЦП. Наиболее часто используемые регистры — это аккумулятор, программный счетчик, адресный регистр и т. д.
  • Уровень 2 или кэш-память.
    Это самая быстрая память с более быстрым временем доступа, в которой данные временно сохраняются для более быстрого доступа.
  • Уровень 3 или основная память.
    Это память, в которой компьютер работает в данный момент. Она небольшого размера, и после отключения питания данные больше не остаются в этой памяти.
  • Уровень 4 или вторичная память.
    Это внешняя память, которая не так быстра, как основная память, но данные постоянно остаются в этой памяти.

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

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

Производительность кэш-памяти часто измеряется показателем, называемым коэффициентом попаданий.

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

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

Для доступа к кешу каждый адрес основной памяти можно рассматривать как состоящий из трех полей. Младшие значащие биты w идентифицируют уникальное слово или байт в блоке основной памяти. В большинстве современных машин адрес находится на уровне байтов. Остальные s битов определяют один из 2 s блоков основной памяти. Логика кэша интерпретирует эти s битов как тег из s-r битов (самая значащая часть) и линейное поле из r битов. Это последнее поле идентифицирует одну из m=2 r строк кэша.

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

  1. Обычно кэш-память может хранить разумное количество блоков в любой момент времени, но это число мало по сравнению с общим количеством блоков в основной памяти.
  2. Соответствие между блоками основной памяти и блоками в кеше определяется функцией сопоставления.
  • Первичный кэш.
    Первичный кэш всегда располагается на микросхеме процессора. Этот кеш небольшой, а время доступа к нему сравнимо со временем доступа к регистрам процессора.
  • Вторичный кэш.
    Вторичный кэш размещается между основным кешем и остальной частью памяти. Он называется кэшем второго уровня (L2). Часто кэш-память 2-го уровня также размещается на микросхеме процессора.

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

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

Практические вопросы по GATE –

Очередь-1: компьютер имеет 256-килобайтный, 4-канальный набор ассоциативных кэш-памятей данных обратной записи с размером блока 32 байта. Процессор отправляет 32-битные адреса контроллеру кеша. Каждая запись каталога тегов кэша содержит, помимо адресного тега, 2 допустимых бита, 1 измененный бит и 1 бит замены. Количество битов в поле тега адреса равно

Вопрос-2: рассмотрите данные, приведенные в предыдущем вопросе. Размер каталога тегов кеша

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

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

Статья предоставлена ​​Пуджей Танеджей и Вайшали Бхатиа. Пожалуйста, пишите комментарии, если вы обнаружите что-то неверное или хотите поделиться дополнительной информацией по теме, обсуждаемой выше.

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

Обзор кэширования памяти

Как работает кэширование памяти?

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

Поскольку размер кеша ограничен, со временем некоторые данные, уже находящиеся в кеше, придется удалить, чтобы освободить место для новых данных, к которым приложение обращалось последним. Это означает, что системе кэширования нужна стратегия удаления записей для освобождения места. Стратегия будет зависеть от характера доступа к данным приложения и, как правило, будет пытаться удалить записи, к которым не ожидается повторного доступа в ближайшее время. Например, стратегия наименее недавно использованных (LRU) удалит запись, последний доступ к которой был до любой другой записи в кэше. Здесь предполагается, что если с момента доступа к записи прошло много времени, то, скорее всего, к ней скоро не будут обращаться снова. Или, другими словами, записи, которые чаще всего использовались в последнее время, скорее всего, скоро будут использоваться снова. Стратегия наименее часто используемого (LFU) предполагает отслеживание количества обращений к каждой записи в кэше и удаление записи с наименьшим количеством обращений. Здесь предполагается, что редко используемая запись вряд ли будет использоваться снова в ближайшее время.

Проблема с кешем заключается в том, как свести к минимуму «промахи кеша», т. е. попытки считывания приложением записей, которых нет в кеше. Если у вас слишком много промахов, эффективность вашего кеша снижается. Приложение, которое только читает новые данные, не выиграет от кеша и фактически будет демонстрировать более низкую производительность из-за дополнительной работы по проверке кеша, но не находит в нем нужную запись. Одним из способов решения этой проблемы является использование больших кешей. Это часто нецелесообразно на одном компьютере, поэтому распределенные кэши являются популярным выбором для ускорения работы приложений, которым необходим доступ к большим наборам данных. Распределенный кэш-память объединяет оперативную память нескольких компьютеров, подключенных к кластеру, так что вы можете создать кэш большего размера, который может продолжать расти, добавляя новые компьютеры в кластер. Такие технологии, как Hazelcast IMDG, можно использовать в качестве распределенного кластера для ускорения крупномасштабных приложений.

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

Примеры использования

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

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

Слово "кэш" могло появляться в ваших разговорах о компьютерах, производительности и, в частности, о памяти. Но что это на самом деле означает и почему это важно?

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

Определение кэша компьютера

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

Кэш и оперативная память

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

Если кеш такой быстрый, почему не все данные хранятся там? Хранилище кеша ограничено и очень дорого для его места, поэтому имеет смысл хранить только наиболее часто используемые данные, а все остальное оставить в ОЗУ.

Другое использование термина «кеш»

Как кеш-память влияет на производительность

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

Компьютер ждет, пока вы начнете использовать данные, а затем каталогизирует копии данных, к которым вы снова и снова обращаетесь, в свою специальную библиотеку кэш-памяти. Этот процесс называется «кэшированием». Чем больше вы что-то используете, тем больше вероятность того, что эта копия окажется в вашем кеше.

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

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

Что делать, если мой кеш заполнен?

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

Объяснение уровней кэша

Кэш-памяти тоже не одно большое ведро. Компьютер может назначать данные одному из двух уровней.

Кэш 1-го уровня

Уровень 1 (L1) — это кэш, встроенный в ваш ЦП. Он оценивает данные, к которым только что обращался ваш ЦП, и определяет, что вы, вероятно, скоро снова получите к ним доступ. Итак, она попадает в кеш L1, потому что это первое место, которое ваш компьютер проверит в следующий раз, когда вам понадобится эта информация. Это самый быстрый уровень кэширования.

Кэш второго уровня

Уровень 2 (L2) также называется «вторичным кешем». Это то, куда ваш компьютер идет, когда он не может найти ваши данные (или получает «промах») после поиска в кеше L1. Уровень 2 обычно находится на карте памяти в непосредственной близости от процессора.

Кэш диска

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

Кэш графического процессора

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

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

Как покупать с учетом кеша

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

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

Задержка

Чтобы получить доступ к данным, думайте о задержке как о "скорости". Сколько времени требуется вашему компьютеру, чтобы добраться до этого кеша памяти L2? Если это меньший кеш, это будет быстрее. Кэш L2 объемом 6 МБ будет иметь повышенную задержку по сравнению с кешем 3 МБ. Компьютеры более высокого класса используют мультисистемный подход, который размещает данные в дополнительных кэшах меньшего размера. Это решает проблему хранения большего количества информации с меньшей общей задержкой.

Заключение

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

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

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

Статьи по теме:

Об авторе

Линси Кнерл (Linsey Knerl) является автором статей для HP® Tech Takes. Линси — писатель со Среднего Запада, оратор и член ASJA. Она стремится помогать потребителям и владельцам малого бизнеса использовать свои ресурсы с помощью новейших технических решений.

Связанные теги

Популярные статьи

Также посетите

Архивы статей

Нужна помощь?

Рекомендованная производителем розничная цена HP может быть снижена. Рекомендованная производителем розничная цена HP указана либо как отдельная цена, либо как зачеркнутая цена, а также указана цена со скидкой или рекламная цена. На скидки или рекламные цены указывает наличие дополнительной более высокой рекомендованной розничной цены зачеркнутой цены.

Ultrabook, Celeron, Celeron Inside, Core Inside, Intel, логотип Intel, Intel Atom, Intel Atom Inside, Intel Core, Intel Inside, логотип Intel Inside, Intel vPro, Itanium, Itanium Inside, Pentium, Pentium Inside, vPro Inside , Xeon, Xeon Phi, Xeon Inside и Intel Optane являются товарными знаками корпорации Intel или ее дочерних компаний в США и/или других странах.

Домашняя гарантия доступна только для некоторых настраиваемых настольных ПК HP. Необходимость обслуживания на дому определяется представителем службы поддержки HP. Заказчику может потребоваться запустить программы самопроверки системы или исправить выявленные неисправности, следуя советам, полученным по телефону. Услуги на месте предоставляются только в том случае, если проблема не может быть устранена удаленно. Услуга недоступна в праздничные и выходные дни.

HP передаст ваше имя и адрес, IP-адрес, заказанные продукты и связанные с ними расходы, а также другую личную информацию, связанную с обработкой вашего заявления, в Bill Me Later®. Bill Me Later будет использовать эти данные в соответствии со своей политикой конфиденциальности.

Подходящие продукты/покупки HP Rewards определяются как принадлежащие к следующим категориям: принтеры, ПК для бизнеса (марки Elite, Pro и рабочие станции), выберите аксессуары для бизнеса и выберите чернила, тонер и бумага.

Читайте также: