Эта диаграмма наглядно показывает, как информация перемещается из хранилища в оперативную память, а оттуда в процессор, например, кэш L3-L2-L1. Процесс обмена данными повторяется.
Кэш-память процессора
Кэш играет важную роль. Без него высокая тактовая частота процессора была бы бесполезна. Кэш позволяет использовать самую «медленную» оперативную память компьютера без существенного снижения производительности.
Прочитайте эту статью, чтобы узнать, что такое кэш процессора, как работает кэш процессора и как кэш процессора влияет на производительность компьютера.
Статья.
Что такое кэш-память процессора
Чтобы решить задачу, процессор компьютера получает необходимые ему блоки информации из основной памяти. После их обработки он записывает результаты вычислений в память и получает следующий блок для обработки. Это продолжается до тех пор, пока работа не будет завершена.
Все вышеперечисленные функции выполняются на очень высокой скорости. Однако даже самая быстрая оперативная память медленнее любого «свободного» процессора. Чтение и запись занимают много времени. В среднем скорость работы оперативной памяти в 16-17 раз ниже, чем скорость работы процессора.
Несмотря на этот дисбаланс, процессор никогда не простаивает и не ждет каждый раз, когда оперативная память «отдает» или «получает» данные. В большинстве случаев он работает на максимальной скорости. И все это благодаря кэш-памяти.
Кэш процессора — это небольшая, но очень быстрая память. Он интегрирован в процессор и действует как буферное пространство для компенсации прерываний данных в самой медленной оперативной памяти. Кэш часто называют супер ОЗУ.
Кэши существуют не только для того, чтобы компенсировать дисбаланс скорости. Процессоры обрабатывают данные меньшими фрагментами, чем данные, хранящиеся в оперативной памяти. Поэтому кэш также действует как «переупаковка» и временное место для хранения информации, прежде чем информация будет отправлена в центральный процессор, а результаты обработки возвращены в оперативную память.
Когда поступает запрос на предоставление данных ядру, контроллер памяти сначала извлекает данные в кэш первого уровня, затем в кэш второго и третьего уровней.
Статистика показывает, что кэш первого уровня в современных процессорах обеспечивает до 90% обращений к кэшу. Уровни 2 и 3 составляют еще 90% от того, что осталось. Кроме того, только около 1% всех запросов процессора приводят к сбою кэша.
Приведенные выше данные иллюстрируют простую задачу. При увеличении нагрузки на процессор количество отказов кэша увеличивается.
Эффективность кэш-памяти процессора минимизирует влияние скорости памяти на производительность системы. Например, компьютеры одинаково хорошо работают с оперативной памятью 1066 МГц и 2400 МГц. При прочих равных условиях разница в производительности для большинства приложений не превысит 5%.
Наиболее распространенные вопросы, которые задают пользователи, пытаясь оценить производительность кэша, следующие.
Существует ли лучшая структура кэша? Два или три шага?
Трехуровневые кэши более эффективны.
Чтобы определить влияние L3 на производительность процессора, компания Tom’sHardware провела эксперимент. Эксперимент заключался в измерении производительности процессоров AthlonIIX4 и PhenomIIX4. Ядра обоих процессоров идентичны. Первый отличается от второго только тем, что у него нет кэша L3 и более низкая тактовая частота.
Мы обнаружили, что наличие кэша L3 повышает производительность процессора Phenom на 5,8%, когда частота обоих процессоров установлена на одинаковый процент. Однако это средний показатель. Для некоторых приложений (офисные программы) он был практически нулевым, а для других (3D-видеоигры, архиваторы и т.д.) — более 8%.
Как размер кэш-памяти влияет на производительность процессора?
При оценке объема кэш-памяти необходимо учитывать характеристики процессора и круг решаемых им задач.
Двухъядерные процессоры редко имеют кэш-память больше 3 МБ. Особенно если их тактовая частота ниже 3 ГГц. Производители прекрасно понимают, что дальнейшее увеличение объема кэша в этих процессорах не приведет к повышению производительности, но значительно увеличит затраты.
Высокочастотные 4-, 6- и даже 8-ядерные процессоры — еще одна проблема. Некоторые из них (например, Intel Core i7) поддерживают технологию гиперпоточности, которая позволяет запускать две задачи одновременно от каждого ядра. Конечно, невозможно использовать возможности этих процессоров с небольшим кэшем. Поэтому увеличение размера кэша до 15 или 20 МБ является оправданным.
Процессоры Intel используют так называемый инклюзивный алгоритм заполнения кэша, когда все или часть содержимого кэша верхнего уровня (L1, L2) копируется в кэш нижнего уровня (L3). Это в некоторой степени уменьшает эффективный объем этого пространства. С другой стороны, комплексная система положительно влияет на взаимодействие процессорных ядер.
Некоторые модели серверных процессоров IntelXeon имеют объем внутреннего кэша 37,5 МБ.
В целом, эксперименты показывают, что для среднего «домашнего» процессора влияние размера кэша на производительность находится в пределах 10%, и это влияние может быть нивелировано, например, высокой частотой.
Эффект от большого кэша наиболее заметен при использовании архиваторов, 3D-игр и кодировании видео. Для «нетяжелых» приложений разница, как правило, равна нулю (например, офисные программы, просмотр Интернета, работа с фотографиями, воспроизведение музыки).
Некоторые из самых больших чипов памяти DDR4, разработанных компанией Micron, хранят 32 ГБ или 4 ГБ данных. На больших жестких дисках хранится в 4 000 раз больше данных.
Влияние кэша на обработку данных
Оперативная память передает информацию с диска на процессор и наоборот, но даже очень высокопроизводительная оперативная память не может достичь такой скорости передачи данных, чтобы процессор не простаивал. Чтобы минимизировать время ожидания процессора для получения запрашиваемой информации, в сам процессорный блок добавляется быстрая или высокопроизводительная память, называемая кэш-памятью. В этой статье описывается его дизайн, цель и влияние.
Кэш состоит из двух частей: контроллера и памяти. Память проста. В нем хранится информация, необходимая для вычислений, и результаты обработки информации. Контроллер действует как обработчик запросов, извлекая запрашиваемые данные из кэша, выполняя вычисления, отправляя и получая данные в и из оперативной памяти.
Кэш-память процессора разделена на несколько уровней, от L1 до L3. Некоторые модели включают уровень L4, но уровень 4, используемый в таких процессорах, как Corei7-5775C и Corei5-5675C, был отвергнут из-за его высокой розничной цены.
- L1 — это первый уровень кэша с наименьшим размером в несколько сотен килобайт и самой высокой скоростью, позволяющий извлекать информацию сразу после применения. Каждое ядро имеет свою собственную систему L1. Информация, хранящаяся в кэше первого уровня, необходима или часто запрашивается для вычислений процессора.
- L2 — это кэш второго уровня, размер которого немного больше и может достигать двух мегабайт, но он не такой быстрый. В нем хранятся временно важные данные с низким приоритетом вычислений. Как и в случае с L1, каждое ядро имеет свою собственную независимую систему памяти L2.
- L3 — это третий уровень кэша, самый большой по размеру, достигающий более 10 мегабайт, но более медленный. Он содержит данные, вероятность появления которых относительно мала, а третий уровень является общим для всех ядер, что улучшает взаимодействие между ними.
Общий принцип заключается в том, что процессор просит аудитора восстановить некоторые данные из памяти. Контроллер осуществляет последовательный доступ к слоям в соответствии со сложным алгоритмом. То есть, он обращается к L1-L3 и ищет нужную информацию. Алгоритм контроллера должен фактически предоставить информацию, которая нужна процессору для дальнейших вычислений. Если в L1 нет данных, то выполняется поиск в L2, а затем в L3, создавая соответствующую задержку, поскольку процессор ожидает требуемую информацию. Только если запрашиваемых данных нет в кэше, они перемещаются в оперативную память, и процессор становится очень неактивным. Связь между уровнями кэша не превышает 10 наносекунд, даже при поиске на последнем уровне L3.
В общем, сеанс связи между кэш-памятью и ее контроллером по отношению к центральному процессору и оперативной памяти может быть выражен следующим образом
Как видите, на уровне между процессором и оперативной памятью находится кэш, представленный контроллером и ячейками памяти. Восстановление информации из ячеек происходит гораздо быстрее, чем «долгий путь» к оперативной памяти.
Влияние кэша
Строго говоря, кэш в процессорах не требуется. Однако пользователи сталкивались с длительными периодами ожидания передачи оперативной памяти процессору для получения необходимых данных, а также для каждого раздела операции. Каждый период ожидания начинался в секундах и заканчивался в минутах. Таким образом, кэш процессора значительно уменьшает задержки, что в основном влияет на комфорт пользователя при работе с компьютером.
В целом, кэш, по-видимому, влияет на производительность CPR, поскольку нет необходимости искать одни и те же данные в основной памяти и хранить их рядом с CPR. В этом случае процессору не нужно постоянно обновлять информацию об одном и том же типе вычислений и делать это как можно быстрее. В данном случае разница между 1066 МГц и 2400 МГц составляет не 2,25 раза, а в пределах 5% при передаче информации между CPU и RAM, поэтому CPU обуславливается независимо от частоты RAM.
Как узнать объем кэш-памяти вашего процессора
Если вы хотите купить процессор, вам следует искать цену на уровне кэша на официальном сайте производителя.
-
Пример отображения технических характеристик на сайте AMD.
Если вы хотите узнать, сколько кэш-памяти имеет ваш процессор, вам нужно использовать необходимое значение в системе ‘Диспетчер задач’ (вкладка ‘Производительность’).