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

Podobne dokumenty
Architektura Systemów Komputerowych

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

Architektura komputerów

Architektura komputerów

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

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

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

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

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

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

System pamięci. Pamięć podręczna

architektura komputerów w. 7 Cache

Opracował: Grzegorz Cygan 2012 r. CEZ Stalowa Wola. Pamięci półprzewodnikowe

Temat: Pamięci. Programowalne struktury logiczne.

Hierarchia pamięci w systemie komputerowym

Architektura komputerów

Podstawy Informatyki JA-L i Pamięci

Architektura systemu komputerowego

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

System pamięci. Pamięć podręczna

Architektura komputerów

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

RODZAJE PAMIĘCI RAM. Cz. 1

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

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

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

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

Pamięci półprzewodnikowe

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Wykład II. Pamięci półprzewodnikowe. Studia Podyplomowe INFORMATYKA Architektura komputerów

Stronicowanie w systemie pamięci wirtualnej

Technologia informacyjna. Urządzenia techniki komputerowej

Budowa systemów komputerowych

Dydaktyka Informatyki budowa i zasady działania komputera

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

Budowa i zasada działania komputera. dr Artur Bartoszewski

Wykład II. Pamięci operacyjne. Studia stacjonarne Pedagogika Budowa i zasada działania komputera

UKŁADY PAMIĘCI. Tomasz Dziubich

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

Zarządzanie pamięcią w systemie operacyjnym

Pamięć RAM. Pudełko UTK

Budowa pamięci RAM Parametry: tcl, trcd, trp, tras, tcr występują w specyfikacjach poszczególnych pamięci DRAM. Czym mniejsze są wartości tych

Zarządzanie pamięcią operacyjną

Wykład II. Pamięci półprzewodnikowe. Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych

Pamięć operacyjna komputera

ARCHITEKTURA PROCESORA,

Systemy operacyjne III

Architektura komputerów

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

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

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

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

dr inż. Jarosław Forenc

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

Wykład II. Pamięci półprzewodnikowe. Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych

dr inż. Jarosław Forenc

Podzespoły Systemu Komputerowego:

Cyfrowe układy scalone

Urządzenia wejścia-wyjścia

Programowanie Niskopoziomowe

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

WOJEWÓDZKI KONKURS INFORMATYCZNY DLA UCZNIÓW DOTYCHCZASOWYCH GIMNAZJÓW ETAP SZKOLNY BIAŁYSTOK, 22 LISTOPADA 2017 R.

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

LEKCJA. TEMAT: Pamięć operacyjna.

Współpraca procesora ColdFire z pamięcią

System pamięci. Pamięć wirtualna

Cyfrowe układy scalone

Architektura mikroprocesorów TEO 2009/2010

Struktura systemów komputerowych

Architektura systemów informatycznych

LEKCJA TEMAT: Zasada działania komputera.

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 I. Podstawowe pojęcia Pamięci półprzewodnikowe. Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Mikroprocesory rodziny INTEL 80x86

Dyski półprzewodnikowe

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia

Działanie systemu operacyjnego

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

Pamięci magnetorezystywne MRAM czy nowa technologia podbije rynek pamięci RAM?

Komputerowa pamięć. System dziesiątkowego (decymalny)

Test wiedzy z UTK. Dział 1 Budowa i obsługa komputera

Przygotowanie do etapu szkolnego Wojewódzkiego Konkursu Informatycznego w roku szkolnym 2016/2017. Budowa komputera, część 1.

Urządzenia zewnętrzne

Interfejsy systemów pomiarowych

Architektura systemu komputerowego

5. Model komunikujących się procesów, komunikaty

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut

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

Działanie systemu operacyjnego

Schematy zarzadzania pamięcia

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

System mikroprocesorowy i peryferia. Dariusz Chaberski

Organizacja pamięci w procesorach graficznych

Mikroprocesor Operacje wejścia / wyjścia

Architektura i administracja systemów operacyjnych

dr hab. Joanna Jędrzejowicz Podstawy informatyki i komputeryzacji Gdańska Wyższa Szkoła Humanistyczna

Transkrypt:

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

Typy pamięci półprzewodnikowych

