Hvad er intern RAM?
Intern tilfældig adgangshukommelse (RAM) er computerhukommelse, der er indbygget direkte i chippen til en mikrocontroller, såsom en computers centrale behandlingsenhed (CPU). Det kan bruges af programmerere til at øge hastigheden af programfunktioner ved direkte at adressere intern RAM og sikre, at kritiske processer står i kø og behandles hurtigere og med højere prioritet af CPU'en. Dette kan fremskynde processorintensive applikationer i høj grad, fordi ofte anvendte instruktioner kan overføres til CPU meget hurtigere end at trække dem fra ekstern ram.
CPU'er har tre niveauer af cache eller intern RAM. Processorcache består af statisk RAM (SRAM), som ikke er den samme som den typiske hukommelse, der er installeret på bundkortet, kaldet dynamisk RAM (DRAM). Når CPU'en søger efter data, kontrollerer den først niveau 1 (L1) cache, derefter niveau 2 (L2) og derefter niveau 3 (L3). Først efter dette trækker den data fra DRAM.
Inden i processoren tildeles L1-cache til hver kerne på selve processoren. Dette er den hurtigste interne RAM, fordi den fungerer som bufferen for instruktioner, der overføres til hver processorkerne, som dikteret af programmet, der anmoder om behandling. I multikerneprocessorer kan dette væsentligt fremskynde behandlingen, hvis flere kerner adresseres individuelt gennem L1-cache-anmodninger.
L2-cachen findes i CPU-pakken og betragtes derfor stadig som intern RAM. Det er ikke bygget direkte på den faktiske CPU-chip, som L1-cache er. Hver kerne har stadig sin egen L2-cache dedikeret til den og kan således fungere parallelt og drage fordel af L2-hastighederne. L2-cache er imidlertid langsommere end L1-cache.
L3-cache findes ikke i CPU-pakken, så den betragtes ikke som intern RAM, men fungerer i stedet sammen med den. Det er den hurtigste eksterne RAM, der er tilgængelig på en computer. Alle CPU-kerner deler L3-cachen.
Hele processen kan ses som en kø og nedbrydning af data fra ekstern DRAM, til intern RAM og til sidst til den egentlige behandlingsinstruktion. Visse funktioner inden for ethvert program etableres med en højere prioritet end andre, og disse flyttes til fronten af køen som en del af det individuelle programs optimering. Data med højeste prioritet adresseres direkte til L1-cache til hurtig behandling og de køer med laveste prioritet gennem hele processen. Den største forskel er, hvor cache behandles i en "træk fra ventekøen" -metoden, intern RAM er softwareadresserbar, så data kan specifikt tildeles til individuelle interne RAM-niveauer.