Vrijednost cache memorije u procesoru. Što znači cache memorija procesora, koja je razlika između L1, L2, L3. Što je predmemorija procesora

Cache je memorija ugrađena u procesor, u koju se upisuju najčešće korišteni podaci (naredbe) RAM-a, što značajno ubrzava rad.

Veličina L1 predmemorije (od 8 do 128 KB)
Količina predmemorije u prvoj razini.
L1 predmemorija je blok memorije velike brzine koji se nalazi izravno na jezgri procesora.
Kopira podatke preuzete iz RAM-a.

Spremanje glavnih uputa omogućuje vam povećanje performansi procesora zbog veće brzine obrade podataka (obrada iz predmemorije je brža nego iz RAM-a).

Kapacitet cache memorije prve razine je mali i izračunava se u kilobajtima.
Tipično, "stariji" modeli procesora imaju veliku L1 predmemoriju.
Za modele s više jezgri navedena je količina L1 predmemorije za jednu jezgru.

Veličina L2 predmemorije (od 128 do 12288 KB)
Količina predmemorije u drugoj razini.
L2 predmemorija je blok memorije velike brzine koji obavlja iste funkcije kao i L1 predmemorija (pogledajte "Veličina L1 predmemorije"), ali uz manju brzinu i veći volumen.

Ako odaberete procesor za zadatke koji zahtijevaju velike resurse, tada će model s velikom količinom L2 predmemorije biti poželjniji.
Za višejezgrene procesore navedena je ukupna količina L2 predmemorije.

Veličina L3 predmemorije (od 0 do 16384 KB)
Količina predmemorije u trećoj razini.
Integrirana L3 predmemorija, u kombinaciji s brzom sistemskom sabirnicom, čini podatkovnu vezu velike brzine s memorijom sustava.

U pravilu, samo procesori za poslužiteljska rješenja ili posebna izdanja "stolnih" procesora opremljeni su predmemorijom treće razine.

L3 predmemorija dostupna je, na primjer, u linijama procesora kao što su Intel Pentium 4 Extreme Edition, Xeon DP, Itanium 2, Xeon MP i drugi.

Twin BiCS FLASH - nova tehnologija 3D flash memorije

Dana 11. prosinca 2019., na IEEE International Electronic Devices Meeting (IEDM), TOKYO-Kioxia Corporation najavila je tehnologiju 3D flash memorije - Twin BiCS FLASH.

Upravljački program AMD Radeon Software Adrenalin Edition 2020 19.12.2 WHQL (dodan)

AMD je 10. prosinca predstavio Radeon Software Adrenalin 2020 Edition 19.12.2 WHQL mega driver.

Kumulativno ažuriranje sustava Windows 10 1909 KB4530684

Microsoft je 10. prosinca 2019. izdao kumulativno ažuriranje KB4530684 (Build 18363.535) za ažuriranje Windows 10. studenog 2019. (verzija 1909) na x86, x64 (amd64), ARM64 i Windows Server 2019 (1909) sustavima temeljenim na procesorima za sustave temeljene na x64 .

NVIDIA GeForce Driver spreman za igre 441.66 WHQL

NVIDIA GeForce Game Ready 441.66 WHQL drajver uključuje podršku za MechWarrior 5: Mercenaries i Detroit: Become Human te dodaje G-SYNC podršku za MSI MAG251RX i ViewSonic XG270 monitore.

Svi procesori od kasnih 90-ih imaju internu predmemoriju (ili samo predmemoriju). Predmemorija je memorija velike brzine koja prenosi upute i podatke koje izravno obrađuje procesor.

Moderni procesori imaju ugrađenu predmemoriju dvije razine - prvu (L1) i drugu (L2). Sa sadržajem L1 cachea procesor je nešto brži, a L2 cache je obično nešto veći. Keš memoriji se pristupa bez stanja čekanja, tj. Predmemorija prve razine (predmemorija na čipu) radi na istoj frekvenciji kao i procesor.

To znači da ako se podaci potrebni procesoru nalaze u predmemoriji, tada nema kašnjenja u obradi. Inače, procesor mora dobiti podatke iz glavne memorije, što značajno smanjuje performanse sustava.

Da bismo kvalitativno razumjeli princip rada predmemorije obje razine, razmotrimo domaću situaciju koristeći primjer.

Svaki dan dolazite u kafić na ručak, u isto vrijeme, i uvijek sjedite za istim stolom. Uvijek naručite standardni set od tri slijeda.

Konobar trči u kuhinju, kuhar ih stavlja na pladanj i onda ti donose narudžbu. I tako vas, recimo, treći dan konobar, da ne biste opet trčali u kuhinju, dočeka u dogovoreno vrijeme s gotovim toplim ručkom na pladnju.

Ne čekate narudžbu i štedite puno vremena. Pladanj s vašim posuđem je cache prve razine. Ali četvrtog dana iznenada želite dodati još jedno jelo, recimo desert.

Iako vas je u dogovoreno vrijeme već čekao pladanj s narudžbom, konobar je ipak morao otrčati u kuhinju po desert.

A na petom - opet jelovnik od tri stavke. Na šestom - opet desert, ali drugačiji od prethodnog. A konobar, ne znajući kakvu slasticu želite naručiti (i ne znajući uopće hoćete li što naručiti), odlučuje se na sljedeći korak: pokraj vašeg stola postavlja ormarić s nekoliko vrsta slastica.

A ako izrazite želju, sve vam je pri ruci, ne morate trčati u kuhinju. Ormarić za slastice je spremište druge razine.

Veličina predmemorije L1 (od 16 do 128 KB) i L2 (od 64 KB do 512 KB, do 4 MB u Pentium III Cheop i AMD Opteron) značajno utječe na performanse procesora.

Intel Pentium III procesori i Celeron procesori koji se temelje na njemu imaju veličinu L1 predmemorije od 32 KB. Intel Pentium 4, kao i Celeron i Cheop verzije temeljene na njemu, imaju samo 20 KB. Procesori AMD Duron, Athlon (uključujući XP/MP) i Opteron, kao i VIA C3, sadrže 128 KB L1 predmemorije.

