Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Windows 7, XP
  • Organizimi fizik dhe logjik i memories së sistemeve kompjuterike. Organizimi i memories në kompjuter

Organizimi fizik dhe logjik i memories së sistemeve kompjuterike. Organizimi i memories në kompjuter

Kapitulli 11

Organizimi memorie kompjuterike sistemeve

Në sistemet informatike që kombinojnë shumë procesorë ose makina paralele, detyra organizimin e duhur kujtesa është një nga më të rëndësishmet. Dallimi midis CPU-së dhe shpejtësisë së kujtesës ka qenë gjithmonë një pengesë në VM-të me një procesor të vetëm. Natyra multiprocesorike e CS çon në një problem tjetër - problemin e aksesit të njëkohshëm në memorie nga disa procesorë.

Në varësi të mënyrës se si është organizuar memoria e sistemeve multiprocesorike (shumë makinerike), sistemet kompjuterike dallohen me kujtim i përbashkët(memorie e përbashkët) dhe VS me memorie të shpërndarë (memorie e shpërndarë). V sistemet e përbashkëta të memories(shpesh i referuar si memorie e përbashkët ose e përbashkët) VM trajtohet si një burim i përbashkët dhe secili prej procesorëve ka akses të plotë në të gjithë hapësirën e adresave. Sistemet me memorie të përbashkët quhen të lidhur fort(sisteme të lidhura ngushtë). Një ndërtim i ngjashëm i sistemeve kompjuterike ndodh si në klasën SIMD ashtu edhe në klasën MIMD. Ndonjëherë, për të theksuar këtë rrethanë, futen nënklasa të veçanta, duke përdorur shkurtesat SM-SIMD (Shared Memory SIMD) dhe SM-MIMD (Shared Memory MIMD) për t'i përcaktuar ato.

Në variantin memorie të shpërndarë secilit prej procesorëve i jepet memoria e vet. Përpunuesit janë bashkuar v rrjet dhe mundet, nëse është e nevojshme, të shkëmbejnë të dhëna të ruajtura në memorien e tyre, duke i transmetuar njëri-tjetrit të ashtuquajturat mesazhe. Ky lloj avioni quhet të lidhur lirshëm(sisteme të lidhura lirshëm). I dobët sistemet e lidhura ndodhin edhe në klasën SIMD dhe në klasën MIMD, dhe ndonjëherë për të theksuar këtë veçori, prezantoni nënklasat DM-SIMD (Distributed Memory SIMD) dhe DM-MIMD (Distributed Memory MIMD).

Në disa raste, quhen sisteme llogaritëse të memories së përbashkët multiprocesorë, dhe sistemet me memorie të shpërndarë - multikompjuterë.

Dallimi midis kujtesës së përbashkët dhe asaj të shpërndarë është ndryshimi në strukturë memorie virtuale, pra si duket memoria nga ana e procesorit. Fizikisht, pothuajse çdo sistem memorie është i ndarë në komponentë të pavarur të cilat mund të aksesohen në mënyrë të pavarur. Ajo që ndan memorien e përbashkët nga memoria e shpërndarë është mënyra se si nënsistemi i memories interpreton adresën e qelizës së marrë nga procesori. Për shembull, supozoni se procesori ekzekuton një instruksion të ngarkesës RO, i që do të thotë "Ngarko regjistrin R0 me përmbajtjen e qelizës i". Në rastin e memories së përbashkët, i është një adresë globale dhe tregon të njëjtin vend për çdo procesor. V sistemi i shpërndarë kujtesa unë jam adresa lokale Nëse dy procesorë ekzekutojnë ngarkesën e instruksionit RO, i, atëherë secili prej tyre akseson qeliza e i-të në kujtesën tuaj lokale, që është, për të qeliza të ndryshme, dhe vlera të ndryshme mund të ngarkohen në regjistrat R0.

Dallimi midis dy sistemeve të memories duhet të merret parasysh nga programuesi, pasi ai përcakton mënyrën se si pjesët e një programi të paralelizuar ndërveprojnë. Në variantin me memorie të përbashkët, mjafton të krijohet një strukturë të dhënash në memorie dhe të kalohen referenca në këtë strukturë në nënprogramet e përdorura paralele. Në një sistem memorie të shpërndarë, është e nevojshme të keni një kopje të të dhënave të përbashkëta në çdo memorie lokale. Këto kopje krijohen duke futur të dhëna të përbashkëta në mesazhet e dërguara te procesorët e tjerë.

Kujtesa Me alternimi adresat

Fizikisht, memoria e një sistemi kompjuterik përbëhet nga disa module (banka), ndërsa pyetja thelbësore është se si shpërndahet në këtë rast hapësira e adresave (bashkësia e të gjitha adresave që mund të formojë procesori). Një mënyrë për të ndarë adresat virtuale në modulet e memories është të ndash hapësirën e adresave në blloqe të njëpasnjëshme. Nëse kujtesa është P bankat, pastaj qeliza me adresën i gjatë ndarjes së bllokut do të jetë në bankë me numrin i/n. Në sistem kujtesa e ndërthurur(memoria e ndërthurur) adresat e njëpasnjëshme ndodhen në banka të ndryshme: qeliza me adresën i është në bankë me numër i mod. P. Le të, për shembull, memoria përbëhet nga katër banka, 256 bajt secila. Në një skemë adresimi blloku, banka e parë do të ndahet adresat virtuale 0-255, e dyta - 256-511, etj. Në skemën e ndërthurur, qelizat e njëpasnjëshme në bankën e parë do të kenë adresat virtuale 0, 4, 8, .... në bankën e dytë - 1, 5, 9, etj. (Fig. 11.1, a).

Shpërndarja e hapësirës së adresave sipas moduleve bën të mundur përpunimin e njëkohshëm të kërkesave për akses në memorie, nëse adresat përkatëse i përkasin bankave të ndryshme, procesori mund të kërkojë qasje në një qelizë në një nga ciklet. i dhe në ciklin tjetër - në qelizën j. Nëse unë dhej janë në banka të ndryshme, informacioni do të transmetohet në cikle të njëpasnjëshme. Këtu, një cikël i referohet një cikli procesori, ndërsa një cikël memorie të plotë merr disa cikle procesori. Kështu, në këtë rast, procesori nuk duhet të presë derisa të përfundojë cikli i plotë i aksesit në qelizë. i. Teknika e konsideruar lejon rritjen e xhiros: nëse sistemi i memories përbëhet nga

https://pandia.ru/text/78/264/images/image002_61.jpg" width="62" height="15"> Intervali midis elementeve quhet hap pas indeks ose "Hapi"(hapa). Nje nga aplikacione interesante kjo veti mund të shërbejë si Access to matrices. Nëse hapi i indeksit është një më i madh se numri i rreshtave në matricë, një kërkesë e vetme për akses në memorie do të kthejë të gjithë elementët diagonale të matricës (Figura 11.1b). Është përgjegjësi e programuesit të sigurojë që të gjithë elementët e matricës së nxjerrë janë të vendosura në banka të ndryshme.

Modelet e arkitekturës së kujtesës të sistemeve kompjuterike

Brenda memorjes së përbashkët dhe të shpërndarë, zbatohen disa modele të arkitekturave të sistemit të kujtesës.

DIV_ADBLOCK84">

Oriz. 11.3. Memorie e përbashkët: a - kombinimi i procesorëve duke përdorur një autobus; b - sistem me cache lokale; v- performanca e sistemit si funksion i numrit të procesorëve në autobus; d - multiprocesor VS me memorie të përbashkët të përbërë nga module të veçanta

Mënyra alternative ndërtimi i një CS multiprocesori me memorie të përbashkët të bazuar në NML është paraqitur në fig. 11.3, G. Këtu spike është zëvendësuar nga një ndërprerës që drejton kërkesat e procesorit në një nga disa module memorie. Edhe pse ka shumë module memorie, ato janë të gjitha pjesë e një hapësire të vetme adresash virtuale. Avantazhi i kësaj qasjeje është se switch-i është në gjendje të shërbejë disa kërkesa paralelisht. Çdo procesor mund të lidhet me modulin e tij të memories dhe ta aksesojë atë me shpejtësinë maksimale të lejuar. Mosmarrëveshja midis procesorëve mund të ndodhë kur përpiqeni të përdorni të njëjtin modul memorie në të njëjtën kohë. Në këtë rast, vetëm një procesor merr akses dhe të tjerët bllokohen.

Për fat të keq, arkitektura e UMA nuk ka shkallë të mirë. Sistemet më të zakonshme përmbajnë 4-8 procesorë, shumë më rrallë 32-64 procesorë. Për më tepër, sisteme të tilla nuk mund të klasifikohen si tolerante ndaj gabimeve, pasi dështimi i një procesori ose moduli memorie sjell dështimin e të gjithë avionit.

Një tjetër qasje për ndërtimin e një avioni me memorie të përbashkët është akses heterogjen i memories, referuar si NUM A (Qasja jo e njëtrajtshme e memories). Kjo ende përmban një hapësirë ​​​​të vetme adresash, por çdo procesor ka memorie lokale. Procesori hyn drejtpërdrejt në memorien e tij lokale, gjë që është shumë më e shpejtë se qasja në memorien e largët përmes një ndërprerësi ose rrjeti. Një sistem i tillë mund të plotësohet me memorie globale, atëherë pajisjet e ruajtjes lokale luajnë rolin e një memorie të shpejtë cache për memorien globale. Një skemë e tillë mund të përmirësojë performancën e avionit, por nuk është në gjendje të shtyjë barazimin e drejtpërdrejtë të performancës për një kohë të pacaktuar. Nëse çdo procesor ka një cache lokale (Fig. 11.3.6), ekziston një probabilitet i lartë (p > 0.9) që komanda ose të dhënat e kërkuara janë tashmë në memorien lokale. Një probabilitet i arsyeshëm për të goditur memorien lokale redukton ndjeshëm numrin e akseseve të procesorit për të kujtesa globale dhe në këtë mënyrë çon në përfitime të efikasitetit. Vendndodhja e thyerjes në lakoren e performancës (lakorja e sipërme në Fig. 11.3, v), pika në të cilën shtimi i procesorëve është ende efektiv tani kalon në rajonin e procesorëve 20 dhe vija e hollë ku kurba bëhet horizontale në rajonin 30 të procesorëve.

Si pjesë e konceptit NUMA zbatohen disa qasje të ndryshme, të shënuara me shkurtesa SOMA,CC-NUMA dhe NCC-NUMA.

V arkitekturë vetëm për cache(COMA, Arkitektura e memories vetëm në cache) memoria lokale e çdo procesori është ndërtuar si një memorie e madhe për akses i shpejtë nga procesori "e tyre". Memoria e fshehtë e të gjithë procesorëve trajtohet kolektivisht si memorie globale e sistemit. Nuk ka memorie aktuale globale. Tipari kryesor i konceptit SOMA shprehet në dinamikë. Këtu, të dhënat nuk janë të lidhura në mënyrë statike me një modul specifik memorie dhe nuk kanë një adresë unike që mbetet e pandryshuar gjatë gjithë jetës së variablit. Në arkitekturën COMA, të dhënat transferohen në memorien e memories së procesorit që i ka kërkuar për herë të fundit, ndërsa ndryshorja nuk fiksohet nga një adresë unike dhe mund të vendoset në çdo qelizë fizike në çdo kohë. Transferimi i të dhënave nga një cache lokale në tjetrën nuk kërkon pjesëmarrje në këtë proces sistemi operativ, por përfshin pajisje komplekse dhe të shtrenjta për menaxhimin e memories. Për të organizuar një regjim të tillë, të ashtuquajturat drejtoritë e cache-ve. Vini re gjithashtu se kopja e fundit e një artikulli nuk hiqet kurrë nga cache.

Për shkak se arkitektura COMA i zhvendos të dhënat në memorien lokale të memories së përpunuesit të pronarit, EC-të e tilla kanë një avantazh të konsiderueshëm të performancës ndaj arkitekturave të tjera NUM A. Nga ana tjetër, nëse një ndryshore e vetme ose dy ndryshore të ndryshme ruajnë në të njëjtën linjë të së njëjtës cache , kërkohen nga dy përpunues, kjo linjë cache duhet të zhvendoset mbrapa dhe mbrapa midis procesorëve në çdo akses të të dhënave. Efekte të tilla mund të varen nga detajet e alokimit të memories që çojnë në situata të paparashikueshme.

