Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Architektura systemów komputerowych Wykład 8 Pamięć komputerowa dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki

Podobne prezentacje


Prezentacja na temat: "Architektura systemów komputerowych Wykład 8 Pamięć komputerowa dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki"— Zapis prezentacji:

1 Architektura systemów komputerowych Wykład 8 Pamięć komputerowa dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki

2 Klasyfikacja pamięci 2 PAMIĘĆ PÓŁPRZEWODNIKOWA MASOWA RAM ROM SRAM DRAM PROM EPROM EEPROM FLASH HDD FDD CD-ROM DVD-ROM MO FLASH

3 3 Układy pamięci Układy programowalne to układy scalone o programowanej przez użytkownika wewnętrznej sieci połączeń. Raz zaprogramowane stają się układami czysto kombinacyjnymi i jako takie są bardzo użyteczne. ROM (read-only memory), jest to pamięć stała. Dla każdego adresu doprowadzonego do wejścia, wyprowadza na wyjście pewien zestaw bitów. Pamięci ROM oraz układy programowalne są elementami o nieulotnej zawartości (non- volatile), co oznacza, że zawarta w nich informacja nie zostaje stracona po wyłączeniu napięć zasilających.

4 Odmiany ROM 4 Odmiany ROM różnią się sposobem programowania. Pamięci programowane maską (mask programmable ROMs). Bitową strukturę ich wnętrza ustala się w czasie produkcji Programowalne pamięci stałe PROM (ang. Programmable ROM) są programowane przez użytkownika. Polega to na przepaleniu tzw bezpieczników po odpowiednim ich zaadresowaniu i doprowadzeniu właściwychs ygałów sterujących. Pamięci są dość szybkie (25-50ns) zużywające dużo mocy (0.5 – 1W) o małych i średnich pojemnościach (od 32x8 do 8K x 8) Reprogramowalne pamięci stałe EPROM (erasable programmable ROM). Bity informacji są zapamiętane jako ładunki elektryczne na pływających bramch tranzystorów MOS. Mogą być usuwane z bramek poprzez naświetlanie mocnymi promieniami UV, przez kilkadziesiąt minut. Obudowy tych pamięci posiadają kwarcowe okienka przepuszczające światło. Pamięci te produkuje się techniką NMOS lub CMOS. Są niezbyt szybkie (200ns), zużywają niewiele energii zwłaszcza w stanie spoczynku i mają duże pojemności. Współczesne pamięci EPROM są równie szybkie jak pamięci bipolarne.

5 Odmiany ROM 5 Tańsza odmiana EPROM – OTP-EPROM (one time programmable ROM) – nie zawiera okna do kasowania, może być programowana jednokrotnie. EEPROM – elektrycznie kasowalne pamięci PROM (electrically erasable PROMs). Są programowane i kasowane elektrycznie napięciem o wartości 5V bez konieczności wyjmowania z układu aplikacyjnego. Pamięci ROM są szeroko stosowane w sprzęcie komputerowym i mikroprocesorowym, służą do przechowywania docelowych programów i tablic z danymi. Pamięci ROM o małych pojemnościach mogą zastępować układy bramek logicznych i skomplikowanej sieci połączeń.

6 Układy programowalne 6 PAL – programmable array logic PLA – programmable logic arrays CPLD – Complex Programmable Logical Device FPGA – Field Programmable Gate Array CSoC – Configurable on a Chip Są to układy logiczne o dużej liczbie bramek o programowanych połączeniach pomiędzy nimi Po zaprogramowaniu połączeń otrzymuje się układ realizujący założone funkcje logiczne. Wykonane są techniką bipolarną lub CMOS. Dla układów bipolarnych stosuje się programowanie jednokrotne polegające na przepalaniu połączeń. Programowanie CMOS polega na programowaniu pływającej bramki tranzystorów MOS. Połączenia mogą być kasowane poprzez UV lub elektrycznie.

7 Układy programowalne 7 Ze względu na ściśle zdefiniowaną strukturę danego układu nie jest możliwe zaprogramowanie dowolnej sieci połączeń. Wszystkie bramki AND i OR są dla uproszczenia rysowane z pojedynczą linią wejściową. W rzeczywistości są to bramki wielowejściowe i mają tyle wejść ile zaznaczono przecięć. Każde 3 stanowe wyjście układu PAL lub PLA jest wyjściem bramki OR

