Для чего нужен кэш


На что влияет кэш процессора L1 L2 L3

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

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

Содержание статьи:

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

Если говорить простыми словами, то кэш процессора это просто очень быстрая память. Как вы уже знаете, у компьютера есть несколько видов памяти. Это постоянная память, которая используется для хранения данных, операционной системы и программ, например, 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.

te4h.ru

для чего используется и как изменить его размер

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

Для чего нужен кэш, и насколько целесообразно его увеличение?

Начнем с того, что есть несколько видов кэша. Системный кэш, как уже понятно, используется под нужд Windows, а кэш программ предназначен для корректного функционирования приложений. Чаще всего с понятием кэша пользователи сталкиваются при работе с интернет-браузерами. Но что это такое и для чего нужно? Кэш, вне зависимости от типа, является своеобразным хранилищем временных файлов, за счет использования которых увеличивается скорость загрузки программы или открытие тех же страниц в Интернете. То есть пользователь имеет дело с неким резервируемым на жестком диске пространством, которое используется операционной системой или отдельно взятым приложением. Как увеличить системный кэш или кэш программ, пока не рассматриваем. Для начала давайте определимся, стоит ли это вообще делать? С одной стороны, нет ничего плохого в том, чтобы зарезервировать для хранения временных файлов побольше места на диске. Так думает большинство рядовых пользователей. Но на самом деле кэш можно увеличивать только до определенной степени, поскольку установка слишком большого размера приведет к тому, что системе при выполнении какой-то операции придется перебрать слишком много объектов для загрузки, пока она найдет необходимый. Соответственно, и время запуска программ существенно снизится. Кроме того, следует обратить внимание, что кэш резервируется на жестком диске, а скорость обращения к нему может существенно снижаться, например при возникновении ошибок, фрагментации файлов и т. д.

Как увеличить системный кэш в Windows 7 или в другой системе?

Теперь перейдем непосредственно к изменению размера резервируемого пространства. Для начала рассмотрим системный кэш Windows 7.

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

Параметры файла подкачки

Иногда наряду с изменением размера кэша в сторону увеличения некоторые специалисты рекомендуют произвести дополнительные действия с так называемым файлом подкачки, который отвечает за работу и использование виртуальной памяти – такого же резервируемого объема на жестком диске, но используемого для выгрузки программных компонентов в случае нехватки оперативной памяти. Как и в случае с системным кэшем, нужно быть предельно осторожным. При малом объеме ОЗУ файл подкачки действительно можно немного увеличить, установив для него значение, которое в 1,5-2 раза превышает определяемое или рекомендуемое системой по умолчанию. Но и тут следует помнить, что при установке слишком большого объема можно добиться обратного эффекта, когда программы в приоритете будут производить обращение не к оперативной, а к виртуальной памяти. Повторимся: скорость доступа к винчестеру ниже, чем к планкам ОЗУ. Из-за этого мы получаем торможение программ при запуске или в процессе работы.

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

Параметры системного кэша в системном реестре

Параметры виртуальной памяти или кэша можно поменять и в системном реестре. Что касается стандартного автоматизированного увеличения системного кэша Windows 10, его лучше производить как раз именно в этом редакторе (regedit). Здесь нужно использовать ветку HKLM и через раздел SYSTEM и параметры текущего контроля перейти к папке MemoryManagement.

Здесь нас интересуют два параметра: DisablePagingExecutive и LargeSystemCache, которым могут быть присвоены значения либо нуля (отключение), либо единицы (включение). Первый ключ фактически дублирует отключение виртуальной памяти, а второй увеличивает системный кэш (система будет использовать не 8 Мб, установленных по умолчанию, а всю память, за исключением последних 4 Мб).

Настройки кэша в веб-обозревателях

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

Например, в старой версии «Оперы» опции выставляются в настройках истории. В новой модификации браузера следует использовать свойства ярлыка, а в пути к исполняемому файлу в поле типа объекта дописать сочетание —disk-cache-size=Объем и нужный размер кэша в килобайтах (например, для 1 Гб это будет 1073741824 Кб).

