Kada se pojavi neki sistemski zahtjev, procesor zahtjeva instrukcije za izvođenje tog zahtjeva. Budući da je procesor daleko brži od RAMa, a u svrhu brzine obrade podataka, L1 cache memorija sadrži spremne podatke koje smatra da će biti potrebni procesoru.
Šta je L1, L2 i L3 cache memorija i čemu služi
L1 cache je jako mala, ali je zato iznimno brza. Ako upute nisu dostupne u L1 cache memoriji, procesor provjerava L2 cache, malo veću memoriju, koja je istodobno i malo sporija.
Svaki put kada procesor ne pronalazi upute u cache memoriji, on se spušta za jedan nivo niže, od L1 do L3. L3 cache može biti puno veća memorija od L1 i L2, te iako je nešto sporija, opet je mnogo brža od RAMa, a pogotovo od drugih tipova cache memorije u sustavu, kao npr. cache hard diska.
Ako procesor mora obraditi zahtjev kojeg nema u prvoj razini, tad brzo može provjeriti drugu razinu, pa zatim treću. Cache dizajn memorije je ključna komponenta svakog procesora, jer direktno utječe na performanse procesora i cijelog računalnog sustava.
Ako se potrebne informacije npr. nađu u L3 cache memoriji, podaci se mogu izbaciti iz L1 kako bi se napravilo mjesta za nove instrukcije, ukolike opet budu potrebne. L3 cache tada može ukloniti te instrukcije, jer se sad nalaze u nekoj drugoj razini cache-a.
Prva razina ili L1 cache memorija je posebna, brza memorija ugrađena u procesor koja pomaže ubrzati računalo. Ona stalno učitava podatke koji se često koriste i na taj način procesor brže obrađuje zahtjeve. Većina računala također ima i L2 i L3 cache, koji su sporiji od L1, ali svejedno još uvijek osjetno brži od RAM memorije.
Kada pretražujemo programe i datoteke na staromodnom tvrdom disku, uređaj mora pretražiti taj disk na način da pomiče mehanizam preko pločica, vrlo slično načinu na koji radi gramofon. U slučaju diska, postoje mnoge ploče, a glava je magnetna, pa može čitati puno većom brzinom, ali unatoč tome staromodni hard disk je najsporiji uređaj za pohranu na računalu.
Normalno smatramo RAM vrlo brzom memorijom, jer je mnogo brža od tvrdih diskova. RAM čuva podatke ograničeno vrijeme, samo kada je računalo uključeno u struju. Računala najčešće imaju oko 4GB RAM memorije. Računalo učitava često korištene programe, slike i ostale podatke u RAM memoriju, kako ne bi moralo stalno pretraživati tvrdi disk.
Ovo je dobra strategija, no procesor radi puno brže od RAMa, a kako bi se stvari još više ubrzale, možete gledati na cache memoriju kao na uređaj koji predviđa buduće zahtjeve za procesor i predučitava potrebne podatke u svoju memoriju kako bi što brže bili spremni za daljnju obradu u procesoru. Kada dođe takav zahtjev, procesor prvo pregledava L1 cache memoriju, pa L2 cache memoriju, a potom i L3 cache memoriju, (ako postoji).
Ako procesor pronađe potrebne podatke u cache memoriji, onda je prosljeđuje na daljnju obradu, a u suprotnom ako ne pronađe zahtjeve u cache memoriji, slijedi pretraga RAM memorije, pa onda na kraju i hard disk. Cilj je pripremiti što više zahtjeva u cash memoriji, jer se ona najbrže obrađuje od strane procesora, a minimalizirati pretragu prema RAM memoriji i naročito hard disku koje usporavaju performanse procesora i računala.
L1 cache memorija je najčešće ugrađena u sam procesore u današnim računalima, zbog najkražeg puta do obrade podataka, ali u starijim računalima može biti i kao poseban čip pored procesora. L2 cache memorija može biti ugrađena u sam procesor ili prisutna na matičnoj ploči, kao i L3 cache memorija. U nekim slučajevima i L3 se može nalaziri u samom procesoru. Za razliku od RAMa, cache se ne može nadograditi.
L2 cache memorije ili tkzv. memorija druge razine je brza pohrana, koju procesor gleda nakon provjere L1 cache memorije. Današnji procesori koriste do tri razine cache-a, pod nazivom L1, L2 i L3, a svaka verzija poboljšava vezu između brzog CPU-a i mnogo sporije RAM memorije. I cache memorije se razvijaju usporedno sa procesorima, a budući da su vrlo skupe, njihovi kapaciteti se kreću od 32KB za L1 do 20 Mb za L3, iako to nije jedini razlog njihovog manjeg kapaciteta, ali o tome malo kasnije.
L3 cache ili memorija treće razine je specijalna memorija koja radi zajedno s L1 i L2 kako bi poboljšala performanse računala. Ona je zadnja po redu koju procesor komunicira prije slijedeće razine a to je RAM memorija. Iako je najsporija od cache memorije i dalje je vrlo važna procesoru, i spriječava pojavu “uskok grla” koje bi usporavale procesor, bez obzira na njegovu snagu. A još uvijek je daleko brža od obične RAM memorije.
Kao što smo već spomenuli posao cache memorije je predviđati podatkovne zahtjeve, pa kad korisnik klikne na često korišteni program, na primjer, upute za izvođenje su već učitane i spremne u cache-u. Kad se to dogodi, procesor može obraditi zahtjev bez zadržavanja, što drastično poboljšava performanse računala.
Pošto je posao cache memorije pohranjivanje podataka, možda se pitate zašto postoji više razina cache-a. Zašto uopće imamo L2, a kamoli L3, umjeto da bude jedna velika L1?
Odgovor na to je, što je veća cache memorije, to je veća sporost memorije. Manje cache memorije su brže od većih. Kako bi optimizirali ukupne performanse, najbolji rezultati se dobivaju na način da najmanja i najbrža memorija bude prva dostupna procesoru, pa onda malo veća L2 i još veća L3 cache memorija.
Ideja je čuvati najkorištenije podatke u L1, u L2 malo manje često korištene podatke, a u L3 najmanje korištene podatke. Ako procesor mora obraditi zahtjev kojeg nema u L1, onda može brzo provjeriti L2 i L3.
Cache memorija je jedna od ključnih komponenti u procesorskom tržištu, koje nudi mnoštvo varijanti i modela, jer direktno utječe na performanse procesora a samim time i cijelog sustava. Cache memorija s više razina je izrađena od skupljeg statičkog RAMa (SRAM), za razliku od jeftinijih dinamičkih RAM-ova (DRAM). DRAM i sinkroni DRAM (SRAM) čipovi su ono što mi zovemo, jednostavno RAM. Važno je razlikovati SRAM i DRAM.
Kad kupujete novo računalo, pogledajte količinu L1, L2 i L3 cache memorije. Ako je sve ostalo isto, računalo s više procesorske cache memorije će biti brže, a sinkrona cache memorije je brža od asinkrone.
Postoje razne arhitekture procesora sa različitim dizajnom cache memorije. Npr AMD-ov četverojezgreni Shanghai čip je projektiran na slijedeći način. Svaka jezgra ima svoj L1 i L2, a sve jezgre su djelile zajednički L3. L3 čuva kopije zahtjeva, u slučaju da neka druga jezgra zatraži isti predmet.
Arhitektura cache memorije s više razina se još uvijek razvija. L1 cache je nekad bila izvan procesora, ugrađena u matičnu ploču, a sad su i L1 i L2 najčešće ugrađeni u procesorski čip. L3 je većinom u matičnoj ploči, iako neki procesori već i to imaju ugrađeno. Prednost ugrađene cache memorije je veća brzina i efikasnosti i manji trošak, u odnosu za vanjski cache u matičnoj ploči.
Vađenje instrukcija iz cache-a je mnogo brže nego iz RAMa, a dobar cache dizajn uvelike poboljšava performanse računala. Cache dizajn i strategija su različiti na različitim matičnim pločama i procesorima, no ako je sve ostalo jednako, više cache-a je bolje.