RAM 4 Pamięć półprzewodnikowa RAM Pamięć o dostępie swobodnym Odczyt/Zapis Utrata informacji przy braku zasilania Tymczasowe przechowywanie Statyczna lub dynamiczna Operacje na komórce pamięci

Pamięć dynamiczna RAM Komórka pamięci to kondensator Upływ ładunków Wymaga odświeżania Prosta konstrukcja Mała powierzchnia na jeden bit Stosunkowo tania Wymaga organizacji procesu odświeżania Stosunkowo wolna Stosowana jako pamięć główna operacyjna Ma analogowy charakter Poziom ładunku określa wartość

Komórka pamięci dynamicznej Linia adresowa aktywna przy odczycie i zapisie Klucz tranzystorowy zamknięty (przepływ prądu) Zapis Ustawienie napięcia na linii danej 1 bit Wysokie przy 1 niskie przy 0 Uaktywnienie linii adresowej Ładowanie kondensatora Odczyt Linie adresowe ustawione Klucz tranzystorowy załącza się Ładunek z kondensatora dociera do wzmacniacza Porównanie z napięciem referencyjnym w celu ustalenia 0 czy 1 Odświeżenie ładunku w kondensatorze

Pamięć statyczna RAM Bity pamiętane jako stan klucza Nie występuje upływ ładunków Niepotrzebne odświeżanie Bardziej złożona budowa Większa powierzchnia na jeden bit Droższa niż DRAM Niepotrzebne obwody odświeżające Większa szybkość działania Wykorzystywana jako pamięć CACHE Ma naturę cyfrową Wykorzystuje przerzutniki

Komórka pamięci statycznej Układ tranzystorów tworzy przerzutnik bistabilny Stan 1 C1 wysoki, C2 niski T1 T4 wyłączone, T2 T3 załączone Stan 0 C2 wysoki, C1 niski T2 T3 wyłączone, T1 T4 załączone Tranzystory linii adresowej T5 T6 załączone Zapis wartość na linii B & negacja na linii NOT B Odczyt wartość na linii B

ROM Pamięć stała Nie traci zawartości przy braku napięcia Używana w układach mikroprogramowania Podprogramy biblioteczne Programy podstawowe (BIOS) Tablice funkcji

Typy pamięci ROM Zapisane na etapie produkcji Bardzo drogie przy krótkich seriach Programowalne jednorazowo (przez użytkownika) PROM Potrzebne specjalne programatory Reprogramowalne Kasowalne, wielokrotnie zapisywane EPROM Kasowane promieniami UV Kasowalne, wielokrotnie zapisywane EEPROM Kasowane i programowane elektrycznie, kasowana pojedyncza komórka Flash memory Kasowanie blokami po min. 32kB

Typowy układ 16Mb DRAM (4M x 4)

SDRAM Dostęp synchronizowany zewnętrznym zegarem SDRAM przesyła dane zgodnie z zegarem systemowym, CPU wie kiedy dane będą gotowe CPU nie musi czekać, może wykonywać inne operacje Tryb Burst umożliwia sformatowanie danych w strumień i przekazanie ich blokowo DDR-SDRAM wysyła dane dwa razy na 1 takt (narastające i opadające zbocze)

SDRAM cykl odczytu

DDR SDRAM SDRAM wystawia dane raz na 1 takt Double-data-rate SDRAM może wysyłać dwa razy na takt Zbocze narastające i zbocze opadające

Pamięci zewnętrzne Służą do długotrwałego przechowywania informacji podział: o dostępie sekwencyjnym taśmy magnetyczne o dostępie bezpośrednim dyski magnetyczne wymienne stałe dyski optyczne tylko do odczytu jednokrotnego zapisu wielokrotnego zapisu karty pamięciowe - tzw. dyski półprzewodnikowe

Budowa fizyczna dysku twardego

Dyski optyczne powierzchnia nośnika ma właściwości optyczne powodujące, że światło lasera odbija się i trafia na fotodetektor lub ulega rozproszeniu (pity i landy) dane zapisywane są na spiralnej ścieżce (ok. 5km długości) odległość między ścieżkami: 1.6um, szerokość ścieżki 0.5um gęstość zapisu zależy od średnicy plamki, związanej z długością promieniowania lasera i rozmiarem pitów i landów