Moderni dvojezgreni procesori imaju predmemoriju prve razine za svaku jezgru posebno, pa ponekad u opisu predmemorije možemo vidjeti brojku 128x2. To znači da svaka jezgra procesora ima 128 KB L1 predmemorije.

Veličina predmemorije L1 važna je za postizanje visokih performansi u većini uobičajenih zadataka (uredske aplikacije, igre, većina poslužiteljskih aplikacija itd.). Njegova učinkovitost posebno dolazi do izražaja za streaming izračune (primjerice, obrada video slike).

Ovo je jedan od razloga zašto je Pentium 4 relativno neučinkovit za većinu uobičajenih aplikacija (iako se to kompenzira visokom brzinom takta). L1 predmemorija uvijek radi (razmjenjuje informacije s jezgrom procesora) na unutarnjoj frekvenciji procesora.

Nasuprot tome, L2 predmemorija u različitim modelima procesora radi na različitim frekvencijama (i, sukladno tome, performansama). Počevši od Intel Pentiuma II, mnogi su procesori koristili L2 predmemoriju koja radi na polovici unutarnje frekvencije procesora.

Ovo se rješenje koristi u zastarjelim procesorima Intel Pentium III (do 550 MHz) i zastarjelim procesorima AMD Athlon (u nekima od njih interna L2 predmemorija radila je na trećini frekvencije jezgre procesora). Količina L2 predmemorije također je različita za različite procesore.

Stariji i neki noviji procesori Intel Pentium III imaju 512 KB L2 predmemorije, dok ostali Pentiumi III imaju 256 KB. Procesor Intel Celeron temeljen na Pentiumu III dolazio je sa 128 i 256 KB L2 predmemorije, dok je procesor temeljen na Pentiumu 4 dolazio sa samo 128 KB. Razne varijante Xeon verzije Intel Pentiuma 4 imaju do 4 MB L2 predmemorije.

Novi procesori Pentium 4 (neke serije s frekvencijom od 2000 MHz i sve za frekvencije više) imaju 512 KB L2 predmemorije, ostali Pentium 4 imaju 256 KB. Cheop procesori (temeljeni na Pentiumu 4) imaju 256 ili 512 KB L2 predmemorije.

Osim toga, imaju i cache memoriju treće razine L3. Integrirana L3 predmemorija, u kombinaciji s brzom sistemskom sabirnicom, čini podatkovnu vezu velike brzine s memorijom sustava.

L3 cache memorijom opremljeni su u pravilu samo procesori za poslužiteljska rješenja ili posebni modeli "stolnih" procesora. L3 cache memoriju posjeduju, na primjer, linije procesora kao što su Xeon DP, Itanium 2, Xeon MP.

AMD Duron procesor ima 128 KB L1 cache memorije i 64 KB L2 cache memorije. Athlon procesori (osim starijih), Athlon MP i većina varijanti Athlona XP imaju 128 KB L1 predmemorije i 256 KB L2 predmemorije, a najnoviji Athlon XP (2500+, 2800+, 3000+ i više) imaju 512 KB L2 predmemorije . AMD Opteron sadrži 1 MB L2 predmemorije.

Najnoviji modeli procesora Intel Pentium D, Intel Pentium M, Intel Core 2 Duo dolaze sa 6 MB L2 cache memorije, a Core 2 Quad sa 12 MB L2 cache memorije.

Najnoviji procesor Intel Core i7 u trenutku pisanja ovog teksta ima 64 KB L1 predmemorije za svaku od 4 jezgre i 256 KB L2 memorije za svaku jezgru. Uz predmemoriju prve i druge razine, procesor također ima zajedničku predmemoriju za sve jezgre treće razine, jednaku 8 MB.

Za procesore koji mogu imati različite veličine L2 cache memorije (ili u slučaju Intel Xeon MP - L3) za isti model, ovu veličinu je potrebno navesti prilikom prodaje (naravno o tome ovisi cijena procesora). Ako se procesor prodaje u paketu "u kutiji" (isporuka u kutiji), obično označava veličinu predmemorije.

Za normalne korisničke zadatke (uključujući igre), brzina L2 predmemorije važnija je od njezine veličine; za zadatke poslužitelja, naprotiv, glasnoća je važnija. Najproduktivniji poslužitelji, posebno oni s velikom količinom RAM-a (nekoliko gigabajta), zahtijevaju maksimalnu količinu i maksimalnu brzinu L2 predmemorije.

Cheop verzije procesora Pentium III ostaju nenadmašne u ovim parametrima. (Procesor Xeon MP još uvijek je produktivniji u poslužiteljskim zadacima od Pentiuma III Xeona, zbog veće frekvencije takta samog procesora i memorijske sabirnice.) Iz gore navedenog možemo zaključiti da predmemorija poboljšava interakciju između bržih procesora i sporijeg RAM-a, a također vam omogućuje da minimizirate razdoblja čekanja koja se javljaju tijekom obrade podataka. Odlučujuću ulogu u tome ima predmemorija druge razine koja se nalazi u procesorskom čipu.

Jedan od važnih čimbenika koji povećavaju performanse procesora je prisutnost predmemorije, odnosno njezin volumen, brzina pristupa i raspodjela po razinama.

Dugo su vremena gotovo svi procesori opremljeni ovom vrstom memorije, što još jednom dokazuje korisnost njezine prisutnosti. U ovom članku ćemo govoriti o strukturi, razinama i praktičnoj namjeni cache memorije, kao vrlo bitne karakteristike procesora.

Što je cache memorija i njezina struktura

Cache memorija je ultrabrza memorija koju koristi procesor za privremeno pohranjivanje podataka koji se najčešće koriste. Ovako se, ukratko, može opisati ova vrsta pamćenja.

