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



Podobne dokumenty
Architektura Systemów Komputerowych

Architektura komputerów

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/ / 22

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

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

System pamięci. Pamięć wirtualna

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

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

Hierarchia pamięci w systemie komputerowym

System pamięci. Pamięć wirtualna

Podstawy. Pamięć wirtualna. (demand paging)

Schematy zarzadzania pamięcia

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

Ograniczenia efektywności systemu pamięci

System pamięci. Pamięć podręczna

System pamięci. Pamięć wirtualna

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

System pamięci. Pamięć podręczna

Zarządzanie zasobami pamięci

Ograniczenia efektywności systemu pamięci

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

Współpraca procesora ColdFire z pamięcią

Stronicowanie w systemie pamięci wirtualnej

Architektura komputerów

Systemy operacyjne III

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

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

architektura komputerów w. 7 Cache

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

Architektura komputerów

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH. Rodzaje sytuacji wyjątkowych. Przerwania definicja i przypadki. wyjątki, przerwania, I/O, struktury

dr inż. Jarosław Forenc

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

Wykład 8. Pamięć wirtualna. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Architektura systemów informatycznych

Zarządzanie pamięcią operacyjną

Programowanie Niskopoziomowe

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]

dr inż. Jarosław Forenc

dr inŝ. Jarosław Forenc

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

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

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

System obliczeniowy laboratorium oraz. mnożenia macierzy

Przestrzeń pamięci. Układy dekoderów adresowych

ARCHITEKTURA PROCESORA,

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

Architektura komputerów

Budowa Mikrokomputera

Sprzętowe wspomaganie pamięci wirtualnej

Programowanie mikroprocesorów jednoukładowych

Architektura systemu komputerowego

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

Architektura systemów informatycznych

Zarządzanie pamięcią operacyjną

Zarządzanie pamięcią. Podstawy Wymiana (swapping). Przydział ciągły pamięci. Stronicowanie. Segmentacja. Segmentacja ze stronicowaniem.

Mapowanie bezpośrednie

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

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

UKŁADY PAMIĘCI. Tomasz Dziubich

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

Technologia informacyjna. Urządzenia techniki komputerowej

Pamięć wirtualna w AS/400

Organizacja pamięci wewnętrznej komputerów

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

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

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

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

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

Zrównoleglenie i przetwarzanie potokowe

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

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

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

Magistrala systemowa (System Bus)

Podstawy. Podsystem zarządzania pamięcią - zadania: Wiązanie (binding) rozkazów i danych z adresami pamięci. W systemie wielozadaniowym:

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.01 Rok akad. 2011/ / 27

Zarządzanie pamięcią operacyjną zagadnienia podstawowe

Technologie informacyjne - wykład 2 -

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

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH. Klasyczny cykl pracy procesora sekwencyjnego. współczesne architektury. c Dr inż.

Przetwarzanie potokowe pipelining

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

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

Architektury Komputerów. Tomasz Dziubich p.530, konsultacje czwartek i 11-12, dziubich@eti.pg.gda.pl

Działanie systemu operacyjnego

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

Architektura systemu komputerowego

Działanie systemu operacyjnego

Zarządzanie pamięcią. Zarządzanie pamięcią. Podstawy. Podsystem zarządzania pamięcią. Zadania podsystemu: W systemie wielozadaniowym:

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

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

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

2 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.02 Rok akad. 2011/ / 24

Komputer. Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji

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

Mikroinformatyka. Tryb wirtualny

Budowa komputera Komputer computer computare

Budowa systemów komputerowych

Wykład 2. Struktury systemów komputerowych. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Transkrypt:

