Architektura komputerów

Podobne dokumenty
Architektura komputerów

Architektura komputerów

Architektura komputerów

System pamięci. Pamięć podręczna

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

ARCHITEKTURA PROCESORA,

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

dr inż. Jarosław Forenc

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

Magistrala systemowa (System Bus)

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

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

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Mikroprocesor Operacje wejścia / wyjścia

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

System pamięci. Pamięć podręczna

Podstawy Informatyki JA-L i Pamięci

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

Architektura komputerów

Architektura komputerów

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

dr inŝ. Jarosław Forenc

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

Architektura komputerów

System mikroprocesorowy i peryferia. Dariusz Chaberski

Wykład II. Pamięci półprzewodnikowe. Studia Podyplomowe INFORMATYKA Architektura komputerów

Schematy zarzadzania pamięcia

dr inż. Jarosław Forenc

Stronicowanie w systemie pamięci wirtualnej

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

LEKCJA TEMAT: Zasada działania komputera.

Organizacja typowego mikroprocesora

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

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

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Technologie informacyjne - wykład 2 -

Systemy operacyjne III

Budowa i zasada działania komputera. dr Artur Bartoszewski

Temat: Pamięci. Programowalne struktury logiczne.

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

Architektura komputerów

Wykład II. Pamięci operacyjne. Studia stacjonarne Pedagogika Budowa i zasada działania komputera

dr inż. Jarosław Forenc

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

Budowa systemów komputerowych

Technologia informacyjna. Urządzenia techniki komputerowej

Płyta główna (ang. motherboard) najważniejsza płyta drukowana urządzenia elektronicznego, na której zamontowano najważniejsze elementy urządzenia, umo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Dotyczy jednostek operacyjnych i ich połączeń stanowiących realizację specyfikacji typu architektury

Zasada działania pamięci RAM Pamięć operacyjna (robocza) komputera - zwana pamięcią RAM (ang. Random Access Memory - pamięć o swobodnym dostępie)

Wykład 14. Zagadnienia związane z systemem IO

dr hab. Joanna Jędrzejowicz Podstawy informatyki i komputeryzacji Gdańska Wyższa Szkoła Humanistyczna

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

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

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

Budowa komputera Komputer computer computare

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Podstawy. Pamięć wirtualna. (demand paging)

Systemy operacyjne. Struktura i zasady budowy. Rozdział 1 Wprowadzenie do systemów komputerowych

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

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

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

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Zarządzanie pamięcią operacyjną

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

Architektura systemu komputerowego

Systemy operacyjne. dr inż. Marcin Czajkowski. Studia podyplomowe Wydział Informatyki PB

Budowa pamięci RAM Parametry: tcl, trcd, trp, tras, tcr występują w specyfikacjach poszczególnych pamięci DRAM. Czym mniejsze są wartości tych

Urządzenia zewnętrzne

Zarządzanie zasobami pamięci

Pamięci półprzewodnikowe

Architektura systemów informatycznych

Architektura systemu komputerowego

Wykład II. Pamięci półprzewodnikowe. Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych

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]

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Architektura i administracja systemów operacyjnych

Mikroprocesory rodziny INTEL 80x86

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++

Architektura systemów komputerowych

Pamięci masowe. ATA (Advanced Technology Attachments)

Architektura komputerów

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

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

Wykład II. Pamięci półprzewodnikowe. Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych

Cele RAID. RAID z ang. Redundant Array of Independent Disks, Nadmiarowa macierz niezależnych dysków.

System pamięci. Pamięć wirtualna

Architektura komputerów

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Urządzenia wejścia-wyjścia

Pamięci półprzewodnikowe na podstawie książki: Nowoczesne pamięci

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

Wykład I. Podstawowe pojęcia Pamięci półprzewodnikowe. Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych

Procesory. Schemat budowy procesora

Zagadnienia związane z systemem IO

Zarządzanie pamięcią w systemie operacyjnym

Architektura harwardzka Architektura i organizacja systemu komputerowego Struktura i funkcjonowanie komputera procesor, rozkazy, przerwania

Architektura komputera

Programowanie Mikrokontrolerów

