Wat is Scratchpad-geheugen?

Gegevenstoegang is een cruciaal onderdeel van het CPU-ontwerp. CPU's werken op extreem hoge snelheden, verwerken meerdere instructies per klokcyclus en hebben dus toegang nodig tot veel gegevens. Het overgrote deel van die gegevens wordt opgeslagen op de opslagmedia. Opslagapparaten zijn echter onmogelijk traag in vergelijking met een CPU. Opslagapparaten zijn ook aanzienlijk beter in sequentiële uitlezingen dan in willekeurige uitlezingen, hoewel SSD's in dit opzicht (en vele andere) een duidelijke verbetering bieden ten opzichte van HDD's.

Systeem-RAM is ontworpen om te worden geladen met alle gegevens die de CPU nodig heeft voor de software die momenteel wordt uitgevoerd. RAM heeft een aanzienlijk lagere latentie dan opslag, en is ook specifiek afgestemd op hoge willekeurige leesprestaties. Maar hoe snel modern RAM ook is, het is nog steeds niets vergeleken met de CPU met latenties in de orde van grootte van 400 klokcycli.

Om de latentie verder te verminderen, bevatten de meeste moderne CPU's niveaus van cachegeheugen. Meestal worden deze de L1-, L2- en L3-caches genoemd. L1 is erg snel en neemt meestal de orde van 5 klokcycli in beslag om toegang te krijgen. L2 is iets langzamer, in de orde van grootte van 20 cycli. L3 is nog langzamer met ongeveer 200 cycli. Hoewel L1 ongelooflijk snel is, is hij ook klein. Veel van zijn snelheid komt voort uit het feit dat kleinere caches minder tijd nodig hebben om te zoeken. L2 is groter dan L1 maar kleiner dan L3, wat nog kleiner is dan systeem-RAM. Het is van cruciaal belang om de grootte van deze caches goed in evenwicht te houden om een ​​krachtige CPU te krijgen. Cache-hitratio's zijn belangrijk, maar je moet het aantal hits in evenwicht brengen met hoe lang het duurt om die hit te krijgen, vandaar de niveaus.

Kladblok geheugen

Merk op dat kladblokgeheugen niet past in de traditionele geheugenhiërarchie. Dat komt omdat het niet wordt gebruikt in de meeste consumenten-CPU's. Het geheugen van het kladblok is ontworpen om te worden gebruikt zoals een kladblok in het echte leven. U noteert tijdelijke informatie die u moet onthouden, maar niet hoeft op te bergen. Meestal verwerkt een CPU gegevens en heeft dat resultaat dan meteen weer nodig. Het kan het naar het geheugen kopiëren, maar om er snel toegang toe te krijgen, moet het het ook in de cache bewaren.

Het geheugen van het kladblok vult in wezen hetzelfde gat als de L1-cache. Het is zo snel mogelijk toegankelijk, vaak in cyclustellingen van één cijfer. Om dit te beheren, is het ook relatief klein. Er zijn echter twee belangrijke verschillen tussen L1 en kladblokgeheugen. Ten eerste is het kladblokgeheugen direct adresseerbaar. Ten tweede wordt het gedeeld tussen alle cores en processors.

Verschillen tussen cache en kladblok

De CPU-cache is in wezen transparant voor de CPU, hij kan daar niet opzettelijk gegevens plaatsen en de inhoud ervan kan niet worden geprogrammeerd. In plaats daarvan vraagt ​​de CPU gewoon gegevens op uit het RAM-geheugen en krijgt deze sneller terug, soms aanzienlijk sneller dan verwacht. Toestaan ​​dat het kladblok adresseerbaar is, betekent dat code precies kan specificeren welke gegevens in het kladblok moeten staan. Dit kan handig zijn, hoewel moderne caching-algoritmen uitstekend zijn met hitpercentages van 95-97% die worden verwacht bij standaardworkloads.

L1-cache is altijd vergrendeld op een individuele verwerkingskern. Geen enkele andere verwerkingskern heeft er toegang toe. Dit betekent dat als meerdere kernen dezelfde gegevens nodig hebben, ze deze kunnen dupliceren in hun respectievelijke L1-caches. In sommige CPU-architecturen is de L2 per kern, in andere wordt hij gedeeld door een klein aantal of zelfs alle kernen. L3 wordt meestal gedeeld door alle kernen. Door de cache tussen kernen te delen, hebben twee of meer kernen toegang tot dezelfde gegevens zonder deze te dupliceren. Het stelt ook een kern in staat om meer dan zijn deel te gebruiken wanneer het de behoefte heeft en de cache de ruimte heeft.

Scratchpad werkt op dezelfde manier als de L1 in termen van snelheid en capaciteit, maar wordt gedeeld door alle cores. Dit maakt zeer snelle toegang mogelijk tot specifieke gegevens waarop wordt gereageerd in een multithreaded werklast. Het geheugen van het kladblok kan zelfs worden gedeeld tussen verschillende CPU's op moederborden met meerdere sockets.

Een nadeel van het geheugen van het kladblok is dat er mogelijk te veel op wordt vertrouwd. Om er rechtstreeks toegang toe te hebben, kan software afhankelijk zijn van de aanwezigheid ervan in bepaalde hoeveelheden. In dit geval zou het dan niet in staat zijn om op CPU's te draaien zonder zoveel kladblokgeheugen. Cachelagen hebben eenvoudigweg geen last van dit probleem en zijn dus beter geschikt voor algemeen gebruik.

Gebruik gevallen

Scratchpad-geheugen wordt meestal aangetroffen in serversystemen met meerdere sockets die zijn ontworpen voor HPC (High-Performance Computing). Daar maakt de combinatie van snelheid en gedeelde toegang het handig voor zeer parallelle workloads.

Scratchpad-geheugen wordt ook gebruikt in veel kleinere processors. Ingebouwde processors, vaak MPSoC's. Een embedded processor is vaak relatief energiezuinig en gespecialiseerd voor een specifieke taak. Deze specialisatie wordt vaak vertegenwoordigd in hardware-optimalisaties. Vooral in een systeem met meerdere processors op een chip kan gedeeld hogesnelheidsgeheugen aanzienlijke latentieverbeteringen opleveren voor meerdere verschillende processors. Dit soort CPU's zijn vaak erg vast van ontwerp. Gameconsoles zien bijvoorbeeld al veel optimalisaties voor hardware-ontwerp en kunnen dus goed gebruik maken van dergelijke functies zonder zich zorgen te hoeven maken over achterwaartse of voorwaartse compatibiliteit.

Conclusie

Scratchpad-geheugen is vergelijkbaar met L1-cache, maar heeft een aantal verschillen die de use-cases veranderen. In plaats van een cache te zijn, is het direct adresseerbaar, waardoor gegevens specifiek kunnen worden toegewezen aan bijzonder snel geheugen. Het wordt ook gedeeld tussen alle processorkernen en -processors, waardoor het bijzonder nuttig is bij zwaar multithreaded werklasten.



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.