View
227
Download
0
Category
Preview:
Citation preview
Materiały do wykładu
5. Pamięci
Marcin Peczarski
Instytut InformatykiUniwersytet Warszawski
12 kwietnia 2014
Hierachia pamięci .
kod
dane
nośnikiwymienne
zasobysieciowe
pamięćwirtualna
systemplików
pamięć operacyjna
pamięćpodręczna
rej.
pamięci półprzewodnikowe
pamięci dyskowe}
pamięci taśmowe
Pamięci półprzewodnikowe (1) .
⊲ 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) .
⊲ 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ółprzewodnikowych.
CAS (column address strobe)
adres kolumny
zapis/odczyt
RAS(row address strobe)
we/wy
adres wiersza
matrycakomórekpamięci
wzmacniaczeodczytu
i bramkowanie
Parametry użytkowe pamięci półprzewodnikowych .
⊲ Pojemność
⊲ Szybkość dostarczania danych
⊲ Koszt na jeden bit
⊲ Ziarnistość
⊲ Czas dostępu
⊲ Czas cyklu
⊲ Organizacja zewnętrzna
Organizacja zewnętrzna pamięci półprzewodnikowych.
⊲ układ scalony
liczba adresów × liczba bitów w układzie = pojemność układu
64 M× 4 b = 256 Mb
⊲ moduł
liczba układów × liczba bitów w układzie = liczba bitów w module
18× 4 b = 72 b = 64 b danych + 8 b ECC
liczba adresów × liczba bitów danych = pojemność modułu
64 M× 64 b = 512 MB
⊲ pamięć
pojemność modułu× liczba modułów = pojemność pamięci
512 MB× 2 = 1 GB
Pamięci nieulotne .
⊲ MROM, ROM – mask programmable read only memory
⊲ 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 .
⊲ RAM – random access memory
⋄ 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ęciachdynamicznych.
Pamięci dynamiczne .
⊲ Asynchroniczne
⊲ Synchroniczne
⋄ (SDR) SDRAM
⋄ DDR(x) SDRAM
Cykl odczytu pamięci dynamicznej .
czas cyklu
czas dostępu
RAS
CAS
r1 c1 r2 c2
d1 d2
Tryb stronicowy .
⊲ FPM – fast page mode
RAS
CAS
r c1 c2 c3 c4
d1 d2 d3 d4
⊲ EDO – extended data outRAS
CAS
r c1 c2 c3 c4
d1 d2 d3 d4
Tryb pakietowy .
3-1-1-1
RAS
CAS
r c
d1 d2 d3 d4
Pamięci synchroniczne .
zegar
RAS
CAS
adres
dane
r c r′
d1 d2 d3 d4
zegar
rozkaz
adres
dane
act red red pre
r c1 c2
d1,1 d1,2 d1,3 d2,1 d2,2 d2,3 d2,4
Pamięci podręczne .
⊲ Niedopasowanie między szybkościami działania procesora i pamięcioperacyjnej
⊲ Mniejsza pamięć może być szybsza
⊲ Zasada lokalności odwołań do pamięci
⋄ czasowa
⋄ przestrzenna
⊲ Do 3 poziomów
⊲ Stopniowa integracja ze strukturą mikroprocesora
⊲ Osobne pamięci pierwszego poziomu dla danych i kodu
Zasada działania .
te = ptc + (1− p)(tc + tm)
te
tm=tc
tm+ 1− p
te – efektywny średni czas dostęputc – czas dostępu do pamięci podręcznejtm – czas dostępu do pamięci głównejp – prawdopodobeństwo trafienia (ang. hit rate)1− p – prawdopodobeństwo chybienia (ang. miss rate)
Odwzorowanie bezpośrednie, 1-skojarzeniowe .
adresznacznik 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 .
⊲ Naprzemienne odczytywanie danych spod adresów o tym samymindeksie, 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żdymodczycie.
⊲ Odwzorowanie (w pełni) skojarzeniowe, asocjacyjne
⋄ Wymaga równoległego porównania wszystkich znaczników przykażdym odczycie.
Algorytmy zastępowania .
⊲ Jeśli skojarzeniowość jest większa niż jeden, potrzebny jest algorytmzastępowania.
⊲ LRU (least recently used, najdawniej ostatnio używany) – zastępo-wany blok, który pozostawał w pamięci podręcznej najdłużej bezodwoływania się do niego
⊲ Pseudo-LRU – uproszczona wersja LRU
⊲ Non-MRU – uproszczona wersja LRU
⊲ FIFO (first in first out, pierwszy wchodzi pierwszy wychodzi) – za-stępowany blok, który pozostawał w pamięci podręcznej najdłużej
⊲ LFU (least frequently used, najrzadziej używany) – zastępowanyblok, do którego było najmniej odwołań
⊲ Zastępowany losowo wybrany blok
Uzgadnianie zawartości między różnymi poziomami .
⊲ Zapis jednoczesny (ang. write through)
⋄ Zapis do pamięci głównej odbywa się równocześnie z zapisem dopamię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)
Uzgadnianie zawartości na jednym poziomie .
⊲ Algorytmy
⋄ MESI⋄ MSI⋄ MOSI⋄ MOESI
⊲ Stany
⋄ Modified – mam ważną kopię bloku, który został zmodyfikowany.⋄ Owned – jestem właścicielem tego bloku i ponoszą odpowiedzial-ność za wszystkie odwołania do niego.⋄ Exclusive – mam ważną kopię bloku, który nie został zmodyfiko-wany.⋄ Shared – wszyscy mają kopię tego bloku.⋄ Invalid – blok zawiera nieważne dane.
Prawdopodobieństwo trafienia .
⊲ Zależy od:
⋄ 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 .
⊲ 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 .
⊲ Jeden do kilku dysków umieszcza się na wspólnej osi w hermetycznejobudowie.
⊲ Dyski wykonuje się z aluminium lub szkła.
⊲ Dyski pokrywa się twardym ferromagnetykiem:
⋄ pierwiastki ferromagnetyczne: żelazo, kobalt, nikiel, gadolin, dys-proz;
⋄ stopy i związki chemiczne (np. tlenki) pierwiastków ferromagne-tycznych;
⋄ inne związki chemiczne, np. dwutlenek chromu.
Zapisywanie i odczytywanie dysku twardego .
⊲ Zespół głowic porusza się w przybliżeniu wzdłuż promienia dysku.
⊲ Głowica zapisująca zbudowana jest z rdzenia ze szczeliną, wyko-nanego z miękkiego ferromagnetyka, na którym „nawinięto” cewkęz drutu miedzianego.
⊲ Przepływ prądu w cewce powoduje powstawanie w szczelinie polamagnetycznego, które przemagnesowuje nośnik.
⊲ Odczyt:
⋄ indukcja elektromagnetyczna – głowica odczytująca ma konstruk-cję analogiczną jak głowica zapisująca, może to być ta sama gło-wica;
⋄ zjawisko magnetorezystancji – zmiana rezystancji półprzewod-nika pod wpływem pola magnetycznego.
Organizacja dysku twardego (1) .
⊲ 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 przezróż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
Organizacja dysku twardego (2) .
⊲ Format sektora
przerwa identyfikacja przerwa dane przerwa
synchro-nizacja
nrścieżki
nrsektora
korekcjabłędów
synchro-nizacja
właściwedane
korekcjabłędów
⊲ Czas dostępu
⋄ czas poszukiwania ścieżki (ang. seek delay)
⋄ opóźnienie obrotowe (ang. rotational delay)
⋄ czas przesyłania (ang. transfer time)
Dyski optyczne .
⊲ Odczyt za pomocą lasera
⋄ landy – fragmenty odbijające
⋄ pity – fragmenty wytłumiające
⊲ Zapis
⋄ tłoczenie z matrycy – dyski tylko do odczytu (typu ROM)
⋄ wypalanie laserem barwnika polimerowego – dyski do jednokrot-nego zapisu (typu R)
⋄ zmiana postaci nośnika (krystaliczna, amorficzna) przez kontro-lowanie laserem procesu jego podgrzewania i chłodzenia – dyskido wielokrotnego zapisu (typu RW, RAM)
Technologie dysków optycznych .
Technologia Długość fali lasera [nm]
CD 780
DVD 650
Blu-ray 405
Organizacja dysku CD .
⊲ Jedna spiralna ścieżka fizyczna podzielona na ramki i sektory, za-czynająca się przy środku dysku
⊲ Ścieżki logiczne (ang. track) odpowiadające utworom muzycznymna płycie audio
⊲ System plików: ISO 9660, RockRidge (Unix), Joliet (Windows), HFS(MacOS), HPFS (OS/2)
⊲ Kodowanie dźwięku: Linear PCM
Organizacja dysku DVD .
⊲ Jedna lub dwie strony
⊲ Jedna lub dwie warstwy na stronie
⊲ Ścieżka w warstwie zewnętrznej zaczynająca się przy środku dysku
⊲ Ścieżka w warstwie wewnętrznej zaczynająca się przy krawędzidysku (tryb OTP) lub przy środku dysku (tryb PTP)
⊲ System plików: UDF
⊲ Kodowanie dźwięku: Linear PCM, Dolby Digital, DTS Digital Sur-round
⊲ Kodowanie obrazu: MPEG-2
⊲ Konkurencyjne technologie dysków zapisywalnych:DVD−R, DVD−RW, DVD+R, DVD+RW
Organizacja dysku Blu-ray .
⊲ Jedna lub dwie warstwy
⊲ System plików: UDF
⊲ Kodowanie dźwięku: Linear PCM, Dolby Digital, Dolby DigitalPlus, Dolby TrueHD, DTS Digital Surround, DTS-HD
⊲ Kodowanie obrazu: MPEG-2, MPEG-4
Dyski magnetyczno-optyczne .
⊲ Odczyt za pomocą lasera wykorzystuje zjawisko Kerra:
⋄ skręcenie płaszczyzny polaryzacji światła przy odbiciu od mate-riału ferromagnetycznego zależy od kierunku namagnesowania.
⊲ Zapis wykorzystuje przejście między ferromagnetykiem a parama-gnetykiem w temperaturze Curie:
⋄ laser podgrzewa punktowo warstwę magnetyczną,
⋄ głowica magnetyczna dokonuje przemagnesowania domen magne-tycznych,
⋄ obniżenie temperatury utrwala zapis.
⊲ Organizacja jak na dyskach twardych
Metody zapisu, zapisywania i odczytywania .
⊲ CAV (constant angular velocity) – stała prędkość kątowa
⊲ CLV (constant linear velocity) – stała prędkość liniowa
⊲ ZCLV (zoned CLV) – dysk podzielony jest na strefy o stałych pręd-kościach liniowych.
⊲ CAA (constant angular acceleration) – odmiana CLV, w której pręd-kość kątowa zmienia się krokowo ze stałym przyspieszeniem (opóź-nieniem).
Taśmy magnetyczne .
⊲ Archiwizacja danych
⊲ 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żkirównoległe do krawędzi taśmy
⋄ helikalny – wirujący zespół głowic, ścieżki ukośne
RAID .
⊲ Redundant Array of Independent Disks
⊲ D. A. Patterson, G. A. Gibson, R. H. Katz, A case for redundantarray of inexpensive disks, SIGMOD, 1988, 109–116.
⋄ oryginalne poziomy 1 do 5
⊲ Implementacja
⋄ sprzętowa
⋄ programowa
⋄ hybrydowa
RAID 0 .
B1 B2B3 B4B5 B6B7 B8
Bi – blok danych
RAID 1 .
B1 B1B2 B2B3 B3B4 B4
Bi – blok danych
RAID 2 .
b1,1 b1,2 b1,3 b1,4 c1,1 c1,2 c1,3
b2,1 b2,2 b2,3 b2,4 c2,1 c2,2 c2,3
b3,1 b3,2 b3,3 b3,4 c3,1 c3,2 c3,3
b4,1 b4,2 b4,3 b4,4 c4,1 c4,2 c4,3
bi,j – bit danych, ci,k – bit kontrolny kodu Hamminga
ci,1 = bi,1 ⊕ bi,2 ⊕ bi,4ci,2 = bi,1 ⊕ bi,3 ⊕ bi,4ci,3 = bi,2 ⊕ bi,3 ⊕ bi,4
RAID 3 .
b1,1 b1,2 b1,3 p1b2,1 b2,2 b2,3 p2b3,1 b3,2 b3,3 p3b4,1 b4,2 b4,3 p4
bi,j – bit danych, pi – bit parzystości
pi = bi,1 ⊕ bi,2 ⊕ bi,3
RAID 4 .
B1,1 B1,2 B1,3 P1B2,1 B2,2 B2,3 P2B3,1 B3,2 B3,3 P3B4,1 B4,2 B4,3 P4
Bi,j – blok danych, Pi – blok parzystości
Pi = Bi,1 ⊕Bi,2 ⊕Bi,3
RAID 5 .
B1,1 B1,2 B1,3 P1B2,1 B2,2 B2,3P2B3,1 B3,2 B3,3P3
B4,1 B4,2 B4,3P4
Bi,j – blok danych, Pi – blok parzystości
Pi = Bi,1 ⊕Bi,2 ⊕Bi,3
RAID 6 .
B1,1 B1,2 B1,3 P1 Q1B2,1 B2,2 B2,3P2 Q2B3,1 B3,2 B3,3P3 Q3
B4,1 B4,2 B4,3P4 Q4
Bi,j – blok danych
Pi, Qi – bloki korekcyjne kodu Reeda–Solomona
RAID 0+1 .
B1 B2 B3 B1 B2 B3B4 B5 B6 B4 B5 B6B7 B8 B9 B7 B8 B9B10 B11 B12 B10 B11 B12
RAID 0︷ ︸︸ ︷
RAID 0︷ ︸︸ ︷
RAID 1︷ ︸︸ ︷
Bi – blok danych
RAID 1+0 .
B1 B1 B2 B2 B3 B3B4 B4 B5 B5 B6 B6B7 B7 B8 B8 B9 B9B10 B10 B11 B11 B12 B12
RAID 1︷ ︸︸ ︷
RAID 1︷ ︸︸ ︷
RAID 1︷ ︸︸ ︷
RAID 0︷ ︸︸ ︷
Bi – blok danych
RAID 5+0 .
B1,1 B1,2 P1 B2,1 B2,2 P2B3,1 P3 B3,2 B4,1 P4 B4,2P5 B5,1 B5,2 P6 B6,1 B6,2B7,1 B7,2 P7 B8,1 B8,2 P8
RAID 5︷ ︸︸ ︷
RAID 5︷ ︸︸ ︷
RAID 0︷ ︸︸ ︷
Bi,j – blok danych, Pi – blok parzystości
Pi = Bi,1 ⊕Bi,2
Pamięci przyszłości .
⊲ Czas dostępu jak w SRAM
⊲ Niepotrzebne wielopoziomowe pamięci podręczne
⊲ Gęstość jak DRAM
⊲ Cena za bit jak w DRAM
⊲ Nieulotne
⊲ Praktycznie nieograniczona liczba zapisów
⊲ Ujednolicenie pamięci operacyjnej i masowej
⊲ MRAM?
Recommended