L2 и L3 кеш: в чем разница?

L2 и L3 кеш: в чем разница?

ЦП имеют несколько уровней кэширования. Мы обсуждали структуры кэша в целом в нашем объяснении L1 и L2, но мы не потратили столько времени на обсуждение того, как работает L3 или чем он отличается от кеша L1 или L2.

На простейшем уровне кэш L3 - это просто более крупная и медленная версия кеша L2. Раньше, когда большинство чипов были одноядерными процессорами, в целом это было правдой. Первые кэши L3 были фактически построены на самой материнской плате, подключенной к процессору через заднюю шину (в отличие от передней шины). Когда AMD выпустила семейство процессоров K6-III, многие существующие материнские платы K6 / K-2 могли также принять K6-III. Обычно на этих платах было от 512 КБ до 2 МБ кэш-памяти второго уровня - когда был вставлен K6-III со встроенным кешем второго уровня, эти более медленные кэши на базе материнской платы вместо этого стали кэшами третьего уровня.

На рубеже веков установка дополнительного кэша L3 на чипе стала простым способом повысить производительность - первым ориентированным на потребителя процессором Pentium 4 Extreme Edition от Intel был перепрофилированный Gallatin Xeon с 2 МБ L3 на кристалле. Добавление этого кэша было достаточным, чтобы купить Pentium 4 EE на 10-20 процентов прироста производительности по сравнению со стандартной линейкой Northwood.

Кэш и многоядерный Curveball

По мере того как многоядерные процессоры стали более распространенными, кэш L3 стал чаще появляться на потребительском оборудовании. Эти чипы, такие как Intel Nehalem и AMD K10 (Barcelona), использовали L3 как нечто большее, чем просто более крупный и медленный блокиратор для L2. В дополнение к этой функции кэш L3 часто используется всеми процессорами на одном кристалле. В этом отличие от кешей L1 и L2, которые, как правило, являются частными и предназначены для нужд каждого конкретного ядра. (Конструкция AMD Bulldozer является исключением - Bulldozer, Piledriver и Steamroller используют общий кэш инструкций L1 между двумя ядрами в каждом модуле). Процессоры AMD Ryzen, основанные на ядрах Zen, Zen + и Zen 2, имеют общий L3, но структура модулей AMD CCX оставила ЦП функционирующим так, как будто у него было 2 кэша L3 по 8 МБ, по одному для каждого кластера CCX, а не один большой , унифицированный кэш L3, как у стандартных процессоров Intel.

L2 и L3 кеш: в чем разница?

Частные кэши L1 / L2 и общий L3 - далеко не единственный способ разработать иерархию кешей, но это общий подход, принятый несколькими поставщиками. Предоставление каждому отдельному ядру выделенных L1 и L2 сокращает задержки доступа и снижает вероятность конфликта кешей - это означает, что два разных ядра не будут перезаписывать важные данные, которые другое размещает в одном месте, в пользу своей собственной рабочей нагрузки. Общий кэш L3 медленнее, но намного больше, что означает, что он может хранить данные для всех ядер одновременно. Сложные алгоритмы используются, чтобы гарантировать, что Core 0 стремится хранить информацию, ближайшую к себе, в то время как Core 7 через кристалл также помещает необходимые данные ближе к себе.

В отличие от L1 и L2, которые почти всегда ориентированы на ЦП и являются частными, L3 также может использоваться совместно с другими устройствами или возможностями. Процессоры Intel Sandy Bridge использовали кэш L3 объемом 8 МБ совместно с встроенным графическим ядром (Ivy Bridge предоставил графическому процессору собственный выделенный фрагмент кеша L3 вместо всех 8 МБ). В документации Intel Tiger Lake указано, что кэш встроенного процессора также может функционировать как LLC для графического процессора.

В отличие от кешей L1 и L2, оба из которых обычно являются фиксированными и различаются очень незначительно (и в основном для бюджетных частей), AMD и Intel предлагают разные чипы со значительно различающимся количеством L3. Intel обычно продает как минимум несколько процессоров Xeon с меньшим количеством ядер, более высокими частотами и более высоким соотношением кэш-памяти L3 на процессор. AMD Epyc 7F52 объединяет полный кэш L3 объемом 256 МБ, всего 16 ядер и 32 потока.

Сегодня L3 характеризуется как пул быстрой памяти, общей для всех процессоров на SoC. Он часто блокируется независимо от остального ядра ЦП и может быть динамически разделен для баланса скорости доступа, энергопотребления и емкости хранилища. Хотя он и не так быстр, как L1 или L2, он часто более гибкий и играет жизненно важную роль в управлении межъядерным взаимодействием. Также нередко можно увидеть, что кеш-память L3 используется как LLC, совместно используемая ЦП и графическим процессором, или даже появляется огромный кеш-память L3 на видеокартах, таких как архитектура AMD RDNA2.

Читать далее

4K против UHD: в чем разница?
4K против UHD: в чем разница?

Термины UHD и 4K стали настолько похожи друг на друга, что производители телевизоров, вещательные компании и технические блоги используют их как синонимы - но это не одно и то же.