Для чего нужен кэш для процессора

Кэш 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 серии.

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

Источник

Кэш – король быстродействия: нужен ли процессорам четвёртый уровень кэширования

Для чего нужен кэш для процессора. Смотреть фото Для чего нужен кэш для процессора. Смотреть картинку Для чего нужен кэш для процессора. Картинка про Для чего нужен кэш для процессора. Фото Для чего нужен кэш для процессора

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

Однако теперь, когда мы находимся на пороге появления постоянно расширяющейся иерархии памяти, когда начинает появляться энергонезависимая память типа Optane 3D XPoint (вариант памяти с изменением фазового состояния) в формате DIMM и SSD, а также новые протоколы (CXL, OpenCAPI, CCIX, NVLink и Gen-Z), возникает вопрос: не пора ли добавить серверам кэш четвёртого уровня? Поскольку от комплекса CPU зависит работа такого количества устройств – некоторые из которых расположены ближе, другие же дальше – логично задуматься над тем, не нужен ли нам ещё один уровень кэша, маскирующий задержки этих других видов памяти и увеличивающий пропускную способность всей системы.

Чтобы представить открывающиеся возможности, мы покопались в своей собственной памяти, а заодно пообщались с разработчиками архитектуры чипов из IBM, Intel, AMD и Marvell, чтобы понять, что они думают об использовании кэша L4 в серверах. Кэш L4, конечно, не новое слово в быстродействии, однако он и не так уж часто встречается в системных архитектурах.

Однако прежде нам стоит пробежаться по истории вопроса.

Добавление кэша первого уровня к процессорам, у которых в то время было всего одно ядро, в 1980-х стало компромиссом, добавляющим задержки в подсистемы памяти, одновременно снижающим среднюю задержку запросов данных и инструкций процессорами. Кэши L1 изначально находились во внешней SRAM, находившейся на материнских платах и подключавшейся к комплексу CPU-память. Такой кэш L1 находился очень близко к процессору, как в смысле тактовой частоты, так и в смысле физического пространства на плате, и давал возможность повысить загрузку CPU. Потом эти кэши разделили, чтобы в одном блоке можно было хранить часто используемые данные, а во втором – популярные инструкции, и это немного увеличило быстродействие. В какой-то момент увеличения тактовой частоты процессоров и соответствующего разрыва в быстродействии CPU и DRAM, были добавлены более жирные, но и более медленные кэши L2 (зато более дешёвые в пересчёте на пропускную способность), опять-таки сначала находившиеся вне корпуса CPU, а потом интегрированные в него. А когда в CPU начали добавлять всё больше и больше ядер, а также всё больше контроллеров DRAM для их загрузки, к иерархии добавили ещё более крупные блоки кэшей L3.

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

Крис Джианос, инженер чипов и архитектор из Intel, руководившей разработкой многих прошлых поколений процессоров Xeon, объясняет это так: «С каждым уровнем кэша нам обычно нужно, чтобы они выросли достаточно сильно по сравнению с предыдущим уровнем, чтобы всё это имело смысл, поскольку чтобы достичь заметного прироста быстродействия системы, нужно достичь достаточно интересной частоты успешных обращений. Если вы „попадаете“ в кэшированные данные всего в нескольких процентах случаев, это будет сложно заметить. Всё остальное затормаживает ваше быстродействие, и этот прирост будет незаметным. Поэтому требуются относительно большие кэши, и когда речь идёт о более высоких уровнях, нужны реально огромные кэши. Сегодня L2 измеряются мегабайтами, L3 измеряются десятками или сотнями мегабайт. Так что понятно, что если вы начинаете думать о кэше L4, то речь пойдёт уже о сотнях мегабайт, если не о гигабайтах. А такой размер определённо приведёт к их высокой стоимости. Нужно, чтобы сложились определённые условия, чтобы этот вариант стал интересным, и дешёвым он определённо не будет».

