System pamięci. Pamięć wirtualna

Podobne dokumenty
System pamięci. Pamięć wirtualna

System pamięci. Pamięć wirtualna

Architektura komputerów

Schematy zarzadzania pamięcia

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

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

Zarządzanie zasobami pamięci

System pamięci. Pamięć podręczna

System pamięci. Pamięć podręczna

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

Architektura komputerów

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

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

dr inż. Jarosław Forenc

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

Stronicowanie w systemie pamięci wirtualnej

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

Systemy operacyjne III

SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus

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

Ograniczenia efektywności systemu pamięci

Mikroinformatyka. Tryb wirtualny

Architektura systemów komputerowych. dr Artur Bartoszewski

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

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

Hierarchia pamięci w systemie komputerowym

Współpraca procesora ColdFire z pamięcią

Ograniczenia efektywności systemu pamięci

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

Pomiary efektywności dla AMD Family 10h. Na podstawie dokumentacji AMD opracował: Rafał Walkowiak Wersja listopad 2015

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

Zarządzanie pamięcią w systemie operacyjnym

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]

Architektura systemów komputerowych. dr Artur Bartoszewski

ARCHITEKTURA PROCESORA,

Pamięć wirtualna w AS/400

System obliczeniowy laboratorium oraz. mnożenia macierzy

Sprzętowe wspomaganie pamięci wirtualnej

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

Zarządzanie pamięcią operacyjną

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

Podstawy. Pamięć wirtualna. (demand paging)

Przykłady praktycznych rozwiązań architektur systemów obliczeniowych AMD, Intel, NUMA, SMP

Pamięć wirtualna w systemie AS/400. Tomasz Kokoszka

Pomiary efektywności dla AMD. Na podstawie dokumentacji AMD opracował: Rafał Walkowiak Listopad 2012

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

Pomiary efektywności dla AMD. Na podstawie dokumentacji AMD opracował: Rafał Walkowiak Wersja wrzesień 2016

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

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

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

Wykład 10 Zarządzanie pamięcią

Architektura Systemów Komputerowych

Mikroprocesory rodziny INTEL 80x86

Zarządzanie pamięcią operacyjną zagadnienia podstawowe

Architektura systemów komputerowych. dr Artur Bartoszewski

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

Od programu źródłowego do procesu

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

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

dr inŝ. Jarosław Forenc

Architektura komputerów

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

Podstawowe zagadnienia informatyki

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

Pomiary efektywności dla komputerów z procesorami. Na podstawie dokumentacji AMD opracował: Rafał Walkowiak listopad 2015, zmiany listopad 2016

Organizacja pamięci wewnętrznej komputerów

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

Budowa komputera Komputer computer computare

Architektura komputerów

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

Systemy wieloprocesorowe. Sprzęt i oprogramowanie wspomagające perspektywa - Windows i Linux Wykład Przetwarzanie równoległe Listopad 2010

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

Architektura systemów informatycznych

Programowanie Niskopoziomowe

Programowanie na poziomie sprzętu. Tryb chroniony cz. 1

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

Materiały pomocnicze do laboratorium. 1. Miary oceny efektywności 2. Mnożenie macierzy 3. Znajdowanie liczb pierwszych

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

Architektura systemów komputerowych. dr Artur Bartoszewski

Zarządzanie pamięcią operacyjną

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

architektura komputerów w. 7 Cache

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

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

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

Architektura systemów komputerowych. dr Artur Bartoszewski

Pamięć wirtualna. A gdyby tak w pamięci przebywała tylko ta część programu, która jest aktualnie wykonywana?

Systemy Operacyjne Pamięć wirtualna cz. 2

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Budowa i zasada działania komputera. dr Artur Bartoszewski

Tablice stron, bezpośredni dostęp do urządzeń z maszyny wirtualnej i IOMMU.

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

Pomiary efektywności dla komputerów z procesorami. Opracował: Rafał Walkowiak marzec 2019

