Что такое кеш?

    0
    3

    [ad_1]

    Хотя о кэше говорят не так много, как о ядрах, ОЗУ (оперативной памяти) или видеопамяти, вы, вероятно, слышали об этом раньше, особенно недавно. AMD с гордостью рекламирует игровую производительность своих процессоров Ryzen с 3D V-Cache в результате использования кеша, и одним из самых больших улучшений Intel в своих процессорах Raptor Lake 13-го поколения стало добавление большего объема кеша.


    Но как кэш может повысить производительность, если он измеряется мегабайтами? Даже самые дешевые комплекты оперативной памяти в наши дни поставляются с 16 ГБ, так как же добавление всего нескольких дополнительных мегабайт кэш-памяти может так сильно повлиять на производительность? Ну, кеш – это не ваш обычный тип памяти.

    XDA ВИДЕО ДНЯПРОКРУТИТЕ, ЧТОБЫ ПРОДОЛЖИТЬ СОДЕРЖАНИЕ

    Кэш: Небольшой объем высокоскоростной памяти

    Рендер процессора Ryzen 7000 с 3D V-Cache и двумя ПЗС-матрицами.

    Источник: AMD

    Кэш на самом деле является довольно недавней разработкой процессоров, относящейся к 1990-м годам, и он был изобретен из-за оперативной памяти. Оперативная память является ключевым компонентом компьютеров, в котором хранится значительный объем данных, которые, как ожидается, довольно часто требуются процессорам (таким как центральные и графические процессоры). Долгое время улучшение производительности ОЗУ шло в ногу с улучшением производительности ЦП, но к 1990-м годам стало очевидно, что ОЗУ не сможет идти в ногу с новейшими ЦП. Оперативной памяти было много, но скорость передачи была слишком низкой.

    Вот тут-то и появляется кеш. Он не так велик, как ОЗУ, ни физически, ни по емкости, но он находится внутри самого процессора и может передавать данные очень быстро и с очень низкой задержкой. Пока кеш хранит данные, которые действительно нужны процессору, это может сэкономить время, потому что запрос ОЗУ для тех же данных во много раз медленнее. Это было отличное решение проблемы с оперативной памятью, позволившее разработчикам ЦП продолжать создавать более быстрые ЦП, а разработчикам ОЗУ — увеличивать объем ОЗУ, не беспокоясь о производительности. Сегодня кеш есть практически во всех типах процессоров.

    Вы можете задаться вопросом, почему кеш такой маленький. Ну, это в основном связано с пространством и деньгами. Даже 32 МБ кэш-памяти могут занимать довольно много места на процессоре, а общая площадь современных чипов ограничена примерно 600 мм2, что необходимо использовать с умом. Это означает, что выделение большего пространства для кэширования может стать довольно дорогим, и эта ситуация на самом деле ухудшается, а не улучшается. Последние производственные процессы приводят к все меньшим и меньшим улучшениям плотности кэш-памяти, а TSMC вообще не удалось уменьшить размер кэш-памяти в первой итерации своего 3-нм процесса.

    Уровни кэша и иерархия памяти

    Иерархия памяти типичного процессора.

    Источник: Карлос Карвалью

    Изобретение кэша означало, что для всех устройств хранения данных в компьютере появился новый слой. Эти уровни образуют так называемую иерархию памяти, которую вы можете видеть на изображении выше, и в ней подробно описывается, какая память и где находится в типичной системе внутри ЦП (хотя другие типы процессоров будут выглядеть очень похоже). Сегодня современная иерархия памяти включает не только кеш, ОЗУ и устройства постоянного хранения, но и иерархию памяти внутри самого кеша.

    Большинство процессоров имеют разные уровни кэш-памяти для различных целей. Первый и наименьший уровень кэш-памяти — это L1, которому выделяются отдельные ядра для обработки данных, которые необходимы немедленно. Кэш L1 часто измеряется в килобайтах: последние процессоры Ryzen 7000 имеют 64 КБ кэша L1 на ядро. Кроме того, современный кэш L1 часто делится на L1I (для инструкций) и L1D (для данных).

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

    Рендер мобильного графического процессора RX 7000.

    Следующим шагом является L3, который обычно используется всеми ядрами чипа. Его размер может варьироваться от в несколько раз больше, чем кэш L2, до более чем на порядок больше, в зависимости от процессора. Это означает, что он даже медленнее, чем кэш L2, но все же превосходит оперативную память. Кроме того, кеш L3 также часто действует как «кеш жертвы», куда попадают данные, вытесненные из кешей L1 и L2. Он может быть удален из кеша L3, если он не нужен. Сегодня кэш L3 особенно важен для AMD из-за технологии чипсетов. Чипы Ryzen 3D V-Cache содержат 64 МБ кэш-памяти L3, а матрицы кэш-памяти RX 7000 (или MCD) содержат по 16 МБ кэш-памяти L3 каждая.

    Самый высокий уровень кэш-памяти, наблюдаемый на большинстве процессоров, — это L4, который часто настолько велик, что фактически является оперативной памятью. На самом деле последними процессорами, использующими кэш-память L4, являются чипы Intel Sapphire Rapids Xeon, которые используют HBM2 в качестве кэш-памяти L4 на топовых моделях. AMD, с другой стороны, никогда не использовала кэш-память L4 и вместо этого довольствуется увеличением своей кэш-памяти L3 до высокой емкости, добавляя больше процессоров и микросхем V-Cache. Кэш-память L4 обычно приносит больше пользы интегрированным графическим процессорам, поскольку это встроенное решение, которое может обмениваться данными между ЦП и интегрированным графическим процессором.

    В некоторых чипсетах, в первую очередь мобильных, есть еще один тип кэша: кэш системного уровня (SLC). Затем этот кеш используется во всем наборе микросхем, например, в графическом процессоре, NPU и ЦП. Кэш может заменить потребность в запросах к основной памяти, поэтому SLC приносит пользу всей SoC.

    Кэш необходим, но сам по себе не повышает производительность.

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

    При этом возможность добавления большого объема кеша может быть желательной в определенных ситуациях. Например, процессоры с большим объемом кеша лучше работают в играх. Процессоры AMD Ryzen с 3D V-Cache довольно быстры для игр, несмотря на более низкую частоту, чем чипы без V-Cache, а процессоры Intel 13-го поколения значительно быстрее, чем чипы 12-го поколения, с единственным существенным улучшением — это увеличенный кэш.

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

    [ad_2]

    Предыдущая статьяПрезентация PlayStation анонсирована на следующую неделю
    Следующая статьяEmbark Studios добавляет PvP в Arc Raiders
    Петр Григорин
    Интересуется софтом, разработкой и использование новых приложений, технология искусственного интеллекта. Этот писатель - человек с техническими знаниями, который увлечен разработкой программного обеспечения и использованием новых приложений. Его особенно интересуют технологии искусственного интеллекта и то, как они могут быть использованы для улучшения различных отраслей промышленности и повседневной жизни. Обладая прочной основой в области информатики и острым взглядом на инновации, этот писатель обязательно привнесет ценные идеи и соображения в любую дискуссию на эти темы. Пишет ли он о последних открытиях в области ИИ или исследует потенциал новых программных инструментов, его работа обязательно будет увлекательной и заставляющей задуматься.