Wstęp Wstęp ARCHITETURA SYSTEMÓW OMPUTEROWYCH organizacja pamięci c Dr inż. Ignacy Pardyka UNIWERSYTET JANA OCHANOWSIEGO w ielcach Rok akad. 23/24 Instytut Fizyki, Zakład Informatyki, e-mail: ignacy.pardyka@ujk.edu.pl 2 Zasada lokalności odwołań do pamięci Zasada zapisu w pamięci podręcznej 3 Ochrona pamięci Algorytmy wymiany stron Wielopoziomowe tabele stron 4 Literatura c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 2 / 47 Wstęp Poziomy abstrakcji cyfrowego systemu komputerowego Procesor i pamięć Wstęp Application Software > hello world! interfejs pamięci (ang. memory interface) CL Operating Systems Architecture Processor MemWrite Write WE Read Microarchitecture Logic Digital Circuits Analog Circuits Devices Physics + + procesor wysyła adres na magistralę adresową (ang. address bus) operacja czytania z pamięci: sygnał MemWrite pamięć wystawia dane na magistralę danych Read operacja zapisu do pamięci: sygnał MemWrite procesor wystawia dane na magistralę danych Write pamięć jest razy wolniejsza od procesora. c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 3 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 4 / 47

Wstęp Wstęp Procesor i pamięć Hierarchia pamięci pamięć: dynamiczna, układy DRAM względne szybkości pamięci i procesora., hierarchia pamięci CL Processor Chip CPU Cache Main Hard Drive Performance, Processor 98 985 99 995 Year 2 25 2 charakterystyki pamięci Speed Cache Main memory memory Capacity Technology Price / GB SRAM $, Access Time (ns) DRAM $ 5 SSD $, HDD $.,, SSD (ang. solid state drive): pamięć na bazie flash HDD (ang. hard disk drive): dysk twardy. Bandwidth (GB/s) 25+.5. c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 5 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 6 / 47 Wstęp Wstęp Wydajność pamięci Prawo Amdahla ocena wydajności pamięci: współczynniki chybień i trafień Miss Rate of misses Rate of total memory accesses Rate of hits Miss Rate of total memory accesses ocena wydajności pamięci: średni czas dostępu AMAT (ang. average memory access time) wyznaczyć średni czas dostępu AMAT t cache + MR cache ðt MM + MR MM t VM Þ Level Access Time (Cycles) Miss Rate Cache % Main % c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 7 / 47 Gene Amdahl, 922. Most famous for Amdahl s Law,an observation he made in 965. zwiększenie wydajności podsystemu jest zasadne, o ile podsystem w istotny sposób bierze udział w pracy całego systemu np. f : udział czasowy pracy podsystemu t ft ( f)t usprawniając podsystem s-krotnie, skracamy czas pracy całego systemu s -krotnie. t s t ft ( f )t ft s ( f )t f s ( f ) c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 8 / 47

Wstęp 2 Zasada lokalności odwołań do pamięci Zasada zapisu w pamięci podręcznej 3 Ochrona pamięci Algorytmy wymiany stron Wielopoziomowe tabele stron 4 Literatura CPU adres dane cache MEM kieszeń (fr. cache), pamięć podręczna warstwa hierarchii pamięci niewidoczna w użytkowym modelu programowym bufor dla pamięci operacyjnej (głównej) implementacje od 968 r. współcześnie: kilka poziomów, częściowo zintegrowana w procesorze. c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 9 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 / 47 Zasada lokalności odwołań do pamięci zasada korzystania Lokalność odwołań do pamięci każde odwołanie procesora do pamięci powoduje wstępne sprawdzenie zawartości kieszeni (rola MMU) chybienie brak słowa spod wskazanego adresu (ang. cache miss) odczyt z pamięci operacyjnej (albo zapis) 2 zapis w kieszeni wraz z adresem słowa trafienie słowo jest w kieszeni (ang. cache hit) odczyt słowa z kieszeni (albo zapis) odwołanie do pamięci operacyjnej zbędne (gdy odczyt) czas dostępu do kieszeni krótki problemy: potrzeba aktualizacji pamięci operacyjnej (gdy zapis) potrzeba usuwania z kieszeni, gdy brak miejsca na zapis. częste odwołania pod ten sam adres: lokalność czasowa częste odwołania pod sąsiednie adresy: lokalność przestrzenna zbiór roboczy zbiór adresów występujących w odwołaniach do pamięci w czasie t względnie mały rozmiar zbioru roboczego obiekty (dane lub instrukcje) spod tych adresów warto przechowywać w pamięci podręcznej wystarczy bufor o względnie małym rozmiarze sąsiednie obszary pamięci warto pobrać na zapas. c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 2 / 47

