System pamięci. Pamięć wirtualna

Podobne dokumenty
System pamięci. Pamięć wirtualna

System pamięci. Pamięć wirtualna

Architektura komputerów

System pamięci. Pamięć podręczna

Schematy zarzadzania pamięcia

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

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

System pamięci. Pamięć podręczna

Zarządzanie zasobami pamięci

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

dr inż. Jarosław Forenc

Architektura komputerów

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

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

Stronicowanie w systemie pamięci wirtualnej

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

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

Systemy operacyjne III

Architektura systemów komputerowych. dr Artur Bartoszewski

Mikroinformatyka. Tryb wirtualny

Ograniczenia efektywności systemu pamięci

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. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Hierarchia pamięci w systemie komputerowym

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

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

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

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

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

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 PROCESORA,

Architektura systemów komputerowych. dr Artur Bartoszewski

Współpraca procesora ColdFire z pamięcią

Ograniczenia efektywności systemu pamięci

System obliczeniowy laboratorium oraz. mnożenia macierzy

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

Sprzętowe wspomaganie pamięci wirtualnej

Zarządzanie pamięcią operacyjną

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

Pamięć wirtualna w AS/400

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

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

Architektura komputerów

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

Od programu źródłowego do procesu

Mikroprocesory rodziny INTEL 80x86

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

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

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

Budowa komputera Komputer computer computare

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

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

Zarządzanie pamięcią operacyjną zagadnienia podstawowe

Wykład 10 Zarządzanie pamięcią

Architektura komputerów

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

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

Architektura systemów komputerowych. dr Artur Bartoszewski

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

Podstawowe zagadnienia informatyki

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

Podstawy. Pamięć wirtualna. (demand paging)

Zarządzanie pamięcią operacyjną

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

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

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

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

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

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

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

Programowanie Niskopoziomowe

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

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

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

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

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

Organizacja pamięci wewnętrznej komputerów

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

Budowa i zasada działania komputera. dr Artur Bartoszewski

Architektura Systemów Komputerowych

Architektura systemów komputerowych. dr Artur Bartoszewski

LEKCJA TEMAT: Zasada działania komputera.

QEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta:

Systemy Operacyjne Pamięć wirtualna cz. 2

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

Architektura systemów komputerowych. dr Artur Bartoszewski

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

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

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

Q E M U.

Architektura systemów informatycznych

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

Budowa Mikrokomputera

Technologia informacyjna. Urządzenia techniki komputerowej

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

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 cyklu 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 Int. FastMATH 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 Chybienie: nr strony zapisywany w rejestrze OS modyfikuje wpis (13 cykli) TLB dzielone (rozkazy i dane) 16 wpisów, pełna skojarzen. 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 miejsce w sekcji 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ługa sprzętowa Obsługa sprzętowa System pamięci 20

3-poziomowy cache L1 cache (każdy rdzeń) Intel Nehalem L1 I-cache: 32KB, 64-bajtowe bloki, 4-drożna, approx LRU, L1 D-cache: 32KB, 64-bajtowe bloki, 8-drożna, approx LRU AMD Opteron X4 L1 I-cache: 64KB, 64-bajtowe bloki, 2-drożna, LRU L1 D-cache: 64KB, 64-bajtowe bloki, 2-drożna, LRU L2 cache 512KB, 64-bajtowe bloki, 8-512KB, 64-bajtowe bloki, 16- (każdy drożna, approx LRU drożna, approx LRU rdzeń) L3 cache (dzielona pomiędzy rdzeniami) 8MB, 64-bajtowe bloki, 16- drożna, wymiana n/a 2MB, 64-bajtowe bloki, 32- drożna, wymieniany blok używany przez najmniej rdzeni; 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