Vai al contenuto

Athlon II o Phenom II: la tua CPU ha bisogno di cache L3?

    1651191903

    Cache L3: quanto è importante per AMD?

    Ha senso dotare i processori multi-core di una memoria dedicata utilizzata congiuntamente da tutti i core disponibili. In questo ruolo, la cache di terzo livello veloce (L3) può accelerare l’accesso ai dati necessari di frequente. I core non dovrebbero ripristinare l’accesso alla memoria principale (RAM) più lenta quando possibile.

    Questa è la teoria, almeno. Il recente lancio da parte di AMD dell’Athlon II X4, che è fondamentalmente un Phenom II X4 senza L3, implica che la cache terziaria potrebbe non essere sempre necessaria. Abbiamo deciso di fare un confronto mele con mele utilizzando entrambe le opzioni e scoprirlo.

    Come funziona la cache

    Prima di approfondire i nostri test, è importante comprendere alcune nozioni di base. Il principio delle cache è piuttosto semplice. Memorizzano i dati il ​​più vicino possibile ai core di elaborazione per evitare che la CPU debba accedere ai dati da fonti di memoria più distanti e più lente. Le odierne gerarchie di cache della piattaforma desktop sono costituite da tre livelli di cache prima di raggiungere l’accesso alla memoria di sistema. Il secondo e soprattutto il terzo livello non sono solo per il buffering dei dati. Il loro scopo è anche quello di evitare di soffocare il bus della CPU con il traffico di scambio di dati non necessario tra i core.

    Cache Hit/Miss

    L’efficacia di un’architettura cache è misurata dalla sua percentuale di successo. Le richieste di dati a cui è possibile rispondere all’interno di una determinata cache vengono chiamate hit. Se quella cache non contiene i dati ricercati e deve passare la richiesta alle strutture di memoria successive, questo è un errore. Ovviamente, gli errori sono lenti. Portano a stalli nella pipeline di esecuzione e introducono periodi di attesa. I colpi, d’altra parte, aiutano a sostenere le massime prestazioni.

    Scritture cache, esclusività, coerenza

    Le politiche di sostituzione determinano come viene creato spazio in una cache piena per le nuove voci della cache. Poiché i dati scritti in una cache alla fine devono essere disponibili nella memoria principale, i sistemi possono farlo contemporaneamente (write-through) o contrassegnare le posizioni sovrascritte come “sporche” (write-back) ed eseguire la scrittura una volta che i dati viene cancellato dalla cache.

    I dati su più livelli di cache possono essere archiviati esclusivamente, il che significa che non esiste ridondanza. Non troverai lo stesso pezzo di dati in due diverse strutture di cache. In alternativa, le cache possono funzionare in modo inclusivo, con livelli inferiori garantiti per contenere i dati trovati nei livelli più alti (più vicini al processore) della cache. Phenom di AMD funziona con una cache L3 esclusiva, mentre Intel segue la strategia della cache inclusiva. I protocolli di coerenza si occupano del mantenimento dei dati su più livelli, core e persino processori.

    Capacità della cache

    Cache più grandi possono bufferizzare più dati, ma tendono anche a introdurre una latenza maggiore. Poiché la cache consuma anche grandi quantità di transistor di un processore, è importante trovare un equilibrio praticabile tra costo del transistor e dimensioni del die, consumo energetico e problemi di prestazioni/latenza.

    Associatività

    Le voci della RAM possono essere mappate direttamente, il che significa che può esserci solo una posizione in una cache per le copie della memoria principale, oppure possono essere associative a n vie, che sta per n possibili posizioni nella cache per memorizzare i dati. Un’associatività più elevata (fino a cache completamente associative) offre la migliore flessibilità di memorizzazione nella cache perché non è necessario sovrascrivere i dati della cache esistenti. In altre parole, un’associatività n-way elevata garantisce percentuali di hit più elevate, ma introduce una maggiore latenza, poiché richiede più tempo per confrontare tutte queste associazioni per hit. In definitiva, ha senso implementare l’associatività a più vie per l’ultimo livello di cache perché è disponibile la massima capacità e una ricerca oltre invierebbe il processore a una memoria di sistema più lenta.

    Ecco alcuni esempi: Core i5 e i7 funzionano con 32 KB di cache dati associativa L1 a 8 vie e 32 KB di cache di istruzioni L1 associativa a 4 vie. Chiaramente, Intel vuole che le istruzioni siano disponibili più rapidamente, massimizzando anche i risultati sulla cache di dati L1. La sua cache L2 è anche set-associativa a 8 vie, mentre la cache L3 di Intel è ancora più intelligente, implementando l’associatività a 16 vie per massimizzare i risultati della cache.

    Tuttavia, AMD segue un’altra strategia sul Phenom II X4 con una cache L1 associativa a 2 vie, che offre latenze inferiori. Per compensare eventuali errori, offre il doppio della capacità di memoria: 64 KB di dati e 64 KB di cache di istruzioni. La cache L2 è associativa di set a 8 vie, come il design di Intel, ma la cache L3 di AMD funziona con un’associatività di set a 48 vie. Niente di tutto ciò può essere giudicato senza considerare l’intera architettura della CPU. Naturalmente, solo i risultati dei benchmark contano davvero, ma l’intero scopo di questa escursione tecnica è fornire uno sguardo alla complessità dietro la memorizzazione nella cache multilivello.

    0 0 votes
    Rating post
    Subscribe
    Notificami
    guest
    0 comments
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x