Ce este memoria partajată?

Calculatoarele moderne au multă memorie. Fiecare CPU are memoria cache, iar fiecărui program care rulează i se atribuie porțiunea sa din RAM de sistem. Există multe moduri diferite în care această memorie poate fi utilizată și alocată. Memoria partajată este un concept care afectează atât memoria cache a CPU, cât și utilizarea memoriei RAM de sistem în moduri diferite.

Memorie partajată în hardware

Cele mai multe procesoare moderne au trei niveluri de cache, denumite L1, L2 și L3. L1 este cel mai mic și cel mai rapid cache, în timp ce L3 este cel mai mare și cel mai lent. Cu toate acestea, toate sunt mai rapide decât accesarea memoriei principale, ceea ce face ca rata de accesare este critică pentru performanță. Mulți factori fac cache-ul L1 mai rapid decât L3. În primul rând, celulele de memorie L1 sunt fizic mai mari. De asemenea, sunt mai puține și sunt situate mult mai aproape de nucleul procesorului, adesea în interiorul acestuia.

Plasarea unui bloc cache în zona matriței a unui nucleu vine cu o complexitate suplimentară pe procesoarele multicore. În acest moment, puteți alege să aveți un cache în fiecare nucleu sau în afara nucleelor, în special între ele. Fiecare are beneficiile și dezavantajele sale.

Plasarea unui cache într-un nucleu minimizează latența de acces, dar înseamnă și că fiecare nucleu are nevoie de memoria cache. Aceasta înseamnă că puteți ajunge cu linii de cache duplicate în cache-urile L1 ale diferitelor nuclee, reducând eficiența spațiului cache. Aceasta se numește cache local și, deși este excelent pentru timpul de acces, este mai puțin eficient în utilizarea spațiului cache și necesită o suprasarcină suplimentară în ceea ce privește coerența cache-ului.

Un cache partajat este un cache care este disponibil pentru mai multe sau pentru toate nucleele dintr-un procesor multicore. Un cache partajat înseamnă că mai multe nuclee pot accesa o singură instanță de date specifice, limitând spațiul irosit din cauza duplicării. De asemenea, înseamnă că un nucleu poate revendica temporar mai mult decât cota echitabilă din spațiul cache dacă are nevoie, în timp ce celelalte nuclee nu au. Vine cu prețul unui timp de acces crescut.

Cache partajate în practică

CPU-urile moderne folosesc ambele concepte, fiecare nucleu având un cache L1 local. Cache-ul L3 tinde să fie partajat între mai multe nuclee, deși uneori nu toate. L2 variază, dar poate fi local sau partajat, în funcție de arhitectura specifică de generare a CPU.

Sfat: Pentru procesoarele cu chiplet, cum ar fi modelele AMD Ryzen high-end, memoria cache poate fi partajată între toate nucleele de pe un chiplet, mai degrabă decât cu toate nucleele din întregul procesor. Nu contează câte nuclee este partajată un cache; chiar dacă sunt doar două, este totuși un cache partajat, deși poate merita să subliniem faptul că este partajat doar parțial.

Notă: RAM de sistem poate fi, de asemenea, partajată între mai multe procesoare fizice de pe o singură placă de bază sau între noduri dintr-un sistem cu mai multe CPU.

Memoria partajată în software

În computerele moderne, software-ul nu ajunge să se adreseze direct memoriei fizice. În schimb, i se atribuie un segment de adresă virtuală, iar computerul traduce aceste adrese virtuale în adrese fizice după cum este necesar. Acest lucru ajută la izolarea memoriei pentru procesele individuale, ceea ce este util pentru securitate.

În unele cazuri, poate fi de dorit să transferați date din memorie de la un proces la altul. Cel mai eficient mod de a face acest lucru este de a permite celor două procese să partajeze spațiul de memorie. În acest fel, ambele procese pot citi aceleași date și pot comunica între ele. Acest lucru ajută, de asemenea, la utilizarea eficientă a memoriei RAM a sistemului, deoarece datele nu sunt duplicate.

