Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Cache më e shpejtë në procesor. Llogaritjet matematikore dhe inxhinierike

cache - memorie (cache, para të gatshme, tampon- eng.) - përdoret në pajisjet dixhitale si një tabelë me shpejtësi të lartë. Memoria cache mund të gjendet në pajisjet kompjuterike si procesorë, karta rrjeti, disqe CD dhe shumë të tjera.

Parimi i funksionimit dhe arkitektura e cache mund të jetë shumë i ndryshëm.

Për shembull, një cache mund të shërbejë si një normale clipboard . Pajisja përpunon të dhënat dhe i transferon ato në një tampon me shpejtësi të lartë, ku kontrolluesi i transferon të dhënat në ndërfaqe. Një cache e tillë synon të parandalojë gabimet, të dhënat e kontrollit të harduerit për integritet ose të kodojë sinjalin nga pajisja në një sinjal të kuptueshëm për ndërfaqen, pa vonesa. Ky sistem përdoret, për shembull, në CD/DVD Disqet CD.

Përndryshe, cache mund të shërbejë për të ruajtja e kodit të përdorur shpesh dhe në këtë mënyrë përshpejton përpunimin e të dhënave. Kjo do të thotë, pajisja nuk ka nevojë të rillogarisë ose të kërkojë të dhënat, gjë që do të zgjaste shumë më tepër sesa leximi i tyre nga cache. Në këtë rast, madhësia dhe shpejtësia e cache-it luan një rol shumë të rëndësishëm.

Kjo arkitekturë gjendet më shpesh në disqet e ngurtë dhe njësitë qendrore të përpunimit ( CPU).

Kur pajisjet janë duke punuar, firmware të posaçëm ose programe dispeçer mund të ngarkohen në cache, të cilat do të funksiononin më ngadalë me ROM(pajisje ruajtëse e përhershme).

Shumica e pajisjeve moderne përdorin lloji i memories së përzier , i cili mund të shërbejë edhe si një tastierë dhe një vend për të ruajtur kodin e përdorur shpesh.

Ekzistojnë disa funksione shumë të rëndësishme të zbatuara për cache-in e procesorëve dhe çipave video.

Konsolidimi i njësive përmbaruese . CPU-të dhe procesorët video shpesh përdorin një memorie të shpejtë të përbashkët midis bërthamave. Prandaj, nëse një bërthamë ka përpunuar informacionin dhe ai është në cache, dhe vjen një komandë për të njëjtin operacion, ose për të punuar me këto të dhëna, atëherë të dhënat nuk do të përpunohen përsëri nga procesori, por do të merren nga cache. për përpunim të mëtejshëm. Kerneli do të shkarkohet për të përpunuar të dhëna të tjera. Kjo rrit ndjeshëm performancën në të njëjtin lloj, por llogaritjet komplekse, veçanërisht nëse cache është i madh dhe i shpejtë.

Cache e përbashkët, gjithashtu i lejon kernelit të punojnë me të drejtpërdrejt, duke anashkaluar të ngadaltë.

Cache për udhëzime. Ekziston ose një memorie e përgjithshme shumë e shpejtë e nivelit të parë për udhëzime dhe operacione të tjera, ose një të dedikuar për to. Sa më shumë instruksione të ngulitura të ketë një procesor, aq më i madh është cache e instruksioneve që i nevojitet. Kjo redukton vonesën e kujtesës dhe lejon që blloku i instruksionit të funksionojë pothuajse në mënyrë të pavarur.

Funksione dhe veçori të tjera.

Vlen të përmendet se në CPU(njësi përpunimi qendror), zbatohet korrigjimi i gabimit të harduerit (ECC), sepse një gabim i vogël në cache mund të çojë në një gabim të vazhdueshëm në përpunimin e mëtejshëm të këtyre të dhënave.

V CPU dhe GPU ekziston hierarkia e cache-it , i cili ju lejon të ndani të dhënat për bërthamat individuale dhe të përgjithshme. Edhe pse pothuajse të gjitha të dhënat nga cache e nivelit të dytë kopjohen ende në nivelin e tretë, të përgjithshëm, por jo gjithmonë. Niveli i parë i cache-it është më i shpejti, dhe secili pasues është më i ngadalshëm, por më i madh në madhësi.

Për procesorët, është normale që tre dhe më pak nivele cache. Kjo ju lejon të arrini një ekuilibër midis shpejtësisë, madhësisë së memories dhe shpërndarjes së nxehtësisë. Është e vështirë të gjesh më shumë se dy nivele cache në procesorët video.

Madhësia e cache-it, ndikimi i performancës dhe karakteristika të tjera.

Natyrisht, aq më shumë cache, aq më shumë të dhëna mund të ruajë dhe përpunojë, por ka një problem serioz.

Para të mëdha- atë buxhet i madh. Në procesorët e serverëve ( CPU), cache mund të përdoret deri në 80% buxheti i tranzistorit. Së pari, kjo ndikon në koston përfundimtare, dhe së dyti, rritet konsumi i energjisë dhe shpërndarja e nxehtësisë, e cila nuk është e krahasueshme me një performancë të rritur me disa përqind.

Të gjithë përdoruesit janë të vetëdijshëm për elementë të tillë të një kompjuteri si një procesor përgjegjës për përpunimin e të dhënave, si dhe memorie me akses të rastësishëm (RAM ose RAM) përgjegjëse për ruajtjen e tyre. Por jo të gjithë ndoshta e dinë që ekziston edhe një cache e procesorit (Cache CPU), domethënë RAM-i i vetë procesorit (e ashtuquajtura memorie super-RAM).

Cila është arsyeja që i shtyu zhvilluesit e kompjuterëve të përdorin memorie të veçantë për procesorin? A nuk mjafton RAM-i për një kompjuter?

Në të vërtetë, për një kohë të gjatë, kompjuterët personalë bënë pa asnjë lloj memorie cache. Por, siç e dini, procesori është pajisja më e shpejtë në një kompjuter personal dhe shpejtësia e tij është rritur me çdo gjeneratë të re të CPU. Aktualisht, shpejtësia e tij matet në miliarda operacione në sekondë. Në të njëjtën kohë, RAM standarde nuk e ka rritur ndjeshëm performancën e saj gjatë rrjedhës së evolucionit të saj.

