Кэш-память процессора. Уровни и принципы функционирования

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

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

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

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

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

Также, немаловажным фактором является размещение кэш-памяти. Размещена она, на самом кристалле процессора, что значительно уменьшает время доступа к ней. Ранее, кэш память некоторых уровней, размещалась за пределами кристалла процессора, на специальной микросхеме 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.


Комментарии   

 
+37 # manhunt969 02.12.2012 18:33
Привет автору! Респект за статьи! Почитал, узнал много нового и вспомнил подзабытое. Один момент в данной статье автор или перепутал или я не допонял: Цитата:
Данные виды информации находятся прямо на столе, что, в свою очередь, уменьшает скорость доступа к ним.
Вы имели ввиду увеличивает скорость доступа или уменьшает время для обращения к ним?
 
 
+23 # Администратор 02.12.2012 20:41
Приветствую! Действительно, неувязочка вышла, уже подправил, спасибо за корректировку :-)
 
 
+8 # Dennis 12.04.2013 18:11
Давно хотел узнать, что за кэш-память. Нашел быстро, автору респект!
 
 
-5 # segamega 01.06.2013 00:14
Доброе время суток, все хочу узнать, да ни где не могу найти в характеристиках , пропускную способность процессора. Какой обьема информации может обрабатывать процессор?
 
 
0 # Рафаэль 01.06.2013 16:33
Спасибо за статью. Многое узнал и запомнил для себя! ;-)
 
 
-1 # Илья Лесков 11.02.2014 18:01
В статье не нашёл, но меня интересует такое: я простой юзер, иногда в игры играю, с графикой не работаю, вычисления вселенной не произвожу...
(!)Грубо сравниваю скажем 2 CPU, 1 с L2, а 2й с L3 - у 1го скажем 4Мб кэша, а у второго с L3 пусть будет 10Мб. Частоты, архитектура и другие характеристики одинаковы, но 2й проц стоит дороже - стоит ли доплачивать за доп кэш или лучше деньги пустить на более полезные вещи, как к примеру обмывка покупки :)
 
 
-1 # Администратор 12.02.2014 22:25
Илья, в зависимости от того, насколько много придется доплачивать, обмывают-то все по-разному :-)

Обилие кэша довольно положительно сказывается на играх и вообще на общей работе системы, но и на одной кэш-памяти далеко не укатишься. Так что если перед компьютером не ставится сверх задач, то кэш-памятью можно и пожертвовать. Также имеет значение какая именно кэш-память ( в CPU Intel или AMD) и на какой из уровней сколько отведено.
 
 
+3 # Евгений_2013 13.02.2014 23:45
Илья Лесков
:-) Занятно :-)
(!) Грубо сравниваю - два абсолютно одинаковых человека, один и тот же рост, вес, телосложение и вообще все характеристики одинаковые кроме: у 1-го грудь мускулистая, у 2-го молочные железы. На первого налезет бюстгальтер 2-го размера на второго 4-го. Ни чего серьезного с этими людьми делать не планируется, так для игр ... разных (однако второй дороже). Внимание вопрос-стоит ли доплачивать за молочные железы ... или пустить деньги на обмывку мускулистой груди? :-?
 
 
+1 # Илья Лесков 19.02.2014 17:57
Евгений_2013, я понимаю, что моё сравнение было немного детским, но...
У меня есть друг, который "Селероны" не считает за CPU и говорит всегда "Не покупай это гумно - у них кэша вобще почти нет". Я сидел на старом AMD Athlon 64 2500+ с 2Мб кэшем и мне этого хватало. А кто-то говорит, что 4Мб это не кэш, а недоразумение...
Вот и спросил настолько ли важен юзеру_обыкновен ному кэш выше 4Мб для простеньких игр и просмотра 720р фильмов? Я вот сейчас вобще пишу с компа Athlon XP 1.9 GHz одноядерный со сгоревшим L2 кэшем (при нубо разгоне спалили) и для фильмов его хватает, даже в HL2 играл :)
 
 
-2 # Евгений_2013 25.02.2014 09:01
Илья Лесков
Прошу прощенье если обидел, не со зла. Просто сравнение действительно было не очень, ни когда не видел и не слышал чтоб у процессоров всё было одинаково кроме кэша (от производителя). А так я вам скажу одну занимательную вещь которую мне как-то рассказывали - 90% кэша завалено мусором про причине прогнозирования алгоритмов ветвления, который ни когда не используется обычным пользователем.
 
 
-2 # Илья Лесков 25.02.2014 23:01
Евгений_2013, столкнулся недавно с такой ситуацией: одному человеку помогал собрать комп. Он фанат АМД и выбрал "FX с 12 Мб кэшем" и всё. Пытался объяснить преимущество потоков у Интел и менее прожорливые варианты от АМД, но 12 Мб кэша лучше... Из этого и вытекает вопрос: если есть приблизительно одинаковые CPU по многим параметрам на бумаге, не сильные отличия по цене, тестам в и-нете, то стоит ли брать КЭШ как последний аргумент для покупки?
 
 
+5 # Евгений_2013 28.02.2014 20:07
# Илья Лесков

"если есть приблизительно одинаковые CPU по многим параметрам на бумаге, не сильные отличия по цене, тестам в и-нете"

Если стоимость и производительно сть процессоров приблизительно одинаковы, то роль размеров "КЭША" у одной модели процессора по отношению к другой, компенсируется другими особенностями организации внутреннего строения этих систем. Так что последним аргументом может служить любой повод который только взбредёт в голову.
 
 
+36 # Валерий 03.11.2014 10:34
Как очистить кэш браузера?
 
 
+19 # Vectra86 04.01.2016 19:50
Я думаю, Валерий поставил точку в ваших спорах))))))))) )))))
 

У Вас не достаточно прав для комментирования!

Инфо

Информативно о компьютерных технологиях. Различные материалы относительно компьютерного железа, софта (программ) и сетевых технологий. При полном или частичном копировании информации - прямая ссылка на сайт (We-it.net) обязательна.