Zarządzanie zasobami pamięci

Podobne dokumenty
Współpraca procesora ColdFire z pamięcią

Zarządzanie pamięcią operacyjną

Schematy zarzadzania pamięcia

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

Architektura komputerów

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

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

Zarządzanie pamięcią operacyjną zagadnienia podstawowe

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

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

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

Zarządzanie pamięcią operacyjną

Mikroinformatyka. Tryb wirtualny

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

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

Zarządzanie pamięcią w systemie operacyjnym

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

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

Sprzętowe wspomaganie pamięci wirtualnej

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]

System pamięci. Pamięć wirtualna

System pamięci. Pamięć wirtualna

Organizacja typowego mikroprocesora

Przed wykonaniem program musi być pobrany z dysku i. Tam działa a jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z

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

System pamięci. Pamięć wirtualna

Systemy operacyjne III

Stronicowanie w systemie pamięci wirtualnej

Hierarchia pamięci w systemie komputerowym

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

dr inż. Jarosław Forenc

Systemy Operacyjne Zarządzanie pamięcią operacyjną

Od programu źródłowego do procesu

Zarz arz dzanie pam dzanie ięci ę ą

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

Zarz¹dzanie pamiêci¹

Zarz arz dzanie pam dzanie ięci ę ą

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

Architektura komputerów

Celem wykładu jest przedstawienie podejść do zarządzania jednym z kluczowych zasobów systemu komputerowego pamięcią operacyjną. Ponieważ zarządzanie

Podstawy. Pamięć wirtualna. (demand paging)

WYKŁAD. Zarządzanie pamięcią operacyjną

ARCHITEKTURA PROCESORA,

Programowanie Niskopoziomowe

Architektura systemu komputerowego

Pamięć wirtualna w AS/400

Wykład 10 Zarządzanie pamięcią

Systemy Operacyjne Pamięć wirtualna cz. 2

Architektura systemów informatycznych

Mikroinformatyka. Wielozadaniowość

Wybrane zagadnienia elektroniki współczesnej

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

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

Podstawowe zagadnienia informatyki

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

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

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

Organizacja pamięci wewnętrznej komputerów

System pamięci. Pamięć podręczna

Zarządzanie pamięcią operacyjną i pamięć wirtualna

Architektura mikroprocesorów z rdzeniem ColdFire

Programowanie Niskopoziomowe

Pamięć Wirtualna w Linuksie 2.4

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

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

Architektura systemów informatycznych

Architektura komputerów

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

Systemy operacyjne III

Informatyka 2. Wykład nr 10 ( ) Plan wykładu nr 10. Politechnika Białostocka. - Wydział Elektryczny. ext2. ext2. dr inŝ.

Systemy operacyjne Zarządzanie pamięcią

Architektura systemu komputerowego

4. Procesy pojęcia podstawowe

Mikroprocesory rodziny INTEL 80x86

PODSTAWY INFORMATYKI

Architektura komputerów egzamin końcowy

Procesory. Schemat budowy procesora

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

CompactPCI. PCI Industrial Computers Manufacturers Group (PICMG)

dr inż. Jarosław Forenc

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

dr inŝ. Jarosław Forenc

4. Procesy pojęcia podstawowe

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

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

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

dr inż. Jarosław Forenc

System pamięci. Pamięć podręczna

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

przypisanie różnym strukturom programowym tych samych obszarów pamięci fizycznej

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Architektura mikroprocesorów z rdzeniem ColdFire

Ograniczenia efektywności systemu pamięci

przypisanie różnym strukturom programowym tych samych obszarów pamięci fizycznej

Architektura systemów komputerowych. dr Artur Bartoszewski

Działanie systemu operacyjnego

Architektura systemów komputerowych. dr Artur Bartoszewski

Budowa systemów komputerowych

Transkrypt:

