I processori cache L1, L2 e L3 sono tutti realizzati in SRAM?


10

Le cache dei processori L1, L2 e L3 sono tutte fatte di SRAM? Se vero, perché L1 è più veloce di L2 e L2 è più veloce di L3? Non ho capito questa parte quando ho letto di loro.


Domanda correlata: perché sono necessari più livelli di memoria cache? . Anche in qualche modo correlato: cos'è la cache multilivello nei processori? . Dal tuo commento lì, vedo che hai già trovato quest'ultima domanda.
Paul A. Clayton,

Risposte:


12

In generale sono tutti implementati con SRAM.

(I chip IBM POWER e zArchitecture utilizzano la memoria DRAM per L3. Questo è chiamato DRAM incorporata perché è implementato nello stesso tipo di tecnologia di processo della logica, consentendo la logica veloce da integrare nello stesso chip della DRAM. Per POWER4 l'off- chip L3 usato eDRAM; POWER7 ha L3 sullo stesso chip dei core di elaborazione.)

Sebbene utilizzino SRAM, non usano tutti lo stesso design SRAM. Le SRAM per L2 e L3 sono ottimizzate per dimensioni (per aumentare la capacità data la dimensione limitata del chip producibile o ridurre il costo di una determinata capacità) mentre SRAM per L1 ha maggiori probabilità di essere ottimizzata per la velocità.

Ancora più importante, il tempo di accesso è correlato alla dimensione fisica della memoria. Con un layout bidimensionale ci si può aspettare che la latenza di accesso fisico sia approssimativamente proporzionale alla radice quadrata della capacità. (L'architettura della cache non uniforme lo sfrutta per fornire un sottoinsieme di cache a bassa latenza. Le sezioni L3 dei recenti processori Intel hanno un effetto simile; un hit nella sezione locale ha una latenza significativamente più bassa.) Questo effetto può rendere più veloce una cache DRAM di una cache SRAM ad alta capacità perché la DRAM è fisicamente più piccola.

Un altro fattore è che la maggior parte delle cache L2 e L3 utilizzano l'accesso seriale di tag e dati, mentre la maggior parte delle cache L1 accede a tag e dati in parallelo. Si tratta di un'ottimizzazione della potenza (le percentuali di perdita di L2 sono superiori alle percentuali di perdita di L1, quindi è più probabile che si sprechi un lavoro di accesso ai dati; l'accesso ai dati L2 richiede generalmente più energia in relazione alla capacità-- e le cache L2 di solito hanno una associatività più elevata il che significa che più voci di dati dovrebbero essere lette in modo speculativo). Ovviamente, dover attendere la corrispondenza del tag prima di accedere ai dati aumenterà il tempo necessario per recuperare i dati. (L'accesso a L2 in genere inizia anche solo dopo la conferma di un errore L1, quindi la latenza del rilevamento di errori L1 viene aggiunta alla latenza di accesso totale di L2.)

Inoltre, la cache L2 è fisicamente più distante dal motore di esecuzione. Posizionare la cache di dati L1 vicino al motore di esecuzione (in modo che il caso comune dell'hit L1 sia veloce) significa generalmente che L2 deve essere posizionato più lontano.


Bella risposta. Ma non sono d'accordo con la tua affermazione che le percentuali di missioni L2 sono superiori alle percentuali di miss L1. Man mano che ci spostiamo più in basso nella gerarchia della memoria, abbiamo strutture più grandi che forniscono minori mancanze ma con maggiore latenza.
Harshavardhan Ramanna,

@HarshavardhanRamanna Sì aumenti di capacità e associatività aiutano a perdere il tasso, ma i livelli inferiori filtrano gli accessi (il trasferimento tradizionale di un intero blocco da L2 filtra la località spaziale a breve termine all'interno del blocco; il colpo conta solo per un accesso in L2 mentre il è probabile che il blocco stesso fornisca hit in L1 per accessi aggiuntivi). La percentuale totale di missioni diminuisce (ad esempio, una L2 con una percentuale di hit decente dell'80% e una L1 con una percentuale di hit del 95% ottiene una percentuale di hit totale del 99%).
Paul A. Clayton,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.