Predmemorija je izgrađena na flip-flopovima, koji se pak sastoje od tranzistora. Skupina tranzistora zauzima puno više prostora od istih kondenzatora koji čine RAM. To za sobom povlači mnoge poteškoće u proizvodnji, kao i ograničenja u količinama. Zbog toga je cache memorija vrlo skupa memorija, a ima zanemariv volumen. Ali iz takve strukture proizlazi glavna prednost takve memorije - brzina. Budući da flip-flopovi ne trebaju regeneraciju, a vrijeme kašnjenja vrata na kojima su sastavljeni je malo, vrijeme prebacivanja flip-flopa iz jednog stanja u drugo je vrlo brzo. To omogućuje cache memoriji da radi na istim frekvencijama kao i moderni procesori.

Također, važan čimbenik je mjesto cache memorije. Nalazi se na samom procesorskom čipu, što znatno skraćuje vrijeme pristupa istom. Prethodno je predmemorija nekih razina bila smještena izvan procesorskog čipa, na posebnom SRAM čipu negdje na matičnoj ploči. Sada se u gotovo svim procesorima predmemorija nalazi na procesorskom čipu.

Za što se koristi CPU Cache?

Kao što je gore spomenuto, glavna svrha predmemorije je pohranjivanje podataka koje procesor često koristi. Predmemorija je međuspremnik u koji se učitavaju podaci i unatoč svojoj maloj veličini (oko 4-16 MB) u modernim procesorima, daje značajno povećanje performansi u bilo kojoj aplikaciji.

Da bismo bolje razumjeli potrebu za cache memorijom, zamislimo organizaciju memorije računala kao ureda. RAM će biti ormarić s mapama kojima računovođa povremeno pristupa kako bi dohvatio velike blokove podataka (tj. mape). A tablica će biti cache memorija.

Postoje elementi koji se nalaze na radnom stolu računovođe na koje se on poziva nekoliko puta tijekom sata. Na primjer, to mogu biti telefonski brojevi, neki primjeri dokumenata. Ove vrste informacija su odmah na stolu, što zauzvrat povećava brzinu pristupa njima.

Na isti način, podaci se mogu dodati iz tih velikih podatkovnih blokova (mapa), u tablicu, za brzo korištenje, na primjer, bilo kojeg dokumenta. Kada ovaj dokument više nije potreban, vraća se u ormarić (u RAM), čime se čisti tablica (cache) i oslobađa ova tablica za nove dokumente koji će se koristiti u sljedećem vremenskom razdoblju.

Također s cache memorijom, ako postoje neki podaci kojima će se najvjerojatnije ponovno pristupiti, tada se ti podaci iz RAM-a učitavaju u cache memoriju. Vrlo često se to događa zajedničkim učitavanjem podataka koji će se najvjerojatnije koristiti nakon trenutnih podataka. Odnosno, postoje pretpostavke o tome što će se koristiti "poslije". Ovo su jednostavni principi rada.

Razine predmemorije procesora

Moderni procesori opremljeni su predmemorijom koja se često sastoji od 2 ili 3 razine. Naravno, postoje iznimke, ali to je često slučaj.

Općenito, mogu postojati takve razine: L1 (prva razina), L2 (druga razina), L3 (treća razina). Sada malo više o svakom od njih:

Predmemorija prve razine (L1) je najbrža razina predmemorije koja radi izravno s jezgrom procesora, zahvaljujući ovoj čvrstoj interakciji, ova razina ima najkraće vrijeme pristupa i radi na frekvencijama bliskim procesoru. To je međuspremnik između procesora i predmemorije druge razine.

Razmotrit ćemo količine na Intel Core i7-3770K procesoru visokih performansi. Ovaj procesor je opremljen sa 4 x 32 KB L1 predmemorije 4 x 32 KB = 128 KB. (32 KB po jezgri)

Druga razina predmemorije (L2) - druga razina je veća od prve, ali kao rezultat toga ima manje "karakteristike brzine". Sukladno tome, služi kao međuspremnik između razina L1 i L3. Ako se ponovno okrenemo našem primjeru Core i7-3770 K, tada je ovdje količina L2 cache memorije 4x256 KB = 1 MB.

Predmemorija razine 3 (L3) - treća razina, opet, sporija od prethodne dvije. Ali još uvijek je puno brži od RAM-a. L3 predmemorija u i7-3770K je 8 MB. Ako su prethodne dvije razine podijeljene na svaku jezgru, tada je ova razina zajednička za cijeli procesor. Indikator je sasvim solidan, ali ne i pretjerano visok. Od npr. procesora Extreme serije poput i7-3960X, to je 15 MB, a neki novi Xeon procesori imaju i više od 20.

we-it.net

Čemu služi predmemorija i koliko je potrebna?

Ovdje nije riječ o gotovini, već o cache memoriji procesora i ne samo. Trgovci su od količine cache memorije napravili još jedan komercijalni fetiš, posebice s cacheom središnjih procesora i tvrdih diskova (imaju ga i video kartice - ali još nisu došle do toga). Dakle, tu je XXX procesor s 1MB L2 cache memorije i potpuno isti XYZ procesor s 2MB cache memorije. Pogodite koji je bolji? Ah - nemoj odmah!