: kategorie z odwzorowaniem bezpośrednim pojemność C (ang. capacity): B bloków, każdy blok o rozmiarze (ang. block size) b słów bloki tworzą zbiory (ang. set): pamięć składa się z S zbiorów kategorie pamięci cache: pamięć z odwzorowaniem bezpośrednim (ang. direct mapped cache): w każdym zbiorze jest tylko jeden blok (S B) pamięć zbiorowo-asocjacyjna wielodrożna (ang. N-way set asciative): w każdym zbiorze jest N bloków, liczba zbiorów: S B/N pamięć w pełni asocjacyjna (ang. fully associative): cała pamięć to jeden zbiór (S ) każdy adres pamięci głównej jest odwzorowany (ang. mapped) w dokładnie jeden zbiór jeśli zbiór zawiera więcej niż jeden blok, to dane mogą być w dowolnym bloku tego zbioru. c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 3 / 47 przykład: cache o pojemności 8 słów 4-bajtowych: liczba zbiorów S B 8 każdy zbiór zawiera jeden blok o rozmiarze b słowo dwa najmłodsze bity adresu, bo blok na granicy słowa kolejne log 2 8 3 bity to numer zbioru...................................................... mem[xfffffffc] mem[xfffffff8] mem[xfffffff4] mem[xfffffff] mem[xffffffec] mem[xffffffe8] mem[xffffffe4] mem[xffffffe] mem[x24] mem[x2] mem[xc] mem[x8] mem[x4] mem[x] mem[xc] mem[x8] mem[x4] mem[x] 2 3 -Word Main 2 3 -Word Cache czyli, np. adresy x4, x24,..., xffffffe4 są odwzorowane w ten sam zbiór (o numerze ) zadanie: Do którego zbioru zostanie odwzorowany adres pamięci głównej x4? tóre inne adresy są odwzorowane do tego samego zbioru? c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 4 / 47 Set 7 () Set 6 () Set 5 () Set 4 () Set 3 () Set 2 () () Set () z odwzorowaniem bezpośrednim z odwzorowaniem bezpośrednim pole Tag adresu wskazuje, który adres jest odwzorowany w zbiór, np. Offset Tag Set... FFFFFF E 4 pole Tag jest zapisywane w cache łącznie z danymi pole V (ang. valid): istotne dane, dane przypadkowe, nieznaczące Tag Set Offset 27 3 27 32 wskazany w adresie zbiór jest odczytywany z cache: jeśli pola Tag są identyczne, i pole V, to trafienie (ang. hit) jeśli nie, to w przypadku instrukcji lw, dane () muszą być pobrane z pamięci głównej. Set 7 Set 6 Set 5 Set 4 Set 3 Set 2 Set 8-entry x (+27+32)-bit SRAM przykładowy program: addi $t, $, 5 loop: beq $t, $, done lw $t, x4($) lw $t2, xc($) lw $t3, x8($) addi $t, $t, j loop done: łącznie 5 odwołań do pamięci pierwsze wykonanie pętli: pobranie danych spod adresów x4, xc, x8 do zbiorów:, 3, 2 kolejne: trafienie w cache miss rate 3/5 2% Tag Set Offset 27 3 27 32 Set 7 Set 6 Set 5 Set 4 Set 3 Set 2 Set 8-entry x (+27+32)-bit SRAM lw $t, x4($) ostatni raz Tag Set Offset... 3 V Tag... mem[x...4]...... mem[x...c] mem[x...8] Set 7 () Set 6 () Set 5 () Set 4 () Set 3 () Set 2 () () Set () c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 5 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 6 / 47