Në përgjithësi, ekzistojnë dy teknologji kryesore për çipat e memories - memoria statike dhe memoria dinamike. Pa u thelluar në detajet e strukturës së tyre, do të themi vetëm se memoria statike, ndryshe nga kujtesa dinamike, nuk kërkon rigjenerim; përveç kësaj, 4-8 transistorë përdoren për një bit informacion në memorien statike, ndërsa 1-2 transistorë përdoren në memorien dinamike. Prandaj, memoria dinamike është shumë më e lirë se memoria statike, por në të njëjtën kohë shumë më e ngadaltë. Aktualisht, çipat RAM prodhohen në bazë të memories dinamike.

Evolucioni i përafërt i raportit të shpejtësisë së procesorëve dhe RAM:

Kështu, nëse procesori merr informacion nga memoria kryesore gjatë gjithë kohës, atëherë do të duhej të priste për memorien e ngadaltë dinamike dhe do të ishte në punë gjatë gjithë kohës. Në të njëjtin rast, nëse memoria statike do të përdorej si RAM, atëherë kostoja e kompjuterit do të rritej disa herë.

Kjo është arsyeja pse u zhvillua një kompromis i arsyeshëm. Pjesa kryesore e RAM-it mbeti dinamike, ndërsa procesori mori cache-in e tij të shpejtë bazuar në çipat e memories statike. Vëllimi i tij është relativisht i vogël - për shembull, vëllimi i cache L2 është vetëm disa megabajt. Sidoqoftë, këtu ia vlen të kujtojmë se e gjithë RAM-i i kompjuterëve të parë PC IBM ishte më pak se 1 MB.

Për më tepër, përshtatshmëria e zbatimit të teknologjisë së caching-ut ndikohet gjithashtu nga fakti që aplikacione të ndryshme që janë në RAM ngarkojnë procesorin ndryshe, dhe, si rezultat, ka shumë të dhëna që kërkojnë përpunim me përparësi në krahasim me pjesën tjetër.

Historia e cache

Në mënyrë të rreptë, përpara se memoria e cache të zhvendosej në kompjuterët personalë, ajo ishte përdorur me sukses në superkompjuterë për disa dekada.

Për herë të parë, një memorie cache prej vetëm 16 KB u shfaq në një PC të bazuar në procesorin i80386. Procesorët e sotëm përdorin nivele të ndryshme cache, nga e para (cache më e shpejtë e madhësisë më të vogël - zakonisht 128 KB) deri në të tretën (cache më e ngadaltë e madhësisë më të madhe - deri në dhjetëra MB).

Në fillim, memoria e jashtme e cache e procesorit ishte e vendosur në një çip të veçantë. Megjithatë, me kalimin e kohës, kjo çoi në faktin se autobusi i vendosur midis cache-it dhe procesorit u bë një pengesë, duke ngadalësuar shkëmbimin e të dhënave. Në mikroprocesorët modernë, niveli i parë dhe i dytë i memories cache ndodhen në vetë bërthamën e procesorit.

Për një kohë të gjatë, kishte vetëm dy nivele cache në procesorë, por për herë të parë në CPU Intel Itanium u shfaq një cache e nivelit të tretë, e zakonshme për të gjitha bërthamat e procesorit. Ekzistojnë gjithashtu zhvillime të procesorëve me një cache me katër nivele.

Arkitekturat dhe parimet e funksionimit të cache

Deri më sot, janë të njohura dy lloje kryesore të organizimit të memories cache, të cilat burojnë nga zhvillimet e para teorike në fushën e kibernetikës - arkitekturat e Princeton dhe Harvard. Arkitektura e Princeton nënkupton një hapësirë ​​të vetme memorie për ruajtjen e të dhënave dhe komandave, ndërsa ajo e Harvardit ka një të veçantë. Shumica e përpunuesve të kompjuterëve personalë të linjës x86 përdorin një lloj të veçantë memorie cache. Për më tepër, një lloj i tretë i memories cache është shfaqur gjithashtu në procesorët modernë - i ashtuquajturi buffer i përkthimit asociativ, i krijuar për të shpejtuar konvertimin e adresave të memories virtuale të sistemit operativ në adresat e memories fizike.

E thjeshtuar, skema e ndërveprimit ndërmjet memories cache dhe procesorit mund të përshkruhet si më poshtë. Së pari, prania e informacionit të nevojshëm nga procesori kontrollohet në më të shpejtë - cache e nivelit të parë, pastaj - në cache të nivelit të dytë, e kështu me radhë. Nëse informacioni i nevojshëm nuk u gjet në asnjë nivel të memories, atëherë ata thonë për një gabim ose një humbje të cache. Nëse nuk ka fare informacion në cache, atëherë procesori duhet ta marrë atë nga RAM ose edhe nga memoria e jashtme (nga hard disku).

Rendi në të cilin procesori kërkon informacion në memorie:

Kjo është mënyra se si procesori kërkon informacion

Për të kontrolluar funksionimin e memories cache dhe ndërveprimin e saj me njësitë llogaritëse të procesorit, si dhe RAM-in, ekziston një kontrollues i veçantë.

Skema e organizimit të ndërveprimit të bërthamës së procesorit, cache dhe RAM:

Kontrolluesi i cache-it është lidhja kryesore midis procesorit, RAM-it dhe cache-it.

Duhet të theksohet se memoria e të dhënave është një proces kompleks që përdor shumë teknologji dhe algoritme matematikore. Ndër konceptet bazë të përdorura në caching, mund të veçohen metodat e shkrimit të një cache dhe arkitektura e asociativitetit të memories cache.

Metodat e shkrimit në cache

Ekzistojnë dy mënyra kryesore për të shkruar informacion në cache:

  1. Metoda e kthimit (writeback) - të dhënat shkruhen së pari në cache, dhe më pas, me shfaqjen e kushteve të caktuara, në RAM.
  2. Metoda e shkrimit (nëpërmjet shkrimit) - të dhënat shkruhen njëkohësisht në RAM dhe cache.

Arkitektura e Asociacionit të Cache

