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

Wat te Doen Als Powerbeats Pro Niet Opladen in de Case

Wat te Doen Als Powerbeats Pro Niet Opladen in de Case

Als uw Powerbeats Pro niet opladen, gebruik dan een andere voedingsbron en maak uw oordopjes schoon. Laat de case open terwijl u uw oordopjes oplaadt.

De Basisprincipes van 3D-printen: Een Onmisbare Onderhoudschecklist

De Basisprincipes van 3D-printen: Een Onmisbare Onderhoudschecklist

Het behoud van uw apparatuur in goede staat is essentieel. Hier zijn enkele nuttige tips om uw 3D-printer in topconditie te houden.

Canon Pixma MG5220: Scannen Zonder Inkt

Canon Pixma MG5220: Scannen Zonder Inkt

Hoe te scannen met de Canon Pixma MG5220 wanneer je zonder inkt zit.

5 Redenen waarom je laptop oververhit

5 Redenen waarom je laptop oververhit

Ontdek enkele mogelijke redenen waarom je laptop oververhit raakt, samen met tips en trucs om dit probleem te vermijden en je apparaat koel te houden.

Hoe een SSD te installeren op desktop- en laptop-pc's

Hoe een SSD te installeren op desktop- en laptop-pc's

Heb je net een SSD gekocht in de hoop de interne opslag van je pc te upgraden maar weet je niet hoe je een SSD moet installeren? Lees dit artikel nu!

Hoe GeForce Now Foutcode 0xC272008F op te lossen

Hoe GeForce Now Foutcode 0xC272008F op te lossen

Je maakt je klaar voor een avond gamen en het wordt een grote – je hebt net “Star Wars Outlaws” opgepakt op de GeForce Now streamingdienst. Ontdek de enige bekende workaround die je laat zien hoe je GeForce Now Foutcode 0xC272008F kunt oplossen, zodat je weer Ubisoft-games kunt spelen.

3D Printen Basisprincipes: Onderhoudstips voor uw 3D-printer

3D Printen Basisprincipes: Onderhoudstips voor uw 3D-printer

Het onderhouden van uw 3D-printers is zeer belangrijk om de beste resultaten te behalen. Hier zijn enkele belangrijke tips om in gedachten te houden.

Hoe de IP-adres van een printer te vinden

Hoe de IP-adres van een printer te vinden

Problemen met het vinden van het IP-adres dat je printer gebruikt? Wij laten je zien hoe je het kunt vinden.

Hoe AirPods te Gebruiken met Samsung Telefoons

Hoe AirPods te Gebruiken met Samsung Telefoons

Als je onzeker bent of je AirPods voor je Samsung-telefoon moet kopen, kan deze gids je zeker helpen. De meest voor de hand liggende vraag is of de twee compatibel zijn, en het antwoord is: ja, dat zijn ze!

Wat doet Scroll Lock?

Wat doet Scroll Lock?

Scroll lock is een toets op de meeste toetsenborden, hoewel de meeste mensen het nooit echt gebruiken. Ontdek het nut en gebruik van scroll lock in moderne software.