Zarządzanie zasobami pamięci System operacyjny wykonuje programy umieszczone w pamięci operacyjnej. W pamięci operacyjnej przechowywany jest obecnie wykonywany program (proces) oraz niezbędne dane. Jeżeli system operacyjny obsługuje kilka procesów w pamięci muszą znajdować się poszczególne programy wraz z danymi (przynajmniej częściowo) procesy współdzielą dostępną pamięć. Po zakończeniu obsługi danego procesu (kończy się czas przeznaczony na obsługę zadania), następuje przełączenie kontekstu. Jeżeli nowy program znajduję się całkowicie w pamięci procesor wznawia pracę, jeżeli nie to program ładowany jest z pamięci pomocniczej (FLASH, HDD). Można wyróżnić cztery podstawowe sposoby zarządzania pamięcią: 1. Płaska przestrzeń adresowa, 2. Przydział ciągły, 3. Stronicowanie pamięci, 4. Segmentacja pamięci. Wymiana dwu procesów (swapping) 1

Płaska przestrzeń adresowa Obliczenia Adresy, dane odczyt Procesor zapis Adres logiczny = Adres fizyczny 2

MMU (Memory Management Unit) (1) MMU jest układem realizujących dostęp do pamięci fizycznej żądanej przez CPU. Zadania realizowane przez moduł zarządzający pamięcią: Translacja adresów logicznych na adresy pamięci fizycznej, Ochrona pamięci, kontrola uprawnień, Obsługa pamięci podręcznej, Zarządzanie szynami danych, przełączanie banków pamięci (mikrokontrolery 8-bitowe), Ułatwienie przełączania kontekstu (pamięć wykorzystywana przez proces, stos, itd...), Procesor ma bezpośredni dostęp do szybkiej pamięci statycznej, rejestrów oraz urządzeń mapowanych na pamięć, Dostęp do głównej pamięci może zająć więcej niż jeden cykl maszynowy (pamięci FLASH, HDD), Każdy proces pracuje w oddzielnej przestrzeni pamięci. 3

MMU (Memory Management Unit) (2) Translacja adresów logicznych na fizyczne Procesor Adres logiczny MMU Adres fizyczny Logiczna przestrzeń adresowa Adres logiczny = Adres fizyczny Fizyczna przestrzeń adresowa Adres logiczny, wirtualny (logical, virtual address) adres wygenerowany przez procesor Adres fizyczny (physical address) adres przetworzony przez jednostkę MMU, odzwierciedlający faktyczny adres w pamięci fizycznej. 4

Przydział ciągły Rejestr limitu Rejestr bazowy Adres logiczny Adres fizyczny CPU < Tak + Pamięć Nie Wyjątek przekroczenie dozwolonego obszaru pamięci umożliwia ochronę systemu operacyjnego, programów oraz danych. 5

Przydzielanie pamięci i planowanie długoterminowe 4 1 System operacyjny P1 4 1 System operacyjny P1 4 1 System operacyjny P1 4 1 System operacyjny P5 P4 P4 P2 2 23 P3 2 23 P3 2 23 P3 2 23 P3 36 36 36 36 6

Stronicowanie pamięci Numer strony P m n 32-bit Odległość na stronie D n szyna adresowa: 24-bit przestrzeń adresowa: 32-bit rozmiar strony=512 B, n = 2^9 P = 2^23 rozmiar tablicy stron 2^23 Procesor Adres logiczny = P * rozmiar_strony + D Adres logiczny MMU Tablica stron Adres fizyczny Pamięć 31 Logiczna przestrzeń adresowa 2 m strony Rozmiar strony 2 n 31 Fizyczna przestrzeń adresowa - ramki Pamięć fizyczna podzielona jest na obszary o stałej długości m, tzw. ramki (frames), Pamięć logiczna podzielona jest na obszary o takiej samej długości jak ramki, tzw. strony (pages), długość obszarów jest potęgą liczby dwa w przedziale od 512 B do kilkunastu Mb. Proces zajmuje n stron pamięci (ostatnia strona nie jest wypełniona fragmentacja wewnętrzna) Jednostka MMU tłumaczy adresy logiczne na adresy fizyczne. 7

Obliczenie adresu fizycznego Rozmiar strony = 512 B Adres logiczny = 7 x 512 + 1 = 3684 P = 7, D = 1 F = 3 Adres fizyczny = 3 x 512 + 1 = 1636 1 2 3 4 5 6 7 8 9 1 Przesunięcie CPU P D F D Frame 3 512 124 1536 284 256 376 3584 Frame 1 Frame 2 Frame 3 Frame 4 Frame 5 Frame 6 8

