W komputerze z programem zintegrowanym programy i dane mają tedencję do skupiania w wymiarze przestrzennym i czasowym.

Podobne dokumenty
ARCHITEKTURA KOMPUTERÓW Bufory pamięci bufor zawiera kopie aktualnie przetwarzanych danych

Architektura komputerów

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

architektura komputerów w. 7 Cache

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

architektura komputerów w. 8 Zarządzanie pamięcią

METODY ELIMINACJI STUDENTÓW INFORMATYKI. Czyli co student INF-EKA powinien wiedzieć o MESI...

Ograniczenia efektywności systemu pamięci

Organizacja pamięci współczesnych systemów komputerowych : pojedynczy procesor wielopoziomowa pamięć podręczna pamięć wirtualna

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Plan wykładu. Architektura systemów komputerowych. Strategie zapisu. Cezary Bolek

System pamięci. Pamięć podręczna

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

Schematy zarzadzania pamięcia

Systemy operacyjne III

Architektura Systemów Komputerowych

System pamięci. Pamięć podręczna

Architektura komputerów

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

przypisanie różnym strukturom programowym tych samych obszarów pamięci fizycznej

Ograniczenia efektywności systemu pamięci

Architektura komputerów

System pamięci. Pamięć wirtualna

Hierarchia pamięci w systemie komputerowym

Podstawy. Pamięć wirtualna. (demand paging)

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Zrównoleglenie i przetwarzanie potokowe

Zarządzanie pamięcią operacyjną

Współpraca procesora ColdFire z pamięcią

Programowanie mikroprocesorów jednoukładowych

Stronicowanie w systemie pamięci wirtualnej

SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią

System pamięci. Pamięć wirtualna

Rys. 1. Podłączenie cache do procesora.

System pamięci. Pamięć wirtualna

Zarządzanie zasobami pamięci

przypisanie różnym strukturom programowym tych samych obszarów pamięci fizycznej

Architektura komputerów

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH. Poziomy abstrakcji cyfrowego systemu komputerowego. Procesor i pamięć. organizacja pamięci

Dr inż. hab. Siergiej Fialko, IF-PK,

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

, " _/'--- " ~ n\l f.4e ' v. ,,v P-J.. ~ v v lu J. ... j -:;.",II. ,""", ",,> I->~" re. dr. f It41I r> ~ '<Q., M-c 'le...,,e. b,n '" u /.

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Architektura komputerów

System obliczeniowy laboratorium oraz. mnożenia macierzy

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

Technologie informacyjne (2) Zdzisław Szyjewski

Architektura komputerów

Pamięć. Jan Tuziemski Źródło części materiałów: os-book.com

Wstęp do informatyki. Interfejsy, urządzenia we/wy i komunikacja. Linie magistrali

UKŁADY PAMIĘCI. Tomasz Dziubich

dr inż. Jarosław Forenc

Zarządzanie pamięcią. Od programu źródłowego do procesu. Dołączanie dynamiczne. Powiązanie programu z adresami w pamięci

Od programu źródłowego do procesu

ARCHITEKTURA KOMPUTERÓW

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

Architektura systemów informatycznych

Urządzenia wejścia-wyjścia

Pamięci półprzewodnikowe w oparciu o książkę : Nowoczesne pamięci. Ptc 2013/

16. Taksonomia Flynn'a.

obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora)

Mapowanie bezpośrednie

Wprowadzenie do architektury komputerów. Pamięci w systemach komputerowych Pamięć podręczna

Magistrala systemowa (System Bus)

ARCHITEKTURA PROCESORA,

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Urządzenia zewnętrzne

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Pamięć. Podstawowe własności komputerowych systemów pamięciowych:

Zarządzanie pamięcią operacyjną

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Zarządzanie pamięcią w systemie operacyjnym

Projektowanie. Projektowanie mikroprocesorów

43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Dotyczy jednostek operacyjnych i ich połączeń stanowiących realizację specyfikacji typu architektury

