Otvoren
Zatvoriti

Koja je predmemorija podijeljena na dva dijela. Što znači predmemorija procesora, koja je razlika između L1, L2, L3. Pakiranje i raspakiranje

Čipovi u većini modernih stolnih računala imaju četiri jezgre, ali proizvođači čipova već su najavili planove za prelazak na šest jezgri, a procesori sa 16 jezgri i danas nisu neuobičajeni za vrhunske poslužitelje.

Što je više jezgri, veći je problem raspodjele memorije između svih jezgri dok rade zajedno u isto vrijeme. S povećanjem broja jezgri sve je korisnije minimizirati gubitak vremena na upravljanje jezgrama pri obradi podataka - jer brzina razmjene podataka zaostaje za brzinom procesora i obrade podataka u memoriji. Možete fizički pristupiti tuđoj brzoj predmemoriji ili možete pristupiti vlastitoj sporoj, ali uštedjeti na vremenu prijenosa podataka. Zadatak je kompliciran činjenicom da količina memorije koju traže programi ne odgovara jasno količini predmemorije svake vrste.

Fizički se samo vrlo ograničena količina memorije može smjestiti što bliže procesoru - L1 predmemorija procesora, čiji je volumen krajnje beznačajan. Daniel Sanchez, Po-An Tsai i Nathan Beckmann, istraživači s Laboratorija za računalne znanosti i umjetnu inteligenciju Massachusetts Institute of Technology, naučili su računalo konfigurirati različite vrste svoje memorije za fleksibilnu hijerarhiju programa u stvarnom vremenu. Novi sustav, nazvan Jenga, analizira volumetrijske potrebe i učestalost programskog pristupa memoriji i redistribuira snagu svake od 3 vrste predmemorije procesora u kombinacijama koje pružaju povećanu učinkovitost i uštedu energije.


Za početak, istraživači su testirali povećanje performansi pri kombiniranju statičke i dinamičke memorije pri radu na programima za jednojezgreni procesor i dobili primarnu hijerarhiju - kada je koju kombinaciju bolje koristiti. Iz 2 vrste memorije ili iz jedne. Procijenjena su dva parametra: kašnjenje signala (latencija) i potrošnja energije tijekom rada svakog programa. Otprilike 40% programa počelo je raditi lošije s kombinacijom vrsta memorije, ostatak - bolje. Nakon što su zabilježili koji programi "vole" mješovite performanse, a koji vole veličinu memorije, istraživači su izgradili svoj sustav Jenga.

Virtualno su testirali 4 vrste programa na virtualnom računalu sa 36 jezgri. Testirani programi:

  • omnet - Objective Modular Network Testbed, C biblioteka za simulaciju i platforma alata za simulaciju mreže (plavo na slici)
  • mcf - Meta Content Framework (crvena boja)
  • astar - softver za prikaz virtualne stvarnosti (zeleno)
  • bzip2 - arhiver (ljubičasta boja)


Na slici je prikazano gdje i kako su obrađeni podaci svakog programa. Slova označavaju gdje se pokreće svaka aplikacija (jedna po kvadrantu), boje pokazuju gdje se nalaze njezini podaci, a sjenčanje označava drugu razinu virtualne hijerarhije ako postoji.

Razine predmemorije

CPU predmemorija podijeljena je na nekoliko razina. Za univerzalne procesore - do 3. Najbrža memorija je predmemorija prve razine - L1-cache, budući da se nalazi na istom čipu kao i procesor. Sastoji se od predmemorije instrukcija i predmemorije podataka. Neki procesori bez L1 predmemorije ne mogu raditi. L1 predmemorija radi na frekvenciji procesora i može joj se pristupiti u svakom taktu. Često je moguće izvesti više operacija čitanja/pisanja istovremeno. Volumen je obično mali - ne više od 128 KB.

Predmemorija druge razine, L2, komunicira s predmemorijom L1. Drugi je najbrži. Obično se nalazi ili na čipu, kao L1, ili u neposrednoj blizini jezgre, kao što je procesorski uložak. U starijim procesorima, skup čipova na matičnoj ploči. Volumen L2 predmemorije sa 128 KB na 12 MB. U modernim višejezgrenim procesorima, predmemorija druge razine, smještena na istom čipu, zasebna je memorija - s ukupnom veličinom predmemorije od 8 MB, svaka jezgra ima 2 MB. Obično je latencija L2 predmemorije koja se nalazi na jezgrenom čipu od 8 do 20 ciklusa takta jezgre. U zadacima koji uključuju brojne pristupe ograničenom memorijskom području, na primjer, DBMS-u, njegova puna uporaba povećava produktivnost deset puta.

L3 predmemorija obično je još veća, iako nešto sporija od L2 predmemorije (zbog činjenice da je sabirnica između L2 i L3 uža od sabirnice između L1 i L2). L3 se obično nalazi odvojeno od CPU jezgre, ali može biti velik - preko 32 MB. L3 predmemorija je sporija od prethodnih predmemorija, ali još uvijek brža od RAM-a. U višeprocesorskim sustavima je u uobičajenoj uporabi. Korištenje predmemorije treće razine opravdano je u vrlo uskom rasponu zadataka i ne samo da ne može pružiti povećanje performansi, već, naprotiv, dovesti do ukupnog smanjenja performansi sustava.

