Назначение кэша в процессоре

кэш
Новичкам Продвинутым
Автор: Александр Мойсеенко 21.02.2018

В этом году на рынке появятся первые «процессоры» с кэшем 3-го уровня – L3, что улучшит производительность мобильных устройств. Поэтому нам предстоит разобраться, для чего используется кэш память и как влияет на производительность смартфона/планшета на Android OS.

Понятие и месторасположение кэш-памяти

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

Такой тип памяти состоит из транзисторов и располагается с процессором на одном кристалле. Благодаря чему время доступа к информации короче, чем при обращении к другим типам памяти. При этом занимаемая площадь транзисторной группы больше, в сравнении с конденсаторной оперативной памяти, что накладывает ограничение на объем. Поэтому кэш-память текущих SoC, начинается с 4-16 кБ и не превышает 1-2 МБ.

Уровни кэша

Текущие мобильные платформы оснащены двумя уровнями кэша – L1 и L2. Некоторые конфигурации, чаще Qualcomm Snapdragon, содержат кэш нулевого уровня – L0. Для наглядности рассмотрим уровни и объем кэша, трех систем на кристалле:

  • Snapdragon 801 MSM8974AC: L0 – 4+4 кБ, L1 – 16+16 кБ, L2 – 2048 кБ (2 МБ).
  • Snapdragon 820 MSM8996: L1 – 32+32 кБ, L2 – 1536 кБ (1.5 МБ).
  • MediaTek MT6750T: L1 – 32+32 кБ, L2 – 512 кБ (0.5 МБ).

Стоит отметить, кэш L0 и L1, в равной мере распределен между процессорными ядрами. Кэш L2 общий для общей группы ядер.

кэш 2

Назначение и принцип работы кэша

В мобильной платформе, кэш выполняет задачу буфера, куда загружается и извлекается часто используемая информация. Это инструкции или копии данных из основной памяти, закачанные общим пакетом. Поэтому при обращении процессора к памяти, сначала осуществляется проверка в кэше с наименьшим индексом. Если данные отсутствуют, процессор проверяет информацию в следующей области кэша, далее в оперативной памяти и на внутреннем накопителе. А поскольку скорость доступа к каждому последующему разделу памяти ниже, возникают задержки. Так же пока требуемые данные не будут найдены, процессор простаивает.

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

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

Влияние кэша L3 и требуемый объем

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

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

Вывод

Внедрение кэша L3 кажется не столь значительным событием, так как это только 1 или 2 МБ дополнительной памяти. В случае с настольными процессорами, прирост производительности с кэшем L3 в среднем достигает 15-20%. Насколько вырастет скорость работы Android смартфонов, узнаем в этом году, с появлением первых чипов с кэшем L3. Стоит отметить, что iPhone 8 с кэшем 3-го уровня, в бенчмарке GeekBench демонстрирует двукратный прирост в одноядерном тесте и до 40% в многоядерном.

# Теги:
Комментарии пользователей

Нет комментариев