8 Układy PAL 8

9 Układy PLA 9

10 PAL - PLA 10 PAL i PLA są tylko układami kombinacyjnymi – nie ma w nich elementów pamięciowych. Oba typy układów produkowane są również w odmianach zawierających rejestry (tzw. Sekwencyjne układy logiczne) Do programowania układów PAL, PLA FPGA potrzebny jest programator oraz język VHDL. Programator służy do przepalania bezpieczników oraz weryfikacji poprawności działania układu. Programator jest połączony złączem szeregowym z komputerem PC, a przy pomocy specjalnego programu określa się położenie bezpieczników Przykład – bramka XOR

11 Pamięci RAM 11 SRAM – static Random access memory- szybkie pamięci o niewielkiej pojemności, których elementami są przerzutniki. Zastosowanie w pamięciach typu Cache.

12 Pamięci RAM 12 DRAM – dynamic RAM – zbudowane z elementów, które nie są przerzutnikami a specjalnymi układami elektronicznymi zawierającymi mniejszą liczbę elementów (np. kondensatory). Czas pamiętania jest rzędu kilku milisekund – konieczność odświeżania zawartości

13 Typy pamięci RAM 13 EDO – extended data out – nowsza wersja FPM, przyspieszony odczyt danych. Umożliwia to przyspieszenie działania o około 5%. Występowały w wersjach 60ns i 50ns. FPM – fast page mode – tradycyjny typ pamięci dla PC zanim wytworzono EDO. Były montowane a modułach SIMM o pojemnościach 2 – 32 MB. Występowały w wersjach 70ns i 60ns

14 Typy pamięci RAM 14 EEC RAM – pamięci używane w serwerach, które miały możliwość korekcji błędów SDRAM – synchroniczny DRAM. Moduł pamięci synchronizuje dostęp z zegarem procesora, co poprawia transfer. Dzięki temu jedna porcja danych może być przesłana do CPU podczas gdy następna jest w przygotowaniu SDRAM występuje w modułach 64-bitowych (długie DIMMy). Czas dostępu to około 6-12ns. Przy prędkości 66MHz były szybsze 5% od EDO. Występowały również dla prędkości 100 i 133MHz. RDRAM (RIMM) - osiągał przepustowość dochodzącą do 1066 MB/s.

15 Typy pamięci RAM 15 DDR RAM – podwojona wersja DRAM (ang. Double Data Rate Synchronous Dynamic Random Access Memory). Moduły 184 stykowe W pamięci typu DDR SDRAM dane przesyłane są w czasie trwania zarówno rosnącego jak i opadającego zbocza zegara, przez co uzyskana została dwa razy większa przepustowość niż w przypadku konwencjonalnej SDRAM typu PC-100 i PC-133. Szerokość magistrali pamięci wynosi 64 bity. Przepustowość obliczana jest metodą: DDR-200 (PC-1600) – (64 bity * 2 * 100 MHz)/8 = 1,6 GiB/s DDR-266 (PC-2100) – (64 bity * 2 * 133 MHz)/8 = 2,1 GiB/s DDR-333 (PC-2700) – (64 bity * 2 * 166 MHz)/8 = 2,7 GiB/s DDR-400 (PC-3200) – (64 bity * 2 * 200 MHz)/8 = 3,2 GiB/s

16 Typy pamięci RAM 16 Pamięć DDR2 charakteryzuje się wyższą efektywnością oraz niższym poborem prądu. Podobnie jak DDR, pamięć DDR2 wykorzystuje do przesyłania danych wznoszące i opadające zbocze sygnału zegarowego Moduły zasilane są napięciem 1,8 V, zamiast 2,5 V. Układy terminujące zostały przeniesione z płyty głównej do wnętrza pamięci (ang. ODT, On Die Termination). Zapobiega to powstaniu błędów wskutek transmisji odbitych sygnałów. DDR2 przesyła 4 bity w ciągu jednego taktu zegara (DDR tylko 2). Podwojona prędkość układu wejścia/wyjścia (I/O) pozwala na obniżenie prędkości całego modułu bez zmniejszania jego przepustowości. Liczba pinów została zwiększona ze 184 do 240. Wycięcia w płytce pamięci umieszczone są w różnych miejscach, w celu zapobiegnięcia podłączenia niewłaściwych modułów.