Predmemorija je međuspremnik u koji se dodaju stvari koje se mogu i/ili moraju ostaviti sa strane za kasnije. Procesor radi posao i dolazi do situacija kada međupodatke treba negdje pohraniti. Pa, naravno u cache! - uostalom, to je reda veličine brže od RAM-a, tk. nalazi se u samom procesoru i obično radi na istoj frekvenciji. A onda će nakon nekog vremena dohvatiti te podatke natrag i ponovno ih obraditi. Grubo rečeno, kao sortirka krumpira na pokretnoj traci, koja svaki put kad naiđe nešto drugo osim krumpira (mrkve), baci ga u kutiju. A kad se napuni, ustane i odnese u susjednu sobu. U tom se trenutku pokretna traka zaustavlja i promatra se prazan hod. Volumen kutije je cache u ovoj analogiji. A koliko vam treba - 1MB ili 12? Jasno je da će, ako mu je volumen mali, trebati previše vremena da se izvadi i bit će jednostavan, ali od nekog volumena njegovo daljnje povećanje neće dati ništa. Pa sortirnica će imati kutiju za 1000 kg mrkve - da, neće je imati toliko za cijelu smjenu, a time NEĆE biti DVA PUTA BRŽI! Postoji još jedna suptilnost - velika predmemorija može uzrokovati povećanje kašnjenja u pristupu, prvo, a istodobno se povećava vjerojatnost pogrešaka u njoj, na primjer, tijekom overclockinga - drugo. (Možete pročitati o tome KAKO odrediti stabilnost/nestabilnost procesora u ovom slučaju i saznati da se greška javlja upravo u njegovoj predmemoriji, testirati L1 i L2 - možete pročitati ovdje.) Treće, predmemorija troši pristojno područje ​​kristal i proračun tranzistora procesorskog kruga. Isto se odnosi i na predmemoriju tvrdog diska. A ako je arhitektura procesora jaka, zahtijevat će 1024 Kb predmemorije ili više u mnogim aplikacijama. Ako imate brzi HDD - prikladno je 16MB ili čak 32MB. Ali bez 64MB cache memorije neće biti brže ako se radi o rezu koji se zove zelena verzija (Green WD) s brzinom od 5900 umjesto potrebnih 7200, čak i ako potonji ima 8MB. Zatim procesori Intel i AMD različito koriste ovu predmemoriju (općenito je AMD učinkovitiji i njihovim procesorima često odgovaraju manje vrijednosti). Osim toga, Intel ima zajednički cache, dok AMD ima osobni za svaku jezgru. Najbrža L1 predmemorija u AMD procesorima je 64Kb za podatke i upute, što je dvostruko više od Intelove. L3 predmemorija obično je prisutna u vrhunskim procesorima poput AMD Phenom II 1055T X6 Socket AM3 2,8 GHz ili konkurentskog Intel Core i7-980X. Prije svega, igre vole velike količine predmemorije. A predmemorija se NE sviđa mnogim profesionalnim aplikacijama (vidi dolje). Računalo za renderiranje, uređivanje videa i profesionalne aplikacije). Točnije, oni najzahtjevniji prema njemu su uglavnom ravnodušni. Ali ono što nikako ne biste trebali učiniti je birati procesor prema veličini predmemorije. Stari Pentium 4 u svojim najnovijim pojavama čak je imao 2 MB predmemorije na radnim frekvencijama daleko iznad 3 GHz - usporedite njegovu izvedbu s jeftinim dvojezgrenim Celeronom E1 *** koji radi na frekvencijama od oko 2 GHz. Neće ostaviti kamen na kamenu od starca. Noviji primjer je visokofrekventni dual-core E8600 koji košta gotovo 200 USD (navodno zbog 6MB cache memorije) i Athlon II X4-620 2.6GHz, koji ima samo 2MB. To ne sprječava Athlone da ubije konkurenta za orah.

Kao što možete vidjeti iz grafikona, niti u složenim programima, niti u procesorski zahtjevnim igrama, bilo koja predmemorija neće zamijeniti dodatne jezgre. Athlon s 2MB predmemorije (crveno) lako nadmašuje Cor2Duo sa 6MB predmemorije čak i pri nižoj frekvenciji i gotovo upola nižoj cijeni. Također, mnogi ljudi zaboravljaju da je predmemorija prisutna u video karticama, jer, općenito govoreći, one također imaju procesore. Nedavni primjer je GTX460 video kartica, gdje su uspjeli smanjiti ne samo sabirnicu i količinu memorije (što će kupac pogoditi) - već i predmemoriju shadera, odnosno, s 512 Kb na 384 Kb (što kupac NEĆE pogoditi ). A to će također dodati svoj negativni doprinos performansama. Također će biti zanimljivo otkriti ovisnost performansi o veličini predmemorije. Ispitajmo koliko brzo raste s povećanjem veličine predmemorije na primjeru istog procesora. Kao što znate, procesori serije E6***, E4*** i E2*** razlikuju se samo u veličini predmemorije (4, 2 i 1 MB respektivno). Radeći na istoj frekvenciji od 2400 MHz, pokazuju sljedeće rezultate.

Kao što vidite, rezultati se ne razlikuju previše. Reći ću više - ako je uključen procesor kapaciteta 6 MB - rezultat bi se povećao za malo više, jer. procesori dosežu zasićenje. Ali za modele s 512Kb, pad bi bio primjetan. Drugim riječima, 2MB je dovoljno čak iu igrama. Ukratko, možemo izvući sljedeći zaključak - predmemorija je dobra kada VEĆ ima puno svega ostalog. Naivno je i glupo mijenjati brzinu tvrdog diska ili broj jezgri procesora po veličini predmemorije po istoj cijeni, jer čak ni najveći okvir za razvrstavanje ne može zamijeniti drugi razvrstivač. Ali ima dobrih primjera. imao 1 MB predmemorije za dvije jezgre (E2160 serija i slično), a kasna 45nm revizija E5200 serije još uvijek ima 2MB, uz ostale stvari (i što je najvažnije, CIJENU). Naravno, vrijedi odabrati ovo drugo.

compua.com.ua

Što je predmemorija, zašto je potrebna i kako radi

Koje je najprljavije mjesto na računalu? Mislite na košaricu? Korisničke mape? Sustav hlađenja? Nisam pogodio! Najprljavije mjesto je spremište! Uostalom, stalno se mora čistiti!

Zapravo, postoji mnogo predmemorija na računalu, a one ne služe kao odlagalište otpada, već kao akceleratori za opremu i aplikacije. Odakle im reputacija "sistemskog smetlara"? Pogledajmo što je predmemorija, kako nastaje, kako radi i zašto je s vremena na vrijeme treba očistiti.