Очистка кэша

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

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

Источник: www.fb.ru

xn--b1afkiydfe.xn--p1ai

нужен ли процессорам четвёртый уровень кэширования / Habr

Разрыв между быстродействием процессоров в общем смысле и быстродействием основной памяти DRAM, также в общем смысле, был проблемой в последние 30 лет – в этот период разрыв начал по-настоящему расти. И стоит честно сказать, что инженеры, разрабатывавшие как оборудование, так и программы, создавшие иерархию кэшей и ПО, способное воспользоваться её преимуществами, поступили просто гениально. Это одна из труднейших в реализации архитектур, когда-либо задуманных человеком.

Однако теперь, когда мы находимся на пороге появления постоянно расширяющейся иерархии памяти, когда начинает появляться энергонезависимая память типа Optane 3D XPoint (вариант памяти с изменением фазового состояния) в формате DIMM и SSD, а также новые протоколы (CXL, OpenCAPI, CCIX, NVLink и Gen-Z), возникает вопрос: не пора ли добавить серверам кэш четвёртого уровня? Поскольку от комплекса CPU зависит работа такого количества устройств – некоторые из которых расположены ближе, другие же дальше – логично задуматься над тем, не нужен ли нам ещё один уровень кэша, маскирующий задержки этих других видов памяти и увеличивающий пропускную способность всей системы.

Чтобы представить открывающиеся возможности, мы покопались в своей собственной памяти, а заодно пообщались с разработчиками архитектуры чипов из IBM, Intel, AMD и Marvell, чтобы понять, что они думают об использовании кэша L4 в серверах. Кэш L4, конечно, не новое слово в быстродействии, однако он и не так уж часто встречается в системных архитектурах.

Однако прежде нам стоит пробежаться по истории вопроса.

Добавление кэша первого уровня к процессорам, у которых в то время было всего одно ядро, в 1980-х стало компромиссом, добавляющим задержки в подсистемы памяти, одновременно снижающим среднюю задержку запросов данных и инструкций процессорами. Кэши L1 изначально находились во внешней SRAM, находившейся на материнских платах и подключавшейся к комплексу CPU-память. Такой кэш L1 находился очень близко к процессору, как в смысле тактовой частоты, так и в смысле физического пространства на плате, и давал возможность повысить загрузку CPU. Потом эти кэши разделили, чтобы в одном блоке можно было хранить часто используемые данные, а во втором – популярные инструкции, и это немного увеличило быстродействие. В какой-то момент увеличения тактовой частоты процессоров и соответствующего разрыва в быстродействии CPU и DRAM, были добавлены более жирные, но и более медленные кэши L2 (зато более дешёвые в пересчёте на пропускную способность), опять-таки сначала находившиеся вне корпуса CPU, а потом интегрированные в него. А когда в CPU начали добавлять всё больше и больше ядер, а также всё больше контроллеров DRAM для их загрузки, к иерархии добавили ещё более крупные блоки кэшей L3.

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

Крис Джианос, инженер чипов и архитектор из Intel, руководившей разработкой многих прошлых поколений процессоров Xeon, объясняет это так: «С каждым уровнем кэша нам обычно нужно, чтобы они выросли достаточно сильно по сравнению с предыдущим уровнем, чтобы всё это имело смысл, поскольку чтобы достичь заметного прироста быстродействия системы, нужно достичь достаточно интересной частоты успешных обращений. Если вы „попадаете“ в кэшированные данные всего в нескольких процентах случаев, это будет сложно заметить. Всё остальное затормаживает ваше быстродействие, и этот прирост будет незаметным. Поэтому требуются относительно большие кэши, и когда речь идёт о более высоких уровнях, нужны реально огромные кэши. Сегодня L2 измеряются мегабайтами, L3 измеряются десятками или сотнями мегабайт. Так что понятно, что если вы начинаете думать о кэше L4, то речь пойдёт уже о сотнях мегабайт, если не о гигабайтах. А такой размер определённо приведёт к их высокой стоимости. Нужно, чтобы сложились определённые условия, чтобы этот вариант стал интересным, и дешёвым он определённо не будет».

