image/svg+xml
Logo Tom's Hardware
  • Hardware
  • Videogiochi
  • Mobile
  • Elettronica
  • EV
  • Scienze
  • B2B
  • Quiz
  • Tom's Hardware Logo
  • Hardware
  • Videogiochi
  • Mobile
  • Elettronica
  • EV
  • Scienze
  • B2B
  • Quiz
  • Forum
  • Sconti & Coupon
Sconti & Coupon
Accedi a Xenforo
Immagine di ChatGPT appoggia la psicosi per promuovere i servizi a pagamento ChatGPT appoggia la psicosi per promuovere i servizi a pagam...
Immagine di Github da record, ma la celebrazione diventa un meme globale Github da record, ma la celebrazione diventa un meme globale...

Organizzazione cache

Il processore per molti è un pezzo silicio che fa andare il computer, ma all'interno nasconde tante cose. In questo primo articolo affrontiamo il tema della frequenza e delle cache.

Advertisement

Quando acquisti tramite i link sul nostro sito, potremmo guadagnare una commissione di affiliazione. Scopri di più
Avatar di Tom's Hardware

a cura di Tom's Hardware

Pubblicato il 28/11/2013 alle 08:20 - Aggiornato il 26/03/2015 alle 12:12
  • Come funziona il computer: il processore - Parte 1
  • Bus dati di I/O, bus indirizzi e registri interni
  • Modalità del processore: Real Mode
  • IA-32 Mode: 32-Bit e Virtual Real
  • IA-32e 64-Bit Extension Mode (x64, AMD64, x86-64, EM64T)
  • Benchmark per i processori e confronto prestazioni
  • Efficienza del processore
  • Memoria cache
  • Come lavora la cache
  • Cache Level 2 e Level 3
  • Prestazioni cache e progetto
  • Organizzazione cache

Organizzazione cache

Sappiamo che la cache immagazzina copie di dati da vari indirizzi nella memoria principale. Dato che la cache non può mantenere copie del dato da tutti gli indirizzi nella memoria principale simultaneamente, dovrebbe esserci un modo per sapere quali indirizzi sono attualmente copiati nella cache così che, se c'è bisogno del dato da quegli indirizzi, può leggere dalla cache piuttosto che dalla memoria principale.

Questa funzione è realizzata attraverso la Tag RAM, una memoria aggiuntiva nella cache che mantiene un indice degli indirizzi che sono stati copiati nella cache. Ogni linea di memoria cache ha un corrispondente address tag che immagazzina il main memory address del dato attualmente copiato all'interno della particolare linea cache. Se il dato di un particolare main memory address è necessario, il controller della cache può velocemente ricercare gli address tag per vedere se l'indirizzo richiesto è stato attualmente immagazzinato nella cache (hit) o no (miss). Se il dato è lì, può leggerlo dalla cache più veloce; se non c'è, deve leggerlo dalla più lenta memoria principale.

Le varie strade per organizzare o mappare i tag influenzano il funzionamento della cache, che si può mappare come completamente associativa, direct mapped (o anche a mappatura diretta) o set associative (o anche parzialmente associativa).

In una cache mappata completamente associativa, quando si fa una richieta per un dato da uno specifico main memory address, l'indirizzo è confrontato tra tutti gli entries address tag nella cache tag RAM. Se il main memory address richiesto si trova nel tag (hit) la corrispondente locazione nella cache viene restituita. Se l'indirizzo richiesto non si trova nelle entries dell'address tag, c'è un miss, e il dato deve essere recuperato nel memory address principale anziché nella cache.

In una cache a mappatura diretta specifici indirizzi nella memoria principale sono stati preassegnati verso linee localizzate nella cache dove saranno immagazzinati. Perciò la tag RAM può usare meno bit dato che solo un address tag va controllato, e ogni tag ha bisogno di archiviare solo i possibili indirizzi che una certa linea può contenere. Questo risulta anche anche in un'operatività superiore dato che solo un tag address deve essere controllato per un dato memory address.