Predmemorija ili cache memorija posebna je pohrana često korištenih podataka, kojoj se pristupa desecima, stotinama i tisućama puta brže od RAM-a ili drugih medija za pohranu.

Aplikacije (web preglednici, audio i video playeri, uređivači baze podataka, itd.), komponente operacijskog sustava (memorija sličica, DNS predmemorija) i hardver (CPU L1-L3 predmemorija, GPU okvirni međuspremnik itd.) imaju vlastitu predmemoriju. čip, pogonski odbojnici). Implementira se na različite načine - softverski i hardverski.

  • Programska predmemorija samo je zasebna mapa ili datoteka u koju se preuzimaju, na primjer, slike, izbornici, skripte, multimedijski sadržaj i ostali sadržaji posjećenih stranica. Ovo je mapa u koju preglednik prvo zaroni kada ponovno otvorite web stranicu. Zamjena dijela sadržaja iz lokalne pohrane ubrzava njegovo učitavanje i smanjuje mrežni promet.

  • U tvrdim diskovima, posebno, predmemorija je zaseban RAM čip kapaciteta 1-256 Mb, koji se nalazi na elektroničkoj ploči. Prima informacije očitane s magnetskog sloja, a još nisu učitane u RAM, kao i podatke koje operativni sustav najčešće traži.

  • Moderni središnji procesor sadrži 2-3 glavne razine predmemorije (također se naziva i scratch memorija), smještene u obliku hardverskih modula na istom čipu. Najbrži i najmanji po volumenu (32-64 Kb) je predmemorija razine 1 (L1) - radi na istoj frekvenciji kao i procesor. L2 je u srednjem položaju po brzini i kapacitetu (od 128 Kb do 12 Mb). A L3 je najsporiji i najobimniji (do 40 Mb), nema ga na nekim modelima. Brzina L3 niska je u usporedbi s bržim RAM-om, ali je i stotinama puta brži od najproduktivnijeg RAM-a.

Scratchpad memorija procesora koristi se za pohranu stalno korištenih podataka, pumpanih iz RAM-a, i instrukcija strojnog koda. Što je veći, to je procesor brži.

Danas tri razine predmemoriranja više nisu ograničenje. Pojavom Sandy Bridge arhitekture, Intel je u svoje proizvode implementirao dodatnu predmemoriju L0 (namijenjenu pohranjivanju dekriptiranih mikroinstrukcija). A najučinkovitiji procesori također imaju predmemoriju četvrte razine, izrađenu u obliku zasebnog mikro kruga.

Shematski, interakcija razina predmemorije L0-L3 izgleda ovako (na primjer, Intel Xeon):

Ljudski jezik o tome kako sve to funkcionira

Da biste razumjeli kako radi predmemorija, zamislite osobu koja radi za stolom. Na stolu (u cacheu) su mape i dokumenti koje stalno koristi. Da biste im pristupili, samo ispružite ruku.

Papiri koji su mu rjeđe potrebni odlažu se u blizini na police (u RAM). Da biste ih dobili, morate ustati i hodati nekoliko metara. A ono s čime osoba trenutno ne radi je arhivirano (snimljeno na hard disk).

Što je stol širi, to više dokumenata stane na njega, što znači da će zaposlenik moći brzo doći do više informacija (što je veći kapacitet cache memorije, to teoretski program ili uređaj brže radi).

Ponekad pogriješi - na stolu drži papire koji sadrže netočne podatke i koristi ih u svom radu. Kao rezultat toga, kvaliteta njegovog rada je smanjena (pogreške u predmemoriji dovode do kvarova u radu programa i opreme). Da bi ispravio situaciju, zaposlenik mora odbaciti dokumente s pogreškama i na njihovo mjesto staviti ispravne (očistiti predmemoriju).

Tablica ima ograničeno područje (cache memorija ima ograničen kapacitet). Ponekad se može proširiti, npr. pomicanjem druge tablice, a ponekad ne (veličina predmemorije se može povećati ako je takva mogućnost predviđena programom; hardverska predmemorija se ne može mijenjati, jer je ugrađena u hardver) .

Drugi način da se ubrza pristup većem broju dokumenata nego što stol može primiti je pronaći pomoćnika koji će poslužiti papir radniku s police (operacijski sustav može dodijeliti dio neiskorištenog RAM-a za predmemoriju podataka uređaja). Ali to je ipak sporije nego da ih skinemo sa stola.

Dokumenti koji su pri ruci trebaju biti relevantni za trenutne zadatke. To je odgovornost samog zaposlenika. Redovito morate slagati papire (izbacivanje nebitnih podataka iz cache memorije pada "na teret" aplikacija koje je koriste; neki programi imaju funkciju automatskog brisanja cache memorije).

Ako zaposlenik zaboravi održavati red na radnom mjestu i ažurirati dokumentaciju, može si nacrtati raspored čišćenja stola i koristiti ga kao podsjetnik. U krajnjem slučaju, povjerite to pomoćniku (ako je aplikacija ovisna o predmemorijskoj memoriji postala sporija ili često učitava zastarjele podatke, upotrijebite alate za planirano čišćenje predmemorije ili to učinite ručno svakih nekoliko dana).

Zapravo posvuda nailazimo na "funkcije predmemoriranja". To je i kupnja proizvoda za budućnost, i razne radnje koje obavljamo usput, u isto vrijeme itd. Zapravo, to je sve ono što nas spašava od nepotrebne strke i nepotrebnih pokreta tijela, usmjerava život i olakšava rad. Računalo čini isto. Jednom riječju, da nema predmemorije, radilo bi stotine i tisuće puta sporije. A ne bi nam se svidjelo.

f1comp.ru

Cache, cache, cash - memorija. Čemu služi predmemorija? Utjecaj veličine i brzine predmemorije na performanse.

Cache – memorija (cache, cache, buffer – eng.) – koristi se u digitalnim uređajima kao međuspremnik velike brzine. Predmemorija se može naći na računalnim uređajima kao što su tvrdi diskovi, procesori, video kartice, mrežne kartice, CD pogoni i mnogi drugi.

