Organizacja i Hierarchia Pamięci

download Organizacja i Hierarchia Pamięci

of 6

Transcript of Organizacja i Hierarchia Pamięci

  • 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ść.