Cosè la cache L0?

Le CPU sono bestie incredibilmente complesse. Ci sono molte parti interconnesse che devono lavorare tutte all'unisono per raggiungere i livelli di performance che vediamo. Una delle caratteristiche chiave di una CPU è la cache. Non è una caratteristica appariscente. Non pubblicizza così come il numero di core o la frequenza di picco di boost. Tuttavia, è fondamentale per le prestazioni.

Perché cache?

Le moderne CPU sono incredibilmente veloci. Eseguono più di cinque miliardi di operazioni al secondo. Mantenere la CPU alimentata con i dati quando funziona così velocemente è difficile. La RAM ha una capacità sufficiente per fornire dati alla CPU. Può persino trasferire dati ogni secondo, grazie a larghezze di banda molto elevate. Non è questo il problema, però. Il problema è la latenza.

La RAM può rispondere molto rapidamente. Il problema è che "molto velocemente" è un tempo lungo quando fai cinque miliardi di cose al secondo. Anche la RAM più veloce ha una latenza superiore a 60 nanosecondi. Ancora una volta, 60 nanosecondi suonano come nessun tempo. Il problema è che se la CPU funzionasse a 1GHz, ci vorrebbe 1ns per completare un ciclo. Con le CPU di fascia alta che raggiungono i 5,7 GHz, si tratta di un ciclo ogni 175 picosecondi. Come stanno adesso quei 60 nanosecondi di latenza? Sono 342 cicli di latenza.

Quel tipo di latenza sarebbe un killer per qualsiasi prestazione della CPU. Per aggirare il problema, viene utilizzata una cache. La cache è posizionata sul die della CPU stessa. È anche molto più piccolo della RAM e utilizza una struttura diversa, SRAM piuttosto che DRAM. Ciò rende la risposta molto più rapida rispetto alla RAM di sistema principale. La cache è in genere a più livelli, con L1, L2 e L3 utilizzati per indicare i livelli che si allontanano sempre di più dai core della CPU. I livelli inferiori sono più veloci ma più piccoli. L1 può avere una latenza di quattro o cinque cicli di clock, molto meglio di 342.

Ma alcune CPU menzionano un L0?

La terminologia per L1, L2 e L3 è piuttosto standard. La vaga comprensione di ciò che significano e fanno è relativamente comune, anche tra i fornitori di CPU. Questo perché sono governati dalla fisica materiale ed elettrica; non molto può cambiare. Puoi avere una cache veloce o una cache grande, non entrambe. Deve essere più grande se condividi una cache tra più core. A tal fine, L1 e L2 tendono ad essere specifici per il core. La cache L3 più grande tende a essere condivisa tra alcuni o tutti i core della CPU o del chiplet.

Come probabilmente puoi immaginare, L0 è correlato alla memorizzazione nella cache ma è stato inserito nello schema di denominazione dopo il fatto. Non aiuta però a capire cosa significhi. Probabilmente puoi indovinare alcune cose, però. Sarà limitato a un core, sarà minuscolo e sarà veloce. L'altro nome che passa può aiutare un po'; questa è la cache micro-operativa.

Invece di memorizzare nella cache i dati dalla memoria o le istruzioni complete, L0 memorizza nella cache le micro-operazioni. Come abbiamo recentemente descritto , un micro-op è una caratteristica delle moderne CPU. Le istruzioni in x86 e altri ISA sono grandi, complesse e difficili da inserire in modo efficiente in una pipeline. Puoi convogliarli in modo molto più efficiente se li scomponi in micro-operazioni costituenti. In alcuni casi, puoi persino raggruppare più micro-operazioni, anche da istruzioni diverse, in un'unica micro-operazione ottenendo sia un miglioramento delle prestazioni che una riduzione della potenza.

Architettura della CPU ft Micro-Op Cache

Per eseguire un'istruzione, una moderna CPU la decodifica. Ciò comporta la suddivisione dell'istruzione nelle sue micro-operazioni costituenti e la determinazione delle posizioni di memoria a cui fare riferimento. Molti software utilizzano regolarmente funzionalità simili e spesso possono riutilizzare lo stesso codice in un ciclo o da una funzione richiamata. Ciò significa che le istruzioni esatte possono essere richiamate più e più volte. Ciò significa quindi che le stesse micro-operazioni vengono chiamate ancora e ancora. E se le stesse micro-operazioni sono necessarie ripetutamente, possono essere memorizzate nella cache. Le micro-operazioni di memorizzazione nella cache possono ridurre il carico sui decodificatori di istruzioni, riducendo l'assorbimento di energia o contribuendo a riempire più velocemente la pipeline.

La cache deve essere mantenuta piccola, ma se gestita con cura, è possibile accedervi con una latenza di ciclo singola o addirittura senza. Questo può essere sufficiente per evitare la necessità di assumere la latenza di 4 cicli per la cache L1 e non comporta alcuna penalità di cache-miss.

Conclusione

La cache L0 è un altro nome per la cache micro-operativa. Può far parte delle moderne CPU che utilizzano micro-operazioni. In genere contiene alcune migliaia di voci e ha capacità elencate in numeri di voci anziché in byte. È possibile accedere a L0 più velocemente di L1, in genere con una latenza di 1 o 0 cicli. La memorizzazione nella cache delle micro-operazioni riduce il carico sui decodificatori di istruzioni, specialmente nel codice che fa buon uso di loop o funzioni.



Leave a Comment

Come far funzionare Spotify nel nuovo Garmin Venu

Come far funzionare Spotify nel nuovo Garmin Venu

Scopri come configurare Spotify sul tuo Garmin Venu per ascoltare la tua musica preferita mentre ti alleni.

Risoluzione dei problemi dellapp Blink quando la fotocamera è offline

Risoluzione dei problemi dellapp Blink quando la fotocamera è offline

Scopri come risolvere i problemi dell

S Pen rispetto a Apple Pencil

S Pen rispetto a Apple Pencil

Scopri le differenze tra S Pen e Apple Pencil, due accessori per disegnare e prendere appunti, analizzando design, prestazioni e costi.

Che cosè WPS e come funziona?

Che cosè WPS e come funziona?

Scopri tutto su cosa è WPS e come funziona, insieme ai suoi vantaggi e svantaggi.

La TV Samsung non salva le impostazioni dellimmagine

La TV Samsung non salva le impostazioni dellimmagine

Scopri come risolvere il problema della tua TV Samsung che non salva le impostazioni dell

Come acquisire uno screenshot su un laptop Chromebook

Come acquisire uno screenshot su un laptop Chromebook

Guida dettagliata su come acquisire screenshot a schermo intero e parziale su Chromebook. Segui questi passaggi per facilitare la tua esperienza.

Correggi Chromebook Errore durante linstallazione di Linux Beta

Correggi Chromebook Errore durante linstallazione di Linux Beta

Se si è verificato un errore durante l

Guida ai materiali di stampa 3D: cosa sapere sul TPU

Guida ai materiali di stampa 3D: cosa sapere sul TPU

Per ottenere i migliori risultati nella stampa 3D, ecco cosa devi sapere sul TPU e i suoi utilizzi.

Che cosa fa Blocco scorrimento?

Che cosa fa Blocco scorrimento?

Il blocco dello scorrimento è un tasto sulla maggior parte delle tastiere, sebbene raramente venga utilizzato. Scopri come funziona e la sua utilità nei moderni software.

È possibile aggiornare la memoria del Chromebook?

È possibile aggiornare la memoria del Chromebook?

Scopri se è possibile aggiornare la memoria del tuo Chromebook e quali sono le migliori opzioni per ottimizzare le prestazioni del dispositivo.