Una cache parzialmente associativa è una cache a mappatura diretta modificata. Una cache a mappatura diretta ha solo un set di associazioni di memoria, il che significa che un dato memory address si può mappare all'interno o associare a una specifica locazione cache line determinata.

Una cache parzialmente associativa two-way ha due set, così che una data locazione di memoria si può in una delle due posizioni. Una four-way può immagazzinare un determinato memory address in quattro differenti locazioni cache line (o set).

Aumentanto questa capacità cresce la possibilità di trovare un valore, ma i tag adress vanno tag address controllati quando si cerca una specifica locazione nella cache. In sostanza, ogni set in una cache parzialmente associativa n-way è una sottocache che ha associazioni con ogni main memory address. Aumentando il numero di sottocache o set, la cache diventa completamente associativa – una situazione nella quale ogni memory address si può immagazzinare in ogni cache line location. In quel caso una cache parzialmente associativa n-way è un compromesso tra una cache completamente associativa e una cache a mappatura diretta.

In generale la cache a mappatura diretta è la più veloce nel localizzare e recuperare un dato perché deve guardare a solo uno specifico tag address per un certp memory address. Tuttavia risulta anche in più errori (miss) generali rispetto ad altri approcci. Una cache totalmente associativa offre l'hit radio più alto ma è più lenta nel localizzare e recuperare il dato che ha molti più address tag da controllare. Una cache parzialmente associativa n-way è infine un compromesso tra l'ottimizzare la velocità e l'hit ratio, ma più associatività c'è e più hardware (tag bit, circuiti di comparazione, e così via) è necessario, rendendo la cache molto più costosa.

Ovviamente il progetto della cache è una serie di compromessi e ciò che funziona meglio in un caso potrebbe non essere il meglio in un altro: sistemi multitasking come Windows sono buoni esempi di ambienti nei quali il processore deve operare su differenti aree di memoria simultaneamente e nelle quali una cache n-way può migliorare le prestazioni.

I contenuti della cache infatti devono essere sempre in sincronia con quelli della memoria principale per assicurare che il processore funzioni con dati reali. Per questa ragione la cache interna nella famiglia 486 era una cache write-through: significa che quando il processore scrive un'informazione nella cache, è automaticamente scritta anche nella memoria principale.

Per confronto, i Pentium e i chip successivi hanno una cache write-back: letture e scritture sono entrambe in cache, così migliorano le prestazioni.

Un'altra caratteristica dei migliori progetti di cache è che sono "nonblocking": è una tecnica per ridurre o nascondere i ritardi della memoria sfruttando la sovrapposizione delle operazioni del processore con gli accessi dati. Una cache nonblocking permette all'esecuzione di un programma di procedere allo stesso tempo con gli errori (miss) purché siano rispettati determinati vincoli di dipendenza. In altre parole, si può gestire un cache miss molto meglio e consentire al processore di continuare a lavorare su attività slegate dai dati mancanti.

Il controller integrato nel processore è inoltre responsabile per il controllo del bus di memoria quando processi alternativi, noti come bus master, sono attivi nel sistema. Questo processo di osservazione del bus è noto come bus snooping: se un bus master device scrive in un'area della memoria che è archiviata nella cache del processore, i contenuti della cache e della memoria non concordano più. Il controller marca questo dato come invalido e ricarica la cache durante i successivi accessi di memoria, preservando l'integrità del sistema.

Tutti i design dei processori con cache memory includono una funzione nota come translation lookaside buffer (TLB) per migliorare il recupero dai cache miss. Il TLB è una tabella all'interno del processore che archivia l'informazione circa la posizione di memory address usati di recente. Il TLB velocizza la translazione di indirizzi virtuali in indirizzi di memoria fisica.

Aumentando la frequenza di clock il tempo dei cicli decresce. I sistemi più recenti non hanno più la cache sulla motherboard perché la memoria di sistema più veloce usata può tenere il passo della velocità della motherboard. I processori moderni integrano la cache L2 nel die del processore come la L1 e ci sono CPU anche con cache L3. Questo permette alla L2/L2 di lavorare alla massima velocità perché è ora parte del core.

