Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows 7, XP
  • La cache più veloce nel processore. Calcoli matematici e ingegneristici

La cache più veloce nel processore. Calcoli matematici e ingegneristici

memoria cache (cache, Contanti, respingente- eng.) - usato in dispositivi digitali come un blocco per appunti ad alta velocità. La memoria cache può essere trovata su dispositivi di computer come processori, schede di rete, unità CD e molti altri.

Il principio di funzionamento e l'architettura della cache possono essere molto diversi.

Ad esempio, una cache può fungere da normale appunti . Il dispositivo elabora i dati e li trasferisce a un buffer ad alta velocità, dove il controller trasferisce i dati all'interfaccia. Tale cache ha lo scopo di prevenire errori, controllare l'integrità dei dati dell'hardware o codificare il segnale dal dispositivo in un segnale comprensibile per l'interfaccia, senza ritardi. Questo sistema è utilizzato, ad esempio, in CD/DVD Unità CD.

In caso contrario, la cache potrebbe servire a memorizzazione del codice utilizzato di frequente e quindi accelerare l'elaborazione dei dati. Cioè, il dispositivo non ha bisogno di ricalcolare o cercare i dati, il che richiederebbe molto più tempo della lettura dalla cache. A questo caso la dimensione e la velocità della cache giocano un ruolo molto importante.

Questa architettura si trova più spesso in dischi fissi, e processori centrali (processore).

Quando i dispositivi funzionano, nella cache possono essere caricati firmware speciali o programmi di dispatcher, che funzionerebbero più lentamente rom(dispositivo di archiviazione permanente).

Maggioranza dispositivo moderno, uso tipo misto cache , che può fungere sia da appunti che da luogo in cui archiviare il codice utilizzato di frequente.

Ce ne sono molti molto funzioni importanti implementato per la cache di processori e chip video.

Consolidamento delle unità esecutive . CPU e processori video utilizzano spesso una cache condivisa veloce tra i core. Di conseguenza, se un core ha elaborato le informazioni ed è nella cache, e arriva un comando per la stessa operazione, o per lavorare con questi dati, allora i dati non verranno elaborati nuovamente dal processore, ma verranno prelevati dal cache per ulteriori elaborazioni. Il kernel verrà scaricato per elaborare altri dati. Ciò aumenta notevolmente le prestazioni nello stesso tipo, ma calcoli complessi, specialmente se la cache ha grande volume e velocità.

cache condivisa, consente inoltre ai kernel di lavorarci direttamente, bypassando il lento .

Metti nella cache le istruzioni. C'è una cache di primo livello molto veloce generale per istruzioni e altre operazioni, o una dedicata per loro. Più istruzioni incorporate ha un processore, maggiore è la cache delle istruzioni di cui ha bisogno. Ciò riduce la latenza della memoria e consente al blocco di istruzioni di funzionare in modo quasi indipendente.Quando è pieno, il blocco di istruzioni inizia ad essere periodicamente inattivo, il che rallenta la velocità di calcolo.

Altre funzioni e caratteristiche.

È degno di nota che in processore(unità di elaborazione centrale), si applica correzione degli errori hardware (ECC), perché un piccolo errore nella cache può causare un errore continuo nell'ulteriore elaborazione di questi dati.

A processore e GPU esiste gerarchia della cache , che consente di separare i dati per i singoli core e quelli generali. Sebbene quasi tutti i dati dalla cache di secondo livello vengano ancora copiati nel terzo, livello generale, ma non sempre. Il primo livello di cache è il più veloce e ogni successivo è più lento, ma di dimensioni maggiori.

Per i processori, è normale tre e meno livelli di cache. Ciò consente di ottenere un equilibrio tra velocità, dimensione della cache e dissipazione del calore. È difficile trovare più di due livelli di cache nei processori video.

Dimensioni della cache, impatto sulle prestazioni e altre caratteristiche.

Naturalmente, più cache, più dati può archiviare ed elaborare, ma c'è un problema serio.

Grandi soldi- questo è grande budget. Nei processori server ( processore), la cache può utilizzare fino a 80% bilancio dei transistor. In primo luogo, ciò influisce sul costo finale e, in secondo luogo, sull'aumento del consumo di energia e della dissipazione del calore, che non è paragonabile a un aumento delle prestazioni di diversi punti percentuali.

Tutti gli utenti sono ben consapevoli di tali elementi di un computer come processore responsabile dell'elaborazione dei dati, nonché della memoria ad accesso casuale (RAM o RAM) responsabile della loro archiviazione. Ma probabilmente non tutti sanno che esiste anche una cache del processore (Cache CPU), ovvero la RAM del processore stesso (la cosiddetta memoria super-RAM).

Qual è il motivo che ha spinto gli sviluppatori di computer a utilizzare memoria speciale per il processore? La RAM non è sufficiente per un computer?

Veramente, per molto tempo i personal computer hanno fatto senza alcun tipo di memoria cache. Ma, come sai, il processore è il massimo dispositivo veloce personal computer e la sua velocità crescevano con ogni nuova generazione di CPU. Attualmente, la sua velocità è misurata in miliardi di operazioni al secondo. Allo stesso tempo, la RAM standard non ha aumentato significativamente le sue prestazioni nel corso della sua evoluzione.

