UKŁADY PAMIĘCI. Tomasz Dziubich



Podobne dokumenty
Architektura systemu komputerowego

RODZAJE PAMIĘCI RAM. Cz. 1

Architektura komputerów

Architektura komputerów

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

Pamięć operacyjna komputera

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

Opracował: Grzegorz Cygan 2012 r. CEZ Stalowa Wola. Pamięci półprzewodnikowe

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

Wykład II. Pamięci półprzewodnikowe. Studia Podyplomowe INFORMATYKA Architektura komputerów

Pamięć RAM. Pudełko UTK

Temat: Pamięci. Programowalne struktury logiczne.

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

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

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

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

Zaleta duża pojemność, niska cena

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

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

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

LEKCJA. TEMAT: Pamięć operacyjna.

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

PROJEKTOWANIE SYSTEMÓW KOMPUTEROWYCH

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

System pamięci. Pamięć podręczna

Pamięć operacyjna (robocza) komputera - zwana pamięcią RAM (ang. Random Acces Memory - pamięć o swobodnym dostępie) służy do przechowywania danych

System pamięci. Pamięć podręczna

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

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

Wprowadzenie do architektury komputerów. Pamięci w systemach komputerowych Pamięć podręczna

Temat: Pamięć operacyjna.

Podstawy Informatyki JA-L i Pamięci

Pamięci półprzewodnikowe

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

PAMIĘCI SYNCHRONICZNE

Współpraca procesora ColdFire z pamięcią

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

Urządzenia Techniki. Klasa I TI 5. PAMIĘĆ OPERACYJNA.

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

Pamięci półprzewodnikowe na podstawie książki: Nowoczesne pamięci

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

System mikroprocesorowy i peryferia. Dariusz Chaberski

Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego 21

Architektura komputerów

dr inż. Jarosław Forenc

Architektura mikroprocesorów TEO 2009/2010

Organizacja pamięci współczesnych systemów komputerowych : pojedynczy procesor wielopoziomowa pamięć podręczna pamięć wirtualna

Pamięć wewnętrzna ROM i RAM

Komputerowa pamięć. System dziesiątkowego (decymalny)

Architektura harwardzka Architektura i organizacja systemu komputerowego Struktura i funkcjonowanie komputera procesor, rozkazy, przerwania

Pamięć operacyjna. Moduł pamięci SDR SDRAM o pojemności 256MB

PODSTAWY INFORMATYKI

dr inż. Jarosław Forenc

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

REFERAT PAMIĘĆ OPERACYJNA

Artykuł zawiera opis i dane techniczne

Programowanie Niskopoziomowe

Który z podzespołów komputera przy wyłączonym zasilaniu przechowuje program rozpoczynający ładowanie systemu operacyjnego? A. CPU B. RAM C. ROM D.

architektura komputerów w. 6 Pamięć I

Cyfrowe układy scalone

Bajt (Byte) - najmniejsza adresowalna jednostka informacji pamięci komputerowej, z bitów. Oznaczana jest literą B.

Zasada hierarchii pamięci... 2 Podstawy... 3 Podstawowe definicje i klasyfikacja pamięci... 3 Organizacja pamięci... 4 Idea działania pamięci DRAM...

Podstawowe zadanie komputera to wykonywanie programu Program składa się z rozkazów przechowywanych w pamięci Rozkazy są przetwarzane w dwu krokach:

ARCHITEKTURA PROCESORA,

Plan wykładu. Architektura systemów komputerowych. Strategie zapisu. Cezary Bolek

Pamięci. Pamięci DDR DIMM SDR SDRAM

Magistrala systemowa (System Bus)

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

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

Cyfrowe układy scalone

Organizacja typowego mikroprocesora

Programowanie Niskopoziomowe

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

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

Technologia informacyjna. Urządzenia techniki komputerowej

Organizacja pamięci wewnętrznej komputerów

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

Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Klony: VIA, SiS, Opti, Ali,... Wstęp do informatyki Cezary Bolek

Pamięci półprzewodnikowe

Zrównoleglenie i przetwarzanie potokowe

Architektura komputerów

Technika Cyfrowa i Mikroprocesory

Wstęp do informatyki. Architektura komputera PC cd. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

