400 likes | 639 Views
Pamięci. Architektura Systemów Komputerowych. mgr inż. Michał Misiak. Hierarchia pamięci. Rejestr. Pamięć podręczna. Pamięci Półprzewodnikowe. Pamięć operacyjna. szybkość pamięci. rozmiar pamięci. System plików. Pamięć wirtualna. Pamięci dyskowe. Zasoby sieciowe. Nośniki wymienne.
E N D
Pamięci Architektura Systemów Komputerowych mgr inż. Michał Misiak
Hierarchia pamięci Rejestr Pamięć podręczna Pamięci Półprzewodnikowe Pamięć operacyjna szybkość pamięci rozmiar pamięci System plików Pamięć wirtualna Pamięci dyskowe Zasoby sieciowe Nośniki wymienne
Pamięci półprzewodnikowe • Rodzaj pamięci będącej cyfrowym układem przechowującej dane w postaci binarnej
Dekodery M-Bitów M-Bitów S1 S1 Słowo 0 Słowo 0 Komórka pamięci Komórka pamięci S2 A0 S2 A1 S3 S3 Słowo 1 Słowo 1 Decoder Słowo x N AN SN SN Słowo N Słowo N K = log2N Input - Output Input - Output Redukcja ilości sygnałów sterujących do K Duża liczba sygnałów sterujących.
Macierzowa architektura M-Bitów Wybrane słowo o pozycji (Ax, Ax) Słowo 0 Komórka pamięci A0 A1 Słowo 1 Decoder wiersza AN wzmacniacz K = log2N A0 Decoder kolumny A1 Input - Output
Parametry użytkowe • Pojemność • Przepływność • Koszt na jeden bit • Ziarnistość – minimalna ilość pamięci, o którą można rozszerzyć • Czas dostępu – czas potrzebny na zapis/odczyt • Czas cyklu - najmniejszy czas pomiędzy akacją zapisu/odczytu • Organizacja zewnętrzna – liczba bitów w kości x liczba kości w module x liczba adresów w kości x liczba modułów
Organizacja zewnętrzna fizyczna pamięci półprzewodnikowych Układ scalony Moduł Pamięć Układ scalony = liczba bitów x liczba adresów Moduł = liczba bitów w układzie x liczba układów Moduł = pojemność modułu x liczba modułów
Pamięci nieulotne • Zachowują zawartość po wyłączeniu zasilania. W pamięciach ulotnych czas zapisu informacji jest dłuższy od czasu odczytu. • MROM, ROM (Mask Programmable Read Only Memmory) – pamięć zapisywana podczas wytworzenia • PROM (Programmable Read Only Memmory) – jednokrotne programowanie po przez przepalenie połączeń wewnętrznych • UV-EPROM, EPROM (erasable programmable read only memmory) - wielokrotne programowanie. Umieszczony zostaje ładunek w bramce tranzystora. Kasowanie z użyciem UV • OTPROM (one time programmable read only memory) – programowanie jednokrotne. Układ pamięci UV-EPROM w taniej obudowie. • EEPROM (electrically erasable programmable read only memory) – zmiana struktury po przez sygnał elektryczny • FLASH – rodzaj pamięci EEPROM umożliwiający zapis/kasowanie wielu komórek jednocześnie
Pamięci o dostępie swobodnym • Pamięci RAM (random access memory) tracą zawartość po wyłączeniu zasilania. Czasy zapisu i odczytu są jednakowe. • Technologie: • pamięci statyczne (SRAM) • szybsze niż dynamiczne • większy koszt na jeden bit (potrzeba 6 tranzystorów oraz połączenia między nimi, bazuje na przerzutniku) • stosowane do konstrukcji pamięci podręcznych • pamięci dynamiczne (DRAM) • mniejszy koszt na jeden bit (bazuje na pojemnościach pasożytniczych) • wymagają odświeżania • stosowane do konstrukcji pamięci głównych komputerów • niski pobór mocy
Rodzaje pamięci o dostępie swobodnym • Konieczność przygotowania rozwiązań współpracujących z szybkimi procesorami ze względu na szybkość pamięci DRAM • FPM DRAM (fast page mode DRAM), EDO DRAM (extended data out DRAM) • SDRAM (synchronous DRAM) • VRAM (video RAM) • DDR RAM (double data rate DRAM), DDR2 • Rambus DRAM
Odczyt pamięci dynamicznej Źródło: http://www.mimuw.edu.pl/~marpe/arch/akmem.pdf
Fast Page Mode • Czas dostępu ok. 60-70 ns • Dane przesyłane jako seria 5-3-3-3 • Odczyt rozpoczyna się od wybrania strony po przez sygnał RAS i odpowiedniej kolumny po przez sygnał CAS Źródło: http://www.mimuw.edu.pl/~marpe/arch/akmem.pdf
EDO – Extended Data Out • Stosowane w pamięciach graficznych • Zmniejszenie liczby cykli oczekiwania podczas operacji sekwencyjnego odczytu • Przesyłanie danych w serii 5-2-2-2 • Rozpoczęcie wyznaczania następnego adresu w momencie, gdy dane są odczytywane Źródło: http://www.mimuw.edu.pl/~marpe/arch/akmem.pdf
Tryb pakietowy • Rozwinięcie pamięci EDO jest BEDO Burst Extended Data Output • Zmiana sposobu w jaki dane są przesyłane po wyznaczeniu adresu • Kontroler odwołuje się do pierwszej komórki, a pozostałe bity przesyłane są samoczynnie przez układ logiki • Cykl pracy 5-1-1-1 • Skrócenie odstępu pomiędzy zboczami sygnału CAS oraz opóźnienia pomiędzy sygnałem RAS i CAS • W czasie przysłania ostatniego bita danych wysterowywany jest kolejny adres
Synchroniczne DRAM • Możliwość pracy zgodnie z taktem zegara systemowego • Możliwość współpracy z magistralą systemową przy prędkości nawet 100MHz • Zastosowanie synchronicznego przesyłania danych zgodnych z zegarem • Możliwość pracy w trybie BURST: kontrola prędkości transferu danych oraz eliminacja cykli oczekiwania
SIMM vs DIMM • Pamięci montowane są w tzw. modułach ze względu na konieczność rozbudowy komputerów • Znane moduły SIMM (Singel In Line Memory Module) – oznacza sposób organizowania kości pamięci • Szerokość danych wynosi 32 bity • Konieczność łączenia SIMM w pary w przypadku magistrali 64 bit • Moduł DIMM (Dual In Line Memory Module) • Szerokość danych wynosi 64 bity SIMM DIMM
Pamięci podręczne tzw. cache • Szybkość wykonywania programu zależy od czasu dostępu do pamięci operacyjnej. • Możliwość budowy małych drogich, ale szybkich układów pamięci • Wyposażenie procesora w szybką pamięć, ale i mniejszą pamięć podręczną • Brak zgodności szybkości pracy pamięci operacyjnej z procesorem • Lokalność odwołań do pamięci: • Czasowa – jeśli obiekt był żądany to jest duże prawdopodobieństwo, że będzie żądany ponownie • Przestrzenna – jeśli obiekt był żądany to będą żądane obiekty prawdopodobnie wokół niego
Rodzaje odwzorowania adresów pamięci • Bezpośredni, 1-skojarzeniowy • Sekwencyjno-skojarzeniowy, skojarzeniowy (n>1) • Skojarzeniowy, w pełni skojarzeniowy, asocjacyjny • Przy odwzorowaniu innym niż bezpośrednie wykorzystywane są algorytmy zastępowania: • LRU (least recently used, najdawniej ostatnio używany) • FIFO (first in first out, pierwszy wchodzi, pierwszy wychodzi) • LFU (least frequently used, najrzadziej używany)
Poziomy pamięci cache • Odwoływanie do kolejnych poziomów pamięci w przypadku braku danych. Przepisanie danych do niższych poziomów w celu dostępności w kolejnych wołaniach • Podział na oddzielny blok dla danych i kodu (np. dla L1) • L1 (level 1) • zintegrowana z procesorem - umieszczona wewnątrz jego struktury. • mała, ale dane dla procesora szybko dostępne • L2 (level 2) umieszczona w jednej obudowie układu scalonego mikroprocesora lub na wspólnej płytce hybrydowej np. Pentium II. • L3 (level 3) umieszczona w bezpośrednim sąsiedztwie procesora np. ITANIUM.
Budowa pamięci cache • Pamięć cache składa się z linijek, w których przechowywane są informacje pobrane z RAM – najmniejsza pobrana porcja danych Katalog 1 LRU Katalog 2 znaczniki znaczniki linijki linijki MESI MESI 20 2 256 1
Budowa adresu • Podział adresu przez układy logiczne: • Znacznik (20 bitów) – porównywany ze znacznikiem w katalogu cache. Okreslanie, czy dane potrzebne dla procesora są w linijce cache (określanie trafienia). • Wiersz (7 bitów) - która pozycja (indeks) w katalogu 1 i katalogu 2 może odwzorowywać potrzebne dane. • Słowo (3 bity) pozwala na określenie, które z ośmiu 32-bitowych słów przechowywanych w linijce zawiera dane potrzebne procesorowi. • Bajt (2 bity) określa, który bajt w 32- bitowym słowie jest aktualnie potrzebny mikroprocesorowi.
Uzgadnianie zawartości pamięci wyższego poziomu z pamięcią podręczną • Sposób uzgadniania zgodności danych w przypadku zajścia zmian w pamięci cache lub pamięci RAM • Zapis jednoczesny (wirte through) – zapis wykonywany jest zarówno do pamięci jak i do cache. Proces musi monitorować zapis do pamięci RAM przez każdy inny układ. • Zapis opóźniony (copy/wirte back) – aktualizacja wyłączenie pamięci podręcznej. Układ cache ustawia odpowiednie statusy (MESI). Aktualizacja na żądanie. • Zapis inclusive • Zapis exlusive
Algorytm zapewniania zgodności • MESI • MSI • MOSI • MOESI M – modified – ważna kopia bloku, który został zmodyfikowany O – owned – właściciel bloku, ponosi całkowitą odpowiedzialność za odowłania do niego E – exclusive – posiada ważną kopię bloku, który nie został zmodyfikowany S – shared – wszyscy mają kopię tego bloku I – invalid – blok z nieważnymi
Pamięci masowe • Pamięć zewnętrzna – dłuższy czas dostępu i większa pojemność niż RAM • Urządzenie wejścia/wyjścia – brak instrukcji sterujących bezpośrednio przez procesor zawartością pamięci tak jak dla RAM • Operowanie na blokach, sektorach, a nie bitach • Stosowane technologie: • Magnetyczne: dyskowe (dyski twarde, dyskietki), taśmy • Optyczne: Compact Disc, Digital Video, Blueray Disc, High Definition DVD • Magneto-optyczne • Półprzewodnikowe pamięci flash
Dysk twardy (hard disc drive) • Pojemność od kliku MB do kilku TB • Wykorzystany w budowie nośnik magnetyczny • Parametry dysku: pojemność, szybkość transmisji, czas dostępu, szybkość obrotowa, MTBF
Budowa HDD • Wirujący zespół talerzy wykonany ze stopu aluminium pokrytych nośnikiem magnetycznym (kilku mikrometrów) • Głowice elektromagnetyczne – odpychane aerodynamicznie podczas obrotu talerza • Struktura w postaci cylindrów, na których ustawiana jest głowica. • Dane znajdują się na tzw. ścieżkach. • Ścieżka podzielona jest na sektory (przerwa, identyfikacja, synchronizacja, nr ścieżki, nr sektora, korekcja błędów, przerwa, dane, przerwa) • Głowica ustawiana za pomocą cewki – elektromagnetycznie z szybkością nawet 1 ms • Zapis realizowany przez antenę przesyłającą strumień elektromagnetyczny • Czas dostępu: czas do przesunięcia głowicy, znalezienie odpowiedniej ścieżki, czas przesłania danych
Dyski optyczne • Zapis i odczyt wykonywany za pomocą lasera • W dyskach ROM zapis informacji po przez wykonywanie za pomocą matrycy zagłębień (pit – fragmenty tłumiące) w stosunku do powierzchni (land – fragmenty odbijające) • Wykorzystanie zjawiska zmiany własności optycznych w wyniku naświetlenia laserem o zmiennej mocy promieniowania • Moc lasera przy zapisie większa niż przy odczycie • Zapis po przez: tłoczenie, wypalanie laserem barwnika, zmiana postaci nośnika (krystaliczna, amorficzna)
Technologie dysków optycznych • Nowe technologie były uzależnione od możliwości lasera tj. długości fali • CD – 780 nm • DVD – 650 nm • BD i HD DVD – 405 nm • Stosowanie jednej spiralnej ścieżki z danymi. Wyjątek DVD-RAM, które posiadają strukturę zbliżoną do dysków twardych. • Spiralna ścieżka zwiększa gęstość zapisu kosztem czasu dostępu
Dysk DVD • Standard zapisu na nośniku optycznym podobnym do CD-ROM o większej gęstości zapisu • Laser o krótszej wiązce fali niż w CD • Zastosowano dwie warstwy zapisu oraz zapisu obustronnego • DVD zawiera system plików UDF
Dyski magnetooptyczne • Odczyt z dysków magnetooptycznych wykonywany za pomocą lasera. Wykorzystanie zjawiska Kerra • Zjawisko zmiany własności optycznych nośnika w zależności od kierunku namagnesowania • Podgrzewanie przez laser warstwy magnetycznej nośnika powyżej temp. Curie przy jednoczesnym wytwarzaniu przez głowicę pola elektromagnetycznego • Organizacja podobna jak na dyskach twardych
Metody zapisu/odczytu informacji • CAV (constant angular velocity) – stała prędkość kątowa • CLV (constant linear velocity) – stała prędkość liniowa • ZCLV (zoned CLV) – dysk podzielony na strefy ze stałymi prędkościami liniowymi • CAA (constant angular acceleration) – rodzaj CLV. Prędkość kątowa zmienia się krokowo ze stałym przyspieszeniem/opóźnieniem.
RAID • Nadmiarowa Macierz niezależnych dysków (Redundant Array of Independent Disks) • Cele wykorzystania RAID: • zwiększenie niezawodności (odporność na awarie), • przyspieszenie transmisji danych, • powiększenie przestrzeni dostępnej jako jedna całość
A1 A1 A2 A2 A3 A3 A4 A4 Dysk 0 Dysk 1 RAID 0 • Połączenie dwóch lub więcej dysków widzianych jako jeden logiczny • Przestrzeń ma rozmiar najmniejszego z dysków • Korzyści: • przestrzeń wszystkich dysków jest widziana jako całość • przyspieszenie zapisu i odczytu w porównaniu do pojedynczego dysku • Wady: • brak odporności na awarię dysków • N*rozmiar najmniejszego z dysków
A1 A2 A3 A4 A5 A6 A7 A8 Dysk 0 Dysk 1 RAID 1 • Replikacja pracy dwóch lub więcej dysków tzw. mirroring • Zapis i odczyt sekwencyjny bądź równoległy • Korzyści: • odporność na awarię N - 1 dysków przy N-dyskowej macierzy • możliwe zwiększenie szybkości odczytu • Wady: • zmniejszona szybkość zapisu • utrata pojemności (dokładnie pojemności wynosi tyle co jeden, najmniejszy dysk macierzy)
RAID 3 A3 Ak A1 A2 • Dane składowane na N-1 dyskach • Ostatni dysk przechowuje sumy kontrolne • Korzyści: • odporny na awarię 1 dysku • większa szybkość odczytu • Wady: • mniejsza szybkość zapisu z powodu konieczności kalkulowania sum kontrolnych (eliminowana poprzez zastosowanie sprzętowych kontrolerów RAID) • w przypadku awarii dysku dostęp do danych jest spowolniony z powodu obliczeń sum kontrolnych • odbudowa macierzy po wymianie dysku jest operacją kosztowną obliczeniowo i powoduje spowolnienie operacji odczytu i zapisu • pojedynczy, dedykowany dysk na sumy kontrolne zazwyczaj jest wąskim gardłem w wydajności całej macierzy A6 Ak A4 A5 B3 Bk B1 B2 B6 Bk B4 B5 Dysk 0 Dysk 2 Dysk 3 Dysk 1
RAID 0+1 • Macierz realizowana jako RAID 0, którego elementami są macierze RAID 1 • Potrzebne 4 dyski o tej samej pojemności • Awaria dysku powoduje, że układ staje się macierzą RAID-0 • Korzyści: • szybkość macierzy RAID 0 • bezpieczeństwo macierzy RAID 1 • znacznie prostsza w implementacji niż RAID 3, 5 i 6 • Wady: • większy koszt przechowywania danych niż w przypadku RAID 0,2,3,4,5,6
RAID 1+0 (10) • Macierz RAID 0 realizowana jako RAID 1 • Tworzenie dużego paska danych „stripe” małych mirrorów • Korzyści: • szybkość macierzy RAID 0 • bezpieczeństwo macierzy RAID 1 - w szczególnym wypadku nawet większa (awaria więcej niż jednego dysku różnych mirrorów) • znacznie prostsza w implementacji niż RAID 3, 5 i 6 • Wady: • większy koszt przechowywania danych niż w przypadku RAID 0,2,3,4,5,6