Organizacija i arhitektura računala - mrkve.etfos.hrmrkve.etfos.hr/pred/orasje/ar/pred05.pdf ·...

Preview:

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

Recommended