SSC Memorii 4.sisteme de memorii

download SSC Memorii 4.sisteme de memorii

of 58

description

moduri de a invata mai usor

Transcript of SSC Memorii 4.sisteme de memorii

SSC-Memorii-4

Sisteme de memorieIerarhia memoriilorTipuri de memoriiMemorii semiconductoareMemoria cu uniti multipleMemoria asociativMemoria cacheMemoria virtual04.05.20151Structura sistemelor de calcul (03-4)1Memoria asociativ (1)Memorii RAM: datele sunt identificate cu ajutorul unor adrese unice Memorii asociative: datele sunt identificate prin coninutul acestora memorii adresabile prin coninut (CAM Content Addressable Memory)Memorie asociativ cu n cuvinte: timpul de cutare a unei date este independent de nToate cuvintele din memorie pot fi comparate n paralel cu cuvntul cutat04.05.20152Structura sistemelor de calcul (03-4)Memoria asociativ (2)Cost mai ridicat dect al memoriilor RAMExemple de utilizare: Memorii cache translatarea adreselor Recunoaterea modelelor Dou tipuri de memorii asociative: Cu potrivire exact: datele sunt identificate pe baza egalitii cu o cheie Cu comparaie: utilizeaz operatori relaionali 04.05.20153Structura sistemelor de calcul (03-4)Memoria asociativ (3)Organizarea logic: fix sau variabilOrganizare fix:Un cuvnt este mprit n segmente fixeSegmentul cheie: fiecare bit al acestui segment trebuie utilizat pentru interogare Organizare variabil:Un cuvnt poate fi mprit n segmente fixeOrice parte a unui segment poate fi utilizat pentru interogare complet interogabil 04.05.20154Structura sistemelor de calcul (03-4)Memoria asociativ (4)

04.05.20155Structura sistemelor de calcul (03-4)Memoria asociativ (5)

Celul de memorie asociativSunt necesare n jur de 10 tranzistoare04.05.2015Structura sistemelor de calcul (03-4)6Memoria asociativ (6)Prelucrare asociativ Executat cu un procesor asociativProcesorul asociativ conine o memorie asociativ i o logic de control suplimentar Memoria asociativ poate executa n paralel instruciuni primitive Exemple de instruciuni executate de o memorie asociativ:SET: setarea la 1 a tuturor biilor de potrivire 04.05.20157Structura sistemelor de calcul (03-4)Memoria asociativ (7)COMPARE: comparaii paralele ale argumentului mascat cu toate cuvinteleREAD: transmiterea pe liniile de date a cuvintelor care au biii de potrivire setaiWRITE: scrierea n paralel a argumentului mascat n toate cuvintele care au biii de potrivire setai REPORT: raportarea unitii centrale dac exist o potrivire dup o cutare precedent 04.05.20158Structura sistemelor de calcul (03-4)Memoria asociativ (8)Avantajele prelucrrii asociative: Viteza ridicat: pentru anumite probleme, timpul de execuie se poate reduce cu un factor de nUn mod mai natural de a soluiona anumite probleme de calcul Operaiile sunt executate local Aplicaii: prelucrarea imaginilor; urmrirea semnalelor radar; inteligena artificial n timp real 04.05.20159Structura sistemelor de calcul (03-4)Sisteme de memorieIerarhia memoriilorTipuri de memoriiMemorii semiconductoareMemoria cu uniti multipleMemoria asociativMemoria cacheMemoria virtual04.05.201510Structura sistemelor de calcul (03-4)Memoria cacheMemoria cachePrincipiul memoriei cacheOrganizarea memoriei cacheFuncionarea memoriei cacheMaparea adreselorMaparea asociativMaparea directMaparea cu seturi asociativeStrategii de nlocuire04.05.201511Structura sistemelor de calcul (03-4)Principiul memoriei cache (1)Memorie rapid, utilizat temporar pentru pstrarea unei poriuni a datelor i instruciunilor n vederea utilizrii imediate Memoria cache este mai costisitoare dimensiunea acestei memorii ntr-un sistem de calcul este limitat O mare parte din cererile de acces vor fi satisfcute de memoria cache proprietatea de localitate a referinelor 04.05.201512Structura sistemelor de calcul (03-4)Principiul memoriei cache (2)Amplasare: ntre memoria principal i UCPConine cpii ale unor blocuri din memoria principal Dac un cuvnt solicitat de UCP se afl n memoria cache, nu va fi necesar accesul la memoria principal mai lent mbuntirea performanei: amplasarea memoriei cache n acelai circuit integrat ca i procesorul 04.05.201513Structura sistemelor de calcul (03-4)Memoria cacheMemoria cachePrincipiul memoriei cacheOrganizarea memoriei cacheFuncionarea memoriei cacheMaparea adreselorMaparea asociativMaparea directMaparea cu seturi asociativeStrategii de nlocuire04.05.201514Structura sistemelor de calcul (03-4)Organizarea memoriei cache (1)Cuvintele de memorie: pstrate ntro memorie de date Sunt grupate n pagini blocuri sau linii Fiecare bloc al memoriei cache este marcat cu adresa sa de bloc marcaj (tag) Colecia adreselor de marcaj asignate momentan memoriei cache: pstrat ntro memorie de marcaje04.05.201515Structura sistemelor de calcul (03-4)Organizarea memoriei cache (2)