Dyski optyczne - napęd napęd CD zawiera mechanizm napędu płyty oraz układ pozycjonowania lasera czytniki CD stosują zmienną prędkość obrotową w celu zachowania stałej prędkości liniowej 1.25 m/s laser pracuje w podczerwieni z falą o długości 780nm

Karty pamięci elektroniczne nośniki informacji wykorzystujące technikę Flash-ROM istnieją tzw. Stałe Dyski, tj. karty wyposażone w interfejs EIDE, widziane przez PC jak standardowe dyski do aplikacji przemysłowych karty ISO7816 pierwotnie zawierały jedynie proste układy pamięciowe z szyną I 2 C, obecnie posiadają mniej lub bardziej skomplikowany sterownik (asynchroniczny lub synchroniczny względem hosta) wyposażony w funkcje kryptograficzne i ochrony danych są stosowane do identyfikacji (GSM), przechowywania danych i operacji płatniczych różne parametry rozwiązań cywilnych i przemysłowych

Pamięć podręczna - podstawy Warstwa hierarchii pamięci umieszczona pomiędzy rejestrami a pamięcią operacyjną Niewidoczna w użytkowym modelu programowym Współcześnie oprogramowanie użytkowe może mieć ograniczoną kontrolę nad pracą kieszeni 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/370 około 1968 Może być umieszczona w jednym układzie z CPU lub wbudowana w moduł zawierający CPU

Pamięć podręczna (kieszeń)

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

Zasada lokalności odwołań W ograniczonym odcinku czasu odwołania 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

Lokalność odniesień Idea realizacji pamięci podręcznej (cache memory) bazuje się na zasadzie lokalności (locality), postrzeganej jako lokalność przestrzenna (spatial) oraz czasowa (temporal) Zasada lokalności przestrzennej polega na tym, że kolejne odwołania do pamięci zachodzą zwykle w pewnym niewielkim obszarze. Istnieje duże prawdopodobieństwo, że kolejne odwołanie do pamięci będzie wykonano do lokacji sąsiedniej wobec bieżącej (np. przy wykonywaniu pętli) Zasada lokalności czasowej oznacza, że istnieje duże prawdopodobieństwo, iż dane których procesor właśnie potrzebuje będą niedługo znów potrzebne Zasada 90/10 - większość programów spędza 90% czasu nad przetwarzaniem 10% swojego kodu i danych

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

Kieszeń pełnoasocjacyjna Najbardziej intuicyjny typ kieszeni 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 kieszeni z wzorcem dostarczonym z zewnątrz Pamięć odpowiada poprzez wystawianie 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ę)

Kieszeń pełnoasocjacyjna - model

Kieszeń pełnoasocjacyjna - charakterystyka W każdej komórce kieszeni może być przechowywana dana spod dowolnego adresu Kieszeń 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 (Last Recently Used zastępowanie pierwszej najdawniej używanej danej) 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ść kieszeni wszystkie odwołania będą kończyły się chybieniami

Konstrukcja kieszeni Dane są przechowywane w kieszeni nie w postaci pojedynczych słów czy bajtów, lecz bloków, zazwyczaj o długości 4x większej od rozmiaru słowa pamięci Bloki te są wyrównane naturalnie adres pierwotnego bajtu jest podzielony przez długość bloku Element kieszeni 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 bajtu lub słowa z linii Kolejne, bity adresu są używane do stwierdzenia, czy poszukiwana dana znajduje się w kieszeni

Kieszeń 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 bajtu 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

Kieszeń bezpośrednio adresowana

Kieszeń bezpośrednio adresowana - działanie W każdym cyklu następuje wybór jednej linii, zaadresowanej przez mniej znaczącą część adresu Kieszeń 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 kieszeni 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

