Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple. Memoria cache Memoria virtuală

Similar documents
9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

Procesarea Imaginilor

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

Tipuri și nivele de paralelism Clasificarea arhitecturilor paralele Arhitecturi vectoriale Arhitecturi SIMD Arhitecturi sistolice

Metrici LPR interfatare cu Barix Barionet 50 -

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Versionare - GIT ALIN ZAMFIROIU

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Subiecte Clasa a VI-a

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

GHID DE TERMENI MEDIA

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

Mecanismul de decontare a cererilor de plata

Sisteme de operare 19. Gestiunea memoriei

Modalitǎţi de clasificare a datelor cantitative

Memorii în Sisteme Embedded. Tipuri de memorii. Arhitectura memoriilor.

Class D Power Amplifiers

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

SIMULAREA SISTEMULUI IERARHIC DE MEMORIE ÎN ARHITECTURI DE TIP MULTIPROCESOR CU MEMORIE PARTAJATĂ

Multicore Multiprocesoare Cluster-e

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

Programare în limbaj de asamblare 16. Formatul instrucţiunilor (codificare, moduri de adresare).

The First TST for the JBMO Satu Mare, April 6, 2018

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

Auditul financiar la IMM-uri: de la limitare la oportunitate

Managementul referinţelor cu

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER

4. Asignarea adreselor IP

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC


COMUNICAȚII INFORMATIZARE

Documentaţie Tehnică

1.1. SCHEMA BLOC A UNUI MICROSISTEM. ROLUL BLOCURILOR COMPONENTE, FUNCŢIONARE DE ANSAMBLU.

Posibilitati de realizare a transferurilor de date

ALGORITMI DE GESTIUNE A PAGINILOR DE MEMORIE

CERERI SELECT PE O TABELA

MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII

Arhitectura sistemelor de calcul paralel

SIMULATORUL PCSPIM-CACHE

Propuneri pentru teme de licență

Transmiterea datelor prin reteaua electrica

Mihai ROMANCA. Microprocesoare şi microcontrolere

Lucrarea de laborator nr. 4

X-Fit S Manual de utilizare

Olimpiad«Estonia, 2003

INSTRUMENTE DE MARKETING ÎN PRACTICĂ:

Laborator 07. Procesorul MIPS versiune pe 16 biți, cu un ciclu de ceas pe instrucțiune

Evoluția pieței de capital din România. 09 iunie 2018

ARHITECTURA CALCULATOARELOR LABORATOR PROGRAMĂ ANALITICĂ OBIECTIVE CURS. Obiective educaţionale: Profesor Mihai ROMANCA

CURS 9 SEMNALE LA INTERFAŢA UC CU EXTERIORUL CONTINUARE. Şef lucr. dr. ing. Dan FLOROIAN

Baze de date distribuite și mobile

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL PCSPIM UAL DPE. Fig.1. Structura unui sistem de calcul

INTEROGĂRI ÎN SQL SERVER

7. INTERFAȚA ATA Prezentare generală a interfeței ATA. Sisteme de intrare/ieșire și echipamente periferice

Eficiența energetică în industria românească

2. PORTUL PARALEL ÎMBUNĂTĂŢIT

DECLARAȚIE DE PERFORMANȚĂ Nr. 101 conform Regulamentului produselor pentru construcții UE 305/2011/UE

2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router

Cuprins Neculoiu Paul

Candlesticks. 14 Martie Lector : Alexandru Preda, CFTe

Capete terminale şi adaptoare pentru cabluri de medie tensiune. Fabricaţie Südkabel Germania

O abordare Data Mining pentru detectarea accesului neautorizat la baza de date.

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

Printesa fluture. Мобильный портал WAP версия: wap.altmaster.ru

Cristina ENULESCU * ABSTRACT

Pentru fiecare dintre următorii itemi alegeți litera corespunzătoare răspunsului corect.

2.3 PROTOCOLUL DE MESAJE DE CONTROL PENTRU INTERNET (ICMP)