Arkitektura e asociativitetit të cache-it përcakton mënyrën në të cilën të dhënat nga RAM janë hartuar në cache. Ekzistojnë variantet e mëposhtme kryesore të arkitekturës së asociacionit të memorizimit:

  1. Cache e hartuar direkt - një zonë specifike e cache është përgjegjëse për një zonë specifike të RAM
  2. Cache plotësisht shoqëruese - çdo zonë cache mund të lidhet me çdo zonë RAM
  3. Cache e përzier (bashkë-shoqëruese)

Arkitekturat e ndryshme të asociativitetit të cache-ve zakonisht mund të përdoren në nivele të ndryshme të cache. Memoria e memories direkte e hartuar me RAM është opsioni më i shpejtë i memorizimit, kështu që kjo arkitekturë përdoret zakonisht për memorie të mëdha. Nga ana tjetër, një cache plotësisht shoqëruese ka më pak gabime në cache (mungesa).

konkluzioni

Në këtë artikull, ju u njohët me konceptin e memories cache, arkitekturën e memories cache dhe metodat e memorizimit dhe mësuat se si ajo ndikon në performancën e një kompjuteri modern. Prania e memories cache mund të optimizojë ndjeshëm performancën e procesorit, të zvogëlojë kohën e tij të papunë dhe, rrjedhimisht, të rrisë performancën e të gjithë sistemit.

Windows është ndërtuar për t'u përdorur në një maksimum makinerish me konfigurime të ndryshme, dhe për këtë arsye zakonisht nuk është i optimizuar për kompjuterin dhe përdorimin tuaj. Ju ftoj gjithashtu të lexoni artikujt tanë të tjerë mbi optimizimin e kompjuterëve tuaj nëse e keni bërë tashmë këtë. "Jo optimizim", është në nivelin e procesorit. Procesorët tanë kanë cache që i lejojnë ata të vendosin disa të dhëna në memorie për të shpejtuar rikuperimin e të dhënave të tyre në të ardhmen: http://fr.wikipedia.org/wiki/M%C3%A9moire_cache Sipas procesorëve, ju mund të keni 2 ose 3 nivele ( )) cache. Si parazgjedhje, Windows përdor një cache L2 (Niveli 2) prej 256 KB, që do të thotë se nëse procesori juaj mund të përdorë më shumë hapësirë, (gjë që zakonisht ndodh dhe do të marrë më shumë kohë duke pasur parasysh evolucionin e vazhdueshëm të procesorëve), Windows kufizoi aftësitë e procesor! Dhe nuk them as L3 cache, sepse Windows nuk e përdor atë, është sikur nëse nuk keni ai cache i tretë është më i madhi nga 3 nivelet e procesorit!

Informacioni i procesorit të tij:

Gjëja e parë që duhet të bëni është të njihni aftësitë e CPU (procesorit), kjo është:

  • Shkarkoni CPU-Z:-http://www.cpuid.com/softwares/cpu-z.html
  • Instaloni dhe hapeni
  • Për të parë nivele të ndryshme të cache-it, keni 2 opsione: 1 skedë poshtë djathtas ose 2

Për të rritur cache L2 në Windows:

  1. Në menynë e fillimit, kërkoni dhe hapni "regedit" (baza e të dhënave të regjistrit) (si në çdo manipulim të bazës së të dhënave të regjistrit, rekomandohet të kopjoni kompjuterin e tij në rast problemesh)
  2. Klikoni dy herë në HKEY_LOCAL_MACHINE > System > CurrentControlSet > Controls > Session Manager > Memory Management
  3. në dritaren e djathtë duhet të gjeni një çelës të quajtur "SecondLevelDataCache", klikoni me të djathtën mbi të dhe klikoni "Edit"
  4. Klikoni butonin "Decimal".
  5. Dhe zëvendësojeni true me procesorin tuaj. Në rastin tim, CPU - Z më thotë 2 x 256, kështu që vendosni në rastin tim vlerën 512.
  6. Klikoni OK

Për të aktivizuar cache L3 në Windows:

  1. Hapi 1-2 është i njëjtë me L2 dhe kështu arrini në të njëjtën dritare në hapin 3.
  2. Në zonën e lirë në dritaren e djathtë, kliko me të djathtën dhe kliko "New" > "DWORD 32 bit"
  3. Riemërto çelësin e ri në "ThirdLevelDataCache" (pa thonjëza)
  4. Klikoni me të djathtën në këtë çelës të ri të riemërtuar dhe klikoni "Ndrysho"
  5. Klikoni butonin "Decimal".
  6. Ndryshoni vlerën që procesori juaj është caktuar CPU - Z: në rastin tim, unë jam 3MByte, kështu që duhet të bëj 3 x 1024, që do të thotë se duhet të vendos 3072 si vlerë.
  7. Klikoni butonin OK.

Rinisni kompjuterin tuaj. 1 Pas rinisjes, kompjuteri juaj mund të jetë pak më i ngadalshëm se zakonisht, gjë që për faktin se Windows duhet të përfshijë këto të dhëna të reja, por më vonë, kompjuteri juaj duhet të jetë më i shpejtë dhe më i fuqishëm! Personalisht, nuk jam i ngadaltë gjatë rindezjes së parë, por kam vënë re një përmirësim në shpejtësinë e programit, veçanërisht në nivelin e shumë detyrave, pavarësisht se tashmë kam një SSD në kompjuterin tim! Shënim: Ky truk nuk është overclocking dhe për këtë arsye nuk ka asnjë rrezik mbinxehjeje që mund të gjendet në overclocking.

Një nga faktorët e rëndësishëm që rrit performancën e procesorit është prania e memories cache, ose më saktë vëllimi i saj, shpejtësia e aksesit dhe shpërndarja sipas niveleve.

Për një kohë të gjatë, pothuajse të gjithë procesorët janë të pajisur me këtë lloj memorie, gjë që dëshmon edhe një herë dobinë e pranisë së saj. Në këtë artikull do të flasim për strukturën, nivelet dhe qëllimin praktik të memories cache, si një karakteristikë shumë e rëndësishme e procesorit.

Çfarë është memoria cache dhe struktura e saj