Structura de baz a unei memorii cache04.05.2015Structura sistemelor de calcul (03-4)16Memoria cacheMemoria cachePrincipiul memoriei cacheOrganizarea memoriei cacheFuncionarea memoriei cacheMaparea adreselorMaparea asociativMaparea directMaparea cu seturi asociativeStrategii de nlocuire04.05.201517Structura sistemelor de calcul (03-4)Funcionarea memoriei cache (1)Atunci cnd UCP genereaz o cerere de citire: Cererea este trimis la memoria cache Dac cuvntul nu este gsit n memoria cache: cuvntul solicitat este furnizat de memoria principal Dac cuvntul este gsit n memoria cache: nu este necesar accesul la memoria principal 04.05.201518Structura sistemelor de calcul (03-4)Funcionarea memoriei cache (2)Execuia unei operaii de citire04.05.2015Structura sistemelor de calcul (03-4)19

Funcionarea memoriei cache (3)Atunci cnd UCP genereaz o cerere de scriere:Cererea este trimis la memoria cacheDac cuvntul nu este gsit n memoria cache: se ncarc o copie a blocului n care se afl cuvntul din memoria principal n memoria cacheSe execut o operaie de scriere Dac cuvntul este gsit n memoria cache: se execut o operaie de scriere 04.05.201520Structura sistemelor de calcul (03-4)Funcionarea memoriei cache (4)

Execuia unei operaii de scriere04.05.2015Structura sistemelor de calcul (03-4)21Funcionarea memoriei cache (5)Poate apare inconsistena datelor:Data din memoria cache difer de data din memoria principal cu aceeai adres O inconsisten temporar este acceptabil Problema coerenei memoriilor cache: prevenirea utilizrii improprii a datei vechiSisteme multiprocesor Sisteme uniprocesor04.05.201522Structura sistemelor de calcul (03-4)Funcionarea memoriei cache (6)Strategii de scriere: write-back, write-throughStrategia write-backFiecrui cuvnt din memoria cache i se asociaz un bit de modificare (dirty bit) Toate modificrile asupra unui cuvnt sunt efectuate n memoria cacheDac un cuvnt trebuie eliminat i bitul de modificare este setat: cuvntul este actualizat n memoria principal04.05.201523Structura sistemelor de calcul (03-4)Funcionarea memoriei cache (7)Avantaj: Cuvntul din memoria cache poate fi modificat de mai multe oriDezavantaje: Memoria cache i memoria principal pot fi temporar inconsistente Se complic recuperarea n cazul defectelor de sistem

