Architektura Systemów Komputerowych

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

Architektura komputerów

Hierarchia pamięci w systemie komputerowym

architektura komputerów w. 7 Cache

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

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

Architektura komputerów

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

Logiczny model komputera i działanie procesora. Część 1.

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

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

ARCHITEKTURA PROCESORA,

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

Zarządzanie pamięcią w systemie operacyjnym

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

Architektura komputerów

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

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

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

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

dr inż. Jarosław Forenc

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

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

Stronicowanie w systemie pamięci wirtualnej

Budowa i zasada działania komputera. dr Artur Bartoszewski

System pamięci. Pamięć wirtualna

System pamięci. Pamięć podręczna

Architektura mikroprocesorów TEO 2009/2010

Mikroprocesor Operacje wejścia / wyjścia

Architektura komputerów

LEKCJA TEMAT: Zasada działania komputera.

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

Architektura potokowa RISC

System pamięci. Pamięć podręczna

System obliczeniowy laboratorium oraz. mnożenia macierzy

Architektura Systemów Komputerowych

Systemy operacyjne III

System pamięci. Pamięć wirtualna

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

Architektura komputerów

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

Architektura komputerów

System pamięci. Pamięć wirtualna

Budowa komputera Komputer computer computare

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

Schematy zarzadzania pamięcia

Programowanie Niskopoziomowe

, " _/'--- " ~ 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 /.

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

Budowa systemów komputerowych

Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i

Programowanie współbieżne Wykład 2. Iwona Kochańska

Ograniczenia efektywności systemu pamięci

Zarządzanie pamięcią operacyjną

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

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

Architektura Systemów Komputerowych

Dydaktyka Informatyki budowa i zasady działania komputera

Projektowanie. Projektowanie mikroprocesorów

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

Pytania. W obecnie wykorzystywanych komputerach osobistych jest stosowana architektura: jednoszynowa. pamięciowo-centryczna.

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

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Cele RAID. RAID z ang. Redundant Array of Independent Disks, Nadmiarowa macierz niezależnych dysków.

Test dysku Intel SSD DC S GB. Wpisany przez Mateusz Ponikowski Wtorek, 22 Październik :22

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Tadeusz Pankowski

Przykładowe sprawozdanie. Jan Pustelnik

Architektura systemów informatycznych

Ograniczenia efektywności systemu pamięci

Architektura Systemów Komputerowych

Budowa Mikrokomputera

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

Wprowadzenie do architektury komputerów. Taksonomie architektur Podstawowe typy architektur komputerowych

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Urządzenia zewnętrzne

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall

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

dr inż. Jarosław Forenc

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu

dr inŝ. Jarosław Forenc

Urządzenia wejścia-wyjścia

Zasada działania pamięci RAM Pamięć operacyjna (robocza) komputera - zwana pamięcią RAM (ang. Random Access Memory - pamięć o swobodnym dostępie)

Potrzeba instalacji w napędach SSD akumulatorów ograniczała jednak możliwości miniaturyzacji takich napędów.

Podstawy Informatyki Systemy sterowane przepływem argumentów

Architektura i administracja systemów operacyjnych

Architektura komputerów

Mikroprocesory rodziny INTEL 80x86

Teoretyczne podstawy informatyki

Modernizacja zestawu komputerowego. Marek Pudełko Urządzenia Techniki Komputerowej

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

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]

Programowanie mikroprocesorów jednoukładowych

Przetwarzanie potokowe pipelining

Zrównoleglenie i przetwarzanie potokowe

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Architektura systemów komputerowych. dr Artur Bartoszewski

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Transkrypt:

Architektura Systemów Komputerowych Wykład 9: Pamięć podręczna procesora jako warstwa hierarchii pamięci Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie

Plan Zasada działania pamięci podręcznej Pamięć podręczna pełnoascocjacyjna Pamięć podręczna bezpośrednio adresowana Pamięć podręczna zbiorowo-asocjacyjna Model wydajności pamięci podręcznej Reakcja pamięci podręcznej na operacje zapisu danych Systemy pamięci podręcznej inkluzywne i wyłączne Spójność hierarchii pamięci