Onemogućavanje predmemorije druge i treće razine najkorisnije je u matematičkim problemima kada je količina podataka manja od veličine predmemorije. U tom slučaju možete učitati sve podatke u L1 predmemoriju odjednom, a zatim ih obraditi.


Jenga povremeno rekonfigurira virtualne hijerarhije na razini OS-a kako bi smanjila razmjenu podataka, uzimajući u obzir ograničenja resursa i ponašanje aplikacije. Svaka rekonfiguracija sastoji se od četiri koraka.

Jenga distribuira podatke ne samo ovisno o tome koji se programi šalju - oni koji vole veliku jednobrzinsku memoriju ili oni koji vole brzinu mješovitih predmemorija, već i ovisno o fizičkoj blizini memorijskih ćelija podacima koji se obrađuju. Bez obzira koju vrstu predmemorije program zahtijeva prema zadanim postavkama ili prema hijerarhiji. Glavna stvar je minimizirati kašnjenje signala i potrošnju energije. Ovisno o tome koliko vrsta memorije program "voli", Jenga modelira latenciju svake virtualne hijerarhije s jednom ili dvije razine. Dvorazinske hijerarhije tvore površinu, jednorazinske hijerarhije tvore krivulju. Jenga zatim projicira minimalno kašnjenje u dimenzijama VL1, što rezultira dvjema krivuljama. Konačno, Jenga koristi ove krivulje za odabir najbolje hijerarhije (tj. veličine VL1).

Korištenje Jenge imalo je primjetan učinak. Virtualni čip od 36 jezgri počeo je raditi 30 posto brže i trošio je 85 posto manje energije. Naravno, za sada je Jenga samo simulacija radnog računala i proći će neko vrijeme prije nego što vidite prave primjere ove predmemorije, pa čak i prije nego što je proizvođači čipova usvoje ako im se sviđa tehnologija.

Konfiguracija konvencionalnog 36 nuklearnog stroja

  • Procesori. 36 jezgri, x86-64 ISA, 2,4 GHz, Silvermont-like OOO: 8B-wide
    ifetch; 2-razinski bpred s 512×10-bitnim BHSR-ovima + 1024×2-bitnim PHT-om, 2-smjerno dekodiranje/izdavanje/preimenovanje/podvrgavanje, 32-unos IQ i ROB, 10-unos LQ, 16-unos SQ; 371 pJ/uputa, 163 mW/statička snaga jezgre
  • L1 predmemorije. 32 KB, 8-smjerni set-asocijativni, podijeljeni predmemorije podataka i uputa,
    3-ciklus kašnjenja; 15/33 pJ po pogotku/promašaju
  • Prefetchers usluga. 16-entry stream prefetchers modelirani prema i provjereni prema
    Nehalem
  • L2 predmemorije. 128 KB privatno po jezgri, 8-smjerni set-asocijativni, uključivo, 6-ciklusna latencija; 46/93 pJ po pogotku/promašaju
  • Koherentni način rada. 16-smjerne, 6-ciklične banke direktorija za Jengu; in-cache L3 direktorije za druge
  • Globalni NoC. 6x6 mesh, 128-bitni pokreti i veze, X-Y usmjeravanje, 2-ciklični cjevovodni usmjerivači, 1-ciklusne veze; 63/71 pJ po prelasku usmjerivača/veze, 12/4mW statičke snage usmjerivača/veze
  • Statička memorija blokira SRAM. 18 MB, jedna banka od 512 KB po pločici, 4-smjerni zcache s 52 kandidata, kašnjenje banke od 9 ciklusa, Vantage particioniranje; 240/500 pJ po pogotku/promašaju, 28 mW/bank statičke snage
  • Višeslojni složeni DRAM. 1152MB, jedan trezor od 128MB po 4 pločice, Alloy s MAP-I DDR3-3200 (1600MHz), 128-bitna sabirnica, 16 rangova, 8 banaka/rangu, međuspremnik redova od 2 KB; 4,4/6,2 nJ po pogotku/promašaju, 88 mW/statička snaga u trezoru
  • Glavna memorija. 4 DDR3-1600 kanala, 64-bitna sabirnica, 2 ranga/kanalu, 8 banaka/rangu, međuspremnik redova 8 KB; 20 nJ/pristupu, 4W statičke snage
  • DRAM vremena. tCAS=8, tRCD=8, tRTP=4, tRAS=24, tRP=8, tRRD=4, tWTR=4, tWR=8, tFAW=18 (sva vremena u tCK; naslagani DRAM ima pola tCK kao glavna memorija )