Strona Strona 1 Strona 2 Strona 3 Model stronicowania pamięci fizycznej i logicznej Lista wolnych ramek: - 7 1 2 3 1 4 3 7 Tablica stron Lista wolnych ramek:, 2, 5, 6 512 124 1536 284 256 376 3584 Frame Frame 1 (strona ) Frame 2 Frame 3 (strona 2) Frame 4 (strona 1) Frame 5 Frame 6 Frame 7 (strona 3) 9

Tablica stron 32-bit Tablica stron Rozmiar strony 2 2 deskryptorów 4 kb = 2 12 Trójstopniowa tablica stron Rozmiar strony 128 128 64 4 kb = 2 12 7 bitów 7 bitów 6 bitów 1 2 3 1 4 3 7 Tablica stron R/W U/S X Valid R/W U/S X Valid R/W U/S X Valid R/W U/S X Valid Czas dostępu do rejestrów asocjacyjnych: Czas dostępu do pamięci: 2 ns 1 ns Wsp. trafień (hit ratio) = 8 % Efektywny czas dostępu =,8 x 12 +,2 x 22 = 14 ns Wsp. trafień (hit ratio) = 98 % Efektywny czas dostępu =,98 x 12 +,2 x 22 = 122 ns 1

Tablica stron - MC684 11

Zastosowanie rejestrów asocjacyjnych Przesunięcie TLB translation look-aside buffers CPU P D F D 32-bit 32-bit 512 124 1536 Frame 1 Frame 2 Frame 3 1 2 3 4 5 Bufory TLB Frame 3 Chybienie w TLB odwołanie do Tablicy stron 284 256 376 3584 Frame 4 Frame 5 Frame 6 12

Segmentacja Stos 14 Segment Podprogram Segment Funkcja SQRT Segment 1 Segment 3 Tablica symboli Program główny Segment 4 32 43 47 63 Segment 3 Segment 2 Segment 4 Segment 2 Segment 1 13

Obliczenie adresu fizycznego Numer segmentu S Odległość D Numer segmentu Adres logiczny = S + D 1 2 3 4 5 Granica Baza Tablica segmentów Adres fizyczny = Baza segmentu + D 14

Segmentacja - obliczanie adresu fizycznego Granica Baza 14 Segment CPU S D < Tablica segmentów Tak + 32 43 47 Segment 3 Segment 2 Segment 4 Adres logiczny Nie Wyjątek błąd adresowania Adres fizyczny 63 Segment 1 15

Segmentacja Stos 14 Segment Podprogram Segment Funkcja SQRT Segment 1 Segment 3 Tablica symboli Program główny Segment 4 32 43 47 63 Segment 3 Segment 2 Segment 4 Segment 2 Segment 1 16

Rdzeń procesora ColdFire V4e z jednostką MMU 17

ColdFire V4e Procesor z rdzeniem V4e: MCF547x, MCF548x lub V5, 64 rejestry asocjacyjne TLB (32 dla pamięci programu i 32 dla pamięci danych), Obsługa wyjątków w przypadku niepowodzenia odczytu z pamięci (TLB miss), Rozmiar obsługiwanych stron: 1, 4, 8 kb i 1 MB, Jednostka MMU umożliwia uzyskanie poziomu trafności na poziomie 97% w odniesieniu, do procesora rodziny V4 (bez MMC), Obsługa uprawnień (użytkownik/superużytkownik, zapis/odczyt, pamięć wykonywalna), Dostęp do rejestrów TLB przez rejestry modułu MMC, Dostęp do urządzeń specjalnych mapowanych na pamięć (przerwania, urządzenia I/O) lub praca w trybie emulatora odbywa się przy wykorzystaniu adresów fizycznych. 18

Ramka stosu sytuacji wyjątkowych 19

Rejestr statusowy MMUSR 2

Rejestr konfiguracyjny MMUDR 21

Współpraca pamięci podręcznej z MMU CPU Virtual Address TLB Cached? Yes No Translate (MMU) Save Result Physical Address Physical Memory Data Read or Write (untranslated) 22