Ángel Aller
— Geek non conforme.
Esperto in computer e gaming
Cos'è la memoria cache
Prima di spiegarvi cos'è AMD Infinity Cache, riteniamo necessario affrontare il concetto di memoria cache in modo conciso. Questo tipo di memoria è presente in CPU e GPU, anche se in questa occasione ci interessa conoscere quella della GPU.
La memoria cache è una memoria dove la CPU e la GPU memorizzano temporaneamente i dati recentemente elaborati in modo che in futuro non debbano aspettare e si aumenti le prestazioni. Pertanto, la memoria cache si trova all'interno del die della CPU e della GPU, non all'esterno.
Si organizza su vari livelli: L1, L2, L3 e, addirittura, L4. I livelli più bassi hanno meno memoria, ma sono più veloci; i livelli più alti di solito sono più lontani dai core del chip e ci mettono qualche ciclo in più per accedere, ma hanno più capacità.
Tutto ruota attorno al "dato": se trova il dato è un hit, e se non lo trova è un miss:
- La GPU cerca prima il dato nella L1; se lo trova, lo ottiene e l'istruzione viene eseguita rapidamente.
- Se non lo trova nella L1, passerà alla L2.
- Lo stesso vale per L3 e L4.
E se non lo trova in nessun livello di cache? La CPU andrà alla RAM, mentre la GPU andrà alla VRAM. Il problema è che la RAM è fuori dalla CPU, così come la VRAM è fuori dalla GPU. Questo si traduce in più latenza, dovendo dire che ci mette più tempo e che le prestazioni diminuiscono.
Perché potrebbe non trovare il dato nella memoria cache? Perché, in generale, la memoria cache della CPU e della GPU ha poca capacità, tranne nel caso di AMD. Fu "il team red" a sostenere l'incremento della memoria cache nei suoi chip dopo aver analizzato bene questo problema, dato che la maggior parte delle memorie cache non superano i 30-40 MB.
Cos'è AMD Infinity Cache
Infinity Cache è una memoria cache simile a L3 che si trova all'interno del chip della GPU, che promette di migliorare l'efficienza e le prestazioni di gioco in giochi a 4K e 1440p. L'idea era di metterla in funzione insieme alla memoria GDDR6 utilizzata dalle schede grafiche AMD Radeon da 256 bit e 16 Gbps.
Si dice che gli ingegneri di AMD avevano bisogno di evitare un bus di 512 bit perché il suo consumo era alto e costava molto produrre GPU con questa specifica. In questo modo, AMD lo ha presentato come "prestazioni ad alta larghezza di banda"
Come si ottiene questo miglioramento delle prestazioni? Con l'accesso immediato ai dati per rendere la resa delle texture del gioco più veloce. Ovviamente, più memoria cache abbiamo, meglio è, giusto?
Tutto è iniziato con le AMD Radeon RX 6800, 6800 XT e 6900 XT perché la GPU Navi 21 (varianti) e lo stesso Infinity Cache: 128 MB. Fino ad ora, le schede grafiche venivano con cache L1 e L2, essendo più interessante perché la latenza è minore, così come più piccole.
Come funziona
Il processo sarebbe il seguente:
- Ogni AMD Radeon viene con diverse CU o Compute Units;
- Quando una CU ha bisogno di un dato va alla cache L0.
- Se non lo trova, passerà al livello L1, poi a L2 e così via.
- Infine, andrà alla VRAM, che è l'ultimo caso.
Se a questo processo aggiungiamo una cache L3, la CU non si rivolge tanto alla VRAM per ottenere un dato perché potrà memorizzare di più nella cache L3. Non solo una cache L3 qualsiasi, ma una cache di 128 MB come nel caso delle RX 6000 di fascia alta.
Quanti FPS aumenta?
Questo dipenderà dal videogioco, essendo noto che ci sono titoli che favoriscono di più le GPU NVIDIA, come altri le GPU AMD. Il team di Lisa Su lo misura in un "tasso di successo", che ha ottenuto selezionando alcuni giochi a 4K. Secondo AMD, il tasso di successo di Infinity Cache è del 58%, cioè nel 58% dei casi la GPU non ha dovuto viaggiare alla VRAM per ottenere un dato.
Ovviamente, il più preciso al momento del confronto è avere 2 schede grafiche con la stessa VRAM o il più simile possibile.possibile per apprezzare l'impatto di avere più cache L3. Detto questo, le prestazioni non dipenderanno esclusivamente da Infinity Cache, ma anche dalla VRAM che hanno, dalla larghezza di banda, dal bus, dagli shader che incorporano le GPU, dai Ray Accelerators in Ray Tracing, ecc.
Se è così buono, perché NVIDIA non lo ha?
Alla fine, ogni marca ha la sua architettura determinata e il suo design di GPU specifico. Ad esempio, pensate che AMD ha scommesso su un design MCM in alcune delle Radeon RX 7000, mentre NVIDIA ha continuato con il die monolitico.
NVIDIA non scommette sull'approccio di aumentare la cache a quel livello, anche se è vero che ha aumentato la sua cache nelle sue RTX 4000. Le possibilità potrebbero essere:
- Struttura di CUDA Cores, Tensor Cores e RT Cores. Se confrontate modelli di entrambi i marchi, vedrete che NVIDIA incorpora più pezzi hardware dedicati al rendering delle texture, così come per il Ray Tracing e il DLSS (Tensor). Questo ha un costo e consuma uno spazio importante nella GPU.
- La cache L3 di AMD occupa molto spazio nel die. Questo significa che devi ottimizzare lo spazio e, questo, può essere un problema per NVIDIA.
- L'architettura di NVIDIA non richiede così tanta cache.
- Risparmio sui costi. Implementare più cache significa aumentare i costi di produzione.
- Prefere aumentare la VRAM e scommettere su GDDR6X, che è più costosa della GDDR6.
Schede grafiche AMD con Infinity Cache
Certo che, se fosse un approccio fallito, AMD non ci ricorrerebbe dopo aver usato le RX 6000 come cavie. Vediamo anche Infinity Cache nelle AMD Radeon RX 7000, anche se hanno scommesso su meno MB per GPU.
Scegli la tua GPU AMD con Infinity Cache per volare in QHD e 4K, te lo meriti!