Predmemorija ili kako se naziva međuspremnik tvrdog diska. Ako ne znate što je to, rado ćemo odgovoriti na ovo pitanje i ispričati vam sve dostupne značajke. Ovo je posebna vrsta RAM-a koja djeluje kao međuspremnik za pohranjivanje prethodno pročitanih, ali još neprenesenih podataka za daljnju obradu, kao i za pohranjivanje informacija kojima sustav najčešće pristupa.

Potreba za tranzitnom pohranom javila se zbog značajne razlike između propusnosti PC sustava i brzine čitanja podataka s diska. Cache memorija se također može naći na drugim uređajima, naime u video karticama, procesorima, mrežnim karticama i drugima.

Što je volumen i na što utječe?

Volumen međuspremnika zaslužuje posebnu pozornost. Često su HDD-ovi opremljeni cache memorijom od 8, 16, 32 i 64 MB. Kod kopiranja velikih datoteka, između 8 i 16 MB bit će značajna razlika u performansama, ali između 16 i 32 ona je manje primjetna. Ako birate između 32 i 64, onda ih gotovo uopće neće biti. Potrebno je razumjeti da međuspremnik često doživljava velika opterećenja, au ovom slučaju, što je veći, to bolje.

Moderni tvrdi diskovi koriste 32 ili 64 MB manje; danas se jedva može pronaći. Za običnog korisnika bit će dovoljne i prva i druga vrijednost. Štoviše, osim ovoga, na performanse također utječe veličina predmemorije ugrađene u sustav. To je ono što povećava performanse tvrdog diska, posebno s dovoljno RAM-a.

Odnosno, u teoriji, što je veći volumen, to je bolja izvedba i više informacija može biti u međuspremniku i ne opteretiti tvrdi disk, ali u praksi je sve malo drugačije, a prosječni korisnik, osim u rijetkim slučajevima, neće primijetiti veliku razliku. Naravno, preporuča se odabrati i kupiti uređaje najveće veličine, što će značajno poboljšati performanse vašeg računala. Međutim, to treba učiniti samo ako to dopuštaju financijske mogućnosti.

Svrha

Dizajniran je za čitanje i pisanje podataka, međutim, na SCSI pogonima, u rijetkim slučajevima, potrebna je dozvola za predmemoriju pisanja, budući da je zadana postavka da je predmemorija pisanja onemogućena. Kao što smo već rekli, volumen nije odlučujući faktor za poboljšanje operativne učinkovitosti. Za povećanje performansi tvrdog diska važnije je organizirati razmjenu informacija s međuspremnikom. Osim toga, na njega u potpunosti utječe i funkcioniranje upravljačke elektronike, sprječavanje pojave itd.

Međuspremnik memorije pohranjuje najčešće korištene podatke, dok volumen određuje kapacitet tih pohranjenih informacija. Zbog velike veličine, performanse tvrdog diska značajno se povećavaju, jer se podaci učitavaju izravno iz predmemorije i ne zahtijevaju fizičko čitanje.

Fizičko čitanje je izravan pristup sustava tvrdom disku i njegovim sektorima. Ovaj proces se mjeri u milisekundama i traje prilično dugo. U isto vrijeme, HDD prenosi podatke više od 100 puta brže nego kada se to traži fizičkim pristupom tvrdom disku. Odnosno, omogućuje uređaju rad čak i ako je glavna sabirnica zauzeta.

Glavne prednosti

Međuspremnik ima niz prednosti, od kojih je glavna brza obrada podataka, koja traje minimalno, dok fizički pristup sektorima diska zahtijeva određeno vrijeme dok glava diska ne pronađe traženi dio podataka i počne da ga pročitam. Štoviše, tvrdi diskovi s najvećom pohranom mogu znatno rasteretiti procesor računala. Sukladno tome, procesor se koristi minimalno.

Može se nazvati i potpunim akceleratorom, jer funkcija međuspremnika čini tvrdi disk da radi mnogo učinkovitije i brže. Ali danas, s brzim razvojem tehnologije, gubi svoj nekadašnji značaj. To je zbog činjenice da većina modernih modela ima 32 i 64 MB, što je dovoljno za normalan rad pogona. Kao što je gore spomenuto, razliku možete preplatiti samo kada razlika u troškovima odgovara razlici u učinkovitosti.

Na kraju bih želio reći da međuspremnik, bez obzira kakav je, poboljšava performanse određenog programa ili uređaja samo ako se više puta pristupa istim podacima, čija veličina nije veća od veličine predmemorije. Ako vaš rad na računalu uključuje programe koji aktivno komuniciraju s malim datotekama, tada vam je potreban HDD s najvećom pohranom.

Kako saznati trenutnu veličinu predmemorije

Sve što trebate učiniti je preuzeti i instalirati besplatni program HDTune. Nakon pokretanja idite na odjeljak "Informacije" i na dnu prozora vidjet ćete sve potrebne parametre.


Ako kupujete novi uređaj, tada sve potrebne karakteristike možete pronaći na kutiji ili u priloženim uputama. Druga opcija je pogledati na internetu.

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)
Veličina predmemorije razine 1.
Predmemorija razine 1 je blok memorije velike brzine koji se nalazi izravno na jezgri procesora.
Podaci izvučeni iz RAM-a kopiraju se u njega.