Model qasje koherente cache në memorien heterogjene(CC-NUMA, Cache Coherent Non-Uniform Memory Architecture) është thelbësisht i ndryshëm nga modeli COMA. Sistemi CC-NUMA nuk përdor memorie cache, por memorie të zakonshme të shpërndarë fizikisht. Nuk ka kopjim të faqeve ose të dhënave ndërmjet vendndodhjeve të memories. Nuk ka asnjë mesazh të zbatuar me softuer. Ka vetëm një kartë memorie, me pjesë të lidhura fizikisht me kabllo bakri dhe pajisje “smart”. Koherenca e memories së harduerit do të thotë që nuk kërkohet asnjë softuer për të ruajtur kopje të shumta të të dhënave të përditësuara ose për t'i transferuar ato. E gjithë kjo trajtohet nga niveli i harduerit. Qasja në modulet e memories lokale në nyje të ndryshme të sistemit mund të kryhet njëkohësisht dhe është më e shpejtë se në modulet e memories në distancë.

Dallimi midis modelit dhe akses jokoherent i cache-it në memorien heterogjene(NCC-NUMA, Non-Cache Koherent Non-Uniform Memory Architecture) nga CC-NUMA është e qartë nga emri. Arkitektura e memories supozon një hapësirë ​​​​të vetme adresash, por nuk siguron konsistencë globale të të dhënave në nivelin e harduerit. Përdorimi i të dhënave të tilla është tërësisht përgjegjësi e softuerit (aplikacioneve ose kompajlerëve). Pavarësisht nga kjo rrethanë, e cila duket të jetë një pengesë e arkitekturës, rezulton të jetë shumë e dobishme në përmirësimin e performancës së sistemeve informatike me një arkitekturë memorie të tipit DSM, e cila konsiderohet në seksionin "Modelet e arkitekturës së memories së shpërndarë".

Në përgjithësi, quhen avionë me memorie të përbashkët NUMA arkitektura me memorie të përbashkët virtuale(arkitekturat e kujtesës së përbashkët virtuale). Ky lloj arkitekturat, në veçanti CC-NUMA, në Kohët e fundit konsiderohet si një lloj i pavarur dhe mjaft premtues i sistemeve kompjuterike të klasës MIMD, prandaj, CS të tilla do të diskutohen më poshtë në më shumë detaje.

Modelet e arkitekturave të memories së shpërndarë

Në një sistem memorie të shpërndarë, çdo procesor ka memorien e vet dhe mund ta adresojë vetëm atë. Disa autorë e quajnë këtë lloj sistemi aeroplanë me shumë makineri ose shumë kompjuterë, duke theksuar faktin se blloqet ndërtuese të sistemit janë vetë sisteme të vogla kompjuterike me procesor dhe memorie. Modelet e arkitekturave me memorie të shpërndarë zakonisht quhen arkitekturë pa akses direkt në kujtesën e largët(NORMA, Nuk ka qasje në memorie në distancë). Ky emër vjen nga fakti se çdo procesor ka akses vetëm në memorien e tij lokale. Qasja në memorien e largët (memoria lokale e një procesori tjetër) është e mundur vetëm duke shkëmbyer mesazhe me procesorin që zotëron memorien e adresueshme.

Një organizatë e tillë ka një sërë përparësish. Së pari, kur qaseni në të dhëna, nuk ka konkurrencë për autobusin ose çelësat - çdo procesor mund të përdorë plotësisht gjerësinë e brezit të rrugës së komunikimit me memorien e tij lokale. Së dyti, mungesa e një autobusi të përbashkët do të thotë që nuk ka kufizime të lidhura në numrin e procesorëve: madhësia e sistemit është e kufizuar vetëm nga rrjeti që kombinon procesorët. Së treti, problemi i koherencës së cache është hequr. Secili procesor ka të drejtë të ndryshojë në mënyrë të pavarur të dhënat e tij, pa u shqetësuar për përputhjen e kopjeve të të dhënave në cache-in e tij lokal me cache-të e përpunuesve të tjerë.

Disavantazhi kryesor i memories së shpërndarë CS është kompleksiteti i shkëmbimit të informacionit midis procesorëve. Nëse njëri prej procesorëve ka nevojë për të dhëna nga memoria e një procesori tjetër, ai duhet të shkëmbejë mesazhe me këtë procesor. Kjo rezulton në dy lloje kostosh:

· Duhet kohë për të formuar dhe përcjellë një mesazh nga një! procesor në një tjetër;

· Për t'iu përgjigjur mesazheve nga procesorë të tjerë, procesori marrës duhet të marrë një kërkesë për ndërprerje dhe të ekzekutojë rutinën e trajtimit të ndërprerjeve.

