Что такое кэш?
Во всех
современных процессорах имеется кэш (по-английски - cache) - массив
сверхскоростной оперативной памяти, являющейся буфером между
контроллером сравнительно медленной системной памяти и процессором. В
этом буфере хранятся блоки данных, с которыми CPU работает в текущий
момент, благодаря чему существенно уменьшается количество обращений
процессора к чрезвычайно медленной (по сравнению со скоростью работы
процессора) системной памяти. Тем самым заметно увеличивается общая
производительность процессора.
При этом в
современных процессорах кэш давно не является единым массивом памяти,
как раньше, а разделен на несколько уровней. Наиболее быстрый, но
относительно небольшой по объему кэш первого уровня (обозначаемый как
L1), с которым работает ядро процессора, чаще всего делится на две
половины - кэш инструкций и кэш данных. С кэшем L1 взаимодействует кэш
второго уровня - L2, который, как правило, гораздо больше по объему и
является смешанным, без разделения на кэш команд и кэш данных.
Некоторые десктопные процессоры, по примеру серверных процессоров,
также порой обзаводятся кэшем третьего уровня L3. Кэш L3 обычно еще
больше по размеру, хотя и несколько медленнее, чем L2 (за счет того,
что шина между L2 и L3 более узкая, чем шина между L1 и L2), однако его
скорость, в любом случае, несоизмеримо выше, чем скорость системной
памяти.
Кэш бывает двух типов: эксклюзивный и
не эксклюзивный кэш. В первом случае информация в кэшах всех уровней
четко разграничена - в каждом из них содержится исключительно
оригинальная, тогда как в случае не эксклюзивного кэша информация может
дублироваться на всех уровнях кэширования. Сегодня трудно сказать,
какая из этих двух схем более правильная - и в той, и в другой имеются
как минусы, так и плюсы. Эксклюзивная схема кэширования используется в
процессорах AMD, тогда как не эксклюзивная - в процессорах Intel.
Источник: http://drcomp.su |