In generale, ci sono due tecnologie principali per i chip di memoria: memoria statica e memoria dinamica. Senza approfondire i dettagli della loro struttura, diremo solo che la memoria statica, a differenza della memoria dinamica, non richiede rigenerazione; inoltre, 4-8 transistor vengono utilizzati per un bit di informazioni nella memoria statica, mentre 1-2 transistor vengono utilizzati nella memoria dinamica. Di conseguenza, la memoria dinamica è molto più economica della memoria statica, ma allo stesso tempo molto più lenta. Attualmente, i chip RAM sono prodotti sulla base della memoria dinamica.

Evoluzione approssimativa del rapporto tra la velocità dei processori e la RAM:

Pertanto, se il processore prende continuamente informazioni dalla memoria principale, dovrebbe attendere la memoria dinamica lenta e sarebbe inattivo tutto il tempo. Nello stesso caso, se la memoria statica fosse utilizzata come RAM, il costo del computer aumenterebbe più volte.

Ecco perché è stato elaborato un ragionevole compromesso. La parte principale della RAM è rimasta dinamica, mentre il processore ha una propria cache veloce basata su chip di memoria statica. Il suo volume è relativamente piccolo, ad esempio il volume della cache L2 è di pochi megabyte. Tuttavia, qui vale la pena ricordare che tutta la RAM del primo computer IBM Il PC era inferiore a 1 MB.

Inoltre, l'opportunità di introdurre la tecnologia di memorizzazione nella cache è influenzata anche dal fattore che diverse applicazioni, che si trovano nella RAM, caricano il processore in modi diversi e, di conseguenza, ci sono molti dati che richiedono un'elaborazione prioritaria rispetto al resto.

Storia della cache

A rigor di termini, prima che la memoria cache si spostasse sui personal computer, era stata utilizzata con successo nei supercomputer per diversi decenni.

Per la prima volta, in un PC basato sul processore i80386 è apparsa una memoria cache di soli 16 KB. I processori odierni utilizzano vari livelli di cache, dal primo (la cache più veloce con la dimensione più piccola - in genere 128 KB) al terzo (la cache più lenta con la dimensione maggiore - fino a decine di MB).

Primo cache esterna Il processore si trovava su un chip separato. Nel tempo, tuttavia, ciò ha portato al fatto che il bus situato tra la cache e il processore è diventato collo di bottiglia rallentando lo scambio di dati. A microprocessori moderni sia il primo che il secondo livello di cache si trovano nel core del processore stesso.

Per molto tempo sono esistiti solo due livelli di cache nei processori, ma in CPU Intel Itanium ha introdotto la prima cache di livello 3 condivisa da tutti i core del processore. Ci sono anche sviluppi di processori con una cache a quattro livelli.

Architetture e principi di funzionamento della cache

Ad oggi sono noti due tipi principali di organizzazione della memoria cache, che hanno origine dai primi sviluppi teorici nel campo della cibernetica: le architetture di Princeton e Harvard. L'architettura di Princeton lo è unico spazio memoria per la memorizzazione di dati e comandi e Harvard - separata. La maggior parte dei processori computer personale La linea x86 utilizza un tipo di cache separato. Inoltre, nei moderni processori è apparso anche un terzo tipo di cache: il cosiddetto buffer di traduzione associativa, progettato per accelerare la traduzione degli indirizzi. memoria virtuale sistema operativo agli indirizzi di memoria fisica.

Semplificato, lo schema di interazione tra la memoria cache e il processore può essere descritto come segue. Innanzitutto, c'è un controllo per la presenza processore desiderato informazioni nella cache più veloce - la cache di primo livello, quindi - nella cache di secondo livello e così via. Se informazione necessaria non c'è cache in nessun livello, quindi dicono di un errore o di una mancanza di cache. Se non ci sono informazioni nella cache, il processore deve prenderle dalla RAM o anche da memoria esterna(dal disco rigido).

L'ordine in cui il processore ricerca le informazioni in memoria:

Questo è il modo in cui il processore cerca le informazioni

Per controllare il funzionamento della memoria cache e la sua interazione con le unità di calcolo del processore, oltre alla RAM, esiste un controller speciale.

Schema di organizzazione dell'interazione tra core del processore, cache e RAM:

Il controller della cache è elemento chiave Connessioni a processore, RAM e cache

Va notato che la memorizzazione nella cache dei dati è un processo complesso che utilizza molte tecnologie e algoritmi matematici. Fra concetti basilari utilizzato nel caching, possiamo evidenziare le modalità di scrittura della cache e l'architettura dell'associatività della memoria cache.

Metodi di scrittura nella cache

Esistono due metodi principali per scrivere le informazioni nella cache:

  1. metodo di riscrittura ( rispondere) - i dati vengono scritti prima nella cache e quindi, al verificarsi di determinate condizioni, nella RAM.
  2. Il metodo write-through (attraverso la scrittura): i dati vengono scritti contemporaneamente su RAM e cache.

Architettura di associatività della cache

