Кэш память или сверхоперативная память, встроенная в процессор, носит название процессорный кэш или кэш память процессора. В компьютерных технологиях кэш обозначает область высокоскоростной памяти, которая запоминает блоки данных, наиболее часто запрашиваемые при работе системы. Процессорный кэш хранит часто используемые данные и инструкции программ в таком месте, откуда они могут быть намного быстрее считаны, чем из основной оперативной памяти.
Динамическая память против статической памяти RAM
В случае отсутствия процессорного кэша, процессор вынужден слать запросы к основной памяти и ждать, когда блок данных будет считан через шину памяти. Обычно основная оперативная память состоит из медленных чипов RAM, известных как динамическая память. В тоже время процессорный кэш представляет собой небольшое количество статических блоков памяти RAM, расположенных на минимальном расстоянии от процессорного ядра. Хранение данных и инструкций программ в процессорном кэше сокращает процессорное время, которое затрачивается на ожидание информации и тем самым увеличивает производительность системы. Читайте также о том, как размер буфера влияет на качество потокового воспроизведения контента.
Кэш первого и второго уровня
Традиционно известно, что чем производительнее процессор, тем больше транзисторов в нем используется и тем больше получается площадь кристалла ядра. Для того, чтобы избежать взаимосвязи между габаритами процессора и его производительностью, в современных чипах используют два уровня процессорного кэша – первого и второго. Кэш первого уровня, известный также как кэш Level 1 или L1, является самым быстрым блоком памяти, но в тоже время занимает очень малую область всей памяти. Обычно его емкость составляет от 4 до 16 килобайт, а располагается он внутри процессорного ядра. Кэш второго уровня, имеющий название Level 2 или L2, является более емкой и медленной областью памяти. В среднем его емкость составляет от 32 килобайт до 1-4 мегабайт, но она интегрируется в чип за пределами основного процессорного ядра.
Архитектура
Если процессору понадобятся данные или программные инструкции, он первым дело обращается за ними к кэшу первого уровня L1. Если он в нем не может найти необходимую информацию, то повторяет поиск в кэш памяти второго уровня L2, что занимает больше времени. Если и в этот раз он не находит данные, то процессор вынужден перейти к поиску данных в основной оперативной памяти, которая существенно медленнее, чем кэш память процессора первого и второго уровней. Отметим, что некоторые принципы использования процессорного кэша были использованы при создании технологии ReadyBoost.
Прямая и отложенная запись в кэш память
В дополнение к делению кэш памяти на первый и второй уровень, существует два типа записи данных в них – прямой и отложенный. Отложенная запись дает инструкции процессору записать данные только в процессорный кэш, минуя основную оперативную память. Прямой способ записи (write-through) обеспечивает запись данных одновременно в кэш память процессора и в оперативную память системы. Первый способ отложенной записи избавляет от лишней нагрузки на оперативную память компьютера, хотя очень сложен в разработке и реализации. Это привело к тому, что второй тип прямой записи является более востребованным из-за своей дешевизны.