You are on page 1of 12

Organizacja i hierarchia pamici cz 1 z 5

Architektura komputerw 2, IDZ101


Krzysztof Nowak
Sawomir Krel

1. Pami podrczna organizacja i obsuga


Coraz szybciej taktowane procesory wymagaj coraz to szybszych ukadw pamiciowych.
Czas przetwarzania prostego rozkazu nie jest zwykle duszy od pojedynczego cyklu
zegarowego, a obecnie procesory przetwarzaj ich nawet po kilka w jednym cyklu. Pami
operacyjna komputerw PC zbudowana jest ze stosunkowo tanich ukadw scalonych
DRAM, ktre mimo postpu technologicznego cechuj si czasem dostpu wikszym o rzd
wielkoci. Pracujcy z du prdkoci procesor musiaby zbyt dugo oczekiwa na kolejn
porcj danych. Istniej jednak typy pamici jak SRAM (static RAM), mogce sprosta takim
wymaganiom, ale ze wzgldw ekonomicznych ( s kilkanacie razy drosze) nie opaca si z
nich zbudowa caej pamici operacyjnej.
W celu usunicia tego ograniczenia wprowadzona zostaa pami podrczna
stanowica bufor o krtkim czasie dostpu (kilka ns lub kilkaset ps). Rozwizanie jest
uzasadnionym kompromisem dua i tania pami gwna wspierana jest przez ma, szybk
i nie a tak drog pami podrczn (cache). Dalsze rozwinicie tej idei stanowi kaskada
pamici podrcznych. Kolejne poziomy (L od Levels) s coraz wiksze i coraz wolniejsze.
Stosowane praktycznie rozwizania nie wyszy nigdy poza poziom L3.

Efektywne wykorzystanie pamici podrcznej nie byoby moliwe, gdyby nie pewna
cenna waciwo przetwarzanego przez komputery PC kodu, ktry jest stosunkowo spjny.
Procesor operuje przez duszy czas w tym samym rejonie pamici, a nie skacze chaotycznie
po caym jej obszarze. Przetwarzane rozkazy uoone s w pamici sekwencyjnie (nie liczc
rozgazie i skokw), a bloki danych te nie s wiadomie rozpraszane po caej przestrzeni
adresowej. Rozwizania teoretyczne i symulacje doprowadziy do wyznaczenia przyblionych
rozmiarw takiego obszaru. Mona przyj z prawdopodobiestwem rwnym 0,9 i
wikszo odwoa do pamici mieci si bdzie w bloku nie przekraczajcym wymiarw
16KB.
W tabeli poniej zestawiono rozmiary pamici podrcznej kilku procesorw.
Typ procesora L1 instrukcje

L1 dane

L2 instrukcja

L2 dane

L3

Intel Pentium (75)


Intel Pentium II
Intel Pentium IIIS

8KB
16KB
16KB

8KB
16KB
16KB

--512KB

---

----

Intel Pentium M
735
Intel Core 2 Duo
P8400
Intel Core i5 750
Intel Core i7-920

64KB

2MB

32KB dla kadego rdzenia

3MB dla kadego rdzenia

--

64KB dla kadego rdzenia


64KB dla kadego rdzenia

256KB dla kadego rdzenia


256KB dla kadego rdzenia

8MB
8MB

1.1

Hierarchia pamici

Ograniczenia przy projektowaniu pamici mona podzieli na trzy pytania: ile? Jak szybko?
Za ile?
Pytanie ile? jest wci w pewnym stopniu otwarte. Jeli dysponujemy okrelon
pojemnoci, to z pewnoci pojawi si zastosowanie, w ktrym pojemno ta zostanie
wykorzystana. Odpowied na pytanie Jak szybko? jest w pewnym sensie atwiejsza. Aby
osign najwiksz wydajno, pami musi by w stanie nady za procesorem. Mwic
prociej znaczy to, i nie chcielibymy, aby procesor wykonujc rozkazy, czeka na kolejne
rozkazy lub argumenty. Co si tyczy ostatniego pytania Za ile? w przypadku praktycznego
systemu koszt pamici musi pozostawa w rozsdnej relacji do kosztw pozostaych
skadnikw.
Istniej wzajemne zalenoci pomidzy podstawowymi parametrami pamici (midzy
kosztem pojemnoci i czasem dostpu). Przy konstruowaniu systemw pamiciowych s
wykorzystywane rne technologie. Jeli rozpatrujemy dostpne technologie, to mamy do
czynienia z nastpujcymi zalenociami:
 mniejszy czas dostpu wikszy koszt na bit;
 wiksza pojemno mniejszy koszt na bit;
 wiksza pojemno wikszy czas dostpu;