Pamięć podręczna procesora podstawy Warstwa hierarchii pamięci umieszczona pomiędzy rejestrami i pamięcią operacyjną Niewidoczna w użytkowym modelu programowym współcześnie oprogramowanie użytkowe może mieć ograniczoną kontrolę nad pracą pamięci cache Stanowi bufor dla pamięci operacyjnej Niezbędna we współczesnych komputerach z powodu znaczącej dysproporcji pomiędzy wydajnością procesora i pamięci operacyjnej Pierwszy raz wprowadzona w komputerach serii IBM S/310 około1968 roku

Pamięć podręczna procesora Adres Procesor Cache PAO Dane

Zasada działania Przy każdym odwołaniu procesora do pamięci następuje sprawdzenie, czy dana spod określonego adresu znajduje się w pamięci podręcznej Brak danej w pamięci podręcznej chybienie pamięci podręcznej (cache miss) dana zostaje odczytana z pamięci i przesłana do procesora po drodze dana wraz z jej adresem jest zapisywana do pamięci podręcznej jeśli pamięć podręczna była pełna trzeba z nej coś usunąć przy następnym odwołaniu dana będzie już w pamięci podręcznej Odnalezienie danej w pamięci podręcznej trafienie pamięci podręcznej (cache hit) dana zostaje odczytana z pamięci podręcznej odwołanie do pamięci operacyjnej jest zbędne czas odwołania do danej w pamięci podręcznej jest znacznie krótszy. niż czas dostępu do pamięci operacyjnej

Zasada lokalności odwołań W ograniczonym odcinku czasu odwołania procesora do pamięci są skupione na niewielkim fragmencie przestrzeni adresowej Wykres przedstawia orientacyjny rozkład prawdopodobieństwa odwołań do poszczególnych adresów w czasie od t 0 do t 0 + t, przy założeniu, że w chwili t 0 nastąpiło odwołanie do A 0

Wnioski z zasady lokalności Zakres odwołań jest ograniczony zakres adresów, do których odwołuje się procesor w ograniczonym odcinku czasu nazywa się zbiorem roboczym stosunkowo niewielki bufor może przechowywać znaczącą część obiektów, do których w danym odcinku czasu odwołuje się procesor Odwołania są na ogół powtarzane Należy zapamiętywać dane, do których procesor wykonuje dostęp, bo zapewne wkrótce będzie znów ich potrzebował Bardzo prawdopodobne są kolejne odwołania do kolejnych adresów przy napełnianiu bufora wskutek dostępu ze strony procesora warto pobrać z pamięci kilka kolejnych komórek na zapas

Pamięć podręczna pełnoasocjacyjna Najbardziej intuicyjny typ pamięci podręcznej Trudna i niezbyt efektywna w implementacji małe pojemności obecnie nie stosowana Zbudowana na bazie pamięci asocjacyjnej pamięć asocjacyjna nie ma adresów dostęp do danej następuje poprzez porównanie danej w pamięci cache ze wzorcem dostarczonym z zewnątrz pamięć odpowiada poprzez wystawienie danych zgodnych ze wzorcem lub informacji, że takich danych nie ma w pamięci działanie można wytłumaczyć na przykładzie książki telefonicznej szukamy znanego nazwiska odczytujemy numer telefonu nie zwracamy uwagi na położenie nazwiska w książce (nr strony, kolumnę)

Pamięć podręczna pełnoasocjacyjna model Adres z procesora Znaczniki (Adresy) 0x1234 Dane 0xABCD Dane