Memoria cache është një memorie ultra e shpejtë e përdorur nga procesori për të ruajtur përkohësisht të dhënat që përdoren më shpesh. Kështu mund të përshkruhet shkurtimisht ky lloj memorie.

Memoria e memories është ndërtuar në flip-flops, të cilët, nga ana tjetër, përbëhen nga transistorë. Një grup transistorësh zë shumë më tepër hapësirë ​​se të njëjtët kondensatorë që përbëjnë RAM-in. Kjo sjell shumë vështirësi në prodhim, si dhe kufizime në vëllime. Kjo është arsyeja pse memoria cache është një memorie shumë e shtrenjtë, ndërsa ka vëllime të papërfillshme. Por nga një strukturë e tillë, avantazhi kryesor i një memorie të tillë vijon - shpejtësia. Meqenëse rrokullisjet nuk kanë nevojë për rigjenerim dhe koha e vonesës së portës në të cilën janë montuar është e vogël, koha për kalimin e rrokullisjes nga një gjendje në tjetrën është shumë e shpejtë. Kjo lejon që memoria cache të funksionojë në të njëjtat frekuenca si procesorët modernë.

Gjithashtu, një faktor i rëndësishëm është vendndodhja e memories cache. Ndodhet në vetë çipin e procesorit, gjë që redukton ndjeshëm kohën e hyrjes në të. Më parë, memoria cache e disa niveleve ishte e vendosur jashtë çipit të procesorit, në një çip special SRAM diku në motherboard. Tani, pothuajse në të gjithë procesorët, memoria e cache ndodhet në çipin e procesorit.

Për çfarë përdoret CPU Cache?

Siç u përmend më lart, qëllimi kryesor i memories cache është ruajtja e të dhënave që përdoren shpesh nga procesori. Cache është një tampon në të cilin ngarkohen të dhënat dhe pavarësisht nga madhësia e tij e vogël (rreth 4-16 MB) në procesorët modernë, ai jep një rritje të konsiderueshme të performancës në çdo aplikacion.

Për të kuptuar më mirë nevojën për memorie cache, le të imagjinojmë organizimin e memories së një kompjuteri si një zyrë. RAM-i do të jetë një kabinet me dosje që llogaritari i qaset periodikisht për të marrë blloqe të mëdha të dhënash (d.m.th. dosje). Dhe tabela do të jetë memoria e cache.

Ka elemente që vendosen në tavolinën e kontabilistit, të cilave ai i referohet disa herë gjatë orës. Për shembull, mund të jenë numra telefoni, disa shembuj dokumentesh. Këto lloj informacionesh janë pikërisht në tryezë, gjë që, nga ana tjetër, rrit shpejtësinë e aksesit në to.

Në të njëjtën mënyrë, të dhënat mund të shtohen nga ato blloqe të mëdha të dhënash (dosje), në tabelë, për përdorim të shpejtë, për shembull, çdo dokument. Kur ky dokument nuk është më i nevojshëm, ai vendoset përsëri në kabinet (në RAM), duke pastruar tabelën (cache) dhe duke e liruar këtë tabelë për dokumente të reja që do të përdoren në periudhën e ardhshme kohore.

Gjithashtu me memorien cache, nëse ka disa të dhëna që ka më shumë gjasa për t'u ri-aksesuar, atëherë këto të dhëna nga RAM ngarkohen në memorien e memories. Shumë shpesh, kjo ndodh me ngarkimin e përbashkët të të dhënave që ka më shumë gjasa të përdoren pas të dhënave aktuale. Kjo do të thotë, ka supozime se çfarë do të përdoret "pas". Këto janë parimet e thjeshta të funksionimit.

Nivelet e cache-it të procesorit

Procesorët modernë janë të pajisur me një cache, e cila shpesh përbëhet nga 2 ose 3 nivele. Sigurisht, ka përjashtime, por shpesh ndodh kështu.

Në përgjithësi, mund të ketë nivele të tilla: L1 (niveli i parë), L2 (niveli i dytë), L3 (niveli i tretë). Tani pak më shumë për secilën prej tyre:

Memoria e memories së nivelit të parë (L1) është niveli më i shpejtë i memories së memories që punon drejtpërdrejt me bërthamën e procesorit, falë këtij ndërveprimi të ngushtë, ky nivel ka kohën më të shkurtër të aksesit dhe funksionon në frekuenca afër procesorit. Është një bufer midis procesorit dhe cache-it të nivelit të dytë.

Ne do të shqyrtojmë vëllimet në procesorin Intel Core i7-3770K me performancë të lartë. Ky procesor është i pajisur me 4 x 32 KB L1 cache 4 x 32 KB = 128 KB. (32 KB për bërthamë)

Cache e nivelit të dytë (L2) - niveli i dytë është më i madh se i pari, por si rezultat ka më pak "karakteristika shpejtësie". Prandaj, ai shërben si një tampon midis niveleve L1 dhe L3. Nëse kthehemi përsëri te shembulli ynë Core i7-3770 K, atëherë këtu sasia e cache L2 është 4x256 KB = 1 MB.

Cache e nivelit 3 (L3) - niveli i tretë, përsëri, më i ngadalshëm se dy të mëparshmit. Por është ende shumë më i shpejtë se RAM. Cache L3 në i7-3770K është 8 MB. Nëse dy nivelet e mëparshme ndahen në secilën bërthamë, atëherë ky nivel është i përbashkët për të gjithë procesorin. Treguesi është mjaft solid, por jo i lartë. Meqenëse, për shembull, procesorët e serisë Extreme si i7-3960X, është 15 MB, dhe disa procesorë të rinj Xeon kanë më shumë se 20.

ne-it.net

Për çfarë shërben cache dhe sa nevojitet?

Këtu nuk bëhet fjalë për para të gatshme, por për memorien e cache të procesorëve dhe jo vetëm. Tregtarët kanë bërë një tjetër fetish komercial nga sasia e memories cache, veçanërisht me cache-in e procesorëve qendrorë dhe disqeve të ngurta (e kanë edhe kartat video - por nuk e kanë arritur ende). Pra, ekziston një procesor XXX me një cache 1MB L2, dhe saktësisht i njëjti procesor XYZ me një cache 2MB. Gjeni se cili është më i mirë? Ah - mos e bëj menjëherë!

