Pamięć RAM
RAM (ang. Random Access Memory) - pamięć o dostępie swobodnym) - podstawowy rodzaj pamięci cyfrowej. Choć nazwa sugeruje, że oznacza to każdą pamięć o bezpośrednim dostępie do dowolnej komórki pamięci, nazwa ta ze względów historycznych oznacza tylko te rodzaje pamięci o bezpośrednim dostępie, w których możliwy jest wielokrotny zapis, a wyklucza pamięci ROM (tylko do odczytu), pomimo iż w ich przypadku również występuje swobodny dostęp do zawartości. W pamięci RAM przechowywane są aktualnie wykonywane programy i dane dla tych programów oraz wyniki ich pracy. Zawartość większości pamięci RAM jest tracona w kilka sekund po zaniku napięcia zasilania, niektóre typy wymagają także odświeżania, dlatego wyniki pracy programów muszą być zapisane na innym nośniku danych. Zasada działania pamięci RAM Zasada działania komórki pamięci dynamicznej opiera się na magazynowaniu ładunku naokreś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 zaleSy teS 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 Sadne operacje. Stan taki, oznaczany symbolem Ti, nazywamy stanem uśpienia magistrali (ang. idle state). 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. Rodzaje pamięci RAM Synchroniczna DRAM (SDRAM) 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). Zasada działania pamięci SDRAM polega na zsynchronizowaniu operacji pamięci z zewnętrznym zegarem. 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). 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. 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. Pamięci te budowane są w obudowach TSOP jak i BGA i mogą wytrzymać temperaturę do 70°C. Kości przeznaczone dla płyt głównych zawierające moduły DDR SDRAM posiadają 184 styki kontaktowe i jeden przedział (w odróżnieniu od SDR SDRAM, który ma ich 168 oraz dwa przedziały). 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. Kości zasilane są napięciem 2,5 V a nie 3,3 V, co wraz ze zmniejszeniem pojemności wewnątrz układów pamięci, powoduje znaczące ograniczenie poboru mocy. Czas dostępu do danych znajdujących się w pamięci RAM w najnowszych pamięciach DDR-SDRAM wynosi ok. 4 ns. W najnowszych układach GDDR5 stosowanych w kartach graficznych opóźnienie sięga 0,4 ns. 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 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. Pamięć DDR2 charakteryzuje się wyższą efektywną częstotliwością taktowania (533, 667, 800, 1066 MHz) 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, czego nie należy mylić z technologią dual channel. Pamięci DDR2 budowane są w obudowach FBGA (ang. Fine-pitch Ball Grid Array). Mogą pracować w temperaturze do 70°C. Moduły pamięci DDR2 nie są kompatybilne z modułami DDR. Obecnie DDR2 obsługiwane są zarówno przez procesory firmy Intel jak i AMD. Różnice 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 pinó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. DDR3 SDRAM (ang. Double Data Rate Synchronous Dynamic Random Access Memory ) - nowy standard pamięci RAM typu SDRAM, będący rozwinięciem pamięci DDR i DDR2, stosowanych w komputerach jako pamięć operacyjna.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 są kompatybilne wstecz, tzn. nie współpracują 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). Moduły DDR3 . 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-12800 o przepustowości 12,7 GB/s, pracujące z częstotliwością 1600 MHz . PC3-15000 o przepustowości 15 GB/s, pracujące z częstotliwością 1866 MHz . PC3-16000 o przepustowości 16 GB/s, pracujące z częstotliwością 2000 MHz Różnice w stosunku do DDR2: . większa przepustowość przy niższym napięciu . mniejszy pobór prądu o 40% . Na ogół wyższe opóźnienia (timingi) lecz zrekompensowane przez znacznie wyższą przepustowość.