Co pamięć podręczna L4 utrzymuje na niektórych procesorach?

3

Wszystkie współczesne wielordzeniowe procesory mają co najmniej trzypoziomową pamięć podręczną (zobacz Dlaczego potrzebujemy wielu poziomów pamięci podręcznej? ).

L1 jest najszybszy i najmniejszy, L2 ma nieco większe opóźnienia, ale jest większy, a L3 przechowuje dane, które są współużytkowane przez wszystkie rdzenie procesora (i jest jeszcze większy, a nawet wolniejszy). Wszystko dobrze i dobrze.

Jednak przeglądanie wyrażenia „Pamięć podręczna L4” nie daje pustych wyników. Najwyraźniej niektóre procesory zawierają pamięć podręczną L4 (najwyraźniej Intel Broadwell i7-5775C ma 128 MB pamięci eDRAM zaimplementowanej jako pamięć podręczna L4).

Czy ktoś wie, do czego służy pamięć podręczna L4? Nie mogę znaleźć nigdzie dokumentacji dotyczącej jego celu i funkcji.

MathuSum Mut
źródło
4
Tutaj jest schemat: anandtech.com/show/9582/… . Zauważ, że Intel przestał używać eDRAM jako L4 z najnowszymi procesorami.
David Marshall
1
@DavidMarshall - Doceniam ten artykuł, który pozwolił mi rozszerzyć moją odpowiedź i wskazać, że Intel zasadniczo przestał używać rzeczywistej pamięci podręcznej L4 ze swoją architekturą Skylake.
Ramhound

Odpowiedzi:

8

Pamięć podręczna poziomu 4 (pamięć podręczna L4) jest sposobem na połączenie pamięci podręcznej poziomu 3, do której dostęp ma procesor, i pamięci podręcznej poziomu L4, do której dostęp mają zarówno procesor, jak i GPU.

Pamięć podręczna na poziomie 4 została wprowadzona przez Intel, zaczynając od mikroarchitektury Haswell. Pamięć podręczna poziomu 4 używa wbudowanej pamięci DRAM (eDRAM) w tym samym pakiecie, co zintegrowany procesor graficzny Intela. Ta pamięć podręczna umożliwia dynamiczne współdzielenie pamięci między układem GPU i procesorem oraz służy jako pamięć podręczna ofiary pamięci podręcznej L3 procesora.

Źródło: Wikipedia - pamięć podręczna procesora

Jest to obecna reprezentacja eDRAM dla procesorów Haswell i Broadwell. Widzimy tutaj, że dostęp do eDRAM uzyskuje się poprzez przechowywanie znaczników L4 zawartych w LLC każdego z rdzeni, w wyniku czego działa bardziej jako pamięć podręczna ofiary dla L3 niż jako dynamiczna implementacja pamięci o swobodnym dostępie. Wszelkie instrukcje lub sprzęt, które wymagają danych z eDRAM, muszą przejść przez LLC i wykonać konwersję znacznika L4, ograniczając jego potencjał (chociaż przyspieszając pewne określone obciążenia dzięki dwukierunkowemu interfejsowi 50 GB / s na łącze.

wprowadź opis zdjęcia tutaj

Ta pamięć podręczna L4 pozostała w mikroarchitekturze Intela przez całe życie Haswell i Broadwell.

W Skylake zmienia się układ eDRAM:

wprowadź opis zdjęcia tutaj

Zamiast działać jako pamięć podręczna pseudo-L4, eDRAM staje się buforem DRAM i jest automatycznie przezroczysty dla dowolnego oprogramowania (CPU lub IGP), które wymaga dostępu do pamięci DRAM. W rezultacie inny sprzęt komunikujący się przez agenta systemowego (taki jak urządzenia PCIe lub dane z mikroukładu) i wymagający informacji w pamięci DRAM nie musi nawigować przez pamięć podręczną L3 na procesorze.

Dodatkowy artykuł wskazuje, że:

Chociaż eDRAM ma być jak najbardziej płynny, Intel pozwala na pewien poziom kontroli na poziomie sterownika, pozwalając, aby tekstury większe niż L3 mogły znajdować się tylko w eDRAMie, aby zapobiec zastąpieniu danych zawartych w L3 i musi buforuj go dla innych obciążeń.

Anandtech - Intel Skylake Mobile Desktop Launch Architecture

Ramhound
źródło