Pohranjivanje jezgrenih instrukcija poboljšava performanse procesora zbog veće brzine obrade podataka (obrada iz predmemorije je brža nego iz RAM-a).

Kapacitet predmemorije prve razine je mali i iznosi kilobajta.
Tipično, "stariji" modeli procesora imaju veću 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)
Veličina predmemorije razine 2.
L2 predmemorija je blok memorije velike brzine koji obavlja iste funkcije kao L1 predmemorija (pogledajte "Kapacitet L1 predmemorije"), ali ima nižu brzinu i veći kapacitet.

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

Veličina L3 predmemorije (od 0 do 16384 KB)
Veličina predmemorije razine 3.
Integrirana L3 predmemorija, u kombinaciji s brzom sistemskom sabirnicom, tvori kanal za razmjenu podataka velike brzine sa sistemskom memorijom.

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

Na primjer, linije procesora kao što su Intel Pentium 4 Extreme Edition, Xeon DP, Itanium 2, Xeon MP i drugi imaju predmemoriju treće razine.

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 mega driver Radeon Software Adrenalin 2020 Edition 19.12.2 WHQL.

Kumulativno ažuriranje sustava Windows 10 1909 KB4530684

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

NVIDIA GeForce 441.66 WHQL upravljački program spreman za igre

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

Koliko je L3 predmemorija važna za AMD procesore?

Doista, ima smisla višejezgrene procesore opremiti namjenskom memorijom koju će dijeliti sve dostupne jezgre. U ovoj ulozi, brza predmemorija treće razine (L3) može značajno ubrzati pristup podacima koji se najčešće traže. Tada jezgre, ako je moguće, neće morati pristupati sporoj glavnoj memoriji (RAM).

Barem u teoriji. Nedavno AMD najavio procesor Athlon II X4, koji je Phenom II X4 model bez L3 cachea, nagovještavajući da nije toliko potreban. Odlučili smo izravno usporediti dva procesora (sa i bez L3 predmemorije) kako bismo testirali kako predmemorija utječe na performanse.

Kliknite na sliku za povećanje.

Kako radi predmemorija?

Prije nego što zaronimo u testove, važno je razumjeti neke osnove. Princip rada predmemorije je prilično jednostavan. Predmemorija sprema podatke u međuspremnik što je moguće bliže procesnim jezgrama procesora kako bi se zahtjevi procesora smanjili na udaljeniju i sporiju memoriju. Na modernim stolnim platformama hijerarhija predmemorije uključuje čak tri razine koje prethode pristupu RAM-u. Štoviše, predmemorije druge i, posebno, treće razine služe ne samo za međuspremnik podataka. Njihova je svrha spriječiti preopterećenje procesorske sabirnice kada jezgre trebaju razmjenjivati ​​informacije.

Pogoci i promašaji

Učinkovitost arhitektura predmemorije mjeri se stopom pogodaka. Zahtjevi za podacima koje predmemorija može zadovoljiti smatraju se pogocima. Ako ova predmemorija ne sadrži potrebne podatke, tada se zahtjev prosljeđuje dalje duž memorijskog cjevovoda i broji se promašaj. Naravno, promašaji dovode do više vremena potrebnog za dobivanje informacija. Kao rezultat toga, u računalnom cjevovodu pojavljuju se "mjehurići" (mirovanja) i kašnjenja. Hitovi, naprotiv, omogućuju vam da zadržite maksimalnu izvedbu.

Ulaz u predmemoriju, ekskluzivnost, koherencija

Pravila zamjene određuju kako se predmemorija oslobađa za nove unose. Budući da se podaci upisani u predmemoriju na kraju moraju pojaviti u glavnoj memoriji, sustavi to mogu činiti istovremeno s pisanjem u predmemoriju (pisanje kroz) ili mogu označiti područja podataka kao "prljava" (unazadno pisanje) i pisati u memorije kada se izbaci iz predmemorije.

Podaci u nekoliko razina predmemorije mogu se pohraniti ekskluzivno, odnosno bez redundancije. Tada nećete pronaći iste podatkovne linije u dvije različite hijerarhije predmemorije. Ili predmemorije mogu raditi uključivo, to jest, niže razine predmemorije zajamčeno sadrže podatke prisutne u gornjim razinama predmemorije (bliže jezgri procesora). AMD Phenom koristi ekskluzivnu L3 predmemoriju, dok Intel slijedi inkluzivnu strategiju predmemorije. Protokoli koherentnosti osiguravaju cjelovitost i svježinu podataka u različitim jezgrama, razinama predmemorije, pa čak i procesorima.

Veličina predmemorije

Veća predmemorija može sadržavati više podataka, ali ima tendenciju povećanja latencije. Osim toga, velika predmemorija troši znatan broj procesorskih tranzistora, pa je važno pronaći ravnotežu između proračuna tranzistora, veličine matrice, potrošnje energije i performansi/latencije.

Asocijativnost

Unosi u RAM-u mogu se izravno mapirati u predmemoriju, to jest, postoji samo jedna pozicija predmemorije za kopiju podataka iz RAM-a, ili mogu biti n-way asocijativni, to jest, postoji n mogućih lokacija u predmemorij podaci mogu biti pohranjeni. Viši stupnjevi asocijativnosti (do potpuno asocijativnih predmemorija) pružaju veću fleksibilnost predmemorije jer postojeće podatke u predmemoriji nije potrebno ponovno pisati. Drugim riječima, visok n-stupanj asocijativnosti jamči veću stopu pogodaka, ali također povećava latenciju jer je potrebno više vremena za provjeru svih tih asocijacija za pogodak. Obično je najviši stupanj povezanosti razuman za posljednju razinu predmemorije, budući da je tamo dostupan maksimalni kapacitet, a traženje podataka izvan ove predmemorije rezultirat će pristupom procesora sporom RAM-u.

Evo nekoliko primjera: Core i5 i i7 koriste 32 KB L1 predmemorije s 8-smjernom asocijativnošću za podatke i 32 KB L1 predmemorije s 4-smjernom asocijativnošću za upute. Razumljivo je da Intel želi da upute budu brže dostupne i da L1 predmemorija podataka ima maksimalnu stopu pogodaka. L2 predmemorija na Intelovim procesorima ima 8-smjernu asocijativnost, a Intel L3 predmemorija još je pametnija jer implementira 16-smjernu asocijativnost za maksimiziranje pogodaka.

Međutim, AMD slijedi drugačiju strategiju s Phenom II X4 procesorima, koji koriste dvosmjernu asocijativnu L1 predmemoriju za smanjenje latencije. Kako bi se nadoknadili mogući propusti, kapacitet predmemorije je udvostručen: 64 KB za podatke i 64 KB za upute. L2 predmemorija ima 8-smjernu asocijativnost, poput Intelovog dizajna, ali AMD-ova L3 predmemorija radi s 48-smjernom asocijativnošću. Ali odluka da se izabere jedna arhitektura predmemorije umjesto druge ne može se procijeniti bez razmatranja cijele CPU arhitekture. Sasvim je prirodno da rezultati testa imaju praktičan značaj, a cilj nam je bio upravo praktična provjera cijele ove složene višerazinske strukture predmemoriranja.

Svaki moderni procesor ima namjensku predmemoriju koja pohranjuje procesorske upute i podatke, spremne za upotrebu gotovo trenutno. Ova razina se obično naziva predmemorija razine 1 ili L1 i prvi put je predstavljena u 486DX procesorima. Nedavno su AMD procesori postali standard sa 64 KB L1 predmemorije po jezgri (za podatke i upute), a Intel procesori koriste 32 KB L1 predmemorije po jezgri (također za podatke i upute)

L1 predmemorija se prvi put pojavila na 486DX procesorima, nakon čega je postala sastavni dio svih modernih procesora.

Predmemorija druge razine (L2) pojavila se na svim procesorima nakon izdavanja Pentiuma III, iako su prve njegove implementacije na pakiranju bile u procesoru Pentium Pro (ali ne na čipu). Moderni procesori opremljeni su s do 6 MB L2 predmemorije na čipu. U pravilu se taj volumen dijeli između dvije jezgre na procesoru Intel Core 2 Duo, na primjer. Tipične L2 konfiguracije daju 512 KB ili 1 MB predmemorije po jezgri. Procesori s manjom L2 predmemorijom uglavnom su na nižoj cjenovnoj razini. Ispod je dijagram ranih implementacija L2 predmemorije.

Pentium Pro je imao L2 predmemoriju u pakiranju procesora. U sljedećim generacijama Pentiuma III i Athlona, ​​L2 predmemorija implementirana je kroz zasebne SRAM čipove, što je bilo vrlo uobičajeno u to vrijeme (1998., 1999.).

Naknadna objava procesne tehnologije do 180 nm omogućila je proizvođačima da konačno integriraju L2 predmemoriju na procesorsku matricu.


Prvi dvojezgreni procesori jednostavno su koristili postojeće dizajne koji su uključivali dva matrica po paketu. AMD je predstavio dvojezgreni procesor na monolitnom čipu, dodao memorijski kontroler i prekidač, a Intel je jednostavno sklopio dva jednojezgrena čipa u jednom paketu za svoj prvi dvojezgreni procesor.


Po prvi put L2 predmemorija počela se dijeliti između dvije računalne jezgre na procesorima Core 2 Duo. AMD je otišao dalje i stvorio svoj prvi četverojezgreni Phenom od nule, a Intel je ponovno upotrijebio par matrica, ovaj put dva dvojezgrena Core 2 matrica, za svoj prvi četverojezgreni procesor kako bi smanjio troškove.

Predmemorija treće razine postoji od ranih dana procesora Alpha 21165 (96 KB, procesori predstavljeni 1995.) ili IBM Power 4 (256 KB, 2001.). Međutim, u arhitekturama temeljenim na x86, L3 predmemorija se prvi put pojavila s modelima Intel Itanium 2, Pentium 4 Extreme (Gallatin, oba procesora 2003.) i Xeon MP (2006.).

Rane implementacije jednostavno su omogućile drugu razinu u hijerarhiji predmemorije, iako moderne arhitekture koriste L3 predmemoriju kao veliki, zajednički međuspremnik za prijenos podataka između jezgri u višejezgrenim procesorima. To je naglašeno visokim n-stupnjem asocijativnosti. Bolje je tražiti podatke malo dulje u predmemoriji nego završiti u situaciji u kojoj nekoliko jezgri koristi vrlo spor pristup glavnom RAM-u. AMD je prvi predstavio L3 cache na desktop procesoru s već spomenutom Phenom linijom. 65 nm Phenom X4 sadržavao je 2 MB dijeljene L3 predmemorije, a moderni 45 nm Phenom II X4 već ima 6 MB dijeljene L3 predmemorije. Intel Core i7 i i5 procesori koriste 8 MB L3 predmemorije.

Moderni četverojezgreni procesori imaju namjenske L1 i L2 predmemorije za svaku jezgru, kao i veliku L3 predmemoriju koju dijele sve jezgre. Zajednička L3 predmemorija također omogućuje razmjenu podataka na kojima jezgre mogu raditi paralelno.


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

Već duže vrijeme gotovo svi procesori imaju ovu vrstu 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 privremenu pohranu podataka kojima se najčešće pristupa. Ovako možemo ukratko opisati ovu vrstu 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čini. Zbog toga je cache memorija vrlo skupa memorija, a ima zanemariv volumen. Ali iz ove strukture proizlazi glavna prednost takve memorije - brzina. Budući da flip-flopovi ne trebaju regeneraciju, a vrijeme kašnjenja vrata na kojima su montirani je malo, vrijeme prebacivanja flip-flopa iz jednog stanja u drugo događa se vrlo brzo. To omogućuje cache memoriji da radi na istim frekvencijama kao i moderni procesori.

Također, važan čimbenik je i smještaj cache memorije. Nalazi se na samom čipu procesora, što značajno smanjuje vrijeme pristupa. Prethodno je predmemorija nekih razina bila smještena izvan procesorskog čipa, na posebnom SRAM čipu negdje na matičnoj ploči. Danas gotovo svi procesori imaju predmemoriju smještenu na procesorskom čipu.

Za što se koristi predmemorija procesora?

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, pruža značajno povećanje performansi u bilo kojoj aplikaciji.

Da bismo bolje razumjeli potrebu za cache memorijom, zamislimo organiziranje memorije računala poput 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 stolu računovođe, a koje on poziva nekoliko puta tijekom jednog sata. Na primjer, to mogu biti telefonski brojevi, neki primjeri dokumenata. Ove vrste informacija nalaze se 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 brzu upotrebu, na primjer, dokument. Kada ovaj dokument više nije potreban, vraća se u ormarić (u RAM), čime se čisti tablica (cache memorija) 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". To su složeni 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 sljedeće razine: L1 (prva razina), L2 (druga razina), L3 (treća razina). Sada malo više detalja o svakom od njih:

Predmemorija prve razine (L1) je najbrža razina predmemorije koja radi izravno s jezgrom procesora, 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 procesoru visokih performansi Intel Core i7-3770K. Ovaj procesor je opremljen sa 4x32 KB L1 predmemorije 4 x 32 KB = 128 KB. (32 KB po jezgri)

Predmemorija druge razine (L2) – druga razina je veća od prve, ali kao rezultat ima niže "karakteristike brzine". Sukladno tome, služi kao međuspremnik između razina L1 i L3. Ako ponovno pogledamo naš primjer Core i7-3770 K, tada je veličina L2 cache memorije 4x256 KB = 1 MB.

Predmemorija treće razine (L3) – treća razina je, opet, sporija od prethodne dvije. Ali još uvijek je puno brži od RAM-a. Veličina L3 predmemorije u i7-3770K je 8 MB. Ako prethodne dvije razine dijele sve jezgre, tada je ova razina zajednička cijelom procesoru. Cifra je sasvim solidna, ali ne i pretjerana. Budući da je, primjerice, za procesore serije Extreme poput i7-3960X ona 15 MB, a za neke nove Xeon procesore i više od 20.

we-it.net

Za što se koristi predmemorija i koliko je potrebna?

Ne govorimo o gotovini, već o keš memoriji procesora i ostalom. Trgovci su napravili još jedan komercijalni fetiš od kapaciteta cache memorije, posebice kod cache 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 - nemojte to učiniti odmah!

Predmemorija je međuspremnik koji pohranjuje ono što se može i/ili treba odgoditi za kasnije. Procesor radi i dolazi do situacija kada međupodatke treba negdje pohraniti. Pa, naravno u cache! - uostalom, on je redova veličine brži od RAM-a, jer... nalazi se u samom procesoru i obično radi na istoj frekvenciji. A onda će nakon nekog vremena izvući te podatke natrag i ponovno ih obraditi. Grubo rečeno, to je kao sortirka krumpira na pokretnoj traci, koja svaki put kad naiđe na nešto osim krumpira (mrkvu), to baca u kutiju. A kad se napuni, ustane i odnese ga u susjednu sobu. U ovom trenutku pokretna traka stoji i zapaža se zastoj. Volumen kutije je cache u ovoj analogiji. I koliko je potrebno – 1 MB ili 12? Jasno je da ako je njegov volumen mali, morat ćete potrošiti previše vremena na uklanjanje i bit će jednostavno, ali nakon određenog volumena, daljnje povećanje neće dati ništa. Dobro, sortirnica će imati kutiju za 1000 kg mrkve - ali neće imati toliko tijekom cijele smjene i zbog toga NEĆE POSTATI 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 pogreška javlja u njegovoj predmemorije i testirati L1 i L2 ovdje.) Treće, predmemorija zauzima pristojnu količinu područja čipa i proračun tranzistora procesorskog sklopa. Isto se odnosi i na predmemoriju tvrdih diskova. A ako je arhitektura procesora jaka, imat će predmemoriju od 1024 KB ili više koju će zahtijevati mnoge aplikacije. Ako imate brzi HDD, prikladno je 16MB ili čak 32MB. Ali nikakva količina od 64 MB predmemorije neće ga učiniti bržim ako se radi o trimu koji se zove zelena verzija (Green WD) s brzinom od 5900 umjesto potrebnih 7200, čak i ako potonji ima 8 MB. Zatim procesori Intel i AMD različito koriste ovu predmemoriju (općenito govoreći, AMD je učinkovitiji i njihovim procesorima često odgovaraju manje vrijednosti). Osim toga, Intel ima zajednički cache, ali AMD ga ima zasebno za svaku jezgru. Najbrža L1 predmemorija na AMD procesorima iznosi 64 KB za podatke i upute, što je dvostruko više od Intelove. Treća razina L3 predmemorije 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 mnoge profesionalne aplikacije NE vole predmemoriju (pogledajte. Računalo za renderiranje, uređivanje videa i profesionalne aplikacije). Točnije, prema njemu su uglavnom ravnodušni oni najzahtjevniji. Ali ono što definitivno ne biste trebali učiniti je odabrati procesor na temelju veličine predmemorije. Stari Pentium 4 u svojim najnovijim pojavama imao je 2 MB predmemorije na radnim frekvencijama znatno višim od 3 GHz - usporedite njegovu izvedbu s jeftinim dvojezgrenim Celeronom E1***, koji radi na frekvencijama od oko 2 GHz. Od starca neće ostaviti kamen na kamenu. Relevantniji 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 Athlonea da izreže svog konkurenta na komade.

Kao što možete vidjeti iz grafikona, nikakva predmemorija ne može zamijeniti dodatne jezgre ni u složenim programima ni u igricama koje zahtijevaju procesor. Athlon s 2MB predmemorije (crveno) lako pobjeđ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 video kartica GTX460, gdje su uspjeli ne samo smanjiti kapacitet sabirnice i 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 produktivnosti. 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 (svaki 4, 2 i 1 MB). 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 - da je uključen procesor kapaciteta 6MB, rezultat bi se malo više povećao, jer procesori dosežu zasićenje. Ali za modele s 512Kb pad bi bio primjetan. Drugim riječima, 2MB je dovoljno čak i za igre. 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 za veličinu predmemorije po istoj cijeni, jer čak ni najprostranija kutija za sortiranje neće zamijeniti drugi sorter, ali ima i dobrih primjera na primjer, Pentium Dual-Core u ranoj reviziji na 65 nm procesu imao je 1 MB predmemorije za dvije jezgre (serija E2160 i slične), a kasnija 45-nm revizija serije E5200 još uvijek ima 2 MB, ako su sve ostale stvari jednake ( i što je najvažnije - CIJENA). Naravno, trebali biste odabrati ovo drugo.

compua.com.ua

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

Koje je najprljavije mjesto na računalu? Mislite li da je košara? Korisničke mape? Sustav hlađenja? Krivo ste pogodili! Najprljavije mjesto je spremište! Uostalom, morate ga stalno čistiti!

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

Predmemorija 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 operativnog sustava (predmemorija sličica, DNS cache) i hardver (CPU cache L1-L3, grafički međuspremnik) imaju vlastitu predmemoriju, međuspremnike za pohranu). . Implementiran je na različite načine - softverski i hardverski.

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

  • U uređajima za pohranu podataka (osobito tvrdim diskovima), 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 najčešće traži operativni sustav.

  • Moderni središnji procesor sadrži 2-3 glavne razine predmemorije (koja se naziva i ultra-random access memory), smještene u obliku hardverskih modula na istom čipu. Najbrži i najmanji po veličini (32-64 Kb) je predmemorija razine 1 (L1) - radi na istoj frekvenciji kao i procesor. L2 zauzima prosječnu poziciju u brzini i kapacitetu (od 128 Kb do 12 Mb). A L3 je najsporiji i najobimniji (do 40 Mb), a nema ga na nekim modelima. Brzina L3 niska je samo u odnosu na njegovu bržu braću, ali je i stotinama puta brža od najproduktivnijeg RAM-a.