Struktura e një sistemi me memorie të shpërndarë është paraqitur në Fig. 1. 11.4. Në të majtë! pjesë (Fig. 11.4, a) tregohet një element përpunues (PE). Ai përfshin) vetë procesorin (P), memorien lokale (M) dhe dy kontrollues hyrje/dalje (Ko dhe CD në anën e djathtë (Fig. 11.4, b) shfaqet një sistem me katër procesorë, i cili ilustron se si dërgohen mesazhet nga një procesor në tjetrin. Në lidhje me çdo PE, të gjithë elementët e tjerë të procesorit mund të konsiderohen thjesht si pajisje hyrëse/dalëse. Për të dërguar një mesazh te një PE tjetër, procesori formon një bllok të dhënash në memorien e tij lokale dhe e njofton atë kontrollues lokal për nevojën për të transferuar informacion në një pajisje të jashtme. Rrjeti i ndërlidhjes e përcjell këtë mesazh te kontrolluesi I/O marrës i PE-së marrëse. Ky i fundit gjen një vend për mesazhin në memorien e tij lokale dhe njofton përpunuesin burim që mesazhi është marrë.

DIV_ADBLOCK89">

Një variant interesant i një sistemi memorie të shpërndarë është; model shpërndau memorie të përbashkët(DSM, Distribute Shared Memory), i njohur gjithashtu me një emër tjetër arkitekturë me heterogjenesoftueri i aksesit dhe koherencës së memories(SC-NUMA, Softuer-Arkitekturë e kujtesës jo-uniforme koherente). Ideja e këtij modeli është që VS, duke qenë fizikisht një sistem me memorie të shpërndarë, t'i paraqitet përdoruesit si një sistem me memorie të përbashkët falë sistemit operativ. Kjo do të thotë që sistemi operativ i ofron përdoruesit një hapësirë ​​të vetme adresash, pavarësisht nga fakti se qasja aktuale në kujtesën e kompjuterit "të huaj" VS sigurohet ende nga shkëmbimi i mesazheve.

multiprocesorkoherencë cache- memorie

Një sistem multiprocesorësh me memorie të përbashkët përbëhet nga dy ose më shumë procesorë të pavarur, secili prej të cilëve ekzekuton ose një pjesë të një programi të madh ose një program të pavarur. Të gjithë procesorët aksesojnë udhëzimet dhe të dhënat e ruajtura në një memorie kryesore të përbashkët. Meqenëse memoria është një burim i përbashkët, konflikti ndodh midis procesorëve kur aksesohet, duke rezultuar në një rritje në vonesën mesatare të hyrjes në kujtesë. Për të reduktuar këtë vonesë, çdo procesori i jepet një cache lokale që, duke shërbyer akseset e memories lokale, në shumë raste parandalon nevojën për të hyrë në memorien kryesore të përbashkët. Nga ana tjetër, pajisja e secilit procesor me një memorie cache lokale çon në të ashtuquajturën problemi i koherencës ose duke siguruar sipasmemorie cache. Sipas , sistemi është koherent nëse çdo operacion leximi në ndonjë adresë të kryer nga cilido prej procesorëve kthen vlerën e futur gjatë operacionit të fundit të shkrimit në këtë adresë, pavarësisht se cili prej procesorëve ishte i fundit që shkroi.

V forma më e thjeshtë Problemi i koherencës së cache mund të shpjegohet si më poshtë (Figura 11.5). Le dy procesorë Rg dhe Rg janë të lidhura me memorien e përbashkët nëpërmjet një autobusi. Së pari, të dy procesorët lexojnë variablin X. Kopjet e blloqeve që përmbajnë këtë variabël transferohen nga memoria kryesore në cache lokale të të dy procesorëve (Fig. 11.5, a). Më pas, procesori Pt kryen operacionin e rritjes së vlerës së ndryshores X për njësi. Meqenëse një kopje e ndryshores është tashmë në cache-in e procesorit, do të ndodhë një goditje në cache dhe vlera do të ndryshohet vetëm në cache 1. Nëse procesori P2 tani kryen një operacion leximi përsëri X, atëherë do të ndodhë gjithashtu një goditje në cache dhe P2 do të marrë vlerën "e vjetër" të ruajtur në cache-in e saj X(Fig. 11.5, b).

Ruajtja e konsistencës kërkon që kur një element i të dhënave ndryshohet nga njëri prej procesorëve, të bëhen ndryshimet përkatëse në memorien e memories së përpunuesve të tjerë, ku ka një kopje të elementit të ndryshuar të të dhënave, si dhe në memorien e përbashkët. Një problem i ngjashëm ndodh, nga rruga, në sistemet me një procesor, ku ka disa nivele të memories cache. Këtu kërkohet të koordinohen përmbajtjet e cache-ve të niveleve të ndryshme.

Ekzistojnë dy qasje për zgjidhjen e problemit të koherencës: softueri dhe hardueri. Disa sisteme përdorin strategji që kombinojnë të dyja qasjet.

Software mënyrat ZgjidhjetProblemet koherencë

Teknikat softuerike për zgjidhjen e problemit të koherencës bëjnë të mundur që të bëhet pa pajisje shtesë ose minimizoni atë.

ProtokolliBerkli. Protokolli Berkeley u aplikua në sistemin multiprocesorik Berkeley bazuar në procesorët RISC.

Shpenzimet e përgjithshme që rezultojnë nga mungesa e cache-it zvogëlohen nga ideja e zotërimit të linjës së cache-it të zbatuar në këtë protokoll. Zakonisht, memoria kryesore konsiderohet pronare e të drejtave për të gjitha blloqet e të dhënave. Përpara se të modifikojë përmbajtjen e një linje në cache-in e saj, procesori duhet të fitojë pronësinë e linjës. Këto të drejta fitohen përmes operacioneve speciale të leximit dhe shkrimit. Nëse, kur hyni në një bllok, pronari i të cilit është ky moment nuk është memorie kryesore, ndodh një humbje e cache-it, procesori që zotëron rreshtin parandalon leximin nga memoria kryesore dhe furnizon procesorin kërkues me të dhëna nga cache e tij lokale.

Një përmirësim tjetër është futja e shtetit të përbashkët. Kur një procesor shkruan në një nga linjat e tij lokale të cache-it, ai zakonisht gjeneron një sinjal për të zhvlerësuar kopjet e bllokut që modifikohen në cache të tjera. Në protokollin Berkeley, një sinjal revokimi gjenerohet vetëm nëse memoriet e tjera kanë kopje të tilla. Kjo mund të zvogëlojë ndjeshëm trafikun e sipërm në autobus. Skenarët e mëposhtëm janë të mundshëm.

Para së gjithash, sa herë që një procesor shkruan në cache-in e tij, vargu i ndryshueshëm vendoset në gjendjen PD (Private e ndotur). Më tej, nëse rreshti ndahet, një sinjal zhvlerësimi dërgohet në autobus dhe në të gjitha cache lokale ku ka një kopje të këtij blloku të të dhënave, këto kopje transferohen në gjendjen "invalid" (I, Invalid). Nëse ndodh një gabim shkrimi, procesori merr një kopje të bllokut nga cache e pronarit aktual të bllokut të kërkuar. Vetëm pas këtyre veprimeve procesori shkruan në cache-in e tij.

Në rast të mungesës së cache-it të leximit, procesori i dërgon një kërkesë pronarit të bllokut në mënyrë që të marrë versionin më të fundit të këtij të fundit dhe e vendos kopjen e tij të re në gjendjen vetëm për lexim (RO, Read Only). Nëse rreshti zotërohej nga një procesor tjetër, ai shënon kopjen e tij të bllokut si Shared Dirty (SD).

Diagrami i gjendjes së protokollit Berkeley është paraqitur në Figurën 1. 11.10.

Duke krahasuar protokollet e shkrimit një herë dhe Berkeley, mund të vërehet sa vijon. Të dy protokollet përdorin strategjinë shkruaj përsëri, në të cilën blloqet e modifikuara mbahen në cache për aq kohë sa të jetë e mundur. Memoria kryesore përditësohet vetëm kur një rresht hiqet nga cache. Kufiri i sipërm i numrit total të transaksioneve të shkrimit në autobus përcaktohet nga pjesa e protokollit të shkrimit një herë ku zbatohet shkrimi, pasi strategjia e fundit gjeneron një operacion shkrimi në autobus me çdo ndryshim të inicuar nga procesori. Meqenëse operacioni i parë i shkrimit në protokollin e shkrimit pasi është nga fundi në fund, ai kryhet edhe nëse të dhënat nuk ndahen. Ajo përfshin trafik shtesë autobus, i cili rritet me rritjen e kapacitetit të cache. Protokolli i shkrimit një herë është vërtetuar se rezulton në më shumë trafik autobusi sesa protokolli i Berkeley. .







Goditni gjatë leximit

Oriz. 11.10. Protokolli i Berklit

Një rresht i lexuar dhe i përditësuar vazhdimisht në protokollin e shkrimit një herë kërkon që rreshti të lexohet në cache, të modifikohet lokalisht në cache dhe të shkruhet përsëri në memorie. E gjithë procedura kërkon dy operacione në autobus: leximin nga memoria kryesore (OP) dhe kthimin në OP. Nga ana tjetër, protokolli i Berkeley vjen nga marrja e pronësisë së një rreshti. Më pas, blloku modifikohet në cache. Nëse rreshti nuk është aksesuar përpara se të hiqej nga cache, numri i cikleve të autobusit do të jetë i njëjtë si në protokollin e shkrimit një herë. Sidoqoftë, ka më shumë gjasa që rreshti të kërkohet përsëri, atëherë nga pikëpamja e një memorie të vetme të memories, përditësimi i një rreshti të cache-it ka nevojë për vetëm një operacion leximi në autobus. Kështu, protokolli i Berkeley transferon linjat drejtpërdrejt midis cache-ve, ndërsa protokolli i shkrimit një herë transferon një bllok nga cache-i i burimit në memorien kryesore, dhe më pas nga RAM-i në cache-të kërkuese, i cili ka një vonesë të përgjithshme të sistemit të memories. .

ProtokolliIllinois. Protokolli i Illinois, i propozuar nga Mark Papamarkos, synon gjithashtu të zvogëlojë trafikun e autobusëve dhe në këtë mënyrë kohën e pritjes së procesorit për aksesin në autobus. Këtu, si në protokollin e Berkeley, ideja e pronësisë së bllokut dominon, por paksa e modifikuar. Në protokollin e Illinois, çdo cache që ka një kopje të vlefshme të një blloku të dhënash ka pronësi. Në këtë rast, i njëjti bllok mund të ketë disa pronarë. Kur kjo ndodh, secilit procesor i caktohet një prioritet specifik dhe pronari me prioritet më të lartë bëhet burimi i informacionit.

Si në rastin e mëparshëm, sinjali i zhvlerësimit gjenerohet vetëm kur ka kopje të këtij blloku në cache të tjera. Skenarët e mundshëm për protokollin e Ilinoisit janë paraqitur në fig. 11.11.

Oriz. 11.11. Protokolli i Ilinoisit

Sa herë që një procesor shkruan në cache-in e tij, rreshti i ndryshueshëm vendoset në gjendjen PD (Private e ndotur). Nëse blloku i të dhënave ndahet, një sinjal vrasësi dërgohet në autobus dhe në të gjitha cache lokale, ku ka një kopje të në këtë bllok, këto kopje transferohen në gjendjen "invalid" (I, Invalid). Nëse ndodh një mungesë shkrimi, procesori merr një kopje nga cache e pronarit aktual të bllokut të kërkuar. Vetëm pas këtyre veprimeve, procesori shkruan në cache-in e tij. Siç mund ta shihni, në këtë pjesë ka një koincidencë të plotë me protokollin e Berkeley-t.

Në rast të mungesës së cache-it të leximit, procesori i dërgon një kërkesë pronarit të bllokut për të marrë versionin më të fundit të bllokut dhe e vendos kopjen e tij të re në gjendjen "ekskluzive" (E, Ekskluzive), me kusht që të jetë pronari i vetëm të rreshtit. Përndryshe, statusi ndryshon në "të përbashkët" (S, Shared).

Është thelbësore që protokolli të jetë i zgjerueshëm dhe të jetë i lidhur ngushtë si me shkallën e humbjes së cache-it ashtu edhe me sasinë e të dhënave që është pronë e përbashkët e një sistemi shumëprocesorësh.

Protokollixixëllonja. Protokolli u propozua nga Tucker et al. dhe u zbatua në Stacionin e Punës me Multiprocesor Firefly të zhvilluar në Qendrën Kërkimore të Korporatës Digital Equipment.

Protokolli Firefly përdor një rekord përditësimi. Gjendjet e mundshme të linjës së cache janë të njëjta me ato të protokollit të Illinois (Figura 11-12). Dallimi është se politika e rikthimit zbatohet vetëm për rreshtat që janë në gjendjen PD ose E, ndërsa rreshtat në gjendjen S janë të shkruara. Memoria e fshehtë e vëzhguesve përdorin shkrimin për të përditësuar kopjet e tyre. Përveç kësaj, memoriet e orarit që gjejnë një kopje të një linje në posedim të tyre drejtojnë një linjë të veçantë autobusi "të përbashkët" në mënyrë që kontrolluesi i shkrimit të vendosë se në cilën gjendje të vendosë rreshtin në të cilin është shkruar. Linja "e përbashkët" gjatë një humbje të cache-it të leximit informon kontrolluesin lokal të memories së memories së memories për vendin nga erdhi kopja e rreshtit: nga memoria kryesore ose një cache tjetër. Kështu, gjendja S zbatohet vetëm për të dhënat që ndahen në të vërtetë.

https://pandia.ru/text/78/264/images/image018_2.jpg" width="491 height=316" height="316">

Oriz. 11.13. Protokolli i Dragoit

ProtokolliMESI. Sigurisht, ndër protokollet e njohura të monitorimit, protokolli MESI (Modified/Exclusive/Shared/Invalid) është më i popullarizuari. Protokolli MESI përdoret gjerësisht në tregti sistemet e mikroprocesorëve, të tilla si ato të bazuara në mikroprocesorët Pentium dhe PowerPC. Pra, mund të gjendet në cache-in e brendshëm dhe kontrolluesin cache e jashtme i82490 i mikroprocesorit Pentium, në procesorin i860 dhe kontrolluesin e memories Motorola MC88200.

Protokolli u krijua për cache-regjistrimet. Një nga objektivat kryesore të protokollit MESI është të vonojë për aq kohë sa të jetë e mundur funksionimin e rikthimit të të dhënave të ruajtura në memorien kryesore të BC. Kjo përmirëson performancën e sistemit duke minimizuar transferimet e nevojshme të informacionit midis cache-ve dhe memories kryesore. Protokolli MESI cakton një nga katër gjendjet për secilën linjë të memories, të cilat kontrollohen nga dy bit statusi MESI në etiketën e linjës. Statusi i linjës cache mund të ndryshohet si nga procesori për të cilin kjo memorie e memories është lokale, ashtu edhe nga procesorë të tjerë të skemës multiprocesorike. Menaxhimi i gjendjes së linjave të memories mund t'u caktohet gjithashtu pajisjeve logjike të jashtme. Një version i protokollit parashikon përdorimin e skemës së konsideruar më parë të shkrimit një herë.

të përbashkëta(S, Shared) - një linjë në cache përputhet me një linjë të ngjashme në memorien kryesore (të dhënat janë të vlefshme) dhe mund të jenë të pranishme në një ose më shumë nga cache-të e tjera.

E pavlefshme(I, Invalid) - Një linjë memorie e shënuar si e pavlefshme nuk përmban të dhëna të vlefshme dhe bëhet logjikisht e paarritshme.

Oriz. 11.15. Sekuenca e ndryshimit të gjendjeve në protokollin MESI: a - procesori 1 lexon x;

b- procesori 2 lexon x; c - procesori 1 bën hyrjen e parë në x;

G- procesori 1 i shkruan x

Rendi në të cilin një linjë cache kalon nga një gjendje në tjetrën varet nga: gjendja aktuale e linjës, operacioni i kryer (leximi ose shkrimi), rezultati i aksesit të cache-it (goditja ose humbja) dhe së fundi, nëse linja ndahet apo jo. Në fig. 11.14 tregon një diagram të tranzicioneve kryesore pa marrë parasysh mënyrën e shkrimit një herë.

Supozoni se një nga procesorët bën një kërkesë për të lexuar nga një rresht që nuk është aktualisht në cache-in e tij lokal (lexo miss). Kërkesa do të transmetohet në autobus. Nëse asnjë nga cache nuk gjeti një kopje të linjës së dëshiruar, atëherë nuk do të ketë përgjigje nga kontrollorët e monitorimit të procesorëve të tjerë, rreshti do të lexohet në cache-in e procesorit kërkues nga memoria kryesore dhe kopja do të caktohet statusi E. Nëse ndonjë nga cache lokale përmban kopjen që kërkohet, do të merret një përgjigje nga mbikëqyrësi përkatës që tregon aksesin në rreshtin e përbashkët. Të gjitha kopjet e linjës në fjalë në të gjitha cache-të do të vendosen në gjendjen S, pavarësisht se në çfarë gjendje ishin më parë (I, E ose S).

Kur një procesor bën një kërkesë për shkrim në një rresht që nuk është në memorien e tij lokale (memoria e fshehtë e tij), linja duhet të lexohet nga memoria kryesore (MA) dhe të modifikohet përpara se të ngarkohet në cache. Përpara se procesori të mund të ngarkojë një rresht, ai duhet të sigurohet që ka vërtet një version të vlefshëm të të dhënave në memorien kryesore, domethënë që nuk ka kopje të modifikuar të rreshtit të dhënë në memorien e tjera të memories. Sekuenca e veprimeve të formuara në këtë rast quhet lexon me qëllim modifikuestions(RWITM, Lexo me qëllim për të modifikuar). Nëse një kopje e rreshtit të dëshiruar gjendet në njërën nga memoriet, për më tepër, në gjendjen M, atëherë procesori që ka këtë kopje ndërpret sekuencën RWITM dhe rishkruan rreshtin në OP, pas së cilës ndryshon gjendjen e linjës në cache-i i tij në I. Më pas sekuenca RWITM rifillon dhe bëhet duke ri-aksesuar në memorien kryesore për të lexuar rreshtin e përditësuar. Gjendja përfundimtare e rreshtit do të jetë M, në të cilën as OP dhe as cache-të e tjera nuk kanë një kopje tjetër të vlefshme të saj. Nëse një kopje e linjës ekzistonte në një cache tjetër dhe nuk kishte gjendjen M, atëherë një kopje e tillë anulohet dhe qasja në memorien kryesore kryhet menjëherë.

Një goditje në cache në një lexim nuk e ndryshon statusin e rreshtit që lexohet. Nëse procesori kryen një akses shkrimi në një rresht ekzistues që është në gjendjen S, ai transmeton një kërkesë në autobus për të informuar memoriet e tjera të memories, përditëson rreshtin në cache-in e tij dhe e vendos atë në statusin M. Të gjitha kopjet e tjera të rreshtit janë vendos në gjendjen I. Nëse procesori kryen një akses shkrimi në një rresht në gjendjen E, e vetmja gjë që duhet të bëjë është të shkruajë në rresht dhe të ndryshojë gjendjen e tij në M, pasi nuk ka kopje të tjera të rreshtit në sistem. .

Në fig. Figura 11-15 tregon një sekuencë tipike të ngjarjeve në një sistem me dy procesorë që kërkon qasje në vendndodhjen x. Një akses në çdo qelizë në një linjë cache trajtohet si një qasje në të gjithë linjën.

Le të ilustrojmë hapat kur procesori 2 përpiqet të lexojë përmbajtjen e qelizës x" (Fig. 11.16). Së pari, ndodh një mungesë leximi në cache dhe procesori përpiqet të hyjë në memorien kryesore. Procesori 1 monitoron autobusin, zbulon një thirrje në një qelizë , një kopje e së cilës është në memorien e saj të memories dhe është në




Oriz. 11.16. Kalimi nga gjendja E në gjendjen S në protokollin MESI: a - procesori 2

lexon x; b - procesori 1 shkruan x" përsëri në memorien kryesore;

i - procesori 2 lexon x" nga memoria kryesore

gjendjen M, kështu që bllokon operacionin e leximit nga procesori 2. Më pas procesori 1 rishkruan linjën që përmban x" në OP dhe lëshon procesorin 2 në mënyrë që të mund të përsërisë aksesin në memorien kryesore. Procesori 2 tani merr linjën që përmban x", dhe e ngarkon atë në cache-in tuaj. Të dy kopjet janë shënuar si S.

Deri më tani, ne kemi shqyrtuar versionin jo-shkrimor të protokollit MESI. Duke marrë parasysh hyrjen e vetme, diagrami i gjendjes i paraqitur në fig. 11.14, pak i modifikuar. Të gjitha gabimet e cache-it të leximit shkaktojnë një kalim në gjendjen S. Goditja e parë e shkrimit pasohet nga një kalim në gjendjen E (i ashtuquajturi tranzicion shkrim-një herë). Goditja tjetër e shkrimit bën që statusi i rreshtit të ndryshojë në M.

Protokollet e bazuara në manual

Protokollet e koherencës të bazuara në drejtori janë tipike për sistemet komplekse multiprocesorike me memorie të përbashkët, ku procesorët bashkohen nga një rrjet hierarkik shumëfazor ndërlidhjesh. Kompleksiteti i topologjisë e bën përdorimin e protokolleve të mbikqyrjes me mekanizmin e tyre të transmetimit të kushtueshëm dhe joefikas.

Protokollet e bazuara në drejtori mbledhin dhe gjurmojnë informacione në lidhje me përmbajtjen e të gjitha cache-ve lokale. Protokolle të tilla zakonisht zbatohen duke përdorur një kontrollues të centralizuar që është fizikisht pjesë e kontrolluesit kryesor të memories. Drejtoria vetë ruhet në memorien kryesore. Kur kontrolluesi lokal i cache-it bën një kërkesë, kontrolluesi i drejtorisë zbulon kërkesën dhe gjeneron komandat e nevojshme për të transferuar të dhënat nga memoria kryesore ose nga një cache tjetër lokale që përmban versionin më të fundit të të dhënave të kërkuara. Kontrolluesi qendror është përgjegjës për përditësimin e informacionit në lidhje me gjendjen e memories lokale, kështu që duhet të njoftohet për çdo veprim lokal që mund të ndikojë në gjendjen e bllokut të të dhënave.

Direktoria përmban një sërë hyrjesh që përshkruajnë çdo vendndodhje RT të ruajtur në memorie të fshehtë që mund të ndahet midis procesorëve në sistem. Direktoria aksesohet sa herë që një nga procesorët modifikon një kopje të një qelize të tillë në memorien e saj lokale. Në këtë rast, informacioni nga direktoria është i nevojshëm për të zhvlerësuar ose përditësuar kopjet e qelizës së ndryshuar (ose të gjithë rreshtit që përmban këtë qelizë) në cache të tjera lokale ku ekzistojnë kopje të tilla.

Për çdo rresht të përbashkët që mund të ruhet në memorie, caktohet një hyrje në drejtori për të ruajtur treguesit në kopjet e atij rreshti. Përveç kësaj, një bit modifikimi (D) ndahet në çdo hyrje, duke treguar nëse kopja është "e ndotur" (D = 1 - e ndyrë) ose "e pastër" (D = 0 - e pastër), domethënë nëse përmbajtja e rreshti në cache kanë ndryshuar memorien pasi është ngarkuar atje. Ky bit tregon nëse procesori lejohet të shkruajë në rreshtin e dhënë.

Aktualisht ekzistojnë tre mënyra për të zbatuar protokollet e koherencës së cache-ve të bazuara në drejtori: drejtoria e plotë, drejtoritë e kufizuara dhe drejtoritë e lidhura me zinxhirë.

Në protokoll referencë e plotë një direktori e vetme e centralizuar ruan informacione për të gjitha cache. Drejtoria ruhet në memorien kryesore.


Oriz. 11.17. Protokolli i Koherencës së Cache-së së Referencës së plotë

Në një sistem me N përpunues, çdo hyrje në drejtori do të përmbajë N tregues me bit të vetëm. Nëse një kopje e të dhënave është e pranishme në cache lokale përkatëse, treguesi i bitit vendoset në 1, përndryshe vendoset në 0. 11.17. Kjo supozon se një kopje e vargut ekziston në çdo cache. Çdo rreshti i jepen dy tregues statusi: një bit i vlefshëm (V, i vlefshëm) dhe një bit zotërues (P, privat). Nëse informacioni në linjë është i vlefshëm, biti V vendoset në 1. Një vlerë e bitit P prej 1 tregon që procesorit i është dhënë akses shkrimi në linjën përkatëse në cache-in e tij lokal.

Supozoni se procesori 2 po shkruan në vendndodhjen x. Në momentin fillestar, procesori nuk ka marrë ende leje për një regjistrim të tillë. Ai formon një kërkesë për kontrolluesin e drejtorisë dhe pret lejen për të vazhduar funksionimin. Në përgjigje të një kërkese për të gjitha cache ku ka kopje të rreshtit që përmban qelizën x, lëshohet një sinjal për të pavlefshëm kopjet ekzistuese. Çdo cache që merr këtë sinjal rivendos bitin e vlefshmërisë së rreshtit të pavlefshëm (V-bit) në 0 dhe kthen një sinjal konfirmimi në kontrolluesin e drejtorisë. Pas marrjes së të gjitha sinjaleve të konfirmimit, kontrolluesi i drejtorisë vendos bitin e modifikimit (D-bit) të hyrjes përkatëse të drejtorisë në një dhe i dërgon një sinjal procesorit 2 për të mundësuar shkrimin në vendndodhjen x. Nga kjo pikë e tutje, procesori 2 mund të vazhdojë të shkruajë në kopjen e tij të vendndodhjes x, si dhe në memorien kryesore nëse "shkrimi përmes" zbatohet në cache.

Problemet kryesore të protokollit të plotë të drejtorisë shoqërohen me një numër të madh hyrjesh. Për çdo qelizë në direktorinë e një sistemi N procesorësh, kërkohet N+ 1 bit, domethënë me një rritje të numrit të përpunuesve, koeficienti i kompleksitetit rritet në mënyrë lineare. Protokolli i plotë i drejtorisë lejon çdo cache lokale të ketë kopje të të gjitha qelizave të përbashkëta. Në praktikë, kjo mundësi nuk mbetet gjithmonë në kërkesë - në çdo moment, vetëm një ose disa kopje janë zakonisht të rëndësishme. V protokollme referenca të kufizuara kopjet e një rreshti të vetëm mund të jenë vetëm në një numër të kufizuar të cache - në të njëjtën kohë nuk mund të ketë më shumë se P kopjet e vargut, ndërsa numri i treguesve në hyrjet e direktoriumit reduktohet në n(n< N ). Për të identifikuar në mënyrë unike memorien e memories që mban kopjen, treguesi duhet të përbëhet nga log2 N bit në vend të një biti, dhe gjatësia totale e treguesve në çdo hyrje direktorie duhet të N bit do të jetë e barabartë me Plog2N pak. Në një vlerë konstante P shkalla e rritjes së faktorit të kompleksitetit të një drejtorie të kufizuar me rritjen e madhësisë së sistemit është më e ulët se në rastin e një marrëdhënie lineare.

Kur më shumë se P kopjet, kontrolluesi vendos se cilin nga kopjet të mbajë dhe cilin të anulojë, pas së cilës bëhen ndryshimet përkatëse në treguesit e hyrjes në direktori.

Metoda drejtoritë e lidhura synon gjithashtu të kompresojë volumin e drejtorisë. Ai përdor një listë të lidhur për të ruajtur të dhënat, të cilat mund të zbatohen si me një lidhje (me një drejtim) dhe me lidhje të dyfishtë (me dy drejtime).

Oriz. 11.18. Protokolli i koherencës së cache-së së direktorisë së lidhur

Në një listë të lidhur veçmas (Figura 11.18), çdo hyrje e drejtorisë përmban një tregues për një kopje të vargut në një nga memoriet lokale. Kopjet e rreshtave me të njëjtin emër në cache të ndryshme të sistemit formojnë një zinxhir të njëanshëm. Për ta bërë këtë, etiketat e tyre kanë një fushë të veçantë ku futet një tregues në memorien e memories që përmban kopjen tjetër të zinxhirit. Për të etiketuar kopjen e fundit zinxhiri vendoset një karakter i veçantë kufizues. Drejtoria e lidhur me zinxhir pranon zinxhirë me gjatësi N, domethënë mbështet N kopjet e qelizave. Kur krijoni një kopje tjetër, zinxhiri duhet të shkatërrohet dhe në vend të tij duhet të formohet një i ri. Supozoni, për shembull, procesori 5 nuk ka një kopje të qelizës x dhe i referohet memorjes kryesore për të. Treguesi në direktori ndryshohet në pikën në cache numër 5, dhe treguesi në cache 5 ndryshohet në pikën në cache 2. Për ta bërë këtë, kontrolluesi kryesor i memories duhet të kalojë treguesin e cache në cache 5 së bashku me të dhënat e kërkuara. -numri i memories 2. Vetëm pasi të jetë formuar e gjithë struktura e zinxhirit, procesori 5 do të marrë lejen për të hyrë në qelizën x. Nëse procesori shkruan në një qelizë, atëherë një sinjal vrasësi dërgohet në rrugën e përcaktuar nga zinxhiri përkatës i treguesve. Zinxhiri gjithashtu duhet të përditësohet kur kopja hiqet nga ndonjë memorie e fshehtë.

Një listë e lidhur dyfish mbështet treguesit përpara dhe prapa. Kjo ju lejon të futni në mënyrë më efikase tregues të rinj në zinxhir ose të hiqni ato të panevojshme prej tij, por kërkon ruajtjen e një numri më të madh treguesish.

Skemat e bazuara në drejtori vuajnë nga "ngjeshuria" në kontrolluesin e centralizuar, si dhe nga ngarkesa e komunikimit në shtigjet ndërmjet kontrolluesve lokalë të cache-it dhe kontrolluesit qendror. Sidoqoftë, ato janë shumë efektive në sistemet multiprocesorike me një topologji komplekse të ndërlidhjeve ndërmjet procesorëve, ku është e pamundur të zbatohen protokollet e monitorimit.

Më poshtë është një përshkrim i shkurtër i protokolleve aktuale aktuale për sigurimin e koherencës së cache bazuar në drejtori. Për një njohje të hollësishme me këto protokolle, jepen referenca në burimet përkatëse letrare.

ProtokolliTang. Ekziston një drejtori globale e centralizuar që përmban një kopje të plotë të të gjithë informacionit nga drejtoritë e secilit prej memorieve lokale. Kjo çon në një problem fyte të ngushta, dhe gjithashtu kërkon gjetjen e inputeve përkatëse.

Protokollicensier. Skema e drejtorisë Censier përdor një vektor bit tregues për të treguar se cilët procesorë mbajnë një kopje lokale të një blloku të caktuar të memories. Një vektor i tillë ekziston për çdo bllok memorie. Disavantazhi i kësaj metode është joefikasiteti i saj kur numra të mëdhenj procesorët, dhe përveç kësaj, përditësimi i linjave të cache kërkon qasje në memorien kryesore.

ProtokolliArchibald. Skema e Manualit Archibald është një palë skemash të ndërlikuara për rrjetet e përpunuesve të organizuar në mënyrë hierarkike. ME pershkrim i detajuar ky protokoll mund të gjendet në.

ProtokolliStenstrom. Udhëzuesi Stenstrom ofron gjashtë gjendje të vlefshme për çdo bllok të dhënash. Ky protokoll është relativisht i thjeshtë dhe është i përshtatshëm për çdo topologji të ndërlidhjes së procesorit. Drejtoria ruhet në memorien kryesore. Në rast të mungesës së cache-it të leximit, aksesohet memoria kryesore, e cila dërgon një mesazh në cache-in e pronarit të bllokut, nëse ka. Me marrjen e këtij mesazhi, pronari i cache-it dërgon të dhënat e kërkuara dhe gjithashtu dërgon një mesazh te të gjithë procesorët e tjerë që ndajnë të dhënat për të përditësuar bitvektorët e tyre. Skema nuk është shumë efikase me një numër të madh procesorësh, megjithatë, aktualisht është protokolli manual më i zhvilluar dhe më i përdorur.

Kontrolli pyetje

1. Analizoni ndikimin e veçorive të kujtesës së përbashkët dhe kujtesës së shpërndarë VS në zhvillimin e softuerit. Pse këto VS quhen përkatësisht të lidhura fort dhe të lidhura dobët?

2. Shpjegoni idenë e alternimit të adresave të memories. Cilat janë konsideratat për zgjedhjen e një mekanizmi të shpërndarjes së adresave? Si lidhet me klasën e arkitekturës së avionëve?

3. Jepni një përshkrim krahasues të aksesit homogjen dhe heterogjen
në kujtesë.

4. Cilat janë avantazhet e arkitekturës SOMA?

5. Rrëshqitni analiza krahasuese modele me qasje cache-koherente dhe cache-inkoherente në memorien heterogjene.

6. Formuloni avantazhet dhe disavantazhet e një arkitekture pa akses të drejtpërdrejtë në memorien e largët.

7. Shpjegoni kuptimin e kujtesës së shpërndarë dhe të përbashkët.

8. Zhvilloni shembullin tuaj për të ilustruar problemin e koherencës së cache-it.

9. Përshkruani veçoritë e metodave softuerike për zgjidhjen e problemit të koherencës, nënvizoni avantazhet dhe dobësitë e tyre.

10. Krahasoni metodat e shkrimit në kujtesë me anulimin dhe shkrimin në kujtesë me përkthimin, duke theksuar avantazhet dhe disavantazhet e tyre.

11. Jepni një përshkrim krahasues të metodave për ruajtjen e koherencës në sistemet multiprocesorike.

12. Kryeni një analizë krahasuese të protokolleve të vëzhgimit të njohura për ju.

13. Cili është protokolli më popullor i mbikqyrjes? Arsyetoni arsyet e rritjes së interesit për të.

14. Jepni një përshkrim të detajuar të protokolleve të koherencës bazuar në manual dhe si t'i zbatoni ato. Cili është ndryshimi midis këtyre protokolleve dhe protokolleve të vëzhgimit?

Klasifikimi i sistemeve MCMD

Në sistemin MCMD, çdo element i procesorit (PE) ekzekuton programin e tij në mënyrë krejt të pavarur nga PE-të e tjera. Në të njëjtën kohë, elementët e procesorit duhet të ndërveprojnë disi me njëri-tjetrin. Dallimi në metodën e një ndërveprimi të tillë përcakton ndarjen e kushtëzuar të sistemeve MCMD në CS me memorie të përbashkët dhe sisteme me memorie të shpërndarë (Fig. 5.7).

Në sistemet e përbashkëta të memories, të cilat karakterizohen si të lidhura ngushtë, ekziston një memorie e përbashkët e të dhënave dhe udhëzimeve të disponueshme për të gjithë elementët e procesorit nëpërmjet një autobusi ose rrjeti të përbashkët lidhjesh. Sisteme të tilla quhen multiprocesorë. Ky lloj përfshin multiprocesorët simetrik (UMA (SMP), Multiprocesor Symmetric), sistemet me qasje jo uniforme në memorie (NUMA, Qasje jouniforme në memorie) dhe sisteme me të ashtuquajturën memorie lokale në vend të memories cache (COMA, Access Only Cache Memory ).

Nëse të gjithë procesorët kanë qasje të barabartë në të gjitha modulet e memories dhe të gjitha pajisjet I/O, dhe secili procesor është i këmbyeshëm me procesorë të tjerë, atëherë një sistem i tillë quhet sistem SMP. Në sistemet me memorie të përbashkët, të gjithë procesorët kanë qasje të barabartë në një hapësirë ​​të vetme adresash. Një memorie e vetme mund të ndërtohet si një bllok i vetëm ose modular, por opsioni i dytë zakonisht praktikohet.

Sistemet SMP i përkasin arkitekturës UMA. Sistemet kompjuterike me memorie të përbashkët, ku qasja e çdo procesori në memorie kryhet në mënyrë uniforme dhe kërkon të njëjtën kohë, quhen sisteme me qasje uniforme në memorie UMA (Uniform Memory Access).

Nga pikëpamja e niveleve të memories së përdorur në arkitekturën UMA, konsiderohen tre opsione për ndërtimin e një multiprocesori:

Klasike (vetëm me memorie kryesore të përbashkët);

Me një cache shtesë lokale për çdo procesor;

Me memorie lokale buferike shtesë për çdo procesor (Fig. 5.8).

Nga pikëpamja e mënyrës se si procesorët ndërveprojnë me burimet e përbashkëta (memoria dhe UHV), në rastin e përgjithshëm, dallohen llojet e mëposhtme të arkitekturave UMA:

Me autobus të përbashkët dhe ndarje kohore (7.9);

Me çelës koordinativ;

Bazuar në rrjete me shumë faza.

Përdorimi i vetëm një autobusi kufizon madhësinë e multiprocesorit UMA në 16 ose 32 procesorë. Për të marrë një madhësi më të madhe, kërkohet një lloj tjetër rrjeti i komunikimit. Skema më e thjeshtë e lidhjes është një ndërprerës tërthore (Fig. 5.10). Ndërprerësit e shiritave janë përdorur për dekada për të lidhur një grup linjash hyrëse me një numër linjash dalëse në një mënyrë arbitrare.

Shiriti i tërthortë është një rrjet jobllokues. Kjo do të thotë që procesori do të shoqërohet gjithmonë me bllokun e duhur të memories, edhe nëse një linjë ose nyje është tashmë e zënë. Për më tepër, nuk kërkohet planifikim paraprak.


Ndërprerësit me shirita janë mjaft të aplikueshëm për sistemet me madhësi mesatare (Fig. 5.11).


Bazuar në çelsat 2x2, mund të ndërtoni rrjete me shumë faza. Një opsion është rrjeti omega (Figura 5.12). Për n procesorë dhe n module memorie, kërkohen log 2 n faza, n/2 ndërprerës për fazë, domethënë një total prej (n/2)log 2 n ndërprerës për fazë. Kjo është shumë më mirë se n 2 nyje (pika kryqëzimi), veçanërisht për n të mëdha.

Multiprocesorët UMA me një autobus zakonisht janë të kufizuar në disa dhjetëra procesorë, dhe multiprocesorët me pikë ose ndërprerës kërkojnë të kushtueshëm Hardware dhe ato nuk janë shumë më të mëdha. Për të marrë më shumë se 100 procesorë, nevojitet një akses i ndryshëm memorie.

Për shkallëzueshmëri më të madhe të multiprocesorëve, është përshtatur një arkitekturë me qasje jo uniforme të memories NUMA (NonUniform Memory Access). Ashtu si multiprocesorët UMA, ata ofrojnë një hapësirë ​​​​të vetme adresash për të gjithë procesorët, por ndryshe nga makinat UMA, qasja në modulet e memories lokale është më e shpejtë se ato në distancë.

Brenda kuadrit të konceptit NUMA, zbatohen qasje, të shënuara me shkurtesat NC-NUMA dhe CC-NUMA.

Nëse koha e hyrjes në memorie të largët nuk është e fshehur (pasi nuk ka memorie cache), atëherë një sistem i tillë quhet NC-NUMA (No Caching NUMA - NUMA without caching) (Fig. 5.13).

Nëse janë të pranishme cache koherente, atëherë sistemi quhet CC-NUMA (Arkitektura Koherent e Memories Jo-Uniforme e Memories - NUMA me memorie koherente) (7.14).

memoria kryesore

memoria kryesore - një pajisje ruajtëse e lidhur drejtpërdrejt me procesorin dhe e krijuar për të ruajtur programe të ekzekutueshme dhe të dhëna të përfshira drejtpërdrejt në operacione. Ka shpejtësi të mjaftueshme, por volum të kufizuar. Memoria kryesore ndahet në lloje të ndryshme, kryesore prej të cilave janë memoria me akses të rastësishëm (RAM) dhe memoria vetëm për lexim (ROM) (Fig. 1).

RAM është krijuar për të ruajtur informacionin (programet dhe të dhënat) të përfshira drejtpërdrejt në procesi i llogaritjes në fazën aktuale të funksionimit.

RAM-i përdoret për marrjen, ruajtjen dhe lëshimin e informacionit. Është në të që procesori "merr" programet dhe të dhënat fillestare për përpunim, ai i shkruan rezultatet. Emri “RAM” i është vënë kësaj memorie sepse funksionon shumë shpejt, kështu që procesori nuk duhet të presë shumë gjatë leximit të të dhënave nga memoria dhe shkrimit në memorie. Megjithatë, të dhënat që ai përmban ruhen vetëm kur kompjuteri është i ndezur. Kur fikni kompjuterin tuaj, përmbajtja e RAM-it fshihet. Pra, RAM është memorie e paqëndrueshme.

Oriz. 1. Llojet kryesore të memories kryesore

Shpesh, përcaktimi RAM (memorie me akses të rastësishëm, d.m.th. memorie me akses të rastësishëm). Qasja e rastësishme kuptohet si mundësia e aksesit të drejtpërdrejtë në çdo qelizë të caktuar të memories (arbitrare), dhe koha e hyrjes për çdo qelizë është e njëjtë.

RAM është i bazuar në të mëdha qarqe të integruara që përmbajnë matrica të elementeve të ruajtjes së gjysmëpërçuesve (flip-flops). Elementet e memories janë të vendosura në kryqëzimin e gomave vertikale dhe horizontale të matricës; regjistrimi dhe leximi i informacionit kryhet duke aplikuar impulse elektrike përmes atyre kanaleve të matricës që lidhen me elementët që i përkasin qelizës së memories së zgjedhur.

Jo vetëm aftësia për të punuar me programe me burime intensive, por edhe performanca e saj varet nga sasia e RAM-it të instaluar në kompjuter, pasi kur ka mungesë të memories, një hard disk përdoret si zgjatja e tij logjike, koha e hyrjes në e cila është pakrahasueshme më e lartë. Përveç sasisë së RAM-it, performanca e kompjuterit ndikohet edhe nga shpejtësia e tij dhe mënyra e shkëmbimit të të dhënave ndërmjet mikroprocesorit dhe memories.

OP zbatohet në çipat DRAM (dinamik OP), i cili karakterizohet në krahasim me llojet e tjera të memories me kosto të ulët dhe kapacitet të lartë specifik, por nga konsumi i lartë i energjisë dhe performanca më e ngadaltë. Çdo bajt informacioni (0 dhe 1) në DRAM ruhet si një ngarkesë kondensatori. Për shkak të pranisë së rrymave të rrjedhjes, ngarkesa e kondensatorit duhet të rinovohet në intervale të caktuara. Për shkak të nevojës së vazhdueshme për përditësim, një memorie e tillë quhet dinamike. Rigjenerimi i përmbajtjes së memories kërkon kohë shtesë, dhe regjistrimi i informacionit gjatë rigjenerimit në memorie nuk lejohet.

Kohët e fundit, kostoja e RAM-it ka rënë ndjeshëm (nga vera e vitit 1995 në verën e 1996 - më shumë se 4 herë), kështu që kërkesat e mëdha të shumë programeve dhe sistemeve operative për RAM janë bërë më pak të rënduara nga pikëpamja financiare.

Për të shpejtuar aksesin në RAM në kompjuterë me shpejtësi të lartë, përdoret një memorie e qëndrueshme me shpejtësi ultra të lartë, e cila ndodhet, si të thuash, "midis" mikroprocesorit dhe RAM-it dhe ruan kopjet e seksioneve më të përdorura të RAM-it. . Kur mikroprocesori hyn në memorie, ai fillimisht kërkon të dhënat e nevojshme nga memoria e memories. Meqenëse koha e hyrjes në memorien e memories është disa herë më pak se ajo e zakonshme, dhe në shumicën e rasteve të dhënat e nevojshme për mikroprocesorin ruhen tashmë në memorien e memories, koha mesatare e hyrjes në memorie zvogëlohet. Memoria e memories zbatohet në një çip SRAM (RAM statike).

Për kompjuterët e bazuar në Intel-386DX ose 80386SX, një madhësi cache prej 64 KB është e mjaftueshme, ndërsa 128 KB është e mjaftueshme. Kompjuterët e bazuar në Intel-80486DX, DX2, DX4 dhe Pentium janë zakonisht të pajisur me memorie cache 256 KB.

Mikroprocesorët e serive 486 dhe Pentium përmbajnë një sasi të vogël memorie të brendshme cache, kështu që për hir të qartësisë së terminologjisë, ndonjëherë në literaturën teknike memoria e memories së vendosur në bordin e sistemit përmendet si memoria e nivelit të dytë të cache.

Në mikroprocesorin Pentium Pro, memoria cache e nivelit të dytë gjendet në një paketë të vetme me vetë procesorin (mund të thuhet se është e integruar në mikroprocesor).

Nuk është e nevojshme të keni të gjithë kujtesën në të cilën informacioni duhet të ndryshojë. Disa nga informacionet më të rëndësishme ruhen më së miri përgjithmonë në memorien e kompjuterit. Kjo memorie quhet e përhershme. Të dhënat futen në memorien e përhershme gjatë prodhimit të tyre. Si rregull, këto të dhëna nuk mund të ndryshohen; programet që funksionojnë në kompjuter mund t'i lexojnë vetëm ato. Ky lloj memorie zakonisht quhet ROM (memorie vetëm për lexim, ose memorie vetëm për lexim), ose ROM (memorie vetëm për lexim).

Në PC IBM - kompjuter të përputhshëm memoria e përhershme ruan programe për kontrollimin e harduerit, një kompjuteri, fillimin e ngarkimit të një sistemi operativ (OS) dhe kryerjen e funksioneve bazë për servisimin e pajisjeve kompjuterike. Meqenëse shumica e këtyre programeve merren me shërbime I/O, përmbajtja e memories së përhershme shpesh quhet BIOS (Basic Input - Output System, ose sistemi bazë hyrje-dalje).

Shumë kompjuterë instalojnë BIOS bazuar në memorien FLASH. Një memorie e tillë mund të modifikohet nga programe, të cilat ju lejojnë të përditësoni BIOS-in duke përdorur programe speciale, pa zëvendësuar motherboard ose çipin BIOS.

Të gjithë, përveç kompjuterëve shumë të vjetër, kanë gjithashtu një program konfigurimi kompjuterik (SETUP) në BIOS. Kjo ju lejon të vendosni disa karakteristika të pajisjeve kompjuterike (llojet e kontrolluesit të videos, hard disqet dhe disqet e disketës, disa edhe mënyra funksionimi me RAM, kërkesa për fjalëkalim në nisje, etj.). Në mënyrë tipike, programi i konfigurimit thirret nëse përdoruesi, gjatë bootstrap shtyp çelës i caktuar ose një kombinim çelësash (më shpesh tasti Del).

Kapaciteti i memories FLASH nga 32 KB në 2 MB, koha e aksesit të leximit 0,06 µs, koha e shkrimit për bajt afërsisht 10 µs; Kujtesa FLASH është një memorie jo e paqëndrueshme.

Përveç RAM-it të rregullt dhe kujtesës së përhershme, kompjuteri ka një zonë të vogël memorie për ruajtjen e cilësimeve të konfigurimit të kompjuterit. Shpesh quhet memorie CMOS, pasi kjo memorie zakonisht prodhohet duke përdorur teknologjinë CMOS (gjysmëpërçues komplementar metal-oksid), e cila ka konsum të ulët të energjisë. Përmbajtja e memories CMOS nuk ndryshon kur kompjuteri fiket, sepse ai përdor një bateri të veçantë për ta fuqizuar atë.

Kështu, kapaciteti i memories kryesore përbëhet nga miliona qeliza individuale të memories me një kapacitet prej 1 bajt secila. Kapaciteti i përgjithshëm i memories kryesore të kompjuterëve modernë zakonisht varion nga 1 deri në 4 GB. Kapaciteti i RAM-it është një deri në dy rend të madhësisë më i madh se kapaciteti i ROM-it: ROM-i zë deri në 2 MB në pllakat e reja amë), pjesa tjetër është RAM.

