Materiały do wykładu 5.Pamięci Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 12 kwietnia 2014
Hierachia pamięci 5.1 kod pamięć wirtualna nośniki wymienne dane rej. pamięć podręczna pamięć operacyjna system plików zasoby sieciowe pamięci półprzewodnikowe pamięci dyskowe } pamięci taśmowe
Pamięci półprzewodnikowe(1) 5.2 Trwałość przechowywanej informacji ulotne nieulotne Sposób adresowania adresowanie poszczególnych bajtów lub słów bezadresowe(np. pamięci FIFO) adresowanie zawartością, asocjacyjne Liczba magistral jednobramowe, jednodostępne wielobramowe, wielodostępne
Pamięci półprzewodnikowe(2) 5.3 Sposób wprowadzania i wyprowadzania informacji równoległe szeregowe szeregowo-równoległe Rodzaj synchronizacji asynchroniczne synchroniczne Organizacja wewnętrzna liczba matryc rozmiar matrycy liczba bitów pamiętana w pojedynczej komórce
Organizacja wewnętrzna pamięci półprzewodnikowych5.4 CAS(column address strobe) adres kolumny zapis/odczyt wzmacniacze odczytu i bramkowanie we/wy RAS (row address strobe) matryca komórek pamięci adres wiersza
Parametry użytkowe pamięci półprzewodnikowych 5.5 Pojemność Szybkość dostarczania danych Kosztnajedenbit Ziarnistość Czas dostępu Czascyklu Organizacja zewnętrzna
Organizacja zewnętrzna pamięci półprzewodnikowych 5.6 układ scalony liczba adresów liczba bitów w układzie = pojemność układu 64M 4b=256Mb moduł liczbaukładów liczbabitówwukładzie=liczbabitówwmodule 18 4b=72b=64bdanych+8bECC liczba adresów liczba bitów danych = pojemność modułu 64M 64b=512MB pamięć pojemność modułu liczba modułów = pojemność pamięci 512MB 2=1GB
Pamięci nieulotne 5.7 MROM,ROM maskprogrammablereadonlymemory PROM programmable read only memory UV-EPROM, EPROM erasable programmable read only memory OTPROM one time programmable read only memory EEPROM electrically erasable programmable read only memory Flash NOR NAND
Pamięci o dostępie swobodnym 5.8 RAM randomaccessmemory statyczne SRAM dynamiczne DRAM Pamięci dynamiczne wymagają odświeżania. Pamięci statyczne są szybsze niż dynamiczne. Cena za bit w pamięciach statycznych jest większa niż w pamięciach dynamicznych.
Pamięci dynamiczne 5.9 Asynchroniczne Synchroniczne (SDR) SDRAM DDR(x) SDRAM
Cykl odczytu pamięci dynamicznej 5.10 czas cyklu czas dostępu RAS CAS r 1 c 1 r 2 c 2 d 1 d 2
Tryb stronicowy 5.11 FPM fastpagemode RAS CAS r c 1 c 2 c 3 c 4 d 1 d 2 d 3 d 4 EDO extendeddataout RAS CAS r c 1 c 2 c 3 c 4 d 1 d 2 d 3 d 4
Tryb pakietowy 5.12 3-1-1-1 RAS CAS r c d 1 d 2 d 3 d 4
Pamięci synchroniczne 5.13 zegar RAS CAS adres dane r c r d 1 d 2 d 3 d 4 zegar rozkaz adres dane act red red pre r c 1 c 2 d 1,1 d 1,2 d 1,3 d 2,1 d 2,2 d 2,3 d 2,4
Pamięci podręczne 5.14 Niedopasowanie między szybkościami działania procesora i pamięci operacyjnej Mniejsza pamięć może być szybsza Zasada lokalności odwołań do pamięci czasowa przestrzenna Do3poziomów Stopniowa integracja ze strukturą mikroprocesora Osobne pamięci pierwszego poziomu dla danych i kodu
Zasada działania 5.15 t e =pt c +(1 p)(t c +t m ) t e t m = t c t m +1 p t e efektywnyśredniczasdostępu t c czasdostępudopamięcipodręcznej t m czasdostępudopamięcigłównej p prawdopodobeństwo trafienia(ang. hit rate) 1 p prawdopodobeństwo chybienia(ang. miss rate)
Odwzorowanie bezpośrednie, 1-skojarzeniowe 5.16 adres znacznik indeks nr bajtu znacznik dane atrybuty znacznik dane atrybuty znacznik dane atrybuty znacznik dane atrybuty porównanie znaczników wybór bajtu trafienie/chybienie odczyt danych
Zjawisko migotania 5.17 Naprzemienne odczytywanie danych spod adresów o tym samym indeksie, ale różnych znacznikach Skojarzeniowość liczba bloków(wierszy, linii), w których mogą znajdować się dane o takim samym znaczniku Odwzorowanie sekcyjno-skojarzeniowe, n-skojarzeniowe, n > 1 Wymaga równoległego porównania n znaczników przy każdym odczycie. Odwzorowanie(w pełni) skojarzeniowe, asocjacyjne Wymaga równoległego porównania wszystkich znaczników przy każdym odczycie.
Algorytmy zastępowania 5.18 Jeśli skojarzeniowość jest większa niż jeden, potrzebny jest algorytm zastępowania. LRU(least recently used, najdawniej ostatnio używany) zastępowany blok, który pozostawał w pamięci podręcznej najdłużej bez odwoływania się do niego Pseudo-LRU uproszczona wersja LRU Non-MRU uproszczona wersja LRU FIFO(first in first out, pierwszy wchodzi pierwszy wychodzi) zastępowany blok, który pozostawał w pamięci podręcznej najdłużej LFU(least frequently used, najrzadziej używany) zastępowany blok, do którego było najmniej odwołań Zastępowany losowo wybrany blok
Uzgadnianie zawartości między różnymi poziomami 5.19 Zapis jednoczesny(ang. write through) Zapis do pamięci głównej odbywa się równocześnie z zapisem do pamięci podręcznej. Potrzebny jest bufor dla operacji zapisu do pamięci głównej. Zapis opóźniony(ang. copy/write back) Zapis odbywa się zawsze tylko do pamięci podręcznej. Zapis do pamięci głównej odbywa się, gdy zachodzi konieczność usunięcia z pamięci podręcznej bloku, który ma inną zawartość niż jego odpowiednik w pamięci głównej. Wcześniejszy odczyt(ang. prefetch)
Algorytmy MESI MSI MOSI MOESI Stany Uzgadnianie zawartości na jednym poziomie 5.20 Modified mam ważną kopię bloku, który został zmodyfikowany. Owned jestem właścicielem tego bloku i ponoszą odpowiedzialność za wszystkie odwołania do niego. Exclusive mam ważną kopię bloku, który nie został zmodyfikowany. Shared wszyscymająkopiętegobloku. Invalid blok zawiera nieważne dane.
Prawdopodobieństwo trafienia 5.21 Zależyod: stosunku wielkości pamięci podręcznej do pamięci głównej, wielkości bloku pamięci podręcznej(nieliniowo), skojarzeniowości.
Pamięci masowe 5.22 Urządzenia wejścia-wyjścia Operowanie na blokach, sektorach danych Technologie mechaniczne : dyski magnetyczne(dyski twarde, dyskietki) taśmy magnetyczne dyski optyczne dyski magnetyczno-optyczne Technologie półprzewodnikowe: pamięci USB(ang. pendrive) SSD(ang. solid-state drive, solid-state disk)
Budowa dysku twardego 5.23 Jeden do kilku dysków umieszcza się na wspólnej osi w hermetycznej obudowie. Dyski wykonuje się z aluminium lub szkła. Dyski pokrywa się twardym ferromagnetykiem: pierwiastki ferromagnetyczne: żelazo, kobalt, nikiel, gadolin, dysproz; stopy i związki chemiczne(np. tlenki) pierwiastków ferromagnetycznych; inne związki chemiczne, np. dwutlenek chromu.
Zapisywanie i odczytywanie dysku twardego 5.24 Zespół głowic porusza się w przybliżeniu wzdłuż promienia dysku. Głowica zapisująca zbudowana jest z rdzenia ze szczeliną, wykonanego z miękkiego ferromagnetyka, na którym nawinięto cewkę z drutu miedzianego. Przepływ prądu w cewce powoduje powstawanie w szczelinie pola magnetycznego, które przemagnesowuje nośnik. Odczyt: indukcja elektromagnetyczna głowica odczytująca ma konstrukcję analogiczną jak głowica zapisująca, może to być ta sama głowica; zjawisko magnetorezystancji zmiana rezystancji półprzewodnika pod wpływem pola magnetycznego.
Organizacja dysku twardego(1) 5.25 Liczba głowic odpowiada liczbie wykorzystanych stron dysków. Dane rozmieszczone są na koncentrycznych ścieżkach. Cylindrem nazywamy zbiór ścieżek, które mogą być odczytane przez różne głowice bez ich przesuwania. Ścieżka podzielona jest na sektory. Liczba sektorów na ścieżce może być stała lub zmienna. Przeplot Eliminowanie uszkodzonych sektorów
Format sektora Organizacja dysku twardego(2) 5.26 przerwa identyfikacja przerwa dane przerwa nr ścieżki nr sektora korekcja błędów synchronizacja synchronizacja właściwe dane korekcja błędów Czas dostępu czas poszukiwania ścieżki(ang. seek delay) opóźnienie obrotowe(ang. rotational delay) czas przesyłania(ang. transfer time)
Odczyt za pomocą lasera landy fragmenty odbijające pity fragmenty wytłumiające Zapis Dyski optyczne 5.27 tłoczeniezmatrycy dyskitylkodoodczytu(typurom) wypalanie laserem barwnika polimerowego dyski do jednokrotnego zapisu(typu R) zmiana postaci nośnika(krystaliczna, amorficzna) przez kontrolowanie laserem procesu jego podgrzewania i chłodzenia dyski do wielokrotnego zapisu(typu RW, RAM)
Technologie dysków optycznych 5.28 Technologia Długość fali lasera[nm] CD 780 DVD 650 Blu-ray 405
Organizacja dysku CD 5.29 Jedna spiralna ścieżka fizyczna podzielona na ramki i sektory, zaczynająca się przy środku dysku Ścieżki logiczne(ang. track) odpowiadające utworom muzycznym na płycie audio System plików: ISO 9660, RockRidge(Unix), Joliet(Windows), HFS (MacOS), HPFS(OS/2) Kodowanie dźwięku: Linear PCM
Jednalubdwiestrony Jednalubdwiewarstwynastronie Organizacja dysku DVD 5.30 Ścieżka w warstwie zewnętrznej zaczynająca się przy środku dysku Ścieżka w warstwie wewnętrznej zaczynająca się przy krawędzi dysku(tryb OTP) lub przy środku dysku(tryb PTP) System plików: UDF Kodowanie dźwięku: Linear PCM, Dolby Digital, DTS Digital Surround Kodowanie obrazu: MPEG-2 Konkurencyjne technologie dysków zapisywalnych: DVD R, DVD RW, DVD+R, DVD+RW
Jednalubdwiewarstwy System plików: UDF Organizacja dysku Blu-ray 5.31 Kodowanie dźwięku: Linear PCM, Dolby Digital, Dolby Digital Plus, Dolby TrueHD, DTS Digital Surround, DTS-HD Kodowanie obrazu: MPEG-2, MPEG-4
Dyski magnetyczno-optyczne 5.32 Odczyt za pomocą lasera wykorzystuje zjawisko Kerra: skręcenie płaszczyzny polaryzacji światła przy odbiciu od materiału ferromagnetycznego zależy od kierunku namagnesowania. Zapis wykorzystuje przejście między ferromagnetykiem a paramagnetykiem w temperaturze Curie: laser podgrzewa punktowo warstwę magnetyczną, głowica magnetyczna dokonuje przemagnesowania domen magnetycznych, obniżenie temperatury utrwala zapis. Organizacja jak na dyskach twardych
Metody zapisu, zapisywania i odczytywania 5.33 CAV(constant angular velocity) stała prędkość kątowa CLV(constant linear velocity) stała prędkość liniowa ZCLV(zonedCLV) dyskpodzielonyjestnastrefyostałychprędkościach liniowych. CAA(constant angular acceleration) odmiana CLV, w której prędkość kątowa zmienia się krokowo ze stałym przyspieszeniem(opóźnieniem).
Archiwizacja danych Taśmy magnetyczne 5.34 Dostęp sekwencyjny długi średni czas dostępu Podłoże polimerowe pokryte warstwą magnetyczną Kasety jedno- lub dwuszpulowe Zapis liniowy lub serpentynowy wiele równoległych głowic, ścieżki równoległe do krawędzi taśmy helikalny wirujący zespół głowic, ścieżki ukośne
Redundant Array of Independent Disks RAID 5.35 D.A.Patterson,G.A.Gibson,R.H.Katz,Acaseforredundant array of inexpensive disks, SIGMOD, 1988, 109 116. oryginalnepoziomy1do5 Implementacja sprzętowa programowa hybrydowa
RAID 0 5.36 B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 B i blokdanych
RAID 1 5.37 B 1 B 1 B 2 B 2 B 3 B 3 B 4 B 4 B i blokdanych
RAID 2 5.38 b 1,1 b 1,2 b 1,3 b 1,4 c 1,1 c 1,2 c 1,3 b 2,1 b 2,2 b 2,3 b 2,4 c 2,1 c 2,2 c 2,3 b 3,1 b 3,2 b 3,3 b 3,4 c 3,1 c 3,2 c 3,3 b 4,1 b 4,2 b 4,3 b 4,4 c 4,1 c 4,2 c 4,3 b i,j bitdanych,c i,k bitkontrolnykoduhamminga c i,1 =b i,1 b i,2 b i,4 c i,2 =b i,1 b i,3 b i,4 c i,3 =b i,2 b i,3 b i,4
RAID 3 5.39 b 1,1 b 1,2 b 1,3 p 1 b 2,1 b 2,2 b 2,3 p 2 b 3,1 b 3,2 b 3,3 p 3 b 4,1 b 4,2 b 4,3 p 4 b i,j bitdanych,p i bitparzystości p i =b i,1 b i,2 b i,3
RAID 4 5.40 B 1,1 B 1,2 B 1,3 P 1 B 2,1 B 2,2 B 2,3 P 2 B 3,1 B 3,2 B 3,3 P 3 B 4,1 B 4,2 B 4,3 P 4 B i,j blokdanych,p i blokparzystości P i =B i,1 B i,2 B i,3
RAID 5 5.41 B 1,1 B 1,2 B 1,3 P 1 B 2,1 B 2,2 P 2 B 2,3 B 3,1 P 3 B 3,2 B 3,3 B 4,1 B 4,2 B 4,3 P 4 B i,j blokdanych,p i blokparzystości P i =B i,1 B i,2 B i,3
RAID 6 5.42 B 1,1 B 1,2 B 1,3 P 1 Q 1 B 2,1 B 2,2 P 2 Q 2 B 2,3 B 3,1 P 3 Q 3 B 3,2 B 3,3 P 4 Q 4 B 4,1 B 4,2 B 4,3 B i,j blokdanych P i,q i blokikorekcyjnekodureeda Solomona
RAID 0+1 5.43 RAID0 { }} { RAID1 { }} { RAID0 { }} { B 1 B 2 B 3 B 1 B 2 B 3 B 4 B 5 B 6 B 4 B 5 B 6 B 7 B 8 B 9 B 7 B 8 B 9 B 10 B 11 B 12 B 10 B 11 B 12 B i blokdanych
RAID 1+0 5.44 { }} { RAID1 { }} { RAID1 { }} { RAID0 RAID1 { }} { B 1 B 1 B 2 B 2 B 3 B 3 B 4 B 4 B 5 B 5 B 6 B 6 B 7 B 7 B 8 B 8 B 9 B 9 B 10 B 10 B 11 B 11 B 12 B 12 B i blokdanych
RAID 5+0 5.45 RAID5 { }} { RAID0 { }} { RAID5 { }} { B 1,1 B 1,2 P 1 B 2,1 B 2,2 P 2 B 3,1 P 3 B 3,2 B 4,1 P 4 B 4,2 P 5 B 5,1 B 5,2 P 6 B 6,1 B 6,2 B 7,1 B 7,2 P 7 B 8,1 B 8,2 P 8 B i,j blokdanych,p i blokparzystości P i =B i,1 B i,2
Pamięci przyszłości 5.46 CzasdostępujakwSRAM Niepotrzebne wielopoziomowe pamięci podręczne GęstośćjakDRAM CenazabitjakwDRAM Nieulotne Praktycznie nieograniczona liczba zapisów Ujednolicenie pamięci operacyjnej i masowej MRAM?