Инженеры из компании AMD, с которыми мы беседовали, пожелали остаться неизвестными потому, что они не хотели создать впечатление, что компания собирается добавить кэш L4 в линейку процессоров Epyc – и, если быть точным, AMD ничего такого и не обещала. Однако компания всё же признаёт, что это следующий очевидный шаг для рассмотрения, и, точно так же, как Intel, считает, что все инженеры размышляют о реализации кэша L4. По сути, AMD говорит, что компромиссы, связанные с уровнями кэшей и задержками подробно изучены как в промышленности, так и в научных кругах, и что с каждым новым уровнем, который оказывается больше и медленнее предыдущего, возникает компромисс увеличения общего пути к DRAM. Об этом говорит и Джианос из Intel, рассказывая о необходимости поиска баланса между успешными запросами к КЭШу и его объёмом.

IBM, конечно, добавляла кэш L4 к некоторым своим чипсетам X86 в 2000-х, а в 2010-х добавила L4 к чипсетам NUMA (неравномерный доступ к памяти) на мейнфреймах System z11. У процессора z11 четыре ядра, 64 КБ L1 кэш для инструкций и 128 КБ L1 кэш для данных, плюс 1,5 МБ L2 кэш для каждого из ядер и 24 МБ L3 кэш общего доступа для всех ядер. У чипсета NUMA для z10 было два банка по 96 МБ L4 кэша, то есть, 192 МБ в сумме. Выпустив z12, IBM урезала размер кэша L1 до 98 КБ на ядро, однако увеличила L2 кэш до 2 МБ на ядро, разделив его при этом на две части, для инструкций и для данных, как в случае с L1. Также она удвоила размер кэша L3 до 48 МБ для шести ядер, а размер кэша L4 был увеличен до 384 МБ для пары чипов в чипсете. При смене поколений процессоров System z объёмы кэшей росли, и у процессоров z15, анонсированных в сентябре, пара кэшей L1 будет весить по 128 КБ, пара кэшей L2 – по 4 МБ, а общий кэш L3 будет для 12 ядер иметь объём 256 МБ. Объём кэша L4 в каждом отсеке мейнфрейма составляет 960 МБ, а его общий объём для всей системы, состоящей из пяти отсеков, равняется 4,68 ГБ.

Как мы уже указывали ранее, у процессоров Power8 и Power9 память буферизована, а IBM добавила 16 МБ L4 кэша к каждому буферу Centaur, что составляет 128 МБ L4 кэша на сокет для 32-х планок памяти. У самых дешёвых машин с Power9 нет буфера памяти, а, следовательно, и кэша L4. Архитекторы, разрабатывавшие схему Power10, были заняты разработкой схемы для Power11, и потому не смогли ответить на наши вопросы, но Уильям Старк, управлявший разработкой Power10, нашёл для нас немного времени, и заметил следующее:

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

Именно так мы и думали. И, кстати, мы не утверждаем, что кэш L4 обязательно будет находиться в непосредственной близости от буферизированной памяти будущего DDR5 DIMM. Возможно, его лучше расположить между PCI-Express и кэшем процессора L3, а ещё лучше, в буферах памяти и между PCI-Express и кэшем процессора L3. Возможно, его для этого придётся поместить наверху контроллера I/O и памяти в будущей серверной архитектуре, что немного напоминает технологию Foveros от Intel.

На это возможно взглянуть и с другой точки зрения – допустим, у IBM была возможность менять размеры кристалла, и инженеры решили добавить кэш L4 к шине System z NUMA или к чипу буферизации памяти Power8 и Power9 не ради его самого, а просто потому, что у них оставалась ещё возможность добавить транзисторов после того, как все необходимые функции были реализованы. Иногда нам кажется, что количество ядер в процессорах Intel X86 зависит от размера кэша L3, который они могут себе позволить. Иногда кажется, что Intel назначает максимальный размер кэша L3 на один кристалл, и после этого кристаллы Xeon трёх разных размеров просто изготавливают по этим спецификациям – в последних поколениях у них по 10, 18 или 28 ядер на техпроцессе в 14 нм.