L'architettura di associatività della cache definisce il modo in cui i dati dalla RAM vengono mappati alla cache. Esistono le seguenti varianti principali dell'architettura di associatività della memorizzazione nella cache:

  1. Cache a mappatura diretta: un'area specifica della cache è responsabile di un'area specifica della RAM
  2. Cache completamente associativa: qualsiasi area della cache può essere associata a qualsiasi area della RAM
  3. Cache miste (set-associativa)

In genere è possibile utilizzare diverse architetture di associatività della cache a diversi livelli di cache. La cache RAM mappata direttamente è la più opzione rapida cache, quindi questa architettura viene solitamente utilizzata per cache di grandi dimensioni. A sua volta, una cache completamente associativa ha meno errori di cache (mancati).

Conclusione

In questo articolo, hai familiarizzato con il concetto di memoria cache, architettura della memoria cache e metodi di memorizzazione nella cache, hai appreso come influisce sulle prestazioni computer moderno. La presenza di memoria cache può ottimizzare notevolmente le prestazioni del processore, ridurne i tempi di inattività e, di conseguenza, aumentare le prestazioni dell'intero sistema.

Windows è stato creato per essere utilizzato su un massimo di macchine con diverse configurazioni, e quindi di solito non è ottimizzato per il tuo computer e il tuo utilizzo. Ti invito anche a leggere i nostri altri articoli sull'ottimizzazione dei tuoi computer, se l'hai già fatto. "Non ottimizzazione", è a livello di processore. I nostri processori dispongono di cache che consentono loro di mettere in memoria alcuni dati per velocizzare il recupero dei propri dati in futuro: http://fr.wikipedia.org/wiki/M%C3%A9moire_cache Secondo i processori, puoi averne 2 o 3 livelli ( )) cache. Di Impostazione predefinita di Windows utilizza la cache L2 (Livello 2) 256 KB, il che significa che se il tuo processore può utilizzare più spazio, (cosa che di solito accade e richiederà più tempo data la costante evoluzione dei processori), finestre limitate le capacità del tuo processore! E non dico nemmeno nessuna cache L3, perché Windows non la usa, è come se non avessi quella terza cache è il più grande dei 3 livelli del processore!

Le sue informazioni sul processore:

La prima cosa da fare è conoscere le capacità della CPU (processore), questo è:

  • Scarica CPU-Z:-http://www.cpuid.com/softwares/cpu-z.html
  • Installalo e aprilo
  • Per vedere diversi livelli di cache hai 2 opzioni: 1 scheda In basso a destra o 2

Per aumentare la cache L2 in Windows:

  1. Nel menu di avvio, cerca e apri "regedit" (database del registro) (come in qualsiasi manipolazione del database del registro, si consiglia di eseguire backup il suo computer in caso di problemi)
  2. Fare doppio clic su HKEY_LOCAL_MACHINE > Sistema > CurrentControlSet > Controlli > Session Manager > Gestione memoria
  3. nella finestra di destra dovresti trovare una chiave denominata "SecondLevelDataCache", fare clic su fare clic con il tasto destro mouse su di esso e fare clic su "Modifica"
  4. Fare clic sul pulsante "Decimale".
  5. E sostituisci true con il tuo processore. Nel mio caso, CPU - Z mi dice 2 x 256, quindi metti nel mio caso il valore 512.
  6. Fare clic su OK

Per abilitare la cache L3 su Windows:

  1. Il passaggio 1-2 è lo stesso di L2 e quindi arriva alla stessa finestra del passaggio 3.
  2. Nella zona franca nella finestra di destra, fare clic con il tasto destro e fare clic su "Nuovo" > "DWORD 32 bit"
  3. Rinominare nuova chiave a "ThirdLevelDataCache" (senza virgolette)
  4. Fare clic con il tasto destro su questa nuova chiave rinominata e fare clic su "Modifica"
  5. Fare clic sul pulsante "Decimale".
  6. Cambia il valore che il tuo processore è designato CPU - Z: nel mio caso, sono 3 MBytes, quindi devo fare 3 x 1024, il che significa che devo mettere 3072 come valore.
  7. Fare clic sul pulsante OK.

Riavvia il tuo computer. 1 Dopo il riavvio, il tuo computer potrebbe essere un po' più lento del solito, a causa del fatto che Windows deve includere questi nuovi dati, ma in seguito il tuo computer dovrebbe essere più veloce e più potente! Personalmente non sono lento al riavvio, 1°, ma ho notato un miglioramento nella velocità dei programmi, soprattutto a livello multi-tasking, nonostante chi già SSD sul mio computer! Nota: questo trucco non è l'overclocking e quindi non c'è il rischio di surriscaldamento che si può trovare nell'overclocking.

Uno dei fattori importanti che aumentano le prestazioni del processore è la presenza della memoria cache, ovvero il suo volume, velocità di accesso e distribuzione per livelli.

Per molto tempo, quasi tutti i processori sono dotati di questo tipo di memoria, che dimostra ancora una volta l'utilità della sua presenza. In questo articolo parleremo della struttura, dei livelli e dello scopo pratico della memoria cache, come caratteristica molto importante del processore.

Cos'è la memoria cache e la sua struttura