Pamięć podręczna pełnoasocjacyjna charakterystyka W każdej komórce pamięci cache może być przechowywana dana spod dowolnego adresu pamięć podręczna może równocześnie przechowywać dane spod dowolnych adresów - duża elastyczność w porównaniu z następnymi architekturami Wyznaczanie linii do zastępowania LRU lub losowe LRU algorytm kosztowny w implementacji sprzętowej algorytm losowy daje zróżnicowane wyniki Każda komórka wyposażona w komparator znacznika trudna implementacja niewielka pojemność (do ok. 16 KB), ograniczenie szybkości dostępu Jeśli rozmiar zbioru roboczego przekracza pojemność pamięci podręcznej - wszystkie odwołania będą kończyły się chybieniami

Konstrukcja pamięci podręcznej Dane są przechowywane w pamięci podręcznej nie w postaci pojedynczych słów czy bajtów, lecz bloków, zazwyczaj o długości 4 razy większej od rozmiaru słowa pamięci bloki te są wyrównane naturalnie adres pierwszego bajta jest podzielny przez długość bloku Element pamięci podręcznej zawierający blok danych i związane z nim znaczniki (w tym znacznik adresu) jest nazywany linią Najmniej znacząca część adresu służy do wyboru bajta lub słowa z linii kolejne bity adresu ą używane do stwierdzenia czy poszukiwana dana znajduje się w pamięci podręcznej

Pamięć podręczna bezpośrednio adresowana Zbudowana na bazie zwykłej, szybkiej pamięci RAM i jednego komparatora bardzo prosta w realizacji, szybka i wydajna dzięki prostocie budowy może mieć stosunkowo dużą pojemność Proste, lecz zupełnie nieintuicyjne działanie najmniej znaczące bity adresu służą do wyboru bajta z linii środkowa, mniej znacząca część adresu procesora służy jako adres pamięci RAM; na jej podstawie w każdym cyklu dostępu jest wybierana pojedyncza linia każda linia zawiera znacznik adresu i dane pole znacznika adresu zawiera bardziej znaczącą część adresu danej zapamiętanej w polu danych jest ono porównywane z najbardziej znaczącą częścią adresu wystawionego przez procesor

Pamięć podręczna bezpośrednio adresowana 0x1234 Adres z procesora 0x12 0x4 0x3 Znaczniki (Adresy) Dane 0x12 wybrana linia 16 bajtów wybór części słowa komparator Dane

Działanie bezpośrednio adresowanej pamięci podręcznej W każdym cyklu następuje wybór jednej linii zaadresowanej przez mniej znaczącą część adresu Pamięć cache stwierdza trafienie, jeśli znacznik adresu wybranej linii jest równy najbardziej znaczącej części adresu wystawionego przez procesor W przypadku trafienia dane są transmitowane z pamięci podręcznej do procesora W przypadku chybienia wymianie podlega wybrana linia w polu znacznika zostaje zapisana najbardziej znacząca część adresu w polu danych zostają zapamiętane dane odczytane z pamięci

Charakterystyka bezpośrednio adresowanej pamięci podręcznej Niskie koszty, duża pojemność, wysoka wydajność Algorytm zastępowania linii wymuszony przez budowę pamięci cache dane spod określonego adresu mogą znaleźć się wyłącznie w jednej, z góry określonej linii pamięci podręcznej w pamięci podręcznej nie można zapamiętać dwóch danych, których środkowe części adresu są identyczne w praktyce nie jest to barto częsty przypadek, ale niekiedy się zdarza Przy ciągłym zakresie adresów zbioru roboczego (pętla programu, tablica) pamięć podręczna przyspiesza odwołania do pamięci, dopóki zbiór roboczy jest mniejszy niż dwukrotna pojemność pamięci podręcznej lepiej niż w przypadku pełnoasocjacnej pamięci podręcznej

Zbiorowo-asocjacyjna pamięć podręczna Powstaje przez połączenie pewnej liczby pamięci podręcznych bezpośrednio adresowanych (zwanych blokami) Dana spod określonego adresu może być przechowywana w tylu miejscach, ile jest bloków w każdym cyklu dostępu następuje poszukiwanie danej w pojedynczej linii każdego z bloków zestaw linii wybieranych w każdym cyklu jest nazywany zbiorem zbiór zachowuje się jak mała pełnoasocjacyjna pamięć podręczna Liczba bloków jest zwana stopniem asocjacyjności pamięci podręcznej używa się również określeń dwudrożna lub czterodrożna pamięć podręczna Zbiorowo-asocjacyjna pamięć podręczna może być rozpatrywana również jako złożenie pewnej liczby pełnoasocjacyjnych pamięci podręcznych

Zbiorowo-asocjacyjna pamięć podręczna 0x1234 Adres z procesora 0x3 Znaczniki (Adresy) Dane Znaczniki (Adresy) Dane Znaczniki (Adresy) Dane 0x30 0x12 0x11 0x4 0x12 =? =? =? Dane

Działanie zbiorowo-asocjacyjnej pamięci podręcznej Budowa pamięci cache musi gwarantować, że dana spod określonego adresu może zostać zapisana tylko w jednym bloku W przypadku chybienia należy wyznaczyć ze zbioru jedną linię do zastąpienia można użyć algorytmu LRU, który przy małej liczbie linii daje się zrealizować sprzętowo przy większej liczbie linii algorytm pseudo-lru lub losowy Charakterystyka w ogólności podobna do i bezpośrednio adresowanej pamięci podręcznej, ale z eliminacją przypadku z pokrywającymi się środkowymi częściami adresu mniejsza wrażliwość pamięci cache na nakładanie się adresów danych podobnie jak w przypadku pełnoasocjacyjnej pamięci podręcznej

Rodzaje pamięci podręcznej podsumowanie Najczęściej spotykanym typem pamięci podręcznej jest pamięć zbiorowo-asocjacyjna charakterystyka lepsza od bezpośrednio adresowanych przy niewielkim wzroście komplikacji tam, gdzie czas dostępu jest wielkością krytyczną - używa się pamięci podręcznej o małej asocjacyjności Przy bardzo ostrych wymaganiach na szybkość używa się pamięci podręcznej bezpośrednio adresowanej lub dwudrożnej zbiorowo-asocjacyjnej Pamięć podręczna pełnoasocjacyjna nie jest stosowana do przechowywania danych i kodu niekiedy znajduje zastosowanie w innych miejscach komputera

Współczynnik trafień (hit ratio) Definiowany jako stosunek liczby trafień do całkowitej liczby odwołań do pamięci w badanym przedziale czasu Zależy od: h = n cache n total pojemności pamięci podręcznej organizacji pamięci podręcznej i wynikającego z niej algorytmu wymiany wykonywanego programu dla każdej pamięci cache można podać przykład programu o h = 0 i innego, o h bliskim 1 Wiarygodny pomiar i porównanie współczynnika trafień wymaga uzgodnienia budowy testu zwykle używa się serii programów o zróżnicowanej charakterystyce odwołań, np. kompilatora, edytora, bazy danych, programu obliczeniowego

Współczynnik trafień 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 0 8 16 24 32 40 48 56 64 Wykres przedstawia orientacyjny przebieg zależności współczynnika trafień od pojemności pamięci podręcznej W zakresie wartości od 0 do 0,9 h zależy głównie od pojemności pamięci podręcznej wartość 0.9 jest osiągana przy pojemności pamięci podręcznej rzędu 8 KB W zakresie powyżej 0,9 istotny wpływ ma również organizacja i algorytmy wymiany wyższa asocjacyjność daje wyższy współczynnik trafień

Współczynnik trafień a wydajność Współczynnik trafień jest liczbą niemianowaną Nie wyraża wzrostu wydajności wynikającego z użycia pamięci podręcznej Pamięć podręczna służy przyspieszeniu odwołań do hierarchii pamięci Wydajność może być wyrażona poprzez odniesienie ilości danych do czasu poprzez szybkość transmisji, np. w MB/s poprzez średni czas transmisji, w jednostkach czasu na transfer niezależnie od częstotliwości procesora w cyklach procesora na transfer