UNITATEA CENTRALĂ DE PRELUCRARE CPU12

REAL TIME QUALITY CONTROL OF THE HEATSET OFFSET PRINTING PROCESS

SISTEME CU CIRCUITE INTEGRATE DIGITALE (EA II) ELECTRONICĂ DIGITALĂ (CAL I) Prof.univ.dr.ing. Oniga Ștefan

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL QTSPIM UAL DPE. Fig.1. Structura unui sistem de calcul

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }

CURS 2. Reprezentarea numerelor intregi si reale. Sistem de numeraţie

The driving force for your business.

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

Reţele Neuronale Artificiale în MATLAB

Buletinul AGIR nr. 3/2012 iunie-august. Assis. Eng. Ciprian AFANASOV PhD. University "Ştefan cel Mare" Suceava

Ce pot face pe hi5? Organizare si facilitati. Pagina de Home

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

STUDY EVOLUTION OF BIT B ERRORS AND ERRORS OF PACKAGES IN I

6.1. Tranzacţii O tranzacţie (transaction), este o unitate logică de

Universitatea Lucian Blaga din Sibiu Facultatea de inginerie Hermann Oberth Catedra de Calculatoare şi automatizări

Tema 1 - Transferuri de date DMA intr-o arhitectura de tip Cell

INPUT MODELLING USING STATISTICAL DISTRIBUTIONS AND ARENA SOFTWARE

Update firmware aparat foto

SAG MITTIGATION TECHNICS USING DSTATCOMS

Universitatea Politehnica București. Facultatea de Electronică, Telecomunicații și Tehnologia Informației

Data Flow Diagram. Lt.col. Otilia PÎRLOG Ministerul Apărării Naţionale

Lucrarea Nr.1. Sisteme de operare. Generalitati

4.7. Comprimarea/decomprimarea imaginilor video

CERERI SELECT PE MAI MULTE TABELE

ISBN-13:

Implementarea paralelismului la nivel de instructiune în microprocesoarele superscalare

Generatorul cu flux axial cu stator interior nemagnetic-model de laborator.

Transcription:

Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple Memoria cache Memoria virtuală 1

Memorii RAM: datele sunt identificate cu ajutorul unor adrese unice Memorii asociative: datele sunt identificate prin conținutul acestora memorii adresabile prin conținut (CAM Content Addressable Memory) Memorie asociativă cu n cuvinte: timpul de căutare a unei date este independent de n Toate cuvintele din memorie pot fi comparate în paralel cu cuvântul căutat 2

Cost mai ridicat decât al memoriilor RAM Exemple de utilizare: Memorii cache translatarea adreselor Recunoașterea modelelor Două tipuri de memorii asociative: Cu potrivire exactă: datele sunt identificate pe baza egalității cu o cheie Cu comparație: utilizează operatori relaționali 3

Organizarea logică: fixă sau variabilă Organizare fixă: Un cuvânt este împărțit în segmente fixe Segment cheie: fiecare bit al acestui segment trebuie utilizat pentru interogare Organizare variabilă: Un cuvânt poate fi împărțit în segmente fixe Orice parte a unui segment poate fi utilizată pentru interogare complet interogabilă 4

5

Celulă de memorie asociativă Sunt necesare în jur de 10 tranzistoare 6

Prelucrare asociativă Executată cu un procesor asociativ Procesorul asociativ conține o memorie asociativă și o logică de control suplimentară Memoria asociativă poate executa în paralel instrucțiuni primitive Exemple de instrucțiuni executate de o memorie asociativă: SET: setarea la 1 a tuturor biților de potrivire 7

COMPARE: comparații paralele ale argumentului mascat cu toate cuvintele READ: transmiterea pe liniile de date a cuvintelor care au biții de potrivire setați WRITE: scrierea în paralel a argumentului mascat în toate cuvintele care au biții de potrivire setați REPORT: raportarea unității centrale dacă există o potrivire după o căutare precedentă 8