z odwzorowaniem bezpośrednim wielodrożna zbiorowo-asocjacyjna w każdym zbiorze N bloków przykład konfliktu: addi $t, $, 5 loop: beq $t, $, done lw $t, x4($) lw $t2, x24($) addi $t, $t, j loop done: jeśli cache jest początkowo pusta, to miss rate % Tag Set Offset 27 3 27 32 Set 7 Set 6 Set 5 Set 4 Set 3 Set 2 Set 8-entry x (+27+32)-bit SRAM adres jest odwzorowany do zbioru, ale dane mogą być przechowywane z jednym z N bloków znacznik Tag identyfikuje blok, na który faktycznie wskazuje adres przykład: C 8 słów, N 2, S 4 Tag Set Offset Way Way 28 2 28 32 28 32 Set 3 Set 2 Set 32 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 7 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 8 / 47 Pamięć wielodrożna zbiorowo-asocjacyjna w pełni asocjacyjna program, który powodował konflikty: addi $t, $, 5 loop: beq $t, $, done lw $t, x4($) lw $t2, x24($) addi $t, $t, j loop done: Tag Set Offset Way Way 28 2 28 32 28 32 Set 3 Set 2 Set jeden zbiór złożony z B bloków alternatywna nazwa: pamięć B-drożna z jednym zbiorem znacznik Tag identyfikuje blok, na który faktycznie wskazuje adres przykład: C 8 słów, B N 8, S łącznie odwołań do pamięci pierwsze wykonanie pętli: pobranie danych spod adresów x4, x24 do zbioru: kolejne: trafienie w cache miss rate 2/ 2% 32 adresy x4, x24 wskazują zbiór Way Way... mem[x...24]... mem[x...4] Set 3 Set 2 Set Way 7 Way 6 Way 5 Way 4 Way 3 Way 2 Way Way pamięć kosztowna: duża liczba komparatorów. c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 9 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 2 / 47

Rozmiar bloku Pamięć z odwzorowaniem bezpośrednim aby skorzystać z lokalności przestrzennej zwiększamy rozmiar bloku blok przechowuje b kolejnych słów pamięci przykład: pamięć z odwzorowaniem bezpośrednim (S B) C 8 słów, b 4 słowa, S B C / b 2 Block Tag Set Offset Offset 27 2 27 32 32 32 32 32 Set Block Tag Set Offset Offset 27 2 pola adresu, np. adres: x89c 27 32 32 32 32 Tag... Set 32 Block Offset Offset 8 9 C Set przykładowy program: addi $t, $, 5 loop: beq $t, $, done lw $t, x4($) lw $t2, xc($) lw $t3, x8($) addi $t, $t, j loop done: łącznie 5 odwołań do pamięci: pierwsze: lw $t, x4($) blok 4 słów ładowany do cache kolejne: trafienie w cache miss rate /5 6.67% pierwsze i kolejne odwołania: lw $t2, xc($) Block Tag Set Offset Offset... V Tag... mem[x...c] mem[x...8] mem[x...4] mem[x...] Set c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 2 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 22 / 47 Algorytmy zastępowania bloków Pamięć wielodrożna zbiorowo-asocjacyjna przykład działania algorytmu LRU pamięć z adresowaniem bezpośrednim: adres jednoznacznie wskazuje na zbiór i blok gdy zbiór jest pełny, a trzeba załadować dane do cache, to wskazany blok jest zastępowany nowym pamięci zbiorowo-asocjacyjne i asocjacyjne: gdy zbiór pełny trzeba poświęcić jeden z bloków wskazywanego zbioru, blok-ofiarę zastąpić nowym zasada lokalności czasowej sugeruje: zastosować algorytm LRU (ang. least recently used) przykład: pamięć 2-drożna bit U ustawiany, by wskazać, który z dwóch bloków zbioru jest starszy, i ma być zastępowany nowym pamięć N-drożna: algorytm pseudo-lru. przykład: pamięć cache 2-drożna, 8 słów 4-bajtowych, 4 zbiory po 2 bloki 4-bajtowe fragment programu: lw $t, x4($) lw $t, x24($) lw $t2, x54($) pierwsze dwie instrukcje powodują załadowanie zbioru i zerowanie bitu U (blok wskazany do ewentualnego zastąpienia) zawartość cache po dwóch instrukcjach: V U Tag Way Way... mem[x...24]... mem[x...4] trzecia: zastąpienie bloku i ustawienie bitu U V U Tag Way Way... mem[x...24]... mem[x...54] Set 3 () Set 2 () () Set () Set 3 () Set 2 () () Set () c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 23 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 24 / 47

