Architektura komputerów

Podobne dokumenty
Architektura komputerów

Architektura komputerów

Architektura komputerów

System pamięci. Pamięć podręczna

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

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

ARCHITEKTURA PROCESORA,

dr inż. Jarosław Forenc

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

Podstawy Informatyki JA-L i Pamięci

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

Magistrala systemowa (System Bus)

System pamięci. Pamięć podręczna

Mikroprocesor Operacje wejścia / wyjścia

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Architektura komputerów

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

Architektura komputerów

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

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

dr inŝ. Jarosław Forenc

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

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

Architektura komputerów

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

System mikroprocesorowy i peryferia. Dariusz Chaberski

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

Systemy operacyjne III

Budowa i zasada działania komputera. dr Artur Bartoszewski

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

Temat: Pamięci. Programowalne struktury logiczne.

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

Architektura komputerów

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

Budowa systemów komputerowych

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

Technologie informacyjne - wykład 2 -

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

dr inż. Jarosław Forenc

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

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

dr inż. Jarosław Forenc

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

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

Technologia informacyjna. Urządzenia techniki komputerowej

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

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

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

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

Podstawy. Pamięć wirtualna. (demand paging)

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

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

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

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

Budowa komputera Komputer computer computare

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

Urządzenia zewnętrzne

Zarządzanie zasobami pamięci

Architektura systemów informatycznych

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

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

Architektura i administracja systemów operacyjnych

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

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

Architektura systemów komputerowych

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

Pamięci masowe. ATA (Advanced Technology Attachments)

Architektura komputerów

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

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

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

Architektura systemu komputerowego

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

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

Mikroprocesory rodziny INTEL 80x86

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

Procesory. Schemat budowy procesora

Zarządzanie pamięcią w systemie operacyjnym

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

Zagadnienia związane z systemem IO

Pamięci półprzewodnikowe

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

Struktura i działanie jednostki centralnej

Programowanie Mikrokontrolerów

Współpraca procesora ColdFire z pamięcią

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut

Macierze RAID MARCEL GAŃCZARCZYK 2TI 1

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 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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)

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Schemat blokowy pamięci RWM

RWM ciąg dalszy Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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

Długość słowa Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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

SAM LIFO Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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)

Pamięć DAM Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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

Inne parametry Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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)

Hierarchia pamięci Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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

Poziomy hierarchii pamięci Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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)

Inne akronimy Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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)

RAID Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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

RAID Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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

Zwiększenie szybkości Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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

Zwiększenie szybkości Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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)

Zwiększenie szybkości Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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)

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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)

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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)

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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)

Przykłady trybów MMU Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 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)

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