Struktura i działanie jednostki centralnej

Transkrypt:

Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja. Studia I stopnia Dr inż. Małgorzata Langer Architektura komputerów Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie Innowacyjna dydaktyka bez ograniczeń zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Zadanie nr 30 Dostosowanie kierunku Elektronika i Telekomunikacja do potrzeb rynku pracy i gospodarki opartej na wiedzy 90-924 Łódź, ul. Żeromskiego 116, tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl

Pamięć i przechowywanie Kilka przerzutników tworzy rejestr; funkcjonalnie pamięć jest zestawem rejestrów, gdzie przechowywane są dane i instrukcje Najszybszy dostęp jest do pamięci głównej (primary memory) gdzie musi znaleźć się zestaw wykonywanych instrukcji, tańsza i wolniejsza może być pamięć wtórna (secondary memory) Ze względu na dostęp do informacji pamięci dzielimy na: RAM (random-access memory) pamięć swobodnego dostępu RWM (read/write memory) pamięć do odczytu i zapisu ROM (read only memory) pamięć tylko do odczytu [zaliczana przez niektórych autorów do RAM, jako, że jest swobodny dostęp do odczytu dowolnego rejestru] CAM (content-addressable memory) lub AM (associative memory) DAM (direct access memory) 2

Pamięć swobodnego dostępu W pamięci typu RAM można w sposób losowy podać adres dowolnej lokalizacji i funkcje zapisu i odczytu do/z takiej lokalizacji będą przebiegały jednakowo i zabierały tyle samo czasu RWM każdy rejestr pamięci, lub każda lokalizacja, posiada adres z nim związany. Dostęp do danej lokalizacji, czyli wejście danych (zapis) oraz wyjście (odczyt) następuje poprzez adres. Adres ten umieszcza się w MAR (Memory Address Register). Transfer do i z pamięci odbywa się zestawem bitów słowem pamięci. Jeżeli MAR jest n-bitowy, czyli umożliwia zaadresowanie 2 n lokalizacji (każda mieści słowo) a słowo jest m-bitowe, pojemność pamięci wynosi (2 n x m) bitów Ilość dostępnej pamięci podaje się zawsze w formacie N X M czyli N słów zawierających M jednostek. Jednostka może być: bitem, bajtem (8 bitów) lub słowem 3

Schemat blokowy pamięci RWM 4

RWM ciąg dalszy MBR (memory buffer register) rejestr bufora pamięci. Tam przechowuje się dane, które zostaną zapisane do pamięci, lub zostały odczytane Procedura odczytu: Do MAR dostarczony zostaje adres, sygnał sterujący READ ustawiony na 1, zawartość zaadresowanego słowa zostaje skopiowana do MBR. ZAWARTOŚĆ PAMIĘCI POZOSTAJE NIEZMIENIONA Procedura zapisu: Do MBR zostaje dostarczone słowo, do MAR adres, sygnał sterujący WRITE zostaje ustawiony na 1. Zawartość MBR zostaje przeniesiona do zaadresowanej lokalizacji pamięci. PAMIĘĆ ZOSTAJE ZMIENIONA 5

Długość słowa Typowe długości słowa: 6, 16, 32, 36, 64 bity Zwłaszcza przy długich słowach nie zawsze mogłyby być one w pełni wykorzystane; istnieje więc możliwość adresowania półsłowa lub ćwierć-słowa najczęściej bajtu. Takie pamięci nazywają się: byte-addressable. ROM pamięć ROM możemy logicznie rozpatrywać jak RWM, gdzie nie ma sygnału WRITE. Zawartość pamięci zostaje wpisana ( wypalona ) raz, u producenta, lub wiele razy ale w specyficznych, niestandardowych warunkach 6

