Hva er Scratchpad-minne?

Datatilgang er en kritisk del av CPU-design. CPUer opererer med ekstremt høye hastigheter, behandler flere instruksjoner hver klokkesyklus og trenger derfor tilgang til mye data. Det store flertallet av disse dataene er lagret på lagringsmediet. Lagringsenheter er imidlertid umulig trege sammenlignet med en CPU. Lagringsenheter er også betydelig bedre ved sekvensiell lesing enn de er ved tilfeldig lesing, selv om SSD-er tilbyr en markant forbedring i denne forbindelse (og mange andre) i forhold til HDD-er.

System-RAM er designet for å lastes med alle dataene CPU-en kan trenge for programvaren som kjører for øyeblikket. RAM har en betydelig lavere ventetid enn lagring, den er også spesielt skreddersydd for å ha høy tilfeldig leseytelse. Likevel, så mye som moderne RAM er rask, er det fortsatt ingenting sammenlignet med CPU med ventetider i størrelsesorden 400 klokkesykluser.

For å redusere ventetiden ytterligere, inkluderer de fleste moderne CPU-er lag med cache-minne. Vanligvis blir disse referert til som L1-, L2- og L3-cachene. L1 er veldig høyhastighets, og tar vanligvis størrelsesorden 5 klokkesykluser for å få tilgang. L2 er litt tregere, i størrelsesorden 20 sykluser. L3 er enda tregere fortsatt på rundt 200 sykluser. Selv om L1 er utrolig rask, er den også liten. Mye av hastigheten kommer fra det faktum at mindre cacher tar kortere tid å søke. L2 er større enn L1, men mindre enn L3, som fortsatt er mindre enn system-RAM. Å balansere størrelsen på disse cachene godt er avgjørende for å få en høyytelses CPU. Cachetreffforhold er viktige, men du må balansere antall treff med hvor lang tid det tar å få det treffet, derav nivåene.

Minne for skrapelodd

Merk at skrapeloddminne ikke passer i det tradisjonelle minnehierarkiet. Det er fordi det ikke brukes i de fleste forbruker-CPU-er. Scratchpad-minne er designet for å brukes som en skrapelodd i det virkelige liv. Du noterer ned midlertidig informasjon som du trenger å huske, men som faktisk ikke trenger å arkivere. Mye av tiden behandler en CPU data og trenger deretter resultatet igjen med en gang. Den kan kopiere den til minnet, men for å få tilgang til den raskt bør den også holde den i hurtigbufferen.

Scratchpad-minne fyller i hovedsak det samme gapet som L1-cachen. Den er tilgjengelig så raskt som mulig, ofte i ensifrede syklusteller. For å klare dette er det også relativt lite. Det er imidlertid to viktige forskjeller mellom L1 og skrapeloddminne. For det første er skrapelodeminne direkte adresserbart. For det andre er den delt mellom alle kjerner og prosessorer.

Forskjeller mellom cache og skrapelodd

CPU-cachen er i hovedsak gjennomsiktig for CPUen, den kan ikke bevisst legge data der og innholdet kan ikke programmeres. I stedet ber CPU-en bare om data fra RAM og tilfeldigvis får den tilbake raskere, noen ganger betydelig raskere enn den kunne forvente. Å tillate at kladden er adresserbar betyr at koden kan spesifisere nøyaktig hvilke data som skal være i kladdeblokken. Dette kan være nyttig, selv om moderne caching-algoritmer er utmerket med treffrater på 95-97 % som forventes i standard arbeidsbelastninger.

L1-cache er alltid låst til en individuell prosesseringskjerne. Ingen annen prosesseringskjerne har tilgang til den. Dette betyr at hvis flere kjerner trenger de samme dataene, kan de duplisere dem i deres respektive L1-cacher. I noen CPU-arkitekturer er L2 per kjerne, i andre deles den av et lite antall eller til og med alle kjernene. L3 har en tendens til å deles av alle kjerner. Deling av cache mellom kjerner lar to eller flere kjerner få tilgang til de samme dataene uten å duplisere dem. Det lar også én kjerne bruke mer enn sin rettferdige andel når den har behov og cachen har plass.

Scratchpad fungerer på samme måte som L1 når det gjelder hastighet og kapasitet, men den er delt mellom alle kjerner. Dette gir svært rask tilgang til spesifikke data som behandles i en flertrådsarbeidsbelastning. Scratchpad-minne kan til og med deles mellom forskjellige CPUer på multi-socket hovedkort.