Organizacja cache: podsumowanie współczynnik trafień: przypomnienie Organization of Ways (N) of Sets (S) Direct Mapped B Set Associative < N < B B/N Fully Associative B charakterystyki: pojemność (C), rozmiar bloku (b), liczba bloków (B), liczba bloków w zbiorze (N, stopień asocjacyjności) zwiększenie asocjacyjności redukcja liczby chybień powodowanych przez konflikty zwiększenie rozmiaru bloku b redukcja liczby chybień (powód: efekt lokalności przestrzennej) przy stałym C powoduje jednak zmniejszenie liczby zbiorów, co zwykle zwiększa prawdopodobieństwo konfliktu. współczynnik trafień (ang. hit ratio) w badanym odcinku czasu h n cache n total gdzie n cache liczba trafień w cache n total całkowita liczba odwołań do pamięci zależy od pojemności kieszeni organizacji kieszeni algorytmu wymiany wykonywanego programu. c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 25 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 26 / 47..9.8 -way % 4.7 2-way Miss Rate per Type.6.5 4-way 8-way Miss Rate 5%.4 6.3.2. Capacity Compulsory % 6 32 64 Block Size 64 28 256 256. 4 8 6 32 64 28 256 52 24 Cache Size (B) c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 27 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 28 / 47

Zasada zapisu w pamięci podręcznej średni czas dostępu średni czas dostępu do hierarchii pamięci: kieszeń + pamięć operacyjna t avg h t cache + ( h) t mem gdzie h współczynnik trafień t cache czas dostępu do kieszeni t mem czas dostępu do pamięci operacyjnej wymaganie: t cache < T procesora pamięć operacyjna b. powolna: t mem T procesora pojedyncza kieszeń skutecznie eliminuje różnicę prędkości rzędu stąd potrzeba kolejnych poziomów hierarchii cache L bardzo szybka (w procesorze) L2 wolniejsza 5. krotnie, ale pojemniejsza L3 wolniejsza od L2, ale pojemniejsza. c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 29 / 47 Zasada zapisu w pamięci podręcznej zapis przeźroczysty (ang. write-through cache) zapis zawsze do pamięci operacyjnej w przypadku trafienia zapis także do cache zapis zwrotny (ang. write-back cache) dodatkowy bit D (ang. dirty bit) skojarzony z każdym blokiem gdy trafienie zapis do kieszeni i ustawienie bitu D gdy usuwanie bloku z cache zapis usuwanego bloku do pamięci głównej, tylko wtedy gdy bit D współczesne pamięci cache: write-back. c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 3 / 47 kieszenie inkluzywne kieszenie wyłączne (ekskluzywne) stosowane do roku 2 hierarchia dostępu: procesor L L2 pamięć operacyjna każdy obiekt zawarty w warstwie wyższej jest również obecny w niższej pojemność L2 znacząco większa od L. stosowane od roku 2 kieszeń L2 zapełniana obiektami usuwanymi z L kieszeń ofiar (ang. victime cache) przepływ danych: pamięć L procesor L L2 pojemność L2 L asocjacyjność L2 L zastosowanie: AMD 7, 8, Intel Pentium 4, Core. c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 3 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 32 / 47

