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

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.