Cyfrowe układy scalone

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

Budowa komputera Komputer computer computare

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

Architektura Systemów Komputerowych

Wstęp do informatyki. Chipset. North-South Bridge. Architektura komputera PC cd. Cezary Bolek

Komputer. Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji

Organizacja pamięci i kontrolery DRAM

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Przegląd konstrukcji i typów pamięci RAM

Elektronika i techniki mikroprocesorowe

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

URZĄDZENIA WEJŚCIA-WYJŚCIA

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Ograniczenia efektywności systemu pamięci

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

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

Transkrypt:

UKŁADY PAMIĘCI Tomasz Dziubich

Tematyka wykładu Podstawy Zasady adresacji sygnałowej pamięci Budowa komórki pamięci Parametry układów pamięci Odświeżanie pamięci Klasyfikacja układów pamięci Hierarchiczność pamięci Zasada lokalności Rodzaje pamięci Pamięć RAM Pamięć podręczna Cache Pamięć ROM

Podstawy Parametry techniczne produktu KHX24C11T3K4/32X rodzaj pamięci: DDR3 pojemność pamięci: 32768 MB (4x8192) Max. częstotliwość szyny pamięci: 2400 MHz opóźnienie (cycle latency): 11 typ pamięci: Non-ECC ilość pinów: 184 cechy dodatkowe: Radiatory miedziane

Cel stosowania pamięci operacyjnej Procesor dysponuje mocą przetwarzania programów, ale nie ma zdolności ich zapamiętywania Zapamiętanie programów i danych jest zadaniem dla pamięci Czas dostępu do pamięci może być stały (o tzw. dostępie swobodnym) lub zmienny Pamięć operacyjna o dostępie swobodnym może być trwała lub nietrwała Pamięci operacyjna to zazwyczaj pamięć RAM (random access memory) lub ROM (read only memory)

Sposoby komunikacji procesor pamięć

Zasady dostępu do pamięci Schemat uproszczony Schemat fizyczny PAE Physical Address Extension (do 52 bitów) Intel Core i7 36 bity adresu, 64 bity danych/kanał

Budowa komórki pamięci (1) Pamięć dynamiczna DRAM Tranzystor i kondensator bit line T C 1 word line R/W Zalety Niski pobór mocy Duży stopień scalenia Niski koszt wykonania C 2 Wady Czas dostępu ~60 ns konieczność odświeżania zawartości dłuższy cykl odczytu Niska odporność na zakłócenia

Budowa komórki pamięci (2) Pamięć statyczna SRAM Przerzutnik dwustanowy Zalety Brak potrzeby odświeżania zawartości Krótki czas dostępu ~10 ns (5-10 cykli) Krótszy cykl odczytu Wysoka odporność na zakłócenia Wady Duży pobór mocy Mały stopień scalenia

Operacja odczytu danych

Fizyczna budowa układu Szerokość AB (Address Bus) = 22 bity (2 * 11) Szerokość DB (Data Bus) = 8 bitów Każdy chip zapamiętuje 2 22 = 4194304 bitów (4 Mb) 8 chipów połączonych razem (każdy produkuje 1 bit wyjściowy) daje 4 MB Pamięć taką oznacza się jako 4M x 8 Szerokość AB w Pentium IV (Address Bus) = 36 bitów (2 * 18), w i7 Core = 64 bity

Fizyczna budowa układu

Odświeżanie pamięci Kondensator będący nośnikiem informacji ulega rozładowaniu (samoistnemu) stąd konieczność odświeżania jego zawartości Proces odświeżania występuje co 2-4 ms, polega na odczytaniu zawartości komórki i powtórnym jej zapisaniu Podczas operacji odczytu następuje przepływ ładunku z kondensatora C1 do linii bitu, co pociąga za sobą wymazanie informacji Konieczne jest więc ładowanie pojemności (odświeżenie zawartości) także bezpośrednio po odczycie (pogorszenie parametrów) Dwie metody odświeżania: asynchronicznie łatwe w realizacji, mało wydajne (procesor jest blokowany na kilkadziesiąt mikrosekund) synchronicznie trudniejsze i kosztowniejsze w realizacji (odświeżanie występuje w czasie wyznaczonych odcinków zegara co kilkanaście mikrosekund)

