Ce este un Cache Bus?

O magistrală cache este o magistrală dedicată de mare viteză pe care o folosește un procesor de computer pentru a comunica cu memoria sa cache. Cunoscut și ca magistrală din spate, funcționează la o viteză mult mai mare decât magistrala de sistem. O magistrală cache conectează direct un nucleu de procesor la memoria cache a acestuia; rulează independent de magistrala procesorului, transferând date pe o cale mai largă, mai puțin restricționată. O magistrală cache este utilizată în majoritatea procesoarelor moderne pentru a reduce timpul necesar pentru citirea sau modificarea datelor accesate frecvent.

În anii 1980, memoria cache era de obicei localizată pe placa de bază, nu pe cipul procesorului în sine. Cache-ul a fost accesat prin magistrala procesorului, la fel ca memoria de sistem obișnuită. Cantitatea de memorie cache a fost adesea destul de mică și oferită doar ca o îmbunătățire opțională a performanței sistemului.

Pe măsură ce viteza și eficiența procesorului au crescut la începutul anilor 1990, magistrala procesorului a devenit un blocaj; memoria cache rapidă avea nevoie de o modalitate de a interacționa cu procesorul fără a aștepta ca memoria de sistem mult mai lentă și operațiunile de intrare/ieșire să se termine. La mijlocul anilor 1990, majoritatea procesoarelor noi au adoptat o arhitectură dual-bus pentru a rezolva această problemă. A fost creată o magistrală cache de mare viteză pentru a accesa direct memoria cache. Această magistrală nu este folosită pentru nimic altceva – toate celelalte transferuri de date utilizează magistrala mai lentă a procesorului, cunoscută și sub numele de magistrala frontală. Procesorul poate folosi ambele magistrale simultan, rezultând o performanță substanțial mai bună.

Modelele timpurii dual-bus foloseau frecvent memoria cache situată pe placa de bază; cantități mari de cache pe cip nu erau încă rentabile din cauza problemelor de producție. Modelele ulterioare au încorporat adesea o combinație de memorie cache internă și externă, pe măsură ce randamentul s-a îmbunătățit. Procesoarele moderne folosesc de obicei o cantitate mare de cache intern; multe includ 8 megaocteți (MB) sau mai mult, în comparație cu modelele mai vechi care aveau adesea doar 8 kiloocteți (KB). În modelele moderne în care întregul cache este pe cip, magistrala cache poate fi destul de scurtă, cu o cale de date foarte largă, 512 biți la unele procesoare. Autobuzul rulează de obicei la aceeași viteză ca și procesorul însuși. Rezultatul final este că conținutul cache poate fi citit sau modificat foarte rapid.

Fiecare nucleu al unui procesor cu mai multe nuclee poate avea propriul cache sau poate partaja un cache mare comun. În ambele cazuri, o magistrală cache conectează fiecare nucleu la memoria cache corespunzătoare. Când fiecare nucleu de procesor are propriul cache separat, pot apărea probleme de coerență. De exemplu, atunci când un nucleu actualizează datele din memoria cache, alte copii ale acestor date din alte cache devin învechite sau „învechite”. O modalitate prin care acest tip de problemă poate fi rezolvată este utilizarea unui tip special de magistrală cache, uneori numită magistrală inter-core. Această magistrală leagă toate cache-urile împreună, astfel încât fiecare să poată monitoriza ceea ce fac ceilalți – dacă unul actualizează o bucată de date partajate, ceilalți pot reflecta imediat noul conținut.