Здравствуйте мои уважаемые читатели. Сегодня я в общих чертах отвечу на вопрос что такое кэш в компьютере? Это позволит вам получить общее представление, и даст возможность самим определить какие детали этой тематики для вас представляют наибольший интерес.
Сам термин «кэш» происходит от слов cacher, cachе и означает, нечто спрятанное про запас. Впервые это слово в компьютерной среде прозвучало в 1968 году со страниц журнала «IBM Systems Journal», где по желанию редактора им был заменен термин «высокоскоростной буфер». Сейчас термин «кэш» получил широкое распространение. И о его существовании знают даже те, кто не до конца разобрался в возможностях своей цифровой техники.
Где применяется буферизация информации?
Изначально кэш использовался в компьютерных устройствах. Его самым главным преимуществом была доступность информации и возможность ее считывания на высокой скорости. В ПК кэш предстал в нескольких аппаратных и программных вариациях:
- Информация, записанная на жестком диске, хранится в виде блоков размещенных в разных местах. Ее считывание занимает гораздо больше времени, чем требуется процессору ее же обработки.
Поэтому гораздо выгоднее сначала извлечь данные, соединить их вместе в кэше и быстро передать ЦПУ готовый для обработки блок. Раньше винчестеры для этой цели оснащались собственной энергозависимой памятью на 8 или 16 Мб. Сейчас используются HDD с 32 и 64 МБ, а в современных серверных жестких дисках размер кэша достигает 128 и 256 Мб;
- Специалисты, занимающиеся архитектурой чипов знали, что существует ряд команд которые выполняются ЦПУ с регулярной периодичностью и используют одну и ту же информацию.
И для того чтобы не обращаться постоянно к более медленным хранилищам данных (ОЗУ, HDD) в самом процессоре предусмотрели несколько уровней небольшого кэша – SRAM. Начальный L1 наиболее быстрый, но мене вместительный. L2 побольше, по медленнее. Старший уровень кэша L3 еще теряет в скорости, но прибавляет в объеме.
- Кроме того программный кэш стал широко использоваться различными приложениями (особенно играми и браузерами). Нужные или наиболее часто используемые файлы (история запросов и веб-страницы, промежуточные результаты работы) подгружались в более доступное место, что обеспечивало высокое быстродействие системы.
Сейчас, в силу повсеместного распространения смартфонов на Андроид (активно использующих кэширование) многие столкнулись с проблемой нехватки места на своих устройствах. Это происходит в недорогих гаджетах с плохо оптимизированной операционной системой.
Пользователям приходится периодически запускать программы-клинеры или самим очищать кэш браузера. Иногда к таким действиям прибегают и владельцы персональных компьютеров, обнаружившие непомерно разросшийся объем папок с cache-файлами.
Способы работы с кэш-памятью
И если за порядком с программным кэшем приходится следить самим пользователям, то аппаратная буферизация данных в силу ограниченного объема сверхоперативной памяти происходит по определенным алгоритмам.
Поскольку кэш обеспечивает удобный доступ, то поиск нужной информации изначально проводится в нем самом. Делается это с помощью тегов, присваиваемых блокам данных. Если таковые сразу обнаружены в кэше, то это называется попаданием.
Когда мы имеем с многоуровневым кэшем, то информация может перемещаться по нему двумя способами:
- сквозным (она дублируется в подуровнях, например в L3 – L2 – L1);
- отложенным, при котором размещается только в начальном уровне L1.
Практически во всех случаях запись новой информации связана с освобождением для нее соответствующего места. Но для этого процессору необходимо определить, какие данные, ранее находящиеся в кэше, можно стереть или переместить в другое место (например, на уровень выше). Для этого существует несколько алгоритмов замещения:
- для удаления выбирают блок, который дольше остальных оставался невостребованным (LRU);
- вытесняется буфер, использованный последним (MRU);
- замена происходит вместо буфера с наименьшей частотой использования (LFU);
- комбинационный алгоритм, совмещающий LFU и LRU;
Конечно, работа кэша не видна и мы не можем ее контролировать. Но зато теперь вы знаете, как он работает и вообще, что такое кэш в компьютере.
Можете быть уверены, что этот компонент никогда вас не подведет. Ведь его эффективности разработчики уделяют особое внимание.
На этом наша беседа о кэш-памяти подошла к завершению. Я рад, если в ней вы узнали что-то новое или прояснили для себя отдельные моменты.
До скорых встреч, мои дорогие читатели!