CAM pamięć adresowana zawartością W tej koncepcji nie istnieje wyraźny adres, a logika poszukuje lokalizacji zawierających szczególny, wyspecyfikowany wzór. Dane zostały wpierw wprowadzone do pamięci hardware pamięci poszukuje zgodności z zadanym wzorem albo identyfikuje taką lokalizację (pierwszą, lub wszystkie), albo daje sygnał NO MATCH Zadany wzór powstaje z maskowania rejestru danych (gdzie zostało wprowadzone pełne słowo) rejestrem maski (wskazującym obszar słowa, który będzie stanowił wzór). Wynik znajduje się w rejestrze wyboru słowa Jeżeli wyszukiwane są wszystkie zgodne słowa, zostaje zastosowany układ MMR multiple-match resolver UWAGA hardware poszukuje zgodności z wieloma bitami jednocześnie MUSI BYĆ ZAPEWNIONY OBWÓD RÓWNOLEGŁEGO ODCZYTYWANIA I PORÓWNYWANIA 7

Pamięć o dostępie sekwencyjnym (SAM) Przykład: rejestr przesuwny z szeregowym wejściem i wyjściem PRZESUWANIE W PRAWO daje logiczne FIFO (first in, first out) SHIFT RIGHT INPUT OUTPUT Nie ma adresów, dane są sekwencyjnie zapisywane i odczytywane. Pamięć o dostępie sekwencyjnym, z algorytmem FIFO, nazywana jest KOLEJKĄ (queue) Na podobnej zasadzie działa pamięć szeregowa np. taśma w kasecie trzeba przewinąć wszystkie pozycje pomiędzy, aby przejść między pozycjami na początku i końcu taśmy 8

SAM LIFO PRZESUWANIE W PRAWO przy zapisie oraz W LEWO przy odczycie; odczyt i zapis z jednej strony; LIFO last in/first out odczytuje się najświeższy zapis STOS Logiczne sygnały: PUSH (przy zapisie, wpychaj przesuwanie w prawo); POP (przy odczycie, pobierz przesuwanie w lewo) INPUT PUSH OUTPUT POP 9

DAM pamięć o dostępie bezpośrednim Przykład: dysk (magnetyczny, optyczny) Przetwornik (głowica, laser ) ustawiany jest w dowolnej wyznaczonej pozycji. Od tego miejsca dane są pobierane w sposób sekwencyjny Inna nazwa semi-ram, pamięć równoległa (w odróżnieniu od szeregowej) 10

Pamięć DAM 11

Parametry systemów pamięci Pojemność maksymalna ilość jednostek (bitów, bajtów, słów) danych, które mogą być przechowywane (ilość adresów x zawartość pojedynczej lokalizacji) Czas dostępu ile czasu musi minąć, aby uzyskać dostęp do danych od momentu ustawienia adresu (w RAM dostęp oznacza, że dane pojawią się w MBR) W pamięciach DAM czas dostępu jest funkcją pozycji głowicy (gdzie była wcześniej i gdzie musi przejść teraz) Czas cyklu jest miarą jak często można uzyskać dostęp do pamięci; w pamięciach wymagających ponownego zapisu (odświeżania) danych po odczycie, jest większy niż czas dostępu Szybkość transferu danych [bps] ile bitów na sekundę może zostać odczytanych 12

Inne parametry Koszt iloczyn pojemności i ceny, podzielony na ilość bitów Tolerancja błędów (dopuszczalna ilość błędów w %) Odporność na promieniowanie (w różnych zakresach częstotliwości EM) Kompresja danych Wielkość i waga Zużycie mocy (w odniesieniu do bitu) Rodzaj i konieczność zasilania (pamięć ulotna i nieulotna) 13

Hierarchia pamięci Pamięć główna (primary memory) w systemie komputerowym zawsze jest typu RAM (najszybsza) Program i potrzebne dane w momencie gdy potrzebuje ich procesor, powinny być w pamięci głównej Pozostałe dane i nieużywane bloki instrukcji mogą być pamięci wtórnej (secondary memory), najczęściej typu DAM Obie pamięci organizowane są w schemat pamięci wirtualnej z punktu widzenia użytkownika - cała pamięć jest dostępna do programowania. OS (system operacyjny) kieruje przesyłaniem odpowiednich bloków do i z pamięci głównej do wtórnej Nawet pamięć główna (połączona magistralą) jest zbyt wolna dla procesora; dlatego wykorzystywana jest pamięć podręczna (CACHE) równolegle zaopatrywana z pamięci głównej; jeszcze szybsze są rejestry procesora 14

