Слайд 2
Назначение кэш памяти
Что же такое кэш-память или кэш (по
англ. cache memory, cache):
в широком смысле, подразумевается любая память
с быстрым доступом, где хранится часть данных с другого носителя с более медленным доступом;
в узком смысле — это сверхоперативный вид памяти, который используется для повышения скорости доступа микропроцессора к оперативной памяти.
Слайд 3
Уровни Кэша
Кэш память первого уровня (L1) - самый быстрый,
но по объему меньший, чем у остальных. С ним
напрямую работает ядро процессора. Кэш память 1-го уровня имеет наименьшую латентность (время доступа).
Кэш память второго уровня (L2) – объем этой памяти значительно больше, чем кэш память первого уровня.
Кэш память третьего уровня (L3) – кэш память с большим объемом и более медленный чем L2.
Слайд 4
Кэш-подсистема современных процессоров
Кэш подсистема процессоров P-II, P-III, P-4
и AMD Athlon представляет собой многоуровневую иерархию, состоящую из
следующих компонентов: кэша данных первого уровня, кэша команд первого уровня, общего кэша второго уровня, TLB-кэша страниц данных, TLB-кэша страниц кода, буфера упорядочивая записи и буферов записи
Слайд 5
Буфера записи
Для предотвращения задержки, возникающей при промахах записи,
современные процессоры активно используют различные приемы буферизации. Вместо того,
чтобы немедленно отправлять записываемые данные по месту назначения, процессор временно помещает их в специальный буфер, откуда, по мере освобождения шины и/или кэш-контроллера, они выгружаются в кэш первого (второго) уровня или в основную оперативную память.
Слайд 6
Блокируемая и неблокируемая кэш-память
Существует две основных разновидности сверхоперативной
памяти: блокируемая кэш-память и неблокируемая. Странно, но расшифровка этого термина во многих
популярных изданиях отсутствует (я, например, впервые обнаружил ее в технической документации по процессору AMD K5)
Слайд 7
Блокируемая Кэш Память
как и следует из ее названия,
блокирует доступ к кэшу после всякого кэш-промаха. Независимо от
того, присутствуют ли запрашиваемые данные в сверхоперативной памяти или нет, до тех пор, пока кэш-строка, вызвавшая промах, не будет целиком загружена (выгружена), кэш не сможет обрабатывать никаких других запросов
Слайд 8
Неблокируемая кэш-память
Неблокируемая кэш-память, напротив, позволяет работать с
кэшем параллельно с загрузкой (выгрузкой) кэш-строк. То есть, кэш-промахи
не препятствует кэш-попаданиям. И это - хорошо! Несмотря на то, что неблокируемая кэш-память имеет значительно большую аппаратную сложность (а, значит, и стоимость), в силу своей привлекательности, она широко используется в старших процессорах семейства x86, как впрочем и во многих других современных процессорах