Что такое кэш-память компьютера. Как работает кеш память

16.08.2019 Android

Речь идет не о наличности, а о кэш -памяти процессоров и не только. Из объема кэш -памяти торгаши сделали очередной коммерческий фетиш, в особенности с кэшем центральных процессоров и жестких дисков (у видеокарт он тоже есть – но до него пока не добрались). Итак, есть процессор ХХХ с кэшем L2 объемом 1Мб, и точно такой же процессор XYZ с кэшем объемом 2Мб. Угадайте какой лучше? Аа – вот не надо так сразу!

Кэш -память – это буфер, куда складывается то, что можно и/или нужно отложить на потом. Процессор выполняет работу и возникают ситуации, когда промежуточные данные нужно где-то сохранить. Ну конечно в кэше! – ведь он на порядки быстрее, чем оперативная память, т.к. он в самом кристалле процессора и обычно работает на той же частоте. А потом, через какое то время, эти данные он выудит обратно и будет снова их обрабатывать. Грубо говоря как сортировщик картошки на конвейере, который каждый раз, когда попадается что-то другое кроме картошки (морковка ) , бросает ее в ящик. А когда тот полон – встает и выносит его в соседнюю комнату. В этот момент конвейер стоит и наблюдается простой. Объем ящика и есть кэш в данной аналогии. И сколько его надо – 1Мб или 12? Понятно, что если его объем мал придется слишком много времени уделят выносу и будет простой, но с какого то объема его дальнейшее увеличение ничего не даст. Ну будет ящик у сортировщика на 1000кг морковки – да у него за всю смену столько ее не будет и от этого он НЕ СТАНЕТ В ДВА РАЗА БЫСТРЕЕ! Есть еще одна тонкость – большой кэш может вызывать увеличение задержек обращения к нему во-первых, а заодно повышается и вероятность возникновения ошибок в нем, например при разгоне – во-вторых. (о том КАК в этом случае определить стабильность/нестабильность процессора и выяснить что ошибка возникает именно в его кэше, протестировать L1 и L2 – можно прочесть тут.) В-третьих – кэш выжирает приличную площадь кристалла и транзисторный бюджет схемы процессора. То же самое касается и кэш памяти жестких дисков. И если архитектура процессора сильная – у него будет востребовано во многих приложениях 1024Кб кэша и более. Если у вас быстрый HDD – 16Мб или даже 32Мб уместны. Но никакие 64Мб кэша не сделают его быстрее, если это обрезок под названием грин версия (Green WD) с частотой оборотов 5900 вместо положеных 7200, пусть даже у последнего будет и 8Мб. Потом процессоры Intel и AMD по-разному используют этот кэш (вообще говоря AMD более эффективно и их процессоры часто комфортно довольствуются меньшими значениями). Вдобавок у Intel кэш общий, а вот у AMD он персональный у каждого ядра. Самый быстрый кэш L1 у процессоров AMD составляет по 64Кб на данные и инструкции, что вдвое больше, чем у Intel. Кэш третьего уровня L3 обычно присутствует у топовых процессоров наподобие AMD Phenom II 1055T X6 Socket AM3 2.8GHz или у конкурента в лице Intel Core i7-980X. Прежде всего большие объемы кэша любят игры. И кэш НЕ любят многие профессиональные приложения (см. Компьютер для рендеринга, видеомонтажа и профприложений). Точнее наиболее требовательные к нему вообще равнодушны. Но чего точно не стоит делать, так это выбирать процессор по объему кэша. Старенький Pentium 4 в последних своих проявлениях имел и по 2Мб кэша при частотах работы далеко за 3ГГц – сравните его производительность с дешевеньким двуядерничком Celeron E1***, работающим на частотах около 2ГГц. Он не оставит от старичка камня на камне. Более актуальный пример – высокочастотный двухъядерник E8600 стоимостью чуть не 200$ (видимо из-за 6Мб кэша) и Athlon II X4-620 2,6ГГц, у которого всего 2Мб. Это не мешает Атлону разделать конкурента под орех.

Как видно на графиках – ни в сложных программах, ни в требовательных к процессору играх никакой кэш не заменит дополнительных ядер. Athlon с 2Мб кэша (красный) легко побеждает Cor2Duo с 6Мб кэша даже при меньшей частота и чуть не вдвое меньшей стоимости. Так же многие забывают, что кэш присутствует в видеокартах, потому что в них, вообще говоря, тоже есть процессоры. Свежий пример видеокарта GTX460, где умудряются не только порезать шину и объем памяти (о чем покупатель догадается) – но и КЭШ шейдеров соответственно с 512Кб до 384Кб (о чем покупатель уже НЕ догадается). А это тоже добавит свой негативный вклад в производительность. Интересно еще будет выяснить зависимость производительности от объема кэша. Исследуем как быстро она растет с увеличением объема кэша на примере одного и того же процессора. Как известно процессоры серии E6*** , E4*** и E2*** отличаются только объемом кэша (по 4, 2 и 1 Мб соответственно). Работая на одинаковой частоте 2400МГц они показывают следующие результаты.

Как видно – результаты не слишком отличаются. Скажу больше – если бы участвовал процессор с объемом 6Мб – результат увеличился бы еще на чуть-чуть, т.к. процессоры достигают насыщения. А вот для моделей с 512Кб падение было бы ощутимым. Другими словами 2Мб даже в играх вполне достаточно. Резюмируя можно сделать такой вывод – кэш это хорошо, когда УЖЕ много всего остального. Наивно и глупо менять скорость оборотов винчестера или количество ядер процессора на объем кэша при равной стоимости, ибо даже самый емкий ящик для сортировки не заменит еще одного сортировщика Но есть и хорошие примеры.. Например Pentium Dual-Core в ранней ревизии по 65-нм процессу имел 1Мб кэша на два ядра (серия E2160 и подобные), а поздняя 45-нм ревизия серии E5200 и дальше имеет уже 2Мб при прочих равных условиях (а главное – ЦЕНЕ). Конечно же стоит выбирать именно последний.

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

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

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

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

Зачем нужен кэш

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

Видео: Что такое кэш, для чего он и как очистить кэш браузера?

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

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

Где находится кэш

Кэш браузеров находится в рабочих папках браузеров. Кэш — это не что иное как обычная папка, содержащая эти самые файлы, как правило, она так и называется «cache». В операционной системе linux рабочие папки браузеров находятся в домашнем каталоге пользователя. Кэш Оперы можно найти по адресу ~/.opera/cache/. Для Firefox он лежит в.mozilla/firefox/[случайный номер профиля].default/Cache/

В windows XP кэш Opera находится в C:\Documents and Settings\[имя пользователя]\Local Settings\Application Data\Opera\Opera [версия]\cache

Кэш Firefox находится по аналогичному адресу: C:\Documents and Settings\[имя пользователя]\Local Settings\Application Data\Mozilla\Firefox\Profiles\[случайный номер профиля].default\Cache.

Поиск файлов в кэше

С этим разобрались. Но если вы зайдете в эти папки, вы увидите множество файлов (иногда несколько тысяч!) с бессмысленными ничего не говорящими пользователю названиями, и без расширений. Если вы пользователь linux, то большую часть файлов файловый менеджер опознает и отобразит тип файлов и соответствующие значки, поскольку Linux опознает файлы независимо от их расширения. Но вот в Windows такой роскоши не наблюдается — для того, чтобы оболочка и файловый менеджер опознали файлы, необходимы расширения (как правило трехбуквенные сочетания через точку после названия файла — .exe, .mp3, .avi, .doc, .pdf, и.т.д).

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

Поиск видео и аудиофайлов в кэше

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

Кэш Opera

Но это еще не все. Как в Opera, так и в Firefox есть собственные инструменты для просмотра кэша, но я считаю, что пользоваться штатным файловым менеджером вашей операционной системы гораздо удобней. Для того, чтобы просмотреть кэш в Opera, нужно в адресной строке набрать opera:cache и перед вами предстанет содержимое кэша в удобной для просмотра форме. Кроме того, в новой версии opera 10.50 к этому инструменту были добавлены элементы для удобного распознавания и поиска нужных файлов — как по размеру, так и по типу. Мало того, еще и отображается web-адрес источника файла.

Кэш Firefox

В Firefox подобный инструмент тоже имеется, но там можно лишь просматривать содержимое кэша. Там отображается размер файлов, дата сохранения и источник, а также некоторая бесполезная для рядового пользователя информация о файле. Для того чтобы посмотреть кэш в Mozilla Firefox нужно набрать в адресной строке about:cache.

Очистка кэша в Mozilla Filrefox

Или вот так, наглядно видно как очистить кэш в файрфокс:

Как очистить кэш в браузере Google Chrome

С момента написания этой статьи прошло много лет. Много чего изменилось в мире программного обеспеченияинформационные технологии развиваются очень стремительно. В то время браузера Google Chrome еще не было, то ли он только появился. Сейчас же это практически самый распостраненный браузер, наряду с firefox, в то время как Internet Explorer и Opera практически исчезли с компьютеров пользователей (кстати, ее заменил интересный ), а на базе Crhomium появилось множество браузеров — Яндекс.Браузер, Амиго и другие. Чтобы очистить кэш в Google Chrome нужно зайти в меню, выбрать «Настройки» далее развернуть их, и найти там пункт «Очистить данные просмотров». Обратите внимание, что здесь можно выбрать период, за которые нужно стереть данные.

Ну вот, собственно, теперь вы сможете пользоваться этой удобной вещью.

Даже промежуточные результаты работы программы должны где-то храниться, чтобы их можно было использовать. Самые нужные лежат в оперативной памяти, откуда они быстро попадают в колесо программного цикла и используются для дальнейших расчётов. Оперативная память ограничена, её мало, и нужна она постоянно, поэтому постоянно очищается. А некоторая часть информации, ещё необходимая в будущем, сохраняется в файлы и хранится на жёстком диске компьютера. Такие файлы называются временными. Они накапливаются, занимают место, и их нужно удалять, чтобы они не мешали работе компьютера. Так какими же способами пожно почистить кэш в Windows 7?

Что такое кэш-память на компьютере?

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

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

  • DNS-кэш, который хранит запросы компьютера к другим серверам сети . Необходим для того, чтобы не тратить время на повторные обращения, вся необходимая информация хранится в кэш-памяти. Когда нужно полностью обновить данные с сервера, тогда меняется и DNS-кэш. Соответственно, сами собой данные не удаляются, поэтому даже ненужные сохраняются там.
  • Thumbnail-кэш. Thumbnail дословно переводится как «ноготь большого пальца», а образно обозначает в английском языке миниатюры картинки, превью или эскизы. Компьютер сохраняет в кэш-памяти иконки картинок, видеофайлов или значков программ, поэтому прогружает миниатюры во второй раз значительно быстрее. Но если сами картинки уже удалены, их миниатюры из кэша не исчезают.
  • Кэш оперативной памяти . Сама оперативная память тоже хранит в себе временные файлы по технологии cache. И некоторые файлы не очищаются из-за ошибок или багов.
  • Кэш браузера. Уже было упомянуто о кэшировании видео для онлайн-просмотра, но это не всё. Каждая картинка, элементы дизайна, анимация на сайтах сохраняются в кэш-память. Часть веб-страниц полностью хранится во временной памяти, чтобы сократить время их прогрузки. Всё это накапливается, и даже уже неиспользуемые сайты продолжают занимать место.
  • Как произвести очистку кэш-памяти?

    DNS (ДНС)

    DNS (Domain Name System, дословно - система доменных имён) — своеобразная адресная книга интернета. Дело в том, что компьютер не сможет по символьным адресам (типа yandex.ru) найти нужный сервер, к которому он должен обратиться. Компьютер понимает только язык ip-адресов. Сервера DNS, которых, кстати говоря, очень много, хранят в себе соответствие ip буквенному адресу. Пользователь, вводя запрос в поисковик или адресную строку, посылает сигнал сначала DNS-серверу, который находит соответствующий ip-адрес и посылает его компьютеру, чтобы тот смог загрузить искомую веб-страницу.

    Кэш DNS чистится с помощью командной строки. Чтобы открыть её, нажмите Win + R (программа «Выполнить») и введите в поле cmd. Или откройте «Пуск», пройдите в раздел «Стандартные» и запустите командную строку.

    В командной строке введите: ipconfig /flushdns

    Появится строчка «Успешно сброшен кэш распознавателя DNS». DNS-кэш очищен.

    Введите команду ipconfig/flushdns

    Видео: как очистить DNS-кэш на Windows 7 и XP

    Чистка Thumbnail

    Thumbnail-кэш можно очистить стандартной утилитой «Очистка диска». Чтобы запустить её, откройте «Панель управления» -> «Система и безопасность» -> «Администрирование» -> «Очистка диска».

    В программе выберите диск, который нуждается в очистке. Чтобы удалить Thumbnails, отметьте системный диск (обычно это C:\). Затем поставьте галочки напротив тех файлов, которые нужно удалить (найдите в списке пункт Thumbnails, чтобы удалить эскизы). Нажмите «ОК» и подождите некоторое время. Thumbnail-кэш очищен.

    Отметьте «Thumbnail», чтобы удалить Thumbnail-кэш

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

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

    Отметьте галочкой «Не кэшировать эскизы»

    Нюансы для оперативной памяти

    Так как кэш оперативной памяти стоит очищать регулярно, есть смысл облегчить процесс. Создадим ярлык, который будет отправлять нас к программе, очищающей временные файлы. Итак, нажмите правой кнопкой мыши на свободном месте рабочего стола и в меню выберите пункт «Создать», затем «Ярлык». Теперь узнайте разрядность вашей версии системы (откройте «Компьютер», кликните правой кнопкой мыши на свободное пространство, выберете «Свойства системы», а там будет указано: 32- или 64-разрядная система).

    Введите строчку в зависимости от разрядности вашей ОС

    В зависимости от вашей версии введите в поле одну из следующих строк:

    • Для 32-разрядной системы: %windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks
    • Для 64-разрядной: %windir%\SysWOW64\rundll32.exe advapi32.dll,ProcessIdleTasks

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

    Запустите созданный ярлык

    Как почистить браузер?

    Кэш каждого браузера чистится отдельно. Рассмотрим действия на примере Google Chrome.

    Откройте «Настройки»

    Откройте меню, нажав кнопку в правом верхнем углу (☰). Откройте «Настройки». Пролистайте страницу вниз до самого конца и откройте дополнительные настройки. В «Личных данных» найдите кнопку «Очистить историю». Откроется окошко со списком опций. Отметьте «Очистить <…>, сохранённые в кэше». Нажмите «Очистить». Через некоторое время все временные файлы удалятся.

    Очистите кэш

    Как удалить все временные файлы с помощью программ?

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

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

    В окне программы выберите раздел «Очистка». Отметьте галочками все пункты, которые нужно очистить. Нажмите «Анализ», чтобы программа осмотрела компьютер и выявила весь ненужный мусор, среди которого будет и неиспользуемый кэш. Теперь нажмите «Очистить», и через несколько минут программа удалит весь найденный программный хлам. Помимо кэша она очистит и неиспользуемые временные файлы, буфер обмена, дампы памяти, пути загрузки, cookie-файлы браузера, адреса, журналы посещений, файлы index.dat и много чего ещё. А если открыть вкладку «Реестр», то можно почистить и реестр Windows, что скажется благополучно на быстродействии системы.

    Нажмите «Анализ», а затем «Очистить»

    Возможные проблемы

    Файлы в кэш-памяти не удаляются

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

    Не удаляется кэш браузера

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

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

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

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

    Что такое кэш-память и её структура

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

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

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


    Для чего нужна кэш-память процессора?

    Как уже упоминалось выше, главное назначение кэш-памяти – это хранение данных, которые часто используются процессором. Кэш является буфером, в который загружаются данные, и, несмотря на его небольшой объём, (около 4-16 Мбайт) в современных процессорах , он дает значительный прирост производительности в любых приложениях.

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

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

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

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

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

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

    В общем, могут быть такие уровни: L1 (первый уровень), L2 (второй уровень), L3 (третий уровень). Теперь немного подробнее по каждому из них:

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

    Мы будем рассматривать объёмы на процессоре высокого уровня производительности Intel Core i7-3770K. Данный процессор оснащен 4х32 Кб кэш-памяти первого уровня 4 x 32 КБ = 128 Кб. (на каждое ядро по 32 КБ)

    Кэш второго уровня (L2) – второй уровень более масштабный, нежели первый, но в результате, обладает меньшими «скоростными характеристиками». Соответственно, служит буфером между уровнем L1 и L3. Если обратиться снова к нашему примеру Core i7-3770 K, то здесь объём кэш-памяти L2 составляет 4х256 Кб = 1 Мб.

    Кэш третьего уровня (L3) – третий уровень, опять же, более медленный, нежели два предыдущих. Но всё равно он гораздо быстрее, нежели оперативная память. Объём кэша L3 в i7-3770K составляет 8 Мбайт. Если два предыдущих уровня разделяются на каждое ядро, то данный уровень является общим для всего процессора. Показатель довольно солидный, но не заоблачный. Так как, к примеру, у процессоров Extreme-серии по типу i7-3960X, он равен 15Мб, а у некоторых новых процессоров Xeon, более 20.

    Кэш — память (кеш , cash , буфер — eng.) — применяется в цифровых устройствах, как высокоскоростной буфер обмена. Кэш память можно встретить на таких устройствах компьютера как , процессоры, сетевые карты, приводы компакт дисков и многих других.

    Принцип работы и архитектура кэша могут сильно отличаться.

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

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

    Такая архитектура чаще всего встречается на жёстких дисках, и центральных процессорах (CPU ).

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

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

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

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

    Общий кэш , также позволяет ядрам работать с ним напрямую, минуя медленную .

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

    Другие функции и особенности .

    Примечательно, что в CPU (центральных процессорах), применяется аппаратная коррекция ошибок (ECC ), потому как небольшая ошибочка в кэше, может привести к одной сплошной ошибке при дальнейшей обработке этих данных.

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

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

    Размер кэша, влияние на производительность и другие характеристики .

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

    Большой кеш — это большой бюджет . В серверных процессорах (CPU ), кэш может использовать до 80% транзисторного бюджета. Во первых, это сказывается на конечной стоимости, а во вторых увеличивается энергопотребление и тепловыделение, которое не сопоставимо с увеличенной на несколько процентов производительностью.