8/20/2019 Organizacja i Hierarchia Pamięci
1/12
1
„Organizacja i hierarchia pamięci” część 1 z 5
Architektura komputerów 2, IDZ101Krzysztof Nowak
Sławomir Krężel
1. Pamięć podręczna – organizacja i obsługaCoraz szybciej taktowane procesory wymagają coraz to szybszych układów pamię ciowych.Czas przetwarzania prostego rozkazu nie jest zwykle dłuższy od pojedynczego cykluzegarowego, a obecnie procesory przetwarzają ich nawet po kilka w jednym cyklu. Pamięć operacyjna komputerów PC zbudowana jest ze stosunkowo tanich układów scalonych
DRAM, które mimo postę pu technologicznego cechują się czasem dostę pu wię kszym o rzą dwielkości. Pracują cy z dużą prę dkością procesor musiałby zbyt długo oczekiwać na kolejną porcję danych. Istnieją jednak typy pamię ci jak SRAM (static RAM ), mogą ce sprostać takimwymaganiom, ale ze wzglę dów ekonomicznych ( są kilkanaście razy droższe) nie opłaca się z
nich zbudować całej pamię ci operacyjnej.W celu usunię cia tego ograniczenia wprowadzona została pamięć podrę cznastanowią ca bufor o krótkim czasie dostę pu (kilka ns lub kilkaset ps). Rozwią zanie jestuzasadnionym kompromisem – duża i tania pamięć główna wspierana jest przez małą , szybk ą i nie aż tak drogą pamięć podrę czną (cache). Dalsze rozwinię cie tej idei stanowi kaskadapamię ci podrę cznych. Kolejne poziomy (L od Levels) są coraz wię ksze i coraz wolniejsze.Stosowane praktycznie rozwią zania nie wyszły nigdy poza poziom L3.
Efektywne wykorzystanie pamię ci podrę cznej nie byłoby możliwe, gdyby nie pewnacenna właściwość przetwarzanego przez komputery PC kodu, który jest stosunkowo spójny.Procesor operuje przez dłuższy czas w tym samym rejonie pamię ci, a nie skacze chaotyczniepo całym jej obszarze. Przetwarzane rozkazy ułożone są w pamię ci sekwencyjnie (nie liczą crozgałę zień i skoków), a bloki danych też nie są świadomie rozpraszane po całej przestrzeniadresowej. Rozwią zania teoretyczne i symulacje doprowadziły do wyznaczenia przybliżonychrozmiarów takiego obszaru. Można przyjąć z prawdopodobieństwem równym 0,9 iż
wię kszość odwołań do pamię ci mieścić się bę dzie w bloku nie przekraczają cym wymiarów16KB.W tabeli poniżej zestawiono rozmiary pamię ci podrę cznej kilku procesorów.
Typ procesora L1 instrukcje L1 dane L2 instrukcja L2 dane L3Intel Pentium (75) 8KB 8KB -- -- --
Intel Pentium II 16KB 16KB -- -- --
Intel Pentium IIIS 16KB 16KB 512KB --
Intel Pentium M
735
64KB 2MB
Intel Core 2 Duo
P8400
32KB dla każdego rdzenia 3MB dla każdego rdzenia --
Intel Core i5 750 64KB dla każdego rdzenia 256KB dla każdego rdzenia 8MBIntel Core i7-920 64KB dla każdego rdzenia 256KB dla każdego rdzenia 8MB
8/20/2019 Organizacja i Hierarchia Pamięci
2/12
2
1.1 Hierarchia pami ęciOgraniczenia przy projektowaniu pamię ci można podzielić na trzy pytania: ile? Jak szybko?
Za ile?
Pytanie „ile?” jest wciąż w pewnym stopniu otwarte. Jeśli dysponujemy określoną pojemnością , to z pewnością pojawi się zastosowanie, w którym pojemność ta zostaniewykorzystana. Odpowiedź na pytanie „Jak szybko?” jest w pewnym sensie łatwiejsza. Abyosią gnąć najwię kszą wydajność, pamięć musi być w stanie nadążyć za procesorem. Mówią cprościej znaczy to, iż nie chcielibyśmy, aby procesor wykonują c rozkazy, czekał na kolejnerozkazy lub argumenty. Co się tyczy ostatniego pytania „Za ile?” w przypadku praktycznegosystemu koszt pamię ci musi pozostawać w rozsą dnej relacji do kosztów pozostałychskładników.
Istnieją wzajemne zależności pomię dzy podstawowymi parametrami pamię ci (mię dzykosztem pojemnością i czasem dostę pu). Przy konstruowaniu systemów pamię ciowych są wykorzystywane różne technologie. Jeśli rozpatrujemy dostę pne technologie, to mamy doczynienia z nastę pują cymi zależnościami: mniejszy czas dostę pu → wię kszy koszt na bit;
wię ksza pojemność → mniejszy koszt na bit; wię ksza pojemność → wię kszy czas dostę pu;
Dylemat przed którym stoi grupa projektantów jest jasny. Chcieliby wykorzystywać technologie pamię ci, które umożliwiają wytworzenie pamię ci o dużej pojemności, ponieważ po pierwsze są one potrzebne, a po drugie z powodu mniejszego kosztu na bit. Jednak abyosią gnąć oczekiwaną wydajność, projektanci wykorzystują drogie i stosunkowo małejpojemności pamię ci o krótkim czasie dostę pu.
Osią gnię cie kompromisu nie polega na wyborze pojedynczego zespołu pamię ci czyteż określonej technologii, lecz na wykorzystaniu hierarchii pamię ci.
Obserwują c powyższą hierarchię z góry do dołu, obserwujemy nastę pują ce zjawiska:a. maleją cy koszt na bit;b. rosną ca pojemność;c. rosną cy czas dostę pu;d. maleją ca czę stotliwość dostę pu do pamię ci przez procesor;
Tak wię c mniejsze, droższe i szybsze pamię ci są uzupełnianie przez pamię ci wię ksze, tańsze ipowolne. Kluczem do sukcesu przy projektowaniu organizacji jest ostatnie z wymienionych
8/20/2019 Organizacja i Hierarchia Pamięci
3/12
3
zjawisk, a mianowicie zmniejszenie czę stotliwości dostę pu. Jeśliby pamięć mogła być zorganizowana przy uwzglę dnieniu zjawisk (a), (b) i (c) oraz jeśli dane i rozkazy byłybyrozmieszczone w pamię ci przy uwzglę dnieniu (d), to można wycią gnąć intuicyjnie, że takischemat zredukowałby łą czne koszty, pozostawiają c określony poziom wydajności.
przykład:
Załóżmy, że procesor ma dostę p do dwóch poziomów pamię ci. Poziom pierwszy zawiera1000 słów i ma czas dostę pu 1µs, natomiast poziom drugi zawiera 100’000 słów i ma czasdostę pu 10µs. Zakładamy dalej, że jeśli poszukiwane słowo znajduje się na poziomie 1, toprocesor ma do niego dostę p bezpośredni. Jeśli jest ono natomiast na poziomie 2, to słowo
jest najpierw przenoszone na poziom 1, a nastę pnie udostę pniane procesorowi.
Na wykresie powyżej pokazany jest średni całkowity czas dostę pu jako funkcja procentuczasu, w cią gu którego słowo jest znajdywane od razu na poziomie 1. Jak można zauważyć,przy wysokim udziale bezpośrednich dostę pów do poziomu 1, średni całkowity czas dostę pu
jest o wiele bliższy temu czasowi charakterystycznemu dla poziomu 1 niż 2.
8/20/2019 Organizacja i Hierarchia Pamięci
4/12
4
Jak widać powyżej , wykorzystują c różne technologie, otrzymamy zbiór systemów pamię ci,który satysfakcjonuje warunki (b) i (c), zaś rysunek poniżej potwierdza spełnienie warunku(a).
8/20/2019 Organizacja i Hierarchia Pamięci
5/12
5
Podstawą słuszności warunku (d) jest zasada lokalności odniesień (locality ofreference). Podczas wykonywania programu odniesienia do pamię ci (zarówno dotyczą cedanych jak i rozkazów) mają tendencję do gromadzenia się . Programy typowo zawierają pewną liczbę pę tli iteracyjnych i podprogramów. Gdy jest uruchomiona pę tla lubpodprogram, wystę pują powtarzają ce się odniesienia do niewielkiego zestawu rozkazów.podobnie, operacje na tablicach lub cią gach danych polegają na dostę pie do zgrupowanegozespołu słów. W cią gu długiego czasu wykorzystywane ugrupowania zmieniają się , jednak wkrótkim czasie procesor pracuje z ustalonymi grupami odniesień do pamię ci.
W tej sytuacji jest możliwa taka organizacja układów danych w hierarchii pamię ci, żebyudział dostę pów do każdego kolejnego poziomu był istotnie mniejszy niż do poziomuwyższego. Rozpatrywany dwupoziomowy przykład jak powyżej:
Przyjmujemy, że poziom 2 pamię ci zawiera wszystkie rozkazy i dane programu.Bieżą ce ugrupowania danych mogą być czasowo umieszczone na poziomie 1. Od czasu doczasu niektóre ugrupowania danych bę dą musiały być przenoszone na poziom 2, żebyzwolnić miejsce dla nowych zbiorów wprowadzanych do poziomu 1. Przecię tnie jednakwię kszość odniesień bę dzie dotyczyła rozkazów i danych zawartych na poziomie 1.
Zasada ta może być stosowana do systemów zawierają cych wię cej niż dwa poziomy.Rozważają c przedstawioną wcześniej hierarchię najszybszy, najmniejszy i najdroższy rodzajpamię ci obejmuje rejestry zawarte wewną trz procesora. Typowo procesor zawiera kilkatuzinów takich rejestrów, chociaż niektóre maszyny zawierają ich setki. Dwa poziomy niżejznajduje się pamięć główna, bę dą ca zasadniczym wewnę trznym systemem pamię ciowym
8/20/2019 Organizacja i Hierarchia Pamięci
6/12
6
komputera. Każda lokacja w pamię ci głównej ma swój unikatowy adres, a wię kszość rozkazów maszynowych odnosi się do jednego lub wielu adresów w pamię ci głównej. Pamięć główna jest tak że poszerzana za pomocą szybszej i mniejszej pamię ci podrę cznej. Ta ostatnia
jest zwykle widzialna dla programisty czy też, w istocie, dla procesora. Urzą dzenie tostopniuje przepływ danych mię dzy pamię cią główną a rejestrami procesora i ma na celu
poprawienie wydajności.Trzy opisane wyżej rodzaje pamię ci są zwykle ulotne i wykonane w technologiipółprzewodnikowej. Zastosowanie układu trójpoziomowego pozwala na wykorzystanie
dostę pnych obecnie typów pamię ci półprzewodnikowych różnią cych się szybkością ikosztem. Dane są przechowywane w sposób trwalszy w zewnę trznych, masowychurzą dzeniach pamię ciowych, z których najpowszechniejsze są pamię ci dyskowe i rzadziej już taśmowe. Zewnę trzne pamię ci nie ulotne określane są jako pamię ci wtórne lub pomocnicze.Są używane do przechowywania programów i plików danych; programista widzi je tylkopoprzez pliki i rekordy, a nie przez pojedyncze bajty czy słowa. Dyski są tak żewykorzystywane do rozszerzania pamię ci głównej, jako pamię ci wirtualne.
W hierarchii mogą wystę pować również inne rodzaje pamię ci. Przykładem są duże
komputery IBM zawierają ce pewną postać pamię ci wewnę trznej znaną jako pamięć rozszerzona (expanded storage). Wykorzystuje się w niej wolniejszą i tańszą technologię półprzewodnikową niż w pamię ci głównej. Ściślej mówią c pamięć ta nie tworzy hierarchii,lecz stanowi rodzaj bocznej gałę zi: dane mogą być przenoszone mię dzy pamię cią główną apamię cią rozszerzoną , jednak nie mię dzy pamię cią rozszerzoną a pamię cią zewnę trzną . Doinnych postaci pamię ci wtórnych należą dyski optyczne i magnetyczne pamię ci bą belkowe(buble memory devices). Wreszcie dodatkowe poziomy mogą być skutecznie dodane dohierarchii za pomocą oprogramowania. Część pamię ci głównej może być wykorzystywana
jako bufor do tymczasowego przechowywania danych, które nastę pnie mają być odczytane iwprowadzone na dysk. Taka technika określana jest czasem jako dyskowa pamięć podrę czna,poprawia wydajność na dwa sposoby:
I. Zapisy dyskowe są zgrupowane. W miejsce wielu transferów niewielkich ilościdanych mamy do czynienia z niewieloma wielkimi transferami. Poprawia to
wydajność dysku i minimalizuje zaangażowanie procesora.II. Pewne dane przeznaczone do odczytania mogą być określone przez program jeszcze
przed nastę pnym się gnię ciem do dysku. W tym przypadku dane te mogą być wydobyte szybko z programowej pamię ci podrę cznej, a nie powoli z dysku.
1.2 ZasadyPamięć podrę czną stosuje się w celu uzyskania pamię ci o takiej szybkości, jak ą mają najszybsze osią galne pamię ci, z jednoczesnym uzyskaniem dużego rozmiaru pamię ci w cenie
tańszych rodzajów pamię ci półprzewodnikowych. Koncepcja ta jest zilustrowana poniżej:
8/20/2019 Organizacja i Hierarchia Pamięci
7/12
7
Wystę puje tu wzglę dnie duża i wolniejsza pamięć główna obok mniejszej i szybszejpamię ci podrę cznej. Pamięć podrę czna zawiera kopię części zawartości pamię ci głównej. Gdyprocesor zamierza odczytać słowo w pamię ci, najpierw nastę puje sprawdzenie, czy słowo tonie znajduje się w pamię ci podrę cznej. Jeśli tak, to słowo jest dostarczane do procesora. Zewzglę du na zjawisko lokalności odniesień, jeśli blok danych został pobrany do pamię cipodrę cznej w celu zaspokojenia pojedynczego odniesienia do pamię ci, jest prawdopodobne,że przyszłe odniesienia bę dą dotyczyły innych słów zawartych w tym samym bloku.
8/20/2019 Organizacja i Hierarchia Pamięci
8/12
8
Powyżej pokazana jest struktura systemu pamięć podrę czna/pamięć główna. Pamięć główna składa się z 2n adresowanych słów, przy czym każde słowo ma jednoznaczny adres n-bitowy. Aby było możliwe odwzorowanie pamięć ta składa się z pewnej liczby bloków ostałej długości, zwierają cych K słów każdy. Tak wię c wystę puje M =2n /K bloków. Pamięć podrę czna zawiera C wierszy zawierają cych K słów każdy, a liczba wierszy jest znaczą co
mniejsza od liczby bloków w pamię ci głównej (C
8/20/2019 Organizacja i Hierarchia Pamięci
9/12
9
1.3 Elementy projektowania pami ęci podr ęcznychChociaż istnieje już wielka liczba implementacji pamię ci podrę cznych, niewiele jest
podstawowych elementów projektowania, które służą do klasyfikowania i różnicowaniaarchitektury pamię ci podrę cznych.
Rozmiar pamięci podręcznejNajlepiej żeby rozmiar pamię ci podrę cznej był na tyle mały, żeby ogólny przecię tny
koszt na bit był zbliżony do tego kosztu samej pamię ci głównej, oraz na tyle duży, żebyogólny przecię tny czas dostę pu był zbliżony do czasu dostę pu samej pamię ci podrę cznej.Wystę puje jeszcze parę innych powodów minimalizowania pamię ci podrę cznej. Im wię ksza
jest pamięć podrę czna, tym wię ksza jest też liczba bramek służą cych do adresowania tejpamię ci. W rezultacie duże pamię ci podrę czne są wolniejsze niż małe – nawet jeśli są wykonane za pomocą tej samej technologii układów scalonych i umieszczone w tym samymmiejscu w mikroukładzie i w obwodzie drukowanym. Rozmiar pamię ci podrę cznej jestrównież limitowany dostę pną powierzchnią mikroukładu i obwodu drukowanego. Ponieważ wydajność pamię ci podrę cznej jest bardzo wrażliwa na naturę realizowanych zadań, nie jestmożliwe ścisłe określenie optymalnego rozmiaru tej pamię ci.
1.4 Funkcja odwzorowywaniaPonieważ wierszy w pamię ci podrę cznej jest mniej niż bloków pamię ci głównej,
wymagany jest algorytm odwzorowywania bloków pamię ci głównej w wierszach pamię cipodrę cznej. Ponadto potrzebne są środki do określenia, który blok pamię ci głównej aktualniezajmuje wiersz pamię ci podrę cznej. Wybór funkcji odwzorowywania dyktuję organizację pamię ci podrę cznej. Mogą być wykorzystywane trzy metody:
• bezpośrednia•
skojarzeniowa
•
sekwencyjno- skojarzeniowaPrzykłady te omówione zostaną kolejno. W każdym przypadku rozpatrywana jest strukturaogólna, a nastę pnie szczegółowy przykład. Dla wszystkich trzech przykładów brane są poniższe parametry:
1. pamięć podrę czna może przechowywać 64KB;2. dane są przenoszone pomię dzy pamię cią główną , a pamię cią podrę czną w blokach po
4 bajty. Oznacza to, że pamięć podrę czna jest organizowana w postaci 16 K = 214 wierszy po 4 bajty każdy;
3. pamięć główna składa się z 16MB, przy czym każdy bajt jest bezpośrednioadresowalny za pomocą 24-bitowego adresu (214 = 16 M).
4. Tak wię c aby umożliwić odwzorowanie, możemy traktować pamięć główną jako
składają cą się z 4 M bloków po 4 bajty każdy;
1.4.1 Odwzorowanie bezpośrednie
Najprostsza metoda, znana jako odwzorowanie bezpośrednie, polega naodwzorowaniu pamię ci głównej na tylko jeden możliwy wiersz pamię ci podrę cznej. Schematmetody pokazano poniżej, przy czym:i = j modulo m
i – numer wiersza pamię ci podrę cznej; j – numer bloku pamię ci głównej;m – liczba wierszy pamię ci podrę cznej;
8/20/2019 Organizacja i Hierarchia Pamięci
10/12
10
Funkcja odwzorowania może być z łatwością realizowana za pomocą adresu. W celuuzyskania dostę pu do pamię ci podrę cznej każdy adres pamię ci głównej może być widziany jako składają cy się z 3 pól. Najmniej znaczą ce bity w określają jednoznacznie słowo lub bajtw bloku pamię ci głównej; w najnowocześniejszych maszynach adres jest formułowany napoziomie bajtów. Pozostałych s bitów określa jeden z 2S bloków pamię ci głównej. Układylogiczne pamię ci podrę cznej interpretują te s bitów jako znaczniki w postaci s – r bitów(najbardziej znaczą ca cześć) oraz pole linii złożone z r bitów. To ostatnie pole identyfikuje
jeden z m = 2r wierszy pamię ci podrę cznej. Wynikiem tego odwzorowania jest to, że bloki
pamię ci głównej są przypisane do wiersza pamię ci podrę cznej nastę pują co:
Wiersz pamięci podręcznej Przypisane bloki pamięci głównej
0 0,m,…,2s – m
1 1,m + 1,…,2s – m + 1
… …
m – 1 m – 1, 2m – 1,…,2s – 1
Dlatego wykorzystanie części adresu jako numeru wiersza pozwala na jednoznaczneodwzorowanie każdego bloku pamię ci głównej w pamię ci podrę cznej. Gdy blok jest właśniewczytywany do przypisanego wiersza, konieczne jest zaznaczenie danych, aby odróżnić je odinnych bloków, które mogą pasować do tego wiersza. Do tego celu służą najbardziej znaczą cebity s – r.
8/20/2019 Organizacja i Hierarchia Pamięci
11/12
11
Na schemacie powyżej pokazany jest przykładowy system stosują cy odwzorowaniebezpośrednie. W tym przykładzie m = 16 K = 214 oraz i = j modulo 214.
Wiersz pamię ci podrę cznej Przypisane bloki pamię ci głównej0 000000,010000,…,FF0000
1 000001,010001,…,FF0001
… …
3FFF 00FFFC,01FFFC,…,FFFFFC
Można zauważyć, iż dwa bloki odwzorowane w tym samym wierszu nie mają takiego samegoznacznika. Bloki 000000, 010000,…, FF0000 mają znaczniki odpowiednio 00, 01, …, FF.
8/20/2019 Organizacja i Hierarchia Pamięci
12/12
12
Operację odczytu możemy przedstawić nastę pują co. System pamię ci podrę cznej jestreprezentowany za pomocą adresów 24- bitowych. Czternastobitowy numer wiersza jestwykorzystywany jako indeks dostę pu do określonego wiersza w pamię ci podrę cznej. Jeśli 8-bitowy znacznik jest zgodny ze znacznikiem aktualnie przechowywanym w tym wierszu, to
2- bitowy numer słowa służy do wyboru jednego z 4 bajtów w tym wierszu. W przeciwnym
razie 22- bitowe pole obejmują ce znacznik i wiersz jest wykorzystywane do pobrania bloku zpamię ci głównej. Adres użyty do tego pobierania składa się z tych 22 bitów powią zanych zdwoma bitami zerowymi, tak wię c na granicy bloku są pobierane 4 bajty.
Metoda odwzorowywania jest prosta i tania przy wdrażaniu. Jej główną wadą jest to,iż dla danego bloku istnieje stała lokalizacja w pamię ci podrę cznej. W rezultacie, jeśliprogram bę dzie się czę sto odwoływał do słów z dwóch różnych bloków przypisanych do tegosamego wiersza, to bloki te bę dą cią gle przenoszone do pamię ci podrę cznej, co obniży ogólną szybkość.
Top Related