Avantajele prelucrării asociative: Viteza ridicată: pentru anumite probleme, timpul de execuție se poate reduce cu un factor de n Un mod mai natural de a soluționa anumite probleme de calcul Operațiile sunt executate local Aplicații: prelucrarea imaginilor; urmărirea semnalelor radar; inteligența artificială în timp real 9

Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple Memoria asociativă Memoria virtuală 10

Organizarea memoriei cache Funcționarea memoriei cache Maparea adreselor Maparea asociativă Maparea directă Maparea cu seturi asociative Strategii de înlocuire 11

Memorie rapidă, utilizată temporar pentru păstrarea unei porțiuni a datelor și instrucțiunilor în vederea utilizării 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 satisfăcute de memoria cache proprietatea de localitate a referințelor 12

Amplasare: între memoria principală și UCP Conține cópii ale unor blocuri din memoria principală Dacă un cuvânt solicitat de UCP se află în memoria cache, nu va fi necesar accesul la memoria principală mai lentă Îmbunătățirea performanței: amplasarea memoriei cache în același circuit integrat ca și procesorul 13

Principiul memoriei cache Funcționarea memoriei cache Maparea adreselor Maparea asociativă Maparea directă Maparea cu seturi asociative Strategii de înlocuire 14

Cuvintele de memorie: păstrate într-o memorie de date Sunt grupate în pagini blocuri sau linii Fiecare bloc al memoriei cache este marcat cu adresa sa de bloc marcaj ( tag ) Colecția adreselor de marcaj asignate momentan memoriei cache: păstrată într-o memorie de marcaje 15

Structura de bază a unei memorii cache 16

Principiul memoriei cache Organizarea memoriei cache Maparea adreselor Maparea asociativă Maparea directă Maparea cu seturi asociative Strategii de înlocuire 17

Atunci când UCP generează o cerere de citire: Cererea este trimisă la memoria cache Dacă cuvântul nu este găsit în memoria cache: cuvântul solicitat este furnizat de memoria principală Dacă cuvântul este găsit în memoria cache: nu este necesar accesul la memoria principală 18

Execuția unei operații de citire 19

Atunci când UCP generează o cerere de scriere: Cererea este trimisă la memoria cache Dacă cuvântul nu este găsit în memoria cache: se încarcă o copie a blocului în care se află cuvântul din memoria principală în memoria cache Se execută o operație de scriere Dacă cuvântul este găsit în memoria cache: se execută o operație de scriere 20

Execuția unei operații de scriere 21

Poate apare inconsistența datelor: Data din memoria cache diferă de data din memoria principală cu aceeași adresă O inconsistență temporară este acceptabilă Problema coerenței memoriilor cache: prevenirea utilizării improprii a datei vechi Sisteme multi-procesor Sisteme uni-procesor 22

Strategii de scriere: write-back, writethrough Strategia write-back Fiecărui cuvânt din memoria cache i se asociază un bit de modificare ( dirty bit ) Toate modificările asupra unui cuvânt sunt efectuate în memoria cache Dacă un cuvânt trebuie eliminat și bitul de modificare este setat: cuvântul este actualizat în memoria principală 23

Avantaj: Cuvântul din memoria cache poate fi modificat de mai multe ori Dezavantaje: Memoria cache și memoria principală pot fi temporar inconsistente Se complică recuperarea în cazul defectelor de sistem 24

Strategia write-through: Cuvântul este modificat atât în memoria cache, cât și în memoria principală Avantaje: Implementare simplă Memoria principală are întotdeauna date consistente cu memoria cache Dezavantaj: Încetinește UCP 25

Principiul memoriei cache Organizarea memoriei cache Funcționarea memoriei cache Maparea asociativă Maparea directă Maparea cu seturi asociative Strategii de înlocuire 26

Translatarea adresei de memorie specificată de UCP în locația cuvântului din memoria cache Tipuri de mapare a adreselor: Mapare asociativă Mapare directă Mapare cu seturi asociative Pentru exemple: Memorie principală de 64 K cuvinte (16 biți) Memorie cache de 256 cuvinte 27