ORGANIZIMI I KUJTESISË NË MAKINAT INFORMATIVE

Qëllimi, parametrat kryesorë dhe

Klasifikimi i llojeve të memories

Pajisjet e memories (pajisjet e memories) të VM janë krijuar për të regjistruar, ruajtur dhe lexuar informacionin e paraqitur në formë dixhitale/2,3/. Pajisjet e memories, si procesorët, funksionojnë me dy lloje informacioni - programe dhe të dhëna, kështu që karakteristikat e kujtesës përcaktojnë kryesisht performancën dhe funksionalitetin VM.

Pajisjet e memories funksionojnë në dy mënyra − akseset e memories dhe magazinimit. Në modalitetin e aksesit në kujtesë, informacioni shkruhet ose informacioni lexohet nga memoria. Nëse memoria nuk aksesohet, ajo kalon në modalitetin e ruajtjes.

Parametrat kryesorë që karakterizojnë pajisjet e memories janë kapaciteti i informacionit (vëllimi), shpejtësia, konsumi i energjisë dhe kostoja /2,5,8/.

Kapaciteti i informacionit (vëllimi)është përcaktuar pajisja e memories numri maksimal informacioni i ruajtur dhe matet në bajt, Kbajt, Mbajt, Gbajt dhe Tbajt.