Ewolucja pamięci podręcznej MIPS problemy Year CPU MHz L Cache L2 Cache 985 R2 6.7 none none 99 R3 33 32 B direct mapped none 99 R4 8 B direct mapped MB direct mapped 995 R 25 32 B two-way 4 MB two-way 2 R4 6 32 B two-way 6 MB two-way 24 R6A 8 64 B two-way 6 MB two-way 2 MIPS32 74 5 32 B variable size każde odwołanie pod dany adres pamięci ma zwracać tę samą wartość problem spójności, gdy odrębne kieszenie L dla kodu i dla danych (architektura Harvard-Princeton) problem spójności w systemach wieloprocesorowych z odrębnymi kieszeniami L i wspólną dalszą częścią hierarchii procesor z kieszenią L oraz sterownik DMA nie korzystający z L. c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 33 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 34 / 47 metody utrzymania spójności unieważnianie całego bloku przy wykryciu odwołania zewnętrznego selektywne unieważnianie bloków potencjalnie zawierających adres odwołania zewnętrznego (przestarzałe) programowe unieważnianie całej kieszeni dostępne dla S.O. powoduje spadek wydajności selektywna zmiana stanu bloku M - modified blok ważny, zawartość pamięci nieaktualna E - exclusive blok ważny, zawartość pamięci identyczna I - invalid blok nieważny S - shared blok ważny, jednakowa kopia u wszystkich, identyczna z pamięcią O - owned blok ważny, jednakowa kopia u wszystkich, u pozostałych stan S, jednak zawartość pamięci nieaktualna stosowane protokoły: MEI, MESI, MOESI. c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 35 / 47 Wstęp 2 Zasada lokalności odwołań do pamięci Zasada zapisu w pamięci podręcznej 3 Ochrona pamięci Algorytmy wymiany stron Wielopoziomowe tabele stron 4 Literatura c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 36 / 47

pamięć wirtualna: adres 32-bit: przestrzeń 4 GB adres 64-bit: przestrzeń 2 64 B pamięć główna (fizyczna) pamięć dyskowa w programach: adresy wirtualne pamięć fizyczna (DRAM) przechowuje podzbiór pamięci wirtualnej (jak cache), np. 52 MB, 4 GB. pamięć dyskowa miliony razy wolniejsza od pamięci głównej pozycjonowanie głowicy: kilka milisekund duża pojemność, niska cena stronicowanie pamięci pamięć wirtualna: strony (ang. virtual pages), np. 4B pamięć fizyczna: ramki (ang. physical pages, frames) strona wirtualna: jest w pamięci fizycznej (w ramce) albo na dysku strona wirtualna może być w dowolnej ramce pamięć fizyczna działa jak pamięć cache w pełni asocjacyjna brak strony w ramce: błąd strony (ang. page fault). es Translation es Hard Drive analogie pojęć Cache Block Block size size Block offset offset Miss fault Tag page number c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 37 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 38 / 47 pamięć wirtualna: 2 GB pamięć fizyczna: 28 MB strona: 4 B (2 2 ) liczba stron: 2 9 liczba ramek: 2 5 w pamięci fizycznej /6 pamięci wirtualnej offset: adres względem początku strony/ramki translacja adresów: tabela stron (w pamięci głównej) bufor TLB (w cache). 7FFF 7FFE es x7fff - x7ffffff x7ffe - x7ffefff x - xfff x - xfff 3 29 28... 4 3 2 VPN es x7ffff - x7fffffff x7fffe - x7fffefff x7fffd - x7fffdfff x7fffc - x7fffcfff x7fffb - x7fffbfff x7fffa - x7fffafff x7fff9 - x7fff9fff x6 - x6fff x5 - x5fff x4 - x4fff x3 - x3fff x2 - x2fff x - xfff x - xfff 9... 2 Offset 9 Translation 2 5 PPN Offset 26 25 24... 3 2 9... 2 7FFFF 7FFFE 7FFFD 7FFFC 7FFFB 7FFFA 7FFF9 6 5 4 3 2 V x x7ffe x x7fff Table 7FFFF 7FFFE 7FFFD 7FFFC 7FFFB 7FFFA 7 6 5 4 3 2 bit V, gdy strona jest w ramce. 7FFF 7FFE es x7fff - x7ffffff x7ffe - x7ffefff x - xfff x - xfff 3 29 28... 4 3 2 VPN es x7ffff - x7fffffff x7fffe - x7fffefff x7fffd - x7fffdfff x7fffc - x7fffcfff x7fffb - x7fffbfff x7fffa - x7fffafff x7fff9 - x7fff9fff x6 - x6fff x5 - x5fff x4 - x4fff x3 - x3fff x2 - x2fff x - xfff x - xfff 9... 2 Offset 9 Translation 2 5 PPN Offset 26 25 24... 3 2 9... 2 7FFFF 7FFFE 7FFFD 7FFFC 7FFFB 7FFFA 7FFF9 6 5 4 3 2 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 39 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 4 / 47

