Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> hardware >> CPU >> .

Come viene gestita la cache da Hardware?

Quando si verifica un miss della cache, il che significa che la CPU richiede dati che non sono presenti nella cache, l'hardware avvia una serie di passaggi per recuperare i dati dal livello successivo della gerarchia della memoria (in genere memoria principale o, in alcuni casi, anche una memoria più lenta come un SSD o un disco rigido). Il processo è complesso ma può essere suddiviso come segue:

1. Miss Detection: Il controller cache rileva che i dati richiesti non sono presenti nella cache. Questo di solito viene eseguito attraverso un confronto tra l'indirizzo richiesto con gli indirizzi memorizzati nell'indice della cache e nelle strutture di tag.

2. Haolding Richiedi: Il controller della cache invia una richiesta al livello successivo della gerarchia di memoria (memoria principale). Questa richiesta specifica l'indirizzo di memoria dei dati richiesti.

3. Accesso alla memoria: La memoria principale (o altra memoria) riceve la richiesta e recupera il blocco dati richiesto. Questa è la parte più lenta del processo, poiché l'accesso alla memoria principale è significativamente più lento dell'accesso alla cache. La dimensione del blocco dati recuperato è determinata dalla dimensione della linea della cache (o dalla dimensione del blocco). Questo recupero prevede la traduzione dell'indirizzo (convertire un indirizzo virtuale in un indirizzo fisico) se viene utilizzata la memoria virtuale.

4. Trasferimento dei dati: Una volta recuperato il blocco di dati dalla memoria principale, viene trasferito alla cache. Questo trasferimento di solito si verifica su un bus dedicato (ad esempio il bus di sistema) ottimizzato per il movimento dei dati ad alta velocità.

5. Posizionamento della cache: Il blocco dati recuperato viene inserito nella cache. La politica di sostituzione della cache (ad es. LRU-almeno recentemente utilizzato, FIFO-primo-in, primo out) determina quale blocco esistente nella cache viene sostituito se la cache è piena.

6. Accesso alla CPU: Dopo che i dati sono stati caricati correttamente nella cache, la CPU può accedervi. La CPU aspetterà durante i passaggi 3 e 4, il che fa sì che la CPU si blocchi e riduca drasticamente le prestazioni.

diversi tipi di mancate e maneggevoli:

La gestione delle mancate cache può essere ulteriormente perfezionata a seconda del * tipo * di miss:

* Miss obbligatoria (o fredda): Ciò accade quando si accede a un blocco di dati per la prima volta. Non c'è modo di evitare questi mancati, poiché i dati semplicemente non erano in precedenza nella cache.

* Capacità miss: Ciò si verifica quando la cache è troppo piccola per contenere tutti i dati di cui la CPU ha bisogno. Strategie di gestione della cache più sofisticate (ad es. Cache più grandi, politiche di sostituzione migliorate) possono mitigare le mancate.

* Conflitto Miss: Ciò si verifica quando più blocchi di dati mappano sullo stesso set di cache (a causa del modo in cui gli indirizzi vengono mappati nella cache), con conseguente sfratto ripetuti. L'uso di tecniche come le cache associative o completamente associative possono ridurre le mancate conflitti.

* Interazione capacità/conflitto: Questi due possono sovrapporsi, il che li rende difficili da analizzare.

Supporto hardware per la maneggevolezza di Miss:

L'hardware moderno impiega diverse tecniche per ottimizzare la maneggevolezza della cache:

* Prefetching: L'hardware carica in modo proattivo i dati nella cache che probabilmente sarà necessaria presto, riducendo le mancate mancate.

* Cache di risalite: Invece di scrivere immediatamente i dati alla memoria principale su un'operazione di scrittura, la cache Write-Back archivia i dati modificati nella cache e scrivili alla memoria principale solo quando la linea della cache viene sfrattata. Questo riduce il traffico di memoria.

* Cache multilivello: Molti sistemi utilizzano più livelli di cache (L1, L2, L3, ecc.), Con cache più veloci ma più piccole più vicine alla CPU e più lente ma più grandi cache più grandi. Questa struttura gerarchica riduce al minimo l'impatto delle mancate cache utilizzando cache più veloci per dati di frequente accessibile.

* TLBS gestito da hardware (buffer di lookaside di traduzione): Voci della tabella Pagina della cache TLBS per accelerare la traduzione dell'indirizzo virtuale-fisico, riducendo il sovraccarico associato agli accessi alla memoria.

In sintesi, la gestione di cache di cache è un processo complesso che coinvolge il coordinamento hardware tra la CPU, il controller della cache e la memoria principale. La gestione efficiente delle mancate cache è fondamentale per le prestazioni complessive del sistema. Gran parte del miglioramento delle prestazioni della CPU nel corso degli anni è stato guidato dai progressi nella tecnologia della cache e dalle strategie di gestione della gestione.

 

hardware © www.354353.com