Princip rada i arhitektura predmemorije mogu biti vrlo različiti.

Na primjer, predmemorija može poslužiti kao obični međuspremnik. Uređaj obrađuje podatke i prenosi ih u međuspremnik velike brzine, gdje kontroler prenosi podatke na sučelje. Takva predmemorija namijenjena je za sprječavanje pogrešaka, hardversku provjeru integriteta podataka ili za kodiranje signala s uređaja u razumljiv signal za sučelje, bez kašnjenja. Takav se sustav koristi, primjerice, u CD / DVD pogonima kompaktnih diskova.

U drugom slučaju, predmemorija se može koristiti za pohranu često korištenog koda i tako ubrzati obradu podataka. Odnosno, uređaj ne treba ponovno izračunavati ili tražiti podatke, što bi trajalo mnogo dulje nego njihovo čitanje iz predmemorije. U ovom slučaju veličina i brzina predmemorije igraju vrlo važnu ulogu.


Ova se arhitektura najčešće nalazi na tvrdim diskovima, SSD-ovima i središnjim procesorskim jedinicama (CPU).

Kada uređaji rade, posebni firmware ili dispečerski programi mogu se učitati u predmemoriju, što bi radilo sporije s ROM-om (Memorija samo za čitanje).

Većina modernih uređaja koristi mješovitu vrstu predmemorije, koja može poslužiti i kao međuspremnik i za pohranu često korištenog koda.

Postoji nekoliko vrlo važnih funkcija implementiranih za predmemoriju procesora i video čipova.

Konsolidacija izvršnih jedinica. CPU i video procesori često koriste brzu zajedničku predmemoriju između jezgri. Sukladno tome, ako je jedna jezgra obradila informaciju i ona se nalazi u cacheu, a stigne naredba za istu operaciju, odnosno za rad s tim podacima, tada podatke procesor neće ponovno obraditi, već će ih preuzeti iz predmemorija za daljnju obradu. Kernel će se rasteretiti radi obrade drugih podataka. Ovo značajno povećava performanse u istom tipu, ali složenim izračunima, posebno ako je predmemorija velika i brza.

Zajednička predmemorija također omogućuje izravni rad jezgri s njom, zaobilazeći spori RAM.

Spremi za upute. Postoji ili opća vrlo brza predmemorija prve razine za upute i druge operacije ili namjenska za njih. Što procesor ima više ugrađenih instrukcija, potrebna mu je veća predmemorija instrukcija. Ovo smanjuje latenciju memorije i omogućuje da blok instrukcija funkcionira gotovo neovisno.Kada je pun, blok instrukcija počinje povremeno mirovati, što usporava brzinu izračuna.

Ostale funkcije i značajke.

Zanimljivo je da se kod CPU-a (Central Processing Units) koristi hardversko ispravljanje grešaka (ECC), jer mala greška u cacheu može dovesti do jedne kontinuirane greške u daljnjoj obradi ovih podataka.

U CPU-u i GPU-u postoji hijerarhija predmemorije koja vam omogućuje odvajanje podataka za pojedinačne jezgre i općenite. Iako se gotovo svi podaci iz predmemorije druge razine još uvijek kopiraju na treću, opću razinu, ali ne uvijek. Prva razina predmemorije je najbrža, a svaka sljedeća je sporija, ali veća.

Za procesore se tri ili manje razine predmemorije smatraju normalnim. To vam omogućuje postizanje ravnoteže između brzine, veličine predmemorije i rasipanja topline. Teško je pronaći više od dvije razine predmemorije u video procesorima.

Veličina predmemorije, učinak na performanse i druge karakteristike.

Naravno, što je veća predmemorija, to više podataka može pohraniti i obraditi, ali ovdje postoji ozbiljan problem.

Velika predmemorija znači veliki proračun tranzistora. U poslužiteljskim procesorima (CPU), predmemorija može koristiti do 80% proračuna tranzistora. Kao prvo, to utječe na konačni trošak, a kao drugo, povećava se potrošnja energije i rasipanje topline, što nije usporedivo s performansama koje su povećane za nekoliko postotaka.

Koje je najprljavije mjesto na računalu? Mislite na košaricu? Korisničke mape? Sustav hlađenja? Nisam pogodio! Najprljavije mjesto je spremište! Uostalom, stalno se mora čistiti!

Zapravo, postoji mnogo predmemorija na računalu, a one ne služe kao odlagalište otpada, već kao akceleratori za opremu i aplikacije. Odakle im reputacija "sistemskog smetlara"? Pogledajmo što je predmemorija, kako nastaje, kako radi i zašto s vremena na vrijeme.

Pojam i vrste cache memorije

Esh ili cache memorija posebna je pohrana često korištenih podataka, kojoj se pristupa desetke, stotine i tisuće puta brže od RAM-a ili drugih medija za pohranu.

Aplikacije (web preglednici, audio i video playeri, uređivači baze podataka, itd.), komponente operacijskog sustava (memorija sličica, DNS predmemorija) i hardver (CPU L1-L3 predmemorija, GPU okvirni međuspremnik itd.) imaju vlastitu predmemoriju. čip, pogonski odbojnici). Implementira se na različite načine - softverski i hardverski.

  • Programska predmemorija samo je zasebna mapa ili datoteka u koju se preuzimaju, na primjer, slike, izbornici, skripte, multimedijski sadržaj i ostali sadržaji posjećenih stranica. Ovo je mapa u koju preglednik prvo zaroni kada ponovno otvorite web stranicu. Zamjena dijela sadržaja iz lokalne pohrane ubrzava njegovo učitavanje i .

  • U tvrdim diskovima, posebno, predmemorija je zaseban RAM čip kapaciteta 1-256 Mb, koji se nalazi na elektroničkoj ploči. Prima informacije očitane s magnetskog sloja, a još nisu učitane u RAM, kao i podatke koje operativni sustav najčešće traži.

  • Moderni središnji procesor sadrži 2-3 glavne razine predmemorije (također se naziva i scratch memorija), smještene u obliku hardverskih modula na istom čipu. Najbrži i najmanji po volumenu (32-64 Kb) je predmemorija razine 1 (L1) - radi na istoj frekvenciji kao i procesor. L2 je u srednjem položaju po brzini i kapacitetu (od 128 Kb do 12 Mb). A L3 je najsporiji i najobimniji (do 40 Mb), nema ga na nekim modelima. Brzina L3 niska je u usporedbi s bržim RAM-om, ali je i stotinama puta brži od najproduktivnijeg RAM-a.