la memoria cache è memoria superveloce utilizzato dal responsabile del trattamento per memorizzare temporaneamente i dati utilizzati più di frequente. In poche parole, ecco come dato tipo memoria.

La memoria cache è costruita su flip-flop, che, a loro volta, sono costituiti da transistor. Un gruppo di transistor occupa molto più spazio degli stessi condensatori che compongono la RAM. Ciò comporta molte difficoltà di produzione, nonché restrizioni sui volumi. Ecco perché la memoria cache è una memoria molto costosa, pur avendo volumi trascurabili. Ma da una tale struttura segue il principale vantaggio di una tale memoria: la velocità. Poiché i flip-flop non necessitano di rigenerazione e il tempo di ritardo del gate su cui sono montati è piccolo, il tempo di commutazione del flip-flop da uno stato all'altro è molto veloce. Ciò consente alla memoria cache di funzionare alle stesse frequenze dei moderni processori.

Inoltre, un fattore importante è la posizione della memoria cache. Si trova sul chip del processore stesso, il che riduce notevolmente il tempo di accesso ad esso. In precedenza, la memoria cache di alcuni livelli si trovava all'esterno del chip del processore, su uno speciale chip SRAM da qualche parte sulla scheda madre. Ora, in quasi tutti i processori, la memoria cache si trova sul chip del processore.

A cosa serve la cache della CPU?

Come accennato in precedenza, lo scopo principale della memoria cache è archiviare i dati utilizzati frequentemente dal processore. La cache è un buffer in cui vengono caricati i dati e, nonostante le sue piccole dimensioni (circa 4-16 MB) nei moderni processori, offre un notevole aumento delle prestazioni in qualsiasi applicazione.

Per comprendere meglio la necessità della memoria cache, immaginiamo l'organizzazione della memoria di un computer come un ufficio. La RAM sarà un armadio con cartelle a cui il contabile accede periodicamente per recuperare grandi blocchi di dati (ovvero cartelle). E la tabella sarà la memoria cache.

Ci sono elementi che vengono posti sulla scrivania del ragioniere, a cui fa riferimento più volte durante l'ora. Ad esempio, possono essere numeri di telefono, alcuni esempi di documenti. Questi tipi di informazioni sono sul tavolo, il che, a sua volta, aumenta la velocità di accesso ad esse.

Allo stesso modo, i dati possono essere aggiunti da quei grandi blocchi di dati (cartelle), alla tabella, per uso rapido, ad esempio, qualsiasi documento. Quando questo documento non è più necessario, viene riposto nell'armadio (nella RAM), svuotando così la tabella (cache) e liberando questa tabella per i nuovi documenti che verranno utilizzati nel prossimo periodo di tempo.

Anche con la memoria cache, se ci sono alcuni dati a cui è più probabile che venga riacceso, questi dati dalla RAM vengono caricati nella memoria cache. Molto spesso, ciò accade con il caricamento congiunto dei dati che è più probabile che vengano utilizzati dopo i dati correnti. Cioè, ci sono ipotesi su cosa verrà utilizzato "dopo". Questi sono i semplici principi di funzionamento.

Livelli di cache del processore

I moderni processori sono dotati di una cache, che spesso consiste in 2 o 3 livelli. Certo, ci sono delle eccezioni, ma spesso è così.

In generale, ci possono essere tali livelli: L1 (primo livello), L2 (secondo livello), L3 (terzo livello). Ora qualcosa in più su ciascuno di essi:

La cache di primo livello (L1) è il livello più veloce di memoria cache che funziona direttamente con il core del processore, grazie a questa stretta interazione, dato livello ha il tempo di accesso più breve e opera a frequenze vicine al processore. È un buffer tra il processore e la cache di secondo livello.

Considereremo i volumi sul processore alto livello prestazione processore Intel i7-3770K. Questo processore dotato di 4 x 32 KB di cache L1 4 x 32 KB = 128 KB. (32 KB per core)

Cache di secondo livello (L2): il secondo livello è più grande del primo, ma di conseguenza ha meno "caratteristiche di velocità". Di conseguenza, funge da buffer tra i livelli L1 e L3. Se torniamo al nostro esempio Core i7-3770 K, qui la quantità di cache L2 è 4x256 KB = 1 MB.

Cache di livello 3 (L3): il terzo livello, ancora, più lento dei due precedenti. Ma è ancora molto più veloce della RAM. La cache L3 nell'i7-3770K è di 8 MB. Se i due livelli precedenti sono divisi in ciascun core, questo livello è comune all'intero processore. L'indicatore è abbastanza solido, ma non alle stelle. Poiché, ad esempio, i processori della serie Extreme come i7-3960X, sono 15 MB e alcuni nuovi Processori Xeon, più di 20.

we-it.net

A cosa serve la cache e quanto serve?

Riguarda non di contanti, ma di memoria cache dei processori e non solo. I commercianti hanno creato un altro feticcio commerciale dalla quantità di memoria cache, in particolare con la cache dei processori centrali e dischi fissi(Anche le schede video ce l'hanno, ma non l'hanno ancora ottenuto). Quindi, c'è un processore XXX con una cache L2 da 1 MB e esattamente lo stesso processore XYZ con una cache da 2 MB. Indovina quale è meglio? Ah - non farlo subito!

