Кэш ЦП является аппаратной структурой, используемой ЦП для сокращения среднего времени памяти доступа.

Кэширование выгодно, после того как некоторые элементы данных снова используются.


Кэширование является общей политикой
нацеленный на устранение задержки,
уже оплаченный следующий, повторяющийся передоступ к некоторым, которых уже посещают
но в других отношениях "дорогой" (медленное чтение) ресурс (устройство хранения данных)


Кэширование не делает доступа к памяти ускорения.

Максимум, которого может достигнуть профессиональный программист, состоит в том, чтобы обратить внимание, и осуществление в унисон хотят позволить некоторое маскирование задержки в параллельном режиме выполнения кода, с тщательно данные инструкции хорошо заранее перед приближением действительно используются данные оперативной памяти, так, чтобы управление кэшем могло выпустить часть LRU и выбрать запрошенные данные с упреждением от медленного DRAM.


Как это работает?

Оперативная память обычно создается с технологией DRAM, которая допускает большие, плотные и дешевые структуры устройства хранения данных. Но доступ DRAM намного медленнее, чем время цикла современного ЦП (так называемая стена памяти). Кэш ЦП является меньшей памятью, обычно создаваемой с технологией SRAM (дорогой, но быстро), который уменьшает сумму доступов к оперативной памяти путем хранения содержания оперативной памяти, на которое, вероятно, сошлются в ближайшем будущем. Кэши используют свойство программ: на принцип местности, что означает смежные адреса памяти, вероятно, сошлются близко вовремя (пространственная местность), и если на адрес сошлются однажды, то на это, более вероятно, сошлются снова скоро (временная местность). Latency pipeline for memory, disk, network, etc

Кэш ЦП отмечен с адресом, которые являются дополнительными ячейками SRAM. Эти ячейки тега указывают на определенный адрес, который содержит данные. Кэш ЦП никогда не может зеркально отражать всю системную память, таким образом, этот адрес должен быть сохранен. Индекс в массиве формирует набор. Индекс и тег могут использовать или физический или виртуальный (MMU) адреса; ведя к трем типам PIPT, VIVT, VIPT.

Современные центральные процессоры содержат несколько уровней кэша. В ситуациях SMP уровень кэша ЦП может быть частным к единственному ЦП, кластеру центральных процессоров или целой системы. Поскольку кэширование может привести к нескольким копиям данных, присутствующих в системе SMP, протоколы когерентности кэша используются для хранения данных последовательными. VIVT и кэши типа VIPT могут также привести к взаимодействиям с MMU (и его кэш, обычно названный TLB).

Вопросы относительно несоответствий кэша ЦП, профилирования или недоиспользования на теме.

Для получения дополнительной информации см. статью кэша ЦП Википедии.

Also: ,