Scratchpad memorija procesora koristi se za pohranu stalno korištenih podataka, pumpanih iz RAM-a, i instrukcija strojnog koda. Što je veći, to je procesor brži.

Danas tri razine predmemoriranja više nisu ograničenje. Pojavom Sandy Bridge arhitekture, Intel je u svoje proizvode implementirao dodatnu predmemoriju L0 (namijenjenu pohranjivanju dekriptiranih mikroinstrukcija). A najučinkovitiji procesori također imaju predmemoriju četvrte razine, izrađenu u obliku zasebnog mikro kruga.

Shematski, interakcija razina predmemorije L0-L3 izgleda ovako (na primjer, Intel Xeon):

Ljudski jezik o tome kako sve to funkcionira

Da biste razumjeli kako radi predmemorija, zamislite osobu koja radi za stolom. Na stolu su mape i dokumenti koje stalno koristi ( u predmemoriji). Da biste im pristupili, samo ispružite ruku.

Papire koji su mu rjeđe potrebni odlaže u blizini na police ( u RAM-u). Da biste ih dobili, morate ustati i hodati nekoliko metara. A ono s čime osoba trenutno ne radi je arhivirano ( snimljen na tvrdi disk).

Što je stol širi, to više dokumenata stane na njega, što znači da će zaposlenik moći brzo doći do više informacija ( što je veći kapacitet predmemorije, to teoretski program ili uređaj brže rade).

Ponekad pogriješi - na stolu drži papire koji sadrže netočne podatke i koristi ih u svom radu. Kao rezultat toga, kvaliteta njegovog rada je smanjena ( pogreške predmemorije dovode do kvarova softvera i hardvera). Da bi ispravio situaciju, zaposlenik mora baciti dokumente s pogreškama i na njihovo mjesto staviti ispravne ( očistiti predmemoriju).

Stol ima ograničenu površinu ( cache memorija je ograničena). Ponekad se može proširiti, na primjer, pomicanjem druge tablice, a ponekad ne (veličina predmemorije se može povećati ako program pruža takvu mogućnost; hardverska predmemorija se ne može promijeniti, jer je ugrađena u hardver) .

Drugi način da se ubrza pristup većem broju dokumenata nego što stol može primiti je pronaći pomoćnika koji će poslužiti papir radniku s police (operacijski sustav može dodijeliti dio neiskorištenog RAM-a za predmemoriju podataka uređaja). Ali to je ipak sporije nego da ih skinemo sa stola.

Dokumenti koji su pri ruci trebaju biti relevantni za trenutne zadatke. To je odgovornost samog zaposlenika. Papire morate redovito čistiti (istiskivanje nebitnih podataka iz cache memorije pada "na teret" aplikacija koje to koriste; neki programi imaju funkciju automatskog čišćenja cache memorije).

Ako zaposlenik zaboravi održavati red na radnom mjestu i ažurirati dokumentaciju, može si nacrtati raspored čišćenja stola i koristiti ga kao podsjetnik. U krajnjem slučaju, povjerite to pomoćniku (ako je aplikacija ovisna o predmemorijskoj memoriji postala sporija ili često učitava zastarjele podatke, upotrijebite alate za planirano čišćenje predmemorije ili to učinite ručno svakih nekoliko dana).

Zapravo posvuda nailazimo na "funkcije predmemoriranja". To je i kupnja proizvoda za budućnost, i razne radnje koje obavljamo usput, u isto vrijeme itd. Zapravo, to je sve ono što nas spašava od nepotrebne strke i nepotrebnih pokreta tijela, usmjerava život i olakšava rad. Računalo čini isto. Jednom riječju, da nema predmemorije, radilo bi stotine i tisuće puta sporije. A ne bi nam se svidjelo.

Što je predmemorija, zašto je potrebna i kako radi ažurirano: 25. veljače 2017. od strane: Johnny Mnemonik

Svi korisnici dobro poznaju takve elemente računala kao što je procesor odgovoran za obradu podataka, kao i memorija s izravnim pristupom (RAM ili RAM) odgovorna za njihovo pohranjivanje. Ali vjerojatno ne znaju svi da postoji i predmemorija procesora (Cache CPU), odnosno RAM samog procesora (tzv. super-RAM memorija).

Koji je razlog koji je potaknuo programere računala da koriste posebnu memoriju za procesor? Nije li dovoljno RAM-a za računalo?

Doista, dugo su vremena osobna računala radila bez ikakve vrste predmemorije. No, kao što znate, procesor je najbrži uređaj u osobnom računalu i njegova brzina raste sa svakom novom generacijom CPU-a. Trenutno se njegova brzina mjeri u milijardama operacija u sekundi. U isto vrijeme, standardni RAM nije značajno povećao svoje performanse tijekom svoje evolucije.

Općenito govoreći, postoje dvije glavne tehnologije za memorijske čipove - statička memorija i dinamička memorija. Ne ulazeći u detalje njihove strukture, reći ćemo samo da statička memorija, za razliku od dinamičke, ne zahtijeva regeneraciju; osim toga, za jedan bit informacije u statičkoj memoriji koristi se 4-8 tranzistora, dok se u dinamičkoj memoriji koriste 1-2 tranzistora. Sukladno tome, dinamička memorija je puno jeftinija od statičke memorije, ali u isto vrijeme puno sporija. Trenutno se RAM čipovi proizvode na temelju dinamičke memorije.