La memoria cache è un buffer in cui vengono aggiunte cose che possono e/o devono essere messe da parte per dopo. Il processore fa il lavoro e si verificano situazioni in cui i dati intermedi devono essere archiviati da qualche parte. Bene, ovviamente nella cache! - dopotutto, è di ordini di grandezza più veloce della RAM, tk. è nel die stesso del processore e di solito funziona alla stessa frequenza. E poi, dopo un po', recupererà questi dati e li elaborerà di nuovo. In parole povere, come una selezionatrice di patate su un nastro trasportatore, che ogni volta che qualcosa di diverso da una patata (carota) si imbatte, lo getta in una scatola. E quando è pieno, si alza e lo porta nella stanza accanto. In questo momento, il trasportatore si ferma e viene osservato il minimo. Il volume della scatola è la cache in questa analogia. E quanto ti serve: 1 MB o 12? È chiaro che se il suo volume è piccolo, ci vorrà troppo tempo per estrarlo e sarà semplice, ma da qualche volume il suo ulteriore aumento non darà nulla. Bene, il selezionatore avrà una scatola per 1000 kg di carote - sì, non ne avrà così tanto per l'intero turno e questo NON lo renderà DUE VOLTE PIÙ VELOCE! C'è un'altra sottigliezza: una cache di grandi dimensioni può causare un aumento dei ritardi nell'accesso, in primo luogo e, allo stesso tempo, aumenta la probabilità di errori, ad esempio durante l'overclocking, in secondo luogo. (Puoi leggere COME determinare la stabilità / instabilità del processore in questo caso e scoprire che l'errore si verifica proprio nella sua cache, testare L1 e L2 - puoi leggere qui.) In terzo luogo, la cache consuma un'area decente di ​​Il cristallo e il budget del transistor del circuito del processore. Lo stesso vale per la memoria cache del disco rigido. E se l'architettura del processore è robusta, richiederà almeno 1024 Kb di cache in molte applicazioni. Se hai HDD veloce– 16 Mb o anche 32 Mb sono appropriati. Ma nessun 64 MB di cache lo renderà più veloce se si tratta di un taglio chiamato versione verde (Green WD) con una velocità di 5900 invece dei 7200 richiesti, anche se quest'ultima ha 8 MB. Quindi i processori Intel e AMD usano questa cache in modo diverso (generalmente AMD è più efficiente e i loro processori sono spesso a proprio agio con valori più piccoli). Inoltre, Intel ha una cache condivisa, mentre AMD ne ha una personale per ogni core. La cache L1 più veloce processori AMDè 64Kb ciascuno per dati e istruzioni, il doppio di quello di Intel. La cache L3 è solitamente presente in migliori processori piace fenomeno AMD II 1055T X6 Socket AM3 2.8GHz o concorrente Intel Core i7-980X. Prima di tutto, i giochi amano grandi quantità di cache. E a molti non piacciono i contanti applicazioni professionali(vedi Computer per rendering, editing video e applicazioni professionali). Più precisamente, i più esigenti ne sono generalmente indifferenti. Ma quello che non dovresti assolutamente fare è scegliere un processore in base alle dimensioni della cache. Il vecchio Pentium 4 nelle sue ultime manifestazioni aveva anche 2 MB di cache a frequenze operative ben oltre i 3 GHz: confronta le sue prestazioni con un economico Celeron E1 dual-core *** operante a frequenze di circa 2 GHz. Non lascerà nulla di intentato dal vecchio. Un esempio più recente è l'E8600 dual-core ad alta frequenza che costa quasi $ 200 (apparentemente a causa della cache da 6 MB) e l'Athlon II X4-620 da 2,6 GHz, che ha solo 2 MB. Questo non impedisce ad Athlone di macellare un concorrente per una noce.

Come si può vedere dai grafici, nessuno dei due programmi complessi, né nei giochi ad alta intensità di processore, nessuna cache sostituirà i core aggiuntivi. Athlon con 2 MB di cache (rosso) supera facilmente Cor2Duo con 6 MB di cache anche a una frequenza inferiore e quasi la metà del costo. Inoltre, molte persone dimenticano che la cache è presente nelle schede video, perché, in generale, hanno anche dei processori. Un esempio recente è la scheda video GTX460, dove riescono non solo a tagliare il bus e la quantità di memoria (che l'acquirente indovinerà) - ma anche la cache dello shader, rispettivamente, da 512Kb a 384Kb (che l'acquirente NON indovinerà ). E questo aggiungerà anche il suo contributo negativo alla performance. Sarà anche interessante scoprire la dipendenza delle prestazioni dalle dimensioni della cache. Esaminiamo quanto velocemente cresce con un aumento della dimensione della cache usando l'esempio dello stesso processore. Come sapete, i processori delle serie E6***, E4*** ed E2*** differiscono solo per la dimensione della cache (rispettivamente 4, 2 e 1 MB). Lavorando per la stessa frequenza 2400MHz mostrano i seguenti risultati.

Come puoi vedere, i risultati non sono troppo diversi. Dirò di più - se fosse coinvolto un processore con una capacità di 6 MB - il risultato aumenterebbe un po' di più, perché. i processori raggiungono la saturazione. Ma per i modelli con 512Kb, il calo sarebbe evidente. In altre parole, 2 MB sono sufficienti anche nei giochi. Riassumendo, possiamo trarre la seguente conclusione: la cache è buona quando GIÀ c'è molto di tutto il resto. È ingenuo e stupido cambiare la velocità del disco rigido o il numero di core del processore per dimensione della cache allo stesso costo, perché anche la scatola di smistamento più capiente non può sostituire un altro selezionatore. buoni esempi.. Ad esempio, il Pentium Dual-Core nella prima revisione del processo a 65 nm aveva 1 MB di cache per due core (serie E2160 e simili), e la successiva revisione a 45 nm della serie E5200 e inoltre ha già 2 MB, tutti gli altri a parità di condizioni (e, soprattutto, il PREZZO). Certo, vale la pena scegliere quest'ultimo.

compua.com.ua

Che cos'è una cache, perché è necessaria e come funziona

Qual è il posto più sporco su un computer? Pensi al cestino? Cartelle utente? Sistema di raffreddamento? Non ho indovinato! Il posto più sporco è la cache! Dopotutto, deve essere costantemente pulito!

In effetti, ci sono molte cache su un computer e non fungono da discarica, ma da acceleratori per apparecchiature e applicazioni. Da dove viene la loro reputazione di "scivolo sistemico della spazzatura"? Vediamo cos'è una cache, come succede, come funziona e perché di tanto in tanto ha bisogno di essere pulita.

La cache o memoria cache è una memoria speciale di dati utilizzati di frequente, il cui accesso viene effettuato decine, centinaia e migliaia di volte più velocemente della RAM o di altri supporti di memorizzazione.

Applicazioni (browser web, lettori audio e video, editor di database, ecc.), componenti del sistema operativo (cache miniature, cache DNS) e hardware (cache CPU L1-L3, framebuffer chip grafico, drive buffer). È implementato in diversi modi: software e hardware.

  • La cache del programma è facile cartella separata oppure un file in cui vengono caricati, ad esempio, immagini, menu, script, contenuti multimediali e altri contenuti dei siti visitati. Questa è la cartella in cui il browser si immerge per la prima volta quando si apre di nuovo una pagina web. Scambio di alcuni contenuti da memoria locale ne velocizza il caricamento e riduce il traffico di rete.

  • Negli hard disk, in particolare, la cache è un chip RAM separato con una capacità di 1-256 Mb, che si trova sulla scheda elettronica. Riceve le informazioni lette dallo strato magnetico e non ancora caricate nella RAM, nonché i dati più spesso richiesti sistema operativo.

  • Un moderno processore centrale contiene 2-3 livelli principali di memoria cache (è anche chiamato over RAM) posti sotto forma di moduli hardware sullo stesso chip. Il volume più veloce e più piccolo (32-64 Kb) è la cache di livello 1 (L1): funziona alla stessa frequenza del processore. L2 si trova nella posizione intermedia in termini di velocità e capacità (da 128 Kb a 12 Mb). E L3 è il più lento e voluminoso (fino a 40 Mb), è assente su alcuni modelli. La velocità di L3 è solo bassa rispetto alle sue controparti più veloci, ma è anche centinaia di volte più veloce della RAM più produttiva.

La memoria scratchpad del processore viene utilizzata per memorizzare i dati utilizzati costantemente, pompati dalla RAM e le istruzioni del codice macchina. Più è grande, più veloce è il processore.

Oggi, tre livelli di memorizzazione nella cache non sono più il limite. Con l'avvento dell'architettura Ponte sabbioso Intel ha implementato una cache L0 aggiuntiva nei suoi prodotti (progettata per memorizzare microistruzioni decrittografate). E le CPU più performanti hanno anche una cache di quarto livello, realizzata sotto forma di un microcircuito separato.

Schematicamente, l'interazione della cache dei livelli L0-L3 è simile a questa (usando l'esempio Intel Xeon):