1 KB = 2 10 bajt; 1MB = 2 20 bajt; 1 GB = 2 30 bajte dhe 1 TB = 2 40 bajte.

Performanca e memories karakterizohet nga parametrat kryesorë të mëposhtëm:

koha e marrjes së mostrave (qasjes) t V, një interval kohor i përcaktuar ndërmjet momenteve të sinjalit të mostrës (fillimi i ciklit të leximit) dhe marrjes së të dhënave të lexuara në daljen e memories;

kohëzgjatja e ciklit të qarkullimit t C, e cila përcaktohet nga intervali kohor minimal i lejuar ndërmjet akseseve të njëpasnjëshme të memories. Duke marrë parasysh që qasja në kujtesë i referohet shkrimit ose leximit, ndonjëherë ato ndahen kohëzgjatja e ciklit të leximit t C.ChT. dhe kohëzgjatja e ciklit të regjistrimit t C.ZP. për llojet e memories në të cilat këto kohë cikli janë të ndryshme, d.m.th. t C.F.T. ≠ t C.ZP .

Në rastin e përgjithshëm, cikli i aksesit përbëhet nga një fazë e tërheqjes (qasjes) dhe një fazë e rigjenerimit (rivendosjes) së kujtesës, kështu që t C > t V.

Performanca e memories mund të karakterizohet gjithashtu nga shpejtësia me të cilën të dhënat mund të shkruhen ose lexohen dhe të maten në MB/s.