Инженеры из компании AMD, с которыми мы беседовали, пожелали остаться неизвестными потому, что они не хотели создать впечатление, что компания собирается добавить кэш L4 в линейку процессоров Epyc – и, если быть точным, AMD ничего такого и не обещала. Однако компания всё же признаёт, что это следующий очевидный шаг для рассмотрения, и, точно так же, как Intel, считает, что все инженеры размышляют о реализации кэша L4. По сути, AMD говорит, что компромиссы, связанные с уровнями кэшей и задержками подробно изучены как в промышленности, так и в научных кругах, и что с каждым новым уровнем, который оказывается больше и медленнее предыдущего, возникает компромисс увеличения общего пути к DRAM. Об этом говорит и Джианос из Intel, рассказывая о необходимости поиска баланса между успешными запросами к КЭШу и его объёмом.

IBM, конечно, добавляла кэш L4 к некоторым своим чипсетам X86 в 2000-х, а в 2010-х добавила L4 к чипсетам NUMA (неравномерный доступ к памяти) на мейнфреймах System z11. У процессора z11 четыре ядра, 64 КБ L1 кэш для инструкций и 128 КБ L1 кэш для данных, плюс 1,5 МБ L2 кэш для каждого из ядер и 24 МБ L3 кэш общего доступа для всех ядер. У чипсета NUMA для z10 было два банка по 96 МБ L4 кэша, то есть, 192 МБ в сумме. Выпустив z12, IBM урезала размер кэша L1 до 98 КБ на ядро, однако увеличила L2 кэш до 2 МБ на ядро, разделив его при этом на две части, для инструкций и для данных, как в случае с L1. Также она удвоила размер кэша L3 до 48 МБ для шести ядер, а размер кэша L4 был увеличен до 384 МБ для пары чипов в чипсете. При смене поколений процессоров System z объёмы кэшей росли, и у процессоров z15, анонсированных в сентябре, пара кэшей L1 будет весить по 128 КБ, пара кэшей L2 – по 4 МБ, а общий кэш L3 будет для 12 ядер иметь объём 256 МБ. Объём кэша L4 в каждом отсеке мейнфрейма составляет 960 МБ, а его общий объём для всей системы, состоящей из пяти отсеков, равняется 4,68 ГБ.

Как мы уже указывали ранее, у процессоров Power8 и Power9 память буферизована, а IBM добавила 16 МБ L4 кэша к каждому буферу Centaur, что составляет 128 МБ L4 кэша на сокет для 32-х планок памяти. У самых дешёвых машин с Power9 нет буфера памяти, а, следовательно, и кэша L4. Архитекторы, разрабатывавшие схему Power10, были заняты разработкой схемы для Power11, и потому не смогли ответить на наши вопросы, но Уильям Старк, управлявший разработкой Power10, нашёл для нас немного времени, и заметил следующее:

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

Именно так мы и думали. И, кстати, мы не утверждаем, что кэш L4 обязательно будет находиться в непосредственной близости от буферизированной памяти будущего DDR5 DIMM. Возможно, его лучше расположить между PCI-Express и кэшем процессора L3, а ещё лучше, в буферах памяти и между PCI-Express и кэшем процессора L3. Возможно, его для этого придётся поместить наверху контроллера I/O и памяти в будущей серверной архитектуре, что немного напоминает технологию Foveros от Intel.

На это возможно взглянуть и с другой точки зрения – допустим, у IBM была возможность менять размеры кристалла, и инженеры решили добавить кэш L4 к шине System z NUMA или к чипу буферизации памяти Power8 и Power9 не ради его самого, а просто потому, что у них оставалась ещё возможность добавить транзисторов после того, как все необходимые функции были реализованы. Иногда нам кажется, что количество ядер в процессорах Intel X86 зависит от размера кэша L3, который они могут себе позволить. Иногда кажется, что Intel назначает максимальный размер кэша L3 на один кристалл, и после этого кристаллы Xeon трёх разных размеров просто изготавливают по этим спецификациям – в последних поколениях у них по 10, 18 или 28 ядер на техпроцессе в 14 нм.