Wykład 7. Zarządzanie pamięcią

Pamięci półprzewodnikowe

LEKCJA TEMAT: Zasada działania komputera.

Pamięci półprzewodnikowe na podstawie książki: Nowoczesne pamięci

Architektura systemu komputerowego

Organizacja typowego mikroprocesora

Systemy operacyjne system przerwań

Zarządzanie pamięcią operacyjną zagadnienia podstawowe

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Rozproszona pamiêæ dzielona - 1

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Wydajność programów sekwencyjnych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Budowa komputera Komputer computer computare

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

Architektura systemów komputerowych. dr Artur Bartoszewski

Organizacja pamięci wewnętrznej komputerów

Transkrypt:

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

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) AT AH A 2 A N A 0 A 1 M(A 2) M(A N) M(A 0) M(A 1) M(A N) M(A 1) M(A 2) M(A 0) N 4 3 2 1 0 (3) Dana N N 3 Dana 4 1 Dana 1 Dana 2 Dana 0 bufor sekwencyjny kolejka bufor blokowo-skojarzeniowy 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

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 t mp ś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 ( tram + tmp ) w pamięci dwupoziomowej (inkluzywnej L1 L2) t a = ( 1 m1 ) tca 1 + ( m1 m2)( tca2 + tmp1) + m2( tram + tmp1 + tmp2 ) (m 1 > m 2, 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

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 t a s s ZaleŜność współczynnika chybień m i średniego czasu dostępu do pamięci t a od rozmiaru linii s dla ustalonej pojemności bufora cache Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-4

Pamięć wielopoziomowa MMU RAM rejestry L1 cache L2 cache pamięć główna pamięć wtórna t a 0,25 1ns 0,5 5ns 1 5ns 10 50ns 1 10ms rozmiar 1 4kB 8 64kB 64 512kB 256MB 4GB 20 120GB register cache 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

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ć 2 k 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) linia 0 status (1) status (i) status(n) etykieta adresu (1) etykieta adresu (i) etykieta adresu (N) 0 0 0 1 0 0 linia 1 linia i linia N RAM adres trafienie dane Schemat organizacji pamięci podręcznej Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-6

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

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 (2 N ) 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 2 k bajtów, transfer blokowy nałoŝenie 2 m transferów całą szerokością magistrali linia powinna zawierać 2 k+m =2 B bajtów rozmiar strony 2 P bajtów rozmiar bufora L1 2 N stron = 2 P+N bajtów łączna liczba linii w buforze L1 = 2 P+N B rozmiar bufora L2 2 W 2 N stron Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-8

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) Copy-back Allocate on write No allocate on write Write through 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

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 rh rm rh rm pamięć główna rejestry wh wm L1 cache bufor wh L2 cache (WT) raw (WT) raw wm bufor Bufory zapisu i ścieŝki przepływu danych w systemie pamięci Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-10

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

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

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 2 K (K liczba lokacji linii lub podzbiorów linii w buforze) Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-13

Odwzorowanie całkowicie skojarzeniowe CAM RAM pamięć główna status 1 status 2 etykieta adresu 1 etykieta adresu 2 linia xxx linia xxx linia 00000 linia 00001 status d etykieta adresu d linia xxx linia 00FFE linia 00FFF status N etykieta adresu N linia xxx linia 01000 chybienie......?= trafienie dane linia 0EFFF linia 0F000 linia 0F001 adres linii 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

Odwzorowanie bezpośrednie CAM status (000) status (001) status (ddd) status(ffe) status(fff) chybienie etykieta adresu (000) etykieta adresu (001) etykieta adresu (ddd) etykieta adresu (FFE) etykieta adresu (FFF)?= trafienie adres linii indeks linii adres fizyczny RAM linia (xx000) linia (xx001) linia (xxddd) linia (xxffe) linia (xxfff) dane 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 Bufor z odwzorowaniem bezpośrednim (direct mapped) Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-15

