Временный кэш что такое
Временные файлы хранятся в кэше, чтобы всё работало более плавно
Кэш – это хранилище временных файлов, которое устройство использует для ускорения работы пользователя. Кэш находится в разных местах, на всевозможных устройствах, и хотя каждый кэш содержит различную информацию, все они используются для одной цели.
Кэш – это то, что позволяет вашему веб-браузеру быстро загружать недавно использованные изображения. Кэш-память ускоряет отображение экранов на вашем компьютере. Кэш вашего телефона хранит релевантную информацию из приложений, и даже ваш маршрутизатор может хранить в кэше данные для быстрого доступа.
Без кэша наши компьютеры, телефоны и другие устройства не будут работать так же быстро, как сейчас. Однако, кэш не всегда полезен; он может занимать много места на диске, храрить поврежденные файлы и даже собирать вредоносные программы.
Для чего нужен кэш браузера
Большинство разговоров, связанных с описанием кэша, касаются кэша браузера. Кэш браузера – это часть пространства на жестком диске, выделенная для сбора часто используемых элементов, доступ к которым осуществляется через веб-браузер.
Эти файлы с высокой частотой доступа сохраняются для того, чтобы в следующий раз, когда вам снова понадобятся эти данные, браузер смог открыть их непосредственно с жесткого диска вместо повторной загрузки из Интернета.
Например, когда вы посещаете веб-сайт, браузер загружает изображения и текст на ваш компьютер (или телефон, планшет и т.д.). Если вы снова откроете ту же страницу через две минуты, те же файлы всё ещё будут присутствовать на вашем компьютере. Когда браузер обнаруживает, что запрашиваемые данные уже доступны на вашем жестком диске, он открывает эти файлы, а не загружает их снова с сервера веб-сайта.
В результате файлы открываются практически сразу, что экономит ваше время. Также используется меньше данных, что особенно полезно для мобильных пользователей с ограниченными тарифными планами. Ваш телефон не должен загружать каждое изображение и веб-страницу несколько раз, поскольку он может восстановить данные из кэша.
Проблемы с кэшем
Несмотря на то, что кэш даёт существенные преимущества в экономии времени и данных, кэш-память может быть повреждена и иногда приносит больше вреда, чем пользы.
Например, вирус может загрузить себя в кэш вашего браузера, заразив весь ваш компьютер. Файлы также могут сильно устареть, если кэш не очищается автоматически, а это означает, что просматриваемые страницы могут быть неактуальными или даже вызывать ошибки.
Кэш также обычно достаточно большой и может занимать гигабайты данных. Учитывая, что некоторые телефоны и компьютеры имеют очень ограниченное хранилище, кэши всех типов следует очищать по мере необходимости, включая кэши браузера и приложения.
Все веб-браузеры имеют возможность очистки кэша. Это помогает освободить дисковое пространство, повысить общую производительность, удалить любые поврежденные файлы и запросить новые данные с веб-сервера.
Вы можете очистить кэш на вашем устройстве, программе или мобильном приложении, если оно отображает странные вещи, работает медленно, случайно падает или ведет себя не так, как обычно.
Что такое кэш и зачем его чистить
Это старые данные, которые уже могут быть неактуальны
Когда не работает какой-то сайт или сервис, от техподдержки часто можно услышать «Почистите кэш и перезагрузите страницу». Иногда это помогает. Рассказываем, почему так происходит, что такое кэш, зачем он нужен и как его почистить.
⚠️ Минутка грамотности. По словарю РАН слово cache в русском пишется «кеш». Но по рекомендациям Гиляревского нужно писать «кэш». И нам нравится, как это произносится. Произнесите вместе с нами:
Что такое кэш
Кэш — это данные, которые компьютер уже получил и использовал один раз, а потом сохранил на будущее. Смысл кэша в том, чтобы в следующий раз взять данные не с далёкого и медленного сервера, а из собственного быстрого кэша. То же самое, что закупиться продуктами на неделю и потом ходить не в магазин, а в холодильник.
В случае с браузером это работает так:
Дальше происходит так:
4. Если вкладкой или браузером долго не пользовались, операционная система выгружает из оперативной памяти все страницы, чтобы освободить место для других программ.
5. Если переключиться назад на браузер, он моментально сходит в кэш, возьмёт оттуда загруженную страницу и покажет её на экране.
Получается, что если браузер будет брать из кэша только постоянные данные и скачивать с сервера только что-то новое, то страница будет загружаться гораздо быстрее. Выходит, главная задача браузера — понять, какой «срок годности» у данных в кэше и через какое время их надо запрашивать заново.
👉 Например, браузер может догадаться, что большая картинка на странице вряд ли будем меняться каждые несколько секунд, поэтому имеет смысл подержать её в кэше и не загружать с сервера при каждом посещении. Поэтому в кэше часто хранятся картинки, видеоролики, звуки и другие декоративные элементы страницы.
👉 Для сравнения: браузер понимает, что ответ сервера на конкретный запрос пользователя кэшировать не надо — ведь ответы могут очень быстро меняться. Поэтому ответы от сервера браузер не кэширует.
Какая проблема с кэшем
На первый взгляд кажется, что кэш — это прекрасно: данные уже загружены, к ним можно быстро обратиться и достать оттуда всё, что нужно, без запроса к серверу на другом конце планеты.
Но представьте такую ситуацию: вы заходите в интернет-магазин обуви, в котором покупали уже много раз, но товары почему-то не добавляются в корзину. Или добавляются, но кнопка «Оплатить» не работает. Чаще всего причина в том, что браузер делает так:
Решение — почистить кэш
Когда мы чистим кэш, оттуда удаляются все данные, которые браузер сохранил «на всякий случай». Это значит, что при обновлении страницы браузер заглянет в кэш, увидит, что там пусто и запросит все данные с сервера заново. Они, конечно, тоже сразу отправятся в кэш, но в следующий раз вы уже будете знать, что делать.
Чтобы очистить кэш в Сафари, достаточно нажать ⌥+⌘+E, а в Хроме — нажать Ctrl+Shift+Backspace (⇧+⌘+Backspace) и выбрать время, в пределах которого нужно очистить кэш:
Зачем нужен кэш, если из-за него всё ломается?
На самом деле всё ломается не из-за кэша, а из-за неправильных настроек сервера, которые отдают страницу. Потому что именно сервер должен сказать браузеру: «Вот это можно кэшировать, а вон то лучше не кэшируй, мало ли что».
Часто разработчики недокручивают эти настройки, и браузер не получает нужных инструкций, поэтому кэширует всё подряд. И тогда приходится вмешиваться, чистить кэш и восстанавливать работоспособность.
Что такое кэш?
Последнее обновление: 07/05/2021
Кэш — это временные файлы или копии файлов и данных, сохраненные в памяти компьютера, телефона, сервера или браузера для быстрой загрузки по запросу пользователя, а также буфер обмена информации электронных устройств. Хотя название во всех случаях одинаковое, но принцип работы несколько отличается. В статье мы расскажем, в чем отличительные особенности разных типов кэша на разных устройствах.
Говоря простыми словами, кэш (cache) представляет собой копии файлов, которыми вы пользовались, для быстрого доступа к ним. Если вы их удалите, то телефон, компьютер или браузер создаст их снова сразу после использования той или иной программы.
Назначение и тип кэша
Кэшем зовут промежуточный буфер обмена с быстрым доступом, где содержится информация, которая может быть повторно запрошена. А процесс записи данных в кэш принято называть кэшированием. Извлечение данных из кэша занимает меньше времени, в сравнении с медленной памятью или из удаленных источников. Поэтому главное назначение кэша – снизить временную задержку при доступе к информации и увеличить быстродействие устройства, программы или операционной системы.
Выделяют два типа кэша:
Аппаратная реализация
Аппаратный кэш используется в электронных компонентах и мобильных устройствах – жестком диске, процессоре ПК или смартфона. В память с быстрым доступом помещаются и извлекаются копии часто используемых инструкций и записей. Причем если в HDD в качестве хранилища используется микросхема, то у центрального процессора для ПК или в составе мобильной платформы, кэш состоит из нескольких уровней именуемых L1, L2, L3 и т.д. Объем каждого последующего уровня кэша больше, при этом пропускная способность заметно ниже.
Организацию кэш-памяти центрального процессора для ПК рассмотрим на примере Intel Xeon E3-1240. Объем кэша L1 – 32 КБ на ядро, L2 – 256 КБ на ядро, а L3 – 8 МБ на все ядра. У более современных и многоядерных процессоров, объем памяти больше. Скорость чтения, записи и копирования, у каждого последующего уровня на 30-50% меньше. При этом пропускная способность самого медленного кэша L3 – в 6-8 раз выше, в сравнении с оперативной памятью.
Принцип работы кэша следующий. Благодаря заложенным алгоритмам, процессор заранее просчитывает, какой тип данных потребуется, для чего извлекает заранее подготовленные записи. Если же расчет выполнен неверно или нужная запись отсутствует, цепочка действий выстраивается заново, а поиск требуемых данных выполняется в удаленных разделах памяти – кэш L2 или L3, оперативная память или HDD. В обоих случаях продолжительность обработки запроса увеличивается. Читайте подробнее о назначении кэша в процессоре.
Стоит отметить, что увеличить объем аппаратного кэша невозможно. И если для процессора это не критично, так как производитель устанавливает оптимальный объем памяти, то для жесткого диска лишней кэш память не будет. Поскольку часть памяти отведено под прошивку и микро ОС. Оптимальный объем 128 или 256 МБ.
Программная реализация
Программный кэш представляет собой область данных на диске, обычно папку, где приложения или операционная система хранит часто используемые файлы. При повторном запросе со стороны пользователя, программа ищет данные в кэше для оперативной загрузки. Если информация отсутствует или устарела, загрузка производится из внешних источников – интернета.
Стоит отметить, что на скорость считывания и загрузки данных из кэша влияет тип накопителя. Наивысшую скорость обеспечивают твердотельные диски – SSD, среднюю скорость демонстрируют гибридные решения SSD и HDD – HHD, наименьшая скорость у диска HDD.
Что такое кэш браузера
В браузере используется программная реализация кэширования на диск. Информация о просмотренных страницах сохраняется в выделенную область памяти. При следующем запросе, программа сначала ищет страницу в кэш-памяти. Если поиск удачен – загружает страницу, в ином случае скачивает повторно из интернета. Таким образом, достигается быстрая загрузка данных, что эффективно при слабом или отсутствующем подключении к интернету.
Из недостатков стоит отметить длительность поиска кэшированной страницы, на что влияет тип и загруженность накопителя, а так же общая конфигурация компьютера. На слабых машинах со старыми или изношенными дисками, скорость работы ощутимо ниже. Поэтому переполненную область данных рекомендуется периодически очищать. Узнайте подробнее как очистить кэш браузера, в нашем отдельном материале.
Что такое кэш на компьютере
На компьютере операционная система так же использует программную реализацию кэширования. Остаточные файлы обновления системы, отчеты различных служб, базы данных и т.д., обычно хранятся во временной выделенной области памяти на диске.
Так же на компьютере используется другой вид программного кэширования – файл подкачки. В скрытое от пользователя хранилище, игры и приложения записывают данные, что не поместились в оперативной памяти или что могут пригодиться позднее. Объем файла подкачки регулируется в операционной системе и позволяет частично компенсировать нехватку оперативной памяти.
Стоит отметить, что компьютер так же нуждается в удалении временных файлов для увеличения производительности. Смотрите детальнее как очистить кэш на компьютере.
Что такое кэш на телефоне
На телефоне, в частности с ОС Android, кэшем одновременно называют временные файлы, а так же дополнения к приложениям и играм. В первом случае, временные файлы образовываются в процессе работы программ. В число данных входят сохраненные страницы из интернета, миниатюры фотографий в галерее, отчеты о работе или сбоях и т.д.
Кэш в виде дополнения к играм или программам – неотъемлемая часть приложения для нормальной работы или доступа к дополнениям. В играх такой вид временных данных хранит текстуры, языковые пакеты, библиотеки и т.д. Если данные отсутствуют, то игра не запустится или не заработает на определенном этапе. В случае с программой, ограничения коснуться определенных функций.
В ОС Android кэш активных пользователей часто достигает 2 ГБ, что ощутимо заметно на устройствах, где 8 или 16 ГБ внутренней памяти. Для освобождения памяти или ускорения работы устройства, рекомендуется удалить ненужные файлы. Узнайте детальнее, как очистить кэш на андроиде в отдельной статье.
Краткое резюме
Видео инструкции
Вывод
В статье мы детально описали, что такое кэш. В чем различия, а так же как устроена работа кэш-памяти. Промежуточный буфер обмена информацией способствует повышению быстродействия и производительности. При этом программный кэш лучше очищать несколько раз в год, что бы исключить переполнения и замедления работы компьютера или телефона.
Какие у вас есть вопросы? Задавайте интересующий вас вопрос в комментариях.
Что такое кэш в процессоре и зачем он нужен
Содержание
Содержание
Для многих пользователей основополагающими критериями выбора процессора являются его тактовая частота и количество вычислительных ядер. А вот параметры кэш-памяти многие просматривают поверхностно, а то и вовсе не уделяют им должного внимания. А зря!
В данном материале поговорим об устройстве и назначении сверхбыстрой памяти процессора, а также ее влиянии на общую скорость работы персонального компьютера.
Предпосылки создания кэш-памяти
Любому пользователю, мало-мальски знакомому с компьютером, известно, что в составе ПК работает сразу несколько типов памяти. Это медленная постоянная память (классические жесткие диски или более быстрые SSD-накопители), быстрая оперативная память и сверхбыстрая кэш-память самого процессора. Оперативная память энергозависимая, поэтому каждый раз, когда вы выключаете или перезагружаете компьютер, все хранящиеся в ней данные очищаются, в отличие от постоянной памяти, в которой данные сохраняются до тех пор, пока это нужно пользователю. Именно в постоянную память записаны все программы и файлы, необходимые как для работы компьютера, так и для комфортной работы за ним.
Каждый раз при запуске программы из постоянной памяти, ее наиболее часто используемые данные или вся программа целиком «подгружаются» в оперативную память. Это делается для ускорения обработки данных процессором. Считывать и обрабатывать данные из оперативной памяти процессор будет значительно быстрей, а, следовательно, и система будет работать значительно быстрее в сравнении с тем, если бы массивы данных поступали напрямую из не очень быстрых (по меркам процессорных вычислений) накопителей.
Если бы не было «оперативки», то процесс считывания напрямую с накопителя занимал бы непозволительно огромное, по меркам вычислительной мощности процессора, время.
Но вот незадача, какой бы быстрой ни была оперативная память, процессор всегда работает быстрее. Процессор — это настолько сверхмощный «калькулятор», что произвести самые сложные вычисления для него — это даже не доля секунды, а миллионные доли секунды.
Производительность процессора в любом компьютере всегда ограничена скоростью считывания из оперативной памяти.
Процессоры развиваются так же быстро, как память, поэтому несоответствие в их производительности и скорости сохраняется. Производство полупроводниковых изделий постоянно совершенствуется, поэтому на пластину процессора, которая сохраняет те же размеры, что и 10 лет назад, теперь можно поместить намного больше транзисторов. Как следствие, вычислительная мощность за это время увеличилась. Впрочем, не все производители используют новые технологии для увеличения именно вычислительной мощности. К примеру, производители оперативной памяти ставят во главу угла увеличение ее емкости: ведь потребитель намного больше ценит объем, нежели ее быстродействие. Когда на компьютере запущена программа и процессор обращается к ОЗУ, то с момента запроса до получения данных из оперативной памяти проходит несколько циклов процессора. А это неправильно — вычислительная мощность процессора простаивает, и относительно медленная «оперативка» тормозит его работу.
Такое положение дел, конечно же, мало кого устраивает. Одним из вариантов решения проблемы могло бы стать размещение блока сверхбыстрой памяти непосредственно на теле кристалла процессора и, как следствие, его слаженная работа с вычислительным ядром. Но проблема, мешающая реализации этой идеи, кроется не в уровне технологий, а в экономической плоскости. Такой подход увеличит размеры готового процессора и существенно повысит его итоговую стоимость.
Объяснить простому пользователю, голосующему своими кровными сбережениями, что такой процессор самый быстрый и самый лучший, но за него придется отдать значительно больше денег — довольно проблематично. К тому же существует множество стандартов, направленных на унификацию оборудования, которым следуют производители «железа». В общем, поместить оперативную память прямо на кристалл процессора не представляется возможным по ряду объективных причин.
Как работает кэш-память
Как стало понятно из постановки задачи, данные должны поступать в процессор достаточно быстро. По меркам человека — это миг, но для вычислительного ядра — достаточно большой промежуток времени, и его нужно как можно эффективнее минимизировать. Вот здесь на выручку и приходит технология, которая называется кэш-памятью. Кэш-память — это сверхбыстрая память, которую располагают прямо на кристалле процессора. Извлечение данных из этой памяти не занимает столько времени, сколько бы потребовалось для извлечения того же объема из оперативной памяти, следовательно, процессор молниеносно получает все необходимые данные и может тут же их обрабатывать.
Кэш-память — это, по сути, та же оперативная память, только более быстрая и дорогая. Она имеет небольшой объем и является одним из компонентов современного процессора.
На этом преимущества технологии кэширования не заканчиваются. Помимо своего основного параметра — скорости доступа к ячейкам кэш-памяти, т. е. своей аппаратной составляющей, кэш-память имеет еще и множество других крутых функций. Таких, к примеру, как предугадывание, какие именно данные и команды понадобятся пользователю в дальнейшей работе и заблаговременная загрузка их в свои ячейки. Но не стоит путать это со спекулятивным исполнением, в котором часть команд выполняется рандомно, дабы исключить простаивание вычислительных мощностей процессора.
Спекулятивное исполнение — метод оптимизации работы процессора, когда последний выполняет команды, которые могут и не понадобиться в дальнейшем. Использование метода в современных процессорах довольно существенно повышает их производительность.
Речь идет именно об анализе потока данных и предугадывании команд, которые могут понадобиться в скором будущем (попадании в кэш). Это так называемый идеальный кэш, способный предсказать ближайшие команды и заблаговременно выгрузить их из ОЗУ в ячейки сверхбыстрой памяти. В идеале их надо выбирать таким образом, чтобы конечный результат имел нулевой процент «промахов».
Но как процессор это делает? Процессор что, следит за пользователем? В некоторой степени да. Он выгружает данные из оперативной памяти в кэш-память для того, чтобы иметь к ним мгновенный доступ, и делает это на основе предыдущих данных, которые ранее были помещены в кэш в этом сеансе работы. Существует несколько способов, увеличивающих число «попаданий» (угадываний), а точнее, уменьшающих число «промахов». Это временная и пространственная локальность — два главных принципа кэш-памяти, благодаря которым процессор выбирает, какие данные нужно поместить из оперативной памяти в кэш.
Временная локальность
Процессор смотрит, какие данные недавно содержались в его кэше, и снова помещает их в кэш. Все просто: высока вероятность того, что выполняя какие-либо задачи, пользователь, скорее всего, повторит эти же действия. Процессор подгружает в ячейки сверхбыстрой памяти наиболее часто выполняемые задачи и сопутствующие команды, чтобы иметь к ним прямой доступ и мгновенно обрабатывать запросы.
Пространственная локальность
Принцип пространственной локальности несколько сложней. Когда пользователь выполняет какие-то действия, процессор помещает в кэш не только данные, которые находятся по одному адресу, но еще и данные, которые находятся в соседних адресах. Логика проста — если пользователь работает с какой-то программой, то ему, возможно, понадобятся не только те команды, которые уже использовались, но и сопутствующие «слова», которые располагаются рядом.
Набор таких адресов называется строкой (блоком) кэша, а количество считанных данных — длиной кэша.
При пространственной локации процессор сначала ищет данные, загруженные в кэш, и, если их там не находит, то обращается к оперативной памяти.
Иерархия кэш-памяти
Любой современный процессор имеет в своей структуре несколько уровней кэш-памяти. В спецификации процессора они обозначаются как L1, L2, L3 и т. д.
Если провести аналогию между устройством кэш-памяти процессора и рабочим местом, скажем столяра или представителя любой другой профессии, то можно увидеть интересную закономерность. Наиболее востребованный в работе инструмент находится под рукой, а тот, что используется реже, расположен дальше от рабочей зоны.
Так же организована и работа быстрых ячеек кэша. Ячейки памяти первого уровня (L1) располагаются на кристалле в непосредственной близости от вычислительного ядра. Эта память — самая быстрая, но и самая малая по объему. В нее помещаются наиболее востребованные данные и команды. Для передачи данных оттуда потребуется всего около 5 тактовых циклов. Как правило, кэш-память первого уровня состоит из двух блоков, каждый из которых имеет размер 32 КБ. Один из них — кэш данных первого уровня, второй — кэш инструкций первого уровня. Они отвечают за работу с блоками данных и молниеносное обращение к командам.
Кэш второго и третьего уровня больше по объему, но за счет того, что L2 и L3 удалены от вычислительного ядра, при обращении к ним будут более длительные временные интервалы. Более наглядно устройство кэш-памяти проиллюстрировано в следующем видео.
Кэш L2, который также содержит команды и данные, занимает уже до 512 КБ, чтобы обеспечить необходимый объем данных кэшу нижнего уровня. Но на обработку запросов уходит в два раза больше времени. Кэш третьего уровня имеет размеры уже от 2 до 32 МБ (и постоянно увеличивается вслед за развитием технологий), но и его скорость заметно ниже. Она превышает 30 тактовых циклов.
Процессор запрашивает команды и данные, обрабатывая их, что называется, параллельными курсами. За счет этого и достигается потрясающая скорость работы. В качестве примера рассмотрим процессоры Intel. Принцип работы таков: в кэше хранятся данные и их адрес (тэг кэша). Сначала процессор ищет их в L1. Если информация не найдена (возник промах кэша), то в L1 будет создан новый тэг, а поиск данных продолжится на других уровнях. Для того, чтобы освободить место под новый тэг, информация, не используемая в данный момент, переносится на уровень L2. В результате данные постоянно перемещаются с одного уровня на другой.
С кэшем связан термин «сет ассоциативности». В L1 блок данных привязан к строкам кэша в определенном сете (блоке кэша). Так, например, 8-way (8 уровень ассоциативности) означает, что один блок может быть привязан к 8 строкам кэша. Чем выше уровень, тем выше шанс на попадание кэша (процессор нашел требуемую информацию). Есть и недостатки. Главные — усложнение процесса и соответствующее снижение производительности.
Также при хранении одних и тех же данных могут задействоваться различные уровни кэша, например, L1 и L3. Это так называемые инклюзивные кэши. Использование лишнего объема памяти окупается скоростью поиска. Если процессор не нашел данные на нижнем уровне, ему не придется искать их на верхних уровнях кэша. В этом случае задействованы кэши-жертвы. Это полностью ассоциативный кэш, который используется для хранения блоков, вытесненных из кэша при замене. Он предназначен для уменьшения количества промахов. Например, кэши-жертвы L3 будут хранить информацию из L2. В то же время данные, которые хранятся в L2, остаются только там, что помогает сэкономить место в памяти, однако усложняет поиск данных: системе приходится искать необходимый тэг в L3, который заметно больше по размеру.
В некоторых политиках записи информация хранится в кэше и основной системной памяти. Современные процессоры работают следующим образом: когда данные пишутся в кэш, происходит задержка перед тем, как эта информация будет записана в системную память. Во время задержки данные остаются в кэше, после чего их «вытесняет» в ОЗУ.
Итак, кэш-память процессора — очень важный параметр современного процессора. От количества уровней кэша и объема ячеек сверхбыстрой памяти на каждом из уровней, во многом зависит скорость и производительность системы. Особенно хорошо это ощущается в компьютерах, ориентированных на гейминг или сложные вычисления.