Linguaggio umano su come funziona

Per capire come funziona la memoria cache, immagina una persona che lavora a una scrivania. Le cartelle e i documenti che usa sempre sono sul tavolo (nella cache). Per accedervi, basta allungare la mano.

I documenti di cui ha bisogno meno spesso vengono archiviati nelle vicinanze degli scaffali (nella RAM). Per prenderli, devi alzarti e camminare per pochi metri. E ciò con cui una persona non lavora attualmente è stato archiviato (registrato su disco fisso).

Più ampio è il tavolo, più documenti ci si adatteranno, il che significa che il dipendente sarà in grado di ricevere accesso veloce a una maggiore quantità di informazioni (maggiore è la capacità della cache, più velocemente il programma o il dispositivo funziona in teoria).

A volte commette errori: tiene sul tavolo carte che contengono informazioni errate e le usa nel suo lavoro. Di conseguenza, la qualità del suo lavoro è ridotta (gli errori nella cache portano a guasti nel funzionamento di programmi e apparecchiature). Per correggere la situazione, il dipendente deve scartare i documenti con errori e mettere quelli corretti al loro posto (svuotare la memoria cache).

La tabella ha un'area limitata (la memoria cache ha una capacità limitata). A volte può essere espansa, ad esempio spostando una seconda tabella, a volte no (la dimensione della cache può essere aumentata se tale possibilità è prevista dal programma; la cache hardware non può essere modificata, poiché è implementata nell'hardware) .

