Эффективность работы контроллера кэш памяти процессора определяется

Эффективность работы контроллера кэш памяти процессора определяется

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

Итак, насколько важна эта характеристика и как влияет на скорость вычислений?

Зачем нужна кэш память

В компьютере используется несколько типов памяти. Всем известны HDD/SSD для долгосрочного хранения информации и ОЗУ (RAM), которая при потере питания сбрасывает всё содержимое. Важное различие между ними — это скорость доступа к данным.

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

Процессоры давно способны выполнять такое количество команд в секунду, что их доставка из ОЗУ тормозит ход работы. Чтобы минимизировать эти задержки, задействуется сверхбыстрая кэш память и специальный контроллер внутри самого процессора. Контроллер по сложным алгоритмам предугадывает, какие данные в ближайшее время могут понадобиться и копирует их в кэш. Но на этом всё не заканчивается. Поступившие данные распределяются по уровням.

Уровни кэша: L1, L2 и L3

Кэш процессора разделен на три основных уровня: L1, L2 и L3. Отличаются они скоростью доступа и размером.

  • Кэш L1 (уровень 1) — это самая быстрая память которая присутствует в компьютере. С точки зрения приоритета, L1 содержит данные и команды, которые понадобятся в первую очередь. Размер обычно достигает 256 КБ, хотя некоторые топовые процессоры (типа Intel Xeon) могут иметь более 1 МБ.
  • Кэш L2 (уровень 2) медленнее, но больше по размеру. Объем в диапазоне от 256 КБ до 8 МБ. Содержит данные, которые также могут скоро потребоваться, но не уместились в L1. Память первых двух уровней встроена прямо в ядро процессора. То есть, у каждого ядра она своя.
  • Кэш L3 (уровень 3) — самая медленная из них, но и самая большая. Размер может достигать 62 МБ. Физически располагается внутри кристалла процессора, что позволяет обращаться к её содержимому намного быстрее, чем к ячейкам оперативной памяти.

Когда процессор ищет данные для выполнения операции, он последовательно начинает просматривать все уровни, начиная с 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 руб.

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

Читайте также:  Отличие нетбука от ноутбука и ультрабука

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

Точно так же из оперативки можно отобрать именно те данные, которые нужны ЦП для решения приоритетных задач. Именно их стоит разместить в непосредственной близости к процессору, и для этого в его микросхеме выделено специальное место – SRAM­­, обеспечивающее максимально высокую скорость считывания. Это и есть кэш память процессора.

Собственная память процессора

Только что мы отследили иерархию носителей информации с разным уровнем приоритетности: от HDD к ОЗУ, и далее к SRAM. Но внутри cash процессора существует свое разделение, выполненное по аналогичному принципу: более востребованные данные располагаются в секторе меньшего объема, но с большей скоростью считывания.

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

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

Первый способ – в интернете, по точному названию вашего процессора, которое отображается в свойствах «Моего компьютера».

Второй вариант – загрузить одну из полезных программ CPU-Z или AIDA64 и там среди прочей информации о ЦП вы найдете сведения об уровнях и размерах cash.

Кроме того, различают три вида кэша процессора, каждый из которых имеет определенную специализацию:

  • для обработки машинного кода – кэш инструкций;
  • для считывания и записи информации – кэш данных;
  • буфер ассоциативной трансляции (TLB) – для перевода логических адресов в физические (при работе с кодом и данными).

Схемы записи информации в кэш

Многоуровневая структура памяти процессора обуславливает принцип работы работы с кэшем. Но все-таки первым, к кому обращается ЦП, является реестр. Если нужной информации там не обнаружено, то в зону поиска включается L1.

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

  • сначала изучается содержимое L1, и, если обнаруживаются нужные данные, то это событие называется попаданием. Я полагаю, вы догадываетесь, что объем кэша на каждом из уровней позволяет хранить больше разной информации. И влияет на коэффициент попаданий, который в идеале должен быть на уровне 90%;

  • при отсутствии нужных тегов в L1 поиск продолжается в L2, далее, при неудачной попытке, в L3;
  • если и там не обнаружено данных с нужным тегом, то ЦПУ уже обращается к RAM. Последней «инстанцией», где можно найти всю используемую информацию, является жесткий диск.

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

Политика записи

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

  • При сквозной записи информация заносится в кэш всех ниже расположенных уровней. Например, если данные обнаружены по тегу в ОЗУ, то они заносятся в L3, L2 и L1. Подобная схема работы кэша является инклюзивной и обладает большей эффективностью. Но она целесообразна, если старший уровень памяти существенно превышает низший по объему.
  • Отложенная запись подразумевает сразу перенос нужных данных в L1. А уже если в этом кэше потребуется разместить более актуальную информацию. То они будут перемещены на уровень выше (в нашем случае в L2). Из кэша второго уровня, соответственно данные попадают в L3. Такая архитектура памяти называется эксклюзивной и применяется в случаях небольшой разницы в объемах кэша соседствующих уровней.