Memoria partajată de software va fi obținută de obicei prin păstrarea unei copii fizice a datelor și maparea accesului la aceasta prin intermediul memoriei virtuale pentru fiecare proces care are nevoie de acces la aceasta.

Concluzie

Memoria partajată este conceptul de a avea o secțiune de memorie accesibilă de mai multe lucruri. Acest lucru poate fi implementat atât în ​​hardware cât și în software. Cache-ul CPU poate fi partajat între mai multe nuclee de procesor. Acesta este mai ales cazul nivelurilor superioare de memorie cache a CPU. Memoria de sistem poate fi, de asemenea, partajată între diferite CPU-uri fizice într-un singur sistem mai mare.

În software, memoria partajată poate permite comunicarea IPC între procese. Un proces alocă memorie ca fiind partajată cu unul sau mai multe procese specifice. Celelalte procese pot accesa apoi acea locație de memorie prin maparea memoriei virtuale. Memoria partajată ajută la asigurarea utilizării eficiente a spațiului de memorie evitând duplicarea datelor într-un spațiu limitat.



Leave a Comment

Ce să faci dacă Powerbeats Pro nu se încarcă în carcasă

Ce să faci dacă Powerbeats Pro nu se încarcă în carcasă

Dacă Powerbeats Pro nu se încarcă, folosește o altă sursă de alimentare și curăță-ți căștile. Lasă carcasa deschisă în timp ce încarci căștile.

Canon Pixma MG5220: Scanare Fără Cerneală

Canon Pixma MG5220: Scanare Fără Cerneală

Cum să activezi scanarea pe Canon Pixma MG5220 când ai rămas fără cerneală.

5 Motive pentru care laptopul tău se supraîncălzește

5 Motive pentru care laptopul tău se supraîncălzește

Află care sunt unele dintre posibilele motive pentru care laptopul tău se supraîncălzește, împreună cu sfaturi și trucuri pentru a evita această problemă și a menține dispozitivul răcoros.

Cum să rezolvi codul de eroare GeForce Now 0xC272008F

Cum să rezolvi codul de eroare GeForce Now 0xC272008F

Te pregătești pentru o seară de gaming și va fi una mare – tocmai ai achiziționat „Star Wars Outlaws” pe serviciul de streaming GeForce Now. Descoperă singura soluție cunoscută care îți arată cum să repari codul de eroare GeForce Now 0xC272008F pentru a putea începe din nou să joci jocurile Ubisoft.

Elementele de bază ale imprimării 3D: Sfaturi de întreținere pentru imprimanta ta 3D

Elementele de bază ale imprimării 3D: Sfaturi de întreținere pentru imprimanta ta 3D

Întreținerea imprimantelor 3D este foarte importantă pentru a obține cele mai bune rezultate. Iată câteva sfaturi importante de reținut.

Cum să găsești adresa IP a unei imprimante

Cum să găsești adresa IP a unei imprimante

Ai probleme în a descoperi ce adresă IP folosește imprimanta ta? Te vom învăța cum să o găsești.

Principiile Imprimării 3D: O listă de verificare esențială pentru întreținere

Principiile Imprimării 3D: O listă de verificare esențială pentru întreținere

Menținerea echipamentului tău într-o stare bună este esențială. Iată câteva sfaturi utile pentru a-ți menține imprimanta 3D în condiții de vârf.

Cum să folosești AirPods cu telefoanele Samsung

Cum să folosești AirPods cu telefoanele Samsung

Dacă ești nesigur dacă să cumperi AirPods pentru telefonul tău Samsung, acest ghid te poate ajuta cu siguranță. Întrebarea cea mai evidentă este dacă cele două sunt

Cum se clonează un hard disk

Cum se clonează un hard disk

În era digitală modernă, în care datele sunt un bun valoros, clonarea unui hard disk pe Windows poate fi un proces crucial pentru mulți. Acest ghid cuprinzător

Cum să remediați driverul WUDFRd care nu s-a încărcat pe Windows 10?

Cum să remediați driverul WUDFRd care nu s-a încărcat pe Windows 10?

În timpul pornirii computerului, vă confruntați cu mesajul de eroare care spune că driverul WUDFRd nu s-a încărcat pe computer?