Dylemat przed ktrym stoi grupa projektantw jest jasny. Chcieliby wykorzystywa
technologie pamici, ktre umoliwiaj wytworzenie pamici o duej pojemnoci, poniewa
po pierwsze s one potrzebne, a po drugie z powodu mniejszego kosztu na bit. Jednak aby
osign oczekiwan wydajno, projektanci wykorzystuj drogie i stosunkowo maej
pojemnoci pamici o krtkim czasie dostpu.
Osignicie kompromisu nie polega na wyborze pojedynczego zespou pamici czy
te okrelonej technologii, lecz na wykorzystaniu hierarchii pamici.

Obserwujc powysz hierarchi z gry do dou, obserwujemy nastpujce zjawiska:


a. malejcy koszt na bit;
b. rosnca pojemno;
c. rosncy czas dostpu;
d. malejca czstotliwo dostpu do pamici przez procesor;
Tak wic mniejsze, drosze i szybsze pamici s uzupenianie przez pamici wiksze, tasze i
powolne. Kluczem do sukcesu przy projektowaniu organizacji jest ostatnie z wymienionych

zjawisk, a mianowicie zmniejszenie czstotliwoci dostpu. Jeliby pami moga by


zorganizowana przy uwzgldnieniu zjawisk (a), (b) i (c) oraz jeli dane i rozkazy byyby
rozmieszczone w pamici przy uwzgldnieniu (d), to mona wycign intuicyjnie, e taki
schemat zredukowaby czne koszty, pozostawiajc okrelony poziom wydajnoci.
przykad:
Zamy, e procesor ma dostp do dwch poziomw pamici. Poziom pierwszy zawiera
1000 sw i ma czas dostpu 1s, natomiast poziom drugi zawiera 100000 sw i ma czas
dostpu 10s. Zakadamy dalej, e jeli poszukiwane sowo znajduje si na poziomie 1, to
procesor ma do niego dostp bezporedni. Jeli jest ono natomiast na poziomie 2, to sowo
jest najpierw przenoszone na poziom 1, a nastpnie udostpniane procesorowi.

Na wykresie powyej pokazany jest redni cakowity czas dostpu jako funkcja procentu
czasu, w cigu ktrego sowo jest znajdywane od razu na poziomie 1. Jak mona zauway,
przy wysokim udziale bezporednich dostpw do poziomu 1, redni cakowity czas dostpu
jest o wiele bliszy temu czasowi charakterystycznemu dla poziomu 1 ni 2.

Jak wida powyej , wykorzystujc rne technologie, otrzymamy zbir systemw pamici,
ktry satysfakcjonuje warunki (b) i (c), za rysunek poniej potwierdza spenienie warunku
(a).

Podstaw susznoci warunku (d) jest zasada lokalnoci odniesie (locality of


reference). Podczas wykonywania programu odniesienia do pamici (zarwno dotyczce
danych jak i rozkazw) maj tendencj do gromadzenia si. Programy typowo zawieraj
pewn liczb ptli iteracyjnych i podprogramw. Gdy jest uruchomiona ptla lub
podprogram, wystpuj powtarzajce si odniesienia do niewielkiego zestawu rozkazw.
podobnie, operacje na tablicach lub cigach danych polegaj na dostpie do zgrupowanego
zespou sw. W cigu dugiego czasu wykorzystywane ugrupowania zmieniaj si, jednak w
krtkim czasie procesor pracuje z ustalonymi grupami odniesie do pamici.
W tej sytuacji jest moliwa taka organizacja ukadw danych w hierarchii pamici, eby
udzia dostpw do kadego kolejnego poziomu by istotnie mniejszy ni do poziomu
wyszego. Rozpatrywany dwupoziomowy przykad jak powyej:
Przyjmujemy, e poziom 2 pamici zawiera wszystkie rozkazy i dane programu.
Biece ugrupowania danych mog by czasowo umieszczone na poziomie 1. Od czasu do
czasu niektre ugrupowania danych bd musiay by przenoszone na poziom 2, eby
zwolni miejsce dla nowych zbiorw wprowadzanych do poziomu 1. Przecitnie jednak
wikszo odniesie bdzie dotyczya rozkazw i danych zawartych na poziomie 1.
Zasada ta moe by stosowana do systemw zawierajcych wicej ni dwa poziomy.
Rozwaajc przedstawion wczeniej hierarchi najszybszy, najmniejszy i najdroszy rodzaj
pamici obejmuje rejestry zawarte wewntrz procesora. Typowo procesor zawiera kilka
tuzinw takich rejestrw, chocia niektre maszyny zawieraj ich setki. Dwa poziomy niej
znajduje si pami gwna, bdca zasadniczym wewntrznym systemem pamiciowym
5

komputera. Kada lokacja w pamici gwnej ma swj unikatowy adres, a wikszo


rozkazw maszynowych odnosi si do jednego lub wielu adresw w pamici gwnej. Pami
gwna jest take poszerzana za pomoc szybszej i mniejszej pamici podrcznej. Ta ostatnia
jest zwykle widzialna dla programisty czy te, w istocie, dla procesora. Urzdzenie to
stopniuje przepyw danych midzy pamici gwn a rejestrami procesora i ma na celu
poprawienie wydajnoci.
Trzy opisane wyej rodzaje pamici s zwykle ulotne i wykonane w technologii
pprzewodnikowej. Zastosowanie ukadu trjpoziomowego pozwala na wykorzystanie
dostpnych obecnie typw pamici pprzewodnikowych rnicych si szybkoci i
kosztem. Dane s przechowywane w sposb trwalszy w zewntrznych, masowych
urzdzeniach pamiciowych, z ktrych najpowszechniejsze s pamici dyskowe i rzadziej ju
tamowe. Zewntrzne pamici nie ulotne okrelane s jako pamici wtrne lub pomocnicze.
S uywane do przechowywania programw i plikw danych; programista widzi je tylko
poprzez pliki i rekordy, a nie przez pojedyncze bajty czy sowa. Dyski s take
wykorzystywane do rozszerzania pamici gwnej, jako pamici wirtualne.
W hierarchii mog wystpowa rwnie inne rodzaje pamici. Przykadem s due
komputery IBM zawierajce pewn posta pamici wewntrznej znan jako pami
rozszerzona (expanded storage). Wykorzystuje si w niej wolniejsz i tasz technologi
pprzewodnikow ni w pamici gwnej. cilej mwic pami ta nie tworzy hierarchii,
lecz stanowi rodzaj bocznej gazi: dane mog by przenoszone midzy pamici gwn a
pamici rozszerzon, jednak nie midzy pamici rozszerzon a pamici zewntrzn. Do
innych postaci pamici wtrnych nale dyski optyczne i magnetyczne pamici bbelkowe
(buble memory devices). Wreszcie dodatkowe poziomy mog by skutecznie dodane do
hierarchii za pomoc oprogramowania. Cz pamici gwnej moe by wykorzystywana
jako bufor do tymczasowego przechowywania danych, ktre nastpnie maj by odczytane i
wprowadzone na dysk. Taka technika okrelana jest czasem jako dyskowa pami podrczna,
poprawia wydajno na dwa sposoby:
I. Zapisy dyskowe s zgrupowane. W miejsce wielu transferw niewielkich iloci
danych mamy do czynienia z niewieloma wielkimi transferami. Poprawia to
wydajno dysku i minimalizuje zaangaowanie procesora.
II. Pewne dane przeznaczone do odczytania mog by okrelone przez program jeszcze
przed nastpnym signiciem do dysku. W tym przypadku dane te mog by
wydobyte szybko z programowej pamici podrcznej, a nie powoli z dysku.

1.2

Zasady

Pami podrczn stosuje si w celu uzyskania pamici o takiej szybkoci, jak maj
najszybsze osigalne pamici, z jednoczesnym uzyskaniem duego rozmiaru pamici w cenie
taszych rodzajw pamici pprzewodnikowych. Koncepcja ta jest zilustrowana poniej:

Wystpuje tu wzgldnie dua i wolniejsza pami gwna obok mniejszej i szybszej


pamici podrcznej. Pami podrczna zawiera kopi czci zawartoci pamici gwnej. Gdy
procesor zamierza odczyta sowo w pamici, najpierw nastpuje sprawdzenie, czy sowo to
nie znajduje si w pamici podrcznej. Jeli tak, to sowo jest dostarczane do procesora. Ze
wzgldu na zjawisko lokalnoci odniesie, jeli blok danych zosta pobrany do pamici
podrcznej w celu zaspokojenia pojedynczego odniesienia do pamici, jest prawdopodobne,
e przysze odniesienia bd dotyczyy innych sw zawartych w tym samym bloku.

Powyej pokazana jest struktura systemu pami podrczna/pami gwna. Pami


gwna skada si z 2n adresowanych sw, przy czym kade sowo ma jednoznaczny adres nbitowy. Aby byo moliwe odwzorowanie pami ta skada si z pewnej liczby blokw o
staej dugoci, zwierajcych K sw kady. Tak wic wystpuje M =2n/K blokw. Pami
podrczna zawiera C wierszy zawierajcych K sw kady, a liczba wierszy jest znaczco
mniejsza od liczby blokw w pamici gwnej (C<<M). W kadej chwili , pewien zesp
blokw pamici pozostaje w wierszach pamici podrcznej. Jeli sowo w bloku pamici jest
odczytywane, to odpowiedni blok jest przenoszony do jednego z wierszy pamici podrcznej.
Poniewa blokw jest wicej ni wierszy, okrelony wiersz nie moe by jednoznacznie i
trwale przypisany okrelonemu blokowi. Kady wiersz zawiera w zwizku z tym znacznik
okrelajcy, ktry blok jest wanie przechowywany. Znacznik jest zwykle czci adresu
pamici gwnej.

Podczas operacji odczytu (rysunek powyej) procesor generuje adres sowa, ktre ma
by odczytane , RA. Jeli sowo jest zawarte w pamici podrcznej, jest dostarczane do
procesora. W przeciwnym razie blok zawierajcy to sowo jest adowany do pamici
podrcznej, po czym sowo jest dostarczane do procesora.

1.3

Elementy projektowania pamici podrcznych

Chocia istnieje ju wielka liczba implementacji pamici podrcznych, niewiele jest


podstawowych elementw projektowania, ktre su do klasyfikowania i rnicowania
architektury pamici podrcznych.
Rozmiar pamici podrcznej
Najlepiej eby rozmiar pamici podrcznej by na tyle may, eby oglny przecitny
koszt na bit by zbliony do tego kosztu samej pamici gwnej, oraz na tyle duy, eby
oglny przecitny czas dostpu by zbliony do czasu dostpu samej pamici podrcznej.
Wystpuje jeszcze par innych powodw minimalizowania pamici podrcznej. Im wiksza
jest pami podrczna, tym wiksza jest te liczba bramek sucych do adresowania tej
pamici. W rezultacie due pamici podrczne s wolniejsze ni mae nawet jeli s
wykonane za pomoc tej samej technologii ukadw scalonych i umieszczone w tym samym
miejscu w mikroukadzie i w obwodzie drukowanym. Rozmiar pamici podrcznej jest
rwnie limitowany dostpn powierzchni mikroukadu i obwodu drukowanego. Poniewa
wydajno pamici podrcznej jest bardzo wraliwa na natur realizowanych zada, nie jest
moliwe cise okrelenie optymalnego rozmiaru tej pamici.

1.4

Funkcja odwzorowywania

Poniewa wierszy w pamici podrcznej jest mniej ni blokw pamici gwnej,


wymagany jest algorytm odwzorowywania blokw pamici gwnej w wierszach pamici
podrcznej. Ponadto potrzebne s rodki do okrelenia, ktry blok pamici gwnej aktualnie
zajmuje wiersz pamici podrcznej. Wybr funkcji odwzorowywania dyktuj organizacj
pamici podrcznej. Mog by wykorzystywane trzy metody:

bezporednia

skojarzeniowa