Flash memorija procesora koristi se za pohranjivanje stalno korištenih podataka pumpanih iz RAM-a i instrukcija strojnog koda. Što ga je više, to je procesor brži.

Danas tri razine predmemoriranja više nisu granica. 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, napravljenu u obliku zasebnog čipa.

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

Ljudskim jezikom o tome kako sve to funkcionira

Da bismo razumjeli kako funkcionira predmemorija, zamislimo osobu koja radi za stolom. Mape i dokumenti koje stalno koristi nalaze se na stolu (u cache memoriji). Da biste im pristupili, samo ispružite ruku.

Papiri koji mu rjeđe trebaju 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 se arhivira (snimi na hard disk).

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

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 opada (pogreške predmemorije dovode do neispravnosti programa i hardvera). Da bi ispravio situaciju, zaposlenik mora izbaciti 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 ih radni stol može primiti je da pomoćnik posluži radničke papire s police (operacijski sustav može dodijeliti dio neiskorištenog RAM-a za predmemoriju podataka uređaja). Ali to je ipak sporije nego uzimati ih sa stola.

Dokumenti koji su pri ruci trebaju biti relevantni za trenutne zadatke. Sam zaposlenik to mora pratiti. Morate redovito posložiti stvari (uklanjanje nevažnih podataka iz predmemorije pada na teret aplikacija koje ga koriste; neki programi imaju funkciju automatskog čišćenja predmemorije).

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 preuzima nevažne podatke, koristite alate za čišćenje predmemorije prema rasporedu ili izvedite ovu manipulaciju ručno svakih nekoliko dana).

Zapravo posvuda nailazimo na "funkcije predmemoriranja". To uključuje kupnju namirnica za buduću upotrebu, razne radnje koje obavljamo u prolazu, u isto vrijeme i sl. U biti, to je sve ono što nas spašava od nepotrebne strke i nepotrebnih kretanja, usklađuje nam život i olakšava posao. Računalo radi isto. Ukratko, da nema predmemorije, radio bi stotine i tisuće puta sporije. A vjerojatno nam se ne bi svidjelo.

f1comp.ru

Cache, cache, cash - memorija. Za što se koristi predmemorija? Utjecaj veličine i brzine predmemorije na performanse.

Cache - memorija (cache, cash, buffer - eng.) - koristi se u digitalnim uređajima kao međuspremnik velike brzine. Predmemorija se može pronać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 uvelike varirati.

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 sprječavanju pogrešaka, provjeri hardverskih podataka za integritet ili kodiranju signala s uređaja u razumljiv signal za sučelje, bez kašnjenja. Ovaj sustav se koristi, na primjer, u CD/DVD pogonima.

U drugom slučaju, predmemorija može poslužiti za pohranu često korištenog koda i time 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 diskovima i središnjim procesorskim jedinicama (CPU).

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

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

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

Kombiniranje izvedbenih jedinica. Središnje procesorske jedinice i video procesori često koriste brzu zajedničku predmemoriju između jezgri. Sukladno tome, ako je jedna jezgra obradila informaciju i nalazi se u predmemoriji, a primljena je naredba za istu operaciju, odnosno za rad s tim podacima, tada podatke neće ponovno obraditi procesor, već će ih uzeti iz predmemorija za daljnju obradu. Kernel će se rasteretiti radi obrade drugih podataka. Ovo značajno povećava performanse u sličnim, ali složenim izračunima, posebno ako je predmemorija velika i brza.

Zajednička predmemorija također omogućuje jezgrama da rade s njom izravno, zaobilazeći spori RAM.

Spremi za upute. Postoji ili dijeljena, vrlo brza L1 predmemorija za upute i druge operacije ili namjenska predmemorija za njih. Što je više instrukcija pohranjeno u procesoru, potrebna mu je veća predmemorija instrukcija. Ovo smanjuje kašnjenje memorije i omogućuje da blok instrukcija funkcionira gotovo neovisno. Kada je pun, blok instrukcija počinje povremeno biti u stanju mirovanja, što usporava brzinu izračuna.

Ostale funkcije i značajke.

Važno je napomenuti da se u CPU-ima (centralnim procesorskim jedinicama) koristi hardversko ispravljanje grešaka (ECC), jer mala greška u predmemoriji može dovesti do jedne kontinuirane greške tijekom daljnje obrade 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 omogućuje ravnotežu 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, utjecaj 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 procesorskim jedinicama poslužitelja (CPU), predmemorija može koristiti do 80% proračuna tranzistora. Prvo, to utječe na konačni trošak, a drugo, povećava se potrošnja energije i rasipanje topline, što nije usporedivo s produktivnošću povećanom za nekoliko postotaka.