Upload
others
View
9
Download
1
Embed Size (px)
Citation preview
Organizacija i arhitektura računala
Poglavlje 4Interna memorija
Karakteristike
Lokacija/položajKapacitetJedinice za prijenosMetode pristupaPerformanseFizikalne modeli memorijeFizikalne karakteristikeOrganizacija
Lokacija... gdje se nalazi
CPUInterna memorijaVanjska/externa memorija
Kapacitet... količina memorije
Veličina memorijske riječi...Veličina određena prirodom organizacijom memorijeBroj riječi koji se može pohranitiili byte-ova
Jedinica za prijenos...
Interna/unutarnjaUobičajeno je strukturirana prema širini podatkovnog dijela
sabirničkog sučelja – 1 riječ
Vanjska/externalUobičajeno je to blok podatka koji je veći od jedne memorijske
riječi.
Adresabilna jedinicaNajmanja lokacija koja se još može jednoznačno adresiratiinterno je to na razini jedne riječijedan “klaster” na HDD-u
Metode pristupa (1) Sekvencijlani
Starta se na početku memorije te se dalje iščitava prema nadolazećem redoslijedu
Vrijeme pristupa ovisi o položaju podatka i prethodnoj pristupljenoj lokaciji
npr. magnetska traka Izravni
Individualni podatkovni blokovi imaju jedinstvene adresePristup lokaciji se ostvaruje kroz skokove u blizini tražene
lokacije uz dodatno sekvencijalno traženje zadane lokacijeVrijeme pristupa ovisi o traženoj lokaciji i prethodno
pristupljenoj lokacijinpr. HDD
Metode pristupa (2)SlučajniIndividualne adrese lokacija identificiraju točno
lokaciju kojoj se želi pristupitiVrijeme pristupa ovisi brzini dekodiranja adrese i
isčitavanja sadržaja lokacijenpr. RAM
AsocijativnoPodatak se locira usporedbom traženog sadržaja sa
sadržajem pretraživanih pohranjenih podatakaVrijeme traženja neovisno je o prethodno nađenoj
lokacijinpr. priručna memorija
Memorijska hijerarhija
Registri/RegistersU CPU-u
Interna ili glavna memorijaMože sadržavati jednu ili više razina priručne
memorije“RAM”
Vanjska memorijaZa masovniju pohranu podataka
Performanse
Vrijeme pristupaVrijeme pristupa između postavljanja adrese i
dobivanja traženog podatka
Vrijeme memorijskog ciklusaVrijeme potrebno sa se memorija/sadržaj
obnovi/oporavi prije slijedećeg ciklusa pristupaVrijeme ciklusa=pristup+oporavak
Brzina prijenosaNajveća brzina kojom se mogu prenijeti podaci
Vrste memorije prema fizičkom ustroju
PoluvodičkeRAM
MagnetskeDiskovi i trake
OptičkeCD & DVD
Druge vrsteBubbleHologram
Fizikalne karakteristike...
Slabljenje signala / gubljenje informaciju u mem. ćeliji
Svojstvo pamćenja nakon gubitka napajanjaIzbrisivostPotrošnja energije
Organizacija
Fizičko ustrojavanje bitova u riječito i nije baš uvječ tako očita stvar...npr. multipleksirani pristup memorijskim
modulima
Sve u svemu...
Koliko je memorije potrebno?Mjera potrebe... KAPACITET
Koliko brza mora biti?Vrijeme je novac
Koliko to košta / troškovi?
Lista hijerarhijskog ustroja...
RegistriL1 CacheL2 CacheGlavna memorija – main memoryDiskovna priručna memorija - Disk cacheDiskOptička mem.Magnetske trake
Hoćete brzu memoriju?
Da li je moguće napraviti računalo da koristi samo statičku memoriju? Rasprava slijedi...
Statička memorija... ovo bi bilo doista brzo!Ako je to tako onda nam ne treba cache
memorijaKako je moguće “keširati” cache memoriju?
Ako je sve to moguće onda će ovo koooštati..
Lokalizirani pristup memoriji...
Tijekom ciklusa izvršavanja programa, memorijski pristupi gravitiraju pristupima unutar uskog memorijskog adresnog raspona -> klasterima memorije
npr. izvršavanje petlji... petlje u programu
Poluvodička memorija
RAM Pogrešno je nazivana i shvaćena da je svaka
poluvodička memorija random acces memorijato nije uvijek tako -> npr. flash memorija ima klasterski
način čitanja i pisanja (slično sektorima HDD-a)
Čitanje i pisanjeOvisnost o napajanju – sposobnost da zapamti
podatak neovisno o napajanjuPrivremena pohrana podatakaStatička ili dinamička
Dinamički RAM
Bitovi su pohranjeni kao u obliku naobja u kondenzatoru Naboj se “troši” – samopražnjenje kondenzatora Potrebno konstantno osvježavanje sadržaja Vrlo jednostavna konstrukcija/strukturna građa Površinski/volumenski vrlo mala Jeftina Potreba za posebnim sklopovljem za osvježavanje
sadržaja! Sporija od statičke memorije Koristi se kao glavna memorija
Statički RAM
Bitovi pohranjeni u flip/flopovima - bistabilima Nema “trošenja/curenja” naboja Nije potrebno osvježavanje memorije Puno kompleksnija kontrukcija u odnosu na DRAM Površinski/volumenski puno veća po jednom bitu – više tranzistora Skuplja od DRAM-a Ne treba sklopovlje za osvježavanje Brža Koristi se kao CACHE memorija
Read Only Memory (ROM)
Trajno spremanje podatakaZa spremanje programa / MicroprogrammingZa spremanje nemjenjivih potprograma / Library
subroutinesSistemski programi / (BIOS)Funkcijski parametri, tablice/matrice,
konstante,...
Vrste ROM-a Sadržaj upisan tijekom izrade ROM u tvornici
Vrlo skupo na mali broj komada Programabilne (samo jednom) - OTP
PROM Potrebna posebna oprema za programiranje - programatori
R/W ali većinom samo “čitane” - Read “mostly” Programirljive i izbrisive (EPROM)
Brisanje se obavlja UV svjetlom Električki izbrisive (EEPROM)
Pisanje traje višestruko dulje nego čitanje Flash memorija
U cijelosti električki izbrisiva
Detaljnjiji prikaz organizacije...
16Mbit-ni čip može se organizirati kao 1M/milijunm adresabilnih lokacija širine riječi od 16 bita 1 čip!
16 1Mbit-nih čipova sa 1-bitnom organizacijom “riječi” isto tako čini 16Mbit-nu memoriju 16 čipova!
16Mbit čip može se organizirati kao 2048 x 2048 x 4bit matrica / ćelija matrice (riječ) ima 4 bita! Reducirani broj adresnih pinova
Multipleksiranje redaka i stupaca mem. matricesamo 11 pina za adresu (211=2048)Dodavanje još jednog adresnog pina poduplava ukupni mogući
adresni prostor (4096x4096x4bit) -> kapacitet raste 4 puta!!!
Osvježavanje sadržaja...
Sklopovi za osvježavanje su u čipu memorije (najčešće)
Ciklus osvježavanja onemogućuje pristup memoriji
Osvježavanje se provodi kroz retke...Isčitavanje i ponovno pisanjeTo traje... oduzima dragocjeno vrijemeUsporava pristup – manje performanse
Tipični 16 Mb DRAM (4M x 4)
Pakiranja/kućišta
Modularnaorganizacija
Modularna organizacija (2)
Mehanizmi ispravke greške
Sklopovska greška – hardware errorto često znači trajnu nepopravljivu grešku
programska/sftware greškaSlučajne, nisu destruktivneNema trajnog oštećenja memorije
Detektiranje greške obavlja se putem Hammingovog postupka korekcije
Funkcija ispravke greške...
Priručna memorija - Cache
Mala količina brze memorijeSmještena je na putu između CPU-a i glavne
memorijeMože biti ugrađena u CPU ili kao poseban modul
Cache operacije – ukratko...
CPU zahtijeva podatak iz memorijske lokacije... prvo provjerava cache da li u njemu postoji traženi
sadržaj tražene mem. lokacije ako postoji uzima ga iz cache-a -> vrlo pristup ako ne postoji tada ga isčitava iz glavne memorije u
cache memoriju i nakon toga prosljeđuje se CPU-u Cache sadrži oznake/tagove sadržaja u svrhu
identificiranja koji je blok podataka iz glavne memorije u kojem dijelu cache memorije
Dizajn cache memorije
Koja količina – kapacitet?Funkcije mapiranjaAlgoritmi zamjene sadržaja cache memorije
novim blokovima podataka iz gl. memorijepolitika pisanja u cache memoriju – nimalo
jednostavna i trivijalna stvar!Veličina korištenih blokova podatakaBroj cache blokova
Veličina je ovdje doista bitna/važna
Trošak/troškoviPuno cachea puno košta
BrzinaViše cachea znači i bolje performanse obrade (ali
samo do neke granice)Provjera i traženje određenog sadržaja u cacheu
zahtijeva vrijeme!!!Puno cachea – puno vremena!
Tipična organizacija cachememorije
Funkcije mapiranja
Cache kapaciteta 64kBVeličina bloka je 4 byte-anpr. cache čini 16k (214) blokova veličine 4 bytea
16MBytea glavne memorije24 bit adresa(224=16M)
Izravno mapiranje
Svaki blok glavne memorije mapirn se samo jednim i egzaktnim dijelom cache memorijenpr. ako je traženi blok gl. memorije u cache-u tada se on nalazi
na točno određenom mjestu. Adresa se sastoji od dva dijela. LSB w bitova identificiraju/definiraju “jedinstvenu” riječ. MSB s bitova definiraju jedan mem. blok MSB bitovi su podijeljeni na:
cache polje pretraživanja / dio cache linije – r i ... oznaku/tag – s-r dio MSB-a
Izravno mapiranjeAdresna strukturaOznaka s-r Cache linija/polje r
Jedinstvena riječ w
8 14 2
24 bit-na adresa 2 bit identifikator riječi (4 byte po bloku) 22 bit-ni identifikator bloka
8 bit tag (=22-14)14 bit polje/linija
Ne postoje dva bloka u istom pilju sa istom oznakom Cache se pretražuje pretraživanjem polja/linije i provjerom
oznake/tag
Izravno mapiranjeTablica Cache polja/linije
Cache linija Sadržaj glavne memorije0 0, m, 2m, 3m…2s-m1 1,m+1, 2m+1…2s-m+1
m-1 m-1, 2m-1,3m-1…2s-1
Cache sa direktnim mapiranjemOrganizacijska struktura
Izravno mapiranje - primjer
Izravno mapiranjeprednosti i mane...
JednostavnostJeftinoFiksne lokacije za svaki blok memorijeAko program konstantno pristupa dvama blokovima
koji su mapirani na isto polje/liniju cache-a tada su promašaji zahvata iz cache-a vrlo zastupljeni/veliki.
Asocijativno mapiranje
Blok iz glavne memorije može se pohraniti u bilo koji dio cache memorije
Memorijska adresa interpretira se i kao oznaka i kao jedinstvena riječ
na ovaj način oznaka jednonačno i jedinstveno identificira blok glavne memorije
Prilikom pretraživanja svaka oznaka iz linije/polja se ispitiva u svrhu poklapoanja pretrage
Ovaj način cache-iranja je prezahtijevan
Potpuni acosijativni cacheoraganizacija...
Asocijativno mapiranje - primjer
Oznaka 22 bitRiječ2 bit
Adresna struktura asocijativnog mapiranja
22 bit-na oznaka pohranjena je sa svakim 32-bitnim blokom podataka
Uspoređuje se polje sa oznakom/tagom sa zadanim tagom za uspješan pronalazak
LSB 2-bita adrese identificiraju koja 16-bitna riječ je tražena iz 32-bitnog bloka podataka
e.g.Adresa Oznaka Podatak Cache linijeFFFFFC FFFFFC 24682468 3FFF
Skupno asocijativno mapiranje
Cache je podijeljen na niz podskupova/grupa blokova Svaki skup sadrži broj linije cachea Zadani blok mapira se prema bilo kojoj cache liniji u
zadanoj skupininpr. blok B može biti u bilo kojoj liniji iz skupa “i”
npr. 2 linije po skupini2-way asocijativno mapiranjeZadani blok može biti u bilo kojoj od dvije cache linije u samo
jednoj skupini
Skupno asocijativno mapiranjeprimjer...
13 bit-ni broj skupaBroj bloka u glavnoj memoriji je modulo 213
npr. 000000, 00A000, 00B000, 00C000 …mapirani su istoj skupini
2-Way skupni asocijativni cache – Organizacija...
Skupno asocijativno mapiranjeAdresna struktura
Dio riječi koji se odnosi na “skup” se koristi kod određivanja gdje se traži podatak
Uspoređuje se “tag” da bi se dobio uvod da li je podatak pronađen (hit) ili ne (miss)
npr.Adresa Oznaka Podatak Set number1FF 7FFC 1FF 12345678 1FFF001 7FFC 001 11223344 1FFF
Oznaka 9 bit Skup 13 bitRiječ2 bit
2-Way skupno asocijativno mapiranje – Primjer....
Algoritmi zamjene blokova (1)Izravno mapiranje
Nemamo puno izbora...Svaki blok mapiran je samo u jednoj liniji/pilju
cache-aZamjena tog poja/linije
Algoritmi zamjene blokova (2)Asocijativni i skupni asocijativni cache Algoritam implementiran na razini hardwarea (brzina) Najmanje korišteni u zadnje vrijeme / Least Recently Used (LRU)
npr. u 2-way skupnom asocijativnom traženjuKoji je od 2 bloka LRU?!?
First-in-first-out (FIFO)zamjena bloka koji stoji u cache-u najduže od svih
Najmanje korišteni, inače - Least-frequently-used (LFU)zamjeni blok koji se najmanje koristio – imao najmanji broj
“pogodaka” Slučajno dređivanje koji će se blok u cache-u zamijeniti
Politika/meotde pisanja...
Cache blok se ne smije prepisati novim podacima ukoliko sadržaj glavne memorije nije “najsvježiji”
Više procesorski sustavi mogu imati cachestrukturu taku da svaki procesor ima svoj cache
I/O jedinice mogu izravno adresirati glavnu memoriju -> npr. DMA pristup
Prepisivanje – Write Through
Svaka akcija zapisivanja osim u cache-u zapisuje se istovremeno i u glavnoj memoriji.
Višeprocesorski sustavi mogu nadzirati promet glavne memorije u svrhu očuvanja “svježine” podataka u lokalnom cacheu
To generira puno prometa.... Usporava pisanje podataka općenito
Neadekvatna usklađenost sadržaja cache-a i gl. memorije uzrokuje “probleme” u rač. sustavima
Povratno pisanje – Write Back
Obnavljenje podataka se obavlja samo u cache memoriji “Update” bit za cache polje/liniju postavljen je samo
onda ako je potrebna obnova podataka Ako je potrebno zamijeniti blok, on se zapisuje ponovo
nazad u memoriju ali samo ako je “update” bit postavljen.
Ostale cache linije ostaju nesinkronizirane sa glavnom memorijom.
I/O jedinice moraju pristupati gl. memoriji kroz cachememoriju
15% memorijskih referenci obuhvaća akcija zapisivanja kroz cache (north-bridge mem write action’s)
Novije RAM tehnologije (1)
Basic/”obični” DRAM ostao je isti po svojoj strukturi od pojave prvih RAM čipova
Enhanced/poboljšani DRAMSadrži male količine i SRAM-aSRAM drži zadnje pročitane podatke (neka vrsta
cache-a!)
Cache DRAMza svrhe gdje su potrebne veće količine SRAM-akoristi se kako cache ili serijski “buffer”
Novije RAM tehnologije (2)
Synchronous DRAM (SDRAM) na njima se temelje današnji DIMM-oviPristup im je sinkroniziran putem vanjskog izvora
takt-signalaAdresira se kao i svaki RAMBudući da SDRAM prenosi podatke prema
sistemskom taktu, CPU tada zna kada će podaci biti spremni
CPU ne treba čekati, može raditi nešto drugoBurst-mode omogućava SDRAM-u prijenos podataka
u blokovima – ubrzanje pristupa podacima
SDRAM
DDR RAM