Un altro modo per velocizzare l'accesso a più documenti di quanti ne può contenere il tavolo è trovare un assistente che servirà carta al lavoratore dallo scaffale (il sistema operativo può allocare parte della RAM inutilizzata per memorizzare nella cache i dati del dispositivo). Ma è ancora più lento che toglierli dal tavolo.

I documenti a portata di mano dovrebbero essere pertinenti per le attività correnti. Questa è responsabilità del dipendente stesso. È necessario ripulire le carte regolarmente (l'estrusione di dati irrilevanti dalla memoria cache ricade "sulle spalle" delle applicazioni che la utilizzano; alcuni programmi hanno la funzione pulizia automatica cache).

Se un dipendente dimentica di mantenere l'ordine sul posto di lavoro e di mantenere aggiornata la documentazione, può disegnare un programma di pulizia del tavolo per se stesso e usarlo come promemoria. Come ultima risorsa, affidalo a un assistente (se un'applicazione che dipende dalla memoria cache è diventata più lenta o carica spesso dati obsoleti, usa strumenti di pulizia della cache pianificati o esegui questa operazione manualmente ogni pochi giorni).

In realtà ci imbattiamo in "funzioni di memorizzazione nella cache" ovunque. Questo è l'acquisto di prodotti per il futuro, e varie attività, che facciamo di sfuggita, allo stesso tempo, ecc. In effetti, questo è tutto ciò che ci salva da inutili storie e movimenti del corpo non necessari, snellisce la vita e facilita il lavoro. Il computer fa lo stesso. In una parola, se non ci fosse la cache, funzionerebbe centinaia e migliaia di volte più lentamente. E non ci piacerebbe.

f1comp.ru

Cache, cache, contanti - memoria. A cosa serve la memoria cache? Impatto delle dimensioni e della velocità della cache sulle prestazioni.

Cache - memoria (cache, cache, buffer - eng.) - viene utilizzata nei dispositivi digitali come appunti ad alta velocità. La memoria cache può essere trovata su dispositivi informatici come dischi fissi, processori, schede video, schede di rete, unità CD e molti altri.

Il principio di funzionamento e l'architettura della cache possono essere molto diversi.

Ad esempio, la cache può fungere da normale clipboard. Il dispositivo elabora i dati e li trasferisce a un buffer ad alta velocità, dove il controller trasferisce i dati all'interfaccia. Tale cache ha lo scopo di prevenire errori, controllare l'integrità dei dati dell'hardware o codificare il segnale dal dispositivo in un segnale comprensibile per l'interfaccia, senza ritardi. Tale sistema viene utilizzato, ad esempio, nelle unità CD / DVD dei compact disc.

In un altro caso, la cache può essere utilizzata per memorizzare il codice utilizzato di frequente e quindi accelerare l'elaborazione dei dati. Cioè, il dispositivo non ha bisogno di ricalcolare o cercare i dati, il che richiederebbe molto più tempo della lettura dalla cache. In questo caso, le dimensioni e la velocità della cache giocano un ruolo molto importante.


Questa architettura si trova più spesso su dischi rigidi, Unità SSD e unità centrali di elaborazione (CPU).

Quando i dispositivi sono in esecuzione, nella cache possono essere caricati firmware speciali o programmi di dispatcher, che funzionerebbero più lentamente con la ROM (Read Only Memory).

La maggior parte dei dispositivi moderni utilizza un tipo misto di cache, che può fungere sia da appunti che per memorizzare il codice utilizzato di frequente.

Ci sono diverse funzioni molto importanti implementate per la cache di processori e chip video.

Consolidamento delle unità esecutive. CPU e processori video utilizzano spesso una cache condivisa veloce tra i core. Di conseguenza, se un core ha elaborato le informazioni ed è nella cache, e arriva un comando per la stessa operazione, o per lavorare con questi dati, allora i dati non verranno elaborati nuovamente dal processore, ma verranno prelevati dal cache per ulteriori elaborazioni. Il kernel verrà scaricato per elaborare altri dati. Ciò aumenta notevolmente le prestazioni nello stesso tipo, ma con calcoli complessi, soprattutto se la cache è grande e veloce.

La cache condivisa consente anche ai core di lavorare direttamente con essa, bypassando la RAM lenta.

Metti nella cache le istruzioni. C'è una cache di primo livello molto veloce generale per istruzioni e altre operazioni, o una dedicata per loro. Più istruzioni incorporate ha un processore, maggiore è la cache delle istruzioni di cui ha bisogno. Ciò riduce la latenza della memoria e consente al blocco di istruzioni di funzionare in modo quasi indipendente.Quando è pieno, il blocco di istruzioni inizia ad essere periodicamente inattivo, il che rallenta la velocità di calcolo.

Altre funzioni e caratteristiche.