Всё это, конечно, чисто академические вопросы, однако они дают нам возможную мотивацию для IBM и других производителей чипсетов на добавление кэша L4. Это не просто может помочь в каких-то случаях, это просто довольно очевидная вещь. Думаем, что на таком монстре I/O, как мейнфрейм System z, кэш L4 без вопросов находится на своём месте и приносит пользу всем клиентам, увеличивая пропускную способность этих машин и позволяя им работать на 98-99% загрузке процессора, поскольку как количество ядер, так и масштабы NUMA в мейнфреймах в последнее время сильно подросли.

Нет причин для того, чтобы делать кэш L4 исключительно на встроенной DRAM (как делает IBM со своими чипами) или на базе куда как более дорогой SRAM – об этом нам напоминает Рабин Сугумар, архитектор чипов из компаний Cray Research, Sun Microsystems, Oracle, Broadcom, Cavium и Marvell:

«Наши кэши L3 уже достаточно большие, — говорит Сугумар. – Так что L4 в интересующем вас случае нужно делать по другой технологии. Возможно, eDRAM или даже HBM или DRAM. В данном контексте интересным вариантом выглядит реализация кэша L4 на основе HBM, и этот кэш решает не столько проблему задержки, сколько пропускной способности. Поскольку ёмкость HBM ограничена, а пропускная способность велика, мы можем получить определённую прибавку к скорости – и в некоторых специальных случаях мы действительно видим значительное увеличение пропускной способности». Сугумар добавляет, что для довольно большого количества применений наблюдается относительно большое количество «промахов» кэша. Однако нужно подсчитать – будет ли добавление очередного уровня кэша стоить того.

Ещё один возможный вариант использования чего-то наподобие кэша L4, говорит Сугумар, это использовать локальную DRAM в качестве кэша. «У нас не ведётся никаких подобных исследований в лаборатории, но допустим, у нас на чипе есть интерфейс с высокой пропускной способностью, соединенный с общей распределённой памятью где-то на другом конце шлейфа, на расстоянии от 500 нс до 1 мкc. Тогда один из вариантов использования будет создать кэш, перемещающий эти данные из общей распределённой памяти в локальную DRAM. Можно представить работу конечного автомата, управляющего этой памятью, поэтому большую часть времени обращения будут идти к локальной DRAM, и вы сможете минимизировать количество обращений к общей распределённой DRAM».

Нам этот вариант кажется очень интересной разновидностью NUMA. Кстати, Сугумар работал над распределённой памятью для высокоскоростных параллельных систем в Sun Microsystems ещё до того, как появилась энергонезависимая память. И одна из проблем с этими различными вариантами иерархии памяти заключалась в том, что если одна из них потеряется из-за отказа сети или шины, то вся машина упадёт. «В системах с распределённой памятью приходится обрабатывать отказы сети более элегантно, и это порождает множество сложностей при проектировании».

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

«В какой-то момент дополнительный уровень кэша станет неизбежностью, — говорит Джианос. – У нас появился первый уровень кэша, и в какой-то момент появился и второй. А потом мы, в конце концов, добавили третий. И когда-то у нас будет четвёртый. Вопрос только – когда и зачем. И мне кажется, что ваши наблюдения, касающиеся возможностей этого кэша, достаточно интересные. Но в Intel пока не решили, когда или зачем будут обнародовать такие вещи. Другие компании тоже изучают этот вопрос; было бы глупо не исследовать его. Рано или поздно это произойдёт, однако скоро это будет, или не очень – пока неясно».

Источник

Кэш-память процессора

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

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

Содержание статьи

Что такое кэш-память процессора

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

Все упомянутые операции производятся на очень высокой скорости. Однако, даже самая быстрая оперативная память работает медленнее любого «неторопливого» процессора. Каждое считывание из нее информации и обратная ее запись отнимают много времени. В среднем, скорость работы оперативной памяти в 16 – 17 раз ниже скорости процессора.

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

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

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

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

