Что держит кеш L4 на некоторых процессорах?

12498
MathuSum Mut

Все современные многоядерные процессоры имеют как минимум трехуровневый кэш (см. Почему нам нужно несколько уровней кэш-памяти? ).

L1 - самый быстрый и самый маленький, L2 имеет немного большую задержку, но больше, а L3 содержит данные, которые используются всеми ядрами процессора (и даже больше и медленнее). Все хорошо.

Попытка гуглить фразу «L4 Cache» не дает пустых результатов. По-видимому, некоторые процессоры содержат кэш-память L4 (по-видимому, Intel Broadwell i7-5775C имеет 128 МБ eDRAM, реализованную как кэш-память L4).

Кто-нибудь знает для чего нужен кеш L4? Я нигде не могу найти документацию относительно ее назначения и функции.

2
Здесь есть схема: http://www.anandtech.com/show/9582/intel-skylake-mobile-desktop-launch-architecture-analysis/5. Обратите внимание, что Intel перестала использовать eDRAM в качестве L4 с новейшими процессорами. David Marshall 7 лет назад 3
@DavidMarshall - я ценю, что статья позволила мне расширить свой ответ, и хочу отметить, что Intel в основном прекратила использование кеша L4 с их архитектурой Skylake. Ramhound 7 лет назад 1

1 ответ на вопрос

6
Ramhound

The level 4 cache (L4 cache) is a way to link the Level 3 cache which can be accessed by the CPU and the L4 cache which can be access by both the CPU and GPU.

Level 4 on-package cache was introduced by Intel starting with their Haswell microarchitecture. The level 4 cache uses, embedded DRAM (eDRAM), on the same package, as the Intel's integrated GPU. This cache allows for memory to be shared dynamically between the on-die GPU and CPU, and serves as a victim cache to the CPU's L3 cache.

Source: Wikipedia - CPU cache

This is the current eDRAM representation for Haswell and Broadwell processors. Here we see that the eDRAM is accessed by a store of L4 tags contained within the LLC of each core, and as a result acts more as a victim cache to the L3 rather than as a dynamic random access memory implementation. Any instructions or hardware that requires data from the eDRAM has to go through the LLC and do the L4 tag conversion, limiting its potential (although speeding up certain specific workloads by virtue of a 50 GB/s per-link bi-directional interface.

enter image description here

This L4 cache remained in Intel's microarchitecture throughout the lifespan of Haswell and Broadwell.

In Skylake, the eDRAM arrangement changes:

enter image description here

Rather than acting as a pseudo-L4 cache, the eDRAM becomes a DRAM buffer and automatically transparent to any software (CPU or IGP) that requires DRAM access. As a result, other hardware that communicates through the system agent (such as PCIe devices or data from the chipset) and requires information in DRAM does not need to navigate through the L3 cache on the processor.

The article additional goes on to indicate that:

While the purpose of the eDRAM is to be as seamless as possible, Intel is allowing some level on control at the driver level allowing textures larger than the L3 to reside only in eDRAM in order to prevent overwriting the data contained in the L3 and having to recache it for other workloads.

Anandtech - Intel Skylake Mobile Desktop Launch Architecture

Похожие вопросы