04.05.201524Structura sistemelor de calcul (03-4)Funcionarea memoriei cache (8)Strategia write-through:Cuvntul este modificat att n memoria cache, ct i n memoria principalAvantaje:Implementare simplMemoria principal are ntotdeauna date consistente cu memoria cacheDezavantaj:ncetinete UCP 04.05.201525Structura sistemelor de calcul (03-4)Memoria cacheMemoria cachePrincipiul memoriei cacheOrganizarea memoriei cacheFuncionarea memoriei cacheMaparea adreselorMaparea asociativMaparea directMaparea cu seturi asociativeStrategii de nlocuire04.05.201526Structura sistemelor de calcul (03-4)Maparea adreselorTranslatarea adresei de memorie specificat de UCP n locaia cuvntului din memoria cacheTipuri de mapare a adreselor:Mapare asociativMapare directMapare cu seturi asociativePentru exemple:Memorie principal de 64 K cuvinte (16 bii)Memorie cache de 256 cuvinte04.05.201527Structura sistemelor de calcul (03-4)Memoria cacheMemoria cachePrincipiul memoriei cacheOrganizarea memoriei cacheFuncionarea memoriei cacheMaparea adreselorMaparea asociativMaparea directMaparea cu seturi asociativeStrategii de nlocuire04.05.201528Structura sistemelor de calcul (03-4)Maparea asociativ (1)Memorie cache cu asociativitate totalAdresa i coninutul sunt memorate ca i cuvinte separate n memoria cache Un cuvnt de memorie poate fi memorat n orice locaie a memoriei cache Organizarea: combinaie ntre o memorie asociativ i o memorie RAM Doar adresele cuvintelor sunt memorate n partea asociativ 04.05.201529Structura sistemelor de calcul (03-4)Maparea asociativ (2)04.05.201530Structura sistemelor de calcul (03-4)

Memoria cacheMemoria cachePrincipiul memoriei cacheOrganizarea memoriei cacheFuncionarea memoriei cacheMaparea adreselorMaparea asociativMaparea directMaparea cu seturi asociativeStrategii de nlocuire04.05.201531Structura sistemelor de calcul (03-4)Maparea direct (1)Se utilizeaz memorii RAM n locul memoriilor asociative se reduce costul Considerm c memoria cache M1 este mprit n b = 2s regiuni M1(0), M1(1), , M1(b-1) seturiMemoria principal M2 este divizat n blocuri Fiecare bloc M2(i) din M2 este mapat ntrun set M1(j) din M1Adresa j a setului: j = i mod b 04.05.201532Structura sistemelor de calcul (03-4)Maparea direct (2)Considerm c un set al memoriei cache conine un singur cuvnt Adresele de memorie sunt divizate n dou pri:Index: s bii de ordin inferior ai adresei din memoria principal identific setul memoriei cache care poate memora bloculMarcaj: t bii de ordin superior rmai ai adresei din memoria principal 04.05.201533Structura sistemelor de calcul (03-4)Maparea direct (3)La adresa specificat de index:Este memorat un marcaj n memoria de marcaje Este memorat un bloc n memoria de date Memoria de marcaje poate fi o memorie RAM obinuit, adresat de index (s bii)Dac exist 2d cuvinte pe set: cei d bii de ordin inferior ai adresei formeaz deplasamentul cuvntului din set04.05.201534Structura sistemelor de calcul (03-4)Maparea direct (4)

04.05.201535Structura sistemelor de calcul (03-4)Maparea direct (5)

