
La cache memorija Nije oduvijek bilo u CPU-u. Zapravo, stariji procesori ga nisu imali. Kasnije su se pojavili moduli slični današnjim RAM modulima, koji su vam omogućili opcionalno dodavanje predmemorije za poboljšanje performansi CPU-a, slično kao što su dodavani matematički koprocesori ili FPU-ovi.
U današnjim mikroprocesorima, keš memorija je bila integriran u sam čip, sada gotovo njihov neodvojivi dio, i s nekoliko razina za postizanje veće koristi od njega. U ovom vodiču saznat ćete više o ovoj vrsti pamćenja i njegovoj važnosti.
Što je predmemorija?
Prije nego što počnem objašnjavati što je keš memorija, želio bih vrlo kratko sažeti. kako radi procesor, kako biste bolje razumjeli njegove performanse. Jednostavno rečeno, CPU nije ništa više od "kalkulatora" koji obrađuje niz operacija s bitovima podataka.
Softver, odnosno program, naznačit će koje izračune CPU treba izvršiti. Program se sastoji od niza podataka i instrukcija. Svi ti podaci i instrukcije pohranjeni su u sekundarno pamćenje (tvrdi disk) bit će poslani u glavnu (primarnu) memoriju. Odatle će ih CPU uhvatiti i unijeti u svoju internu memoriju. Instrukcija će naznačiti što CPU treba učiniti s podacima. Na primjer, to bi mogla biti instrukcija zbrajanja. Ovako se softver izvršava…
Ukratko rečeno, rana računala koristila su jednu razinu spore memorije (neku vrstu ROM-a ili magnetske memorije) iz koje su dohvaćala te instrukcije i podatke. No, kako su se procesori razvijali i postajali brži, pojavila su se velika uska grla zbog sporosti ove memorije. Zato je između procesora i sekundarne memorije uvedena brza međuspremnička memorija: radna memorija (SDRAM).
Unatoč tome, CPU se nastavio razvijati brže od brzine samog RAM-a, stvarajući još jedno usko grlo. Stoga je razvijena druga, mnogo brža memorija, bliže procesoru i smještena između RAM-a i CPU-a: predmemorija (SRAM).
Sekundarna memorija je jeftina, tako da možete dobiti velike kapacitete po dobroj cijeni. U slučaju RAM-a, on je brži, ali i skuplji od sekundarne memorije. Zato primarni memorijski kapaciteti nisu toliko veliki. Ako nastavimo niz ljestvicu, nailazimo na predmemoriju, koja je još skuplja i stoga ima vrlo niske kapacitete. Zatim tu su registri, također izuzetno skupi i ograničeni...
S ovom predmemorijom, jezgre CPU-a mogu se puno brže opskrbljivati, tako da latencije i propusnost RAM radi tako da ne utječe toliko na performanse CPU-a. To je način da se ti podaci i upute pruže puno lokalnije i brže... Drugim riječima, tako da su im "pri ruci".
Danas je poboljšanje sekundarnog pamćenja značilo veliki skok. Mislim na novo SSD ili SSD tvrdi diskoviMeđutim, i dalje su sporiji od RAM-a, pa su ove druge razine i dalje potrebne.
Razine predmemorije u modernom procesoru

U modernom procesoru ne postoji samo jedna razina predmemorije, već je podijeljena na nekoliko razina. Obično ih ima između 2 i 4. razine ili razine (L):
- LLC (Predmemorija posljednje razine): Ovo je posljednja razina predmemorije, odnosno ona "najbliža" RAM-u, ona s najvećim brojem unutar procesora. Može biti L4, L3 ili L2, ovisno o razini. Na primjer, u trenutnim Intel i AMD procesorima to je L3. Ova memorija može doseći nekoliko megabajta i ujedinjena je, što znači da pohranjuje i podatke i instrukcije. Općenito, ovu vrstu memorije dijele sve jezgre, ako ih ima više. Ako, na primjer, postoje L3 i L2, L2 bi mogla biti namijenjena samo jednoj jezgri ili bi je dijelile dvije jezgre, a L3 bi ih sve napajala.
- L1 predmemorijaOva predmemorija je brža od prethodne i nalazi se još bliže upravljačkoj jedinici kako bi mogla brže dohvaćati informacije i slati ih izvršnim jedinicama. Za razliku od viših razina, L1 ima niži kapacitet, što je normalno, jer što su razine niže, to je kapacitet niži. Ali najznačajnija razlika je u tome što u mnogim procesorima nije ujedinjena kao ostale razine. U ovom slučaju, odvojena je na L1I i L1D, odnosno samo za instrukcije i samo za podatke.
Zašto je to važno?
Pa, u ovom trenutku već ćete imati dojam o razlogu zašto to poboljšava predstavaPraktičan primjer će vam pomoći da ovo vrlo dobro shvatite. Zamislite da vi (CPU) morate otići i nabaviti alate (upute i podatke) koji su vam potrebni za obavljanje posla (programa).
Nije isto imati alate u trgovini (sekundarna memorija), nego da ih imate u garaži (RAM) ili da ih imate na dohvat ruke (predmemorija). Ako morate ići u trgovinu ili garažu, trebat će vam puno više vremena nego ako možete pružiti ruku i zgrabiti ih odmah pored sebe. To nije uvijek slučaj. Kada vam prvi put zatreba instrukcija ili podatak, morat ćete otići u sobu ili garažu da ih uzmete. Ali kada ih zgrabite i imate ih odmah pored sebe, bit ćete puno učinkovitiji sljedeći put kada vam zatrebaju.
CPU, putem sustav za pretraživanje i bugove Uvijek će prvo tražiti instrukcije i podatke u L1. Ako dođe do kvara, tražit će u L2, a ako ni tamo nema, prijeći će na L3 (ako ga ima). A ako i tamo dođe do kvara, neće imati drugog izbora nego pretraživati RAM, što traje dulje od ciklusa takta. Ali ako uspije, pristup će biti puno brži. Imajte na umu da je za pristup L1 potrebno manje ciklusa nego za L2, a L3 pak traje manje ciklusa nego za pristup LXNUMX i tako dalje.
To je cilj predmemorije, smanjiti latenciju pristupa memoriji. Inzistiram, ja... sažimajući mnogo kako to funkcionira. Ali u osnovi, ovo je način na koji vaše aplikacije i igre rade puno brže.

