Как узнать кэш память процессора
В 80-е годы прошлого века скорость работы микропроцессоров возрастала экспоненциально с ростом скорости доступа к памяти. Очень быстро стало очевидно, что необходимо что-то предпринять чтобы повысить скорость доступа к памяти и таким образом увеличить эффективность работы всей системы. Такое несоответствие между скоростью обработки и скоростью памяти привели к развитию кэша в процессоре.
Что такое кэш
Изобретение кэша было одним из важнейших событий в истории информатики. Но что такое кэш и как именно он работает?
Если говорить простым языком, то кэш – это очень быстрый тип памяти, отличающийся небольшим объемом. Он содержит инструкции, которые скорее всего понадобятся компьютеру при выполнении определенной задачи. Компьютер загружает эту информацию в кэш, используя сложные алгоритмы и принципы работы программного кода. Цель системы кэша компьютера состоит в том, чтобы обеспечить беспрепятственный доступ ЦПУ к нужным для него данным в том порядке, в котором они ему необходимы.
Чтобы понять, как это все работает, вам необходимо знать, что компьютеры содержат три типа памяти. Во-первых, основная память для длительного хранения к которой относятся жесткие диски и SSD накопители. Она имеет самый большой объем из всех, но также и самая медленная. Во-вторых, это оперативная память или ОЗУ. Она значительно быстрее, но не имеет более скромный объем. И наконец специальный тип памяти, которых располагается в самом процессоре называется кэш. Кэша память самая быстрая из всех типов памяти.
Когда вы запускаете программу она начинает выполнять серию инструкций, записанных в ее коде. Эта информация сначала загружается в ОЗУ, а затем перемещается в центральный процессор. Чтобы наилучшим образом использовать данные для выполнения инструкций, ЦПУ требуется высокоскоростная память. Вот тут и появляется необходимость в кэше.
1. Командная строка
Это самый простой способ потому что вам не нужно ничего устанавливать. Нажмите сочетание клавиш Win+R и в открывшемся окне наберите cmd. Затем нажмите Enter. В открывшейся командной строке выполните такую команду:
wmic cpu get L2CacheSize, L3CacheSize
Утилита отобразит общий размер кэша L2 и L3 для всех ядер в килобайтах. Чтобы получить более подробные данные, вам понадобится другая программа. Если вам нужно только цифровое значение, например, для скрипта, то его можно отфильтровать с помощью утилиты findstr:
wmic cpu get L3CacheSize | findstr /r "81"
Но здесь можно посмотреть только объем кэша L2 и L3. Об кэше L1 у этой команды информации нет.
Как кэш влияет на производительность?
Влияние кэша на произвоидтельность компьютера напрямую зависит от его эффективности и количества попаданий в кэш. Ситуации, когда данных в кэше не оказывается очень сильно снижают общую производительность.
Представьте, что процессор загружает данные из кэша 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 такой проблемы нет.
Можно сделать вывод, чем больше объем кэша, тем выше производительность, поскольку процессор сможет получить в большем количестве случаев нужные ему данные быстрее. Однако, стоит обращать внимание не только на объем кэша процессора, но и на его архитектуру.
Уровни кэша процессора — L1, L2 и L3
Веся кэш память процессора разделена на три уровни: L1, L2 и L3. Эта иерархия тоже основана на скорости работы кэша, а также на его объеме.
- L1 Cache (кэш первого уровня) — это максимально быстрый тип кэша в процессоре. С точки зрения приоритета доступа, этот кэш содержит те данные, которые могут понадобиться программе для выполнения определенной инструкции;
- L2 Cache (кэш второго уровня процессора) — медленнее, по сравнению L1, но больше по размеру. Его объем может быть от 256 килобайт до восьми мегабайт. Кэш L2 содержит данные, которые, возможно, понадобятся процессору в будущем. В большинстве современных процессоров кэш L1 и L2 присутствуют на самих ядрах процессора, причём каждое ядро получает свой собственный кэш;
- L3 Cache (кэш третьего уровня) — это самый большой и самый медленный кэш. Его размер может быть в районе от 4 до 50 мегабайт. В современных CPU на кристалле выделяется отдельное место под кэш L3.
На данный момент это все уровни кэша процессора, компания Intel пыталась создать кэш уровня L4, однако, пока эта технология не прижилась.
Как работает кэш процессора?
Как вы, возможно, уже знаете, программа — это набор инструкций, которые выполняет процессор. Когда вы запускаете программу, компьютеру надо перенести эти инструкции из постоянной памяти в процессору. И здесь вступает в силу иерархия памяти. Сначала данные загружаются в оперативную память, а потом передаются в процессор.
В наши дни процессор может обрабатывать огромное количество инструкций в секунду. Чтобы по максимуму использовать свои возможности, процессору необходима супер быстрая память. Поэтому был разработан кэш.
Контроллер памяти процессора выполняет работу по получению данных из ОЗУ и отправке их в кэш. В зависимости от процессора, используемого в вашей системе, этот контроллер может быть размещен в северном мосту материнской плате или в самом процессоре. Также кэш хранит результаты выполнения инструкций в процессоре. Кроме того, в самом кэше процессора тоже есть своя иерархия.
Что такое кэш процессора?
Если говорить простыми словами, то кэш процессора это просто очень быстрая память. Как вы уже знаете, у компьютера есть несколько видов памяти. Это постоянная память, которая используется для хранения данных, операционной системы и программ, например, SSD или жесткий диск. Также в компьютере используется оперативная память. Это память со случайным доступом, которая работает намного быстрее, по сравнению с постоянной. И наконец у процессора есть ещё более быстрые блоки памяти, которые вместе называются кэшем.
Если представить память компьютера в виде иерархии по её скорости, кэш будет на вершине этой иерархии. К тому же он ближе всего к вычислительным ядрам, так как является частью процессора.
Кэш память процессора представляет из себя статическую память (SRAM) и предназначен для ускорения работы с ОЗУ. В отличие от динамической оперативной памяти (DRAM), здесь можно хранить данные без постоянного обновления.
Для чего нужен кэш в процессоре?
Пришло время ответить на главный вопрос этой статьи, на что влияет кэш процессора? Данные поступают из ОЗУ в кэш L3, затем в L2, а потом в L1. Когда процессору нужны данные для выполнения операции, он пытается их найти в кэше L1 и если находит, то такая ситуация называется попаданием в кэш. В противном случае поиск продолжается в кэше L2 и L3. Если и теперь данные найти не удалось, выполняется запрос к оперативной памяти.
Теперь мы знаем, что кэш разработан для ускорения передачи информации между оперативной памятью и процессором. Время, необходимое для того чтобы получить данные из памяти называется задержкой (Latency). Кэш L1 имеет самую низкую задержку, поэтому он самый быстрый, кэш L3 — самую высокую. Когда данных в кэше нет, мы сталкиваемся с еще более высокой задержкой, так как процессору надо обращаться к памяти.
Раньше, в конструкции процессоров кєши L2 и L3 были были вынесены за пределы процессора, что приводило к высоким задержкам. Однако уменьшение техпроцесса, по которому изготавливаются процессоры позволяет разместить миллиарды транизисторов в пространстве, намного меньшем, чем раньше. Как результат, освободилось место, чтобы разместить кэш как можно ближе к ядрам, что ещё больше уменьшает задержку.
3. Кэш память в CPU-Z
На главной странице программы вы можете видеть информацию по кэшу в разделе Cache:
Здесь выводится размер одного блока кэша и количество таких блоков. Например, у моего процессора по одному блоку на каждое ядро кэша L1 и L2, а кэш L3 разделен на два блока, которыми пользуются все ядра. Более подробную информацию о состоянии кэша вы можете посмотреть в на вкладке Caches:
Здесь отображается то же самое, а также сведения об архитектуре кэша и о том в сколько потоков может работать эта память.
Что такое кэш процессора и зачем он нужен?
Кэш процессора — это самая быстрая память компьютера и самая верхняя по иерархии. Она расположена на кристалле самого процессора и используется для ускорения его работы.
Здесь все очень просто. Процессор в основном работает с цифровыми данными, хранящимися в оперативной памяти, скорость работы которой значительно ниже (то есть если бы процессор работал напрямую с оперативной памятью, то б о льшую часть рабочего времени он бы просто бездействовал), поэтому для сокращения задержек в работе используется посредник - кэш-память (ее скорость работы выше, чем у оперативной памяти).
Но, не нужно забывать, что скорость кэш-памяти процессора также зависит и от объема микросхемы. И в данном случае принцип чем больше, тем лучше не работает. Тут наоборот, чем объемнее микросхема, тем сложнее обеспечить высокую скорость ее работы. Поэтому разработчики изобрели технологию нескольких уровней.
В современных процессорах используется трехуровневая система кэш-памяти:
- Первого уровня(L1) – самая маленькая, но зато самая шустрая микросхема (всего нескольких десятков килобайт). Это позволило свести к минимуму возникновение задержек доступа к информации. В ней содержатся данные, которые чаще всего используются процессором. Обычно количество микросхем памяти равно количеству ядер процессора, так как каждое ядро использует в своей работе только одну микросхему.
- Второго уровня (L2) – скорость ее работы чуть медленнее первой, но зато общий объем памяти увеличился в 10 раз (около несколько сотен килобайт). Используется процессором для временного хранения важной информации, но отложенной на второй план.
- Третьего уровня(L3) – еще более объемная (несколько десятков мегабайт), но и более медленная микросхема. Но, несмотря на это, она все равно работает быстрее оперативной памяти. Кэш-память третьего уровня является общедоступной для всех ядер процессора и обеспечивает взаимосвязь ядер между собой.
Большой объем кэш-памяти незаменим при работе архиваторов, в играх реалистичной графикой, во время обработки и кодирования видео. Если вы в основном работе на компьютере с офисными пакетами программ, то разница в работе будет незаметна. Поэтому в данном случае можно смело брать процессор с двумя уровнями кэш-памяти.
Как узнать объем кэша процессора?
Надеюсь, что вы темой заинтересовались и вам уже интересно узнать какой объем кэша у вашего процессора. Сейчас об этом мы с вами и поговорим.
Хеллоу ребята Поговорим о процессоре, а если быть точнее то о его кэше. Кэш у процессора может быть разный, например у меня сейчас Pentium G3220 (1150 сокет), это современный проц и в нем 3 мб кэша. Но при этом у старой модели Pentium D965 (775 сокет) кэша 4 мб. Но при этом G3220 в несколько раз быстрее чем D965, это я к тому, что кэш это хорошо, но главное чтобы кэш был современный. Кэш-память у старых процов намного медленнее, чем у новых, учтите это.
Давайте поговорим о некоторых устройствах, от которых зависит быстродействие. Вот смотрите, возьмем жесткий диск, есть ли у него кэш? Да, есть, но он мал, хотя и немного влияет на производительность. Потом идет что? Потом идет оперативная память, все с чем работает программа или процессор, все это помещается в оперативку. Если нет данных в оперативке, то они считываются с жесткого диска, а это очень медленно. А вот оперативка уже очень быстрая, ее может быть достаточно много. Но оперативка быстрая по сравнению с жестким диском, для процессора она все таки не очень быстрая и поэтому у последнего есть еще свой кэш, который уже реактивно супер быстрый!
Кэш процессора на что влияет? Именно в этом кэше процессор хранит то, чем часто пользуется, ну то есть всякие там команды и инструкции. Соответственно чем его больше, тем лучше, но это не совсем так. Вот сколько у вас кэша? Если не знаете, то я еще покажу как это узнать, тут все просто. Ну так вот, смотрите какая интересная ситуация, опять вернемся к старым процам. Вроде бы если много кэша, то это хорошо. Но есть процессор Q9650 (775 сокет), у которого 12 мб кэша, но он и близко не дотягивает до современных моделей Core i5 а то и Core i3. В i5 кэша в да раза меньше, то есть просто 6 мб, а в i3 его еще меньше — всего 3 мб.
Я понимаю что вообще современные процы куда быстрее, чем старые. Но я не о том. Кеш кэшу рознь, в топовом Q9650 просто медленный кэш по сравнению с процами на современном сокете. Поэтому толку от тех 12 мб никакого нет. Это все я к тому, что не гонитесь за количеством, гонитесь за качеством. Ну вот так. Это все я вам написал на заметку, надеюсь что вам пригодится
Вот на этой картинке по простому указан принцип работы кэша:
А вот другая картинка, тут также указано еще одно устройство, это контроллер, который как раз говорит о том есть ли данные в кэша или нет:
Кэш-память супер быстрая. Я не настолько разбираюсь в процах, но самому было бы интересно узнать, вот если бы этого кэша было… 100 мб.. или даже 1 гб.. был бы процессор быстрее? Это конечно даже сейчас фантастика, но уже сейчас есть процы с огромным количеством кэша.. около 30 мб или больше.. Я не уверен в этом, но вроде бы эта кэш-память очень дорогая и ее вообще сложно засунуть в проц, я имею ввиду большой обьем
Ну а теперь давайте я покажу как узнать сколько кэша в процессоре. Если у вас Windows 10, то это отлично, ибо она умеет показывать все кэши, там ведь есть три уровня. Хотя вроде бы самый главный это третий уровень, он же и самый большой. Итак, смотрите, открываете диспетчер задач и идете в на вкладку Производительность и вот нам на вкладке ЦП вы можете увидеть инфу о кэше, вот она:
Вот тут видно, что у меня Pentium G3220, достаточно неплохой процессор, хоть и недорогой. Но реально быстрее многих моделей на 775 сокете, которые можно назвать околотоповые и которые имеют намного больше кэша… Вот такие дела…
Ну что, надеюсь что скачать вы ее сможете без проблем. Теперь запускаете и вот тут вам о процессоре все как на ладони. Вот я запустил CPU-Z и вот что она показала о моем Pentium G3220:
А вот например что касается топового Q9650, то там немного другая ситуация, хоть там и 12 мб кэша, но это по сути два блока по 6 мб и CPU-Z это определяет:
Тут кстати еще как видите есть разгон до 4 ГГц, это неплохо. Кстати такой разгон вполне может быть и на воздушном охлаждении. Но это уже совсем другая история…
Кстати еще что интересно, что в моделях на 775 сокете нет кэша третьего уровня L3… То есть там только L1 и L2. а я не знал…
Так что вот такие вот дела. Надеюсь что все написал понятно. Еще раз повторю, не гонитесь вы за количеством. Вот я не очень жалею, но тем не менее.. Короче взял я и собрал себе комп на 1150 сокете. Ну думаю, все ништяк. Но как мне стало немного обидно, когда я узнал, что сокет 1151 вышел вот и что он стоит также, а то и чуть дешевле.. Но там реально быстрее процы уже идут.. Ну ладно. Я просто брал комп на века, но зато я обрадовался что моя плата, а это Asus Gryphon Z87 поддерживает процессоры на ядре Devil’s Canyon! Вот это был подарок, ведь раньше Intel заявляла что эти процессоры будут поддерживаться только чипсетом Z97, а я взял то блин Z87!
Короче вот такие дела
На этом все ребята. Надеюсь все у вас будет нормуль и данная инфа была вам полезной, удачи
Как работает кэш?
Когда программа запускается на вашем компьютере, данные из ОЗУ поступают в кэш L3, затем в L2 и, наконец, в L1. Во время работы программы ЦП ищет информацию, необходимую для запуска, начиная с кэша L1 и оттуда продолжая поиск в обратном направлении. Если процессор находит необходимую информацию, то это называется кэш попаданием. Если ЦП не может найти необходимую ему информацию, то происходит кэш промах и процессору приходится искать информацию в другом месте.
Задержка является важным фактором эффективности компьютера. Задержка - это время, необходимое для извлечения части информации. Кэш L1 является самым быстрым, и поэтому имеет самую низкую задержку. Когда происходит потеря кэш промах, то задержка увеличивается поскольку процессор должен продолжить поиск в разных уровнях кэшах, чтобы найти нужную информацию.
Современные процессоры имеют очень маленькую площадь транзисторов, что позволило встроить подсистему кэш непосредственно в чип. Физическое размещение кэша ближе к процессору уменьшает задержку.
Хотя и большой объем кэша не всегда является залогом быстродействия процессора, вам все равно стоит знать, как он работает и обращать на него внимание.
Компьютерные процессоры сделали значительный рывок в развитии за последние несколько лет. Размер транзисторов с каждым годом уменьшается, а производительность растет. При этом закон Мура уже становится неактуальным. Что касается производительности процессоров, то следует учитывать, не только количество транзисторов и частоту, но и объем кэша.
Возможно, вы уже слышали о кэш памяти когда искали информацию о процессорах. Но, обычно, мы не обращаем много внимания на эти цифры, они даже не сильно выделяются в рекламе процессоров. Давайте разберемся на что влияет кэш процессора, какие виды кэша бывают и как все это работает.
Уровни кэша
Для дальнейшего рассмотрения принципов работы кэша нам сперва необходимо рассказать о различных уровнях кэша. В процессорах существует три отличных уровня кэша – L1, L2 и L3. Вместе с тем некоторые компании работают даже над кэшем L4.
Кэш первого уровня L1 самый маленький, но и самый быстрый из трех. Он содержит данные, которые процессору наиболее всего потребуется для выполнения операций. Объем L1 обычно составляет около 256 КБ, хотя некоторые увеличивают его до 1 МБ. Этот небольшой кэш имеет двойное назначение – он служит как кэшем инструкций, так и и кэшем данных. Кэш инструкций имеет дело с операциями, которые ЦПУ должен выполнять, а кэш данных содержит информацию, по которой должен выполняться процесс.
Далее кэш второго уровня L2. Он медленнее и имеет больший объем, чем L1 - от 256 КБ до 8 МБ. В кэш помещается информация, которая скорее всего потребуется для процессора следующей. И наконец самый большой и самый медленный уровень кэша – L3. Он может хранить любую информацию и его объем обычно составляет примерно от 4 до 50 Мб.
Выводы
Сегодня мы рассмотрели как узнать размер кэш памяти процессора. Также можно измерять эффективность работы кэша. Например для процессоров Intel можно использовать утилиту Intel VTune Performance Analyzer. Для всех процессоров можно использовать утилиту AIDA64.
Я думаю, что каждый из нас хотя бы раз в своей жизни, когда выбирал себе новый компьютер или отдельно процессор, обращал внимание на то, что есть такая техническая характеристика как кэш процессора.
Но мало кто из пользователей обращает внимание на эти показатели, так как считают это совсем ненужным или просто не знают зачем он нужен. Ну и зря. Сегодня в рамках данной статьи я и расскажу вам что такое кэш процесса, зачем он нужен и как посмотреть.
2. Диспетчер задач
Общий объем кэша можно посмотреть также в диспетчере задач Windows. Для этого нажмите сочетание клавиш Ctrl+Shift+Esc, а когда откроется окно диспетчера задач нажмите на кнопку Подробнее. Далее вам надо перейти на вкладку Производительность, а потом ЦП и здесь вы увидите общий объем кэша всех уровней. А именно размер кэша L2, L3 и L1:
Как посмотреть объем кэш памяти процессора
Выводы
Теперь вы знаете за что отвечает кэш процессора и как он работает. Дизайн кэша постоянно развивается, а память становится быстрее и дешевле. Компании AMD и Intel уже провели множество экспериментов с кэшем, а в Intel даже пытались использовать кэш уровня L4. Рынок процессоров развивается куда быстрее, чем когда-либо. Архитектура кэша будет идти в ногу с постоянно растущей мощностью процессоров.
Кроме того, многое делается для устранения узких мест, которые есть у современных компьютеров. Уменьшение задержки работы с памятью одна из самых важных частей этой работы. Будущее выглядит очень многообещающе.
Кэш процессора — это очень быстрая область памяти, которая находится на самом кристалле процессора и используется для того, чтобы ускорить работу процессора путем хранения результатов вычислений и данных, которые могут понадобится в будущих вычислениях. Читайте более подробно о том, что такое кэш процессора в этой статье.
Вам, наверное, интересно, какой объем кэша у вашего процессора, а также как он работает. Вы можете это узнать в интернете, посмотрев характеристики вашей модели процессора, но есть более простой путь. В этой статье вы найдете ответ на этот вопрос.
Что такое кэш
Изобретение кэша было одним из важнейших событий в истории информатики. Но что такое кэш и как именно он работает?
Если говорить простым языком, то кэш – это очень быстрый тип памяти, отличающийся небольшим объемом. Он содержит инструкции, которые скорее всего понадобятся компьютеру при выполнении определенной задачи. Компьютер загружает эту информацию в кэш, используя сложные алгоритмы и принципы работы программного кода. Цель системы кэша компьютера состоит в том, чтобы обеспечить беспрепятственный доступ ЦПУ к нужным для него данным в том порядке, в котором они ему необходимы.
Чтобы понять, как это все работает, вам необходимо знать, что компьютеры содержат три типа памяти. Во-первых, основная память для длительного хранения к которой относятся жесткие диски и SSD накопители. Она имеет самый большой объем из всех, но также и самая медленная. Во-вторых, это оперативная память или ОЗУ. Она значительно быстрее, но не имеет более скромный объем. И наконец специальный тип памяти, которых располагается в самом процессоре называется кэш. Кэша память самая быстрая из всех типов памяти.
Когда вы запускаете программу она начинает выполнять серию инструкций, записанных в ее коде. Эта информация сначала загружается в ОЗУ, а затем перемещается в центральный процессор. Чтобы наилучшим образом использовать данные для выполнения инструкций, ЦПУ требуется высокоскоростная память. Вот тут и появляется необходимость в кэше.
Читайте также: