Kas yra vidinė RAM?

Vidinė laisvosios kreipties atmintis (RAM) yra kompiuterio atmintis, kuri yra tiesiogiai įmontuota į mikrovaldiklio, pavyzdžiui, kompiuterio centrinio procesoriaus (CPU) lustą. Jį gali naudoti programuotojai, norėdami padidinti programos funkcijų greitį, tiesiogiai nukreipdami vidinę RAM, užtikrindami, kad svarbiausi procesai būtų išdėstyti eilėje ir apdoroti greičiau bei didesniu prioritetu CPU. Tai gali labai pagreitinti daug procesoriaus reikalaujančias programas, nes dažnai naudojamos instrukcijos gali būti perduodamos procesoriui daug greičiau, nei ištraukiant jas iš išorinio RAM.

CPU turi tris talpyklos lygius arba vidinę RAM. Procesoriaus talpyklą sudaro statinė RAM (SRAM), kuri nėra tokia pati kaip įprasta pagrindinėje plokštėje įdiegta atmintis, vadinama dinamine RAM (DRAM). Kai CPU ieško duomenų, jis pirmiausia patikrina 1 lygio (L1) talpyklą, tada 2 lygį (L2), tada 3 lygį (L3). Tik po to jis ištrauks duomenis iš DRAM.

Procesoriaus viduje L1 talpykla priskiriama kiekvienam paties procesoriaus branduoliui. Tai greičiausia vidinė RAM, nes ji veikia kaip instrukcijų, perduodamų kiekvienam procesoriaus branduoliui, buferis, kaip diktuoja apdorojimo reikalaujanti programa. Kelių branduolių procesoriuose tai gali žymiai pagreitinti apdorojimą, jei keli branduoliai yra adresuojami atskirai per L1 talpyklos užklausas.

L2 talpykla yra procesoriaus pakete, todėl ji vis dar laikoma vidine RAM. Jis nėra tiesiogiai pastatytas ant tikrojo procesoriaus lusto, kaip yra L1 talpykla. Kiekvienas branduolys vis dar turi savo L2 talpyklą, skirtą jam, todėl gali veikti lygiagrečiai, pasinaudodamas L2 greičio pranašumais. Tačiau L2 talpykla yra lėtesnė nei L1 talpykla.

L3 talpyklos nėra procesoriaus pakete, todėl ji nelaikoma vidine RAM, o veikia kartu su ja. Tai greičiausia išorinė RAM, kurią galima rasti kompiuteryje. Visi procesoriaus branduoliai dalijasi L3 talpykla.
Į visą procesą galima žiūrėti kaip į eilę ir duomenų išskirstymą iš išorinės DRAM į vidinę RAM ir galiausiai į faktines apdorojimo instrukcijas. Tam tikroms funkcijoms bet kurioje programoje suteikiamas didesnis prioritetas nei kitoms, ir jos perkeliamos į eilės priekį, kaip atskiros programos optimizavimo dalis. Didžiausio prioriteto duomenys nukreipiami tiesiai į L1 talpyklą, kad būtų galima greičiau apdoroti, o žemiausio prioriteto eilės – viso proceso metu. Pagrindinis skirtumas yra tas, kur talpykla apdorojama „ištraukimo iš laukimo eilės“ metodu, o vidinė RAM yra adresuojama programine įranga, todėl duomenis galima konkrečiai priskirti atskiriems vidiniams RAM lygiams.