Leggi altri articoli
  • Come funziona il computer: il processore - Parte 1
  • Bus dati di I/O, bus indirizzi e registri interni
  • Modalità del processore: Real Mode
  • IA-32 Mode: 32-Bit e Virtual Real
  • IA-32e 64-Bit Extension Mode (x64, AMD64, x86-64, EM64T)
  • Benchmark per i processori e confronto prestazioni
  • Efficienza del processore
  • Memoria cache
  • Come lavora la cache
  • Cache Level 2 e Level 3
  • Prestazioni cache e progetto
  • Organizzazione cache

👋 Partecipa alla discussione! Scopri le ultime novità che abbiamo riservato per te!

0 Commenti

⚠️ Stai commentando come Ospite . Vuoi accedere?


Questa funzionalità è attualmente in beta, se trovi qualche errore segnalacelo.

Segui questa discussione
Advertisement

Non perdere gli ultimi aggiornamenti

Newsletter Telegram

I più letti di oggi


  • #1
    Cade l'ultimo baluardo delle RAM DDR4: ora è davvero finita
  • #2
    Migliori condizionatori portatili senza tubo (giugno 2025)
  • #3
    Ecco il primo chip al mondo progettato completamente dall'IA
  • #4
    Rischio incendio per 1 milione di power bank Anker, ecco quali
  • #5
    Space Marine Master Edition è un flop, totalmente bocciato su Steam
  • #6
    PlayStation 6 avrà un approccio diverso, ecco cosa cambierà
Articolo 1 di 5
Github da record, ma la celebrazione diventa un meme globale
La piattaforma di sviluppo collaborativo più utilizzata al mondo ha raggiunto una pietra miliare storica questa settimana.
Immagine di Github da record, ma la celebrazione diventa un meme globale
Leggi questo articolo
Articolo 2 di 5
ChatGPT appoggia la psicosi per promuovere i servizi a pagamento
Le conseguenze psicologiche dell'interazione prolungata con i modelli di intelligenza artificiale stanno emergendo in tutta la loro complessità.
Immagine di ChatGPT appoggia la psicosi per promuovere i servizi a pagamento
2
Leggi questo articolo
Articolo 3 di 5
NVIDIA sta creando gli SSD più veloci del mondo, ma per farci cosa?
NVIDIA sta collaborando con i partner per sviluppare SSD capaci di raggiungere 100 milioni di operazioni di input/output al secondo.
Immagine di NVIDIA sta creando gli SSD più veloci del mondo, ma per farci cosa?
4
Leggi questo articolo
Articolo 4 di 5
La nuova CPU di Intel torna al passato per sfidare AMD
Intel punta a riconquistare il dominio del PC gaming economico con una nuova proposta che guarda al passato per sfidare AMD
Immagine di La nuova CPU di Intel torna al passato per sfidare AMD
3
Leggi questo articolo
Articolo 5 di 5
Huawei si prepara a colpire NVIDIA dove fa più male
Un brevetto svela l'imminente risposta della Cina alle restrizioni americane, concretizzando le previsioni di Jensen Huang, il, CEO di NVIDIA.
Immagine di Huawei si prepara a colpire NVIDIA dove fa più male
2
Leggi questo articolo
Advertisement
Advertisement

Advertisement

Footer
Tom's Hardware Logo

 
Contatti
  • Contattaci
  • Feed RSS
Legale
  • Chi siamo
  • Privacy
  • Cookie
  • Affiliazione Commerciale
Altri link
  • Forum
Il Network 3Labs Network Logo
  • Tom's Hardware
  • SpazioGames
  • CulturaPop
  • Data4Biz
  • TechRadar
  • SosHomeGarden
  • Aibay

Tom's Hardware - Testata giornalistica associata all'USPI Unione Stampa Periodica Italiana, registrata presso il Tribunale di Milano, nr. 285 del 9/9/2013 - Direttore: Andrea Ferrario

3LABS S.R.L. • Via Pietro Paleocapa 1 - Milano (MI) 20121
CF/P.IVA: 04146420965 - REA: MI - 1729249 - Capitale Sociale: 10.000 euro

© 2025 3Labs Srl. Tutti i diritti riservati.