Rodzaje pamięci RAM FPM DRAM (Fast Page Mode DRAM) w tego typu pamięciach przy dostępie do zawartości wiersza stosuje się sekwencję sygnałów strobujących [RAS, CAS, CAS, CAS, CAS] zamiast [(RAS, CAS), (RAS, CAS), (RAS, CAS), (RAS, CAS)] EDO DRAM (Extended Data Out DRAM) ulepszony FPM DRAM z bardziej precyzyjnie generowanymi sygnałami CAS SDRAM (Synchronous DRAM) sterowanie synchroniczne impulsami zegarowymi DDR SDRAM (Double Data-Rate Synchronous DRAM) ulepszona wersja SDRAM, w której używane oba zbocza impulsu zegarowego jako sygnału sterującego

Sposoby zwiększania wydajności pamięci DRAM Zwiększenie szerokości odczytywanych danych (problem wyrównywania) Manipulacja sygnałami sterującymi Wprowadzenie synchronicznego odczytu Odczyt na opadającym i narastającym zboczu zegara Bankowanie układów pamięci

Bloki pamięci - banki Zwiększenie pamięci w systemie odbywa się na dwa sposoby: Wydłużenie długości słowa - szersza magistrala danych lub wydłużenie czasu odczytu - połączenie kostek pamięci w tzw. banki

Typy pamięci SIMM 72 SIMM (32 bity danych) 168 DIMM (64 bity danych)

Parametry układów pamięci czas dostępu (access time) czas cyklu (cycle time) opóźnienie CL, CAS Latency x-y-z (dla pamięci asynchronicznych) u-x-y-z (dla pamięci synchronicznych)

Parametry układów pamięci

Parametry układów pamięci

Parametry układów pamięci

Parametry układów pamięci

Odczyt zawartości z superkomórki DRAM

Odczytanie zawartości modułu pamięci

Parametry układów pamięci u-x-y-z = CAS latency, the RAS-to-CAS delay, RAS precharge time, active precharge (2.5-3-3-8)

SDR DDR DDR2

Rozwój układów pamięci 2012 4Gb 30 24 0,5 31

Niezawodność pamięci RAM w pamięciach stosuje się niekiedy dodatkowy bit (parity bit) w komputerach pełniących bardziej odpowiedzialne funkcje stosuje się moduły pamięci wyposażone w kilka bitów parzystości (detekcja i korekcja)- układy i pamięć ECC (error checking and correction) Pamięci ECC zalecane są w systemach wyposażonych w więcej niż 1 GB RAM W rozwiązaniach klastrowych stosuje się rozwiązanie Chipkill

Inne zagadnienia związane z DRAM Pamięci GDDR (większa szerokość, sposób podłączenia) Redukcja zużytej energii wprowadzenie trybu uśpienia (power down mode)

Zasada lokalności pamięci W ciągu krótkiego odcinka czasu procesor odwołuje się do wąskiego zakresu komórek pamięci z danymi bądź rozkazami sum = 0; for (i = 0; i < n; i++) return sum; sum += a[i]; lokalność czasowa (temporary locality) - wielokrotne odwołania do tych samych komórek pamięci, nie koniecznie o zbliżonych adresach (np. wykonywanie pętli złożonej z kilku rozproszonych fragmentów kodu) lokalność przestrzenna (spatial locality) - odwołania do komórek pamięci znajdujących się w sąsiedztwie

Hierarchia układów pamięci Mniejsza, szybsza i droższa (on-chip) L2: (off-chip) L3: Większa, wolniejsza i tańsza L5: (on-chip) L1: L4: L0 : rejestry procesora pamięć podręczna zintegrowana z rdzeniem (SRAM) pamięć podręczna zintegrowana z rdzeniem pamięć podręczna niezintegrowana z procesorem pamięć główna (operacyjna) (DRAM) pamięć masowa (ang. secondary storage) (dyski lokalne) Rejestry procesora przechowują informacje uzyskane z pamięci L1 Pamięć L1 i L2 przechowuje informacje uzyskane z pamięci L3 Pamięć L3 przechowuje informacje uzyskane z pamięci głównej Pamięć główna przechowuje informacje uzyskane z pamięci masowej L6: pamięć masowa (rozproszone systemy plików, serwery sieciowe) Pamięć masowa przechowuje informacje uzyskane z dysków w serwerach sieciowych