En ulempe som skrapeloddminne har, er at det kan stoles for mye på det. Ved å kunne få tilgang til den direkte, kan programvaren stole på at den er tilstede i visse mengder. I dette tilfellet ville det da være ute av stand til å kjøre på CPUer uten så mye skrapeloddminne. Cache-nivåer lider rett og slett ikke av dette problemet og er derfor bedre egnet for generell bruk.

Brukssaker

Scratchpad-minne finnes oftest i multi-socket serversystemer designet for HPC (High-Performance Computing). Der gjør kombinasjonen av hastighet og delt tilgang den nyttig for svært parallelle arbeidsbelastninger.

Scratchpad-minne ser også bruk i mye mindre prosessorer. Innebygde prosessorer, ofte MPSoC-er. En innebygd prosessor har ofte relativt lav effekt og spesialisert for en spesifikk oppgave. Denne spesialiseringen er ofte representert i maskinvareoptimaliseringer. Spesielt i et multiprosessorsystem på en brikke, kan delt høyhastighetsminne gi betydelige latenstidsforbedringer til flere forskjellige prosessorer. Disse typer CPUer er ofte veldig faste i design. Spillkonsoller for eksempel ser allerede mange optimaliseringer for maskinvaredesign og kan derfor gjøre god bruk av slike funksjoner uten å måtte bekymre deg for bakover- eller fremoverkompatibilitet.

Konklusjon

Scratchpad-minne ligner på L1-cache, men har en rekke forskjeller som endrer brukstilfellene. I stedet for å være en cache, er den direkte adresserbar slik at data kan spesifikt tilordnes til spesielt høyhastighetsminne. Den deles også mellom alle prosessorkjerner og prosessorer, noe som gjør den spesielt nyttig i arbeidsbelastninger med mange tråder.


Hvordan klone en harddisk

Hvordan klone en harddisk

I den moderne digitale tidsalder, hvor data er en verdifull ressurs, kan kloning av en harddisk på Windows være en avgjørende prosess for mange. Denne omfattende guiden

Hvordan fikse driveren WUDFRd kunne ikke lastes inn på Windows 10?

Hvordan fikse driveren WUDFRd kunne ikke lastes inn på Windows 10?

Står du overfor feilmeldingen mens du starter datamaskinen som sier at driveren WUDFRd ikke kunne lastes inn på datamaskinen?

Slik fikser du NVIDIA GeForce Experience-feilkode 0x0003

Slik fikser du NVIDIA GeForce Experience-feilkode 0x0003

Opplever du NVIDIA GeForce-opplevelsesfeilkode 0x0003 på skrivebordet ditt? Hvis ja, les bloggen for å finne ut hvordan du løser denne feilen raskt og enkelt.

Hva er SMPS?

Hva er SMPS?

Lær hva som er SMPS og betydningen av ulike effektivitetsvurderinger før du velger en SMPS for datamaskinen din.

Hvorfor slås ikke Chromebooken på

Hvorfor slås ikke Chromebooken på

Få svar på spørsmålet Hvorfor slås ikke Chromebooken min på? I denne nyttige veiledningen for Chromebook-brukere.

Slik rapporterer du phishing-svindel til Google

Slik rapporterer du phishing-svindel til Google

Lær hvordan du rapporterer en svindler til Google for å forhindre at de svindler andre med denne veiledningen.

Roomba stopper, stikker og snur – fiks

Roomba stopper, stikker og snur – fiks

Løs et problem der Roomba-robotstøvsugeren stopper, fester seg og fortsetter å snu.

Hvordan endre grafikkinnstillinger på Steam Deck

Hvordan endre grafikkinnstillinger på Steam Deck

Steam Deck tilbyr en robust og allsidig spillopplevelse rett ved fingertuppene. Men for å optimere spillingen din og sikre best mulig

Hva er isolasjonsbasert sikkerhet?

Hva er isolasjonsbasert sikkerhet?

Skulle fordype seg i et emne som blir stadig viktigere i verden av cybersikkerhet: isolasjonsbasert sikkerhet. Denne tilnærmingen til

Slik bruker du Auto Clicker for Chromebook

Slik bruker du Auto Clicker for Chromebook

I dag skulle du fordype deg i et verktøy som kan automatisere repeterende klikkeoppgaver på Chromebooken din: Auto Clicker. Dette verktøyet kan spare deg for tid og