17 Typy pamięci RAM 17 Nazwa chipa Zegar MHz Cykl zegara ns Takto wanie Szyny MHz Transfer danych mln/s Nazwa modułu Transfer szczytowy MB/s DDR PC DDR PC PC DDR PC PC DDR PC DDR PC PC

18 Typy pamięci RAM 18 Pamięć DDR3 wykonana w technologii 90 nm, napięcie 1,5 V. Zmniejszony pobór mocy o około 40% w stosunku do pamięci DDR2 oraz większą przepustowością koszt produkcji niższy o 63%. Pamięci DDR3 nie są kompatybilne wstecz. Posiadają przesunięte wcięcie w prawą stronę w stosunku do DDR2 (w DDR2 wcięcie znajduje się prawie na środku modułu). DDR3 została wprowadzona w 2007 roku dla płyt Intel Moduły DDR3 PC (DDR3-800) przep.6,4 GB/s, PC (DDR3-1066) przep. 8,5 GB/s, PC (DDR3-1333) przep. 10,6 GB/s, PC (DDR3-1600) przep.12,7 GB/s, PC (DDR3-1866) przep. 15 GB/s, PC (DDR3-2000) przep. 16 GB/s PC (DDR3-2133) przep. 17 GB/s PC (DDR3-2400) przep. 19,2 GB/s

19 Sposoby dostępu do pamięci 19 Sekwencyjny Bezpośredni Swobodny Skojarzeniowy

20 Organizacja pamięci 20 n słów 8-bitowych Pamięć jest podzielona na komórki, w których przechowywane są pojedyncze słowa (bajty). Każda komórka ma swój adres, którego podanie umożliwia dostęp – wykonanie rozkazu odczytu lub zapisu PAMIĘĆ WE O/Z WY adres

21 Pamięć o dostępie sekwencyjnym 21 Jest to pamięć, w której dane identyfikuje się według kolejności ich zapisywania na nośniku, a kolejność odczytywania danych jest zgodna z kolejnością ich zapisu. Czas dostępu do informacji zależy od aktualnego położenia głowicy w stosunku do miejsca zapisu informacji. Taką organizację mają pamięci taśmowe (np. DDS, LTO) i są używane do tworzenia backupów zawartości dysków.

22 Pamięć o dostępie bezpośrednim 22 Jest to kombinacja pamięci o dostępie swobodnym i pamięci o dostępie sekwencyjnym. Nośnik pamięci jest podzielony na bloki o pojemności od kilkuset do kilku tysięcy bajtów. Bloki są adresowane zgodnie z zasadą dostępu swobodnego, a dostęp do danych w ramach bloku jest sekwencyjny. Czas dostępu jest zależny od miejsca zapisania danych, ale jest znacznie krótszy niż w pamięciach o dostępie sekwencyjnym. Taką organizacje mają pamięci dyskowe.

23 Organizacja pamięci o dostępie bezpośrednim. 23

24 Pamięć o dostępie swobodnym 24 Jest to pamięć, w której czas dostępu nie zależy od miejsca zapisania danej. Każda komórka pamięci ma określony numer jednoznacznie identyfikujący jej położenie - adres komórki Pamięć operacyjna jest zawsze pamięcią o dostępie swobodnym. Przykłady pamięci o dostępie swobodnym to RAM i ROM.

25 Organizacja pamięci o dostępie swobodnym. 25

26 Pamięć o dostępie swobodnym 26 Specjalny układ zwany dekoderem adresu przekształca wpływające adresy tak aby umożliwić odczyt z matrycy. Na żądaną linię słowa podajemy napięcie, po czym pobieramy lub zapisujemy wartości na linii bitów. Najmniejszą jednostką, którą możemy odczytać jest 1 bajt

27 Pamięć o dostępie skojarzeniowym 27 Inaczej – pamięć asocjacyjna, pamięć adresowana zawartością. Dostęp do danych uzyskuje się poprzez podanie zawartości szukanej komórki pamięci, całej lub wybranych jej bitów. Pamięci takie są bardzo szybkie, ale kosztowne. Używa się ich do organizacji pamięci podręcznej Cache

28 Organizacja pamięci skojarzeniowej 28