Serwery: Reg (1000 bajtów/300 ps) L1 (64 KB/1 ns) L2 (256 KB/3-10 ns) L3 (2-4 MB/10-20 ns) Mem (4-16 GB/50 100 ns) Flash (4-8 GB 25-50 us) Disk (4-16 TB/ 5-10 ms)

Pamięci podręczne cache (1) pamięci dynamiczne są zbyt wolne dla współczesnych procesorów, a przy dostępie występują stany oczekiwania procesora pamięć podręczna zawiera pewną liczbę obszarów (tzw. wierszami lub liniami), które służą do przechowywania bloków kopiowanych z pamięci głównej typowy blok zawiera 4-64 bajtów pamięć podręczna może być używana do przechowywania rozkazów i danych;

Podstawowe pytania Gdzie umieścić blok w pamięci podręcznej? Jak odnaleźć blok jeśli jest w pamięci? Który blok wymienić? Co zrobić przy zapisie w pamięci podręcznej?

Pamięci podręczne cache (2) w trakcie wykonywania instrukcji (rozkazów) procesor szuka najpierw rozkazów i danych w pamięci podręcznej: trafienie (cache hit) chybienie (cache miss), rzędu do 20% inspiracją użycia jest zasada lokalności odwołań w trakcie wykonywania operacji zapisu procesor najpierw sprawdza czy kopia potrzebnej lokacji znajduje się w pamięci podręcznej jeśli tak (write hit), to procesor zapisuje wartość do pamięci podręcznej; jeśli potrzebnej lokacji nie ma w pamięci podręcznej, to wynik zapisywany jest tylko do pamięci głównej w nowszych typach procesorów, kopiowany jest wymagany blok pamięci głównej do pamięci podręcznej (cache line fill), po czym następuje zapis do pamięci podręcznej

Pamięci podręczne cache (3) zapewnienie spójności zawartości pamięci operacyjnej i pamięci podręcznej: zapis przez (write-through) wykonuje zapis do pamięci głównej po każdej operacji zapisu w pamięci podręcznej zapis z opóźnieniem (write-back) - zamiast natychmiastowego zapisu bloku do pamięci głównej, zmienia się tylko bit stanu

Adresowanie asocjacyjne każdy blok (4-16 bajtów) pamięci podręcznej zawiera pole etykiety, nazywanej też numerem bloku; (np. adresy 32-bitowe i bloki 16-bajtowe - pole etykiety - 28 bitów); Adres pamięci etykieta słowo Pamięć podręczna 0000003 etykieta blok 0000003 blok 3

Adresowanie asocjacyjne Pamięć główna 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 01011 01100 01101 01110 01111 10000 10001 10010 10011 10100 10101 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111 Pamięć podręczna Etykieta Dane 000 001 010 011 100 101 110 111

Odwzorowanie bezpośrednie Adres 32-bitowy generowany przez procesor etykieta (16 bitów) nr linii (12 bitów) adres wewn. bloku 000 001 002 etykieta blok FFF Pamięć podręczna

Odwzorowanie bezpośrednie

Zadanie Jaki jest całkowity rozmiar pamięci podręcznej, która pomieści 8 KB danych w liniach (blokach) o wielkości 8 bajtów i zakładając 32 bitowy adres? Ilość bitów potrzebnych do zaadresowania bajtu w linii - 3 Ilość linii - 8 KB (2 3 *2 10 )/8(2 3 ) bajtów w linii = 2 10 Wielkość etykiety (tagu) = 32 3 10 = 19 bitów Wielkość pamięci 2 10 * (64 + 19) = 83 Kbit. (10,357 KB) Narzut 83 Kbit/64Kbit = 1,297 czyli ok. 30% Przy założeniu bitu ważności 84 Kbit/64 = 1,3125

Współczynnik chybienia