04.05.201536Structura sistemelor de calcul (03-4)Maparea direct (6)Avantaje ale maprii directe:Necesit un numr mai redus de bii pentru fiecare cuvnt din memoria cache Nu necesit memorie asociativDezavantaj al maprii directe:Performanele pot fi reduse dac dou sau mai multe cuvinte cu acelai index, dar marcaje diferite, sunt accesate frecvent 04.05.201537Structura sistemelor de calcul (03-4)Maparea direct (7)Exemplu de proiectare a unei memorii cache cu mapare directProcesor conectat cu o memorie extern adresabil la nivel de octetMagistral de adrese de 32 bii Magistral de date de 64 bii Capacitatea memoriei cache: 256 KB Dimensiunea unui set (bloc): 32 B04.05.201538Structura sistemelor de calcul (03-4)Maparea direct (8)Nr. de seturi: 256 KB / 32 B = 8 K = 213 Capacitatea memoriei de marcaje: 8 K x t biiCapacitatea memoriei de date: 256 KB / 8 B = 32 K cuvinte = 215 cuvinte de 64 biiPentru adresarea unui octet din set: d = 5 bii Pentru selectarea seturilor din memoria de date: s = 13 bii (adresa setului)Marcajul: t = 32 (13 + 5) = 14 biiAdres de 15 bii pentru memoria de date04.05.201539Structura sistemelor de calcul (03-4)Maparea direct (9)

04.05.201540Structura sistemelor de calcul (03-4)Memoria cacheMemoria cachePrincipiul memoriei cacheOrganizarea memoriei cacheFuncionarea memoriei cacheMaparea adreselorMaparea asociativMaparea directMaparea cu seturi asociativeStrategii de nlocuire04.05.201541Structura sistemelor de calcul (03-4)Maparea cu seturi asociative (1)Permite memorarea mai multor blocuri cu acelai index Memoria cache M1 este divizat n b=2s seturiFiecare set poate memora k = 2m blocuri Fiecare set M1(k) este o memorie asociativ Maparea asociativ i cea direct: cazuri speciale ale maprii cu seturi asociativek = 1: mapare directb = 1: mapare complet asociativ04.05.201542Structura sistemelor de calcul (03-4)Maparea cu seturi asociative (2)n practic, se utilizeaz valori mici ale numrului k (ex., k = 4)Permite utilizarea unor memorii RAM pentru memorarea marcajelor Memorie cache cu seturi asociative cu k blocuri set asociativ cu k ci Fiecare bloc de memorie: aceeai structur ca i o memorie cache cu mapare directArhitectura unui set asociativ cu k ci 04.05.201543Structura sistemelor de calcul (03-4)Maparea cu seturi asociative (3)

04.05.201544Structura sistemelor de calcul (03-4)Maparea cu seturi asociative (4)

Memorie cache cu seturi asociative cu dou ci04.05.2015Structura sistemelor de calcul (03-4)45Maparea cu seturi asociative (5)Exemplu de proiectare a unei memorii cache cu seturi asociative Procesor de 32/64 biiMagistral de adrese de 32 bii Magistral de date de 64 bii Capacitatea memoriei cache: 8 KB Dimensiunea unui set (bloc): 8 BMemorie cache cu seturi asociative cu dou ci04.05.201546Structura sistemelor de calcul (03-4)Maparea cu seturi asociative (6)Numr de seturi: 8 KB / 2x8 B = 512 = 29 Pentru adresarea unui octet din set: d = 3 bii Pentru selectarea seturilor din memoria de date: s = 9 bii (adresa setului)Marcajul: t = 32 (9 + 3) = 20 biiMemoria de marcaje: 2 x (512 x 20 bii)Nr. de cuvinte: 8 KB / 2x8 B = 512 Memoria de date: 2 x (512 x 64 bii)

04.05.201547Structura sistemelor de calcul (03-4)Maparea cu seturi asociative (7)

