Все разделы сайта DANILIDI.RU
Что такое кэш-память
Внешняя память
Основная память компьютера – это устройство с очень низкой скоростью обмена данных. И если процессору необходимы какие-то данные для работы, то он посылает запрос через шину памяти, и производится поиск этих нужных данных.
Только потом они отправляются непосредственно в процессор. Все это занимает очень много времени по компьютерным меркам. А вот, что если бы данные хранились где-то рядом с процессором?
Как раз кэш-память работает на основе этой идеи. И для того чтобы понять концепцию, для наглядности возьмем пример работы обычной библиотеки.
Назначение кеш памяти
Что же такое кэш-память или кэш (по англ. cache memory, cache):
-- в широком смысле, подразумевается любая память с быстрым доступом, где хранится часть данных с другого носителя с более медленным доступом;
-- в узком смысле — это сверхоперативный вид памяти, который используется для повышения скорости доступа микропроцессора к оперативной памяти.
Предположим, что в библиотеке работает один библиотекарь. Если человек приходит и просит первый том Пушкина, то библиотекарь идет к далекой книжной полке, находит книгу и приносит ее посетителю.
Когда этот человек прочитал книгу, то она обратно возвращается на полку. И если уже любой другой человек приходит и просит эту же самую книгу, цикл повторяется снова.
Вот пример того, как библиотека, то есть система работает без кэш-памяти.
Зачем нужна кэш-память?
А теперь представьте, что тот же самый библиотекарь использует ящик стола как кэш-память. Процедура выдачи книги остается той же, когда книгу спрашивают первый раз.
Но, когда книга вернулась, библиотекарь не возвращает ее на полку, а кладет в ящик стола (этакая местная оперативная кэш-память).
Теперь, когда следующий человек приходит и просит эту книгу, библиотекарю уже нужно просто открыть данный ящик. Аналогичным образом кэш-память хранит элементы данных, к которым часто обращается процессор.
Таким образом, каждый раз, запрашиваются эти данные, и процессор получает их из кэша, минуя долгий путь в основную медленную память.
Хранит ли кэш только часто используемые данные? Как функционирует и работает кэш оперативной памяти?
Кэш – это такая очень умная часть памяти, которая автоматически осуществляет поиск любых данных, которые могут понадобиться в ближайшем будущем. Опять же, вернемся за примером к нашей библиотеке.
Когда человек просит первый томик Пушкина, то библиотекарь приносит также второй том :-) И когда человек прочитает первую книгу, аероятнее всего, что он может попросить второй томик. А когда он это сделает, ходит далеко не надо ... тот уже будет лежать в ящике.
Аналогичным образом, когда кэш-память извлекает запрошенные данные из памяти, она также извлекает данные, которые находятся по адресам, близким к запрошенным.
Эти смежные блоки данных, которые и передаются в кэш, называются кэш-линиями. Подробнее о понятии кэш-памяти можно посмотреть в этом видео:
Уровни кэш памяти
Большинство жестких дисков используют один уровень кэш-памяти. Но кэш имеет два уровня, где уровень L1 меньше и быстрее, а уровень L2, несколько медленнее (но все равно быстрее, чем основная внутренняя память).
Лучшая бесплатная программа HDDScan для проверки жестких дисков
И снова возвратимся за примером к нашей библиотеке, на примере ее работы становится понятна как работает внешняя память компьютера.
Рассмотрим ящик библиотекаря в качестве кэша L1. Когда спрос на книги высок, и в ящике уже довольно много книг (нет места складывать) и вероятность того, что там найдется нужная, снижается.
Память L2 кэш
Здесь и появляется неодходимость L2. Представим L2 как книжный шкаф возле стола библиотекаря. Когда маленький ящик стола заполнен, библиотекарь начинает ставить книги в этот шкаф. И теперь, если книга не найдена в ящике сразу, надо взять ее из шкафа, не отходя далеко.
Аналогичным образом, когда кэш L1 заполнен, данные сохраняются в L2. Процессор в первую очередь ищет данные в L1, если они не будут найдены, то он обратится уже к L2. Если там тоже данные не найдены в L2, то идет обращение к основной памяти.
И еще по теме: Правильное подключение жесткого диска
Двухуровневый кэш процессора
Кэш двух уровней у процессора – хорошая идея? Безусловно, да.
Возвращаясь к нашей упомянутой библиотеке. Если человек просит дать ему книгу, которая не хранится ни в ящике, ни в книжном шкафу, то библиотекарь тратит много времени впустую, осуществляя поиск сначала в ящике, потом в шкафу и только потом получает книгу с полки.
Когда же данные не найдены ни в первом, ни во втором уровне кэша, только тогда посылается запрос в основную память. На это тратится много процессорного времени.
Но если кэш-память работает так быстро, почему бы не выполнять его достаточно большой, чтобы хранить все данные оперативной памяти в нем?
Причина в том, что высокая скорость обходится очень дорого. Поэтому необходимо рациональное использование ресурсов кэш-памяти.
Хотя в последнее время, размеры кэш-памяти все увеличиваются, а цены растут не сильно, поэтому компьютеры работают все быстрее и быстрее.
То есть, наш библиотекарь обзаводится ящиком стола все большего размера, а шкафчик, стоящий рядом становится более вместительным! Еще в тему - двухядерные процессоры - правильно конфигурируем Windows.
Кэширование жесткого диска
Почти все современные жесткие диски оснащены собственной кэш-памятью размером от нескольких кмлобайт до нескольких мегабайт (2, 4, 8, 16 или 32 Мб). Здесь уже говорилось какой жесткий диск выбрать
Дисковая кэш-память (disk cache), или кэш-память жестского диска — принцип построения кэш-памяти на основе динамического оперативного запоминающего устройства (типа DRAM), которое хранит наиболее часто используемые данные и команды, доступ к которым производится из внешней памяти.
Поэтому принцип кэширования жесткого диска во многом схож на принцип кэширования, используемый для оперативной динамической памяти, хоть способы доступа к диску и памяти значительно разнятся.
Так, время доступа к любой из ячеек оперативной памяти имеет примерно одинаковое для данного компьютера значение, а вот время доступа к различным блокам информации на жестком диске в общем случае будет различным.
1. Нужно затратить определенное время, чтобы магнитная головка записи-чтения подошла к искомой дорожке.
2. Поскольку при движении головка вибрирует, то необходимо немного времени, чтобы она успокоилась.
3. Наконец, требуется время, чтобы головка нашла искомый сектор.
Методы кэширования, используемые для оперативной памяти, применяются и для кэширования информации, хранимой на жестких дисках.
Кэш-память диска заполняется не только требуемым сектором, но и секторами, непосредственно следующими за ним, так как известно, что в большинстве случаев взаимосвязанные данные хранятся в соседних секторах.
Этот метод известен также как метод опережающего чтения (Read Ahead). При работе с многозадачными системами желательно иметь жесткий дик (винчестер) с мультисегментной кэш-памятью, которая для каждой из задач отводит свою часть кэша.
Кстати, если у вас недостаточно знаний о том, как лучше просканировать и протестировать жесткий диск, то обязательно посмотрите
подробный и бесплатный виде-оурок на эту тему:
как проверить винчестер на работоспособность
Кэш-память процессора
Кэш-памятью сейсас комплектуется большинство современных центральных процессоров. А первоначально кэш-память располагалась не на самом процессоре, а на материнской плате.
Кэш-память процессора на компьютере выполняет функции буфера между процессором и оперативной памятью.
Если кэш-память располагается между самим процессором и оперативной памятью, то при непосредственном обращении процессора к памяти сначала производится поиск необходимых данных в кэш-памяти.
Кэш-памяти процессора делятся на несколько видов:
Cache L1 — это «кэш-память первого уровня». Является промежуточной сверхоперативной памятью, находится на самом кристалле процессора, в ней размещаются наиболее часто используемые данные.
Работает эта память на частоте процессора. Время доступа к ней существенно меньше, чем к данным в основной оперативной памяти. Этим достигается ускорение работы процессора.
Cache L2 — «кэш-память второго уровня». Это промежуточная сверхоперативная память, которая имеет быстродействие ниже памяти первого уровня, но выше основной оперативной памяти. Ее размер обычно составляет от нескольких сотен килобайт до нескольких мегабайт.
Cache L3 — «кэш-память третьего уровня». Тоже промежуточная сверхоперативная память, имеющая быстродействие ниже памяти второго уровня, но выше основной оперативной памяти. Ее размер обычно составляет от одного до нескольких мегабайт.
В основном, этот тип памяти используется в серверных процессорах. Встречается кэш-память и более высоких уровней, например, D-Cache — сверхоперативная память, используемая для хранения инструкций процессора.
Поделитесь с друзьями или поставьте закладку на эту страницу,
если планируете зайти на нее позже ... (Кэш-память компьютера
уровни кэш памяти | Внешняя память процессора )
Двухядерные процессоры - правильно конфигурируем Windows
|
Секреты и тонкости работы на компьютере
Выбираем жесткий диск HDD - какой винчестер лучше и надежнее