bufor TLB przykład: adres wirtualny: x247c adres fizyczny: z tabeli stron jeśli bit V, a jeśli nie, to błąd strony tabela stron: w pamięci głównej adres tabeli w rejestrze (page table register) każdy dostęp do pamięci wirtualnej: dwa dostępy do pamięci fizycznej. x2 9 Offset 47C 2 V x x7ffe Table x x7fff 5 2 x7fff 47C bufor TLB (translation lookaside buffer) cache w pełni asocjacyjna przechowuje ostatnio odwiedzane pozycje tabeli stron pojemność C: 6 52 bloków (entry) przykład: 2 bloki wpis: VPN, PPN Tag: VPN hit: zwracany jest PPN miss: PPN z tabeli stron hit-rate: 99% x2 9 Offset 47C 2 V V x7fffd x x2 x7fff TLB Entry 9 5 9 5 5 x7fff Entry 2 47C c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 4 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 42 / 47 Ochrona pamięci Algorytmy wymiany stron Ochrona pamięci Algorytmy wymiany stron procesor wykonuje współbieżnie wiele programów: procesy pod kontrolą systemu operacyjnego instrukcje należące do SO są też wykonywane przez procesor SO przekazuje sterowanie do wybranego programu użytkowego, sterowanie wraca do SO dzięki przerwaniom i wyjątkom procesor pobiera instrukcje z pamięci fizycznej, więc kody programów wykonywanych współbieżnie powinny być w ramkach (jeśli nie są obecne, to błędy stron) każdy proces ma własną, wirtualną przestrzeń adresową przestrzeń przydzielona procesowi podlega ochronie każdy proces ma własną tabelę stron SO ustawia bity kontrolne w tabeli stron, informujące o ewentualnym udostępnieniu ramek innym procesom. system pamięci wirtualnej oparty na wymianie stron w ramkach zasada: zapis zwrotny (write-back) w tabeli stron, do każdej strony przypisany bit D (ang. dirty) wskazuje, że strona zawiera zmodyfikowane dane strona jest zapisywana na dysk, do pliku wymiany (ang. swap space) tylko wtedy, gdy jest usuwana z ramki i zawiera nowe dane (D ) algorytm wymiany: aproksymacja LRU w tabeli stron, do każdej strony przypisany bit U (ang. used): U, gdy realizowany jest dostęp do strony SO okresowo zeruje bity U wszystkich stron do zamiany wybierana jest strona z bitem U. c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 43 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 44 / 47

Wielopoziomowe tabele stron tabele 2-poziomowe Wielopoziomowe tabele stron Wielopoziomowe tabele stron Tabele 2-poziomowe: przykład translacji adresu tabela stron. poziomu adresy tabel 2. poziomu zawsze w pamięci fizycznej tabele stron 2. poziomu zawierają PPN są w pamięci wirtualnej bit V w tabeli stron. poziomu: V : tabela 2. poziomu jest w pamięci fizycznej V : tabela 2. poziomu jest na dysku. Table 9 Table Offset V offset Table First-Level Table 2 9 52 entries V Second-Level Tables 2 entries Table Table Offset Offset x 3FE FB 9 Table V x4 x2375 Valid 2 First-Level Table V x3 x23f x7ffe x73 x72fc xc Valid2 x23f Second-Level Tables 5 2 FB c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 45 / 47 c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 46 / 47 Literatura Literatura A. S. Tanenbaum, Strukturalna organizacja systemów komputerowych, Helion, 26. J. Biernat, Architektura komputerów, OWPW, 25. D.M. Harris, S.L. Harris, Digital Design and Computer Architecture, Elsevier, 23. R. Hyde, Profesjonalne programowanie, Helion, 25. R. Hyde, Asembler. Sztuka programowania, Helion, 24. G. Mazur, Architektura systemów komputerowych, http://wazniak.mimuw.edu.pl. P.A. Carter, PC Assembly Language, http://www.drpaulcarter.com/pcasm/. c Dr inż. Ignacy Pardyka (Inf U J ) AS: organizacja pamięci Rok akad. 23/24 47 / 47