È interessante notare che nelle CPU (Central Processing Unit) viene utilizzata la correzione degli errori hardware (ECC), poiché un piccolo errore nella cache può causare un errore continuo nell'ulteriore elaborazione di questi dati.

Nella CPU e nella GPU è presente una gerarchia di memoria cache che consente di separare i dati per i singoli core e quelli generali. Sebbene quasi tutti i dati dalla cache di secondo livello vengano ancora copiati al terzo livello generale, ma non sempre. Il primo livello di cache è il più veloce e ogni successivo è più lento, ma di dimensioni maggiori.

Per i processori, tre o meno livelli di cache sono considerati normali. Ciò consente di ottenere un equilibrio tra velocità, dimensione della cache e dissipazione del calore. È difficile trovare più di due livelli di cache nei processori video.

Dimensioni della cache, impatto sulle prestazioni e altre caratteristiche.

Naturalmente, più grande è la cache, più dati può archiviare ed elaborare, ma qui c'è un problema serio.

Grande cache significa grande budget per i transistor. Nei processori server (CPU), la cache può utilizzare fino all'80% del budget del transistor. In primo luogo, ciò influisce sul costo finale e, in secondo luogo, sull'aumento del consumo di energia e della dissipazione del calore, che non è paragonabile a un aumento delle prestazioni di diversi punti percentuali.

Uno di le caratteristiche più importanti processore è la sua memoria cache. Non solo il suo volume è importante, ma anche la velocità di accesso, così come la sua distribuzione per livelli. Assolutamente tutti i processori desktop e anche alcuni mobili sono dotati di questa memoria. In questa parte parleremo dello scopo pratico di questa caratteristica.

Struttura e a cosa serve la cache

cache- Questa è una memoria che ha un'elevata velocità di lettura/scrittura ed è progettata per memorizzare temporaneamente i dati più utilizzati. Traducendo in un linguaggio semplice, serve per velocizzare il processore durante l'esecuzione di compiti dello stesso tipo.

Un altro nome per la memoria cache è memoria statica., la sua caratteristica importante è la costruzione di ciascuna delle sue celle su una cascata di transistor (cioè una cella sembra un gruppo di transistor), ogni cascata contiene in media fino a 10 transistor. Poiché la velocità di commutazione del transistor tra gli stati è estremamente elevata, la velocità della memoria è molto elevata. Ma c'è anche un punto negativo, sta nelle dimensioni complessive di questo tipo di memoria, oltre che nel suo alto costo.

I primi proprietari di questo tipo di memoria cache furono i processori Intel 80386 (386°) e si trovava su scheda madre. In futuro, su più recenti Processori Intel L'80486 (486°) ha aggiunto questo tipo di memoria al die del processore stesso, mantenendolo anche sulla scheda madre. In base a questa caratteristica, erano divisi in due livelli, quello che si trova sul chip stesso è diventato noto come cache di primo livello (L1) e quello sulla scheda madre - la cache di secondo livello (L2). Ma ai nostri giorni, anche la cache di secondo livello è stata trasferita al die del processore. Tra di loro, questi tipi di memoria funzionano secondo due possibili schemi: inclusiva (duplicazione della memoria in entrambi i livelli) ed esclusiva (i dati a ciascun livello sono esclusivi).

Come accennato in precedenza, la memoria cache funge da buffer in cui comandi eseguibili e dati utilizzati dalla RAM (Random Access Memory). Sebbene le sue dimensioni siano estremamente ridotte per gli standard odierni (fino a 32 MB), fornisce un notevole aumento delle prestazioni. La connessione tra memoria cache e RAM avviene secondo uno dei possibili schemi: mappatura diretta, tipo-associativa, associativa. Non ha senso spiegare questi circuiti, dubito che al momento dell'acquisto qualcuno sarà in grado di risponderti quale circuito viene utilizzato in un particolare processore.

Livelli di cache del processore

Maggioranza processori moderni dotato di una memoria cache di due o tre livelli (ora il terzo può essere posizionato sulla scheda madre):

Cache di primo livello(L1)- il più veloce di tutti i livelli, situato in prossimità del core del processore, grazie al quale ha il tempo di risposta più breve e opera a una velocità vicina a quella del processore. Un'altra funzione di questo tipo di memoria è fornire uno scambio tra il processore e il secondo livello di memoria cache.

Cache di secondo livello (L2)- ha più memoria del primo, ma questo si traduce in un momento così negativo come una diminuzione della velocità. Può essere generale per l'intero processore o individuale per ciascun core. Uno degli scopi è un buffer tra il primo e il terzo livello.

L3 cache (L3)- la più lenta delle cache (ma comunque significativamente più veloce della RAM), ma ha anche la maggiore quantità di memoria. Se il primo livello è individuale per ogni core, allora questo è comune all'intero processore.

Riassumendo

La cache del processore è la sua RAM personale ultra veloce. Serve a memorizzare i dati utilizzati più di frequente dal processore durante l'esecuzione di una determinata attività. Possono esserci tre livelli di memoria cache del processore: il più veloce è il primo livello e il più grande, ma anche il più lento, è il terzo.

Articoli correlati in alto