Poziomy hierarchii pamięci 1. Rejestry CPU 2. Cache pamięć podręczna (jest to RAM z szybszymi, równoległymi połączeniami) 3. Pamięć główna (procesor pobiera programy i dane poprzez cache) 4. Pamięć wtórna, masowa, najczęściej typu DAM i SAM Jeżeli koszt pamięci poziomu i oznaczymy jako: C i a pojemność tego poziomu przez S i, to średni koszt systemu pamięci: C a n i 1 n i 1 C S i S i i Aby średni koszt był najbliższy pamięci najtańszej (n), a najczęściej C i >>C i+1 dąży się do warunku S i <<<S i+1 15

Inne akronimy dotyczące pamięci CDROM (compact disk ROM) WORM (write-once-read-many-times) SRAM (static RAM) nie wymagają odświeżania po odczycie DRAM (dynamic RAM) odczyt jest rozładowaniem pojemności zapis musi zostać ponownie dokonany (odświeżanie) MC (memory cell); DMC (dynamic MC) komórka pamięci iram (integrated RAM) obecnie najczęściej dynamiczne i nieulotne PROM (programmable ROM) EPROM (erasable PROM) kasowanie najczęściej światłem ultrafioletowym EAROM (electrically alterable ROM) 16

Inne akronimy AMC (associative memory cell); [associative = content-addressable] DVD (Digital Video Disk) HD DVD (High Density DVD) RAID (Redundant Array of Independent Disks) wykorzystywane, gdy tolerancja błędów = 0; wszystkie operacje są wykonywane symultanicznie na więcej niż jednym urządzeniu; każdy dysk posiada niezależne urządzenie sterujące SLED (single large expensive disk) RAID level 0 : oznacza 0 dysków zapasowych (czyli zapisuje się tylko w jednej lokalizacji) RAID level 1 : zapisuje się wszystko na 2 dyskach symultanicznie (1 jest zapasowy lustrzany mirror) 17