Średni czas dostępu Średni czas dostępu dla hierarchii pamięci złożonej z pamięci podręcznej i operacyjnej: t AVG = h t CACHE + (1 h) t PAO h współczynnik trafień pamięci podręcznej m = 1 h - współczynnik chybień pamięci podręcznej (miss ratio) Pamięć podręczna dołączona do procesora musi być skonstruowana tak, aby mogła dostarczać dane z szybkością wymaganą przez procesor (bez zatrzymań) dla dalszych rozważań przyjmujemy t CACHE = 1

Średni czas dostępu hierarchii pamięci h t PAO 5 10 50 0,90 1,40 1,90 5,90 0,95 1,20 1,45 3,45 0,99 1,04 1,09 1,49 Tabelka przedstawia średni czas dostępu w zależności od współczynnika trafień i dysproporcji wydajności pamięci operacyjnej i podręcznej Wartości odpowiadają wartości spowolnienia procesora w stosunku do sytuacji idealnej W zakresie czerwonym procesor pracuje kilkakrotnie wolniej niż przy idealnej hierarchii pamięci

Wydajność pamięci podręcznej - wnioski Intuicyjnie, wysoki współczynnik trafień nie zapewnia zbalansowania wydajności procesora i hierarchii pamięci istotny jest nie tyle współczynnik trafień, co dysproporcja pomiędzy wydajnością pamięci podręcznej i operacyjnej We współczesnych komputerach czas dostępu pamięci może być ponad 100 razy dłuższy od czasu cyklu procesora z tabelki wynika, że nawet bardzo wysoki współczynnik trafień nie umożliwia wyrównania wydajności Pojedyncza pamięć podręczna może skutecznie zniwelować różnicę wydajności nie przekraczającą jednego rzędu dziesiętnego Poprawa średniego czasu dostępu wymaga poprawy czasu dostępu poza pamięcią podręczną - można to uzyskać zastępując pamięć operacyjną kolejnymi pamięciami podręcznymi i pamięcią operacyjną w ten sposób powstaje wielopoziomowy system pamięci cache

Wielopoziomowa pamięć podręczna Wymóg nadążania pamięci podręcznej pierwszego poziomu (L1) ogranicza jej pojemność i asocjacyjność im większa pojemość pamięci podręcznej tym wolniejsza im wyższa asocjacyjność tym dłuższy czas dostępu Pamięć podręczna drugiego poziomu (L2) może być wolniejsza (np. 5 razy) dzięki temu: może mieć wyższą asocjacyjność może mieć znacząco większą pojemność Jeśli pamięć podręczna L2 nie zapewnia odpowiednio krótkiego średniego czasu dostępu, w strukturze komputera umieszcza się trzeci poziom pamięci podręcznej L3, większą i wolniejszą od L2

Pamięć podręczna a zapis danych W dotychczasowych rozważaniach rozpatrywaliśmy wyłącznie odczyt danych lub instrukcji z pamięci Możliwe zachowanie pamięci podręcznej przy zapisie: zapis przezroczysty zapis wykonywany zawsze do pamięci, a w przypadku trafienia również do pamięci podręcznej zapis zwrotny zapis do pamięci wykonywany tylko wtedy, kiedy jest to niezbędne Warianty zapisu zwrotnego: bez alokacji przy chybieniu zapisu w razie chybienia zachodzi wyłącznie zapis do pamięci operacyjnej, a w razie trafienia wyłącznie do pamięci podręcznej z alokacją przy chybieniu zapisu zapis jest zawsze wykonywany wyłącznie do pamięci podręcznej Przy zapisie zwrotnym usunięcie linii z pamięci podręcznej może wymagać zapisu usuwanej linii do pamięci operacyjnej

Pamięć podręczna strategie zapisu danych Typ pamięci cache Trafienie odczytu Chybienie odczytu Trafienie zapisu Chybienie zapisu Zapis przezroczysty P C C M P C P M P C P M Zapis zwrotny bez alokacji przy chybieniu zapisu P C C M C M P C P C P M Zapis zwrotny z alokacją przy chybieniu zapisu P C C M C M P C P C C M C M P C Oznaczenia: C cache, P procesor, M PAO Kolor czerwony dane usuwane z pamięci podręcznej w wyniku zastępowania linii

