Hva er intern RAM?
Internt tilfeldig minne (RAM) er dataminne som er innebygd direkte i brikken til en mikrokontroller, for eksempel en datamaskins sentrale prosesseringsenhet (CPU). Det kan brukes av programmerere for å øke hastigheten på programfunksjonene ved direkte å adressere intern RAM, slik at kritiske prosesser blir i kø og behandles raskere og med høyere prioritet av CPU. Dette kan øke prosessorintensive applikasjoner i stor grad fordi instruksjoner som ofte brukes, kan sendes til CPU mye raskere enn å trekke dem fra ekstern ram.
CPUer har tre nivåer av cache, eller intern RAM. Prosessorbuffer består av statisk RAM (SRAM), som ikke er det samme som det typiske minnet som er installert på hovedkortet, kalt dynamisk RAM (DRAM). Når CPU ser etter data, sjekker den først nivå 1 (L1) -bufferen, deretter nivå 2 (L2) og deretter nivå 3 (L3). Først etter det vil den hente data fra DRAM.
I prosessoren tildeles L1-cache til hver kjerne på selve prosessoren. Dette er den raskeste interne RAM-en, fordi den fungerer som bufferen for instruksjoner som blir overlevert til hver prosessorkjerne som diktert av programmet som ber om behandling. I flerkjerneprosessorer kan dette øke hastigheten på behandlingen hvis flere kjerner adresseres individuelt gjennom L1-cache-forespørsler.
L2-cachen er i CPU-pakken og anses derfor fortsatt som intern RAM. Den er ikke bygd direkte på selve CPU-brikken slik L1-cache er. Hver kjerne har fortsatt sin egen L2-cache dedikert til den og kan dermed fungere parallelt, og dra nytte av L2-hastighetene. L2-cache er imidlertid tregere enn L1-cache.
L3-cache er ikke innenfor CPU-pakken, så den regnes ikke som intern RAM, men fungerer i stedet ved siden av den. Det er den raskeste eksterne RAM som er tilgjengelig på en datamaskin. Alle CPU-kjerner deler L3-cachen.
Hele prosessen kan sees på som en kø og nedbryting av data fra ekstern DRAM, til intern RAM og til slutt til selve behandlingsinstruksjonene. Enkelte funksjoner innen ethvert program er etablert med en høyere prioritet enn andre, og de blir flyttet til fronten av køen som en del av det individuelle programmets optimalisering. Dataene med høyest prioritet adresseres direkte til L1-cache for raskest behandling, og køene med lavest prioritet gjennom hele prosessen. Hovedforskjellen er der cachen blir behandlet i en "trekke fra ventekøen" -metoden, intern RAM er programvare adresserbar, så data kan spesifikt tilordnes til individuelle interne RAM-nivåer.