RAID RAID level 0+1 (HDTP: high data-transfer performance): zapisuje się tylko na 1 dysku (szybszym) a później dokonuje zapisu na dysku lustrzanym RAID level 2 (kod Hamminga) mapowanie dysku (fizyczna lokalizacja obu dysków jest identyczna; możliwe wykrycie błędów parzystości, odzyskiwanie zawartości; proces powolny RAID level 3 (PTP parallel transfer with parity) oprócz lustrzanego kopiowania stosuje się zapis informacji o parzystości (wąskie gardło przy jej obliczaniu, ale zajmuje mniej miejsca, chociaż potrzeba 3 dysków) RAID level 4 (with Shared Parity) (jak level 0, tylko z obliczaniem parzystości) dane zapisywane są w blokach równej wielkości (taśma), po którym następuje taśma (strip) z zapisem parzystości 18

RAID RAID level 5 (Distributed Parity Blocks) umożliwia zapis danych o różnych wielkościach (bloki nie muszą być jednakowe); po każdej taśmie następuje informacja o parzystości. Duża szybkość odczytu, średnia zapisu. Bardzo trudno jest odtworzyć zawartość takiego dysku. RAID level 6 (with Two Independent Parity Schemes) tzw. Dual parity czyli podwójne sprawdzanie parzystości czyli podwójna taśma parzystości, reszta, jak w level 5 RAID level 10 (HRHP high reliability & high performance) matryca, której segmentami są matryce RAID level 1 19

Zwiększenie szybkości Dla danej technologii pamięci czas dostępu i cyklu są zdefiniowane. Dla przyspieszenia działania pamięci w układzie konieczna jest optymalizacja dekodowania adresów i technik dostępu BANKING (ang. bank pole stykowe); adresy umieszcza się dla każdego modułu pamięci w jednym, tym samym banku, albo oddzielnych, np. dla programu i danych (szybciej, w fazie pobierania instrukcji, można pobierać dane) Przeplot (Interleaving) żądanie dostępu do następnego słowa inicjowane jest, gdy następuje dostęp do słowa bieżącego (najmniej znaczące bity podają już nr banku) Stosuje się sekwencyjne przeplatanie (kolejne odwołanie następuje poprzez kolejny fizyczny bank); istnieje wiele algorytmów 20

Zwiększenie szybkości Pamięci wieloportowe (wielo-dostepowe) (multiport memories) każdy port to MAR i MBR. Niezależny dostęp do pamięci może nastąpić poprzez dowolny port - p. Szczególnie użyteczne przy wielu urządzeniach korzystających z jednej pamięci Pobieranie szerszego słowa. Przykład: z pamięci 64 bitowej można w jednej fazie pobierania przekazać do MBR 8 bajtów żądanych przez 8 niezależnych, ustawionych adresów, albo 2 pełne słowa 32- bitowe Bufor instrukcji w schemacie FIFO gdy CPU kończy pobieranie instrukcji, następna już umieszczana jest w buforze (trudności przy skoku, używa się wtedy rozkazu FREEZE zatrzymanie wcześniejszego pobierania, lub instrukcjach wyboru - rozgałęzionych) 21

Zwiększenie szybkości Zasada regionalizacji programu (program locality principle) lokalizacje, do których w krótkim czasie będzie się odwoływał CPU powinny być zapisane w jednym obszarze (zasada wykorzystywana przede wszystkim w pamięci podręcznej ściąganie całego klastera i sprawdzenie, czy adres, do którego jest odwołanie znajduje się już w cache, tzw. cache hit ); potrzebny jest wtedy algorytm wymiany które bloki (klastery) mogą w pamięci podręcznej zostać wymienione na nowe (w przypadku: cache miss ) Mapowanie bezpośrednie (każdy adres pamięci ma swoje miejsce w danym bloku pamięci podręcznej kłopot, jeżeli kolejne odwołania są do adresów mapowanych w tym samym bloku system staje się niewydolny 22

Algorytmy wymiany w pamięci podręcznej LRU (least recently used) usuwany jest blok nieużywany najdłużej; do każdego bloku musi być przypisany licznik (tzw. asking counter, lub aging counter) każde odwołanie do bloku zeruje licznik a wszystkie pozostałe liczniki zostają zwiększone o 1. W przypadku wymiany LRU usuwany jest blok, którego licznik ma wartość największą Usuwanie bloku wpisanego najdawniej FIFO, bardzo łatwy w zastosowaniu, ale niektóre bloki są wciąż zapisywane, bo wykorzystywane często a kasowane LFU (least frequently used) kasowany jest blok z najmniejszą liczbą odwołań Losowo symulacje wskazują, że przy zwiększającym się czasie pomiaru nie ma zbyt dużej różnicy w porównaniu do innych 23

Operacje zapisu w pamięci podręcznej CPU może pobrać daną z pamięci cache i aktualizować ją, tzn. zmienić jej wartość w konsekwencji dane w pamięci głównej, skąd klaster zawierający daną został odczytany również musi zostać zmieniony (zasada spójności) Write back blok zaktualizowany w cache otrzymuje specjalną etykietę (tzw. brudny blok). Gdy taki dirty block ma zostać usunięty z cache, wpierw zostaje skopiowany do pamięci głównej Write through w momencie aktualizacji w pamięci podręcznej, odpowiedni blok w pamięci głównej również jest zapisywany z tą samą wartością; mechanizm zapewnia zasadę spójności (szczególnie istotne przy wielodostępie), ale nie jest efektywny (przy aktualizacji kilku danych z tego samego klastera będzie potrzebnych kilka aktualizacji bloku w pamięci głównej) 24

Operacje zapisu w pamięci podręcznej Write once możliwe przy wielu procesorach i wspólnej magistrali do pamięci. Pierwszy procesor (Master) pracuje z algorytmem WRITE THROUGH czyli, gdy zmienia zawartość w swojej pamięci podręcznej, brudny blok jest natychmiast przepisywany do pamięci głównej; pozostałe procesory, jeżeli mają w swoich pamięciach podręcznych ten blok natychmiast usuwają go i pobierają nowy, uaktualniony. Pozostałe procesory pracują z zasadą write-back i po aktualizacji brudne bloki zapisywane są do pamięci głównej przy ich wymianie Przy włączeniu zasilania zawartość pamięci podręcznej jest przypadkowa, wadliwa i nie może być wykorzystana (muszą być ustawiane bity ważności informacji przy wczytywaniu kolejnych bloków) 25

Optymalizacja pamięci podręcznej Jeżeli T m jest średnim czasem dostępu do pamięci głównej a T c do pamięci podręcznej, h jest prawdopodobieństwem trafień (hit ratio), (1-h) prawdopodobieństwem nietrafienia (miss ratio), to średni czas dostępu do systemu pamięci wynosi: T a = ht c + (1 h)t m Aby uzyskać jak najkrótszy średni czas dostępu (czyli zbliżony do T c ) należy projektować i stosować algorytmy z jak największym h, co nie zawsze jest realne Inne rozwiązanie zwiększać pojemność pamięci podręcznej (Intel Pentium posiada dwa poziomy pamięci cache: pierwszy poziom w chipie i drugi na zewnątrz) 26

Logiczne zwiększanie pamięci głównej Program i dane muszą znajdować się podczas wykonywania w pamięci głównej. Zwykle jej wielkość nie pozwala na to i wielka część programu i danych znajduje się w pamięci wtórnej Wirtualna pamięć: (virtual address space) cały zasób pamięci wtórnej jest dostępny dla programów i danych, chociaż procesor odwołuje się wciąż tylko do pamięci głównej. Stosowane są nakładki (overlays) Pamięć wirtualna podzielona jest na strony (jednakowej długości) lub segmenty (równoznaczne z nakładką) o niejednakowej długości, dalej mogące być podzielone na strony Mechanizm obsługi pamięci wirtualnej jest podobny do podręcznej: należy sprawdzić adres odwołania i czy dana zawartość pamięci wtórnej jest w pamięci głównej, czy należy ją tam umieścić; do wymiany stosowane jest FIFO i LRU 27

Różnice przy obsłudze pamięci podręcznej i wirtualnej W pamięci podręcznej operuje się blokami o wymiarach kilku bajtów, przy pamięci wirtualnej wymieniane strony mają wielkość kilku kilobajtów (wielkość ta jest zmienna, zależnie od aplikacji i wielkości przeciętnych segmentów) Gdy w pamięci podręcznej następuje nietrafienie (miss) procesor bezczynnie czeka na wpisanie bloku z głównej pamięci; dla przyśpieszenia tego procesu, obsługiwany jest on wyłącznie sprzętowo To samo w pamięci wirtualnej jest nazywane błędem strony (page fault), traktowanym jako wywołanie przez OS procesor zostaje przełączony do innego zadania w czasie gdy strona jest przenoszona z pamięci wtórnej do głównej; obsługa tej procedury jest częściowo programowa, częściowo implementowana sprzetowo MMU (memory management unit) 28

Przykłady trybów MMU Tryb płaski - Flat mode przestrzeń adresowa jest pojedyncza i ciągła dla całego programu; razem znajdują się kod, dane i stosy procedur; typowa wielkość 4 GB Tryb segmentowy Segmented mode kod programu, dane i stosy procedur są oddzielnie zarządzane przez oddzielne segmenty; procesor może zaadresować np. 16383 segmenty, każdy o pojemności 2 32 bajty (dane Intela) Tryb adresów rzeczywistych Real address mode liniowa przestrzeń adresowa dla programu i systemu operacyjnego składa się z matrycy segmentów (64 KB każdy); maksymalny wymiar liniowej przestrzeni adresowej w tym trybie 2 20 bajtów 29

Tryby odwołań do pamięci przez procesor Protected Real-address System management (SMRAM) Inne uwagi: - niektóre procesory w pamięci podręcznej zapisują wyłącznie programy (a nie dane) 30

KONIEC CZĘŚCI ÓSMEJ Dr inż. Małgorzata Langer Architektura komputerów Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie Innowacyjna dydaktyka bez ograniczeń zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Zadanie nr 30 Dostosowanie kierunku Elektronika i Telekomunikacja do potrzeb rynku pracy i gospodarki opartej na wiedzy 90-924 Łódź, ul. Żeromskiego 116, tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl