57
Univerzitet u Novom Sadu Fakultet tehničkih nauka PROJEKTOVANJE MEMORIJE LPRS2

PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Univerzitet u Novom SaduFakultet tehničkih nauka

PROJEKTOVANJE MEMORIJE

LPRS2

Page 2: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Memorija

Sekvencijalni sistem namenjen za smeštanje, čuvanje i izdavanje informacija

Optimizovan broj sprežnih signala (malo žica da bude):Podaci: ulaz i izlazPristup: adresa, CSFunkcije: upis, čitanje

Jedan od najznačajnijih resursa računarskog sistema

Page 3: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Osobine i klasifikacija memorijskih sistema

Lokacija: procesorska(interna), operativna(radna), spoljna

Fizička izvedba: poluprovodnička, magnetna, optička Trajnost podataka: stalna/nestalna,

izbrisiva/neizbrisiva Kapacitet: širina i broj registara (reči) Jedinica prenosa: byte, reč, blok (Flash) Način (metod) pristupa:

Sekvencijalan (FIFO), slučajan (RAM), asocijativan (cache) Performanse:

Vreme pristupa (Latency) – vreme transakcije tj. koliko vremena treba da se upiše/pročita podatak nakon date adrese i komande.

Brzina tj. protok (Bandwidth) – količina podataka u sekundi

Rukovanje - upravljanje memorijom u cilju podrške efikasnosti i zaštiti operativnog sistema

Page 4: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

ORGANIZACIJA MEMORIJE

Skup memorijskih registara i pridruženih kola neophodnih za prenos informacije

M = MUJ + MM (matrična struktura ME)

memorijski modul

upravljanje memorijom upravljački

signali adresa

očitavanje upis

Page 5: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

SRAM – Statički RAM

Tipično 6 tranzistora po ćeliji (bitu) M5 i M6 snažniji tranzistori Postoje i druge realizacije (4T, 8T, 10T SRAM)

Osnovna memorijska ćelija je flip flop ili latch CMOS tehnologija

Page 6: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

SRAM – Statički RAM

Prednosti Brz pristup i jednostavno upravljanje Nema potrebe za osvežavanjem

Mane Velika potrošnja energije Relativno mala gustina pakovanja, veća cena

Page 7: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

NEC 256K-BIT CMOS STATIC RAM32K-WORD BY 8-BIT

Page 8: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

DRAM - Dinamički RAM

Kapacitivna ćelija – tranzistor + kondenzator Osvežavanje – zbog gubitaka Mala potrošnja, velika gustina pakovanja i niska cena Ograničena brzina

Page 9: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Struktura DRAM memorijskog modula

Adrese vrste i adrese kolone se multipleksiraju na iste ulazne linije

RAS - Row Address Strobe CAS - Column Address

Strobe Sprega i kućište 64kx1 DRAM

A0-AN privremeni registar vrste i

dekoder

matrica memorijskih elemenata

izlazni prihv. reg. upravljanje

U / I ulazni

prihv. reg.

privremeni reg. kolone i dekoder

vremenski signali i

upravljanje

interni upravljački

signali RAS

CAS

WE

DO

DIN

SC

Page 10: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Organizacija 64K8 DRAM

RAS

CAS

WE

8 8

adresa prihvatni registar

A0 - A7

RAS

WE

DO

DIN

I

D0

# 1

64K x 1 RAM-ovi

A0 - A7

RAS

WE

DO

DIN

I

D1

# 2

A0 - A7

RAS

WE

DO

DIN

I

D7

# 8

CAS

CAS

. . .

CAS

Page 11: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Vremenski dijagram, čitanje

Adresiranje vrste Adresiranje kolone Izvršenje prenosa podataka

Page 12: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Osvežavanjememorije

Usled pražnjenja kapacitivnosti, neophodno je Očitati napon svakog memorijskog elementa u vrsti Dopuniti kondenzator do originalnog napona Ciklus osvežavanja reda 10 ms

Potencijalni konflikt sa standardnim R/W zahtevima (arbitraža)

Page 13: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Osnovni problem DRAM je njihova sporost u odnosu na centralni procesor

Stoga je razvijen niz DRAM struktura radi ubrzanja pristupa podacima

Odziv DRAM je određen vremenima osvežavanja, adresiranja reda i adresiranja kolone

Nove DRAM strukture nastoje da unapređenjem pristupnih kola ograniče njihov uticaj na isporuku ili prijem podataka EDO, SDRAM, DDR

