Архитектура современного процессора с учётом использования кэш-памяти включает несколько уровней кэша, каждый из которых специализируется на своей задаче. 1
В большинстве процессоров каждое ядро оснащено двумя кэшами первого уровня: один предназначен для данных, а другой — для инструкций. 4 Кэш первого уровня зачастую имеет размер около 100 КБ, хотя это число может отличаться в зависимости от процессора. 4
Обычно на каждое ядро приходится по кэшу второго уровня, хотя в некоторых архитектурах процессоров кэш может быть разделён между двумя ядрами. 4 Размер этого кэша составляет уже несколько сотен килобайт. 4
Самым большим (несколько десятков мегабайт) является кэш третьего уровня, который делится сразу между всеми ядрами процессора. 4
Система процессорного кэша состоит из двух важных составляющих: 2
Когда процессор запрашивает данные из памяти, то он сначала проверяет, находятся ли эти данные в кэше первого уровня. 4 Если они там есть, то процессор получает доступ к ним всего за пару циклов. 4 Однако, если данных нет в кэше первого уровня, то процессор поищет их в кэше второго, а затем третьего уровня. 4 С каждым уровнем будет снижаться скорость и увеличиваться задержка. 4
Кэш-память предназначена для того, чтобы сглаживать разницу в скорости работы между процессором и ОЗУ, чтобы вычисления производились как можно быстрее. 2