04.05.201548Structura sistemelor de calcul (03-4)Memoria cacheMemoria cachePrincipiul memoriei cacheOrganizarea memoriei cacheFuncionarea memoriei cacheMaparea adreselorMaparea asociativMaparea directMaparea cu seturi asociativeStrategii de nlocuire04.05.201549Structura sistemelor de calcul (03-4)Strategii de nlocuire (1)Dac nu mai exist spaiu n memoria cache, trebuie s se nlocuiasc un setnlocuire aleatorieAlege un set n mod aleatoriu i l nlocuiete cu blocul care conine data nou accesatAvantaj: implementare simplDezavantaj: seturile cu probabilitatea maxim de a fi utilizate din nou au aceeai ans de a fi eliminate ca i cele care nu vor fi utilizate din nou04.05.201550Structura sistemelor de calcul (03-4)Strategii de nlocuire (2)Cel mai puin frecvent utilizat (LFU Least Frequently Used)Pentru fiecare set, se pstreaz un contor al numrului total de utilizriAvantaj: un set utilizat frecvent are o probabilitate mai mare de a rmne n memoria cache Dezavantaj: seturile care au fost ncrcate recent au o valoare mic a contorului04.05.201551Structura sistemelor de calcul (03-4)Strategii de nlocuire (3)Cel mai puin recent utilizat (LRU Least Recently Used)Un set care nu a fost utilizat pentru o perioad lung de timp are o ans mai redus de a fi utilizat n viitorul apropiat Se pstreaz evidena acelor seturi care au fost accesate cel mai recent contorAre performana cea mai bun raportat la cost comparativ cu celelalte metode 04.05.201552Structura sistemelor de calcul (03-4)Rezumat (1)Memoria asociativ permite determinarea rapid a prezenei unui cuvnt n memorieConine o logic suplimentar pentru compararea n paralel a tuturor cuvintelor cu cuvntul cutatPoate fi cu potrivire exact sau cu comparaie, cu organizare fix sau variabil Un procesor asociativ conine o memorie asociativ i poate executa n paralel instruciuni primitiveEste avantajos pentru anumite probleme04.05.201553Structura sistemelor de calcul (03-4)Rezumat (2)Memoria cache este o memorie rapid care pstreaz o parte a instruciunilor i a datelorPermite reducerea numrului de accese la memoria principalEste format dintr-o memorie de date i o memorie de marcajeSe pot utiliza dou strategii de scriere: write-back i write-throughMaparea asociativ a adreselor asigur flexibilitatea maxim, dar necesit o memorie asociativ04.05.201554Structura sistemelor de calcul (03-4)Rezumat (3)Maparea direct a adreselor permite utilizarea unei memorii RAM, dar reduce flexibilitatea prin amplasarea unui bloc ntr-un anumit set fixMaparea cu seturi asociative este cea mai utilizat; permite memorarea ntr-un set a mai multor blocuri cu acelai indexExist diferite strategii de nlocuire a unui set din memoria cache: nlocuire aleatorie; cel mai puin frecvent utilizat; cel mai puin recent utilizat04.05.201555Structura sistemelor de calcul (03-4)Noiuni, cunotine (1)Principiul memoriei asociativeTipuri de memorii asociativeSchema bloc a unei memorii asociativeSchema unei celule de memorie asociativPrelucrarea asociativPrincipiul memoriei cacheOrganizarea memoriei cacheExecuia unei operaii de citire i de scriere ntr-un sistem cu memorie cache04.05.201556Structura sistemelor de calcul (03-4)Noiuni, cunotine (2)Problema coerenei memoriilor cacheStrategii de scriere pentru memoria cachePrincipiul memoriei cache cu maparea asociativ a adreselorPrincipiul memoriei cache cu mapare direct a adreselorPrincipiul memoriei cache cu seturi asociativeStrategii de nlocuire pentru memoria cache04.05.201557Structura sistemelor de calcul (03-4)ntrebriCare sunt avantajele prelucrrii asociative?Care este deosebirea dintre strategia de scriere write-back i strategia write-through la memoria cache?Care sunt avantajele i dezavantajele maprii directe la memoria cache?Cum se realizeaz nlocuirea unui set din memoria cache dac se utilizeaz strategia cel mai puin frecvent utilizat?04.05.201558Structura sistemelor de calcul (03-4)