Tehnike za ubrzanje pristupa DRAM memorijama – tehnološki (interni)

Page 14: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Asocijativne memorije

CAM – Content Addresable MemoryPristup po sadržaju

OZNAKA (KLJUČ) PODATAK

OZNAKA - adresaPODATAK – informacija kojoj se pristupa

Oznaka može biti deo podatka

7 6 5 4 3 2 1 0

0 0 1 1 0 1 1 0

5 4 2 1

podatakmaska

oznaka

Page 15: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

METODI ZA UBRZANJE RADA I PROŠIRENJE ADRESNOG

PROSTORA

Organizacioni metodi – van integrisanog

kola

Brzina pristupa

Memorija sa umetanjem (interleaved)

Skrivena memorija (cache)

Kapacitet

Virtuelna memorija

Page 16: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Memorije sa pristupom ka više reči istovremeno

Osnovni koncept - upotreba većeg broja nezavisnih memorijskih modula koji dele pristupnu magistralu

Memorijske reference se distribuiraju na m modula, koji se međusobno razlikuju u jednom bitu adrese

Preplitanje, umetanje (interleaving)

Page 17: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Primer memorije sa istovremenim pristupom

Page 18: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Realizacije memorije – pregled osobina

Vrsta memorije

Brzina (vreme

pristupa)

Adresabilnost

Stalna memorija Cena

Statički RAM (SRAM) 1 ns Reč ne Visoka

Dinamički RAM (DRAM) 10 ns Blok (~8 reči) ne Srednje

visoka

Flash 10 us Reč čitanje, blok pisanje da Srednje niska

Hard Disk 10 ms Blok (~1k reči) da Niska

Page 19: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Računarski sistem sa skrivenom i virtualnom

memorijom

Učitavati instrukcije i podatke isključivo iz skrivene memorije