sekwencyjno- skojarzeniowa
Przykady te omwione zostan kolejno. W kadym przypadku rozpatrywana jest struktura
oglna, a nastpnie szczegowy przykad. Dla wszystkich trzech przykadw brane s
ponisze parametry:
1. pami podrczna moe przechowywa 64KB;
2. dane s przenoszone pomidzy pamici gwn, a pamici podrczn w blokach po
4 bajty. Oznacza to, e pami podrczna jest organizowana w postaci 16 K = 214
wierszy po 4 bajty kady;
3. pami gwna skada si z 16MB, przy czym kady bajt jest bezporednio
adresowalny za pomoc 24-bitowego adresu (214 = 16 M).
4. Tak wic aby umoliwi odwzorowanie, moemy traktowa pami gwn jako
skadajc si z 4 M blokw po 4 bajty kady;
1.4.1
Odwzorowanie bezporednie
Najprostsza metoda, znana jako odwzorowanie bezporednie, polega na
odwzorowaniu pamici gwnej na tylko jeden moliwy wiersz pamici podrcznej. Schemat
metody pokazano poniej, przy czym:
i = j modulo m
i numer wiersza pamici podrcznej;
j numer bloku pamici gwnej;
m liczba wierszy pamici podrcznej;

Funkcja odwzorowania moe by z atwoci realizowana za pomoc adresu. W celu


uzyskania dostpu do pamici podrcznej kady adres pamici gwnej moe by widziany
jako skadajcy si z 3 pl. Najmniej znaczce bity w okrelaj jednoznacznie sowo lub bajt
w bloku pamici gwnej; w najnowoczeniejszych maszynach adres jest formuowany na
poziomie bajtw. Pozostaych s bitw okrela jeden z 2S blokw pamici gwnej. Ukady
logiczne pamici podrcznej interpretuj te s bitw jako znaczniki w postaci s r bitw
(najbardziej znaczca cze) oraz pole linii zoone z r bitw. To ostatnie pole identyfikuje
jeden z m = 2r wierszy pamici podrcznej. Wynikiem tego odwzorowania jest to, e bloki
pamici gwnej s przypisane do wiersza pamici podrcznej nastpujco:
Wiersz pamici podrcznej
0
1

m1

Przypisane bloki pamici gwnej


0,m,,2s m
1,m + 1,,2s m + 1

m 1, 2m 1,,2s 1

Dlatego wykorzystanie czci adresu jako numeru wiersza pozwala na jednoznaczne


odwzorowanie kadego bloku pamici gwnej w pamici podrcznej. Gdy blok jest wanie
wczytywany do przypisanego wiersza, konieczne jest zaznaczenie danych, aby odrni je od
innych blokw, ktre mog pasowa do tego wiersza. Do tego celu su najbardziej znaczce
bity s r.

10

Na schemacie powyej pokazany jest przykadowy system stosujcy odwzorowanie


bezporednie. W tym przykadzie m = 16 K = 214 oraz i = j modulo 214.
Wiersz pamici podrcznej
0
1

3FFF

Przypisane bloki pamici gwnej


000000,010000,,FF0000
000001,010001,,FF0001

00FFFC,01FFFC,,FFFFFC

Mona zauway, i dwa bloki odwzorowane w tym samym wierszu nie maj takiego samego
znacznika. Bloki 000000, 010000,, FF0000 maj znaczniki odpowiednio 00, 01, , FF.

11

Operacj odczytu moemy przedstawi nastpujco. System pamici podrcznej jest


reprezentowany za pomoc adresw 24- bitowych. Czternastobitowy numer wiersza jest
wykorzystywany jako indeks dostpu do okrelonego wiersza w pamici podrcznej. Jeli 8bitowy znacznik jest zgodny ze znacznikiem aktualnie przechowywanym w tym wierszu, to
2- bitowy numer sowa suy do wyboru jednego z 4 bajtw w tym wierszu. W przeciwnym
razie 22- bitowe pole obejmujce znacznik i wiersz jest wykorzystywane do pobrania bloku z
pamici gwnej. Adres uyty do tego pobierania skada si z tych 22 bitw powizanych z
dwoma bitami zerowymi, tak wic na granicy bloku s pobierane 4 bajty.
Metoda odwzorowywania jest prosta i tania przy wdraaniu. Jej gwn wad jest to,
i dla danego bloku istnieje staa lokalizacja w pamici podrcznej. W rezultacie, jeli
program bdzie si czsto odwoywa do sw z dwch rnych blokw przypisanych do tego
samego wiersza, to bloki te bd cigle przenoszone do pamici podrcznej, co obniy ogln
szybko.

12

You might also like