Контроллер кэш памяти

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

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

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

Задача контроллера – сделать так, чтобы кэш-промахи происходили как можно реже, а в идеале – чтобы их не было вообще.

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

• размером и структурой кэш-памяти (чем больше ресурсов имеет в своем распоряжении контроллер, тем ниже вероятность кэш-промаха);

• эффективностью алгоритмов, по которым контроллер определяет, какая именно информация понадобится процессору в следующий момент времени;

• сложностью и количеством задач, одновременно решаемых процессором. Чем сложнее задачи и чем их больше, тем чаще «ошибается» контроллер.

Кэш-память процессора

Однако, эта скорость зависит также от объема конкретной микросхемы. Чем значительней объем микросхемы, тем сложнее обеспечить высокую скорость ее работы.

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

Количество микросхем памяти L1 в процессоре, как правило, равно количеству его ядер. Каждое ядро имеет доступ только к своей микросхеме L1.

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

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

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

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

Влияние кэш-памяти процессора на быстродействие компьютера

Указанные показатели касаются простых задач. С повышением нагрузки на процессор число кэш-промахов увеличивается.

Эффективность кэш-памяти процессора сводит к минимуму влияние скорости оперативной памяти на быстродействие компьютера. Например, компьютер одинаково хорошо будет работать с оперативной памятью 1066 МГц и 2400 МГц. При прочих равных условиях разница производительности в большинстве приложений не превысит 5%.

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

Какая структура кэш-памяти лучше: двух- или трехуровневая?

Трехуровневая кэш-память более эффективна.

Чтобы определить, как сильно L3 влияет на работу процессора, сайтом Tom’s Hardware был проведен эксперимент. Заключался он в замере производительности процессоров Athlon II X4 и Phenom II X4. Оба процессора оснащены одинаковыми ядрами. Первый отличается от второго лишь отсутствием кэш-памяти L3 и более низкой тактовой частотой.

Приведя частоты обеих процессоров к одинаковому показателю, было установлено, что наличие кэш-памяти L3 повышает производительность процессора Phenom на 5,8 %. Но это средний показатель. В одних приложениях он был почти равен нулю (офисные программы), в других – достигал 8% и даже больше (компьютерные 3D игры, архиваторы и др.).

Как влияет размер кэша на производительность процессора?

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

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

Другое дело высокочастотные 4-, 6- или даже 8-миядерные процессоры. Некоторые из них (например, Intel Core i7) поддерживают технологию Hyper Threading, обеспечивающую одновременное выполнение каждым ядром двух задач. Естественно, что потенциал таких процессоров не может быть раскрыт с маленьким кэшем. Поэтому его увеличение до 15 или даже 20 MB вполне оправдано.

В процессорах Intel алгоритм наполнения кэш-памяти построен по так называемой инклюзивной схеме, когда содержимое кэшей верхнего уровня (L1, L2) полностью или частично дублируется в кэше нижнего уровня (L3). Это в определенной степени уменьшает полезный объем его пространства. С другой стороны, инклюзивная схема позитивно сказывается на взаимодействии ядер процессора между собой.

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

Эффект от большого кэша наиболее ощутим при использовании архиваторов, в 3D играх, во время кодирования видео. В «не тяжелых» же приложениях разница стремится к нулю (офисные программы, интернет-серфинг, работа с фотографиями, прослушивание музыки и др.).

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

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

Как узнать размер кэш-памяти процессора?

Для чего нужен кэш для процессора. Смотреть фото Для чего нужен кэш для процессора. Смотреть картинку Для чего нужен кэш для процессора. Картинка про Для чего нужен кэш для процессора. Фото Для чего нужен кэш для процессора

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

Программа не требует установки. После ее запуска нужно перейти на вкладку «Caches» (см. изображение).

На примере видно, что проверяемый процессор оснащен трехуровневой кэш-памятью. Размер кэша L3 у него составляет 3 MB, L2 – 512 KB (256×2), L1 – 128 KB (32×2+32×2).

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *