Как работает кеш память. Что такое кэш, зачем он нужен и как работает

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

Принцип работы

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

Уровни

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

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

Последовательность действий

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

Основные характеристики

Технология кэширования обладает следующими характерными особенностями:

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

Использование кэш в браузере

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

  • Файлы Cookie.
  • Информацию, которую пользователь указывал в
  • Журнал посещенных веб-страниц.
  • Различные данные, которые были внесены на сайтах и порталах.
  • Пароли и логины на различных онлайн-ресурсах.
  • Настройки сайтов и многое другое.

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

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

Зачем очищать кэш браузера?

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

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

Mozilla Firefox

Для того чтобы в данном браузере, необходимо выполнить следующие действия:

  • Открыть пустую вкладку.
  • Закрыть все страницы, оставив только открытую пустую вкладку.
  • Далее следует выбрать в меню опцию "Инструменты", далее "Настройки" и в появившемся окне найти вкладку “Дополнительно”.
  • После этого нужно выбрать вкладку "Сеть", а потом нажать на кнопку "Очистить сейчас".

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

Internet Explorer

Для удаления временных файлов в данном браузере необходимо выполнить следующие действия:

  • В браузере следует выбрать: "Сервис" - "Свойства обозревателя" - "Удалить".
  • После этого следует отметить все нужные пункты и подтвердить свои действия.

Opera

В данном браузере последней версии все чрезвычайно просто. Нужно только выбрать "Меню" - "Настройки" - "Удалить личные данные".

Google Chrome

Кэш в “Хроме” также удаляется без каких-либо проблем. Сначала нужно зайти в настройки, которые обозначены значком потом выбрать вкладку "Расширенные" и нажать на кнопку "Удалить данные о просмотренных страницах".

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

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

Ч то является самым грязным местом на компьютере? Думаете, корзина? Папки пользователя? Система охлаждения? Не угадали! Самое грязное место – это кэш! Ведь его постоянно приходится чистить!

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

Понятие и виды кэш-памяти

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

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

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

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

  • Современный центральный процессор содержит 2-3 основных уровня кеш-памяти (ее также называют сверхоперативной памятью), размещенных в виде аппаратных модулей на одном с ним кристалле. Самым быстрым и наименьшим по объему (32-64 Kb) является cache Level 1 (L1) – он работает на той же частоте, что и процессор. L2 занимает среднее положение по скорости и емкости (от 128 Kb до 12 Mb). А L3 – самый медленный и объемный (до 40 Mb), на некоторых моделях отсутствует. Скорость L3 является низкой лишь относительно его более быстрых собратьев, но и он в сотни раз шустрее самой производительной оперативки.

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

Сегодня три уровня кеширования – уже не предел. С появлением архитектуры Sandy Bridge корпорация Intel реализовала в своей продукции дополнительный cache L0 (предназначенный для хранения расшифрованных микрокоманд). А наиболее высокопроизводительные ЦП имеют и кэш четвертого уровня, выполненный в виде отдельной микросхемы.

Схематично взаимодействие уровней cache L0-L3 выглядит так (на примере Intel Xeon):

Человеческим языком о том, как всё это работает

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

Бумаги, которые нужны ему реже, хранятся недалеко на полках (в оперативной памяти ). Чтобы их достать, нужно встать и пройти несколько метров. А то, с чем человек в настоящее время не работает, сдано в архив (записано на жесткий диск ).

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

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

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

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

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

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

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

Ещё на сайте:

Что такое кэш, зачем он нужен и как работает обновлено: Февраль 25, 2017 автором: Johnny Mnemonic

Схема работы кэша

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

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

Кэширование в браузерах


Алгоритм кэширования в браузерах

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

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

Кэш в Windows

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

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

Кэш на андройде

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

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

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

В чем же состоит причина, которая побудила разработчиков компьютеров использовать специальную память для процессора? Разве возможностей ОЗУ для компьютера недостаточно?

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

Вообще говоря, существуют две основные технологии микросхем памяти – статическая память и динамическая память. Не углубляясь в подробности их устройства, скажем лишь, что статическая память, в отличие от динамической, не требует регенерации; кроме того, в статической памяти для одного бита информации используется 4-8 транзисторов, в то время как в динамической – 1-2 транзистора. Соответственно динамическая память гораздо дешевле статической, но в то же время и намного медленнее. В настоящее время микросхемы ОЗУ изготавливаются на основе динамической памяти.

Примерная эволюция соотношения скорости работы процессоров и ОЗУ:

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

Именно поэтому был разработан разумный компромисс. Основная часть ОЗУ так и осталась динамической, в то время как у процессора появилась своя быстрая кэш-память, основанная на микросхемах статической памяти. Ее объем сравнительно невелик – например, объем кэш-памяти второго уровня составляет всего несколько мегабайт. Впрочем, тут стоить вспомнить о том, что вся оперативная память первых компьютеров IBM PC составляла меньше 1 МБ.

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

История кэш-памяти

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

Впервые кэш-память объемом всего в 16 КБ появилась в ПК на базе процессора i80386. На сегодняшний день современные процессоры используют различные уровни кэша, от первого (самый быстрый кэш самого маленького объема – как правило, 128 КБ) до третьего (самый медленный кэш самого большого объема – до десятков МБ).

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

Долгое время в процессорах существовали всего два уровня кэша, но в CPU Intel Itanium впервые появилась кэш-память третьего уровня, общая для всех ядер процессора. Существуют и разработки процессоров с четырехуровневым кэшем.

Архитектуры и принципы работы кэша

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

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

Порядок поиска процессором информации в памяти:

Именно таким образом Процессор осуществляет поиск инфоромации

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

Схема организации взаимодействия ядра процессора, кэша и ОЗУ:

Кэш-контроллер является ключевым элементом связи процессора, ОЗУ и Кэш-памяти

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

Методы записи кэша

Существует два основных метода записи информации в кэш-память:

  1. Метод write-back (обратная запись) – запись данных производится сначала в кэш, а затем, при наступлении определенных условий, и в ОЗУ.
  2. Метод write-through (сквозная запись) – запись данных производится одновременно в ОЗУ и в кэш.

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

Архитектура ассоциативности кэша определяет способ, при помощи которого данные из ОЗУ отображаются в кэше. Существуют следующие основные варианты архитектуры ассоциативности кэширования:

  1. Кэш с прямым отображением – определенный участок кэша отвечает за определенный участок ОЗУ
  2. Полностью ассоциативный кэш – любой участок кэша может ассоциироваться с любым участком ОЗУ
  3. Смешанный кэш (наборно-ассоциативный)

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

Заключение

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

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


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


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


Впервые кэш-память появилась на 386-х компьютерах и располагалась она на материнской плате. Материнские платы 386 DX имели кэш-память объемом от 64 до 256 Кб. 486-е процессоры уже имели кэш-память, расположенную на процессорном кристалле, но кэш-память на материнской плате была сохранена. Система кэш-памяти стала двухуровневой: память на кристалле стали называть кэшем первого уровня (L1), а на материнской плате - кэшем второго уровня (L2). Со временем кэш второго уровня "перебрался" на кристалл процессора. Первой это осуществила AMD на процессоре K6-III (L1 = 64 Kb, L2 = 256 Kb).

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

Инклюзивная кэш-память

Инклюзивная архитектура предполагает дублирование информации, находящейся в L1 и L2.


Схема работы следующая. Во время копирования информации из ОЗУ в кэш делается две копии, одна копия заносится в L2, другая копия - в L1. Когда L1 полностью заполнен, информация замещается по принципу удаления наиболее "старых данных" - LRU (Least-Recently Used). Аналогично происходит и с кэшем второго уровня, но, поскольку его объем больше, то и информация хранится в нем дольше.


При считывании процессором информации из кэша, она берется из L1. Если нужной информации в кэше первого уровня нет, то она ищется в L2. Если нужная информация в кэше второго уровня найдена, то она дублируется в L1 (по принципу LRU), а затем, передается в процессор. Если нужная информация не найдена и в кэше второго уровня, то она считывается из ОЗУ по схеме, описанной выше.


Инклюзивная архитектура применяется в тех системах, где разница в объемах кэшей первого и второго уровня велика. Например, у Pentium 3 (Coppermine): L1 = 16 Kb, L2 = 256 Kb; Pentium 4: L1 = 16 Kb, L2 = 1024 Kb. В таких системах дублируется небольшая часть кэша второго уровня, это вполне приемлемая цена за простоту реализации инклюзивного механизма.

Эксклюзивная кэш-память

Эксклюзивная кэш-память предполагает уникальность информации, находящейся в L1 и L2.


При считывании информации из ОЗУ в кэш - информация сразу заносится в L1. Когда L1 заполнен, то, по принципу LRU информация переносится из L1 в L2.


Если при считывании процессором информации из L1 нужная информация не найдена, то она ищется в L2. Если нужная информация найдена в L2, то по принципу LRU кэши первого и второго уровня обмениваются между собой строками (самая "старая" строка из L1 помещается в L2, а на ее место записывается нужная строка из L2). Если нужная информация не найдена и в L2, то обращение идет к ОЗУ по схеме, описанной выше.


Эксклюзивная архитектура применяется в системах, где разность между объемами кэшей первого и второго уровня относительно невелика. Например, у Athlon XP: L1 = 64 Kb, L2 = 256 Kb. В эксклюзивной архитектуре кэш-память используется более эффективно, но схема реализации эксклюзивного механизма гораздо сложнее.

Взаимодействие кэш-памяти с ОЗУ

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


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


Достоинства : простая организация массива, минимальное время поиска.

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


Наборно-ассоциативная кэш-память. Весь объем кэша делится на несколько равных сегментов, кратных двойке в целой степени (2, 4, 8). Например, кэш 64 Кб может быть разделен на:

  • 2 сегмента по 32 Кб каждый;
  • 4 сегмента по 16 Кб каждый;
  • 8 сегментов по 8 Кб каждый.

Pentium 3 и 4 имеют 8-канальную структуру кэша (кэш разбит на 8 сегментов); Athlon Thunderbird - 16-канальную.


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


Достоинства : повышается эффективность использования всего объема кэша - чем больше кэш-банков (выше ассоциативность), тем выше эффективность.

Недостатки : более сложная схема управления работой кэша; дополнительное время на анализ информации.


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


Запоминающий кэш-массив состоит из строк равной длины. Емкость такой строки равна размеру пакета, считываемого из ОЗУ за 1 цикл (например, Pentium 3 - 32 байта; Pentium 4 - 64 байта). Строка загружается в кэш и извлекается только целиком.


Достоинства : максимальная эффективность использования пространства кэш-памяти.

Недостатки : наибольшие затраты времени на поиск информации.



В продолжение темы:
Android

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