CA-A- pamiec podreczna
Transkrypt
CA-A- pamiec podreczna
ARCHITEKTURA KOMPUTERÓW Zasada lokalności W komputerze z programem zintegrowanym programy i dane mają tedencję do skupiania w wymiarze przestrzennym i czasowym. lokalność przestrzenna (spatial locality) Jest prawdopodobne uŜycie informacji z sąsiednich lokacji pamięci. lokalność czasowa (temporal locality) Kod uŜyty będzie zapewne ponownie uŜyty w nieodległym czasie. wniosek: Warto utworzyć w pobliŜu procesora bufor zawierający kopie aktualnie uŜywanych bloków pamięci głównej i korzystać z kopii zamiast z oryginału. → uŜycie bufora musi być przeźroczyste dla programu – nierozróŜnialne na poziomie ISA, realizowane na poziomie HSA (organizacji) → bufor umoŜliwia wykorzystanie zalet szybkich pamięci statycznych i pojemnych lecz wolnych pamięci dynamicznych. © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-1 ARCHITEKTURA KOMPUTERÓW Bufory pamięci bufor zawiera kopie aktualnie przetwarzanych danych M(AT) … … … M(AH+2) M(AH+1) M(AH) M(A+N+1) M(A+N) … … … M(A+2) M(A+1) M(A+0) M(A–1) bufor sekwencyjny – kolejka AT AH A 2 M(A 2) … … A N M(A N) … … A 0 M(A 0) … … A 1 M(A 1) … M(A N) … M(A 1) … M(A 2) … … M(A 0) bufor blokowo-skojarzeniowy (3) N … 4 3 2 1 0 Dana N↓N–3 Dana 4↓1 Dana 1↓×× Dana 2↓×× Dana 0↓×× bufor skojarzeniowo-sekwencyjny organizacja sekwencyjna – kolejka • bufor rozkazów (instruction queue), bufor zapisów (write buffer) organizacja blokowo-skojarzeniowa • pamięć podręczna (cache memory) – zawiera kopie uŜywanych danych organizacja skojarzeniowo-sekwencyjna • bufor przywracania kolejności (reorder buffer) (PISO parallel-in serial-out) © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-2 ARCHITEKTURA KOMPUTERÓW Skuteczność buforów cache Zasada lokalności nie gwarantuje obecności kopii danych w buforze cache. Skuteczność uŜycia pamięci podręcznej: • współczynnik trafień (hit rate) h • współczynnik chybień (miss rate) m = 1 − h • tmp – średnia strata czasu w razie chybienia (miss penalty) Średni czasu dostępu do pamięci • w pamięci jednopoziomowej t a = (1 − m) tca + m (t ram + t mp ) • w pamięci dwupoziomowej (inkluzywnej – L1 ⊂ L2) t a = (1 − m1 ) t ca1 + (m1 − m2 )(t ca 2 + t mp1 ) + m2 (t ram + t mp1 + t mp 2 ) (m1 > m2, bo kaŜde trafienie w L1 jest trafieniem w L2, a kaŜde chybienie w L2 jest chybieniem w L1) © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-3 ARCHITEKTURA KOMPUTERÓW Charakterystyki skuteczności • większa liczba linii – lepsza lokalność czasowa • większy rozmiar linii – lepsza lokalność przestrzenna • dla ustalonej pojemności, ze zwiększaniem rozmiaru linii, dominujący staje się wpływ zanikania lokalności czasowej i następuje wzrost strat czasu w razie chybienia (czas wymiany jest proporcjonalny do liczby transferów) m ta s s ZaleŜność współczynnika chybień m i średniego czasu dostępu do pamięci ta od rozmiaru linii s dla ustalonej pojemności bufora cache © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-4 ARCHITEKTURA KOMPUTERÓW Pamięć wielopoziomowa MMU „RAM” L1 cache rejestry ta 0,25–1 ns rozmiar 1–4 k B register 0,5–5 ns 8–64 k B cache L2 cache pamięć główna pamięć wtórna 1–5 ns 10–50 ns 1–10 ms 64–512kB 256 MB–4GB 20–120 GB cache memory storage Hierarchia pamięci wielopoziomowej • niektóre przestrzenie adresowe lub ich części nie mogą być buforowane • procesor adresuje pamięć główną – sterownik bufora przechwytuje transfery • specjalne rozkazy – sposób działania wewnętrznego bufora cache © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-5 ARCHITEKTURA KOMPUTERÓW Organizacja pamięci podręcznej Konieczna jest identyfikacja kopii w buforze cache: → jedynym identyfikatorem danej lub bloku danych jest adres → jednorodna struktura ułatwia identyfikację, upraszcza i przyśpiesza dostęp → kopiowanie pojedynczych bajtów/słów jest sprzeczne z zasadą lokalności → jednostką informacji powinno być 2k bajtów/słów (linia wymiany) → identyfikatorem lokacji w buforze moŜe być skrócony adres → przestrzeń adresowa procesora = suma rozłącznych linii CAM status (0) etykieta adresu (0) status (1) etykieta adresu (1) status (i) etykieta adresu (i) status(N) etykieta adresu (N) adres 0 0 0 1 0 0 RAM linia 0 linia 1 linia i linia N trafienie dane Schemat organizacji pamięci podręcznej © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-6 ARCHITEKTURA KOMPUTERÓW Pamięć podręczna wielopoziomowa zasada lokalności → pamięć podręczna wielopoziomowa (L(n+1) = PG) • organizacja hierarchiczna – typowa → lokalizacja danej umieszczonej w pamięci L(i) dostępna w L(i+1) → pamięć poziomu i-go L(i) zawiera kopie niektórych danych z pamięci poziomu (i+1)-go L(i+1), z których część moŜe być zaktualizowana → dana aktualna dostępna zawsze na najniŜszym poziomie • organizacja separowana – (ATHLON – victim cache) → Ŝadna lokalizacja danej w pamięci L(i) nie jest dostępna w L(i+1) problem spójności • zgodność wszystkich kopii informacji, albo • znajomość (świadomość) lokalizacji informacji aktualnej © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-7 ARCHITEKTURA KOMPUTERÓW Parametry bufora bufor poziomu L1 • rozmiar linii – dostosowany do rozmiaru magistrali danych procesora (systemu) i moŜliwości transferów blokowych • rozmiar pamięci – wystarczający do pomieszczenia kilku (2N) stron lub innych jednostek przydziału (bloków) pamięci bufor poziomu L2 • rozmiar linii – identyczny jak w L1 • rozmiar bufora – wystarczający do pomieszczenia zbioru roboczego procesu Typowe parametry • szerokość magistrali danych – 2k bajtów, • transfer blokowy – nałoŜenie 2m transferów całą szerokością magistrali → linia powinna zawierać 2k+m =2B bajtów • rozmiar strony – 2P bajtów → rozmiar bufora L1 – 2N stron = 2P+N bajtów → łączna liczba linii w buforze L1 = 2P+N−B → rozmiar bufora L2 – 2W 2N stron © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-8 ARCHITEKTURA KOMPUTERÓW Aktualizacja zawartości bufora cache Warunkiem utrzymania spójności jest aktualizacja linii, która obejmuje • uniewaŜnienie linii zawierającej dane przypadkowe lub nieaktualne • wypełnienie linii (bloku) nową zawartością • wymiana linii w razie braku wolnego miejsca w buforze • zapis w obszarze skopiowanej linii o zapis skrośny (write through) – zgodność wszystkich kopii informacji o zapis lokalny (copy-back) – znajomość lokalizacji informacji aktualnej Zapis moŜe być poprzedzony kopiowaniem nieobecnej linii (allocate on write) Allocate on write Copy-back Write through No allocate on write ObciąŜenie magistrali pamięci transferami powinno być minimalne transfery ( memory + cache) memory traffic ratio = transfery (cache) © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-9 ARCHITEKTURA KOMPUTERÓW Bufory zapisu (write buffer) Chybienie podczas próby zapisu • w trybie WT (no allocate-on-write) wymaga transferu do poziomu wyŜszego • w trybie CB uprzedzające kopiowanie (allocate-on-write) wymaga blokady zapisu oraz powoduje niezgodność kopii (zapis lokalny) po odblokowaniu • w trybie CB kopiowanie odłoŜone (no allocate-on-write) do chybienia w razie odczytu lub kolejnego zapisu nie powoduje strat jeśli zapis jest buforowany Bufor zapisu: pamięć FIFO (kolejka – musi być zachowana kolejność zapisów) → nasycenie bufora (write buffer saturation) → blokada kolejnego zapisu rm rm rh wh rejestry L1 cache (WT) wm rh wh raw bufor L2 cache (WT) wm pamięć główna raw bufor Bufory zapisu i ścieŜki przepływu danych w systemie pamięci © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-10 ARCHITEKTURA KOMPUTERÓW Obsługa pamięci podręcznej • uniewaŜnianie linii (line invalidation) − przed pierwszym wypełnieniem − wskutek zewnętrznej zmiany oryginału danych w pamięci głównej − przełączanie procesów – uniewaŜnienie wszystkich linii (line flush) • wypełnianie linii (line fill) oraz wymiana linii (line exchange) − chybienie podczas odczytu (miss on read) lub (w trybie AOW) zapisu • odczyt danej (read) − trafienie podczas odczytu (hit on read) • zapis danej (write) → rozbieŜność kopii z oryginałem − trafienie podczas zapisu (hit on write) ∗ zapis skrośny (jednoczesny) (write through, WT) – modyfikuje kopię w buforze wyŜszego poziomu ∗ zapis lokalny (zwrotny) (write/copy back, WB/CB) – w kopii lokalnej, opóźniony zapis do bufora wyŜszego poziomu podczas usuwania linii ∗ uniewaŜnienie linii trafionej i zapis bezpośredni (omijający) do pamięci głównej (write aside) lub bufora poziomu wyŜszego − chybienie podczas zapisu (miss on write) – zapis do pamięci głównej lub bufora poziomu wyŜszego (NAOW) lub wypełnienie i zapis (AOW) © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-11 ARCHITEKTURA KOMPUTERÓW Zarządzanie pamięcią podręczną Sposoby umieszczania i aktualizacji danych w buforze: • strategie wypełniania pamięci podręcznej – odwzorowanie pamięci głównej w liniach pamięci podręcznej − losowe – zbiór linii w zbiór lokacji linii (dowolnie) − bezpośrednie – podzbiór linii w linię lokacji − blokowo-skojarzeniowe – podzbiór linii w podzbiór lokacji linii • strategie wymiany kopii w pamięci podręcznej w celu aktualizacji bufora (bezzasadne w odwzorowaniu bezpośrednim!) − losowa (random) – dowolnie (skuteczna przy odwzorowaniu losowym) − kolejkowa (FIFO) – kolejność wymiany linii jest zgodna z kolejnością ich wypełniania (usuwana jest linia najdawniej alokowana) − LRU (last recently used) – wymieniana jest linia najdawniej uŜyta (skuteczna przy odwzorowaniu blokowo-skojarzeniowym). • strategie pobierania linii z pamięci głównej − pobranie wymuszone (demand fetching) – uaktywniane chybieniem − pobranie uprzedzające (prefetching) – na podstawie prognozy dostępu. © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-12 ARCHITEKTURA KOMPUTERÓW Odwzorowanie linii w buforze pamięci podręcznej • całkowicie skojarzeniowe (fully associative) – kaŜda linia pamięci głównej moŜe być skopiowana w dowolnej lokacji linii pamięci podręcznej − wymiana linii konieczna wtedy, gdy wszystkie linie są uŜyte − największy współczynnik trafień, brak migotania (thrashing) • bezpośrednie (direct mapped) – rozłącznym podzbiorom linii pamięci głównej przypisano unikatowe lokacje linii pamięci w podręcznej − najkrótszy czas kojarzenia – rekord indeksujący adresu (cache index) − najmniejszy współczynnik trafień − chybienia wskutek konfliktu odwzorowania (conflict miss) – migotanie • wielodroŜne (set-associative) – rozłącznym podzbiorom linii pamięci głównej przypisano rozłączne podzbiory lokacji linii w pamięci podręcznej (bezpośrednie odwzorowanie bloków, pełne skojarzenie w podzbiorze) − czas dostępu dłuŜszy niŜ dla pamięci z odwzorowaniem bezpośrednim − niewielkie migotanie, duŜy współczynnik trafień − konflikt odwzorowania maleje ze wzrostem liczby lokacji w bloku przeplot – podzbiór tworzą linie, których adresy (etykiety) róŜnią się o 2K (K – liczba lokacji linii lub podzbiorów linii w buforze) © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-13 ARCHITEKTURA KOMPUTERÓW Odwzorowanie całkowicie skojarzeniowe CAM RAM status 1 etykieta adresu 1 linia xxx status 2 etykieta adresu 2 linia xxx status d etykieta adresu d linia xxx status N etykieta adresu N linia xxx ... chybienie ... ?= adres linii trafienie dane pamięć główna linia 00000 linia 00001 linia 00FFE linia 00FFF linia 01000 linia 0EFFF linia 0F000 linia 0F001 indeks słowa adres fizyczny linia 0FFFE linia 0FFFF Bufor całkowicie asocjacyjny (fully associative) © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-14 ARCHITEKTURA KOMPUTERÓW Odwzorowanie bezpośrednie CAM RAM status (000) etykieta adresu (000) linia (xx000) status (001) etykieta adresu (001) linia (xx001) status (ddd) etykieta adresu (ddd) linia (xxddd) status(FFE) etykieta adresu (FFE) linia (xxFFE) status(FFF) etykieta adresu (FFF) linia (xxFFF) chybienie ?= adres linii trafienie dane indeks linii indeks słowa pamięć główna linia 00000 linia 00001 ..... linia 00FFE linia 00FFF linia 01000 ..... linia xxFFF linia zz000 ..... linia FEFFF linia FF000 linia FF001 ..... linia FFFFE linia FFFFF adres fizyczny Bufor z odwzorowaniem bezpośrednim (direct mapped) © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-15 ARCHITEKTURA KOMPUTERÓW Odwzorowanie blokowo-skojarzeniowe (wielodroŜne) CAM RAM blok 000 status status status status 1(000) 2(000) 3(000) 4(000) etykieta etykieta etykieta etykieta ... adresu adresu adresu adresu 1(000) 2(000) 3(000) 4(000) linia linia linia linia ... (xx000) (xx000) (xx000) (xx000) ... blok ddd status status status status 1(ddd) 2(ddd) 3(ddd) 4(ddd) etykieta etykieta etykieta etykieta ... adresu adresu adresu adresu 1(ddd) 2(ddd) 3(ddd) 4(ddd) linia linia linia linia ... (xxddd) (xxddd) (xxddd) (xxddd) ... blok FFF status status status status 1(FFF) 2(FFF) 3(FFF) 4(FFF) chybienie etykieta etykieta etykieta etykieta ?= adres linii adresu adresu adresu adresu 1(FFF) 2(FFF) 3(FFF) 4(FFF) linia linia linia linia indeks trafienia indeks bloku (xxFFF) (xxFFF) (xxFFF) (xxFFF) M PX/DM X pami ęć główna linia 00000 ..... linia 00ddd ..... linia 00FFF linia 01000 ..... linia 01ddd ..... linia 01FFF ..... linia zz000 ..... linia zzddd ... linia zzFFF ..... linia FF000 ..... linia FFddd ... linia FFFFF indeks słowa adres fizyczny dane Bufor blokowo-skojarzeniowy (set-associative) © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-16 ARCHITEKTURA KOMPUTERÓW Organizacja pamięci podręcznej a charakterystyki skuteczności m 0,020 2w 0,010 4w 0,005 8w 0,002 16w 0,001 1w=4 0,0005 32w cs ZaleŜność współczynnika chybień od rozmiaru linii (pamięć dwudroŜna) 2 4 8 16 32 64 128 m/m0 12 [kB] 1-d 2-d 4-d 8-d 10 8 6 4 2 cs Wpływ organizacji pamięci na częstość konfliktów odwzorowania 2 4 8 © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 16 32 64 128 [kB] 5-17 ARCHITEKTURA KOMPUTERÓW Strategie wymiany linii Aktualizacja bufora podczas przełączania zadań • bufor „ciepły” (warm cache) – część bufora nie jest wymieniana • bufor „zimny” (cold cache) – uniewaŜnianie całego bufora Algorytmy wymiany • losowy – tylko w buforze całkowicie asocjacyjnym ο – ryzyko usunięcia potrzebnej linii – 2–K (K – liczba lokacji w buforze) • kolejkowy (FIFO) ο – liczba bitów historii – log 2 S (S – liczba lokacji w podzbiorze) ο – ryzyko usunięcia potrzebnej linii – p 2–S ο – • wg uŜywalności (LRU) ο – liczba bitów historii – (S–1) log 2 S (S – liczba lokacji w podzbiorze) ο – ryzyko usunięcia potrzebnej linii – p 2–S © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-18 ARCHITEKTURA KOMPUTERÓW Strategie pobierania linii • pobranie wymuszone (demand fetching) – uaktywniane chybieniem • pobranie uprzedzające (prefetching) – na podstawie prognozy dostępu, nie powinno powodować opóźniania pobrań wymuszonych (rozmiar linii wpływa na szybkość wypełniania) Antycypacja jednostopniowa (one block lookahead, OBL) – w chwili pobrania linii i-tej z pamięci głównej naleŜy teŜ pobrać linię i+1 Pobranie uprzedzające (antycypowane) • automatyczne (prefetch always), inicjowane podczas kaŜdej próby dostępu → przy okazji zwrotu do linii i jest zawsze pobierana linia i+1 • implikowane w razie chybienia (prefetch on a miss) → wraz z wymuszonym wskutek chybienia pobraniem linii i zawsze jest pobierana linia i+1 • markowane (tagged prefetch) → podczas pierwszego, markowanego (tagged) zwrotu do linii i-tej, wraz z linią i jest pobierana linia i+1 © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-19 ARCHITEKTURA KOMPUTERÓW Intensywność pobrań uprzedzających • automatyczne (prefetch always) → obciąŜenie magistral o 20–80% większe niŜ w pobraniach wymuszonych • implikowane w razie chybienia (prefetch on a miss) → obciąŜenie magistral nieznacznie większe niŜ w pobraniach wymuszonych • markowane (tagged prefetch) → obciąŜenie magistral podobne jak w pobraniach wymuszonych m m linia 16B 0,100 0,050 0,100 0,050 0,010 0,005 0,010 0,005 0,001 cs 1 2 4 8 16 32 64 [kB] linia 32B 0,001 cs 2 4 8 16 32 64 128 [kB] Współczynnik chybień m w funkcji rozmiaru pamięci podręcznej cs dla strategii pobrań ( – wymuszone, ο – implikowane, • – markowane, automat.) © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-20 ARCHITEKTURA KOMPUTERÓW Zintegrowany model spójności pamięci podręcznej RM (WT) I ESH-W S ESH-W ESH-W RH, WH ESH-R RM (CB) WM|AOW (CB) M RH,WH WH ESH-R E ESH-R RH Stany linii pamięci podręcznej obsługiwanej w trybie WT lub CB (I – niewaŜny (invalid), E – zgodny (exclusive), M – zmieniony (modified), S – współdzielony (shared)) M – chybienie (miss), H – trafienie (hit), R – podczas odczytu, W – podczas zapisu, ESH – podglądnięcie trafienia zewnętrznego (external snoop hit) © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-21 ARCHITEKTURA KOMPUTERÓW Strategia zapisu jednorazowego (write-once) (Pentium) niewiele rejestrów → duŜo zmiennych roboczych w pamięci → pierwszy zapis skrośny (WT), kolejne zapisy lokalne (CB) RM I ESH-W S ESH-W ESH-W ESH-R RH ESH-R CB→WT WH WT→CB ESH-R CB→WT WH M RH WH E ESH-R RH Stany linii pamięci podręcznej obsługiwanej w trybie WO L1: WT→CB, L2: CB – krótki czas zapisu, częściowa zgodność danych © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-22 ARCHITEKTURA KOMPUTERÓW Pełny model spójności (MESI) RM (WT) I ESH-W S ESH-W WH (WT) ESH-R RH (WT) WH (WO) ESH-W RM (CB) ESH-R (WO) ESH-R (WO) RH (CB) M WH (CB) WH (CB) ESH-R (CB) RH (CB) E ESH-R (CB) Model spójności wielopoziomowej pamięci podręcznej (protokół MESI) Obsługa pamięci dwupoziomowej: L1: WT, L2: WT – długi czas zapisu, całkowita zgodność danych L1: CB, L2: CB – najkrótszy czas zapisu, utrata zgodności danych po zapisie L1: WT, L2: CB – krótszy czas zapisu, zgodność danych L1-L2 L1: CB, L2: WT – utrata zgodności danych po zapisie, długi czas wymiany © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-23 ARCHITEKTURA KOMPUTERÓW Wymiana linii – aspekty czasowe CB RM→LF R BUF R BUF A R BUF R BUF AD LA D DR0 DR1 DR2 DR3 DW0 DW1 DW0 DW1 DW1 DW0 R/#W RM→LF A R BUF R BUF A CB R BUF R BUF AD LA D DR0 DR1 DR2 DR3 DW0 DW1 R/#W HOLD HLDA ↓ © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-24 ARCHITEKTURA KOMPUTERÓW Rozszerzony model spójności RM/WT I S ESH-W RM ESH-W WH/WT ESH-R RH/WT WT ESH-W RM/CB A CB WH/CB M RH/CB WH/CB ESH-R/CB E ESH-R RH/CB (I – niewaŜny (invalid), E – zgodny (exclusive), M – zmieniony (modified), A – przydzielony (allocated), S – współdzielony (shared)) RH / WH – trafienie podczas odczytu (R) / zapisu (W), RM – chybienie podczas odczytu (read miss), ESH – podglądnięcie trafienia zewnętrznego (external snoop hit), © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-25 ARCHITEKTURA KOMPUTERÓW Architektura systemu pamięci podręcznej (1) przesyłanie danych między procesorem a pamięcią podręczną: • przez magistralę systemową – sterownik typu look-aside (LA) • przez separowaną magistralę lokalną – sterownik typu look-through (LT) procesor sterownik LA L2 cache L1 cache rejestry urządzenie zewnętrzne urządzenie zewnętrzne trafienie bufor magistrali pamięci magistrala pamięci pamięć główna Architektura pamięci podręcznej typu look-aside © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-26 ARCHITEKTURA KOMPUTERÓW Architektura systemu pamięci podręcznej (2) procesor sterownik LT L2 cache L1 cache magistrala lokalna rejestry urządzenie zewnętrzne urządzenie zewnętrzne bufor magistrali pamięci pamięć główna magistrala pamięci Architektura pamięci podręcznej typu look-through sterownik podglądający (look-aside) • wada – blokowanie magistrali systemowej podczas transferów • zaleta – prostota konstrukcji sterownik pośredniczący (look-through) • wada – skomplikowana struktura • zaleta – odciąŜenie magistrali systemowej (transfery magistralą lokalną) © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-27 ARCHITEKTURA KOMPUTERÓW Przyspieszanie translacji adresu podczas dostępu do pamięci podręcznej a) trafienie b) trafienie DPA C CPU VA MMU chybienie C RPA VA RA CPU M VPA MMU chybienie = ? ≠ M RPA Translacja adresu wirtualnego podczas dostępu do pamięci podręcznej: a) sekwencyjna, b) równoległa. CPU – procesor, MMU – jednostka zarządzania pamięcią, M – pamięć główna, C – pamięć podręczna, VA – adres wirtualny, RA – adres rzeczywisty, VPA – adres strony wirtualnej, RPA – adres strony rzeczywistej, DPA – bezpośredni adres na stronie © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-28 ARCHITEKTURA KOMPUTERÓW Spójność pamięci w systemie wieloprocesorowym Spójność • zgodność wszystkich kopii informacji, albo • znajomość (świadomość) lokalizacji informacji aktualnej Protokół uzgadniania • działania procesora (CPU action) • działania na magistrali (bus action) – podglądanie magistrali (snooping) Modele spójności systemu wieloprocesorowego ze wspólna pamięcią • zapisz–uniewaŜnij (write–invalidate) o Synapse– aktualizacja lokalna, inne kopie uniewaŜniane o Illinois – aktualizacja lokalna, kopia markowana (wyłączna – dzielona), podobny protokół jak w modelu MESI o Berkeley – aktualizacja lokalna, inne kopie tylko do odczytu • zapisz–aktualizuj (write–update) o Firefly – aktualizacja globalna, kopia markowana (wyłączna – dzielona) o Dragon – aktualizacja ograniczona (z wyłączeniem pamięci głównej), kopia markowana (wyłączna – dzielona) © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-29 ARCHITEKTURA KOMPUTERÓW Pamięć podręczna dysku (disk cache) obsługa : copy back (write through wymusza niepotrzebne zapisy) rozmiar: sektor, ścieŜka, cylinder itp. DB DB dyski dyski DMA DMA dyski dyski „RAM” MoŜliwe usytuowania bufora pamięci podręcznej dysku © Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-30