1) Czym jest architektura systemu Windows 7 i jak się ją tworzy? 2) Jakie są poszczególne etapy uruchomienia systemu Windows 7?

Pomiary efektywności dla komputerów z procesorami. Na podstawie dokumentacji AMD opracował: Rafał Walkowiak zmiany kwiecień 2018

Nakładki. Kod przebiegu 2: 80 kb Tablica symboli: 20 kb wspólne podprogramy: 30 kb Razem: 200 kb

Q E M U.

MATERIAŁY POMOCNICZE DO LABORATORIUM Z PRZETWARZANIA RÓWNOLEGŁEGO KWIECIEŃ 2018

Transkrypt:

System pamięci Pamięć wirtualna

Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni adresowej Programy mogą używać większej przestrzeni adresowej niż rzeczywisty RAM Rozwiązanie pamięć wirtualna System pamięci 2

Pamięć wirtualna RAM jest używany jako,,cache dla dysku Obsługa pamięci wirtualnej rozłożona pomiędzy sprzęt oraz system operacyjny Adresy występujące w skompilowanych programach to tzw. adresy wirtualne CPU i OS tłumaczą adesy wirtualne na fizyczne,,blokiem jest twz. strona Chybienie nazywamy błędem strony System pamięci 3

Tłumaczenie adresu Stały rozmiar strony (np. 4K) System pamięci 4

Kara za błąd strony W przypadku błędu strony, strona musi być pobrana z dysku Zajmuje to miliony cykli Odpowiedzialny za pobranie strony jest OS Nacisk na minimalizację liczby błędów stron Pełna,,skojarzeniowość Sprytne algorytmy wymiany stron System pamięci 5

Tablice stron Przechowują informacje o położeniu strony Wpisy indeksowane wirtualnym numerem strony CPU ma rejestr przechowujący adres tablicy stron w pamięci RAM Każdy proces ma swoją tablicę stron Jeśli strona jest w pamięci Tablica stron przechowuje fizyczny adres w RAM Plus dodatkowe informacje (o odwołaniach do strony) Jeśli strony nie ma w pamięci Tablica stron przechowuje adres fizyczny na dysku (w tzw. swapie). Tablice stron mogą być duże. System pamięci 6

Proces tłumaczenia Jeszcze uproszczony! System pamięci 7

Strony w pamięci i na dysku System pamięci 8

Strategia wymiany i zapisu Za wymianę odpowiedzialny OS; najczęściej używa (przybliżenia) LRU Zapisy na dysk zajmują miliony cykli Stosowany zapis-po (zapis-przez niepraktyczny) W tablic stron jest,,bit modyfikacji (dirty bit) System pamięci 9

Szybkie tłumaczenie: TLB Dotychczas zakładaliśmy, że cała tablica stron jest w RAM Każdy odczyt wymaga sięgnięcia do RAM! Dopiero wtedy mamy rzeczywisty adres. Przy dostępie do stron używamy tzw. szybkiego bufora translacji (TLB, table lookaside buffer) TLB to rodzaj cachu na płytce CPU Typowo mieści 16 512 wpisów tabeli stron, 0.5 1 cykla na trafienie, 10 100 cykli na chybienie, współczynnik chybień bardzo mały: 0.01% 1% System pamięci 10

Fast Translation Using a TLB System pamięci 11

Chybienia w TLB Jeśli strona jest w pamięci Ładujemy wpis z tablicy stron i ponawiamy Obsługiwane często przez hardware Złożone w przypadku skomplikowanych struktur tablicy stron Może być też obsługiwane przez software Zgłaszany jest tzw. wyjątek, który powoduje załadowanie odpowiedniego programu (handler) Jeśli wystąpił błąd strony (strona na dysku) OS ściaga stronę z dysku i modyfikuje tab. str. W tym czasie CPU wykonuje inny program System pamięci 12

TLB i Cache Odwołanie do adresu CPU podaje adres wirtualny do TLB Trafienie: mamy adres fizyczny i dalej postępujemy tak jak tydzień temu: sięgamy do cache i jeśli trzeba to do RAM System pamięci 13