Memoria cache është një bufer ku shtohen gjërat që mund dhe/ose duhet të lihen mënjanë për më vonë. Procesori kryen punën dhe lindin situata kur të dhënat e ndërmjetme duhet të ruhen diku. Epo, sigurisht në cache! - në fund të fundit, është urdhra me madhësi më të shpejtë se RAM, tk. është në vetë procesorin dhe zakonisht funksionon në të njëjtën frekuencë. Dhe më pas, pas ca kohësh, ai do t'i marrë këto të dhëna dhe do t'i përpunojë përsëri. E thënë përafërsisht, si një ndarës patatesh në një transportues, që sa herë i del diçka tjetër përveç një patate (karote), e hedh në një kuti. Dhe kur mbushet, ai ngrihet dhe e çon në dhomën tjetër. Në këtë moment, transportuesi ndalon dhe vërehet bosh. Vëllimi i kutisë është cache në këtë analogji. Dhe sa ju nevojitet - 1MB apo 12? Është e qartë se nëse vëllimi i tij është i vogël, do të duhet shumë kohë për ta nxjerrë dhe do të jetë e thjeshtë, por nga një vëllim rritja e tij e mëtejshme nuk do të japë asgjë. Epo, klasifikuesi do të ketë një kuti për 1000 kg karota - po, ai nuk do të ketë aq shumë prej saj për të gjithë turnin, dhe kjo NUK do të bëhet dy herë më e shpejtë! Ekziston edhe një hollësi tjetër - një cache e madhe mund të shkaktojë një rritje të vonesave në hyrjen e tij, së pari, dhe në të njëjtën kohë, probabiliteti i gabimeve në të rritet, për shembull, gjatë mbingarkesës - së dyti. (Mund të lexoni se SI të përcaktoni stabilitetin / paqëndrueshmërinë e procesorit në këtë rast dhe të zbuloni se gabimi ndodh pikërisht në cache-in e tij, testoni L1 dhe L2 - mund të lexoni këtu.) Së treti, cache konsumon një zonë të mirë të kristalin dhe buxhetin e tranzitorit të qarkut të procesorit. E njëjta gjë vlen edhe për memorien e memories së diskut të ngurtë. Dhe nëse arkitektura e procesorit është e fortë, do të kërkojë 1024 Kb cache ose më shumë në shumë aplikacione. Nëse keni një HDD të shpejtë - 16MB apo edhe 32MB është e përshtatshme. Por asnjë 64MB cache nuk do ta bëjë atë më të shpejtë nëse është një prerje e quajtur versioni jeshil (Green WD) me një shpejtësi prej 5900 në vend të 7200 të kërkuara, edhe nëse ky i fundit ka 8MB. Pastaj procesorët Intel dhe AMD e përdorin këtë cache ndryshe (përgjithësisht AMD është më efikas dhe procesorët e tyre shpesh janë të rehatshëm me vlera më të vogla). Përveç kësaj, Intel ka një cache të përbashkët, ndërsa AMD ka një personale për çdo bërthamë. Memoria më e shpejtë L1 në procesorët AMD është 64 Kb për të dhëna dhe udhëzime, që është dy herë më shumë se ajo e Intel. Cache L3 është zakonisht i pranishëm në procesorët më të mirë si AMD Phenom II 1055T X6 Socket AM3 2.8 GHz ose konkurrenti Intel Core i7-980X. Para së gjithash, lojërat duan sasi të mëdha cache. Dhe cache NUK pëlqehet nga shumë aplikacione profesionale (shih më poshtë). Kompjuter për renderim, editim video dhe aplikacione profesionale). Më saktësisht, më kërkuesit janë përgjithësisht indiferentë ndaj tij. Por ajo që definitivisht nuk duhet të bëni është të zgjidhni një procesor sipas madhësisë së cache. Pentium 4 i vjetër në manifestimet e tij të fundit madje kishte 2 MB memorie memorie në frekuenca shumë më të mëdha se 3 GHz - krahasoni performancën e tij me një Celeron E1 *** të lirë me dy bërthama që vepron në frekuenca rreth 2 GHz. Ai nuk do të lërë gur pa lëvizur nga plaku. Një shembull më i fundit është E8600 me dy bërthama me frekuencë të lartë që kushton pothuajse 200 dollarë (me sa duket për shkak të memories 6MB) dhe Athlon II X4-620 2.6GHz, i cili ka vetëm 2MB. Kjo nuk e pengon Athlone të therë një konkurrent për një arrë.

Siç mund ta shihni nga grafikët, as në programet komplekse, as në lojërat që kërkojnë procesor, çdo cache nuk do të zëvendësojë bërthamat shtesë. Athlon me cache 2MB (e kuqe) e kalon lehtësisht Cor2Duo me 6MB cache edhe me një frekuencë më të ulët dhe gati gjysmën e kostos. Gjithashtu, shumë njerëz harrojnë se cache është i pranishëm në kartat video, sepse, në përgjithësi, ata kanë gjithashtu procesorë. Një shembull i freskët është karta video GTX460, ku ata arrijnë jo vetëm të shkurtojnë autobusin dhe sasinë e memories (të cilën blerësi do ta hamendësojë) - por edhe cache-in e shaderit, përkatësisht, nga 512 Kb në 384 Kb (të cilat blerësi NUK do ta marrë me mend. ). Dhe kjo do të shtojë gjithashtu kontributin e saj negativ në performancë. Do të jetë gjithashtu interesante të zbuloni varësinë e performancës nga madhësia e cache. Le të shqyrtojmë se sa shpejt rritet me një rritje në madhësinë e cache duke përdorur shembullin e të njëjtit procesor. Siç e dini, procesorët e serive E6***, E4*** dhe E2*** ndryshojnë vetëm në madhësinë e cache (përkatësisht 4, 2 dhe 1 MB). Duke punuar në të njëjtën frekuencë prej 2400 MHz, ato tregojnë rezultatet e mëposhtme.