Inkluzywna pamięć podręczna Implementowane do ok. 2000 roku Przepływ danych: PAO L2 L1 procesor Każdy obiekt zawarty w wyższej warstwie jest również obecny w warstwie niższej Efektywna sumaryczna pojemność pamięci podręcznej jest równa pojemności największej z warstw pamięci podręcznej Pojemność L2 musi być znacząco większa od L1

Wyłączna pamięć podręczna Od około 2000 roku Pamięć podręczna L2 jest napełniana wyłącznie obiektami usuwanymi z L1 jest to tzw. cache ofiar (victim cache) określenie odnosi się do linii ofiar algorytmu zastępowania Przepływ danych: PAO L1 procesor, L1 L2 L2 zawiera głównie obiekty nieobecne w L1 Efektywna sumaryczna pojemność pamięci podręcznej jest równa sumie pojemności poszczególnych warstw pamięci podręcznej Pojemność L2 może być równa lub większa od L1 Asocjacyjność L2 powinna być większa od asocjacyjności L1 w przeciwnym przypadku sprawność przechwytywania ofiar bylaby niewielka. Przykłady K7 i K8 firmy AMD, Pentium 4 i Core firmy Intel

Wyłączna pamięć podręczna główne ścieżki danych Procesor L1 L2 PAO

Spójność hierarchii pamięci Hierarchię pamięci musi cechować spójność: każdy dostęp do danego adresu musi zwrócić tę samą wartość danej, niezależnie od warstwy, w której jest fizycznie realizowany Problem z utrzymaniem spójności powstaje, gdy istnieje więcej niż jedna ścieżka dostępu do hierarchii pamięci, np.: procesor o architekturze Harvard-Princeton z oddzielnymi pamięciami L1 kodu i danych dwa procesory z oddzielnymi pamięciami L1 i wspólną dalszą warstwą hierarchii pamięci procesor z pamięcią podręczną i sterownik wejścia-wyjścia, wykonujący bezpośrednie dostępy do pamięci z pominięciem pamięci podręcznej Spójność nie wymaga utrzymywania identycznej zawartości we wszystkich warstwach, a jedynie zagwarantowania, że każdy dostęp będzie dotyczył aktualnej wartości danej

Metody utrzymywania spójności Unieważnianie całej zawartości pamięci podręcznej przy wykryciu odwołania zewnętrznego stosowane dawniej przy pamięciach podręcznych o bardzo małych pojemnościach Selektywne unieważnianie linii potencjalnie zawierających adres odwołania zewnętrznego stosowane do ok. 1990 roku przy pamięciach podręcznych o pojemnościach do kilku KB Programowe unieważnianie całej zawartości pamięci podręcznej dostępne dla systemu operacyjnego ograniczone zastosowanie z powodu spadku wydajności Selektywna zmiana stanu linii po stwierdzeniu zgodności adresu przesłania między pamięciami cache metody używane współcześnie wydajne, ale skomplikowane w realizacji. wymagają realizacji złożonych protokołów utrzymania spójności

Protokoły utrzymania spójności Automat zrealizowany oddzielnie dla każdej linii Stany linii: M modified linia ważna, jedyna aktualna kopia we własnej pamięci cache, zawartość pamięci nieaktualna E exclusive linia ważna, jedyna kopia we własnej pamięci podręcznej, identyczna z zawartością pamięci I invalid linia nieważna S shared linia ważna, jednakowa kopia u wszystkich, identyczna z zawartością pamięci O owned linia ważna, jednakowa kopia u wszystkich, u pozostałych stan S, zawartość pamięci nieaktualna Protokoły nazwy pochodzą od zbioru obsługiwanych stanów MEl, MESI, MOESI Im więcej stanów, tym mniej zbędnych unieważnień

DZIĘKUJĘ ZA UWAGĘ!