Ulepszenia pamięci cache w przypadku stosowania pamięci podręcznych z odwzorowaniem bezpośrednim, jeśli w programie używanych jest kilka lokacji pamięci o identycznych numerach linii (12 środkowych bitów), to tylko jedna z tych lokacji pamięci może być skopiowana do pamięci podręcznej tego rodzaju pamięć podręczna nazywana jest dwukanałową (two way set asosiative) Pamięć główna 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 01011 01100 01101 01110 01111 10000 10001 10010 10011 10100 10101 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111 Pamięć podręczna Dane 000 001 010 011 100 101 110 111 Etykieta Etykieta Dane Etykieta Dane 00 01 10 11

Algorytmy wyboru bloku do wymiany Losowy (przesunięcia rejestru) LRU (Least recently used) FIFO

Zastosowanie pamięci cache Parametry pamięci podręcznej używanej w procesorach Pentium 4 : pamięć poziomu L1 dla danych: 8 KB, dostęp 4-kanałowy, linie 64- bajtowe; pamięć poziomu L1 dla rozkazów: nie implementowana (stosowna jest natomiast trace cache współpracująca z dekoderem rozkazów w pamięci tej przechowywane są zdekodowane rozkazy w postaci ciągu mikrooperacji) pamięć poziomu L2 dla rozkazów i danych: 1 MB, dostęp 8-kanałowy, 64 bajty w linii pamięć poziomu L3 stosowana jest tylko w procesorach Intel Xeon, Itanium2 L1-32 KB (instrukcje i dane) L2-256 KB L3-3 MB, 4 MB, 6 MB i 9 MB

Pamięć podręczna w Athlon64

Pamięć podręczna w Core i7

Intel Core i7 Processor package Core 0 Regs Core 3 Regs L1 i-cache and d-cache: 32 KB, 8-way, Access: 4 cycles L1 d-cache L1 i-cache L2 unified cache L3 unified cache (shared by all cores) L1 d-cache L1 i-cache L2 unified cache L2 unified cache: 256 KB, 8-way, Access: 11 cycles L3 unified cache: 8 MB, 16-way, Access: 30-40 cycles Block size: 64 bytes for all caches. Main memory

Porównanie PP w procesorach

Pamięci stałe (ROM) Pamięć ROM jest nieulotna Znajduje się w niej m.in. program inicjujący pracę komputera Adres ROM-BIOS F000:0000 do FFFF:FFFF Po włączeniu komputera pierwszy rozkaz pobierany jest z adresu F000:FFF0 (5 bajtów kodu FAR JMP do rozpoczęcia POST) Po adresem 0000:7C00 umieszczany jest rekord ładujący

Pamięci stałe (ROM) MROM (lub ROM) zawartość pamięci jest ustalana w trakcie produkcji i nie może być później zmieniona; czasy dostępu wynoszą 100-450 ns, pojemności 4Kbitów - 16 Mbitów PROM (programmable ROM) pamięć jednokrotnie programowalna przez użytkownika EPROM (erasable PROM) pamięć wielokrotnie programowalna (kasowanie promieniami ultrafioletowymi) EEPROM (electrically erasable PROM) pamięć wielokrotnie programowana (kasowana na drodze elektrycznej) - BIOS FLASH (pamięci błyskowe) możliwe jest programowanie całych bloków, czas programowania pojedynczego bajtu wynosi 10µs; czas dostępu wynosi 45-120 ns NVRAM (non volatile RAM) połączenie pamięci SRAM z pamięcią EEPROM

Programowanie pamięci EPROM programowanie pamięci EPROM wykonuje się w urządzeniu nazywanym programatorem (w sposób impulsowy) kasowanie pamięci EPROM wymaga użycia źródła promieniowania nadfioletowego UV liczba cykli programowania kasowania nie powinna przekraczać 100-1000 (dane te nie są podawane przez producentów) pamięci EEPROM są kasowalne elektrycznie (wyższym napięciem) zapis danych do wybranych komórek pamięci musi być poprzedzony kasowaniem ich zawartości, możliwe jest kasowanie zawartości pojedynczych bajtów pamięci EEPROM mogą być zazwyczaj nagrywane nawet 100000 razy pamięci EEPROM wytwarzane są jako: równoległe szeregowe