Підтримка
www.wikidata.uk-ua.nina.az
Cya stattya ye sirim perekladom z inshoyi movi Mozhlivo vona stvorena za dopomogoyu mashinnogo perekladu abo perekladachem yakij nedostatno volodiye oboma movami Bud laska dopomozhit polipshiti pereklad veresen 2015 Kesh procesora kesh yakij vikoristovuyetsya centralnim procesorom angl CPU dlya skorochennya serednogo chasu dostupu do pam yati komp yutera Kesh ce shvidsha i mensha za rozmirom pam yat yaka zberigaye kopiyi danih sho chasto vikoristovuyutsya z golovnoyi pam yati Koli procesoru potribno zvernutisya v pam yat dlya chitannya abo zapisu danih vin spochatku pereviryaye chi ye yihni kopiyi v keshi U razi uspihu perevirki procesor vikonuye operaciyu vikoristovuyuchi kesh sho pracyuye shvidshe nizh pri vikoristanni povilnishoyi osnovnoyi pam yati Detalnishe pro zatrimki pam yati div angl SDRAM latency SDRAM tCAS tRCD tRP tRAS Bilshist suchasnih mikroprocesoriv dlya nastilnih komp yuteriv i serveriv mayut shonajmenshe tri nezalezhnih keshi kesh instrukcij dlya priskorennya zavantazhennya mashinnogo kodu kesh danih dlya priskorennya chitannya i zapisu danih i bufer asociativnoyi translyaciyi TLB dlya priskorennya translyaciyi virtualnih logichnih adres u fizichni yak dlya instrukcij tak i dlya danih Kesh danih chasto realizuyetsya u viglyadi bagatorivnevogo keshu L1 L2 L3 Zbilshennya rozmiru kesh pam yati mozhe pozitivno vplivati na produktivnist majzhe vsih zastosunkiv hocha v deyakih vipadkah efekt neznachnij Robota kesh pam yati zazvichaj prozora dlya programista prote dlya yiyi efektivnogo vikoristannya u deyakih vipadkah zastosovuyutsya specialni algoritmichni prijomi yaki zminyuyut poryadok obhodu danih v OZP abo pidvishuyut yih lokalnist napriklad pri blochnomu mnozhenni matric Princip robotiDiagrama keshiv CPU Danij rozdil opisuye tipovij kesh danih i deyaki vidi keshu instrukcij TLB mozhe buti vlashtovanij skladnishe a kesh instrukcij prostishe Na diagrami pravoruch zobrazheni osnovna i kesh pam yat Kozhen ryadok grupa komirok pam yati sho mistit dani organizovani vkesh liniyi Rozmir kozhnoyi kesh liniyi mozhe rozriznyatisya u riznih procesorah ale dlya bilshosti x86 procesoriv vin stanovit 64 bajta Rozmir kesh liniyi zazvichaj bilshe rozmiru danih do yakogo ye mozhlivim dostup z odniyeyi mashinnoyi komandi tipovi rozmiri vid 1 do 16 bajt Kozhna grupa danih v pam yati rozmirom u 1 kesh liniyu maye poryadkovij nomer Dlya osnovnoyi pam yati cej nomer ye adresoyu pam yati z vidkinutimi molodshimi bitami U keshi kozhnoyi kesh liniyi dodatkovo stavitsya u vidpovidnist teg yakij ye adresoyu produblovanih v cij kesh liniyi danih v osnovnij pam yati Pri zvertanni procesora v pam yat spochatku provoditsya perevirka chi zberigaye kesh zapituvani z pam yati dani Dlya cogo provoditsya porivnyannya adresi zapitu z znachennyami vsih tegiv keshu v yakih ci dani mozhut zberigatisya Vipadok zbigu z tegom yakoyi nebud kesh liniyi nazivayetsya popadannyam v kesh angl cache hit zvorotnij vipadok nazivayetsya kesh promahom angl cache miss Popadannya v kesh dozvolyaye procesoru negajno provesti chitannya abo zapis danih u kesh liniyi z zbiglasya tegom Vidnoshennya kilkosti popadan v kesh do zagalnoyi kilkosti zapitiv do pam yati nazivayut rejtingom vluchen angl hit rate vono ye miroyu efektivnosti keshu dlya obranogo algoritmu abo programi U razi promahu v keshi vidilyayetsya novij zapis u teg yakogo zapisuyetsya adresa potochnogo zapitu a v samu kesh liniyu dani z pam yati pislya yih prochitannya abo dani dlya zapisu v pam yat Promahi z chitannya zatrimuyut vikonannya oskilki voni vimagayut zapitu danih v bilsh povilnoyi osnovnoyi pam yati Promahi po zapisu mozhut ne davati zatrimku oskilki potribni dani mozhut buti zberezheni v keshi a zapis yih v osnovnu pam yat mozhna zrobiti u fonovomu rezhimi Robota keshu instrukcij bagato v chomu shozha na vishenavedenij algoritm roboti keshu danih ale dlya instrukcij vikonuyutsya tilki zapiti na chitannya Kesh instrukcij i danih mozhut buti rozdileni dlya zbilshennya produktivnosti princip vikoristovuvanij v Garvardskij arhitekturi abo ob yednani dlya sproshennya aparatnoyi realizaciyi Dlya dodavannya danih v kesh pislya kesh promahu mozhe znadobitisya vitisnennya angl evict ranishe zapisanih danih Dlya viboru zamishayuchogo ryadka keshu vikoristovuyetsya evristika zvana politika zamishennya angl replacement policy Osnovnoyu problemoyu algoritmu ye peredbachennya yakij ryadok najimovirnishe ne bude potribno dlya podalshih operacij Yakisni peredbachennya skladni i aparatni keshi vikoristovuyut prosti pravila taki yak LRU Vidmitka deyakih oblastej pam yati yak nekeshovanih angl non cacheable pokrashuye produktivnist za rahunok zaboroni keshuvannya ridko vikoristovuvanih danih Promahi dlya takoyi pam yati ne stvoryuyut kopiyu danih v keshi Pri zapisu danih u kesh povinen isnuvati pevnij moment chasu koli voni budut zapisani v osnovnu pam yat Ce chas kontrolyuyetsya politikoyu zapisu angl write policy Dlya keshu zi naskriznim zapisom angl write through bud yakij zapis u kesh privodit do negajnogo zapisu v pam yat Inshij tip keshiv zvorotna zapis angl write back inodi takozh zvanij copy back vidkladaye zapis na bilsh piznij chas U takih keshah vidstezhuyetsya stan kesh linijok she ne skinutih v pam yat vidmitka bitom brudnij angl dirty Zapis v pam yat provoditsya pri vitisnenni podibnogo ryadka keshu Takim chinom promah v keshi sho vikoristovuye politiku zvorotnogo zapisu mozhe vimagati dvoh operacij dostupu v pam yat odin dlya skidannya stanu starogo ryadka i inshij dlya chitannya novih danih Isnuyut takozh zmishani politiki Kesh mozhe buti iz naskriznim zapisom angl write through ale dlya zmenshennya kilkosti tranzakcij na shini zapisi mozhut timchasovo mistitisya v chergu i ob yednuvatisya odin z odnim Dani v osnovnij pam yati mozhut zminyuvatisya ne tilki procesor ale i periferiyeyu sho vikoristovuye pryamij dostup do pam yati abo inshimi procesorami bagatoprocesorni sistemi Zmina danih prizvodit do zastarivannya yih kopiyi v keshi stan stale V inshoyi realizaciyi koli odin procesor zminyuye dani v keshi kopiyi cih danih v keshah inshih procesoriv budut pomicheni yak stale Dlya pidtrimki vmistu dekilkoh keshiv v aktualnomu stani vikoristovuyetsya specialnij protokol kesh kogerentnosti Struktura zapisu v keshi Tipova struktura zapisu v keshi Blok danih teg bit aktualnosti Blok danih kesh liniya mistit bezposerednyu kopiyu danih z osnovnoyi pam yati Bit aktualnosti oznachaye sho danij zapis mistit aktualnu najsvizhishu kopiyu Struktura adresi teg indeks zmishennya Adresa pam yati sho rozdilyayetsya vid starshih bit do molodshih na Teg indeks i zmishennya Dovzhina polya indeksu dorivnyuye log 2 c a c h e r o w s displaystyle lceil log 2 cache rows rceil bit i vidpovidaye ryadu ryadku keshu vikoristovuvanoyi dlya zapisu Dovzhina zsuvu dorivnyuye log 2 d a t a b l o c k s displaystyle lceil log 2 data blocks rceil Asociativnist Grafik effektivnosti kesha kolichestvo promahov po osi ordinat v zavisimosti ot stepeni associativnosti i kolichestva kanalov Po osi absciss razmer kesha Asociativnist ye kompromisom Perevirka bilshogo chisla zapisiv vimagaye bilshe energiyi ploshi chipu i potencijno chasu Yaksho b isnuvalo 10 misc yaki algoritm vitisnennya mig bi vidobraziti misce v pam yati todi perevirka nayavnosti cogo miscya v keshi zazhadala b pereglyanuti 10 zapisiv v keshi Z inshogo boku keshi z visokoyu asociativnistyu piddayutsya menshomu kilkosti promahiv div nizhche konfliktuyuchi promahi i procesor vitrachaye menshe chasu na chitannya z povilnoyi osnovnoyi pam yati Isnuye empirichne sposterezhennya sho podvoyennya asociativnosti vid pryamogo vidobrazhennya do 2 kanalnoyi abo vid 2 do 4 kanalnoyi maye priblizno takij zhe vpliv na intensivnist vluchen hit rate sho i podvoyennya rozmiru keshu Zbilshennya asociativnosti ponad 4 kanaliv prinosit menshij efekt dlya zmenshennya kilkosti promahiv miss rate i zazvichaj viroblyayetsya z inshih prichin napriklad cherez peretin virtualnih adres V poryadku pogirshennya zbilshennya trivalosti perevirki na potraplyannya ta polipshennya zmenshennya kilkosti promahiv kesh pryamogo vidobrazhennya angl direct mapped cache najkrashij chas popadannya i vidpovidno najkrashij variant dlya velikih keshiv 2 kanalnij mnozhinno asociativnij kesh angl 2 way set associative cache 2 kanalnij skewed asociativnij kesh angl the best for tradeoff caches whose sizes are in the range 4K 8K bytes Andre Seznec 4 kanalnij mnozhinno asociativnij kesh angl 4 way set associative cache povnistyu asociativnij kesh angl fully associative cache najkrashij najnizhchij vidsotok promahiv miss rate i najkrashij variant pri nadzvichajno visokih vitratah pri promahu miss penalty Kesh pryamogo vidobrazhennya n kanalnij mnozhinno asociativnij kesh Povnistyu asociativnij kesh Psevdo associativnij kesh Vidi promahiv Promah z chitannya z keshu instrukcij Zazvichaj daye duzhe veliku zatrimku oskilki procesor ne mozhe prodovzhuvati vikonannya programi prinajmni vikonannya potochnogo potoku i zmushenij prostoyuvati v ochikuvanni zavantazhennya instrukciyi z pam yati Promah z chitannya z keshu danih Zazvichaj daye menshu zatrimku oskilki instrukciyi yaki ne zalezhat vid zapitanih danih mozhut prodovzhuvati vikonuvatisya poki zapit obroblyayetsya v osnovnij pam yati Pislya otrimannya danih z pam yati mozhna prodovzhuvati vikonannya zalezhnih instrukcij Kategoriyi promahiv Three Cs Compulsory misses promahi viklikani pershoyu zgadkoyu potribnoyi adresi Rozmiri keshiv i yih asociativnist ne vplivayut na kilkist danih promahiv Poperednya vibirka prefetching yak programnu tak i aparatnu mozhe dopomogti tak samo yak i zbilshennya rozmiru kesh liniyi yak vidu aparatnogo viboru Taki promahi inodi nazivayut holodnimi Capacity misses promahi viklikani viklyuchno kincevim rozmirom keshu sho vidbuvayutsya nezalezhno vid stupenya asociativnosti abo rozmiru kesh liniyi Grafik takih promahiv shodo rozmiru keshu mozhe dati deyaku miru timchasovoyi lokalnosti temporal locality deyakogo naboru zapitiv v pam yat Varto zauvazhiti sho ne isnuye ponyattya povnogo keshu porozhnogo keshu abo majzhe povnogo keshu tak yak keshi procesora majzhe ves chas mayut kesh liniyi v zajnyatomu stani i otzhe praktichno kozhen zaklad novoyi liniyi zazhadaye gasinnya vzhe zajnyata Conflict misses promahi viklikani konfliktom Yih mozhna uniknuti yaksho b kesh ne vitisniv zapis ranishe Mozhna dodatkovo rozdiliti na promahi viklikani vidobrazhennyam konkretnim znachennyam asociativnosti i promahi zamishennya yaki viklikani konkretnim algoritmom viboru zapisiv dlya zamishennya Translyaciya adres Bilsha chastina procesoriv zagalnogo priznachennya realizuye yakijs variant virtualnoyi pam yati Korotko kazhuchi kozhna programa sho vikonuyetsya na mashini bachit vlasnij sproshenij adresnij prostir sho mistit kod i dani tilki ciyeyi programi Bud yaka programa vikoristovuye svij virtualnij adresnij prostir nezalezhno vid jogo misceznahodzhennya u fizichnij pam yati Nayavnist virtualnoyi pam yati vimagaye vid procesora provedennya translyaciyi virtualnih matematichnih adres vikoristovuvanih programoyu u fizichni adresi vidpovidni realnomu roztashuvannyu v OZP Chastina procesora providna ce peretvorennya nazivayetsya pristrij upravlinnya pam yattyu MMU Dlya priskorennya translyacij v MMU dodanij kesh neshodavno vikoristanih vidobrazhen vidpovidnostej virtualnih i fizichnih adres zvanij Translation Lookaside Buffer TLB Dlya podalshogo opisu vazhlivi tri osoblivosti procesu translyaciyi adres Zatrimka Fizichnij adresu bude otrimano vid MMU tilki cherez deyakij chas azh do dekilkoh taktiv pislya podachi na vhid MMU virtualnogo adresi z generatora adres Efekt nakladennya Kilka virtualnih adres yaki mozhut vidpovidati odnomu fizichnomu U bilshosti procesoriv garantuyetsya sho vsi zapisi po fizichnij adresoyu budut zdijsneni v poryadku zadanomu programoyu Dlya vikonannya ciyeyi vlastivosti potribna perevirka sho tilki odin ekzemplyar kopiyi danih z fizichnoyi adresi znahoditsya v danij moment v keshi Odinicya vidobrazhennya Virtualne adresnij prostir rozbito na storinki bloki pam yati fiksovanogo rozmiru sho pochinayutsya z adresi kratnih yih rozmirom Napriklad 4 GB adresnogo prostoru mozhna rozdiliti na 1048576 storinki po 4 KB dlya kozhnoyi z yakih mozhlivo nezalezhne vidpovidnist fizichnim storinkam U suchasnih procesorah chasto pidtrimuyetsya vikoristannya odnochasno dekilkoh rozmiriv storinki napriklad 4 KB i 2 MB dlya x86 64 a v deyakih suchasnih AMD procesorah she i 1 GB Vazhlivo takozh zauvazhiti sho pershi sistemi virtualnoyi pam yati buli duzhe povilnimi tomu sho voni vimagali perevirki tablici storinok zberigayetsya v osnovnij PAM YaTI pered bud yakim programnim zvernennyam v pam yat Bez vikoristannya keshuvannya dlya vidobrazhen taki sistemi zmenshuyut shvidkist roboti z pam yattyu priblizno v 2 razi Tomu vikoristannya TLB duzhe vazhlivo i inodi jogo dodavannya v procesori pereduvalo poyavi zvichajnih keshu danih ta instrukcij Po vidnoshennyu do virtualnoyi adresaciyi keshi danih ta instrukcij mozhut buti podileni na 4 tipi Adresi v keshah vikoristovuyutsya dlya dvoh riznih cilej indeksuvannya i tegiv Physically indexed physically tagged PIPT fizichno indeksovani i fizichno tegiruemye Taki keshi prosti i unikayut problem z nakladennyam aliasing ale voni povilni tak yak pered zvernennyam v kesh potriben zapit fizichnoyi adresi v TLB Cej zapit mozhe viklikati promah v TLB i dodatkove zvernennya v osnovnu pam yat pered tim yak nayavnist danih bude perevireno v keshi Virtually indexed virtually tagged VIVT virtualno indeksovani i virtualno tegiruemye I dlya tegiv i dlya indeksu vikoristovuyetsya virtualnij adresu Zavdyaki comu perevirki nayavnosti danih v keshi vidbuvayutsya shvidshe ne vimagayuchi zvernennya do MMU Odnak vinikaye problema nakladannya koli kilka virtualnih adres vidpovidayut odnomu j tomu zh fizichnomu U comu vipadku dani budut zakeshovani dvichi sho silno uskladnyuye pidtrimku kogerentnosti Inshoyu problemoyu ye omonimi situaciyi koli odin i toj zhe virtualnij adresu napriklad u riznih procesah vidobrazhayetsya rizni fizichni adresi Staye nemozhlivim rozrizniti taki vidobrazhennya viklyuchno po virtualnomu indeksu Mozhlivi rishennya skidannya keshu pri peremikanni mizh zavdannyami context switch vimoga neperesecheniya adresnih prostoriv procesiv teguvannya virtualnih adres identifikatorom adresnogo prostoru address space ID ASID abo vikoristannya fizichnih tegiv Takozh vinikaye problema pri zmini vidobrazhennya virtualnih adres u fizichni sho vimagaye skidannya kesh linij dlya yakih zminilosya vidobrazhennya Virtually indexed physically tagged VIPT virtualno indeksovani i fizichno tegiruemye Dlya indeksu vikoristovuyetsya virtualnij adresa a dlya tegu fizichnij Perevagoyu nad pershim tipom ye mensha zatrimka oskilki mozhna shukati kesh liniyu odnochasno z translyaciyeyu adres v TLB odnak porivnyannya tegu zatrimuyetsya do oderzhannya fizichnoyi adresi Perevagoyu nad drugim tipom ye viyavlennya omonimiv homonyms tak yak teg mistit fizichna adresa Dlya danogo tipu potribno bilshe bit dlya tegu oskilki indeksni biti vikoristovuyut inshij tip adresaciyi Physically indexed virtually tagged fizichno indeksovani i virtualno tegovani keshi vvazhayutsya nepotribnimi i marginalnimi i predstavlyayut viklyuchno akademichnij interes Shvidkist cih dij zatrimka zavantazhennya z pam yati kritichno vazhliva dlya produktivnosti procesoriv i tomu bilshist suchasnih L1 keshiv ye virtualno indeksovanimi sho yak minimum dozvolyaye bloku MMU robiti zapit v TLB odnochasno z zapitom danih yih kesh pam yati Virtualne teguvannya i mehanizm vhints Ale virtualna indeksaciya ne ye najkrashim viborom dlya inshih rivniv keshu Vartist viyavlennya peretinu virtualnih adres aliasing zrostaye iz zbilshennyam rozmiru keshu i v rezultati bilshist realizacij L2 i bilsh dalekih vid procesora rivniv keshu vikoristovuyut indeksuvannya za fizichnimi adresami Dosit trivalij chas keshi vikoristovuvali dlya tegiv yak fizichni tak i virtualni adresi hocha virtualne teguvannya v danij chas zustrichayetsya duzhe ridko Yaksho TLB zapit zakinchuyetsya ranishe zapitu v kesh pam yat fizichnij adresu bude dostupnij dlya porivnyannya z tegom do momentu koli ce bude neobhidno i otzhe virtualne teguvannya ne potribno Veliki keshi chastishe teguyutsya fizichnimi adresami i lishe neveliki shvidkodiyuchi keshi vikoristovuyut dlya tegiv virtualni adresi U suchasnih procesorah zagalnogo priznachennya virtualne teguvannya zamineno na mehanizm vhints opisanij dali Iyerarhiya keshiv v suchasnih mikroprocesorah Bilshist suchasnih procesoriv mistyat u sobi kilka vzayemodiyuchih keshiv Specializovani keshi Superskalyarni procesori zdijsnyuyut dostup do pam yati z dekilkoh etapiv konveyera chitannya instrukcij instruction fetch translyaciya virtualnih adres u fizichni chitannya danih data fetch Ochevidnim rishennyam ye vikoristannya riznih fizichnih keshiv dlya kozhnogo z cih vipadkiv shob ne bulo borotbi za dostup do odnogo z fizichnih resursiv z riznih stadij konveyera Takim chinom nayavnist konveyera zazvichaj prizvodit do nayavnosti prinajmni troh rozdilnih keshiv kesh instrukcij kesh translyacij TLB i kesh danih kozhen z yakih specializuyetsya na svoyemu zavdanni Konveyerni procesori sho vikoristovuyut rozdilni keshi dlya danih i instrukcij taki procesori zaraz povsyudni nazivayutsya procesorami z Garvardskoyu arhitekturoyu Spochatku danij termin zastosovuvavsya dlya komp yuteriv u yakih instrukciyi i dani rozdileni povnistyu i zberigayutsya v riznih pristroyah pam yati Odnak take povne rozdilennya ne viyavilosya populyarnim i bilshist suchasnih komp yuteriv mayut odin pristrij osnovnoyi pam yati tomu mozhut vvazhatisya mashinami z arhitekturoyu fon Nejmana Bagatorivnevi keshi Odniyeyu z problem ye fundamentalna problema balansu mizh zatrimkami keshu i intensivnistyu vluchen Veliki keshi mayut bilsh visokij vidsotok vluchen ale razom z tim i veliku zatrimku Shob poslabiti protirichchya mizh cimi dvoma parametrami bilshist komp yuteriv vikoristovuye kilka rivniv keshu koli pislya malenkih i shvidkih keshiv znahodyatsya bilsh povilni veliki keshi zaraz sumarno do 3 rivniv v iyerarhiyi keshu U poodinokih vipadkah realizuyut 4 rivni kesh pam yati Bagatorivnevi keshi zazvichaj pracyuyut v poslidovnosti vid menshih keshiv do velikih Spochatku vidbuvayetsya perevirka najmenshogo i zarazom najshvidshogo keshu pershogo rivnya L1 u razi popadannya procesor prodovzhuye robotu na visokij shvidkosti Yaksho menshij kesh dav promah pereviryayetsya nastupnij trohi bilshij i bilsh povilnij kesh drugogo rivnya L2 i tak dali poki ne bude zapitu do osnovnogo OZP Po miri togo yak riznicya zatrimok mizh OZP i najshvidshim keshem zbilshuyetsya v deyakih procesorah zbilshuyut kilkist rivniv keshu u deyakih do 3h rivniv na kristali Napriklad procesor Alpha 21164 v 1995 roci mav nakristalnij kesh 3go rivnya v 96 KB IBM POWER4 u 2001 roci mav do chotiroh keshu L3 32 MB na okremih kristalah sho vikoristovuyutsya spilno dekilkoma yadrami Itanium 2 u 2003 roci mav 6 MB kesh L3 na kristali Xeon MP pid kodom Tulsa u 2006 roci 16 MB keshu L3 na kristali spilnij na 2 yadra Phenom II v 2008 roci do 6 MB universalnogo keshu L3 Intel Core i7 u 2008 roci 8 MB nakristallnogo keshu L3 yakij ye inklyuzivnim ta podilyayetsya mizh usima yadrami Korist vid keshu L3 zalezhit vid harakteru zvernen programi v pam yat Nareshti z inshogo boku iyerarhiyi pam yati znahoditsya registrovij fajl samogo mikroprocesora yakij mozhna rozglyadati yak nevelikij i najshvidshij kesh v sistemi zi specialnimi vlastivostyami napriklad statichne planuvannya kompilyatorom pri rozpodili registriv Detalnishe div Registrovi fajli takozh mozhut mati iyerarhiyu Cray 1 u 1976 roci mav 8 adresnih A registriv i 8 skalyarnih S registriv zagalnogo priznachennya Takozh mashina mistila nabir z 64 adresnih B i 64 skalyarnih T registriv zvernennya do yakih bulo dovshe ale vse zh znachno shvidshe osnovnij OZP Ci registri buli vvedeni cherez vidsutnist v mashini keshu danih hocha kesh komand v mashini buv Vitrebuvani dani zchituyutsya z keshu pershogo angl L1 rivnya Vitrebuvani dani zchituyutsya z keshu drugogo angl L2 rivnya U razi vidsutnosti potribnih danih v keshah provoditsya chitannya z OZP Eksklyuzivnist vinyatkovist i inklyuzivnist Dlya bagatorivnevih keshiv potribno robiti novi arhitekturni rishennya Napriklad v deyakomu procesori mozhut vimagati shob vsi dani sho zberigayutsya v keshi L1 zberigalisya takozh i v kesh pam yati L2 Taki pari keshiv nazivayut strogo inklyuzivnimi angl inclusive Inshi procesori napriklad AMD Athlon mozhut ne mati takogo vimogi todi keshi nazivayutsya eksklyuzivni vinyatkovi dani mozhut buti abo v L1 abo L2 kesh ale nikoli ne mozhut buti odnochasno v oboh Dosi inshim procesoram takim yak Pentium II Pentium III i Pentium 4 ne potribni shob dani v keshi pershogo rivnya takozh rozmishuvalisya v keshi drugogo rivnya tim ne mensh voni prodovzhuyut robiti Nemaye niyakogo universalnogo zagalnoprijnyatogo imeni dlya ciyeyi promizhnoyi politiki hocha chasto vikoristovuyetsya termin golovnim chinom inklyuzivno angl mainly inclusive Perevaga vinyatkovih keshiv v tomu sho voni zberigayut bilshe danih Ce perevaga bilshe koli vinyatkovij kesh L1 porivnyannij za rozmirom z keshem L2 i menshe yaksho kesh L2 u bagato raziv bilshe nizh kesh L1 Koli L1 propuskaye i L2 otrimuye dostup u razi popadannya ryadok keshu popadannya v L2 obminyuyetsya z ryadkom v L1 Victim cache Victim cache abo Victim buffer doslivno Kesh zhertv ce nevelikij specializovanij kesh zberigaye ti kesh liniyi yaki neshodavno buli vitisneni z osnovnogo keshu mikroprocesora pri yih zamishennya Cej kesh roztashovuyetsya mizh osnovnim keshem i jogo angl refill path Zazvichaj kesh zhertv ye povnistyu asociativnim i sluzhit dlya zmenshennya kilkosti konfliktnih promahiv conflict miss Bagato chasto vikoristovuvani programi ne vimagayut povnogo asociativnogo vidobrazhennya dlya vsih sprob dostupu do pam yati Za statistikoyu lishe nevelika chastka zvernen do pam yati vimagaye visokogo stupenya asociativnosti Same dlya takih zvernen ye kesh zhertv sho nadaye visoku asociativnist dlya takih ridkisnih zapitiv Buv zaproponovanij DEC v 1990 Rozmir takogo keshu mozhe stanoviti vid 4 do 16 kesh linij Kesh tras Odnim z najbilsh ekstremalnih vipadkiv specializaciyi keshiv mozhna vvazhati kesh tras angl trace cache vikoristovuvanij v procesorah Intel Pentium 4 Kesh tras ce mehanizm dlya zbilshennya propusknoyi zdatnosti zavantazhennya instrukcij i dlya zmenshennya teplovidilennya u razi Pentium 4 za rahunok zberigannya dekodovanih tras instrukcij Takim chinom cej kesh viklyuchav robotu dekodera pri povtornomu vikonanni kodu sho neshodavno vikonuvavsya Odniyeyu z rannih publikaciyeyu pro keshi tras bula stattya kolektivu avtoriv i sho vijshla v 1996 roci pid nazvoyu Trace Cache a Low Latency Approach to High Bandwidth Instruction Fetching Kesh tras nizkolatentnyj pidhid dlya zabezpechennya visokoyi propusknoyi spromozhnosti zavantazhennya instrukcij Kesh tras zberigaye dekodovani instrukciyi abo pislya yih dekoduvannya abo pislya zakinchennya yih vikonannya Uzagalnyuyuchi instrukciyi dodayutsya v kesh tras v grupah sho predstavlyayut soboyu abo bazovi bloki abo dinamichni trasi Dinamichna trasa shlyah vikonannya skladayetsya tilki z instrukcij rezultati yakih buli znachimi vikoristovuvalisya zgodom i vidalyaye instrukciyi yaki znahodyatsya v ne yaki pracyuyut gilkah krim togo dinamichna trasa mozhe buti ob yednannyam dekilkoh bazovih blokiv Taka osoblivist dozvolyaye pristroyu pidvantazhennya instrukcij u procesori zavantazhuvati vidrazu dekilka bazovih blokiv bez neobhidnosti pikluvatisya pro nayavnist rozgaluzhen u potoci vikonannya Liniyi tras zberigayutsya v keshi tras za adresami vidpovidnim lichilnika instrukcij pershoyi mashinnoyi komandi z trasi do yakih dodanij nabir oznak peredbachennya rozgaluzhen Taka adresaciya dozvolyaye zberigati rizni trasi vikonannya sho pochinayutsya z odniyeyi adresi ale predstavlyayut rizni situaciyi po rezultatu peredbachennya rozgaluzhen Na stadiyi pidvantazhennya instrukciyi instruction fetch konveyera instrukcij dlya perevirki popadannya v kesh tras vikoristovuyetsya yak potochnij lichilnik instrukcij program counter tak i stan provisnika rozgaluzhen Yaksho popadannya stalosya liniya trasi bezposeredno podayetsya na konveyer bez neobhidnosti opituvati zvichajnij kesh L2 abo osnovne OZP Kesh tras podaye mashinni komandi na vhid konveyera poki ne skinchitsya liniya trasi abo poki ne stanetsya pomilka peredbachennya v konveyeri U razi promahu kesh tras pochinaye buduvati taku liniyu trasi zavantazhuyuchi mashinnij kod z keshu abo z pam yati Shozhi keshi tras vikoristovuvalisya v Pentium 4 dlya zberigannya dekodovanih mikrooperacij i mikrokodu sho realizuye skladni x86 instrukciyi Sm povnij tekst roboti v Citeseer RealizaciyiIstoriya U ranni roki mikroprocesornih tehnologij dostupu v pam yat buv lishe trohi povilnishe dostupu do procesornim registriv Ale z 1980h rozriv u produktivnosti mizh procesorami i pam yattyu stav narostati Mikroprocesori udoskonalyuvalisya shvidshe nizh pam yat osoblivo v plani chastoti funkcionuvannya takim chinom pam yat stavala vuzkim miscem pri dosyagnenni povnoyi produktivnosti vid sistemi Hocha bulo tehnichno mozhlivim mati osnovnu pam yat nastilki zh shvidko yak i procesor buv obranij bilsh ekonomichnij shlyah vikoristovuvati nadmirnu kilkist nizkoshvidkisnij pam yati ale vvesti v sistemu neveliku ale shvidku kesh pam yat dlya pom yakshennya rozrivu v produktivnosti V rezultati otrimali na poryadok veliki obsyagi pam yati priblizno za tu zh cinu i z nevelikimi vtratami zagalnoyi produktivnosti Chitannya danih z keshu dlya suchasnih procesoriv zazvichaj zajmaye bilsh odnogo taktu Chas vikonannya program ye chutlivim do zatrimok chitannya z keshu danih pershogo rivnya Bagato zusil rozrobnikiv a takozh potuzhnosti i ploshi kristala pri stvorenni procesora vidvoditsya dlya priskorennya roboti keshiv Najprostishim keshem ye virtualno indeksovanij kesh pryamogo vidobrazhennya Virtualnij adresu pidrahovuyetsya za dopomogoyu sumatora vidpovidna chastina adresi vidilyayetsya i vikoristovuyetsya dlya indeksuvannya SRAM yakij poverne zavantazhuyutsya dani Dani mozhut buti virivnyani po bajtovim kordoniv bajtovomu sdvigatele i potim peredani nastupnoyi operaciyi Pri takomu chitanni ne potribna yakas perevirka tegiv faktichno nemaye navit neobhidnosti zchituvati teg Na bilsh piznih stadiyah konvejyera pered zakinchennyam vikonannya instrukciyi chitannya potribno chitannya tegu i jogo porivnyannya z virtualnim adresoyu shob upevnitisya sho stalosya popadannya v kesh Yaksho zh buv promah potribno chitannya z pam yati abo bilsh povilnogo keshu z podalshim onovlennyam rozglyanutogo keshu i perezapuskom konveyera Asociativnij kesh bilsh skladnij tomu sho pevnij variant tegu potribno vvazhati dlya viznachennya yaku chastinu keshu vibrati Kesh N way set associative pershogo rivnya zazvichaj zchituye odnochasno vsi N mozhlivih tegiv i N danih paralelno potim provodit porivnyannya tegiv z adresoyu i vibir danih asocijovanih z zbiglasya tegom Kesh 2 go rivnya v cilyah ekonomiyi energovidilennya inodi vikonuyut spochatku chitannya tegiv i tilki potim chitannya odnogo elementa danih SRAM danih Shlyah chitannya dlya 2 way associative cache Diagrama sprava povinna pokazati yak vidbuvayetsya vikoristannya riznih chastin adresi Bit 31 adresi ye najbilsh znachushim bitom starshim bit 0 najmensh znachushim bitom molodshim Na diagrami pokazani dvi SRAM indeksaciya i multipleksuvannya dlya 4 KB 2 way set associative virtualno indeksovanogo i virtualno tegirovannogo keshu z 64bajtnimi blokami 32bitnoyu shirinoyu chitannya i 32bitnym virtualnim adresoyu Oskilki kesh maye rozmir 4 KB i liniyi rozmirom 64 bajta u nomu zberigayetsya 64 liniyi i mi mozhemo vvazhati za dva razi z tegu SRAM yakij mistit 32 stovpcya kozhen z yakih mistit kilka 21 bitnih tegiv Hocha mozhe buti vikoristana bud yaka funkciya virtualnoyi adresaciyi bitiv 31 6 shob indeksuvati teg i dani SRAM najprostishe skoristatisya molodshimi rozryadami Tak samo tomu sho obsyag keshu skladaye 4 kB kesh maye chotiribajtnij shlyah dlya chitannya i chitannya provoditsya za dvoma shlyahami dlya kozhnogo dostupu dani SRAM skladayut 512 ryadiv shirinoyu 8 bajtiv Bilsh suchasnij kesh mozhlivo buv bi 16 kilobajtnim chotirohshlyahovim nabir asociativnim virtualno indeksovani virtualno vluchayemim i fizichno vidmichayemim tegom z 32 bitovimi ryadkami 32 bitnoyi shirinoyu shini chitannya i 36 bitnim fizichnim adresuvannyam Rekurentne spivvidnoshennya shlyahu chitannya dlya takogo keshu viglyadaye duzhe shozhe z rozglyanutimi vishe Zamist tegiv chitayutsya virtualni potraplyannya angl vhits i znovu provoditsya vidpovidnist pidmnozhini virtualnogo adresoyu Piznishe v konveyeri virtualna adresa perevoditsya u fizichnu adresu TLB i provoditsya chitannya fizichnogo tegu tilki odne tak yak virtualne potraplyannya postavlyaye shlyah dlya chitannya keshu V kinci fizichna adresa porivnyuyetsya z fizichnim tegom shob viznachiti chi vidbulosya popadannya Deyaki procesori SPARC mali priskoreni na kilka zatrimok zatvora angl gate delay L1 kesh za rahunok vikoristannya SRAM dekoderiv zamist sumatora virtualnih adres Detalnishe div en V X86 Chotiri mikroshemi kesh drugogo rivnya na materinskij plati dlya procesoriv simejstva i486 Roztashovuyutsya v bukvalnomu sensi mizh CP i OZP Koli x86 mikroprocesori dosyagli chastot u 20 i bilshe megagerc pochinayuchi zIntel 80386 dlya zbilshennya produktivnosti v nih bulo dodano neveliku kilkist shvidkoyi kesh pam yati Ce bulo neobhidno cherez te sho vikoristovuyetsya yak sistemna OPERATIVNOYi pam yati DRAM mala znachni zatrimki do 120 ns i vimagala takti dlya onovlennya Kesh buv pobudovanij na bazi dorozhchij ale znachno bilsh shvidkoyi SRAM yaka v ti chasi mala zatrimki blizko 10 ns Ranni keshi buli zovnishnimi po vidnoshennyu do procesora i chasto roztashovuvalisya na materinskij plati yak 8 abo 9 mikroshem v korpusah DIP roztashovani v soketi dlya mozhlivosti zbilshennya abo zmenshennya rozmiru keshu Deyaki versiyi procesora I386 pidtrimuvali vid 16 do 64 KB zovnishnogo keshu Z vihodom procesora Intel 80486 8 KB keshu bulo integrovano bezposeredno na kristal mikroprocesora Cej kesh buv nazvanij L1 pershogo rivnya angl level 1 shob vidriznyati jogo vid bilsh povilnogo keshu na materinskij plati nazvanogo L2 drugogo rivnya angl level 2 Ostanni buli znachno bilshe azh do 256 KB V podalshomu vipadki viddilennya keshu provodilisya vihodyachi lishe z mirkuvan marketingovoyi politiki napriklad u mikroprocesori Celeron pobudovanomu na yadri Pentium II U mikroprocesori Pentium vikoristovuyetsya rozdilnij kesh komand i danih Bufer translyaciyi adres TLB peretvoryuye adresa v OZP vidpovidnij adresu v keshi Kesh danih Pentium vikoristovuye metod zvorotnogo zapisu angl write back yakij dozvolyaye modifikuvati dani v keshi bez dodatkovogo zvernennya do operativnoyi pam yati dani zapisuyutsya v OZP tilki pri vidalenni z keshu i protokol MESI Modified Exclusive Shared Invalid yakij zabezpechuye kogerentnist danih v keshah procesoriv i v OZP pri roboti v multiprocesornoyi sistemi Kozhen z okremih keshiv danih i komand mikroprocesora Pentium MMX maye obsyagom 16 kB i mistit dva porti po odnomu dlya kozhnogo vikonavchogo konveyera Kesh danih maye bufer translyaciyi adres TLB Nastupnij variant realizaciyi keshiv u x86 z yavivsya v Pentium Pro v yakomu kesh drugogo rivnya ob yednanij dlya danih i komand rozmirom 8 kB rozmishenij v odnomu korpusi z procesorom i keshem pershogo rivnya rozmirom 8 kB rozdilnim dlya danih i komand i pidnyav jogo chastotu do chastoti yadra Piznishe kesh drugogo rivnya stav rozmishuvatisya na tomu zh kristali sho i procesor TLB angl DIB nova arhitektura kesh pam yati vikoristovuye rizni shini dlya pidklyuchennya procesornogo yadra z osnovnoyu operativnoyu pam yattyu Kesh pershogo rivnya dvuhportovij neblokuyuchij pidtrimuye odnu operaciyu zavantazhennya i odnu operaciyu zapisu za takt Pracyuye na taktovij chastoti procesora Za takt peredayetsya 64 bita U mikroprocesori Pentium II kesh pershogo rivnya zbilsheno 16 kbajt dlya danih i 16 kbajt dlya komand Dlya keshu drugogo rivnya vikoristovuyetsya BSRAM roztashovana na odnij z procesorom plati u kartridzhi S E C dlya ustanovki v Slot 1 Z zrostannyam populyarnosti bagatoyadernih procesoriv na kristal stali dodavati kesh tretogo rivnya nazvani L3 Cej riven keshu mozhe buti zagalnim dlya dekilkoh yader i realizovuvati efektivnu vzayemodiyu mizh yadrami Jogo obsyag zazvichaj bilshe sumarnogo obsyagu keshu vsih pidklyuchenih do nogo yader i mozhe dosyagati 16 MB Populyarnim kesh na materinskij plati zalishavsya do eri vihodu Pentium MMX i vijshov z uzhitku z vvedennyam SDRAM i zrostannyam riznici mizh chastotoyu shini procesora i chastotoyu yadra procesora kesh na materinskij plati stav lishe trohi shvidshe osnovnij OZP Priklad keshu procesorne yadro K8 Navedena shema keshiv yadra mikroprocesoriv AMD K8 na yakij vidno yak specializovani keshi tak i yih bagatorivnevist Yadro vikoristovuye chotiri riznih specializovanih keshu kesh instrukcij TLB instrukcij TLB danih i kesh danih Kesh instrukcij skladayetsya z 64 bajtnih blokiv yaki ye kopiyeyu osnovnoyi pam yati i mozhe zavantazhuvati do 16 bajtiv za takt Kozhen bajt u comu keshi zberigayetsya v 10 bitah a ne u 8 prichomu v dodatkovih bitah vidznacheni kordonu instrukcij t o kesh provodit chastkove preddekodirovanie Dlya perevirki cilisnosti danih vikoristovuyetsya lishe kontrol parnosti a ne ECC tak yak bit parnosti zajmaye menshe miscya a v razi zboyu poshkodzheni dani mozhna onoviti pravilnoyu versiyeyu z pam yati TLB instrukcij sho mistyat kopiyi zapisiv z tablici storinok Na kozhen zapit chitannya komand potribno translyaciya matematichnih adres u fizichni Zapisi pro translyaciyi buvayut 4 i 8 bajtnimi i TLB rozbitij na 2 chastini vidpovidno odna dlya 4 KB vidobrazhen i insha dlya 2 i 4 MB vidobrazhen veliki storinki Take rozbittya sproshuye shemi povnistyu asociativnogo poshuku v kozhnij z chastin OS i dodatki mozhut vikoristovuvati vidobrazhennya riznogo rozmiru dlya chastin virtualnogo adresnogo prostoru TLB danih ye zdvoyenim i obidva bufera mistyat odnakovij nabir zapisiv Yih zdvoyennya dozvolyaye viroblyati kozhen takt translyaciyu dlya dvoh zapitiv do danih odnochasno Tak samo yak i TLB instrukcij cej bufer rozdilenij mizh zapisami dvoh vidiv Kesh danih mistit 64 bajtni kopiyi fragmentiv pam yati Vin rozdilenij na 8 bankiv banok kozhnij z yakih mistit po 8 kilobajt danih Kesh dozvolyaye provoditi po dva zapiti do 8 bajtovim danimi kozhen takt za umovi sho zapiti budut obrobleni riznimi bankami Tegovi strukturi v keshi produblovani tak yak kozhen 64 bajtnij blok rozpodilenij po vsomu 8 bankam Yaksho vidbuvayetsya 2 zapitu v odin takt voni pracyuyut z vlasnoyu kopiyeyu tegovij informaciyi Takozh v comu yadri vikoristovuyutsya bagatorivnevi keshi dvorivnevi TLB instrukcij i danih na drugomu rivni zberigayutsya lishe zapisi pro 4 kb vidobrazhenya i kesh drugogo rivnya L2 unifikovanij dlya roboti yak z keshami danih ta instrukcij 1 go rivnya tak i dlya riznih TLB Kesh L2 ye eksklyuzivnim dlya danih L1 L1 i instrukcij tobto kozhen vash 8 bajtovij fragment mozhe znahoditisya abo v L1 instrukcij abo v danih L1 abo L2 Vinyatkom mozhut buti lishe bajti skladovi zapisu PTE yaki mozhut perebuvati odnochasno v TLB i v keshi danih pid chas obrobki virtualnogo vidobrazhennya z boku OS V takomu vipadku OS vidpovidaye za svoyechasnij skidannya TLB pislya onovlennya zapisiv translyaciyi DEC Alpha U mikroprocesori DEC Alpha 21164 vipushenij v listopadi 1995 roku z taktovoyu chastotoyu 333 MGc kesh pershogo rivnya mozhe pidtrimuvati deyaka kilkist do 21 neobroblenih promahiv Ye shestielementnij fajl adres neobroblenih promahiv angl miss address file MAF kozhen element yakogo mistit adresu ta registr dlya zavantazhennya pri promahu yaksho adresi promahu nalezhat odnim ryadkom keshu to v MAF voni rozglyadayutsya yak odin element Krim rozdilnih keshu L1 zi naskriznim zapisom na kristali procesora roztashovani chastkovo asociativnij kesh L2 zi zvorotnim zapisom i kontroler keshu L3 yakij pracyuye yak u sinhronnomu tak i v asinhronnomu rezhimi U vipushenomu v berezni 1997 roku DEC Alpha 21164PC zovnishnij kesh drugogo rivnya obsyag keshu komand zbilsheno do 16 kB U mikroprocesori DEC Alpha 21264 nemaye keshu drugogo rivnya kontroler yakogo tim ne mensh rozmishuyetsya na kristali ale kesh pershogo rivnya zbilsheno do 128 kbajt po 64 kbajt dlya keshu komand i kesh danih vidpovidno PA RISC Rozrobka Hewlett Packard dlya naukovih ta inzhenernih obchislen PA 8000 mistit bufer pereuporyadkovuvannya adres angl ARB sho vidslidkovuye vsi komandi zavantazhennya zberezhennya yakij dozvolyaye skorotiti zatrimku adresuvannya zovnishnoyi kesh pam yati danih i komand yaka v danomu procesori mozhe mati obsyag do 4 MB Tim ne mensh navit efektivne upravlinnya zovnishnim keshem za dopomogoyu visokoshvidkisnih linij upravlinnya i predvibirki danih i komand z osnovnoyi pam yati v kesh ne skompensirovalo nevisoku shvidkist i visoku vartist Usunuti vkazani nedoliki vdalosya PA 8500 v yakomu za rahunok tehprocesu 0 25 mkm vdalosya dodati na kristal 512 kB keshu instrukcij i 1 MB keshu danih PowerPC Pobudovanij na garvardskij arhitekturi PowerPC 620 mistit dva vbudovanih keshu yemnistyu 32 kB kozhnij yaki mayut vlasni bloki upravlinnya pam yattyu angl MMU i funkcionuyut nezalezhno odin vid odnogo Komandi i adresi perehodiv zberigayetsya v keshi BTAC angl Branch Target Adress Cache Shinnij interfejs procesora vklyuchaye povnu realizaciyu pidtrimki keshu drugogo rivnya obsyagom do 128 MB pracyuye na chastoti procesora udvichi vchetvero menshoyu i dlya upravlinnya robotoyu zovnishnogo keshu ne vimagaye dodatkovih taktiv Realizovana kombinaciya naskriznij i zvorotnogo zapisu a takozh pidtrimka protokolu MESI MIPS Svoya specifika u keshu L1 zastosovuvanogo v RA 10000 kozhna komanda v keshi zabezpechena dodatkovim chetyrehbitnym tegom yakij vikoristovuyetsya v podalshomu dekoduvanni ta klasifikaciyi komandi Div takozhKeshPosilannyaMemory part 2 CPU caches 27 Sichnya 2021 u Wayback Machine Stattya na lwn net avtor Ulrich Drepper z detalnim opisom keshiv napisanij na VHDL Ce nezavershena stattya pro aparatne zabezpechennya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi
Топ