Всё это, конечно, чисто академические вопросы, однако они дают нам возможную мотивацию для IBM и других производителей чипсетов на добавление кэша L4. Это не просто может помочь в каких-то случаях, это просто довольно очевидная вещь. Думаем, что на таком монстре I/O, как мейнфрейм System z, кэш L4 без вопросов находится на своём месте и приносит пользу всем клиентам, увеличивая пропускную способность этих машин и позволяя им работать на 98-99% загрузке процессора, поскольку как количество ядер, так и масштабы NUMA в мейнфреймах в последнее время сильно подросли.

Нет причин для того, чтобы делать кэш L4 исключительно на встроенной DRAM (как делает IBM со своими чипами) или на базе куда как более дорогой SRAM – об этом нам напоминает Рабин Сугумар, архитектор чипов из компаний Cray Research, Sun Microsystems, Oracle, Broadcom, Cavium и Marvell:

«Наши кэши L3 уже достаточно большие, — говорит Сугумар. – Так что L4 в интересующем вас случае нужно делать по другой технологии. Возможно, eDRAM или даже HBM или DRAM. В данном контексте интересным вариантом выглядит реализация кэша L4 на основе HBM, и этот кэш решает не столько проблему задержки, сколько пропускной способности. Поскольку ёмкость HBM ограничена, а пропускная способность велика, мы можем получить определённую прибавку к скорости – и в некоторых специальных случаях мы действительно видим значительное увеличение пропускной способности». Сугумар добавляет, что для довольно большого количества применений наблюдается относительно большое количество «промахов» кэша. Однако нужно подсчитать – будет ли добавление очередного уровня кэша стоить того.

Ещё один возможный вариант использования чего-то наподобие кэша L4, говорит Сугумар, это использовать локальную DRAM в качестве кэша. «У нас не ведётся никаких подобных исследований в лаборатории, но допустим, у нас на чипе есть интерфейс с высокой пропускной способностью, соединенный с общей распределённой памятью где-то на другом конце шлейфа, на расстоянии от 500 нс до 1 мкc. Тогда один из вариантов использования будет создать кэш, перемещающий эти данные из общей распределённой памяти в локальную DRAM. Можно представить работу конечного автомата, управляющего этой памятью, поэтому большую часть времени обращения будут идти к локальной DRAM, и вы сможете минимизировать количество обращений к общей распределённой DRAM».

Нам этот вариант кажется очень интересной разновидностью NUMA. Кстати, Сугумар работал над распределённой памятью для высокоскоростных параллельных систем в Sun Microsystems ещё до того, как появилась энергонезависимая память. И одна из проблем с этими различными вариантами иерархии памяти заключалась в том, что если одна из них потеряется из-за отказа сети или шины, то вся машина упадёт. «В системах с распределённой памятью приходится обрабатывать отказы сети более элегантно, и это порождает множество сложностей при проектировании».

Ещё один момент в том, что нам хочется, чтобы любой кэш высокого уровня, даже не L4, был реализован по максимуму при помощи железа и по минимуму при помощи софта. Ядрам операционок и другому ПО всегда нужно некоторое время, чтобы догнать железо, будь то добавление новых ядер, или кэшей L3 или L4, или адресуемой энергонезависимой памяти.

«В какой-то момент дополнительный уровень кэша станет неизбежностью, — говорит Джианос. – У нас появился первый уровень кэша, и в какой-то момент появился и второй. А потом мы, в конце концов, добавили третий. И когда-то у нас будет четвёртый. Вопрос только – когда и зачем. И мне кажется, что ваши наблюдения, касающиеся возможностей этого кэша, достаточно интересные. Но в Intel пока не решили, когда или зачем будут обнародовать такие вещи. Другие компании тоже изучают этот вопрос; было бы глупо не исследовать его. Рано или поздно это произойдёт, однако скоро это будет, или не очень – пока неясно».