Siç mund ta shihni, rezultatet nuk janë shumë të ndryshme. Do të them më shumë - nëse do të përfshihej një procesor me kapacitet 6 MB - rezultati do të rritej pak më shumë, sepse. procesorët arrijnë ngopjen. Por për modelet me 512 Kb, rënia do të ishte e dukshme. Me fjalë të tjera, 2 MB mjaftojnë edhe në lojëra. Duke përmbledhur, mund të nxjerrim përfundimin e mëposhtëm - cache është e mirë kur tashmë ka shumë gjithçka tjetër. Është naive dhe marrëzi të ndryshosh shpejtësinë e hard drive-it ose numrin e bërthamave të procesorit për madhësi cache me të njëjtën kosto, sepse edhe kutia më e madhe e klasifikimit nuk do të zëvendësojë një klasifikues tjetër. Por ka shembuj të mirë. kishte 1MB cache për dy bërthama (seri E2160 dhe të ngjashme), dhe rishikimi i fundit 45 nm i serisë E5200 ka ende 2 MB, të gjitha gjërat e tjera janë të barabarta (dhe më e rëndësishmja, ÇMIMI). Sigurisht, ia vlen të zgjidhni këtë të fundit.

compua.com.ua

Çfarë është një cache, pse është e nevojshme dhe si funksionon

Cili është vendi më i ndotur në kompjuter? Mendoni shportën? Dosjet e përdoruesve? Sistemi i ftohjes? Nuk e mora me mend! Vendi më i ndyrë është cache! Në fund të fundit, ajo vazhdimisht duhet të pastrohet!

Në fakt, ka shumë memorie në një kompjuter, dhe ato nuk shërbejnë si një vendgrumbullim mbeturinash, por si përshpejtues për pajisjet dhe aplikacionet. Nga vjen reputacioni i tyre si një "gropë sistemike plehrash"? Le të shohim se çfarë është një cache, si ndodh, si funksionon dhe pse duhet të pastrohet herë pas here.

Cache ose memoria cache është një ruajtje e veçantë e të dhënave të përdorura shpesh, qasja në të cilën kryhet dhjetëra, qindra dhe mijëra herë më shpejt se RAM ose media të tjera ruajtëse.

Aplikacionet (shfletuesit e uebit, luajtësit audio dhe video, redaktuesit e bazës së të dhënave, etj.), komponentët e sistemit operativ (cache e fotografive, cache DNS) dhe hardueri (cache CPU L1-L3, framebuffer GPU, etj.) kanë memorien e tyre të memories. përzënë buferët). Zbatohet në mënyra të ndryshme - softuer dhe harduer.

  • Memoria e memories së programit është vetëm një dosje ose skedar i veçantë ku, për shembull, shkarkohen fotografi, menutë, skriptet, përmbajtje multimediale dhe përmbajtje të tjera të faqeve të vizituara. Kjo është dosja ku shfletuesi zhytet për herë të parë kur hapni përsëri një faqe në internet. Ndërrimi i një pjese të përmbajtjes nga ruajtja lokale përshpejton ngarkimin e saj dhe redukton trafikun e rrjetit.

  • Në disqet e ngurtë, në veçanti, cache është një çip i veçantë RAM me një kapacitet 1-256 Mb, i vendosur në bordin e elektronikës. Ai merr informacione të lexuara nga shtresa magnetike dhe të pa ngarkuara ende në RAM, si dhe të dhëna që sistemi operativ kërkon më shpesh.

  • Një procesor qendror modern përmban 2-3 nivele kryesore të memories cache (ai quhet edhe memorie gërvishtëse), të vendosura në formën e moduleve harduerike në të njëjtin çip. Më e shpejta dhe më e vogla në vëllim (32-64 Kb) është cache Niveli 1 (L1) - funksionon në të njëjtën frekuencë si procesori. L2 është në pozicionin e mesëm për nga shpejtësia dhe kapaciteti (nga 128 Kb në 12 Mb). Dhe L3 është më i ngadalshëm dhe më voluminoz (deri në 40 Mb), ai mungon në disa modele. Shpejtësia e L3 është vetëm e ulët në krahasim me homologët e tij më të shpejtë, por është gjithashtu qindra herë më e shpejtë se RAM-i më produktiv.

Kujtesa gërvishtëse e procesorit përdoret për të ruajtur të dhënat e përdorura vazhdimisht, të pompuara nga RAM-i dhe udhëzimet e kodit të makinës. Sa më i madh të jetë, aq më i shpejtë është procesori.

Sot, tre nivelet e memorizimit nuk janë më kufiri. Me ardhjen e arkitekturës Sandy Bridge, Intel ka implementuar një cache shtesë L0 (të destinuar për ruajtjen e mikroinstruksioneve të deshifruara) në produktet e saj. Dhe CPU-të më me performancë të lartë kanë gjithashtu një memorie të nivelit të katërt, të bërë në formën e një mikroqarku të veçantë.

Skematikisht, ndërveprimi i niveleve të cache L0-L3 duket si ky (për shembull, Intel Xeon):

Gjuha njerëzore për mënyrën se si funksionon gjithçka

Për të kuptuar se si funksionon memoria e memories, imagjinoni një person që punon në një tavolinë. Dosjet dhe dokumentet që ai përdor gjatë gjithë kohës janë në tryezë (në cache). Për t'iu qasur atyre, mjafton të shtrini dorën.

Letrat që i duhen më rrallë ruhen aty pranë në rafte (në RAM). Për t'i marrë ato, duhet të ngriheni dhe të ecni disa metra. Dhe ajo me të cilën një person nuk punon aktualisht është arkivuar (regjistruar në një hard disk).

Sa më e gjerë të jetë tabela, aq më shumë dokumente do të vendosen në të, që do të thotë se punonjësi do të jetë në gjendje të ketë akses të shpejtë në më shumë informacion (sa më i madh të jetë kapaciteti i cache-it, aq më shpejt programi ose pajisja funksionon në teori).

Ndonjëherë ai bën gabime - ai mban në tryezë letra që përmbajnë informacione të pasakta dhe i përdor ato në punën e tij. Si rezultat, cilësia e punës së tij zvogëlohet (gabimet në cache çojnë në dështime në funksionimin e programeve dhe pajisjeve). Për të korrigjuar situatën, punonjësi duhet të heqë dokumentet me gabime dhe të vendosë ato të sakta në vendin e tyre (të pastrojë memorien e memories).

