Кэш второго уровня что это
Кэш L1, L2, L3: что это такое и для чего нужен кэш в современном мире?
Кэш L1, L2, L3 — это кэш процессора разных ступеней.
Что такое кэш?
Если объяснять достаточно просто, то кэш — это самый быстрый из существующих типов памяти. По идее вы должны знать, что у компьютера быва е т несколько типов памяти:
Кэш является статистической памятью, а это значит, что он может сохранять в себе сведения без необходимости постоянно их обновлять. Основным предназначением кэша является ускорение работы оперативной памяти.
Как работает кэш процессора?
За перераспределение инструкций из процессора в его память отвечает специальный микроконтроллер памяти процессора, именно он отправляет инструкции в кэш.
С иерархией памяти в компьютере вроде все понятно, но что же такое кэш L1, L2, L3?
Что это такое — «кэш L1, L2, L3»?
Итак, инструкции программы попали в кэш процессора. Но тут есть собственная иерархия памяти, которая, также как и в компьютере, основывается на скорости функционирования кэша.
Получается, что кэш L1, L2, L3 — это иерархия памяти процессор а :
В общем, принцип прохождения инструкций для работы программы прост: они передаются от самой медленной памяти (hard-диск) к самой быстрой (кэш L1). А процессор посылает запросы в обратном порядке: от самой быстрой памяти к самой медленной.
Для чего нужен кэш в процессоре в современном мире?
Заключение
Теперь вы знаете, что к э ш L1, L2, L3 — это всего лишь иерархия к э ша в процессоре, а не что-то сверхъестественное и непонятное. Качественная реализация к э ша в процессоре — это более высокая производительность компьютера. А высокая производительность ПК — это лояльность его пользователей. Поэтому компании-производители процессоров продолжают эксперименты с кэшем, чтобы повысить процент попаданий в к э ш.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Влияние кэша L3 на производительность процессоров Intel
Содержание
Содержание
Проверяем, какое влияние оказывает объём L3 Cache на производительность процессоров Intel Core 10 серии как в рабочих приложениях, так и в играх. Выясняем, почему нельзя использовать старшие процессоры для эмуляции младших моделей.
Что такое кэш процессора и зачем он нужен
Кэш процессора – это очень быстрая память. Он выполняет функцию буфера (временного хранения данных), из которого процессор очень быстро может получить необходимую для обработки информацию.
Современные процессоры, будь то Intel или AMD, в основном имеет 3 уровня кэша:
В многоядерных процессорах каждое ядро имеет выделенный кэш L1 и L2 Cache, а вот к L3 Cache чье влияние на производительность мы и будем сегодня изучать имеют доступ все ядра процессора.
Когда процессору необходимо получить данные, поиск он начинает с кэша первого уровня. Если нужной информации в нем нет, он повторяет поиск в кэше второго и третьего уровня что несколько увеличивает время на выполнение операции. Если поиск завершился неудачей процессору приходится обращаться к оперативной памяти что значительно увеличивает время выполнение операции.
Именно поэтому чем больше объём кэша, тем больше вероятность нахождения в нем нужных данных, а значит сократить задержек. Но и у большого кэша есть и свои минусы, о которых чуть позже.
Более подробно о работе кэша процессора и зачем он нужен можно ознакомиться в статье «Что такое кэш в процессоре и зачем он нужен»
В тестировании участвую 4 процессора Intel из 10 серии:
Чтобы измерить именно влияние объёма L3 Cache на производительность процессора, зафиксируем частоту ядер всех участников на отметке 4000 MHz, а у старших моделей дополнительно отключим ядра, чтобы конфигурация ядер всех участников составила 4 ядра с HT, как и у младшей модели intel Core i3.
Частота контроллера памяти во всех случаях составила 3400 MHz. Оперативная память работала на частоте 2133 MHz по стандарту JEDEC c таймингами 15-15-15-36 CR2.
Тестовая конфигурация
Тестирование в бенчмарках
В Aida64 Cache and Memory Benchmark разный объём L3 Cache оказывает незначительное влияние на прописную способность памяти, также можно заметить, что процессор с более больший кэш 3 уровня несколько отстает по скорости и задержкам от своих младших собратьев с меньшем кэшем.
Бенчмарк CPU-Z как и Geekbench 5 не питает большой любви к объёму кэша, хоть и прослеживается незначительное изменение в производительности.
Похожая картина наблюдается и в бенчмарке 3DMark Time Spy.
А вот программы архивации, в частности, WinRAR, отдают предпочтение процессору с большим кэшем, разница в производительности доходит до 35 %.
7-Zip также положительно откликается на увеличение объёма кэша, разница между моделью i3 с L3 Cache 6 mb и процессором i9 L3 Cache 20 mb составляет порядка 20 % в операциях упаковки.
Получив такую неоднозначную реакцию бенчмарков на объём кэша третьего уровня, переходим к тестированию в играх.
Тестирование в играх
Скандинавская сага о набегах викингов хорошо откликается на изменение объёма L3 кэша, и если переход от процессора с 6 мегабайтами кэша на 12 кажется не столь значительным, то переход на модель i9 c 20 мегабайтами кэша 3 уровня составляет уже 15%.
Подобная картина наблюдается во всех протестированных играх, где-то влияние больше где-то меньше, но оно безусловно.
Это еще раз доказывает факт того что использовать для тестирования необходимо оригинальные модели процессоров а не старшую модель для эмуляции младших путем отключения ядер процессора в биос материнской платы.
Выводы
Изменение объёма кэша 3 уровня положительно сказывается на игровой производительности процессора. Большинство протестированных программ практически не реагируют на его изменение, исключением являются программы-архиваторы.
В целом объем кэша 3 уровня играет немалую роль в производительности процессора, но самостоятельно пользователь увеличить его объем, увы, не сможет.
Выход процессоров AMD Zen 2 с увеличенным до 32 мегабайт кэшем 3 уровня должен был заставить инженеров Intel задуматься, ведь процессор intel Core i3 10100 c кэшем 3 уровня 20 мегабайт мог бы составить конкуренцию даже процессорам Ryzen 5000 серии.
В то же время у большого кэша есть и недостатки — это большая площадь, занимаемая на подложке, и возросшие задержки, но эти недостатки не кажутся такими серьезными на фоне роста производительности.
Кэш память процессора
Выбирая процессор, рядовой покупатель в первую очередь смотрит на такие характеристики, как количество ядер и тактовую частоту. Но есть и ещё один важный параметр, который следует учитывать при покупке — объем кэш памяти.
Итак, насколько важна эта характеристика и как влияет на скорость вычислений?
Зачем нужна кэш память
В компьютере используется несколько типов памяти. Всем известны HDD/SSD для долгосрочного хранения информации и ОЗУ (RAM), которая при потере питания сбрасывает всё содержимое. Важное различие между ними — это скорость доступа к данным.
Для общего понимания следует знать, что программы состоят из набора команд. При запуске, они копируются с жесткого диска в оперативную память, а процессору указывается адрес ячейки, где находится стартовая команда. Выполнив её, результат записывается опять в оперативную память. Именно так всё работает, если отбросить важную деталь.
Процессоры давно способны выполнять такое количество команд в секунду, что их доставка из ОЗУ тормозит ход работы. Чтобы минимизировать эти задержки, задействуется сверхбыстрая кэш память и специальный контроллер внутри самого процессора. Контроллер по сложным алгоритмам предугадывает, какие данные в ближайшее время могут понадобиться и копирует их в кэш. Но на этом всё не заканчивается. Поступившие данные распределяются по уровням.
Уровни кэша: L1, L2 и L3
Кэш процессора разделен на три основных уровня: L1, L2 и L3. Отличаются они скоростью доступа и размером.
Когда процессор ищет данные для выполнения операции, он последовательно начинает просматривать все уровни, начиная с L1 и заканчивая L3. Если поиск завершился неудачей, то приходиться обращаться к оперативной памяти, а это вызывает задержку в работе. Поэтому, чем объемней кэш, тем больше вероятность нахождения в нем нужных данных, а значит меньше задержек.
Влияние на скорость работы
Размер кэш памяти влияет на скорость работы программ, но почти всегда этот прирост незначителен за счет массы других факторов. Например, если производитель вдруг увеличит у конкретной модели процессора кэш L3 с 4 МБ до 8 МБ, то в лучшем случае, при выполнении некоторых приложений, получим прирост производительности на 10%. А при обычной работе это будет всего около 2%.
Таким образом, можно сделать вывод, что ориентироваться на объем кэш памяти при покупке процессора стоит в последнюю очередь. Хотя прогресс не стоит на месте и появляются новые идеи в устранении задержек при работе с данными. Например, компания Intel уже провела ряд экспериментов по внедрению кэша 4 уровня и останавливаться на этом не собирается.
Пример объема L3 буфера разных процессоров и их средняя цена:
Intel Celeron G4950 | 2 МБ | 5 000 руб. |
Intel Celeron G4500 | 3 МБ | 4 500 руб. |
AMD Ryzen 3 3200G | 4 МБ | 6 500 руб. |
Intel Core i3-9100F | 6 МБ | 6 500 руб. |
AMD Ryzen 5 1400 | 8 МБ | 6 000 руб. |
Intel Core i5-9400F | 8 МБ | 9 000 руб. |
Intel Xeon E5-2623 v4 | 10 МБ | 35 000 руб. |
Intel Core i7-9700F | 12 МБ | 23 000 руб. |
AMD Ryzen 7 2700 | 16 МБ | 14 000 руб. |
Intel Core i9-9900 | 16 МБ | 35 000 руб. |
Intel Xeon E5-2609 v4 | 20 МБ | 22 000 руб. |
Intel Xeon E5-2650 v4 | 30 МБ | 80 000 руб. |
AMD Ryzen 9 3900X | 62 МБ | 50 000 руб. |
О важности и влиянии кэш-памяти процессора на его производительность
Перед началом основной беседы о важности объема кэш-памяти у процессоров остановлюсь на криптовалюте Raptoreum, которая, собственно, и подтолкнула меня написать этот блог. Кто хочет узнать, что ожидает всех майнеров и геймеров в следующем году, когда появятся видеокарты на рынке, вероятный прогноз развития событий можно найти здесь.
реклама
А теперь поговорим о кэш-памяти процессора. При решении задач процессор получает из оперативной памяти необходимые блоки информации, обработав их, он записывает в память результаты вычислений и получает для обработки следующие блоки. Этот процесс продолжается, пока задача не будет на 100% выполнена.
Все эти операции производятся на очень высоких скоростях, от десятков гигабайт в секунду у процессоров 20-ти летней давности, до сотен гигабайт в секунду у современных процессоров. Все это время процессор обменивается данными с оперативной памятью, которая работает в разы медленнее самого процессора. Каждое считывание из нее и обратная запись информации в неё отнимают уйму времени.
реклама
Несмотря на такой дисбаланс, процессор не простаивает в ожидании очередной порции данных из оперативной памяти, так как эти данные подгружаются в его кэш-память.
Кэш-память процессора – это небольшая по объему, но супербыстрая оперативная память. Она встроена в процессор и является своеобразным буфером, при обмене CPU данными с медленной оперативной памятью, а в современных реалиях еще и с NVME SSD и видеокартой.
В большинстве процессоров используется многоуровневая система кэша:
реклама
• Кэш-память первого уровня или L1 – самая маленькая, но и самая быстрая область кэш-памяти. Её объем не превышает пару десятков килобайт. Работает L1 без каких-либо задержек. В нем содержатся данные, которые чаще всего используются процессором.
• Кэш-память второго уровня (L2) чуть медленнее кэш-памяти L1, но и объем ее в современных процессорах измеряется уже в мегабайтах. Служит она для временного хранения важных данных, вероятность запроса которых ниже, чем у данных, находящихся в L1 кэше.
• Кэш-память третьего уровня (L3) – еще более объемная и еще более медленная. Но она все равно быстрее любой оперативной памяти, даже новой DDR5. Со скоростями в несколько сотен гигабайт в секунду пока еще приходится считаться. Ее размер в современных процессорах в мейнстрим сегменте достигает нескольких десятков мегабайт, а в серверных AMD Epyc счет пошел уже на сотни мегабайт. В отличие от L1 и L2, кэш третьего уровня является общим для всех ядер процессора.
L3 кэш служит для временного хранения важной информации с относительно низкой вероятностью запроса, а также для обеспечения обменом данными между ядрами процессора.
реклама
А теперь небольшой экскурс в развитие и эволюцию кэш-памяти. Если за отправную точку взять Pentium 1, то кэша L2 у него не было. L1 был объёмом 32 Кб. L2 как правило распаивался на материнской плате. Когда появился Pentium II, то L2 сразу стал равным 512 Кб, но он располагался рядом с ядром процессора на отдельной микросхеме и имел низкую скорость, но все равно это лучше, чем ничего.
Pentium-III с Socket 370 имел уже половину объема от Pentium II – 256 Кб, но зато этот кэш был быстрее, так как он был интегрирован в кристалл процессора. Pentium 4 вначале удвоил этот объём до 512 Кб, так называемый Nothwood, а последовавшее за ним ядро Prescott довел L2 до 1 Мб. Это уже объём дней сегодняшних.
Во времена Pentium 4 случилось еще одно важное событие: у Pentium 4 Extreme Edition впервые появился L3 кэш. До этого момента в десктопах такого явления не было. Объем L3 равнялся «жирным» 2 мегабайтам, что положительно влияло на производительность и цену процессора.
После смены с 478 на 775 контактов без ножек, первые “новые” Pentium с ядрами Prescott-2M и Cedar Mill увеличили L2 до 2-х мегабайт, а L1 так и оставался в пределах 32 Кб.
Микроархитектура Core2 и Core2 Quad значительно увеличили объемы кэшей. Так, объем L2 кэша уже варьировался от 4 до 12 Мб, но эти цифры нужно поделить на два, из особенности организации кэша, так как группы ядер по факту взаимодействовали только с половиной этого объема, но суммарный объем был именно таким.
Микроархитектура Sandy Bridge поделила процессоры на различные линейки в зависимости от объема L2 кэша. В этот момент времени, именно объем кэш-памяти начинает решать главенствующую роль в позиционировании и производительности процессоров.
Так, i5-2500К отличался от i7-2600K только объемом кэша. И надо отметить, речь уже идет о L3 кэше, который начинает появляться уже повсеместно. В первом случае L3 = 6 Мб, во втором 8 Мб. L2 у обеих моделей равнялся 256 Кб на одно ядро, а L1 был равен по-прежнему 32 Кб.
Далее происходит рост L3 у последующих поколений. У i9-9900K он уже равен 16 Мб. Параллельно развивается HEDT линейка процессоров Intel, где L3 уже достигает 24.5 Мб. Но дальнейшее развитие всей процессорной архитектуры меняют процессоры AMD с микроархитектурой ZEN и производные от них. Стартовало первое поколение AMD Ryzen c L2 = 512 Кб и L3 = 8 Мб, а на сегодняшний день топовый Ryzen Gen3 уже обладает 64 Мб L3 кэша. Недавний анонс новых серверных процессоров AMD Epyс вообще увеличил объем L3 до астрономических 768 Мб.
Таким образом, система кэшей процессора позволяет частично уйти от зависимости от низкой производительности оперативной памяти, ведь процесс развития процессоров и скорости их кэшей намного опережает скорость оперативной памяти. Важно отметить и тот факт, что чем больше кэша у процессора, тем выше его производительность.
Поэтому при выборе того или иного процессора, обращайте внимание на объем L3 кэша процессора. Возможно, в будущем, объемы порядка пары гигабайт L3 кэша станут нормой, но а пока следим за стоимостью AMD Ryzen, в зависимости от популярности Raptoreum. Надеюсь, этот блог оказался для вас полезным.
Кэш-память процессора. Уровни и принципы функционирования
Одним из немаловажных факторов повышающих производительность процессора, является наличие кэш-памяти, а точнее её объём, скорость доступа и распределение по уровням.
Что такое кэш-память и её структура
Кэш-память – это сверхбыстрая память используемая процессором, для временного хранения данных, которые наиболее часто используются. Вот так, вкратце, можно описать данный тип памяти.
Также, немаловажным фактором является размещение кэш-памяти. Размещена она, на самом кристалле процессора, что значительно уменьшает время доступа к ней. Ранее, кэш память некоторых уровней, размещалась за пределами кристалла процессора, на специальной микросхеме SRAM где-то на просторах материнской платы. Сейчас же, практически у всех процессоров, кэш-память размещена на кристалле процессора.
Для чего нужна кэш-память процессора?
Чтобы лучше понять необходимость кэш-памяти, давайте представим себе организацию памяти компьютера в виде офиса. Оперативная память будет являть собою шкаф с папками, к которым периодически обращается бухгалтер, чтобы извлечь большие блоки данных (то есть папки). А стол, будет являться кэш-памятью.
Есть такие элементы, которые размещены на столе бухгалтера, к которым он обращается в течение часа по несколько раз. Например, это могут быть номера телефонов, какие-то примеры документов. Данные виды информации находятся прямо на столе, что, в свою очередь,увеличивает скорость доступа к ним.
Точно так же, данные могут добавиться из тех больших блоков данных (папок), на стол, для быстрого использования, к примеру, какой-либо документ. Когда этот документ становится не нужным, его помещают назад в шкаф (в оперативную память), тем самым очищая стол (кэш-память) и освобождая этот стол для новых документов, которые будут использоваться в последующий отрезок времени.
Также и с кэш-памятью, если есть какие-то данные, к которым вероятнее всего будет повторное обращение, то эти данные из оперативной памяти, подгружаются в кэш-память. Очень часто, это происходит с совместной загрузкой тех данных, которые вероятнее всего, будут использоваться после текущих данных. То есть, здесь присутствует наличие предположений о том, что же будет использовано «после». Вот такие непростые принципы функционирования.
Уровни кэш-памяти процессора
Современные процессоры, оснащены кэшем, который состоит, зачастую из 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.