Wykład 6

Transkrypt

Wykład 6
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
●
●
Uaktywnienie linii adresowej
●
●
Wysokie przy 1 niskie przy 0
Ładowanie kondensatora
Odczyt
●
Linie adresowe ustawione
●
●
Ładunek z kondensatora dociera do
wzmacniacza
●
●
Klucz tranzystorowy załącza się
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
●
●
●
Stan 0
●
●
●
●
●
C1 wysoki, C2 niski
T1 T4 wyłączone, T2 T3 załączone
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
SRAM i DRAM - porównanie
●
Obie muszą być zasilane
●
●
Komórka pamięci dynamicznej
●
●
●
●
●
●
Zasilanie niezbędne do podtrzymania danych
Mniejsza, łatwiejsza w wykonaniu
Większa gęstość upakowania
Tańsza
Wymaga odświeżania
Większe pojemności
Statyczna
●
●
Szybsza
Cache
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
●
●
Programowalne jednorazowo (przez użytkownika)
●
●
●
Bardzo drogie przy krótkich seriach
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
Organizacja pamięci
●
●
●
Układ 16Mbit może być zorganizowany jako 1M słów 16-to bitowych
Układ 16Mbit może być zorganizowany jako 16 modułów po 1Mbit
Układ 16Mbit może być zorganizowany jako tablica 2048 x 2048 x 4bit
●
Redukcja ilości wyprowadzeń adresowych
● Multipleksowanie wierszy i kolumn
● Wystarczy 11 linii adresowych (2 11=2048)
● Dodanie jednej linii pozwala na 4 krotne zwiększenie pojemności
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
Parametry pamięci
zewnętrznych
– pojemność nośnika
• zależy od wielkości nośnika i gęstości zapisu
– czas dostępu
• podawany jest średni czas dostępu
– prędkość transmisji
• zależy od magistrali łączącej urządzenie z hostem
• poprawiana przez dodanie pamięci buforowej
– przewidywanie, które dane będą potrzebne
– celowa, gdy odczyt z nośnika jest szybszy niż transmisja
do hosta
– algorytmy opróżniania pamięci buforowej decydują o
skuteczności buforowania
Budowa fizyczna dysku
twardego
Budowa dysku twardego
• poduszka powietrzna 2-15um, zabezpiecza przed zetknięciem
głowicy z dyskiem
• automat parkujący głowice
• wiele głowic, jedna aktywna
– pozycjonowanie (do 50x/sek)
• silnikiem krokowym
• aktuatorem magnetycznym, kalibrowanym w fabryce
– typy głowic
• cienkowarstwowe indukcyjne
• magnetorezystywne
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
• kodowanie nadmiarowe EFM (8-14), w celu zapewnienia ilości kolejnych
zer i jedynek z zakresu 3-11; kodowanie metodą zmiany fazy
Dyski optyczne - standardy
• standardy:
– CD-DA (1980)
• Compact Disc Digital Audio - standard dysków Audio Philips i Sony, opisany w
tzw. Czerwonej Księdze
• 74 minuty audio 2 kanały 16bitowo, czyli
– 44100Hz*2bajty/próbkę*2 kanały*74minuty*60sekund=783 216 000 bajtów
– prędkość odczytu 171kB/s
– CD-ROM (1985)
• standard dysków do przechowywania danych, opisany w tzw. Żółtej księdze
• 650 MB danych, czas dostępu ok. 100ms, prędkość odczytu std. 150kB/s
• większe prędkości odczytu ulegają zmniejszeniu podczas konieczności
stosowania mechanizmów korekcji błędu
• standard zawiera dodatkowe mechanizmy korekcyjne pozwalające czytać dane
z płyt porysowanych i zabrudzonych
Standardy cd.
– CD-R (1990)
• jednokrotny zapis wielokrotny odczyt WORM
• zamiast aluminium z pitami i landami, dysk zawiera gładką warstwę refleksyjną
oraz warstwę światłoczułą barwnika ftalocyjanowego lub cyjanowego
• pod wpływem silnej wiązki lasera w czasie nagrywania, warstwa światłoczuła
staje się nieprzezierna - uzyskiwany jest efekt pitów i landów
• dane na płycie mogą być zapisywane w czasie 1 sesji, wielu sesji lub metodą
przyrostową pakietową. W dwóch pierwszych, przerwanie zapisu uniemożliwia
dalsze wykorzystanie płyty; zapis pakietowy wymaga wcześniejszego
sformatowania płyty w formacie UTF
Standardy c.d.
– CD-RW (1995)
• wielokrotny zapis (do 1000 razy) i wielokrotny odczyt
• dysk zawiera warstwę substancji występującej w dwóch fazach:
– krystalicznej przepuszczającej światło
– amorficznej nieprzepuszczającej światła
• działanie:
– “skasowany” dysk zawiera materiał warstwy w stanie
krystalicznym
– zapis laserem dużej mocy o (długości fali 650nm) podgrzewa i
zmienia strukturę materiału; poprzez szybkie schładzanie
amorficzna struktura zostaje zachowana
– specjalna procedura “kasowania” - laser podgrzewa warstwę
zmiennofazową tak, by podczas powolnego stygnięcia przeszła do
stanu krystalicznego
Standardy c.d
– DVD (1995)
• rezultat współpracy 9 koncernów
• długość fali 650nm - zmniejszone wymiary pitów,
• ścieżka długości 12km
• siedmiokrotny wzrost pojemności dysku - 4.7GB
• mozliwość stosowania dwóch warstw
– pierwsza odbija 30% światła,
– układ optyczny o zmiennej ogniskowej
• DVD-Video 133 minuty obrazu
MPEG-2, do 8 ścieżek dźwiękowych,
5 kanałowych Dolby 5.1,
do 32 kompletów napisów
• DVD Audio 74’ dźwięk
192kHz / 24 bity
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ą I2C,
– 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 t0 do t0+Δt, przy
założeniu, że w chwili t0
nastąpiło odwołanie do A0
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
●
●
●
Odwołania są na ogół powtarzane
●
●
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
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
●
●
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
●
●
●
Kieszeń może równocześnie przechowywać dane spod dowolnych
adresów – duża elastyczność w porównaniu z następnymi architekturami
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
●
●
●
Liczba bloków jest zwana stopniem asocjacyjności kieszeni
●
●
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
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
n cache
h=
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 tcache=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ść
●
●
●
Kieszeń drugiego poziomu (L2) może być wolniejsza
(np. 5 razy) – dzięki temu:
●
●
●
Im większa kieszeń – tym wolniejsza
Im wyższa asocjacyjność – tym dłuższy czas dostępu
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

Podobne dokumenty