Cosè la memoria condivisa?

I computer moderni hanno molta memoria. Ogni CPU ha la sua cache e a ogni programma in esecuzione viene assegnata la sua porzione di RAM di sistema. Ci sono molti modi diversi in cui questa memoria può essere utilizzata e assegnata. La memoria condivisa è un concetto che influenza sia le cache della CPU che l'uso della RAM di sistema in modi diversi.

Memoria condivisa nell'hardware

La maggior parte delle CPU moderne ha tre livelli di cache, indicati come L1, L2 e L3. L1 è la cache più piccola e veloce, mentre L3 è la più grande e lenta. Tuttavia, sono tutti più veloci rispetto all'accesso alla memoria principale, rendendo il tasso di successo fondamentale per le prestazioni. Molti fattori rendono la cache L1 più veloce di L3. Prima di tutto, le celle di memoria L1 sono fisicamente più grandi. Ce ne sono anche meno e si trovano molto più vicino al core della CPU, spesso al suo interno.

Il posizionamento di un blocco cache all'interno dell'area die di un core presenta una complessità aggiuntiva sulle CPU multicore. A questo punto, puoi scegliere di avere una cache in ogni core o al di fuori dei core, in particolare tra di loro. Ognuno ha i suoi vantaggi e svantaggi.

L'inserimento di una cache in un core riduce al minimo la latenza di accesso, ma significa anche che ogni core ha bisogno della propria cache. Ciò significa che potresti ritrovarti con righe di cache duplicate nelle cache L1 di core diversi, riducendo l'efficienza dello spazio della cache. Questa è chiamata cache locale e, sebbene sia ottima per il tempo di accesso, è meno efficiente nell'utilizzo dello spazio della cache e richiede un sovraccarico aggiuntivo in termini di coerenza della cache.

Una cache condivisa è una cache disponibile per più o tutti i core in una CPU multicore. Una cache condivisa significa che più core possono accedere a un'istanza di dati specifici, limitando lo spazio sprecato a causa della duplicazione. Significa anche che un core può richiedere temporaneamente più della sua giusta quota di spazio cache se ne ha bisogno, mentre gli altri core no. Viene a costo di un maggiore tempo di accesso.

Cache condivise in pratica

Le CPU moderne utilizzano entrambi i concetti, con ogni core dotato di una cache L1 locale. La cache L3 tende a essere condivisa tra molti core, anche se a volte non tutti. L2 varia ma può essere locale o condiviso a seconda della specifica architettura di generazione della CPU.

Suggerimento: per le CPU chiplet come i modelli AMD Ryzen di fascia alta, le cache possono essere condivise tra tutti i core su un chiplet piuttosto che con tutti i core nell'intera CPU. Non importa tra quanti core è condivisa una cache; anche se sono solo due, è comunque una cache condivisa, anche se vale la pena sottolineare che è condivisa solo parzialmente.

Nota: la RAM di sistema può anche essere condivisa tra più CPU fisiche su una singola scheda madre o tra nodi in un sistema multi-CPU.

Memoria condivisa nel software

Nei computer moderni, il software non riesce ad indirizzare direttamente la memoria fisica. Invece, viene assegnato un segmento di indirizzo virtuale e il computer traduce questi indirizzi virtuali negli indirizzi fisici secondo necessità. Questo aiuta a isolare la memoria per i singoli processi, il che è utile per la sicurezza.

In alcuni casi, può essere desiderabile trasferire i dati in memoria da un processo all'altro. Il modo più efficiente per farlo è consentire ai due processi di condividere lo spazio di memoria. In questo modo, entrambi i processi possono leggere gli stessi dati e comunicare tra loro. Questo aiuta anche a utilizzare la RAM di sistema in modo efficiente poiché i dati non vengono duplicati.

La memoria condivisa dal software verrà in genere ottenuta conservando una copia fisica dei dati e mappando l'accesso ad essa tramite la memoria virtuale per ogni processo che deve accedervi.

Conclusione

La memoria condivisa è il concetto di avere una sezione di memoria accessibile da più cose. Questo può essere implementato sia nell'hardware che nel software. La cache della CPU può essere condivisa tra più core del processore. Questo è particolarmente vero per livelli più alti di cache della CPU. La memoria di sistema può anche essere condivisa tra varie CPU fisiche in un unico sistema più grande.

Nel software, la memoria condivisa può consentire la comunicazione tra processi IPC. Un processo alloca la memoria come condivisa con uno o più processi specifici. Questi altri processi possono quindi accedere a quella posizione di memoria tramite la mappatura della memoria virtuale. La memoria condivisa aiuta a garantire un uso efficiente dello spazio di memoria evitando la duplicazione dei dati in uno spazio limitato.



Leave a Comment

Cosa Fare Se i Powerbeats Pro Non Si Ricaricano nella Custodia

Cosa Fare Se i Powerbeats Pro Non Si Ricaricano nella Custodia

Se i tuoi Powerbeats Pro non si ricaricano, utilizza un

Basi della Stampa 3D: Una Checklist di Manutenzione Indispensabile

Basi della Stampa 3D: Una Checklist di Manutenzione Indispensabile

Mantenere le attrezzature in buone condizioni è fondamentale. Ecco alcuni utili suggerimenti per mantenere la tua stampante 3D in condizioni ottimali.

Canon Pixma MG5220: Scansione senza inchiostro

Canon Pixma MG5220: Scansione senza inchiostro

Come abilitare la scansione sulla Canon Pixma MG5220 quando si esaurisce l

5 Motivi per cui il tuo Laptop si surriscalda

5 Motivi per cui il tuo Laptop si surriscalda

Scopri alcune delle possibili cause per cui il tuo laptop si surriscalda, insieme a suggerimenti e trucchi per evitare questo problema e mantenere il tuo dispositivo fresco.

Come Risolvere l'Errore GeForce Now Codice 0xC272008F

Come Risolvere l'Errore GeForce Now Codice 0xC272008F

Ti stai preparando per una serata di gioco, ed è una grande serata - hai appena acquistato "Star Wars Outlaws" sul servizio di streaming GeForce Now. Scopri l

Fondamenti della Stampa 3D: Consigli di Manutenzione per la Tua Stampante 3D

Fondamenti della Stampa 3D: Consigli di Manutenzione per la Tua Stampante 3D

Mantenere le stampanti 3D è molto importante per ottenere i migliori risultati. Ecco alcuni consigli importanti da tenere a mente.

Come Trovare l'Indirizzo IP di una Stampante

Come Trovare l'Indirizzo IP di una Stampante

Hai difficoltà a scoprire quale indirizzo IP sta utilizzando la tua stampante? Ti mostreremo come trovarlo.

Come utilizzare gli AirPods con i telefoni Samsung

Come utilizzare gli AirPods con i telefoni Samsung

Se non sei sicuro se acquistare gli AirPods per il tuo telefono Samsung, questa guida può sicuramente aiutarti. La domanda più ovvia è se i due siano compatibili.

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