Konsumi i energjisë për shumë lloje memorie në modalitetin e aksesit është dukshëm më i lartë se në modalitetin e ruajtjes. Kujtesa jo e paqëndrueshme në modalitetin e ruajtjes nuk konsumon fare energji. Por një numër i llojeve të memories, për shembull, memoria dinamike elektronike, kërkojnë cikle rifreskimi në modalitetin e ruajtjes, kështu që konsumi i energjisë në këtë mënyrë është i krahasueshëm me konsumin e energjisë në modalitetin e aksesit.

Per krahasim tipe te ndryshme memorie, është i përshtatshëm për të përdorur konsumin e energjisë të reduktuar në një qelizë (d.m.th., specifik) dhe koston e pajisjeve të memories.

Një parametër i rëndësishëm i kujtesës është gjithashtu gjerësia e autobusit të dhënat e memories, duke specifikuar numrin e bajteve që një operacion leximi ose shkrimi mund të kryhet në të njëjtën kohë.

Pajisjet e memories VM mund të klasifikohen sipas kritereve të ndryshme: sipas parimit fizik të funksionimit, sipas qëllimit të tyre funksional, sipas metodës së organizimit, nevojës për furnizim me energji elektrike në modalitetin e ruajtjes, etj.

Sipas parimit fizik të funksionimit, memoria klasifikohet në elektronike, magnetike, optike, magneto-optike.

Memorie elektronike kryhet në elementë gjysmëpërçues dhe zbatohet në formën e LSI. Kujtesa elektronike ndahet në statike dhe dinamike.

Në LSI të memories statike, nxitjet statike në bipolare ose transistorë me efekt në terren. Siç e dini, numri i gjendjeve të qëndrueshme të nxitjes është dy, gjë që lejon përdorimin e tij për të ruajtur një njësi informacioni - pak. Qelizat e memories për ruajtjen e bajteve dhe fjalëve përdorin përkatësisht 8 dhe 16 shkas.

Në memorien dinamike LSI, kondensatorët elektrikë përdoren si qeliza elementare të memories. Prania e një ngarkese korrespondon me ruajtjen e një "1" logjik, mungesa e një ngarkese korrespondon me ruajtjen e një "0" logjike. Si kondensatorë magazinimi, përdoren ose kapacitetet ndërelektrodike të transistorëve MOS ose të krijuara posaçërisht në kondensatorët LSI MOS. Një fragment i bllok-diagramit të memories dinamike, që përmban dy qeliza 1 dhe 2, është paraqitur në Fig.6.1.

Çdo qelizë elementare e memories përmban një kondensator ruajtjeje MOS C (të dhjetat e pF) dhe një ndërprerës transistor T që lidh këtë kondensator me autobusin e të dhënave. Porta e çelësit MOS të tranzitorit është e lidhur me daljen përkatëse të dekoderit të adresës. Kur zgjidhet një qelizë, çelësi T hapet dhe lidh kondensatorin C me autobusin e të dhënave. Më tej, në varësi të llojit të komandës: shkruani (WR) ose lexo (RD) - përmes amplifikatorit përkatës, të dhënat hyrëse shkruhen (DI) ose të dhënat e daljes lexohen (DO).

Kujtesa dinamike në krahasim me memorien statike është shumë më e thjeshtë, më e lirë dhe siguron një shkallë shumë të lartë integrimi, d.m.th. kapacitet më të lartë specifik. Por në krahasim me memorien dinamike statike ka një performancë më të ngadaltë dhe kërkon rigjenerim (rikuperim) periodik të informacionit në qelizat elementare. Me fjalë të tjera, është e nevojshme që periodikisht të rivendoset ngarkesa në kondensatorët e ruajtjes C, të cilët vetë-shkarkohen me kalimin e kohës, d.m.th. "humbni" informacion. Për ta bërë këtë, çdo disa milisekonda (ms) informacioni lexohet nga qelizat e memories dhe më pas informacioni rishkruhet, gjë që lejon që ngarkesa të rikthehet në kondensatorët e ruajtjes C. Nevoja për të organizuar cikle rifreskimi periodik (Ciklet e rifreskimit ) e ndërlikon disi menaxhimin e memories dinamike.

Për modulet tipike të memories elektronike, koha e marrjes së mostrave t Bështë njësi - dhjetëra nanosekonda ( nsec), dhe kapaciteti i informacionit - dhjetëra - qindra MB.

Memoria elektronike statike dhe dinamike është i paqëndrueshëm, d.m.th. kur fiket energjia, informacioni në qeliza nuk ruhet. Ka edhe jo të paqëndrueshme memorie elektronike - pajisje memorie vetëm për lexim (ROM), informacion nga i cili gjatë funksionimit të VM mund të lexohet vetëm. Qelizat e memories ROM do të diskutohen më poshtë.

memorie magnetike bazohet në praninë e një numri materialesh magnetike (për shembull, oksid hekuri) të dy gjendjeve të qëndrueshme të magnetizimit të mbetur të shenjës së kundërt. Të tillë materiale magnetike karakterizohet nga një lak histerezi në formë drejtkëndëshe B = f(H), dhe prej tyre bëhet një shtresë magnetike pune, e aplikuar në sipërfaqen e mediave të ndryshme celulare - disqe magnetike. Për të shkruar dhe lexuar informacion, përdoren koka magnetike, të cilat janë induktorë miniaturë të plagosur në një bërthamë magnetike me një hendek. Gjatë regjistrimit, koka magnetike magnetizon pjesën e shtresës magnetike që kalon nën hendekun e funksionimit në drejtimin e përcaktuar nga drejtimi i rrymës rrjedhëse. Gjatë leximit, zonat e magnetizuara të sipërfaqes kalojnë pranë kokës së leximit induktiv dhe nxisin impulse emf në të. Pajisjet e memories që përdorin këtë parim kanë një kosto shumë të ulët për njësi të ruajtjes së informacionit, janë jo të paqëndrueshme, por, duke qenë elektromekanike, ato janë dukshëm inferiore ndaj memories elektronike për sa i përket shpejtësisë, besueshmërisë dhe konsumit të energjisë. Për disqet e diskut të ngurtë, shpejtësia e transferimit të të dhënave arrin dhjetëra MB / s, dhe kapaciteti i informacionit është qindra GB.



V memorie optike për të ruajtur informacionin, përdoret një ndryshim në vetitë optike (kryesisht shkalla e reflektimit) të sipërfaqes së bartësit. Media optike është bërë në formën e një disku ( kompakt disk- CD), shtresa reflektuese (spërkatja e metalit) e së cilës është e mbuluar me një shtresë ngjyre organike. Gjatë regjistrimit, rrezja lazer modulohet nga rryma e copave të regjistruara dhe djeg vrimat në shtresën e bojës në vende të caktuara në pistë. Për shkak të ndryshimit në koeficientin e reflektimit të gropave dhe sipërfaqeve të padjegura, gjatë leximit modulohet ndriçimi i rrezes së reflektuar, i cili kodon informacionin e lexuar nga CD-ja. Prodhuar tipe te ndryshme Disqet optike CD: CD-ROM (Memorie vetëm për lexim) - që lejon vetëm leximin e informacionit të regjistruar në një mënyrë matrice, CD-R (i regjistruar) - duke lejuar të paktën një regjistrim të vetëm në një disk dhe lexime të shumta, CD-RW (Rishkrim) - lejimi i rishkrimit të shumëfishtë në disk (dhe, natyrisht, leximi). Disqet optike janë të lira dhe kanë një kapacitet të konsiderueshëm informacioni (deri në një GB), ato janë të paqëndrueshme dhe lehtësisht të zëvendësueshme, por për sa i përket shpejtësisë, besueshmërisë dhe konsumit të energjisë, si disqet magnetike, janë dukshëm inferiorë ndaj memories elektronike.