Tabela ka një zonë të kufizuar (memoria e memories ka një kapacitet të kufizuar). Ndonjëherë mund të zgjerohet, për shembull, duke lëvizur një tabelë të dytë, dhe nganjëherë nuk mundet (madhësia e cache-it mund të rritet nëse një mundësi e tillë ofrohet nga programi; cache-ja e harduerit nuk mund të ndryshohet, pasi zbatohet në harduer) .

Një mënyrë tjetër për të përshpejtuar aksesin në më shumë dokumente sesa mund të mbajë tabela është gjetja e një asistenti që do t'i shërbejë punëtorit letër nga rafti (sistemi operativ mund të ndajë një pjesë të RAM-it të papërdorur për të memorizuar të dhënat e pajisjes). Por është akoma më e ngadaltë sesa t'i heqësh nga tavolina.

Dokumentet në dispozicion duhet të jenë të rëndësishme për detyrat aktuale. Kjo është përgjegjësi e vetë punonjësit. Ju duhet t'i rregulloni gjërat në letra rregullisht (zhvendosja e të dhënave të parëndësishme nga memoria e memories bie "mbi supet" e aplikacioneve që e përdorin atë; disa programe kanë funksionin e pastrimit automatik të cache-it).

Nëse një punonjës harron të mbajë rendin në vendin e punës dhe të mbajë dokumentacionin të përditësuar, ai mund të hartojë një orar pastrimi tavoline për vete dhe ta përdorë atë si një kujtesë. Në raste ekstreme, ia besoni këtë një asistenti (nëse një aplikacion i varur nga memoria e memories është bërë më i ngadalshëm ose shpesh shkarkon të dhëna të vjetruara, përdorni mjetet e planifikuara të pastrimit të memories ose bëjeni këtë manualisht çdo disa ditë).

Ne në fakt hasim "funksione të memories" kudo. Kjo është blerja e produkteve për të ardhmen, dhe veprimet e ndryshme që kryejmë në të njëjtën kohë, etj. Në fakt, kjo është gjithçka që na shpëton nga zhurmat e panevojshme dhe lëvizjet e panevojshme të trupit, përmirëson jetën dhe lehtëson punën. Kompjuteri bën të njëjtën gjë. Me një fjalë, nëse nuk do të kishte cache, do të funksiononte qindra e mijëra herë më ngadalë. Dhe ne nuk do të na pëlqente.

f1comp.ru

Cache, cache, cash - memorie. Për çfarë shërben memoria cache? Ndikimi i madhësisë dhe shpejtësisë së cache në performancën.

Cache - memorie (cache, cache, buffer - eng.) - përdoret në pajisjet dixhitale si clipboard me shpejtësi të lartë. Memoria e memories mund të gjendet në pajisje të tilla kompjuterike si disqet e ngurtë, procesorët, kartat video, kartat e rrjetit, disqet CD dhe shumë të tjera.

Parimi i funksionimit dhe arkitektura e cache mund të jetë shumë i ndryshëm.

Për shembull, cache mund të shërbejë si një clipboard i rregullt. Pajisja përpunon të dhënat dhe i transferon ato në një tampon me shpejtësi të lartë, ku kontrolluesi i transferon të dhënat në ndërfaqe. Një cache e tillë synon të parandalojë gabimet, të dhënat e kontrollit të harduerit për integritet ose të kodojë sinjalin nga pajisja në një sinjal të kuptueshëm për ndërfaqen, pa vonesa. Një sistem i tillë përdoret, për shembull, në disqet CD / DVD të disqeve kompakte.

Në një rast tjetër, cache mund të përdoret për të ruajtur kodin e përdorur shpesh dhe në këtë mënyrë për të përshpejtuar përpunimin e të dhënave. Kjo do të thotë, pajisja nuk ka nevojë të rillogarisë ose të kërkojë të dhënat, gjë që do të zgjaste shumë më tepër sesa leximi i tyre nga cache. Në këtë rast, madhësia dhe shpejtësia e cache-it luan një rol shumë të rëndësishëm.


Kjo arkitekturë gjendet më së shpeshti në disqet e ngurtë, SSD dhe njësitë e përpunimit qendror (CPU).

Kur pajisjet janë duke punuar, firmware ose programe dispeçer mund të ngarkohen në cache, të cilat do të funksiononin më ngadalë me ROM (Read Only Memory).

Shumica e pajisjeve moderne përdorin një lloj të përzier të memories, i cili mund të shërbejë edhe si një tastierë dhe për ruajtjen e kodit të përdorur shpesh.

Ekzistojnë disa funksione shumë të rëndësishme të zbatuara për cache-in e procesorëve dhe çipave video.

Konsolidimi i njësive përmbaruese. CPU-të dhe procesorët video shpesh përdorin një memorie të shpejtë të përbashkët midis bërthamave. Prandaj, nëse një bërthamë ka përpunuar informacionin dhe ai është në cache, dhe vjen një komandë për të njëjtin operacion, ose për të punuar me këto të dhëna, atëherë të dhënat nuk do të përpunohen përsëri nga procesori, por do të merren nga cache. për përpunim të mëtejshëm. Kerneli do të shkarkohet për të përpunuar të dhëna të tjera. Kjo rrit ndjeshëm performancën në të njëjtin lloj, por llogaritjet komplekse, veçanërisht nëse cache është i madh dhe i shpejtë.

Cache e përbashkët gjithashtu lejon që bërthamat të punojnë me të drejtpërdrejt, duke anashkaluar RAM-in e ngadaltë.

Cache për udhëzime. Ekziston ose një memorie e përgjithshme shumë e shpejtë e nivelit të parë për udhëzime dhe operacione të tjera, ose një të dedikuar për to. Sa më shumë instruksione të ngulitura të ketë një procesor, aq më i madh është cache e instruksioneve që i nevojitet. Kjo redukton vonesën e kujtesës dhe lejon që blloku i instruksionit të funksionojë pothuajse në mënyrë të pavarur.

Funksione dhe veçori të tjera.

Vlen të përmendet se në CPU (njësitë e përpunimit qendror), përdoret korrigjimi i gabimit të harduerit (ECC), sepse një gabim i vogël në cache mund të çojë në një gabim të vazhdueshëm në përpunimin e mëtejshëm të këtyre të dhënave.