habr.com

Что такое кэш? Для чего он нужен? Как почистить кэш?

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

Что такое кэш браузера

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

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

Каждый веб-мастер выставляет настройки своего ресурса сугубо индивидуально. Если веб-ресурс создан на таких платформах, как WordPress, Joomla, Drupal и им подобных, то кэширование будет доступно разработчику в виде плагинов.

При очистке кэша, оттуда удаляются все данные о ранее посещенных сайтах. Для чего это нужно?

Для чего чистят кэш

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

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

Как очистить кэш

Рассмотрим процедуру очищения кэша на примере популярных браузеров:

  • Internet Explorer. Браузер предлагает очистить кэш следующим образом. Находим пункт «Сервис» и выбираем «Удалить журнал обозревателя». У нас откроется окно, рядом с «Временные файлы Интернета», где нужно поставить галочку. После чего наживаем «Удалить».
  • Google Chrome. Решив очистить кэш в этом браузере, находим в меню пункт, который называется «Инструменты», где есть «Показать дополнительные настройки». Следующим этапом будет нажатие «Очистить историю». Здесь еще существует возможность выбора, что именно вы хотите удалить – «Изображения и файлы», «За весь период». Выбрав необходимый пункт, нажимаем «Очистить историю». Кэш удален.
  • Mozilla Firefox. Находим и открываем в меню этого браузера «Настройки», далее вкладку «Дополнительные». Там находим пункт «Сеть» и переходим по содержимому, отыскав «Кэшировать веб-содержимое». Рядом видим кнопку «Очистить сейчас», после нажатия, на которую наш кэш очиститься.
  • Опера. В разделе «Настройки» выбираем «Безопасность». Находим «Очистить историю посещений», где в разделе «Удалить следующие элементы, выбираем «С самого начала», где есть «Очистить историю», жмем найденную кнопку.
  • Яндекс. Браузер. Для очистки кэша этого браузера, выберите в открытом меню вкладку с названием «Инструменты», далее в «Удаление данных о просмотре страниц». Перед вами откроется список, где написано «Удалить указанные элементы». В данном списке следует выбрать «За все время». Поставив отметку возле «Очистить кэш». Чтобы очистить наш кэш, осталось кликнуть на «Очистить историю».

topkin.ru

Кэш, кеш, cash — память. Для чего нужна кэш память? Влияние размера и скорости кэша на производительность.

Кэш — память (кеш, cash, буфер — eng.) — применяется в цифровых устройствах, как высокоскоростной буфер обмена. Кэш память можно встретить на таких устройствах компьютера как жёсткие диски, процессоры, видеокарты, сетевые карты, приводы компакт дисков и многих других.

 

Принцип работы и архитектура кэша могут сильно отличаться.

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

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

Такая архитектура чаще всего встречается на жёстких дисках, SSD накопителях и центральных процессорах (CPU).

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

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

 

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

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

Общий кэш, также позволяет ядрам работать с ним напрямую, минуя медленную оперативную память.

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

 

Другие функции и особенности.

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

В CPU и GPU существует иерархия кэш памяти, которая позволяет разделять данные для отдельных ядер и общие. Хотя почти все данные из кэша второго уровня, всё равно копируются в третий, общий уровень, но не всегда. Первый уровень кеша — самый быстрый, а каждый последующий всё медленней, но больше по размеру.

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

 

Размер кэша, влияние на производительность и другие характеристики.

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

Большой кеш — это большой транзисторный бюджет. В серверных процессорах (CPU), кэш может использовать до 80% транзисторного бюджета. Во первых, это сказывается на конечной стоимости, а во вторых увеличивается энергопотребление и тепловыделение, которое не сопоставимо с увеличенной на несколько процентов производительностью.

www.xtechx.ru


Смотрите также



© 2010- GutenBlog.ru Карта сайта, XML.