Sipas qëllimit të tyre funksional, pajisjet e memories mund të klasifikohen në memorie me akses me gërvishtje (SRAM), memorie me akses të rastësishëm (RAM), memorie vetëm për lexim (ROM) dhe pajisje të ruajtjes së jashtme (OVD).

RAMështë projektuar për të ruajtur programet (sistemi, aplikacioni) dhe të dhënat e përdorura drejtpërdrejt nga CPU në kohën aktuale. Kohëzgjatja e cikleve të leximit dhe shkrimit për RAM është zakonisht e njëjtë. Zakonisht, memoria dinamike deri në njësi GB përdoret si RAM, në varësi të qëllimit dhe fushëveprimit të MS.

SOZU ose memorie cache- kjo është një sasi e vogël memorie me shpejtësi të lartë, në të cilën kohëzgjatja e ciklit të aksesit t C. është më e vogël se kohëzgjatja e ciklit të makinës së procesorit. Prandaj, kur aksesoni memorien cache, nuk është e nevojshme të futni ciklet e pritjes së procesorit në ciklet e aksesit të memories së makinës. Memoria cache është memorie buferike midis RAM dhe CPU dhe funksionon në memorie statike. Cache ruan kopjet e blloqeve (faqeve) të programeve dhe të dhënave të atyre zonave RAM që janë aksesuar për herë të fundit, si dhe një drejtori - një listë e korrespondencës së tyre aktuale me zonat RAM. Sa herë që aksesohet RAM-i, kontrolluesi i cache-it kontrollon katalogun për të parë nëse ka një kopje të vlefshme të bllokut (faqes) të kërkuar në cache. Nëse ka një kopje, atëherë ky është rasti goditjet e cache-it, dhe qasja për të dhëna ose kod ndodh vetëm në memorien e memories. Nëse nuk ka kopje të vlefshme, atëherë ky është rasti cache miss, dhe blloku (faqja) e kërkuar nga RAM-i shkruhet në cache, dhe hyrja bëhet në vend të bllokut (faqes) më pak të rëndësishme që është hequr më parë nga cache në RAM, d.m.th. bllok informacioni, numri i akseseve në të cilin ishte më i vogli. Për shkak të programeve dhe të dhënave të qenësishme të tilla vetitë themelore, si hapësinore dhe lokaliteti kohor/2,7,13/ numri i goditjeve të cache është shumë herë më i madh se numri i humbjeve të cache-it edhe me madhësi të vogla (njësi - dhjetëra KB) memorie cache. Prandaj, përdorimi i memories cache përmirëson ndjeshëm performancën e VM. Në mënyrë tipike, cache zbatohet sipas një skeme me tre nivele: cache parësore (L1 Cache), me një vëllim prej dhjetëra KB, dhe cache sekondare (L2 Cache), me një vëllim prej qindra KB, ndodhet në kristal MP, cache e nivelit të tretë (L3 Cache), njësi MB janë instaluar në motherboard ose në ndërtesën MP.

ROMështë një memorie elektronike jo e paqëndrueshme që përdoret për të ruajtur informacionin që nuk ndryshon ose ndryshon rrallë gjatë funksionimit të VM: softueri i sistemit (BIOS), softueri aplikativ për VM-të e integruara dhe në bord, grupe tabelash, parametra konfigurimi të sistemeve të ndryshme , etj. Mënyra kryesore e funksionimit të ROM-it është leximi, i cili çon në një emër tjetër të zakonshëm për një ROM të tillë memorie (Read Only Memory). Shkrimi i informacionit në ROM, i quajtur programim, zakonisht është shumë më i vështirë, kërkon kohë dhe konsumon energji sesa leximi.

VZU janë të dizajnuara për ruajtje jo të paqëndrueshme të vëllimeve të mëdha në një mënyrë të caktuar informacion të strukturuar: skedarët, bazat e të dhënave, arkivat. tipar karakteristik memoria e jashtme është se pajisjet e saj funksionojnë me blloqe informacioni, dhe jo me bajt ose fjalë, siç lejon RAM. Përveç kësaj, procesori mund të hyjë në ROM vetëm përmes RAM-it. Disqet e diskut (HDD, CD) zakonisht përdoren si VZU, të cilat lejojnë ruajtjen e qindra GB informacioni.

Bufer memorie elektronike të përfshira në kontrollorët e ndryshme pajisje të jashtme, zgjidhjen e problemit shfaqja dhe futja e informacionit, detyrat e komunikimit, konvertimi i sinjalit, etj. Prania e memories buferike bën të mundur koordinimin e shkallëve të ndryshme të transferimit të informacionit të autobusit të sistemit dhe pajisjeve të jashtme, zvogëlimin e kohës së përdorimit të secilës prej pajisjeve të jashtme të autobusit të sistemit dhe rritjen e performancës së VM.

Mënyra e organizimit të kujtesës përcaktohet nga mënyra e vendosjes dhe kërkimit të informacionit në memorie. Mbi këtë bazë dallohet organizimi adresues, asociativ dhe stack i kujtesës.

V kujtesa e adresave për të hyrë në qelizat e kujtesës, ato përdoren adresat, të cilat kuptohen si kode të numrit të qelizave të kujtesës. Organizimi i adresave të memories lejon aksesin e qelizave të memories sipas adresave të tyre në një renditje arbitrare, dhe kohëzgjatja e ciklit të aksesit është e njëjtë për të gjitha qelizat, pavarësisht nga adresa. Prandaj, termi "memorie me akses të rastësishëm (RAM)" ose RAM (Random Access Memory) përdoret gjithashtu për të emërtuar një memorie të tillë. Për shembull, RAM dhe ROM kanë një organizim adresash të memories.

V kujtesa asociative Informacioni (AZU) nuk kërkohet nga adresat e qelizave të kujtesës, por nga përmbajtja e tyre ose një pjesë e saj. Në rastin e përgjithshëm, një kërkesë për memorien asociative kryhet duke vendosur listën e shifrave me të cilat duhet të kërkohet qeliza e memories dhe duke vendosur përmbajtjen e shifrave të alokuara. Lista e shifrave për kërkimin është e specifikuar në regjistër-maskë. Ky regjistër ka të njëjtin kapacitet si qeliza e memories AZU dhe përmban ato vetëm në ato bit që janë duke u kërkuar. V regjistër-kontekst vendoset përmbajtja e këtyre shifrave dhe kapaciteti i tij është i barabartë me kapacitetin e regjistrit të maskave.

Nëse gjendet një qelizë me një kombinim të caktuar zero dhe njësh, CAM gjeneron një përgjigje pozitive që tregon adresën e qelizës së gjetur. Më pas, adresa i kalohet dekoderit të adresës dhe e gjithë përmbajtja e një qelize të tillë mund të lexohet ose mund të shkruhen përmbajtje të reja në të. Përndryshe, CAM gjeneron një përgjigje negative ndaj kërkesës.

Kërkimi i informacionit sipas kontekstit në CAM kryhet njëkohësisht në të gjitha qelizat e memories, kështu që CAM është shumë herë më i shpejtë se RAM, por ato janë gjithashtu shumë më të shtrenjta. Në sistemet moderne kompjuterike, AZU-të përdoren, për shembull, si pjesë e një memorie cache.

memorie stivore(Staku), ashtu si ai asociativ, është i paadresuar. Një pirg mund të shihet si një koleksion qelizash që formojnë një grup njëdimensional në të cilin qelizat fqinje janë të lidhura me njëra-tjetrën me zinxhirë bit të transmetimit të fjalëve. Në këtë memorie shkrimi dhe leximi kryhen sipas rregullit “leximi i fundit i shkruar i pari” ose “Last Input First Output (LIFO)”. Prandaj, pirgu quhet memorie "magazina" me rend i kundërt lexime. Zakonisht grumbulli organizohet në RAM. Numri i fjalëve në pirg përcaktohet nga regjistri i treguesit të stivës SP, dhe shkrimi dhe leximi nga pirgu kryhet nga udhëzimet PUSH dhe POP, përkatësisht. Memoria e stivës përdoret gjerësisht, siç u diskutua më lart, në trajtimin e ndërprerjeve dhe thirrjet nënrutinë.

Së bashku me memorien e stivës, memoria "bulk" me një urdhër leximi të drejtpërdrejtë, d.m.th. "leximi i parë i shkruar i pari" ose "First Input First Output (FIFO)". Kjo memorie quhet memorie buferike dhe, si stack, është e organizuar në RAM.

Organizimi i nënsistemit të memories në një PC

Pajisjet e ruajtjes (memoria) e nënsistemit të memories PC mund të rregullohen në hierarkinë e mëposhtme (Tabela 9.1):

Tabela 9.1. Hierarkia e nënsistemit të memories PC
Lloji i memories 1985 2000
Koha e mostrës Vëllimi tipik Çmimi / bajt Koha e mostrës Vëllimi tipik Çmimi / bajt
Memorie super e shpejtë (regjistrohet) 0,2 5 ns 16/32 bit $ 3 - 100 0,01 1 ns 32/64/128 bit $ 0,1 10
Kujtesa e shpejtë buferike (cache) 20 100 ns 8 Kb - 64 Kb ~ $ 10 0,5 - 2 ns 32 Kb 1 Mb $ 0,1 - 0,5
Kujtesa operative (kryesore). ~ 0,5 ms 1 Mb - 256 Mb $ 0,02 1 2 ns 20 ns 128 MB - 4 GB $ 0,01 0,1
Magazinimi i jashtëm (magazinimi masiv) 10 - 100 ms 1 Mb - 1 Gb $ 0,002 - 0,04 5 - 20 ms 1 GB - 0,5 TB $ 0,001 - 0,01

Regjistrat e procesorit përbëjnë kontekstin e tij dhe ruajnë të dhënat e përdorura nga ekzekutimi aktual i udhëzimeve të procesorit. Regjistrat e procesorëve referohen, si rregull, me emërtimet e tyre kujtese në komandat e procesorit.

Cache përdoret për të përputhur shpejtësinë e CPU-së dhe kujtesës kryesore. Në sistemet kompjuterike përdoret një memorie memorie me shumë nivele: cache e nivelit I (L1), cache e nivelit II (L2), etj. Sistemet e desktopit zakonisht përdorin një cache me dy nivele, ndërsa serverët përdorin një cache me tre nivele. Cache ruan udhëzime ose të dhëna që ka të ngjarë të përpunohen nga procesori në të ardhmen e afërt. Funksionimi i cache-it është transparent për softuerin, kështu që cache zakonisht nuk është i aksesueshëm nga softueri.

Ruajtja e RAM-it, si rregull, funksionalisht është e plotë modulet e softuerit(kerneli i sistemit operativ, programet ekzekutuese dhe bibliotekat e tyre, drejtuesit e pajisjeve të përdorura, etj.) dhe të dhënat e tyre të përfshira drejtpërdrejt në funksionimin e programeve, dhe gjithashtu përdoren për të ruajtur rezultatet e llogaritjeve ose përpunimit të të dhënave të tjera përpara se t'i transferoni në një pajisje të jashtme memorie, në daljen e të dhënave të pajisjes ose ndërfaqet e komunikimit.

Çdo qelizë RAM i është caktuar një adresë unike. Metodat e shpërndarjes së kujtesës organizative u ofrojnë programuesve aftësinë për të përdorim efektiv i gjithë sistemi kompjuterik. Këto metoda përfshijnë një model memorie të ngurtë ("të sheshtë") dhe një model memorie të segmentuar. Kur përdorni një model të sheshtë memorie, programi funksionon me një hapësirë ​​të vetme adresash të vazhdueshme, një hapësirë ​​​​lineare adresash në të cilën qelizat e kujtesës numërohen në mënyrë sekuenciale dhe të vazhdueshme nga 0 në 2n-1, ku n është thellësia e bitit të CPU-së në adresë. Duke përdorur modelin e segmentuar për një program, memoria përfaqësohet nga një grup blloqesh adresash të pavarura të quajtura segmente. Për të adresuar një bajt memorie, një program duhet të përdorë një adresë logjike të përbërë nga një përzgjedhës segmenti dhe një zhvendosje. Përzgjedhësi i segmentit zgjedh një segment specifik dhe zhvendosja tregon një qelizë specifike në hapësirën e adresave të segmentit të zgjedhur.



Metodat organizative të ndarjes së kujtesës ju lejojnë të organizoni një sistem kompjuterik në të cilin hapësira e adresës së punës së programit tejkalon madhësinë e RAM-it aktual në sistem, ndërsa mungesa e RAM-it plotësohet nga memorie e jashtme më e ngadaltë ose më e lirë (hard drive, flash memorie etj.) Ky koncept quhet memorie virtuale. Në këtë rast, hapësira lineare e adresave mund të hartohet në hapësirën e adresave fizike ose drejtpërdrejt (një adresë lineare është një adresë fizike) ose duke përdorur një mekanizëm paging. Në rastin e dytë, hapësira lineare e adresave ndahet në faqe me madhësi të barabartë që përbëjnë memorien virtuale. Paging siguron hartëzimin e faqeve të kërkuara të memories virtuale në hapësirën fizike të adresave.

Përveç zbatimit të një sistemi memorie virtuale, përdoren pajisjet e ruajtjes së jashtme ruajtje afatgjatë programet dhe të dhënat në formën e skedarëve.

Cache

Memoria cache është një memorie me shpejtësi të lartë e vendosur në të njëjtin çip me CPU-në ose e jashtme e CPU-së. Cache shërben si një tampon me shpejtësi të lartë midis CPU-së dhe memories kryesore relativisht të ngadaltë. Ideja e memories cache bazohet në parashikimin e akseseve më të mundshme të CPU në RAM. Kjo qasje bazohet në parimin e lokalitetit kohor dhe hapësinor të programit.



Nëse CPU-ja ka aksesuar ndonjë objekt të memories kryesore, me një shkallë të lartë probabiliteti CPU-ja së shpejti do t'i qaset sërish këtij objekti. Një shembull i kësaj situate do të ishte kodi ose të dhënat në sythe. Ky koncept përshkruhet nga parimi i lokalitetit të përkohshëm, sipas të cilit objektet RAM të përdorura shpesh duhet të jenë "më afër" me CPU (në cache).

Për të koordinuar përmbajtjen e memories cache dhe RAM, përdoren tre metoda të shkrimit:

  • Përmes shkrimit (shkruani përmes) - njëkohësisht me memorien e memories, RAM-i përditësohet.
  • Shkrimi në bufer - informacioni vonohet në buferin e memories së memories para se të shkruhet në memorien kryesore dhe të rishkruhet në memorien kryesore në ato cikle kur CPU nuk i qaset.
  • Shkruaj përsëri - përdoret biti i ndryshimit në fushën e etiketës dhe linja rishkruhet në RAM vetëm nëse biti i ndryshimit është 1.

Si rregull, të gjitha metodat e shkrimit, përveç kalimit, lejojnë shtyrjen dhe grupimin e operacioneve të shkrimit në RAM për të rritur performancën.

Ekzistojnë dy lloje të blloqeve të të dhënave në strukturën e cache:

  • memoria e shfaqjes së të dhënave (vetë të dhënat, të kopjuara nga RAM);
  • memoria e etiketave (karakteristika që tregojnë vendndodhjen e të dhënave të memorizuara në RAM).

Hapësira e kujtesës së hartës së të dhënave në cache është e ndarë në linja - blloqe me një gjatësi fikse (për shembull, 32, 64 ose 128 bajt). Çdo rresht i cache-it mund të përmbajë një bllok të rreshtuar të njëpasnjëshëm të bajteve nga memoria kryesore. Cili bllok i RAM-it është hartuar në një linjë të caktuar të cache-it përcaktohet nga etiketa e linjës dhe algoritmi i hartës. Sipas algoritmeve për hartimin e RAM-it në cache, dallohen tre lloje të memories cache:

  • cache plotësisht shoqëruese;
  • cache e hartës direkte;
  • cache e shumëfishtë asociative.

Një cache plotësisht shoqëruese karakterizohet nga fakti se kontrolluesi i cache-it mund të vendosë çdo bllok të memories kryesore në çdo linjë cache (Fig. 9.1). Në këtë rast, adresa fizike ndahet në dy pjesë: kompensimi në bllok (linja e cache) dhe numri i bllokut. Kur një bllok vendoset në cache, numri i bllokut ruhet në etiketën e linjës përkatëse. Kur CPU i qaset cache-it për blloku i nevojshëm, humbja e cache do të zbulohet vetëm pasi të krahasohen etiketat e të gjitha rreshtave me numrin e bllokut.

Një nga avantazhet kryesore kjo metodë ekran - një përdorim i mirë i RAM, tk. nuk ka kufizime se cili bllok mund të vendoset në cilën linjë cache. Disavantazhet përfshijnë zbatimin kompleks të harduerit të kësaj metode, e cila kërkon një sasi të madhe qarku (kryesisht krahasues), gjë që çon në një rritje të kohës së hyrjes në një cache të tillë dhe një rritje të kostos së saj.

Zmadhoni imazhin
Oriz. 9.1. Cache plotësisht shoqëruese 8x8 për adresën 10-bit

Një mënyrë alternative për të hartuar RAM-in në një memorie të fshehtë është një memorie e fshehtë me hartë direkte (ose cache shoqëruese me një drejtim). Në këtë rast, adresa e memories (numri i bllokut) përcakton në mënyrë unike linjën e cache-së në të cilën do të vendoset ky bllok. Adresa fizike ndahet në tre pjesë: kompensimi në bllok (linja e cache), numri i linjës së cache-it dhe etiketa. Ky ose ai bllok do të vendoset gjithmonë në një linjë të cache-it të përcaktuar rreptësisht, nëse është e nevojshme, duke zëvendësuar një bllok tjetër të ruajtur atje. Kur CPU hyn në cache për bllokun e kërkuar, mjafton të kontrolloni etiketën e vetëm një rreshti për të përcaktuar një sukses ose një mungesë të cache.

Përfitimet e dukshme të këtij algoritmi janë thjeshtësia dhe kostoja e ulët e zbatimit. Disavantazhet përfshijnë efikasitetin e ulët të një cache të tillë për shkak të ringarkimit të shpeshtë të mundshëm të rreshtave. Për shembull, kur hyni në çdo qelizë të 64-të të memories në sistem në Fig. 9.2, kontrolluesi i cache-it do të detyrohet të ringarkojë vazhdimisht të njëjtën linjë të memories pa përdorur fare pjesën tjetër.

Zmadhoni imazhin
Oriz. 9.2. 8x8 Cache e hartës direkte për adresën 10-bit

Pavarësisht nga mangësitë e dukshme, këtë teknologji ka gjetur aplikim të suksesshëm, për shembull, në Motorola MC68020 MP, për organizimin e cache-it të instruksioneve të nivelit të parë (Fig. 9.3). Ky mikroprocesor implementon një cache të hartuar direkt prej 64 rreshtash me 4 bajt. Etiketa e linjës, përveç 24 biteve që specifikojnë adresën e bllokut të memorizuar, përmban një bit të rëndësisë që përcakton vlefshmërinë e rreshtit (nëse biti i rëndësisë është 0, vargu i dhënë konsiderohet i pavlefshëm dhe nuk do të shkaktojë një goditje në cache). Qasjet e të dhënave nuk ruhen në memorie.

Zmadhoni imazhin
Oriz. 9.3. Skema e organizimit të cache në MP Motorola MC68020

Një kompromis midis dy algoritmeve të parë është cache e shumëfishtë asociative ose cache pjesërisht shoqëruese (Figura 9.4). Me këtë metodë të organizimit të memories cache, linjat kombinohen në grupe, të cilat mund të përfshijnë linja 2, 4, :. Në përputhje me numrin e rreshtave në grupe të tilla, dallohen 2-hyrje, 4-hyrje etj. cache asociative. Kur aksesoni memorien, adresa fizike ndahet në tre pjesë: kompensimi në bllok (linja e cache), numri i grupit (seti) dhe etiketa. Një bllok memorie adresa e të cilit i përgjigjet një grupi të caktuar mund të vendoset në çdo rresht të këtij grupi dhe vlera përkatëse vendoset në etiketën e linjës. Natyrisht, brenda grupit të përzgjedhur respektohet parimi i asociativitetit. Nga ana tjetër, një bllok i veçantë mund të bjerë vetëm në një grup të përcaktuar rreptësisht, i cili i bën jehonë parimit të organizimit të një cache të hartës direkte. Në mënyrë që procesori të jetë në gjendje të identifikojë mungesën e cache-it, do t'i duhet të kontrollojë etiketat e vetëm një grupi (2/4/8/: rreshtat).

Zmadhoni imazhin
Oriz. 9.4. Cache shoqëruese me dy drejtime 8x8 për adresën 10-bit

Ky algoritëm i hartës kombinon avantazhet e të qenit një cache plotësisht shoqëruese (shfrytëzimi i mirë i memories, shpejtësi e lartë), dhe cache e aksesit të drejtpërdrejtë (thjeshtësia dhe kosto e ulët), vetëm pak inferiore në këto karakteristika ndaj algoritmeve origjinale. Kjo është arsyeja pse cache-i i shumëfishtë asociativ është më i përdoruri (Tabela 9.2).

Tabela 9.2. Karakteristikat e nënsistemit të memories cache të CPU-së IA-32
Intel486 Pentium Pentium MMX P6 Pentium 4
L1 memoria e instruksioneve
Një lloj 4-inç. asoc. 2-inç. asoc. 4-inç. asoc. 4-inç. asoc. 8-inç. asoc.
Madhësia e vargut, bajt -
Vëllimi total, KB 8/16 8/16 12 Kmops
L1 cache e të dhënave
Një lloj E ndarë me memorien e instruksioneve 2-inç. asoc. 4-inç. asoc. 2/4-in. asoc. 4-inç. asoc.
Madhësia e vargut, bajt
Vëllimi total, KB 8/16
L2 cache
Një lloj E jashtme e jashtme 4 inç. asoc. 4-inç. asoc. 8-inç. asoc.
Madhësia e vargut, bajt
Vëllimi total, KB 256/512 128-2048 256/512

Shënime: Intel-486 përdor një udhëzim të vetëm L1 dhe cache të të dhënave. Në Pentium Pro L1, cache e të dhënave është 8 KB me 2 hyrje, në modelet e tjera P6 është 16 KB me 4 hyrje. Pentium 4 përdor memorien e memories së mikro-op L1 (cache e gjurmës) në vend të cache-së së udhëzimeve L1.

Për të organizuar memorien e memories, mund të përdorni arkitekturën e Princeton (një cache e përzier për komanda dhe të dhëna, për shembull, në Intel-486). Kjo zgjidhje e dukshme (dhe e pashmangshme për sistemet von Neumann me memorie të fshehtë jashtë CPU-së) nuk është gjithmonë më efikasja. Ndarja e memories cache në një memorie instruksioni dhe një memorie të dhënash (një memorie e fshehtë e arkitekturës së Harvardit) bën të mundur rritjen e efikasitetit të cache për arsyet e mëposhtme:

  • Shumë procesorë modernë kanë një arkitekturë me tubacion, në të cilën njësitë e tubacionit funksionojnë paralelisht. Kështu, marrja e instruksioneve dhe qasja në të dhënat e udhëzimeve kryhen në faza të ndryshme të tubacionit dhe përdorimi i memorjes së veçantë të cache-it lejon që këto operacione të kryhen paralelisht.
  • Cache e instruksioneve mund të zbatohet si vetëm për lexim dhe për këtë arsye nuk kërkon zbatimin e ndonjë algoritmi të kthimit, gjë që e bën këtë cache më të thjeshtë, më të lirë dhe më të shpejtë.

Kjo është arsyeja pse të gjitha modelet më të fundit IA-32, duke filluar me Pentium, përdorin arkitekturën e Harvardit për të organizuar cache-në L1.

Kriteri për funksionimin efikas të cache-it mund të konsiderohet zvogëlimi i kohës mesatare të hyrjes në memorie në krahasim me një sistem pa cache. Në këtë rast, koha mesatare e hyrjes mund të vlerësohet si më poshtë:

Tav = (T goditje x R goditje) + (T humbasë x (1 R goditje))

ku T hit është koha për të hyrë në cache në rast të një goditjeje (përfshin kohën për të identifikuar një humbje ose një goditje), T miss është koha e nevojshme për të ngarkuar një bllok nga memoria kryesore në një linjë cache në rast të një humbja e memories dhe më pas dorëzoni të dhënat e kërkuara te procesori, R frekuenca e goditjes.

Natyrisht, sa më afër vlera e hitit R të jetë 1, aq më afër është vlera T cf me T hit. Shkalla e goditjes përcaktohet kryesisht nga arkitektura e cache dhe madhësia e saj. Ndikimi i pranisë dhe mungesës së memories cache dhe madhësisë së saj në rritjen e performancës së CPU-së është paraqitur në Tabelën. 9.3.

Artikujt kryesorë të lidhur