Kieszeń bezpośrednio adresowana - charakterystyka Niskie koszty, duża pojemność, wysoka wydajność Algorytm zastępowania linii wymuszony przez budowę kieszeni Dane spod określonego adresu mogą znaleźć się wyłącznie w jednej, z góry określonej linii kieszeni W kieszeni nie można zapamiętać dwóch danych, których środkowe części adresu są identyczne W praktyce nie jest to bardzo częsty przypadek, ale niekiedy się zdarza Przy ciągłym zakresie adresów zbioru roboczego (pętla programu, tablica) kieszeń przyspiesza odwołania do pamięci, dopóki zbiór roboczy jest mniejszy niż 2x pojemność kieszeni Lepiej niż w przypadku kieszeni pełnoasocjacyjnej

Kieszeń zbiorowo asocjacyjna Powstaje przez połączenie pewnej liczby kieszeni 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 Liczba bloków jest zwana stopniem asocjacyjności kieszeni Używa się również określeń kieszeń dwudrożna lub czterodrożna Kieszeń zbiorowo-asocjacyjna może być rozpatrywana również jako złożenie pewnej liczby kieszeni pełnoasocjacyjnej

Kieszeń zbiorowo asocjacyjna

Kieszeń zbiorowo asocjacyjna - działanie Budowa kieszeni 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ć w sprzęcie Przy większej liczbie linii algorytm pseudolru lub losowy Charakterystyka ogólnie podobna do kieszeni bezpośrednio adresowanej, ale z eliminacją przypadku z pokrywającymi się środkowymi częściami adresu Mniejsza wrażliwość kieszeni na nakładanie się adresów danych podobnie jak w przypadku kieszeni pełnoasocjacyjnej

Rodzaje kieszeni - podsumowanie Najczęściej spotykanym typem kieszeni są kieszenie zbiorowo asocjacyjne Charakterystyka lepsza od bezpośrednio adresowanych przy niewielkim wzroście komplikacji Tam, gdzie jest krytyczny czas dostępu używa się kieszeni o małej asocjacyjności Przy bardzo ostrych wymaganiach na szybkość używa się kieszeni bezpośrednio adresowanych lub dwudrożnych zbiorowo asocjacyjnych Kieszenie pełnoasocjacyjne nie są stosowane do przechowywania danych i kodu Niekiedy znajdują one zastosowanie w innych miejscach komputera

Współczynnik trafień (hit ratio) Definiowany jako stosunek liczby trafień do całkowitej liczby odwołań w badanym przedziale czasu h= n cache n total Zależy od: Pojemności kieszeni Organizacji kieszeni i wynikającego z niej algorytmu wymiany Wykonywanego programu Dla każdej kieszeni 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ń Wykres przedstawia orientacyjny przebieg zależności współczynnika trafień od pojemności kieszeni W zakresie wartości od 0 do 0,9 h zależy głównie od pojemności kieszeni Wartość 0,9 jest osiągana przy pojemności kieszeni rzędu 8 KB W zakresie powyżej 0,9 istotny wpływ ma również organizacja i algorytm 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 kieszeni Kieszeń służy przyspieszaniu 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 kieszeni i pamięci operacyjnej: t AVG =h t cache +(1 h) t mem h współczynnik trafień kieszeni m = 1 h współczynnik chybień kieszeni (miss ratio) Kieszeń 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 Tabelka przedstawia średni czas dostępu w zależności od współczynnika trafień i dysproporcji wydajności pamięci i kieszeni 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ść kieszeni - 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ą kieszeni i pamięci 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żliwi wyrównania wydajności Pojedyncza kieszeń 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 kieszenią można to uzyskać zastępując pamięć operacyjną kolejnym poziomem kieszeni i pamięci W ten sposób powstaje wielopoziomowy system kieszeni

Kieszenie wielopoziomowe Wymóg nadążania kieszeni pierwszego poziomu (L1) ogranicza jej pojemność i asocjacyjność Im większa kieszeń tym wolniejsza Im wyższa asocjacyjność tym dłuższy czas dostępu Kieszeń drugiego poziomu (L2) może być wolniejsza (np. 5 razy) dzięki temu: Może mieć wyższą asocjacyjność Może być znacząco większa Jeśli kieszeń L2 nie zapewnia odpowiednio krótkiego średniego czasu dostępu, w strukturze komputera umieszcza się kieszeń L3, większą i wolniejszą od L2

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

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

Kieszenie wyłączne główne ścieżki danych