Hierarchia pamięci (zasady) Podobne zasady obowiązują na różnych poziomach hierarchii Idea,,cachowania Zagadnienia Gdzie umieścić blok? Jak znaleźć blok? Który blok wymienic? Jaką strategię zapisu przyjąć? System pamięci 14

Porównanie parametrów System pamięci 15

Źródła chybień Chybienia nieuniknione (compulsory misses) Pierwsze odwołania do bloku Chybienia z braku miejsca (capacity misses) Cache ma skończony, niewielki rozmiar Konflikt miejsca (conflict misses) W cache bez pełnej skojarzeniowości Rywalizacja bloków o mijsce w zbiorze System pamięci 16

Kompromisy Zmiana Zwiększenie cache Działanie na współczynnik chybień Maleje liczba chybień typu capacity Efekt negatywny Wzrasta czas dostępu Wzrot Malej liczba chybień Wzrasta czas dostępu skojarzeniowośći typu conflict Zwiększenie rozmiaru bloku Maleje liczba chybień typu compulsory Wzrasta kara za chybienie. Dla dużych bloków może wzrosnąć całkowita liczba chybień. System pamięci 17

Przykłady Intel Nehalem Procesor o 4 rdzeniach Każdy rdzeń: 32KB L1 I-cache, 32KB L1 D-cache, 512KB L2 cache System pamięci 18

AMD Opteron X4 (Barcelona) Każdy rdzeń: 64KB L1 I-cache, 64KB L1 D-cache, 512KB L2 cache System pamięci 19

2-poziomowy bufor TLB Intel Nehalem AMD Opteron X4 Adres wirt. 48 bitów 48 bitów Adres fiz. 44 bitów 48 bitów Rozm. strony 4KB, 2/4MB 4KB, 2/4MB L1 TLB (każdy rdzeń) L1 I-TLB: 128 wpisów L1 D-TLB: 64 wpisy 4-drożna, LRU L1 I-TLB: 48 wpisów L1 D-TLB: 48 wpisów Pełna skojarzeniowość, LRU L2 TLB (każdy rdzeń) L2 TLB: 512 wpisów 4-drożna, LRU L2 I-TLB: 512 wpisów L2 D-TLB: 512 wpisów obie 4-drożne, round-robin LRU Chyb. TLB Obsłga sprzętowa Obsługa sprzętowa System pamięci 20

3-poziomowy cache L1 cache (każdy rdzeń) L2 cache (każdy rdzeń) L3 cache (dzielona pomiędzy rdzeniami) Intel Nehalem L1 I-cache: 32KB, 64-bajtowe bloki, 4-drożna, approx LRU, hit time n/a; L1 D-cache: 32KB, 64-bajtowe bloki, 8-drożna, approx LRU, zapis,,po, hit time n/a 256KB, 64-bajtowe bloki, 8- drożna, approx LRU, zapis,,po, hit time n/a 8MB, 64-bajtowe bloki, 16- drożna, wymiana n/a, zapis,,po, hit time n/a AMD Opteron X4 L1 I-cache: 32KB, 64-bajtowe bloki, 2-drożna, LRU, hit time 3 cykle; L1 D-cache: 32KB, 64-bajtowe bloki, 2-drożna, LRU, zapis,,po, hit time 9 cykli 512KB, 64-bajtowe bloki, 16- drożna, approx LRU, zapis,,po, hit time n/a 2MB, 64-bajtowe bloki, 32- drożna, wymieniany blok używany przez najmniej rdzeni; zapis,,po, hit time: 32 cykle System pamięci 21

AMD OPTERON X4 Tabela przedstawia liczbę chybień w cache oraz współczynnik CPI na benchmarku SPEC2006 dla procesora AMD OPTERON X4 2356 (Barcelona). Następny slajd rozszyfrowuje skróty z kolumny,,name (grupy programów SPEC2006) System pamięci 22

AMD OPTERON X4 System pamięci 23