Približna evolucija omjera brzine procesora i RAM-a:

Dakle, kada bi procesor cijelo vrijeme uzimao informacije iz glavne memorije, tada bi morao čekati sporu dinamičku memoriju, te bi cijelo vrijeme bio u stanju mirovanja. U istom slučaju, ako bi se statička memorija koristila kao RAM, tada bi se trošak računala povećao nekoliko puta.

Zato je razvijen razuman kompromis. Glavnina RAM-a ostala je dinamična, dok je procesor dobio vlastitu brzu predmemoriju temeljenu na statičkim memorijskim čipovima. Njegov volumen je relativno mali - na primjer, volumen L2 predmemorije je samo nekoliko megabajta. Međutim, ovdje vrijedi zapamtiti da je sav RAM prvih IBM PC računala bio manji od 1 MB.

Osim toga, na svrsishodnost implementacije tehnologije predmemoriranja također utječe činjenica da različite aplikacije u RAM-u različito opterećuju procesor, pa kao rezultat toga postoji mnogo podataka koji zahtijevaju prioritetnu obradu u odnosu na ostale.

Povijest predmemorije

Strogo govoreći, prije nego što je predmemorija prešla na osobna računala, nekoliko se desetljeća uspješno koristila u superračunalima.

Po prvi put, cache memorija od samo 16 KB pojavila se u računalu temeljenom na procesoru i80386. Današnji procesori koriste različite razine predmemorije, od prve (najbrža predmemorija najmanje veličine - obično 128 KB) do treće (najsporija predmemorija najveće veličine - do nekoliko desetaka MB).

Isprva je vanjska predmemorija procesora bila smještena na zasebnom čipu. Međutim, s vremenom je to dovelo do činjenice da je sabirnica smještena između predmemorije i procesora postala usko grlo, usporavajući razmjenu podataka. U modernim mikroprocesorima i prva i druga razina predmemorije nalaze se u samoj jezgri procesora.

Dugo su u procesorima postojale samo dvije razine predmemorije, ali po prvi put u procesoru Intel Itanium pojavila se predmemorija treće razine, zajednička za sve procesorske jezgre. Postoje i razvojni procesori s predmemorijom od četiri razine.

Arhitekture i principi rada predmemorije

Do danas su poznate dvije glavne vrste organizacije cache memorije, koje potječu iz prvih teorijskih razvoja u području kibernetike - Princeton i Harvard arhitekture. Princetonska arhitektura podrazumijeva jedan memorijski prostor za pohranjivanje podataka i naredbi, dok harvardska ima poseban. Većina procesora za osobna računala linije x86 koristi zasebnu vrstu predmemorije. Osim toga, u modernim procesorima pojavila se i treća vrsta predmemorije - takozvani međuspremnik asocijativnog prevođenja, dizajniran da ubrza pretvorbu adresa virtualne memorije operacijskog sustava u adrese fizičke memorije.

Pojednostavljeno, shema interakcije između predmemorije i procesora može se opisati na sljedeći način. Prvo se provjerava prisutnost informacija potrebnih procesoru u najbržem - predmemorija prve razine, zatim - u predmemorija druge razine, i tako dalje. Ako potrebne informacije nisu pronađene ni na jednoj razini predmemorije, onda se govori o pogrešci ili nedostatku predmemorije. Ako uopće nema informacija u cacheu, tada ih procesor mora uzeti iz RAM-a ili čak iz vanjske memorije (s tvrdog diska).

Redoslijed kojim procesor traži informacije u memoriji:

Ovako procesor traži informacije

Za kontrolu rada predmemorije i njezine interakcije s računalnim jedinicama procesora, kao i RAM-a, postoji poseban kontroler.

Shema organizacije interakcije jezgre procesora, predmemorije i RAM-a:

Kontroler predmemorije je ključna veza između procesora, RAM-a i predmemorije.

Treba napomenuti da je pohranjivanje podataka u predmemoriju složen proces koji koristi mnoge tehnologije i matematičke algoritme. Među osnovnim pojmovima koji se koriste u predmemoriranju mogu se izdvojiti metode pisanja predmemorije i arhitektura asocijativnosti predmemorije.

Metode pisanja u predmemoriju

Postoje dvije glavne metode za pisanje informacija u predmemoriju:

  1. Metoda povratnog pisanja (writeback) - podaci se prvo zapisuju u predmemoriju, a zatim, nakon pojave određenih uvjeta, u RAM.
  2. Metoda pisanja (kroz pisanje) - podaci se istovremeno zapisuju u RAM i predmemoriju.

Arhitektura asocijativnosti predmemorije

Arhitektura asocijativnosti predmemorije definira način na koji se podaci iz RAM-a mapiraju u predmemoriju. Postoje sljedeće glavne varijante arhitekture asocijativnosti predmemoriranja:

  1. Izravno mapirana predmemorija - određeno područje predmemorije odgovorno je za određeno područje RAM-a
  2. Potpuno asocijativna predmemorija - bilo koje područje predmemorije može se pridružiti bilo kojem području RAM-a
  3. Mješovita predmemorija (set-asocijativno)

Različite arhitekture asocijativnosti predmemorije obično se mogu koristiti na različitim razinama predmemorije. Izravno RAM mapirano predmemoriranje je najbrža opcija predmemoriranja, pa se ova arhitektura obično koristi za velike predmemorije. S druge strane, potpuno asocijativna predmemorija ima manje pogrešaka (promašaja) u predmemori.

Zaključak

U ovom članku ste se upoznali s konceptom predmemorije, arhitekturom predmemorije i metodama predmemoriranja, saznali kako to utječe na performanse modernog računala. Prisutnost predmemorije može značajno optimizirati performanse procesora, smanjiti vrijeme mirovanja i, posljedično, povećati performanse cijelog sustava.