29 Pamięć o dostępie cyklicznym 29 ZEGAR LICZNIKLICZNIK REJESTRY PRZESUWAJĄCE BUFORBUFOR adres R/W Sprzężenie zwrotne komparator Komparator porównuje adres podany z bieżącym, tzn generowanym przez pamięć i wskazującym miejsce w pamięci, które może być w danej chwili zapisane lub odczytane. W momencie uzyskania zgodności następuje odczyt lub zapis.

30 Współpraca pamięci z CPU 30

31 Współpraca pamięci z CPU 31

32 Typy danych w pamięci 32

33 Pamięć w procesorach 8-bitowych 33

34 Pamięć w procesorach 16-bitowych 34

35 Pamięć w procesorach 32-bitowych 35

36 Synchronizacja pracy pamięci 36 Operacje na pamięci są synchronizowane przez przebieg czasowy generowany przez zegar systemowy.

37 Cykl odczytu pamięci 37 CPU przesyła adres komórek pamięci na szyny adresowe podczas tego odcinka czasowego System pamięci musi zdekodować adres szyny adresowej i podłączyć dane do szyny danych podczas tego odcina czasowego CPU odczytuje dane z szyny danych wystawione z odpowiednich komórek pamięci podczas tego odcinka czasowego

38 Cykl zapisu pamięci 38 CPU wstawia adres oraz dane na magistralę (szyny danych + szyny adresowe) podczas tego odcinka czasowego Czasami przed końcem cyklu zegara system musi zdjąć i przechować wyspecyfikowane wartości danych

39 Działanie pamięci podręcznej 39 Procesor musi dostarczać dane z bardzo dużą prędkością, nieosiągalną przez zwykłą pamięć RAM. Cache to tymczasowy bufor. Szybkość przesyłu danych zależy od ich ilości. Począwszy od procesora wprowadzono dwa poziomy pamięci podręcznej

40 Działanie pamięci podręcznej 40 użycie bufora jest z założenia przezroczyste dla programu (realizacja całkowicie hardwareowa) sposób wykonania rozkazu nie może zależeć od obecności bufora Zastosowanie pamięci buforowej nie otwiera osobnej przestrzeni adresowej – nie ma potrzeby tworzenia specjalnych rozkazów dostępu do bufora Zastosowanie bufora jest widoczne jedynie w skróceniu (lub nie) czasu wykonania programu

41 Działanie pamięci podręcznej 41 linia – jednostka wymiany danych między buforem a pamięcią główną bloki są wyrównywane w sposób naturalny – adres pierwszego słowa jest podzielny przez długość bloku

42 Działanie pamięci podręcznej 42 chybienie

43 Pamięć podręczna inkluzywna 43 Każdy obiekt z L1 ma swoja kopię w L2 Przepływ danych pamięć główna ->L2 -> L1 -> procesor Pojemność L2 jest znacząco większa od L1 Rozwiązanie stosowane do r. 2000

44 Pamięć podręczna ekskluzywna 44 L2 zawiera obiekty usuwane z L1 Pojemność równa jest sumie L1 i L2 L2 nie musi być większy niż L1 Stopień asocjacyjności L2 wyższy niż L1 Stosowane od r 2000: AMD K7,K8, Intel Pentium 4, Core

45 Ilościowa ocena skuteczności Cache 45 Współczynnik trafień (hit rate) h określa jaka część odwołań została obsłużona przez cache. Współczynnik chybień (miss rate) m=1-h t mp – średnia strata czasu w razie chybienia (miss penalty) Średni czas dostępu w systemie z pamięcią cache (jednopoziomową) wynosi t av = h∙t c + (1-h)∙t m Gdzie t c - czas dostępu pamięci cache t m - czas dostępu pamięci głównej

46 Ilościowa ocena skuteczności Cache 46 Współczynnik trafień zależy od Pojemności cache Organizacji i algorytmów wymiany Wykonywanego programu W zakresie do 0,9 współczynnik trafień zależy głównie od wielkości pamięci cache Powyżej na współczynnik trafień wpływ ma organizacja pamięci i algorytmy wymiany


Pobierz ppt "Architektura systemów komputerowych Wykład 8 Pamięć komputerowa dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki"

Podobne prezentacje


Reklamy Google