Алгоритмы замещения

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

  • Least Recently Used (LRU) – убирают то, что дольше всего было невостребованным;
  • Least Frequently Used (LFU) – замещают, информацию которую использовали реже остальной;
  • Most Recently Used (MRU) – вытесняют буфер, используемый последним;
  • Adaptive Replacement Cache (ARC) – совмещение LRU и LFU алгоритмов;
Читайте также:  Как запаролить галерею на андроиде

Польза от кэша процессора

Как видите кэш процессора это сложное устройство, усовершенствованием работы которого постоянно занимаются ведущие фирмы производители. Такое внимание уделяется ему не случайно. Ведь быстрая и емкая SRAM память дает возможность существенно повысить быстродействие системы. Особенно ярко проявляется это в случае, когда частота ОЗУ является слабым местом, не позволяющим работать современным процессорам в полную силу.

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

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

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

Что такое кэш процессора?

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

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

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

Как работает кэш процессора?

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

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

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

Уровни кэша процессора — L1, L2 и L3

Веся кэш память процессора разделена на три уровни: L1, L2 и L3. Эта иерархия тоже основана на скорости работы кэша, а также на его объеме.

  • L1 Cache (кэш первого уровня) — это максимально быстрый тип кэша в процессоре. С точки зрения приоритета доступа, этот кэш содержит те данные, которые могут понадобиться программе для выполнения определенной инструкции;
  • L2 Cache (кэш второго уровня процессора) — медленнее, по сравнению L1, но больше по размеру. Его объем может быть от 256 килобайт до восьми мегабайт. Кэш L2 содержит данные, которые, возможно, понадобятся процессору в будущем. В большинстве современных процессоров кэш L1 и L2 присутствуют на самих ядрах процессора, причём каждое ядро получает свой собственный кэш;
  • L3 Cache (кэш третьего уровня) — это самый большой и самый медленный кэш. Его размер может быть в районе от 4 до 50 мегабайт. В современных CPU на кристалле выделяется отдельное место под кэш L3.
Читайте также:  Блютуз модем андроид для чего нужен

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

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

Пришло время ответить на главный вопрос этой статьи, на что влияет кэш процессора? Данные поступают из ОЗУ в кэш L3, затем в L2, а потом в L1. Когда процессору нужны данные для выполнения операции, он пытается их найти в кэше L1 и если находит, то такая ситуация называется попаданием в кэш. В противном случае поиск продолжается в кэше L2 и L3. Если и теперь данные найти не удалось, выполняется запрос к оперативной памяти.

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

Раньше, в конструкции процессоров кєши L2 и L3 были были вынесены за пределы процессора, что приводило к высоким задержкам. Однако уменьшение техпроцесса, по которому изготавливаются процессоры позволяет разместить миллиарды транизисторов в пространстве, намного меньшем, чем раньше. Как результат, освободилось место, чтобы разместить кэш как можно ближе к ядрам, что ещё больше уменьшает задержку.

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

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

Представьте, что процессор загружает данные из кэша L1 100 раз подряд. Если процент попаданий в кэш будет 100%, процессору понадобиться 100 наносекунд чтобы получить эти данные. Однако, как только процент попаданий уменьшится до 99%, процессору нужно будет извлечь данные из кэша L2, а там уже задержка 10 наносекунд. Получится 99 наносекунд на 99 запросов и 10 наносекунд на 1 запрос. Поэтому уменьшение процента попаданий в кэш на 1% снижает производительность процессора 10%.

В реальном времени процент попаданий в кэш находится между 95 и 97%. Но как вы понимаете, разница в производительности между этими показателями не в 2%, а в 14%. Имейте в виду, что в примере, мы предполагаем, что прощенные данные всегда есть в кэше уровня L2, в реальной жизни данные могут быть удалены из кэша, это означает, что их придется получать из оперативной памяти, у которой задержка 80-120 наносекунд. Здесь разница между 95 и 97 процентами ещё более значительная.

Низкая производительность кэша в процессорах AMD Bulldozer и Piledriver была одной из основных причин, почему они проигрывали процессорам Intel. В этих процессорах кэш L1 разделялся между несколькими ядрами, что делало его очень не эффективным. В современных процессорах Ryzen такой проблемы нет.

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

Выводы

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Ссылка на основную публикацию
Что такое секретный режим
Режим инкогнито — приватный режим работы браузера, при работе в браузере не сохраняются данные о посещенных сайтах, поисковых запросах, другие...
Через какое время отключают сим карту мегафон
Часто можно слышать, что некоторые люди вместо одной сим-карты предпочитают пользоваться двумя или сразу несколькими. Это объясняется лояльной политикой компании...
Через прямую l провести плоскость перпендикулярно данной
Не будет преувеличением утверждать, что построение взаимно перпендикулярных прямых и плоскостей наряду с определением расстояния между двумя точками являются основными...
Что такое сенсорный экран на телефоне
Сначала тачскрины (сенсорные экраны) встречались достаточно редко. Их возможно было найти, только лишь в некоторых КПК, PDA (карманных компьютерах). Как...
Adblock detector