Wat is gedeeld geheugen?

Moderne computers hebben veel geheugen. Elke CPU heeft zijn cache en elk lopend programma krijgt zijn deel van het systeem-RAM toegewezen. Er zijn veel verschillende manieren waarop dit geheugen kan worden gebruikt en toegewezen. Gedeeld geheugen is een concept dat zowel CPU-caches als het gebruik van systeem-RAM op verschillende manieren beïnvloedt.

Gedeeld geheugen in hardware

De meeste moderne CPU's hebben drie cachelagen, aangeduid als L1, L2 en L3. L1 is de kleinste en snelste cache, terwijl L3 de grootste en langzaamste is. Ze zijn echter allemaal sneller dan toegang tot het hoofdgeheugen, waardoor de hitfrequentie van cruciaal belang is voor de prestaties. Veel factoren maken de L1-cache sneller dan L3. Allereerst zijn L1-geheugencellen fysiek groter. Er zijn er ook minder en ze bevinden zich veel dichter bij de CPU-kern, vaak daarbinnen.

Het plaatsen van een cacheblok binnen het die-gebied van een kern brengt extra complexiteit met zich mee op multicore-CPU's. Op dit moment kunt u ervoor kiezen om een ​​cache in elke kern te hebben of buiten de kernen, met name ertussen. Elk heeft zijn voor- en nadelen.

Door een cache in een kern te plaatsen, wordt de toegangslatentie geminimaliseerd, maar het betekent ook dat elke kern zijn eigen cache nodig heeft. Dit betekent dat u mogelijk dubbele cacheregels krijgt in de L1-caches van verschillende kernen, waardoor de efficiëntie van de cacheruimte afneemt. Dit wordt een lokale cache genoemd, en hoewel het geweldig is voor toegangstijd, is het minder efficiënt in het gebruik van cacheruimte en vereist het extra overhead in termen van cache-coherentie.

Een gedeelde cache is een cache die beschikbaar is voor meerdere of alle kernen in een multicore-CPU. Een gedeelde cache betekent dat meerdere kernen toegang hebben tot één exemplaar van specifieke gegevens, waardoor verspilde ruimte als gevolg van duplicatie wordt beperkt. Het betekent ook dat één kern tijdelijk meer dan zijn deel van de cacheruimte kan claimen als hij dat nodig heeft, terwijl de andere kernen dat niet doen. Het gaat wel ten koste van een langere toegangstijd.

Gedeelde caches in de praktijk

Moderne CPU's gebruiken beide concepten, waarbij elke kern een lokale L1-cache heeft. L3-cache wordt meestal gedeeld door veel kernen, maar soms niet allemaal. L2 varieert, maar kan lokaal of gedeeld zijn, afhankelijk van de specifieke CPU-generatiearchitectuur.

Tip: Voor chiplet-CPU's zoals high-end AMD Ryzen-modellen kunnen caches worden gedeeld tussen alle cores op een chiplet in plaats van met alle cores in de hele CPU. Het maakt niet uit met hoeveel kernen een cache wordt gedeeld; ook al zijn het er maar twee, het is nog steeds een gedeelde cache, hoewel het de moeite waard kan zijn om te benadrukken dat deze slechts gedeeltelijk wordt gedeeld.

Opmerking: Systeem-RAM kan ook worden gedeeld tussen meerdere fysieke CPU's op een enkel moederbord of tussen knooppunten in een multi-CPU-systeem.

Gedeeld geheugen in software

Op moderne computers kan de software het fysieke geheugen niet rechtstreeks aanspreken. In plaats daarvan krijgt het een virtueel adressegment toegewezen en vertaalt de computer deze virtuele adressen naar behoefte naar de fysieke adressen. Dit helpt om het geheugen voor individuele processen te isoleren, wat handig is voor de beveiliging.

In sommige gevallen kan het wenselijk zijn om gegevens in het geheugen over te dragen van het ene proces naar het andere. De meest efficiënte manier om dit te doen, is door de twee processen geheugenruimte te laten delen. Op deze manier kunnen beide processen dezelfde gegevens lezen en met elkaar communiceren. Dit helpt ook om systeem-RAM efficiënt te gebruiken, aangezien de gegevens niet worden gedupliceerd.

