Hopp til innhold
Bokmål

Emne

Maskinvare

Fagstoff

Minnehierarki

Forskjellige typer minne har forskjellige egenskaper og bruksområder. Noen er raske, men kostbare, andre er langsommere, men billigere. Minnehierarkipyramiden gir en visuell oversikt over hvordan datamaskinen kombinerer flere typer minne, og hvordan dataene flyttes mellom dem.

Minnehierarki: balansen mellom hastighet og kostnad

Jo raskere minnet er, jo dyrere er det. Dette har vært sant siden de første datamaskinene. En datamaskin bygd kun med den raskeste minnetypen ville bli enormt kostbar, og den ville heller ikke fungert så godt. Forskjellige typer minne har nemlig forskjellige egenskaper. Det raskeste minnet vi bruker i dag, er for eksempel flyktig (volatile), noe som betyr at det trenger oppfriskning mange ganger i sekundet for å holde på dataene. Det gjør dette minnet uegnet for langtidslagring.

Løsningen for å få en kostnadseffektiv og godt fungerende datamaskin er å kombinere forskjellige typer minne og å flytte data mellom dem ved behov.

Minnehierarkipyramiden

Minnehierarkipyramiden tar utgangspunkt i minnets plassering i forhold til datamaskinens prosessorkjerner. Minnets plassering er både responstida mellom prosessorkjernen og minnet, overføringshastigheten og i praksis også den fysisk plasseringen.

Prosessorkjernene er de raskeste enhetene i datamaskinen. De gjør utregninger og er avhengige av å ha instruksjoner for hva de skal gjøre, og data å basere utregningene på. Prosessorkjernen har derfor innebygde registre hvor den kan hente og mellomlagre data veldig raskt.

For å levere data til registrene har prosessoren flere nivåer med cache-minne (L1, L2 og L3) som er tregere, men har mer lagringsplass enn registerene. Dette minnet ligger direkte ved eller mellom prosessorkjernene.

Prosessor-cachen får dataene sine fra maskinens arbeidsminne (RAM,) som altså er mye større, men tregere enn cache-minnet. RAM er vanligvis plassert på hovedkortet, ganske nært prosessorsokkelen.

Arbeidsminnet får dataene sine fra lagringsenheter som er ikke-flyktige (non-volatile), som SSD-er (Solid State Drive, et lagringsmedium som bruker flashminne) eller tradisjonelle harddisker. Disse er tregere, men har større lagringsplass enn arbeidsminnet (RAM).

Minnehierarkipyramiden gir en enkel oversikt over hvor raske de forskjellige minnetypene er i forhold til hverandre.

Modellen viser også hvilke deler av datamaskinens minne som er flyktige (volatile), og hvor dataene som er lagret, forsvinner når oppfriskningen stopper (for eksempel ved tap av strøm). Den viser også hvilke deler som er ikke-flyktige (non-volatile), og som beholder lagrede data selv uten strøm.

Eksempel på minnehierarkiet i praksis

Eksempelet under er sammensatt av tallmateriale fra forskjellige utstyrsleverandører, nettbutikker og tester gjort av moderne, men vanlig datautstyr i 2024.

I tabellen bruker vi tidsangivelsene nanosekund (ns) som er 0,000 000 001 sekunder og millisekund (ms) som er 0,000 001 sekunder.

Minnehierarkiet i praksis

Navn

Størrelse

Lesehastighet

Responstid

Pris per GB

CPU-register

0,002 MB

0,4 ns

-

L1-cache

0,640 MB*

3700 GB/s

0,8 ns

-

L2-cache

8 MB*

1800 GB/s

2,8 ns

-

L3-cache

32 MB

400 GB/s

10 ns

-

RAM DDR5

32 GB

53 GB/s

15 ns

50 kr/GB

PCIe 4 SSD

1 000 GB

4,5 GB/s

0,5 ms

3,1 kr/GB

SATA HDD

10 000 GB

0,2 GB/s

4.0 ms**

0,47 kr/GB

Teip LTO-8

30 000 GB

0,9 GB/s***

-****

0,2 kr/GB

* Total L1 og L2-cache mengde for hele prossesoren. Hver kjerne har en egen del av L1 og L2-minne, for eksempel en åttendedel for en åttekjernet prosessor.

** Denne responstida gjelder hvis harddiskplata allerede er i bevegelse.

*** Hastigheten er mulig på grunn av komprimering av datafilene før overføring. Faktisk overføringshastigheten til teipen vil derfor være noe lavere.

**** Søketida på teip avhenger av hvor på teipen innholdet ligger. Søketida vil ta flere sekunder.

Minnehierarki og skjermkort (GPU)

Skjermkort (GPU) ble tidligere brukt bare for å tegne opp hvert skjermbilde (frame) som så ble vist på skjermen. Skjermkortet hentet sine data fra datamaskinens arbeidsminne (RAM).

I dag har skjermkort sitt eget arbeidsminne, og fordi det kan gjøre en del typer kalkuleringer mer effektivt og raskere enn datamaskinens prosessor, brukes det til mer enn å tegne opp skjermbilder. Skjermkortets spesielle arbeidsoppgaver kan ofte deles opp i mange små deler på forhånd og utregnes samtidig parallelt. Eksempler på dette er simuleringer, KI-trening og KI-kjøring.

Det tradisjonelle minnehierarkipyramiden tar utgangspunkt i prosessoren (CPU) og har ikke skjermkortet med i det hele tatt, men vi kan lage en egen modell med utgangspunkt i skjermkortet og hvordan responstid og overføringshastighet er mellom skjermkortkjerner, eget arbeidsminne, datamaskines arbeidsminne (RAM) og andre lagringsenheter.

Kilder

AMD. (u.å.). AMD Ryzen 7 9700X. Hentet 19. mai 2025 fra https://www.amd.com/en/products/processors/desktops/ryzen/9000-series/amd-ryzen-7-9700x.html

Klotz, A. (2024, 10. juni). Ryzen 5 9600X benchmarks show doubled cache bandwidth improvements — leaked AIDA64 benchmarks point to much faster L1 and L2 cache. Tom's Hardware. https://www.tomshardware.com/pc-components/cpus/ryzen-5-9600x-benchmarks-show-doubled-cache-bandwidth-improvements-leaked-aida64-benchmarks-point-to-much-faster-l1-and-l2-cache

Skrevet av Tron Bårdgård.
Sist oppdatert 08.10.2024