Skip to main content

Cos'è un bus cache?

Un bus cache è un bus ad alta velocità dedicato che un processore di computer utilizza per comunicare con la sua memoria della cache.Conosciuto anche come bus sul retro, funziona a una velocità molto maggiore rispetto al bus di sistema.Un bus cache collega direttamente un core del processore alla sua cache;Funziona indipendentemente dal bus del processore, trasferendo i dati su un percorso più ampio e meno limitato.Un bus cache viene utilizzato nella maggior parte dei processori moderni per ridurre il tempo necessario per leggere o modificare i dati di frequente accessibile.

Negli anni '80, la memoria della cache si trovava di solito sulla scheda madre, non sul chip del processore stesso.Alla cache è stato accessibile tramite il bus del processore, proprio come la normale memoria di sistema.La quantità di memoria della cache era spesso piuttosto piccola e offerta solo come miglioramento delle prestazioni del sistema opzionale.

Con l'aumentare della velocità e dell'efficienza del processore nei primi anni '90, il bus del processore divenne un collo di bottiglia;La memoria della cache veloce aveva bisogno di un modo per interagire con il processore senza aspettare la memoria di sistema e le operazioni di input/output molto più lenti.A metà degli anni '90, la maggior parte dei nuovi processori ha adottato un'architettura a doppio bus per risolvere questo problema.È stato creato un bus cache ad alta velocità per accedere direttamente alla cache.Questo bus non viene utilizzato per nient'altro mdash; tutti gli altri trasferimenti di dati utilizzano il bus del processore più lento, noto anche come bus sul lato anteriore.Il processore può utilizzare entrambi gli autobus contemporaneamente, con conseguenti prestazioni sostanzialmente migliori.

Design a doppio bus precoce usati frequentemente memoria di cache situata sulla scheda madre;Grandi quantità di cache su chip non erano ancora convenienti a causa di problemi di produzione di produzione.I progetti successivi incorporavano spesso un mix di cache interna ed esterna come resa migliorata.I processori moderni di solito utilizzano una grande quantità di cache interna;Molti includono 8 megabyte (MB) o più, rispetto ai progetti più vecchi che spesso avevano solo 8 kilobyte (KB).Nei design moderni in cui l'intera cache è su chip, il bus della cache può essere piuttosto breve con un percorso dati molto ampio, 512 bit in alcuni processori.Il bus in genere funziona alla stessa velocità del processore stesso.Il risultato finale è che il contenuto della cache può essere letto o modificato molto rapidamente.

Ogni nucleo di un processore multi-core può avere la propria cache o condividere una grande cache comune.In entrambi i casi, un bus cache collega ciascun core alla memoria cache appropriata.Quando ogni core del processore ha la sua cache separata, possono sorgere problemi di coerenza.Ad esempio, quando un core aggiorna i dati nella sua cache, altre copie di tali dati in altre cache diventano obsole o stantii.Un modo in cui questo tipo di problema può essere risolto è utilizzando un tipo speciale di bus cache, a volte chiamato bus inter-core.Questo bus collega tutte le cache in modo che ognuna possa monitorare ciò che gli altri stanno facendo mdash; se si aggiorna un pezzo di dati condivisi, gli altri possono riflettere immediatamente i nuovi contenuti.