Principiul memoriei cache Organizarea memoriei cache Funcționarea memoriei cache Maparea directă Maparea cu seturi asociative Strategii de înlocuire 28

Memorie cache cu asociativitate totală Adresa și conținutul sunt memorate ca și cuvinte separate în memoria cache Un cuvânt de memorie poate fi memorat în orice locație a memoriei cache Organizarea: combinație între o memorie asociativă și o memorie RAM Doar adresele cuvintelor sunt memorate în partea asociativă 29

30

Principiul memoriei cache Organizarea memoriei cache Funcționarea memoriei cache Maparea asociativă Maparea cu seturi asociative Strategii de înlocuire 31

Se utilizează memorii RAM în locul memoriilor asociative se reduce costul Considerăm că memoria cache M 1 este împărțită în b = 2 s regiuni M 1 (0), M 1 (1),, M 1 (b-1) seturi Memoria principală M 2 este divizată în blocuri Fiecare bloc M 2 (i) din M 2 este amplasat într-un set M 1 (j) din M 1 Adresa j a setului: j = i mod b 32

Considerăm că un set al memoriei cache conține un singur cuvânt Adresele de memorie sunt divizate în două părți: Index: s biți de ordin inferior ai adresei din memoria principală identifică setul memoriei cache care poate memora blocul Marcaj: t biți de ordin superior rămași ai adresei din memoria principală 33

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 obișnuită, adresată de index (s biți) Dacă există 2 d cuvinte pe set: cei d biți de ordin inferior ai adresei formează deplasamentul cuvântului din set 34

35

36

Avantaje ale mapării directe: Necesită un număr mai redus de biți pentru fiecare cuvânt din memoria cache Nu necesită memorie asociativă Dezavantaj al mapării directe: Performanțele pot fi reduse dacă două sau mai multe cuvinte cu același index, dar marcaje diferite, sunt accesate frecvent 37

Exemplu de proiectare a unei memorii cache cu mapare directă Procesor conectat cu o memorie externă adresabilă la nivel de octet (B) Magistrală de adrese de 32 biți Magistrală de date de 32 biți Dimensiunea memoriei cache: 1 MB Dimensiunea unui set: 32 B 38

Nr. de seturi: 1 MB / 32 B = 2 20 B / 2 5 B = 2 15 Selectarea seturilor din memoria de date: s = 15 (biți pentru adresa setului) Adresarea unui B din setul de 32 B: d = 5 Marcajul: t = 32 (15 + 5) = 12 Dimensiunea memoriei de marcaje: 2 15 x 12 biți Nr. de cuvinte din memoria de date: 1 MB / 4 B = 2 20 B / 2 2 B = 2 18 cuvinte de 32 biți Adresă de 18 biți pentru memoria de date 39

40

Principiul memoriei cache Organizarea memoriei cache Funcționarea memoriei cache Maparea asociativă Maparea directă Strategii de înlocuire 41

Permite memorarea mai multor blocuri cu același index Memoria cache M 1 este divizată în b = 2 s seturi Fiecare set poate memora k = 2 m blocuri Fiecare set M 1 (k) este o memorie asociativă Maparea asociativă și cea directă: cazuri speciale ale mapării cu seturi asociative k = 1: mapare directă b = 1: mapare complet asociativă 42

În practică, se utilizează valori mici ale numărului k (ex., k = 4) Permite utilizarea unor memorii RAM pentru memorarea marcajelor Memorie cache cu seturi asociative cu k blocuri set asociativ cu k căi Fiecare bloc de memorie: aceeași structură ca și o memorie cache cu mapare directă Arhitectura unui set asociativ cu k căi 43

44

Memorie cache cu seturi asociative cu două căi 45

Exemplu de proiectare a unei memorii cache cu seturi asociative Procesor de 32/64 biți Magistrală de adrese de 32 biți Magistrală de date de 64 biți Dimensiunea memoriei cache: 2 MB Dimensiunea unui set: 64 B Memorie cache cu seturi asociative cu două căi 46

