Interna memorija slučajnog pristupa (RAM) je memorija računala koja je ugrađena izravno u čip mikrokontrolera, kao što je središnja procesorska jedinica (CPU) računala. Programeri ga mogu koristiti za povećanje brzine programskih funkcija izravnim adresiranjem internog RAM-a, osiguravajući da se kritični procesi stavljaju u red čekanja i obrađuju brže i s višim prioritetom od strane CPU-a. To može uvelike ubrzati procesorski intenzivne aplikacije jer se često korištene instrukcije mogu proslijediti CPU-u mnogo brže nego što ih se crpe iz vanjskog RAM-a.
CPU-i imaju tri razine predmemorije ili interne RAM memorije. Predmemorija procesora sastoji se od statičkog RAM-a (SRAM), koji nije isti kao tipična memorija instalirana na matičnoj ploči, koja se naziva dinamički RAM (DRAM). Kada CPU traži podatke, prvo provjerava predmemoriju razine 1 (L1), zatim razinu 2 (L2), zatim razinu 3 (L3). Tek nakon toga će povući podatke iz DRAM-a.
Unutar procesora, L1 predmemorija je dodijeljena svakoj jezgri samog procesora. Ovo je najbrža interna RAM memorija, jer djeluje kao međuspremnik za upute koje se predaju svakoj procesorskoj jezgri kako diktira program koji zahtijeva obradu. U višejezgrenim procesorima, to može znatno ubrzati obradu ako se više jezgri pojedinačno adresira kroz L1 zahtjeve predmemorije.
L2 cache je u CPU paketu i stoga se još uvijek smatra internom RAM-om. Nije ugrađen izravno na stvarni CPU čip kao L1 cache. Svaka jezgra još uvijek ima svoju L2 predmemoriju posvećenu njoj i stoga može raditi paralelno, koristeći prednosti L2 brzina. Međutim, L2 predmemorija je sporija od L1 predmemorije.
L3 predmemorija nije unutar CPU paketa, tako da se ne smatra internom RAM memorijom, već funkcionira uz nju. To je najbrži vanjski RAM dostupan unutar računala. Sve CPU jezgre dijele L3 cache.
Cijeli se proces može promatrati kao čekanje i razbijanje podataka iz vanjskog DRAM-a, u interni RAM i na kraju do stvarnih uputa za obradu. Određene funkcije unutar bilo kojeg programa uspostavljaju se s višim prioritetom od drugih, a one se premještaju na početak reda čekanja kao dio optimizacije pojedinačnog programa. Podaci najvišeg prioriteta adresiraju se izravno u L1 predmemoriju radi najbrže obrade, a najniži prioritet čeka u redovima tijekom cijelog procesa. Glavna razlika je u tome gdje se predmemorija obrađuje metodom “izvlačenja iz reda čekanja”, interni RAM je softverski adresiran, tako da se podaci mogu posebno dodijeliti pojedinačnim internim razinama RAM-a.