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 clonare un disco rigido

Come clonare un disco rigido

Nell'era digitale moderna, in cui i dati sono una risorsa preziosa, la clonazione di un disco rigido su Windows può essere un processo cruciale per molti. Questa guida completa

Come risolvere il problema con il caricamento del driver WUDFRd su Windows 10?

Come risolvere il problema con il caricamento del driver WUDFRd su Windows 10?

Stai riscontrando il messaggio di errore durante l'avvio del computer che dice che il driver WUDFRd non è stato caricato sul tuo computer?

Come risolvere il codice di errore NVIDIA GeForce Experience 0x0003

Come risolvere il codice di errore NVIDIA GeForce Experience 0x0003

Hai riscontrato l'esperienza NVIDIA GeForce con il codice di errore 0x0003 sul tuo desktop? Se sì, leggi il blog per scoprire come correggere questo errore in modo semplice e veloce.

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

Come rimuovere una GPU da un PC Windows nel 2023

Come rimuovere una GPU da un PC Windows nel 2023

Devi rimuovere la GPU dal tuo PC? Unisciti a me mentre ti spiego come rimuovere una GPU dal tuo PC in questa guida dettagliata.

Come installare ununità SSD NVMe su desktop e laptop

Come installare ununità SSD NVMe su desktop e laptop

Hai acquistato un nuovo SSD NVMe M.2 ma non sai come installarlo? Continua a leggere per sapere come installare un'unità SSD NVMe su laptop o desktop.

Cosè una bomba logica?

Cosè una bomba logica?

Una bomba logica è un incidente di sicurezza in cui un utente malintenzionato organizza un'azione ritardata. Continua a leggere per scoprire di più.

Che cosè Stuxnet?

Che cosè Stuxnet?

Stuxnet era un worm autopropagante. È stato il primo utilizzo di un'arma informatica e la prima istanza di malware.

Cosè un hacker etico?

Cosè un hacker etico?

Un hacker etico è un hacker che agisce entro i limiti della legge. Continua a leggere per saperne di più sull'argomento.

Che cosè la crittografia simmetrica?

Che cosè la crittografia simmetrica?

Ci sono molte parti diverse della crittografia. Se vuoi crittografare alcuni dati, ci sono due tipi di algoritmi che puoi usare: symmetric