Nr. de seturi: 2 MB / 2x64 B = 2 21 B / 2 7 B = 2 14 Selectarea seturilor din memoria de date: s = 14 (biți pentru adresa setului) Adresarea unui B din setul de 64 B: d = 6 Marcajul: t = 32 (14 + 6) = 12 Dimens. memoriei de marcaje: 2 x (2 14 x 12 biți) Nr. de cuvinte din blocurile memoriei de date: 2 MB / 2x8 B = 1 MB / 8 B = 2 20 B / 2 3 B = 2 17 Memoria de date: 2 x (2 17 x 64 biți) 47

48

Principiul memoriei cache Organizarea memoriei cache Funcționarea memoriei cache Maparea adreselor Maparea asociativă Maparea directă Maparea cu seturi asociative 49

Dacă nu mai există spațiu în memoria cache, trebuie să se înlocuiască un set Înlocuire aleatorie Alege un set în mod aleatoriu și îl înlocuiește cu blocul care conține data nou accesată Avantaj: implementare simplă Dezavantaj: seturile cu probabilitatea maximă de a fi utilizate din nou au aceeași șansă de a fi eliminate ca și cele care nu vor fi utilizate din nou 50

Cel mai puțin frecvent utilizat (LFU Least Frequently Used) Pentru fiecare set, se păstrează un contor al numărului total de utilizări Avantaj: un set utilizat frecvent are o probabilitate mai mare de a rămâne în memoria cache Dezavantaj: seturile care au fost încărcate recent au o valoare mică a contorului 51

Cel mai puțin 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 păstrează evidența acelor seturi care au fost accesate cel mai recent contor Are performanța cea mai bună raportată la cost comparativ cu celelalte metode 52

Memoria asociativă permite determinarea rapidă a prezenței unui cuvânt în memorie Conține o logică suplimentară pentru compararea în paralel a tuturor cuvintelor cu cuvântul căutat Poate fi cu potrivire exactă sau cu comparație, cu organizare fixă sau organizare variabilă Un procesor asociativ conține o memorie asociativă și poate executa în paralel instrucțiuni primitive Este avantajos pentru anumite probleme 53

Memoria cache este o memorie rapidă care păstrează o parte a instrucțiunilor și a datelor Permite reducerea numărului de accese la memoria principală Este formată dintr-o memorie de date și o memorie de marcaje Se pot utiliza două strategii de scriere: write-back și write-through Maparea asociativă a adreselor asigură flexibilitatea maximă, dar necesită o memorie asociativă 54

Maparea directă a adreselor permite utilizarea unei memorii RAM, dar reduce flexibilitatea prin amplasarea unui bloc într-un anumit set fix Maparea cu seturi asociative este cea mai utilizată; permite memorarea într-un set a mai multor blocuri cu același index Există diferite strategii de înlocuire a unui set din memoria cache: înlocuire aleatorie; cel mai puțin frecvent utilizat; cel mai puțin recent utilizat 55

Principiul memoriei asociative Tipuri de memorii asociative Schema bloc a unei memorii asociative Schema unei celule de memorie asociativă Prelucrarea asociativă Principiul memoriei cache Organizarea memoriei cache Execuția unei operații de citire și de scriere într-un sistem cu memorie cache 56

Problema coerenței memoriilor cache Strategii de scriere pentru memoria cache Principiul memoriei cache cu maparea asociativă a adreselor Principiul memoriei cache cu mapare directă a adreselor Principiul memoriei cache cu seturi asociative Strategii de înlocuire pentru memoria cache 57

1. Care sunt avantajele prelucrării asociative? 2. Care este deosebirea dintre strategia de scriere write-back și strategia writethrough la memoria cache? 3. Care sunt avantajele și dezavantajele mapării directe la memoria cache? 4. Cum se realizează înlocuirea unui set din memoria cache dacă se utilizează strategia cel mai puțin frecvent utilizat? 58