(95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor

ako se disku pristupa tek jednom u 20.000 pokušaja(95% + 4.995% + 0.005%) 0.95*5ns + 0.04995*80ns + 0.00005*16000ns = 9.546ns

Centralni Procesor

SkrivenaMemorija

M1

GlavnaMemorija

M2

SpoljnaMemorija

(disk)

M332-bitna adresa

4GB adresni prostor 5 ns 80 ns 16 ms

Page 20: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Skrivena memorija

Mala i brza, smeštena između procesora i operativne memorije

Namenjena prihvatu podataka iz operativne memorije

Cilj dodavanja skrivene memorije je da se srednje vreme pristupa memoriji, viđeno sa strane procesora, približi vremenu pristupa skrivenoj memoriji TAi

Page 21: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Metodi učitavanja podataka u sistemima sa skrivenom

memorijom

Potreban je mehanizam koji će, na osnovu generisane adrese, jednoznačno odrediti lokaciju traženog podatka, kao i način njegovog kasnijeg korišćenja.

Ukoliko je on već u skrivenoj memoriji, čita se sa minimalnim kašnjenjem (pogodak - hit).

U suprotnom (promašaj - miss), podatak se učitava iz operativne memorije i potom upisuje u skrivenu memoriju.

Adrese koje su namenjene skrivenoj memoriji interpretiraju se preko nekog od mehanizama preslikavanja.

Njihov cilj je uspostavljanje adresnih relacija između memorijskih lokacija u skrivenoj i operativnoj memoriji.

Page 22: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Hipotetički procesor sa skrivenom i operativnom

memorijom

Skrivena memorija ima 3 adresna bita, a operativna 10 Pri adresiranju OM, 2 adresna bita najmanje težine se

koriste za adresiranje okteta (byte-a) u okviru standardne 32-bitne reči.

Page 23: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Direktno preslikavanje (mapiranje)

Page 24: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Potpuno asocijativno preslikavanje

Page 25: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

N-pravaca asocijativna

Kompromisna tehnika: direktno preslikavanje sa asocijativnim skupom lokacija

Page 26: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Asociativnost skrivene memorije

Poslagano od najmanje prema najviše složenoj i efikasnoj– Direktno mapirana (Direct mapped)– N-pravaca asocijativna (N-way associative)– Potpuno asocijativna memorija (Fully

associative) Kompromis cene i performanse

Page 27: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Asocijativna memorija za prihvat 4-bitnih oznaka

Metode zamene (oslobađanja) reči Random FIFO LRU

Kompleksno rešenje

Page 28: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Blok dijagram memorije sa dvostrukim

asocijativnim skupom

Page 29: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Asocijativno postavljanje sa nizom od 4 reči

Učitavanje niza (line) Zahteva proširenje prenosnih puteva Drastično pomaže kod prostorne lokalnosti

Page 30: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Metodi zapisa u sistemima sa skrivenom memorijom

Bit validnosti (ispravnosti) se postavlja pri upisu oznake

Dve kopije podataka: SM, OM Zato treba mehanizam koji će obezbediti njihovu

uzajamnu ažurnostTu su moguće tri metode zapisa podataka:

Upis rezultata u glavnu memorijuUpis rezultata u skrivenu memorijuUpis rezultata u obe memorije

Razvijene su dve glavne kategorije rešenjaUpis sa prolazom Upis sa zadrškom

Page 31: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Upis sa prolazom

Write – troughPodatak se uvek upisuje u operativnu

memoriju, a u skrivenu samo ako je data lokacija već tamo

Vreme pristupa OM se može nadoknaditi tehnikom baferovanja upisa (write buffering)

Uz pomoć posebne hardverske strukture koja prima par [Adresa, Podatak]

Time se centralnom procesoru omogućuje nesmetan nastavak rada, paralelno sa zapisom podataka koji izvršava navedena komponenta.

Page 32: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Upis sa zadrškom

Write - back, copy - back U slučaju pogotka zapisuje podatak samo u

skrivenu memorijuPosle promašaja raspoložive su dve opcije

Write - allocate - upis u OM + unos niza reči kojem pripada adresirana lokacija, predupređujući verovatni promašaj

Samo upis u operativnu memoriju Privremeno postojanje dvostrukih podataka

Dirty-bit označava razliku koja se ažurira pri izlasku lokacije iz skrivene memorije

Problem u slučaju višeprocesorskog rada, autonomnih U/I procesora i izvršenja DMA operacija

Page 33: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Primer kontrolera skrivene memorije

Metod asocijativnog postavljanja s=2 i upisom sa prolazom Memorijska reč je 32-bitna, kao i adresa, ukupan kapacitet SM je 256 kB, Dva bita definišu niz od 4 reči, te je prenosni put ka OM proširen na 128 bita Indeks je dug 13 bita, postoji ukupno 213 = 8192 dvostrukih vrednosti (s=2) Memorija za smeštaj 15-bitnih oznaka proširena je sa bitima validnosti

Page 34: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Skrivene memorije za rukovanje instrukcijama i podacima

Često postoji odvojena skrivena memorija za podatke i odvojena skrivena memorija za instrukcije

Razdavajanje jedinstvene skrivene memorije ima dva osnovna cilja:Uvećanje broja pristupa memoriji (dva u ovom slučaju),

čime se u jednom taktu može izvršiti učitavanje instrukcije i operanda

Istovremeno, razdvojene skrivene memorije mogu se uspešnije prilagoditi njihovoj različitoj nameni i prirodi funkcionisanja.

Pri tome su realne mogućnosti uprošćenja strukture i jednostavnije realizacije u odnosu na integrisano rešenje.

Na primer, za instrukcijski cache je dovoljna i implementacija tehnike direktnog mapiranja, pri čemu se u skrivenoj memoriji za podatke može smanjiti broj asocijativnih skupova (4 2)

Page 35: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Performanse skrivene memorije

Srednje vreme pristupa memorijimean access time = hit time + miss rate * miss penalty

– hit time – vreme pristupa skrivenoj memoriji

– miss penalty – vreme dobavke podatka iz operativne memorije u slučaju promašaja

– miss rate – odnos promašaja i ukupnog broja pristupa

Page 36: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Performanse skrivene memorije

Veliki blokovi (linije) pomažu kod prostorne lokalnosti

Page 37: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Performanse skrivene memorije

Male i kompleksnije (asocijativnije) memorije su brze

Na velikim memorijama (L2, L3) asocijativnost ne znači mnogo

Page 38: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Skrivene memorije sa više nivoa

Dodavanje više nivoa skrivene memorije je u funkciji ostvarenja što bržeg pristupa.

Interna skrivena memorija je ultra-brza, s obzirom da je integrisana sa mikroprocesorom u istom kućištu integrisanog kola.

Spoljna skrivena memorija povećava ukupan kapacitet, i služi primarno kao prihvatni bafer internoj memoriji.

Projektovanje ovakvih sistema je značajno složenije u odnosu na prethodno izneto, jer su funkcije podeljene po nivoima.

Page 39: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

L1, L2, L3, L4 ….

Page 40: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Primer architekture

Page 41: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Performanse standardnog računara

Page 42: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Relativni odnos vremena pristupa

Jednostavna instrukcija - 1 takt, 0.33 nsNeka je to u analogiji nešto što traje 1 s

Pristup L1/L2 – 3/14 taktovaUzimanje papira sa stola / iz ormana, 3/14 s

Pristup OM - 250 taktovaOdlazak do automata sa čokoladicama, 4 min

Čitanje diska – ~14 msVečnost, godina i još tri meseca, 15 meseci!

Page 43: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Aktuelno - eDRAM

Haswell and Broadwell

Skylake

Page 44: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

RUKOVANJE MEMORIJOM

Page 45: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Rukovanje memorijomMemory management

Način na koji se raspoloživa memorija ustupa na korišćenje jednom ili više korisnika

Operativni sistemi, procesi, jednokorisnički i višekorisnički OS Dodela dela memorije svakom od korisniku (procesa)

Statička, ne uvek prihvatljiva jer traži velike kapacitete memorije Dinamička, efikasnija jer programi ne moraju stalno biti u

memoriji (unos po potrebi) Moraju se sprečiti modifikacije ili uništavanje sistemske

programske podrške, ili programa jednog od strane drugih korisnika.

U nekim primenama se zahteva da se spreči ilegalan pristup tuđim podacima ili zaštita programa od mogućnosti narušavanja od strane drugih programa istog korisnika.

Istovremeno, često se javlja potreba deljenja izvesnih podataka i čak programa između više korisnika i zadataka.

Page 46: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Mehanizmi dodele memorije Klasifikacija rešenja

Jednoprogramski sistemi: Granični registar koji razdvaja adresni prostor sistema od

korisničkog. Multiprogramski sistemi kod kojih je ceo adresni prostor

korisničke PP istovremeno prisutan u OM: Memorija se deli odgovarajućim tehnikama na particije ili

stranice - partitivnom i straničnom podelom. Tehnika zamene procesa (swapping) ima za cilj dodatno

povećanje iskorišćenja procesora, tako što na disku čuva deo aktivnih procesa koji ne mogu biti napunjeni u radnu memoriju.

Multiprogramski sistemi kod kojih je samo deo adresnog prostora korisničke PP prisutan u operativnoj memoriji, a deo na spoljnoj memoriji U ovom slučaju se radi o virtuelnim memorijama.

Page 47: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Partitivna podela

Svakom procesu se dodeljuje jedna particija Fiksne veličine (statička podela) Koliko treba (dinamička podela)

Kod dinamičke podele potreban je adekvatan zaštitni mehanizam zbog sprečavanja prepisivanja Dva granična registra, da bi se utvrdilo da li je adresna referenca u

okvirima jedne particije U slučaju pokušaja pristupa van dodeljene particije dolazi do

prekida

Operativni sistem

Particija 1

Particija 2

Particija n

Centralni procesor

najniža adresa najviša adresaAB

Page 48: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Fragmentacija

Posledica vremenskog redosleda punjenja – zamene - završetka procesa, kod dinamičke podele particija se u memoriji javljaju neiskorišćene zone (fragmenti), premale da se u njih napuni novi proces.

Zato OS mora povremeno pokrenuti korektivnu proceduru koja vrši sažimanje slobodnih delova - defragmentaciju memorije.

Pri zameni procesa nije obavezno da se proces vrati na isto mesto u radnoj memoriji, što uzrokuje promenu adresnih referenci, kako ka podacima tako i u programskom kodu (adrese grananja). Isto se dešava i prilikom defragmentacije.

Rešenja ovog problema zasnovana su na dva pristupa: Podešavanje adresno osetljivih elemenata Dinamička relokacija

Page 49: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Dinamička relokacija

Početna tačka adresnog prostora procesa ne mora biti vezana za fizičku lokaciju particije

Logička adresa omogućuje se da adresni prostor uvek počne sa adresom 0 Preslikavanje logičke u fizičku adresu pomoću baznog i graničnog

relokacionog registra Fizička adresa = bazni relokacioni registar + efektivna adresa Ništa se ne menja u adresnom prostoru posla, program nije svestan stvarne

fizičke lokacije

Page 50: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Stranična podela

Rešenje kojim se izbegava potreba za kontinualnim memorijskim zonama – bolja iskorišćenost memorije

Adresni prostor procesora se deli na fiksne delove – stranice, a realna OM na delove iste dužine – blokove

Pomoću odgovarajućeg mehanizma za preslikavanja adresa, bilo koja stranica može da se smesti u bilo koji blok.

Stranice ostaju logički kontinualne, ali blokovi ne moraju biti

Preslikavanje stranice u blokove nije vidljivo za korisnika.

Logička adresa je definisana parom [broj stranice, relativna adresa u okviru stranice]

Fizička adresa je definisana sličnim parom broj bloka, relativna adresa u okviru bloka

TPS - Tabela prevođenja (preslikavanja) stranica

Page 51: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Ilustracija dodele stranica memorijskim blokovima

Pre dodele Lista slobodnih blokova: 13, 14, 15, 18, 20 ---------

Posle dodele Lista slobodnih blokova: 20

Memorija Memorija 12 12

Proces A 13 Proces A TPS 13 Stranica A.0 Stranica 0 14 Stranica 0 13 14 Stranica A.1 Stranica 1 15 Stranica 1 14 15 Stranica A.2 Stranica 2 16 Zauzeto Stranica 2 15 16 Zauzeto Stranica 3 17 Zauzeto Stranica 3 18 17 Zauzeto

18 18 Stranica A.3 19 Zauzeto 19 Zauzeto 20 20 21 Zauzeto 21 Zauzeto

0

1000

2000 P1

LOAD 1,2108

015571

0

1000

2000

3000 P2

0

1

5

6

TPS1

0

1000 P3

0

1

2

4

TPS2

2 7

TPS3

0 8

3000

2000

0

LOAD 2,2108

/////////////////////// ///////// OS //////// ///////////////////////

/////////////////////// /SLOBODNO/ 4000

5000

6000

7000

8000

/////////////////////// /SLOBODNO/

////////////////////////

P2 STR0

P2 STR1

P1 STR0

P1 STR1

P2 STR2

P3 STR0

Page 52: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Virtuelna memorija

Mogućnost adresiranja memorijskog prostora koji je znatno veći od raspoložive realne operativne memorije

Koncept se pojavio se 1960. Godine (ATLAS, Univerzitet u Mančesteru)

Adrese koje razvija tekući izvršavani program nisu i adrese koje direktno odgovaraju realnoj memoriji, jer se izabiraju iz mnogo većeg skupa adresa Program razvija virtuelne adrese, iz virtuelnog adresnog prostora Adrese operativne memorije su realne adrese (realni adresni prostor)

Iako procesi mogu da pozivaju samo virtuelne adrese, oni se stvarno izvršavaju samo u realnoj memoriji. To zahteva postojanje mehanizma za preslikavanje virtuelnih adresa u realne adrese u vreme izvršavanja procesa.

Da bi se omogućilo da korisnički virtuelni adresni prostor bude veći od realnog adresnog prostora, mora se obezbediti mehanizam čuvanja programa i podataka na spoljnim memorijama velikog kapaciteta. preslikavanje se vrši na nivou bloka (ne reči ili bajta) v = [ b, o ], format virtualne adrese

Page 53: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Prevođenje virtuelne u realnu adresu

Straničenje Blokovi iste veličine,

stranice Segmentacija

Blokovi različite veličine, segmenti

Segmentirana stranična dodela Kombinacija obe

tehnike Unutar segmenta se

formiraju stranice.

Page 54: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Dodela stranica na zahtev

Format adrese

Format TPS

i – indikator prisustva u OM

Algoritam dinamičkog preslikavanja

Page 55: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Mehanizmi dinamičkog prevođenja virtalnih

adresa

Direktno preslikavanje Asocijativno preslikavanje

REGISTARADRESE TPS

r

r

+ pi oi Vi

b b o a

r+pi

Pi

pi

Obavlja se od strane MMU – Memory Management Unit

Page 56: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Mehanizmi dinamičkog prevođenja virtualnih

adresa

Tehnika kombinovanog direktnog i asocijativnog preslikavanja

MMU sa TLB TLB – Translation

Lookaside Buffer

Page 57: PROJEKTOVANJE MEMORIJE · 2019-09-30 · Adrese vrste i adrese ... (95% + 5%) 0.95 * 5ns + 0.05 * 80ns = 8.75 ns Proširiti virtualni adresni prostor ... Interna skrivena memorija

Interesantni linkovi

Detaljne informacije o velikom broju procesora (www.7-cpu.com)

https://en.wikipedia.org/wiki/Main_Page