Door software gedeeld geheugen wordt doorgaans bereikt door één fysieke kopie van de gegevens te bewaren en de toegang daartoe via virtueel geheugen in kaart te brengen voor elk proces dat er toegang toe moet hebben.

Conclusie

Gedeeld geheugen is het concept waarbij één deel van het geheugen toegankelijk is voor meerdere dingen. Dit kan zowel in hardware als software worden geïmplementeerd. CPU-cache kan worden gedeeld tussen meerdere processorkernen. Dit is met name het geval voor hogere niveaus van CPU-cache. Het systeemgeheugen kan ook worden gedeeld tussen verschillende fysieke CPU's in één groter systeem.

In software kan gedeeld geheugen IPC-communicatie tussen processen mogelijk maken. Eén proces wijst geheugen toe zoals gedeeld met een of meer specifieke processen. Die andere processen hebben dan toegang tot die geheugenlocatie via virtuele geheugentoewijzing. Gedeeld geheugen zorgt voor efficiënt gebruik van geheugenruimte door gegevensduplicatie in een beperkte ruimte te voorkomen.



Leave a Comment

Hoe een harde schijf te klonen

Hoe een harde schijf te klonen

In het moderne digitale tijdperk, waarin gegevens een waardevol bezit zijn, kan het klonen van een harde schijf op Windows voor velen een cruciaal proces zijn. Deze uitgebreide gids

Hoe repareer ik het stuurprogramma WUDFRd kan niet worden geladen op Windows 10?

Hoe repareer ik het stuurprogramma WUDFRd kan niet worden geladen op Windows 10?

Krijgt u tijdens het opstarten van uw computer de foutmelding dat het stuurprogramma WUDFRd niet op uw computer kan worden geladen?

Hoe u NVIDIA GeForce Experience-foutcode 0x0003 kunt oplossen

Hoe u NVIDIA GeForce Experience-foutcode 0x0003 kunt oplossen

Ervaar je NVIDIA GeForce-ervaring met foutcode 0x0003 op je desktop? Zo ja, lees dan de blog om te zien hoe u deze fout snel en eenvoudig kunt oplossen.

3D-printen: problemen oplossen met het buigen van de onderkant van de print (olifantenpoot)

3D-printen: problemen oplossen met het buigen van de onderkant van de print (olifantenpoot)

Het kan vervelend zijn om te maken te krijgen met buigingen aan de onderkant van een afdruk. Hier ziet u hoe u de olifantenpoot kunt repareren in 3D-printen.

Basisprincipes van 3D-printen: hechting van het printerbed

Basisprincipes van 3D-printen: hechting van het printerbed

Leren over 3D-printen? Dit is wat u moet weten over ahesie van het printerbed.

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

Fix Roku speelt geen audio of video af

Fix Roku speelt geen audio of video af

Als Roku geen audio of video afspeelt, biedt deze gids voor probleemoplossing u een reeks handige oplossingen om het probleem op te lossen.

Fix Roku-kanaal kon inhoud niet laden

Fix Roku-kanaal kon inhoud niet laden

Als Roku een foutmelding geeft dat de inhoud op de kanalen niet kan worden geladen, kunt u uw apparaat opnieuw opstarten of een nieuw account maken.

Oplossing: Chromebook laadt geen afdrukvoorbeeld

Oplossing: Chromebook laadt geen afdrukvoorbeeld

Als uw Chromebook het afdrukvoorbeeld niet kan laden, start u uw laptop, printer en router opnieuw op. Verwijder bovendien de printer en installeer deze opnieuw.

Een GPU verwijderen van een Windows-pc in 2023

Een GPU verwijderen van een Windows-pc in 2023

Moet u de GPU van uw pc verwijderen? Ga met me mee terwijl ik uitleg hoe je een GPU van je pc verwijdert in deze stapsgewijze handleiding.