Në CPU dhe GPU, ekziston një hierarki e memories së memories që ju lejon të ndani të dhënat për bërthamat individuale dhe ato të përgjithshme. Edhe pse pothuajse të gjitha të dhënat nga cache e nivelit të dytë kopjohen ende në nivelin e tretë, të përgjithshëm, por jo gjithmonë. Niveli i parë i cache-it është më i shpejti, dhe secili pasues është më i ngadalshëm, por më i madh në madhësi.

Për procesorët, tre ose më pak nivele cache konsiderohen normale. Kjo ju lejon të arrini një ekuilibër midis shpejtësisë, madhësisë së memories dhe shpërndarjes së nxehtësisë. Është e vështirë të gjesh më shumë se dy nivele cache në procesorët video.

Madhësia e cache-it, ndikimi i performancës dhe karakteristika të tjera.

Natyrisht, sa më i madh të jetë cache, aq më shumë të dhëna mund të ruajë dhe përpunojë, por këtu ka një problem serioz.

Cache e madhe do të thotë buxhet i madh i tranzistorit. Në procesorët e serverëve (CPU), cache mund të përdorë deri në 80% të buxhetit të transistorit. Së pari, kjo ndikon në koston përfundimtare, dhe së dyti, rritet konsumi i energjisë dhe shpërndarja e nxehtësisë, e cila nuk është e krahasueshme me një performancë të rritur me disa përqind.

Një nga karakteristikat më të rëndësishme të një procesori është memoria e tij cache. Jo vetëm vëllimi i tij është i rëndësishëm, por edhe shpejtësia e aksesit, si dhe shpërndarja e tij sipas niveleve. Absolutisht të gjithë procesorët e desktopit dhe madje edhe disa celularë janë të pajisur me këtë memorie. Në këtë pjesë do të flasim për qëllimin praktik të kësaj karakteristike.

Struktura dhe për çfarë shërben cache

Cache- Kjo është një memorie që ka një shpejtësi të lartë leximi/shkrimi dhe është krijuar për të ruajtur përkohësisht të dhënat më të përdorura. Duke u përkthyer në një gjuhë të thjeshtë, ai shërben për të shpejtuar procesorin kur kryen detyra të të njëjtit lloj.

Një emër tjetër për memorien cache është memoria statike., tipari i tij i rëndësishëm është ndërtimi i secilës prej qelizave të saj në një kaskadë tranzistorësh (d.m.th. një qelizë duket si një grup transistorësh), çdo kaskadë përmban mesatarisht deri në 10 transistorë. Meqenëse shpejtësia e kalimit të tranzistorit midis gjendjeve është jashtëzakonisht e lartë, shpejtësia e memories është shumë e lartë. Por ka edhe një pikë negative, ajo qëndron në dimensionet e përgjithshme të këtij lloji të memories, si dhe në koston e saj të lartë.

Pronarët e parë të këtij lloji të memories cache ishin procesorët Intel 80386 (386-të) dhe ishte i vendosur në motherboard. Në të ardhmen, në procesorët më të rinj Intel 80486 (486), ky lloj memorie iu shtua vetë procesorit, duke e mbajtur atë në motherboard. Sipas kësaj veçorie, ato u ndanë në dy nivele, ajo që ndodhet në vetë çip u bë e njohur si cache e nivelit të parë (L1), dhe ajo në motherboard - cache e nivelit të dytë (L2). Por në kohën tonë, cache e nivelit të dytë është transferuar gjithashtu në kabinën e procesorit. Ndërmjet tyre, këto lloje memorie funksionojnë sipas dy skemave të mundshme: gjithëpërfshirëse (dyfishimi i memories në të dy nivelet) dhe ekskluzive (të dhënat në çdo nivel janë ekskluzive).

Siç u përmend më herët, memoria cache shërben si një bufer në të cilin komandat e ekzekutuara shpesh dhe të dhënat e përdorura ngarkohen nga RAM (Random Access Memory). Megjithëse madhësia e tij është jashtëzakonisht e vogël sipas standardeve të sotme (deri në 32 MB), ajo ofron një rritje të konsiderueshme të performancës. Lidhja midis memories cache dhe RAM-it ndodh sipas një prej skemave të mundshme: hartëzimi i drejtpërdrejtë, tip-shoqërues, shoqërues. Nuk ka kuptim t'i shpjegojmë këto qarqe, dyshoj se kur blejnë, dikush do të jetë në gjendje t'ju përgjigjet se cili qark përdoret në një procesor të veçantë.

Nivelet e cache-it të procesorit

Shumica e procesorëve modernë janë të pajisur me dy ose tre nivele të memories cache (tani i treti mund të vendoset në motherboard):

Cache e nivelit të parë (L1)- më i shpejti nga të gjitha nivelet, i vendosur në afërsi të bërthamës së procesorit, për shkak të të cilit ka kohën më të shkurtër të përgjigjes dhe funksionon me një shpejtësi afër shpejtësisë së procesorit. Një funksion tjetër i këtij lloji të memories është të sigurojë një shkëmbim midis procesorit dhe nivelit të dytë të memories cache.

Cache e nivelit të dytë (L2)- ka më shumë memorie se e para, por kjo rezulton në një moment kaq negativ si një ulje e shpejtësisë. Mund të jetë ose i përgjithshëm për të gjithë procesorin ose individual për çdo bërthamë. Një nga qëllimet është një tampon midis nivelit të parë dhe të tretë.

L3 Cache (L3)- më e ngadalta e memories (por ende dukshëm më e shpejtë se RAM), por gjithashtu ka sasinë më të madhe të memories. Nëse niveli i parë është individual për çdo bërthamë, atëherë ky është i përbashkët për të gjithë procesorin.

Duke përmbledhur

Cache e procesorit është RAM-i i tij personal ultra i shpejtë. Ai shërben për të ruajtur të dhënat më të përdorura nga procesori kur kryen një detyrë të caktuar. Mund të ketë tre nivele të memories cache të procesorit - më i shpejti është niveli i parë, dhe më i madhi, por edhe më i ngadalshëm, është i treti.

Artikujt kryesorë të lidhur