Zasada hierarchii pamięci .........................................................
Transkrypt
Zasada hierarchii pamięci .........................................................
Zasada hierarchii pamięci.....................................................................................................................2 Podstawy ..............................................................................................................................................3 Podstawowe definicje i klasyfikacja pamięci ...................................................................................3 Organizacja pamięci .........................................................................................................................4 Idea działania pamięci DRAM .........................................................................................................6 Odświeżanie pamięci DRAM...........................................................................................................7 Idea działania synchronicznych pamięci dynamicznych SDRAM ..................................................7 Pamięci SIMM i DIMM ...................................................................................................................8 Pamięci ROM ...................................................................................................................................8 Pamięć NVRAM ..............................................................................................................................8 Koncepcja pamięci podręcznej (cache) ................................................................................................9 Architektura systemu z pamięcią cache ...........................................................................................9 Elementy systemu pamięci cache ...................................................................................................10 Sposoby zapewniania zgodności pamięci cache ............................................................................11 Organizacja pamięci cache .............................................................................................................11 Pamięć cache drugiego poziomu ....................................................................................................12 Pamięć cache w procesorze Pentium .............................................................................................12 Dodatek A. Budowa i zasada działania pamięci RAM ......................................................................13 Zasada działania .............................................................................................................................13 Budowa...........................................................................................................................................13 Dodatek B. Pamięci RAM w pod koniec wieku XX..........................................................................14 Fast Page Mode (FPM RAM) ........................................................................................................14 Extented Data Output (EDO RAM) ...............................................................................................15 Burst Extended Data Output (BEDO RAM) ..................................................................................15 Synchroniczna DRAM (SDRAM) .................................................................................................15 SIMM kontra DIMM ......................................................................................................................16 Pamięć cache ..................................................................................................................................16 Słowniczek .....................................................................................................................................16 Dodatek C. Pamięci DDR ..................................................................................................................19 Różnice DDR2 w stosunku do DDR ..............................................................................................19 Oznaczenia chipów i modułów ......................................................................................................20 Pamięci DDR3................................................................................................................................20 Moduły DDR3 ............................................................................................................................21 Różnice w stosunku do DDR2 (zalety) ......................................................................................21 Różnice w stosunku do DDR2 (wady) .......................................................................................21 Testy wydajności pamięci DRR .....................................................................................................22 Zasada hierarchii pamięci Podstawowa zasada hierarchii pamięci mówi, że czas dostępu do pamięci (informacji) jest proporcjonalny do jej pojemności (wzrastająca pojemność – wzrastający czas dostępu – malejąca prędkość). _____________________________ UTK. Pamięci półprzewodnikowe -2- Podstawy Podstawowe definicje i klasyfikacja pamięci Definicja Pamięciami półprzewodnikowymi nazywamy cyfrowe układy scalone przeznaczone do przechowywania większych ilości informacji w postaci binarnej. Podstawowymi parametrami pamięci są pojemność i czas dostępu. Definicja Pojemnością pamięci nazywamy maksymalną ilość informacji, jaką możemy przechowywać w danej pamięci. Pojemność pamięci podajemy w bitach (b) lub bajtach (B). Definicja Czasem dostępu do pamięci w przypadku operacji odczytu nazywamy czas, jaki musi upłynąć od momentu podania poprawnego adresu odczytywanego słowa w pamięci do czasu ustalenia się poprawnej wartości tego słowa na wyjściu pamięci, lub w przypadku operacji zapisu – czas jaki upłynie do momentu zapisania wartości do tego słowa z wejścia pamięci. Definicja Pamięcią o dostępie swobodnym nazywamy pamięć, dla której czas dostępu praktycznie nie zależy od adresu słowa w pamięci, czyli od miejsca, w którym jest przechowywana informacja. Ze względu na własności użytkowe, pamięci półprzewodnikowe możemy podzielić na pamięci RAM i ROM. Definicja Pamięcią RAM nazywamy pamięć półprzewodnikową o dostępie swobodnym przeznaczoną do zapisu i odczytu. Pamięć RAM jest pamięcią ulotną, co oznacza, że po wyłączeniu jej zasilania informacja w niej przechowywana jest tracona. Definicja Pamięcią ROM nazywamy pamięć półprzewodnikową o dostępie swobodnym przeznaczoną tylko do odczytu. Pamięć ROM jest pamięcią nieulotną. Z pamięci RAM buduje się tak zwaną pamięć operacyjną komputera, przeznaczoną do przechowywania w trakcie pracy systemu danych oraz programów. W pamięci ROM przechowuje się programy inicjujące pracę komputera i diagnostyczne, gdyż muszą one być dostępne po każdym włączeniu zasilania do komputera. _____________________________ UTK. Pamięci półprzewodnikowe -3- Ze względu na technologię wykonania, pamięci RAM dzielimy na dwie podstawowe grupy: - pamięci dynamiczne – DRAM, - pamięci statyczne – SRAM. Pamięci dynamiczne są pamięciami wolniejszymi od pamięci statycznych, natomiast są tańsze (chodzi tu o koszt jednego bitu). Ponadto pamięci dynamiczne znacznie łatwiej podlegają scalaniu, co oznacza, że dla porównywalnej wielkości układu uzyskujemy w nich znacznie większe pojemności. Inną istotną wadą pamięci dynamicznych jest fakt, że dla poprawnego ich funkcjonowania konieczny jest tak zwany proces odświeżania. Z niskiej ceny i dużych pojemności układów scalonych pamięci DRAM wynika ich zastosowanie do budowy głównej pamięci operacyjnej komputera. Głównie ze względów ekonomicznych nie stosuje pamięci statycznych (chociaż szybszych od dynamicznych) jako pamięci operacyjnych. Aby przyspieszyć działanie komputera stosuje się tak zwaną pamięć podręczną (ang. cache), o znacznie mniejszej pojemności w porównaniu z pamięcią operacyjną. Pamięć cache buduje się z szybkich pamięci statycznych SRAM. Organizacja pamięci Podstawowe wyprowadzenia układu pamięci n Układ pamięci DB m AB R/W# CS# Szyna wejścia/wyjścia danych (DB – ang. data bus) służy do wprowadzania i wyprowadzania informacji do i z pamięci. Wejście adresowe (AB – ang. address bus) służy do wybrania adresu słowa w pamięci na którym zostanie wykonana operacja zapisu lub odczytu. Wejście R/W# informuje układ pamięci, jakiego rodzaju operacja będzie wykonywana: odczyt (ang. Read) lub zapis (ang. Write). Z kolei wejście CS# służy do uaktywnienia układu pamięci i używane jest przy budowie zespołów pamięci metodą łączenia dwóch lub więcej układów scalonych pamięci. Definicja Adresem nazywamy niepowtarzalną liczbę (numer) przypisaną danemu miejscu (słowu) w pamięci w celu jego identyfikacji. Definicja Słowem w pamięci nazywamy zestaw pojedynczych komórek pamięci, do którego odwołujemy się pojedynczym adresem. _____________________________ UTK. Pamięci półprzewodnikowe -4- Definicja Długością słowa w pamięci nazywamy ilość bitów w pojedynczym słowie. Długość słowa pamięci musi być równa ilości wyprowadzeń szyny wejścia/wyjścia DB, gdyż słowa są wprowadzane i wyprowadzane do i z pamięci równolegle. m Przy m-bitowej szynie adresowej AB mamy do dyspozycji 2 różnych adresów. Jeżeli ilość słów przechowywanych w pamięci wynosi N, musi być spełniony warunek: N 2m Wartość pojemności pamięci, długości słowa oraz ilość linii adresowych wiąże prosty i oczywisty wzór (M – pojemność pamięci, n – długość słowa, m – ilość linii adresowych): M n 2m [bitów] Definicja Organizacją pamięci nazywamy sposób podziału obszaru pamięci na słowa. Przykład Pamięci A i B mają tą samą pojemność wynoszącą 32 bity, lecz różnią się organizacją. Pamięć Pojemność M Długość słowa n Ilość linii adresowych m Pamięć A 32b 1b 5b Pamięć B 32b 8b 2b Zwiększanie długości słowa Szyna adresowa 20 bitów D0 D1 D2 D3 D0 D1 D2 D3 D0 D0 D1 D2 D3 D4 D5 D6 D7 D8 CS# RW# _____________________________ UTK. Pamięci półprzewodnikowe -5- Przedstawiony wyżej sposób łączenia układów pamięci stosowany jest przy budowie modułów SIMM (ang. Single In Line Module). Wygląd modułu typu SIMM 1M x 4b 1M x 4b 1M x 1b 1M x 1B Pamięć o organizacji bitowej Bit kontroli parzystości Idea działania pamięci DRAM Zasada działania komórki pamięci dynamicznej opiera się na magazynowaniu ładunku na określonej, niewielkiej pojemności elektrycznej. Pojemność nie naładowana oznacza 0 logiczne, natomiast pojemność naładowana oznacza jedynkę logiczną. Taki sposób przechowywania stanów logicznych powoduje potrzebę odświeżania, czyli cyklicznego doładowania tych pojemności. Czas, jaki upływa od momentu podania prawidłowego adresu przez zarządcę magistral do momentu pojawienia się poprawnych danych na magistrali danych, nazywamy czasem dostępu i oznaczamy symbolem ta. Po odczycie zawartości słowa musi upłynąć kolejny odcinek czasu potrzebny na doładowanie komórek pamięci odczytywanego słowa (ang. precharge delay). Dopiero wówczas może się rozpocząć kolejny cykl dostępu do pamięci. Minimalny czas pomiędzy dwoma kolejnymi cyklami oznaczamy przez tc (tc > ta). Z powyższego opisu wynika, że dostęp do pamięci musi odbywać się z zachowaniem określonych zależności czasowych. Z drugiej strony praca magistrali taktowana jest sygnałem zegarowym o określonej częstotliwości. Częstotliwość ta jest zwykle podwielokrotnością częstotliwości zegara taktującego pracę procesora. Wartość tej częstotliwości zależy też od rodzaju magistrali (ISA, PCI). Zegar magistrali oznaczany jest symbolem BCLK (ang. Bus Clock). Dla magistrali ISA pojedynczy cykl magistrali realizowany jest w ciągu dwóch taktów zegara magistrali (BCLK) oznaczanych przez Ts (ang. send status) lub T1 oraz Tc (ang. perform command ) lub T2. Dla wyższych częstotliwości tego zegara lub wolniejszych pamięci konieczne jest opóźnienie wykonania operacji na pamięci. Przykładowo w przypadku operacji odczytu musimy poczekać, aż na magistrali danych ustalą się prawidłowe wartości bitów odczytywanego słowa. Opóźnienie to jest realizowane przez wstawianie dodatkowych taktów zegara magistrali zwanych stanami oczekiwania (ang. wait states). Cykle odczytu i zapisu z/do pamięci mogą być rozdzielone czasem, podczas którego na magistrali nie są wykonywane żadne operacje. Stan taki, oznaczany symbolem Ti, nazywamy stanem uśpienia magistrali (ang. idle state). _____________________________ UTK. Pamięci półprzewodnikowe -6- Odświeżanie pamięci DRAM Odświeżanie komórek pamięci DRAM polega na cyklicznym doładowywaniu pojemności pamiętających wartość 1. Częstotliwość odświeżania zapewniająca poprawną pracę pamięci DRAM jest podawana przez producenta jako parametr katalogowy, którego należy przestrzegać. W systemie ISA za generowanie sygnału odświeżania pamięci odpowiedzialny jest układ TIMER1, będący elementem płyty głównej . Istnieją cztery podstawowe sposoby odświeżania pamięci dynamicznych RAM: - sygnałem RAS, - sygnałem CAS przed RAS, - odświeżanie ukryte (ang. hidden refresh), - autoodświeżanie (ang. self-refresh). Najczęściej spotykanym sposobem jest odświeżanie sygnałem RAS. Dwa następne sposoby wymagają obecności w układach pamięci wewnętrznego licznika odświeżania. Odświeżanie automatyczne stosowane jest przy mniejszych pojemnościach pamięci dynamicznych – układy logiczne odświeżania są zawarte wewnątrz układów pamięci, a potrzebę odświeżenia kolejnego wiersza sygnalizuje się aktywnym stanem na wejściu REFRESH# pamięci. Tryby odstępu do pamięci: - tryb stronicowania – stosowany w celu przyspieszenia współpracy z pamięciami DRAM, - tryb seryjny (ang. burst) – stosowany do współpracy pamięci głównej z pamięcią cache. Idea działania synchronicznych pamięci dynamicznych SDRAM Zasada działania pamięci SDRAM polega na zsynchronizowaniu operacji pamięci z zewnętrznym zegarem. Opisane do tej pory pamięci pracowały asynchronicznie w stosunku do procesora, który z kolei jest układem synchronicznym. Synchronizacja operacji pamięci z zegarem procesora pozwala osiągnąć optymalną szybkość współpracy obydwu układów. Pamięć SDRAM szczególnie nadaje się do współpracy z pamięcią podręczną (cache). Przegląd stosowanych pamięci DRAM Najstarszym, wychodzącym już z użycia, są pamięci oznaczane jako FPM RAM (ang. Fast Page Mode RAM). Przy obecnych szybkich procesorach obsługiwane są one w sekwencji 5-3-3-3 (podane liczby określają ilość cykli magistrali potrzebne do wykonania kolejnej operacji). Pamięci EDO RAM (ang. Enhanced Data Output RAM) mają zmniejszoną ilość cykli oczekiwania o 1 dzięki temu, że dane utrzymywane są na wyjściu pamięci po przejściu sygnału CAS# w stan wysoki. Pozwala to wcześniej wyznaczyć następny adres w wierszu. Pamięci EDO mogą pracować w sekwencji cykli 5-2-2-2. Kolejnymi układami pamięci są pamięci SD RAM. Zasada ich działania została opisana wyżej. Moduły tych pamięci mają organizację 64-bitową, dostosowaną do szerokości magistrali procesora Pentium. Pamięci SD RAM potrafią pracować w sekwencji 5-1-1-1 nawet dla częstotliwości magistrali lokalnej równej 100MHz. _____________________________ UTK. Pamięci półprzewodnikowe -7- Najnowszym typem pamięci dynamicznych są pamięci RDRAM. Zastosowano w nich nową koncepcję funkcjonowania o nazwie Rambus. Pamięci SIMM i DIMM Aby umożliwić szybką wymianę i rozbudowę pamięci DRAM, umieszczane są one w tak zwanych modułach. Obecnie spotykamy się z dwoma rodzajami modułów: SIMM (ang. Single Inline Memory Module) o szerokości magistrali danych 32 bity oraz DIMM (ang. Dual Inline Memory Module) o 64-bitowej magistrali danych (72 bity uwzględniając bity kontroli parzystości) w których stosuje się układy SDRAM. Pamięci ROM Pamięć ROM (ang. Read Only Memory) jest pamięcią nieulotną, przeznaczoną tylko do odczytu. Nieulotność oznacza, że po wyłączeniu napięcia zasilania tej pamięci, informacja w niej przechowywana nie jest tracona (zapominana). Określenie to nie jest równoznaczne z tym, że zawartości tej pamięci w określonych warunkach nie można zmieniać. Dal niektórych typów technologicznych pamięci ROM jest to możliwe. Określenie „tylko do odczytu” oznacza, że do pamięci tej nie możemy zapisywać danych w trakcie jej normalnej pracy w systemie. Podstawowe typy pamięci ROM: - - - MROM (ang. mascable ROM) – pamięci, których zawartość ustalana jest w procesie produkcji (przez wykonanie odpowiednich masek) i nie może być zmieniana. Przykładem takiej pamięci jest BIOS obsługujący klawiaturę. PROM (ang. programmable ROM) – pamięć jednokrotnie programowalna. Użytkownik może jeden raz zmienić zawartość tej pamięci. Obecnie nie używana. EPROM (ang. erasable programmable ROM) – pamięć wielokrotnie programowalna. Kasowanie odbywa się drogą naświetlania promieniami UV. Kasowanie i programowanie wykonuje się poza systemem za pomocą specjalnych urządzeń. Pamięć ta wychodzi z użycia. EEPROM (ang. electric erasable programmable ROM) – pamięć wielokrotnie programowalna metodą elektryczną. Kasowanie i programowanie odbywa się na drodze czysto elektrycznej. Istnieje możliwość wprowadzenia zawartości tego typu pamięci bez wymontowywania jej z systemu, choć czas zapisu jest nieporównywalnie dłuższy niż czas zapisu do pamięci RAM. W tego typu pamięci przechowywany jest tak zwany Flash-BIOS, czyli oprogramowanie BIOS, które może być uaktualniane (przez wprowadzenie jego nowej wersji). Pamięć NVRAM Pamięć NVRAM (ang. Non Volatile RAM) stanowi połączenie pamięci SRAM z pamięcią EEPROM. Może być ona zapisywana o i odczytywana. Zapewnia to zachowanie zawartości tej pamięci po wyłączeniu napięcia zasilania. Przykładem zastosowania tej pamięcimoże być przechowywanie parametrów konfiguracyjnych wprowadzonych w trakcie sesji pracy z urządzeniem. _____________________________ UTK. Pamięci półprzewodnikowe -8- Koncepcja pamięci podręcznej (cache) Koncepcja pamięci podręcznej wynika z własności pamięci SRAM (szybsze, ale droższe) i DRAM (wolniejsze, ale tańsze) – więc do budowy pamięci operacyjnej wybrano pamięci DRAM i aby przyspieszyć współpracę procesora z pamięciami DRAM (wielkości rzędu MB) skonstruowano znacznie szybszą pamięć podręczną (wielkości rzędu KB). Ponadto w systemie musi znajdować się sterownik pamięci cache, koordynujący współpracę pamięci z pozostałymi układami. W przypadku operacji na pamięci sterownik ten sprawdza, czy poszukiwana informacja znajduje się w pamięci cache. Jeżeli tak, to operacja jest wykonywana na pamięci cache, bez stanów oczekiwania. Sytuacja ta nazywa się trafieniem (ang. cache hit). W przypadku nieobecności informacji w pamięci cache, następuje dostęp do pamięci operacyjnej z koniecznymi stanami oczekiwania. Jest to tak zwane chybienie (ang. cache miss). Architektura systemu z pamięcią cache We współczesnych systemach z pamięcią cache występują dwa rodzaje architektury: - Look-through, - Look-aside Architektura Look-through Mikroprocesor Cache Zarządca magistral PAO Zarządca magistral W architekturze tej pamięć cache, połączona magistralą lokalną z procesorem, oddziela go od reszty systemu. W przypadku trafienia główna magistrala systemu nie jest w ogóle używana, co powoduje dodatkowe zwiększenie szybkości działania systemu. Związane jest to z możliwością korzystania z magistrali głównej przez innych zarządców magistrali (np. sterownika DMA) w trakcie realizacji operacji na pamięci cache. _____________________________ UTK. Pamięci półprzewodnikowe -9- Architektura Look-aside Mikroprocesor Cache Zarządca magistral PAO Zarządca magistral Przy architekturze tej procesor nie jest odizolowany od reszty układów przez cache. Dostęp do pamięci powoduje rozpoczęcie normalnego cyklu magistrali. W przypadku trafienia cykl ten jest zawieszany, a operacja jest wykonywana na pamięci cache bez stanów oczekiwania. W przypadku chybienia wykonywany jest normalny cykl magistrali ze stanami oczekiwania. Przy architekturze Look-aside, nawet w przypadku trafienia, magistrala nie jest dostępna dla innych zarządców magistral. Nie są też możliwe równoległe operacje dla dwóch zarządców magistral. Zaletami architektury Look-aside są natomiast: prostsza konstrukcja, niższy koszt i nieco szybsza realizacja operacji w przypadku chybienia (normalny cykl magistrali jest rozpoczynany od razu po żądaniu dostępu do pamięci). Elementy systemu pamięci cache System pamięci cache składa się z trzech elementów: - banku danych pamięci cache (pamięć danych), - katalogu pamięci cache (często nazywanego TAG-RAMem), - sterownika pamięci cache. W banku danych pamięci cache przechowywana jest zapisywana i odczytywana informacja, natomiast katalog pamięci cache służy do szybkiego sprawdzania, czy poszukiwana informacja znajduje się w pamięci danych. Zadaniem sterownika pamięci cache jest wyszukiwanie adresu informacji w katalogu TAG-RAM oraz organizacja współpracy pamięci cache z systemem. Jednym z bardzo ważnych elementów tej współpracy jest zapewnienie zgodności (ang. consistency) zawartości pamięci cache z pamięcią główną. _____________________________ UTK. Pamięci półprzewodnikowe - 10 - Sposoby zapewniania zgodności pamięci cache Niezgodność zawartości pamięci cache z zawartością pamięci głównej występuje w dwóch przypadkach: - nastąpił zapis do pamięci cache bez zapisu do pamięci głównej (przypadek trafienia przy zapisie) - nastąpił zapis do pamięci głównej bez zapisu do pamięci cache (na przykład w przypadku transmisji DMA do pamięci głównej) Czasowa niezgodność pamięci jest dopuszczalna, nie wolno natomiast dopuścić do sytuacji, w której zostanie użyta nieaktualna informacja. W przypadku zapisu do pamięci cache stosowane są następujące strategie utrzymania zgodności: - Write-through, - Buforowane Write-through, - Write-back. W strategii Write-through każdy zapis do pamięci cache powoduje jednocześnie zapis do pamięci głównej. Jest to rozwiązanie bardzo proste i pewne, niestety powodujące zmniejszenie szybkości działania systemu (każdy zapis to zapis do „wolnej” pamięci głównej). Buforowane Write-through (lub raczej opóźnione) polega na zapisaniu informacji, zarówno w przypadku trafienia, jak i chybienia, do bufora sterownika cache, przy czym procesor widzi tę operację jako dostęp do pamięci bez stanów oczekiwania. W rzeczywistości operacja zapisu do pamięci głównej jest realizowana z pewnym opóźnieniem. Stany oczekiwania występują dla procesora jedynie w przypadku kolejno po sobie następujących zapisów do pamięci. Pomiędzy zapisami informacji do pamięci cache, dostęp do magistrali jest blokowany w celu uniknięcia użycia nieaktualnej informacji. W przypadku strategii Write-back zawartości pamięci cache i pamięci głównej są uzgadniane tylko w przypadku takiej potrzeby. Występuje ona, gdy inny zarządca magistrali chce skorzystać z komórki pamięci głównej, która zawiera nieaktualną informację lub gdy w pamięci cache wymieniana jest linia zawierająca informację nową. Budowa pamięci cache stosującej strategię Write-back jest bardziej skomplikowana gdyż, jak wynika z powyższego opisu, należy śledzić operacje magistrali na pamięci głównej wykonywane przez innych zarządców magistrali. Organizacja pamięci cache W celu szybkiego sprawdzenia, czy komórka pamięci, na której ma być wykonana operacja, jest odwzorowana w pamięci cache, dwie części pamięci cache, bank danych i katalog, tworzą tak zwaną jednoblokową pamięć asocjacyjną (ang. One-way Set-associative lub Direct-mapped). W takiej organizacji pamięć cache stanowi jeden blok, który jest dzielony na zestawy. Pamięć główna dzielona jest na strony o rozmiarze równym rozmiarowi bloku pamięci cache. Strony są z kolei również dzielone na zestawy, przy czym ilość zestawów w stronie jest identyczna jak w bloku pamięci cache. Każdy zestaw w pamięci cache ma swoją pozycję w katalogu w bloku pamięci TAG-RAM. Zawiera ona adres strony z którego pochodzi dany zestaw. Każdy zestaw jest wpisywany na miejsce w pamięci cache do zestawu o numerze zgodnym z numerem zestawu w stronie. Umożliwia to bardzo szybkie sprawdzenie obecności zestawu – nie musimy bowiem przeszukiwać katalogu, lecz sprawdzamy adres bloku w określonej pozycji katalogu. _____________________________ UTK. Pamięci półprzewodnikowe - 11 - Pamięć cache drugiego poziomu Pojęcie pamięci cache drugiego poziomu L2 (ang. level 2) pojawiło się po raz pierwszy podczas wprowadzenia na rynek procesora 80486. Procesor 80486 CACHE 1-go poziomu (L1) (wewnętrzna) BIU Układy logiczne NCA Magistrala lokalna CACHE 2-go poziomu (L2) (zewnętrzna) Zarządca magistral PAO Zarządca magistral Architektura zewnętrznej pamięci cache L2 przedstawionej na rysunku jest typu Look-through. Występuje ona w systemach znacznie częściej, aczkolwiek możliwa jest także architektura Lookaside. Pamięć cache zawartą wewnątrz procesora nazywa się często pamięcią cache-pierwszego poziomu lub L1 (ang. level 1) natomiast zewnętrzną cache pamięcią cahce drugiego poziomu lub L2. Bardzo istotne jest to, że informacja znajdująca się w pamięci cache L1 znajduje się jednocześnie w pamięci L2. Wynika stąd, że wyraźne efekty stosowania pamięci cache L2 występują dopiero wtedy, gdy jest ona znacząco większa od pamięci cache L1. Dopiero wówczas istnieje większa szansa trafienia dla pamięci cache L2 w przypadku chybienia dla pamięci cache L1. Pamięć cache w procesorze Pentium Wewnątrz procesora Pentium zastosowano dwie pamięci cache, każdą o pojemności 8 KB. Jedna z nich nosi nazwę Code-cache (lub I-cache) i przeznaczona jest do przechowywania kodów instrukcji. W drugiej przechowywane są dane i wyniki przetwarzania i nosi nazwę Data-cache. Pamięć cache L2 może stosować zarówno strategię Write-back, jak i Write-through. _____________________________ UTK. Pamięci półprzewodnikowe - 12 - Dodatek A. Budowa i zasada działania pamięci RAM Zasada działania Układy pamięci RAM zbudowane są z elektronicznych elementów, które mogą zapamiętać swój stan. Dla każdego bitu informacji potrzebny jest jeden taki układ. W zależności od tego czy pamięć RAM jest tak zwaną statyczną pamięcią (SRAM-Static RAM), czy dynamiczną (DRAM-Dynamic RAM) zbudowana jest z innych komponentów i soje działanie opiera na innych zasadach. Pamięć SRAM jako element pamiętający wykorzystuje przerzutnik, natomiast DRAM bazuje najczęściej na tzw. pojemnościach pasożytniczych (kondensator). DRAM charakteryzuje się niskim poborem mocy, jednak związana z tym skłonność do samorzutnego rozładowania się komórek sprawia, że konieczne staje się odświeżanie zawartości impulsami pojawiającymi się w określonych odstępach czasu. W przypadku SRAM, nie występuje konieczność odświeżania komórek lecz okupione jest to ogólnym zwiększeniem poboru mocy. Pamięci SRAM, ze względu na krótki czas dostępu są często stosowane jako pamięć podręczna. Wykonane w technologii CMOS pamięci SRAM mają mniejszy pobór mocy, są jednak stosunkowo drogie w produkcji. Budowa Aby zorganizować komórki pamięci w sprawnie funkcjonujący układ, należy je odpowiednio zaadresować. Najprostszym sposobem jest zorganizowanie pamięci liniowo - jest to tak zwane adresowanie 2D. Do każdej komórki podłączone jest wejście, sygnał wybierania pochodzący z dekodera oraz wyjście. Nieco innym sposobem jest adresowanie przy użyciu tzw. matrycy 3D.Pamięć organizuje się tutaj dzieląc dostępne elementy na wiersze i kolumny. Dostęp do pojedynczego elementu pamiętającego można uzyskać po zaadresowaniu odpowiedniego wiersza i kolumny. Dlatego też komórka RAM obok wejścia i wyjścia musi dysponować jeszcze dwoma sygnałami wybierania, odpowiednio z dekodera kolumn i wierszy. Zaletą pamięci adresowanej liniowo jest prosty i szybszy dostęp do poszczególnych bitów niż w przypadku pamięci _____________________________ UTK. Pamięci półprzewodnikowe - 13 - stronicowanej (3D), lecz niestety, przy takiej organizacji budowanie większych modułów RAM jest kłopotliwe. Dlatego też w przemyśle stosuje się zazwyczaj układy pamięci zorganizowanej w matrycę 3D, pozwala to na nieskomplikowane tworzenie większych modułów o jednolitym sposobie adresowania. W komputerach PC procesor uzyskuje dostęp do danych zawartych w pamięci DRAM w pakietach o długości 4-bitów (z pojedynczego rzędu), które przesyłane są sekwencyjnie lub naprzemiennie (tzw. przeplot - interleave). Optymalną wydajność można osiągnąć wtedy, gdy procesor otrzymuje dane równocześnie z taktem systemowego zegara. Jednak przy obecnie stosowanej częstotliwości taktowania magistrali wymaganiom tym nie jest w stanie sprostać nawet bardzo szybka pamięć cache drugiego poziomu. Pomimo tego, że ostatnie trzy bity dostarczane są wraz z taktem zegara, to konieczność odpowiedniego przygotowania transmisji sprawia, że przed pierwszym bitem "wstawiony" zostaje jeden cykl oczekiwania. Taki sposób transferu danych można oznaczyć jako cykl 2-1-1-1. Dodatek B. Pamięci RAM w pod koniec wieku XX Fast Page Mode (FPM RAM) Czas dostępu wynosi zazwyczaj 70 lub 60 ns. Układy te charakteryzują się niską - jak na dzisiejsze czasy - wydajnością, dane przesyłane są jako seria 5-3-3-3 w cyklach pracy procesora. Sposób dostępu do komórek, zorganizowanych jako matryca 3D, jest zdeterminowany przez sygnały RAS i CAS. Sygnał RAS (Row Access Signal) odpowiada za wybranie bieżącego wiersza (strony), a CAS (Column Access Signal) wyznacza odpowiednią kolumnę. Proces odczytu z pamięci FPM rozpoczyna się od wybrania odpowiedniego wiersz sygnałem RAS, po czym w celu zaadresowania kolumny następuje uaktywnienie sygnału CAS. Każdy cykl sygnału CAS zawiera wybranie adresu kolumny, oczekiwanie na dane, przekazanie danych do systemu i przygotowanie następnego cyklu. W czasie cyklu CAS, gdy sygnał CAS przyjmuje wysoki poziom, wyjścia danych są zablokowane. Jest to istotne z tego względu, że zmiana sygnału na wysoki może nastąpić tylko po zakończeniu przesyłania danych. Mówiąc prościej, przed wyznaczeniem następnej komórki czyli zaadresowania jej w danej kolumnie, musi zakończyć się operacja na danych. Ponieważ często jest tak, że przesyłamy w jeden region pamięci dane w większych porcjach, Fast Page Mode RAM potrafi nieco skrócić czas potrzebny na dostęp do informacji, gdy jej poszczególne bity znajdują się na tej samej stronie pamięci. _____________________________ UTK. Pamięci półprzewodnikowe - 14 - Extented Data Output (EDO RAM) Obecnym standardem w świecie PC stały się pamięci EDO. Czas dostępu wynosi tutaj 70 i 60 ns. Coraz częściej spotyka się także układy pracujące z szybkością 50 ns, są one szczególnie popularne w nowszych kartach graficznych. Stosowanie tego rodzaju pamięci wymaga odpowiedniej płyty głównej; obecnie praktycznie wszystkie takie urządzenia bazują na chipsecie Intel Triton, który posiada wsparcie dla modułów EDO. Najważniejszą zaletą pamięci typu EDO jest zmniejszenie liczby cykli oczekiwania podczas operacji sekwencyjnego odczytu. W przypadku modułów bazujących na FPM, cykl dostępu do pamięci wynosił 5-3-3-3, natomiast EDO może pracować przesyłając dane w serii 5-2-2-2. Termin Extended Data Out określa sposób, w jaki dane są przesyłane z pamięci. W przypadku FPM przed wybraniem następnej komórki w kolumnie, musiała zakończyć się operacja na danych. Natomiast EDO umożliwia rozpoczęcie wyznaczania następnego adresu w czasie, gdy dane są jeszcze odczytywane z poprzedniego miejsca. Tak naprawdę jedyna modyfikacja, jaka była konieczna, żeby osiągnąć ten efekt to zmiana zachowania się pamięci na sygnał CAS. Gdy sygnał CAS przyjmuje stan wysoki, wyjścia nie są blokowane, a przesyłanie danych jest kontynuowane dopóki CAS nie przyjmie ponownie wartości niskiej. Burst Extended Data Output (BEDO RAM) Rozwinięciem pamięci EDO jest BEDO RAM. Zasadniczą zmianą w przypadku BEDO jest sposób, w jaki dane przesyłane są po wyznaczeniu adresu. Otóż dzięki temu, że BEDO posiada wewnętrzny licznik adresów, kontroler pamięci odwołuje się tylko do pierwszej komórki pamięci, a pozostałe bity przesyła samoczynnie układ logiki. Jest to tak zwane przesyłanie w trybie burst, co pozwala na cykl pracy 5-1-1-1. Moduły BEDO posiadają także inne modyfikacje wpływające na ich wydajność, np. skrócenie odstępu pomiędzy zboczami sygnału CAS oraz opóźnienia pomiędzy sygnałem RAS i CAS. Nie zrezygnowano także z rozwiązania stosowanego w pamięciach EDO. W czasie przesyłania ostatniego bitu w pakiecie (burst) danych, wysterowywany jest już kolejny adres. Obecnie znaczenie opisywanych układów pamięci znacznie zmalało, gdyż można je stosować tylko w przypadku płyt głównych z chipsetem VIA 580VP, 590VP, 680VP, które nie należą, przynajmniej u nas, do najczęściej spotykanych. Nie wydaje się także, aby ten rodzaj RAM-u stał się popularny w przyszłości, ponieważ po zwiększeniu częstotliwości magistrali powyżej 66MHz, BEDO nie może dostarczać danych w sekwencji 5-1-1-1. Synchroniczna DRAM (SDRAM) Nowsze płyty główne zbudowane na układach Intel Triton VX i TX oraz VIA 580VP i 590VP potrafią współpracować także z pamięciami SDRAM (Synchronous Dynamic RAM, nie mylić ze SRAM). Najważniejszą cechą tego nowego rodzaju pamięci jest możliwość pracy zgodnie z taktem zegara systemowego. Podobnie do układów BEDO, SDRAM-y mogą pracować w cyklu 5-1-1-1. Istotną różnicą jest natomiast możliwość bezpiecznej współpracy z magistralą systemową przy prędkości nawet 100 MHz (10 ns). Technologia synchronicznej pamięci DRAM bazuje na rozwiązaniach stosowanych w pamięciach dynamicznych, zastosowano tu jednak synchroniczne przesyłanie danych równocześnie z taktem zegara. Funkcjonalnie SDRAM przypomina typową DRAM, zawartość pamięci musi być odświeżana. Jednak znaczne udoskonalenia, takie jak wewnętrzny pipelining czy przeplot (interleaving) sprawiają, że ten rodzaj pamięci oferuje bardzo wysoką wydajność. Warto także wspomnieć o istnieniu programowalnego trybu burst, gdzie możliwa jest kontrola prędkości transferu danych oraz eliminacja cykli oczekiwania (wait states). _____________________________ UTK. Pamięci półprzewodnikowe - 15 - SIMM kontra DIMM Opisywane wyżej różne rodzaje pamięci są produkowane jako układy scalone. Jednak konieczność rozbudowy współczesnych komputerów sprawia, że nie jest opłacalne wlutowywanie na stałe układów scalonych. Dlatego też już od dawna, pamięci są montowane w tak zwanych modułach. Najpopularniejsze jak dotąd moduły SIMM (Single In Line Memory Module) oznaczają sposób zorganizowania kości pamięci, a nie ich rodzaj. Standard DIMM, nowy w świecie PC, lecz bardzo dobrze przez użytkowników Macintoshy, oznacza Dual In Line Memory Module. Szerokość danych modułów SIMM wynosi 32-bity, a DIMM 64-bity, dlatego też w przypadku 64-bitowej magistrali konieczne jest łączenie SIMM-ów w pary dla odsadzenia pojedynczego banku. Fakt iż pamięci SDRAM spotykane są w modułach DIMM nie oznacza, że te dwa standardy są ze sobą tożsame. Równie dobrze w 64-bitowym gnieździe DIMM można umieścić pamięć EDO lub FPM. Pamięć cache Wydajność systemu wyposażonego nawet w szybszą pamięć SDRAM, wzrośnie jeśli tylko na płycie głównej zostanie umieszczona pamięć podręczna. Cache drugiego poziomu jest tak zwaną pamięcią statyczną SRAM. Ten rodzaj RAM jest szybszy od pamięci dynamicznych, jednak bardziej kosztowny. Już w komputerach 386 na płytach głównych montowano 64 KB tej pamięci. Początkowo stosowany był asynchroniczny SRAM, którego główną zaletą była duża szybkość (zazwyczaj 15 ns). Dosyć często występowała konieczność wstawienia cyklu oczekiwania z powodu braku synchronizacji pomiędzy buforem a procesorem. Dlatego też pojawił się synchroniczny SRAM, którego parametry pracy poprawiły się właśnie dzięki eliminacji wait states. O ile pierwsze pamięci asynchroniczne mogły w najlepszym razie osiągnąć cykl 3-2-2-2 przy magistrali 66 MHz, to w przypadku synchronicznego bufora możliwe było stosowanie cyklu pracy 2-1-1-1. Obecnie jedynym rodzajem cache'u stosowanego na płytach głównych jest tzw. Piplined Burst SRAM. PB-cache pracuje synchronicznie oraz dodatkowo zawiera specjalne rejestry wejścia/wyjścia umożliwiające pipelining. Ponieważ przeładowanie rejestru zajmuje trochę czasu, konieczna jest praca w cyklu 3-1-1-1. Dlaczego więc stosuje się cache PB zamiast synchronicznego? Otóż synchroniczny SRAM doskonale pracuje do częstotliwości 66 MHz, jednak powyżej tej granicy występuje wyraźny spadek wydajności (3-2-2-2). Natomiast Piplined Burst cache, mimo że wymaga jednego cyklu oczekiwania więcej, może bezproblemowo pracować z magistralą nawet 100 MHz w sekwencji 3-1-1-1. Słowniczek ROM (Read Only Memory) Pamięć tylko do odczytu, w normalnych warunkach nie zapisywalna. Nie traci zawartości po odłączeniu zasilania. RAM (Random Access Memory) Pamięć o dostępie swobodnym, można ją zapisywać i odczytywać. Traci zawartość po odłączeniu zasilania. DRAM (Dynamic RAM) Pamięć dynamiczna, wymagająca cyklicznego odświeżania zawartości komórek. _____________________________ UTK. Pamięci półprzewodnikowe - 16 - SRAM (Static RAM) Informacja zawarta w tej pamięci jest podtrzymywana przez nie przerwanie płynący prąd spoczynkowy. Dzięki temu wyeliminowano konieczność odświeżania, co znacznie skróciło czas dostępu. FPM DRAM (Fast Page Mode) Wychodzący obecnie z użycia DRAM, charakteryzujący się stosunkowo długim czasem dostępu- najczęściej 70 ns. Komórki pamięci zorganizowane są w grupy (strony), w myśl zasady iż najczęściej odczytywana jest następna komórka, a dostęp do komórek znajdujących się na tej samej stronie jest znacznie szybszy niż w innym przypadku. Może optymalizować odczyt danych, które występują na tej samej stronie (row). EDO DRAM (Extended Data Out) Obecnie najbardziej popularny, czas dostępu wynosi do 50 ns. Funkcjonuje podobnie do FPM, może jednak wyznaczać kolejny adres zaraz po rozpoczęciu odczytu poprzedniej komórki. Taki rezultat osiągnięto dzięki zmodyfikowaniu sygnału CAS i nie blokowaniu wyjść (data-out) w czasie transmisji (przy wysokim zboczu CAS). SDRAM (Synchronous DRAM) Sukcesor EDO, synchronizuje się z taktem zegara systemowego. Dane przesyłane są w seriach (burst). BEDO RAM (Burst EDO RAM) Połączenie techniki "Burst" i EDO RAM, zawierające dwustopniowy potok (pipeline). Zamiast jednego adresu odczytywane są jednocześnie cztery. Na magistrali adresowej adres pojawia się tylko na początku odczytu, co wydatnie skraca średni czas dostępu. Burst - tryb dostępu do pamięci, w którym jednocześnie odczytywane są cztery sąsiednie komórki. CAS (Column Address Strobe) Skrót od Column Address Strobe („bramkowanie adresu kolumny”) lub Column Address Select („wybór adresu kolumny”). Adresy te odnoszą się do kolumny fizycznych komórek pamięci w tablicy kondensatorów używanych w dynamicznej pamięci RAM (DRAM). CAS latency (CL), „czas oczekiwania CAS” Oznacza czas (liczbę cykli zegara) jaki upływa między wysłaniem przez kontroler pamięci żądania dostępu do określonej kolumny pamięci a odczytaniem danych z tej kolumny na wyprowadzeniach modułu pamięci. Im niższa jest wartość CAS latency (przy takiej samej częstotliwości zegara), tym mniej czasu potrzeba na pobranie danych z pamięci. Najprościej mówiąc, „im krótsze CAS latency, tym lepiej”. Czas oczekiwania CAS wpływa bowiem na szybkość wykonywania w pamięci operacji, takich jak pobranie kolejnej instrukcji do wykonania przez procesor, operacje odczytu/zapisu/porównania/przesunięcia bitowego itp. Im dłuższy czas oczekiwania, tym dłużej procesor musi czekać na reakcję ze strony pamięci. Istnieją różnorodne sposoby na przyśpieszenie działania pamięci, takie jak stosowanie przeplotu (ang. interleaving; pozwala na rozdzielenie operacji zapisu na kilka banków pamięci), czy też korzystanie z pamięci podręcznej (ang. cache; umożliwia tymczasowe przechowywanie przetwarzanych danych, a czasem także inteligentną synchronizację z modułami pamięci). _____________________________ UTK. Pamięci półprzewodnikowe - 17 - DIMM (Dual-Inline Memory Module) Moduły pamięci na karcie ze 168 stykami. Pracują z szyną adresową o szerokości 64 bitów. SIMM (Single-Inline Memory Module) Standard konstrukcyjny o 32 stykach; szyna danych ma szerokość zaledwie 8 bitów. Pojęcie to czasem używane jest również w odniesieniu do modułów PS/2. PS/2 moduł 72 stykowy standard konstrukcyjne używany w pamięciach EDO RAM i FPM RAM. Dostęp odbywa się poprzez szynę adresową o szerokości 32 bitów. Cache Szybka pamięć buforowa, zwana też pamięcią podręczną, w której tymczasowo i "na zapas" przechowywane są dane z innego wolniejszego nośnika danych. Cache Hit Sytuacja występująca, gdy żądane przez CPU dane i adresy są już w Cache'u. Ponieważ nie jest potrzebny wtedy dostęp do (właściwej) pamięci wydajność komputera wzrasta. Cache Miss Okoliczności występujące gdy żądanych przez procesor danych lub adresów nie ma w buforze. Niezbędny jest dostęp do (właściwej) pamięci co spowalnia pracę CPU. Direct Mapped jedna z technologii wykonania pamięci buforowej. W tym przypadku dane przyjmowane są tylko z określonego zakresu pamięci operacyjnej. Powoduje to niekiedy pogorszenie wydajności systemu. Write-Back Jeden z trybów zapisu danych z pamięci buforowej do pamięci operacyjnej. W trybie tym dane przepisywane są z bufora z opóźnieniem: trafiają tam dopiero wtedy, gdy "muszą", czyli gdy bufor jest przepełniony lub gdy procesor lub inne urządzenie próbuje bezpośrednio odwołać się do pamięci operacyjnej. Write-Through Każda zmiana zawartości bloku cache'u zostaje natychmiast zapisana w pamięci operacyjnej. Metoda ta jest bezpieczniejsza (nie ma ryzyka wystąpienia rozbieżności pomiędzy zawartością pamięci buforowej i operacyjnej), ale i nieco wolniejsza, więc większość systemów stosuje WriteBack. _____________________________ UTK. Pamięci półprzewodnikowe - 18 - Dodatek C. Pamięci DDR DDR SDRAM (ang. Double Data Rate Synchronous Dynamic Random Access Memory) – rodzaj pamięci typu RAM stosowana w komputerach jako pamięć operacyjna oraz jako pamięć kart graficznych. DDR2 SDRAM (ang. Double Data Rate 2 Synchronous Dynamic Random Access Memory) – kolejny po DDR standard pamięci RAM typu SDRAM, stosowany w komputerach jako pamięć operacyjna. Różnice DDR2 w stosunku do DDR 1. Moduły zasilane są napięciem 1,8 V, zamiast 2,5 V. 2. 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. 3. DDR2 przesyła 4 bity w ciągu jednego taktu zegara (DDR tylko 2). 4. 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. 5. Liczba styków została zwiększona ze 184 do 240. 6. Wycięcia w płytce pamięci umieszczone są w różnych miejscach, w celu zapobiegnięcia podłączenia niewłaściwych kości. Pamięci DDR2 nie są kompatybilne z ich poprzednikami. Wynika to z ilości styków, gęstości ich rozstawienia, napięcia pracy oraz pewnych zmian konstrukcyjnych. _____________________________ UTK. Pamięci półprzewodnikowe - 19 - Oznaczenia chipów i modułów Nazwa chipa Cykl zegara Zegar Taktowanie szyny Transfer danych Nazwa modułu Transfer szczytowy DDR2-400 100 MHz 10 ns 200 MHz 400 mln/s PC2-3200 3200 MB/s DDR2-533 133 MHz 7.5 ns 266 MHz 533 mln/s PC2-4200 PC2-43001 4266 MB/s DDR2-667 166 MHz 6 ns 333 MHz 667 mln/s PC2-5300 PC2-54001 5333 MB/s DDR2-800 200 MHz 5 ns 400 MHz 800 mln/s PC2-6400 6400 MB/s DDR21066 266 MHz 3.75 ns 533 MHz 1066 mln/s PC2-8500 8533 MB/s Pamięci DDR3 DDR3 SDRAM (ang. Double Data Rate Synchronous Dynamic Random Access Memory (ver. 3)) – nowy standard pamięci RAM typu SDRAM, będący rozwinięciem pamięci DDR i DDR2, stosowanych w komputerach jako pamięć operacyjna. _____________________________ UTK. Pamięci półprzewodnikowe - 20 - Pamięć DDR3 wykonana jest w technologii 90 nm, która umożliwia zastosowanie niższego napięcia (1,5 V w porównaniu z 1,8 V dla DDR2 i 2,5 V dla DDR). Dzięki temu pamięć DDR3 charakteryzuje się zmniejszonym poborem mocy o około 40% w stosunku do pamięci DDR2 oraz większą przepustowością w porównaniu do DDR2 i DDR. Pamięci DDR3 nie będą kompatybilne wstecz, tzn. nie będą współpracowały z chipsetami obsługującymi DDR i DDR2. Posiadają także przesunięte wcięcie w prawą stronę w stosunku do DDR2 (w DDR2 wcięcie znajduje się prawie na środku kości). Obsługa pamięci DDR3 przez procesory została wprowadzona w 2007 roku w chipsetach płyt głównych przeznaczonych dla procesorów Intel oraz zostanie wprowadzona w 2008 roku w procesorach firmy AMD. Moduły DDR3 1. 2. 3. 4. 5. PC3-6400 o przepustowości 6,4 GB/s, pracujące z częstotliwością 800 MHz. PC3-8500 o przepustowości 8,5 GB/s, pracujące z częstotliwością 1066 MHz. PC3-10600 o przepustowości 10,6 GB/s, pracujące z częstotliwością 1333 MHz PC3-12700 o przepustowności 12,7 GB/s, pracujące z częstotliwością 1600 MHz PC3-15000 o przepustowności 15 GB/s, pracujące z częstotliwością 1866 MHz Różnice w stosunku do DDR2 (zalety) większa przepustowość przy niższym napięciu mniejszy pobór prądu o 40% Różnice w stosunku do DDR2 (wady) Na ogół znacznie wyższe opóźnienia, lecz skompensowane przez wyższą przepustowość Na chwilę obecną koszt pamięci DDR3 jest o wiele wyższy od pamięci DDR2. DDR3 Kingston DDR3 PC3-10666 Gold Edition Dual (2 x 1GB) _____________________________ UTK. Pamięci półprzewodnikowe - 21 - Informacje ogólne Nazwa Marka Seria Kod producenta OCZ DDR3 PC3-10666 Gold Edition Dual (2 x 1GB) OCZ Technology Gold Edition OCZ3G13332GK Specyfikacja techniczna Pojemność Złącze Timingi Napięcie [V] Przepustowość Częstotliwość Radiator PCB Technologia Produkcji Rodzaj opakowania 2GB 240 pin (CAS-TRCD-TRP-TRAS) CL9-9-9-26 1,6 ~ 1,7 10666MB/s 1333MHz Z3 XTC 6 - warstwowe, ekranowane, złocone styki FBGA Pudełko zabezpieczające Testy wydajności pamięci DRR Testy zostały przeprowadzone na dwóch płytach Gigabyte'a wyposażonych w chipset P35 - na płycie P35-DQ6 w przypadku pamięci DDR2 oraz na P35T-DQ6 dla pamięci DDR3. Obie płyty różnią się tylko i wyłącznie obsługą różnych typów pamięci przez co uzyskane wyniki można śmiało ze sobą skonfrontować. _____________________________ UTK. Pamięci półprzewodnikowe - 22 - _____________________________ UTK. Pamięci półprzewodnikowe - 23 -