Odwzorowanie blokowo-skojarzeniowe (wielodroŝne) CAM status 1(000) status 2(000) status 3(000) status 4(000)...... status 1(ddd) status 2(ddd) status 3(ddd) status 4(ddd)... status 1(FFF) status 2(FFF) status 3(FFF) status 4(FFF) chybienie adres linii etykieta adresu 1(000) etykieta adresu 2(000) etykieta adresu 3(000) etykieta adresu 4(000) etykieta adresu 1(ddd) etykieta adresu 2(ddd) etykieta adresu 3(ddd) etykieta adresu 4(ddd)?=... etykieta adresu 1(FFF) etykieta adresu 2(FFF) etykieta adresu 3(FFF) etykieta adresu 4(FFF) indeks trafienia indeks bloku blok 000 linia (xx000) linia (xx000) linia (xx000) linia (xx000) blok ddd... linia (xxddd) linia (xxddd) linia (xxddd) linia (xxddd) blok FFF indeks słowa... linia (xxfff) linia (xxfff) linia (xxfff) linia (xxfff) RAM MPX/DMX 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 adres fizyczny dane Bufor blokowo-skojarzeniowy (set-associative) Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-16

Organizacja pamięci podręcznej a charakterystyki skuteczności m 0,020 2w 0,010 0,005 0,002 4w 8w 0,001 16w 1w=4 0,0005 32w cs 2 4 8 16 32 64 128 [kb] ZaleŜność współczynnika chybień od rozmiaru linii (pamięć dwudroŝna) m/m 0 12 10 8 6 4 2 2 4 8 16 Wpływ organizacji pamięci na częstość konfliktów odwzorowania Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-17 32 64 128 1-d 2-d 4-d 8-d cs [kb]

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

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

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 0,100 0,050 linia 16B m 0,100 0,050 linia 32B 0,010 0,005 0,010 0,005 0,001 0,001 cs cs 1 2 4 8 16 32 64 [kb] 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

Zintegrowany model spójności pamięci podręcznej I RM (WT) ESH-W S RH, WH ESH-R ESH-W ESH-W RM (CB) WM AOW (CB) RH,WH M 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

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) I RM ESH-W S ESH-R RH ESH-W ESH-W WH WT CB ESH-R CB WT WH RH M ESH-R CB WT 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

Pełny model spójności (MESI) I RM (WT) ESH-W S WH (WT) ESH-R RH (WT) ESH-W ESH-W WH (WO) RM (CB) ESH-R (WO) ESH-R (WO) RH (CB) WH (CB) M WH (CB) ESH-R (CB) E RH (CB) 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

Wymiana linii aspekty czasowe RM LF CB A AD R BUF R BUF R BUF R BUF LA D DR0 DR1 DR2 DR3 DW0 DW1 DW0 DW1 R/#W A RM LF R BUF R BUF AD R BUF R BUF A CB LA D DR0 DR1 DR2 DR3 DW0 DW1 DW0 DW1 R/#W HOLD HLDA Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-24

Rozszerzony model spójności ESH-W I ESH-W RM/WT ESH-W RM RM/CB S A WT WH/WT ESH-R RH/WT CB WH/CB RH/CB M 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 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 rejestry L1 cache trafienie urządzenie zewnętrzne urządzenie zewnętrzne 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 systemu pamięci podręcznej (2) procesor sterownik LT L2 cache rejestry L1 cache magistrala lokalna 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

Przyspieszanie translacji adresu podczas dostępu do pamięci podręcznej a) trafienie b) C CPU VA MMU RA CPU trafienie DPA VA C RPA M =? chybienie M chybienie VPA MMU 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

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

Pamięć podręczna dysku (disk cache) obsługa : copy back (write through wymusza niepotrzebne zapisy) rozmiar: sektor, ścieŝka, cylinder itp. dyski DB DB dyski dyski DMA DMA dyski RAM MoŜliwe usytuowania bufora pamięci podręcznej dysku Janusz Biernat, CA-A- pamiec podreczna, 14 listopada 2004 5-30