WYKŁAD nr 4 - PAMIĘCI
Pamięci półprzewodnikowe
Rodzaj pamięci będącej cyfrowym układem przechowującej dane w postaci binarnej
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
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
EEPROM (electrically erasable programmable read only memory) - zmiana struktury po przez sygnał elektryczny
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
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
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
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
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
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
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ść
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
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
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
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