Blog
Pamięć RAM – czym tak naprawdę jest i jak działa?

Pamięć Ram-Random-Acces-Memory to podstawowy rodzaj pamięci cyfrowej, która przechowuje dane aktualnie wykonywanych programów. Istnieje podział pamięci Ram na statyczną i dynamiczną. Pamięć statyczna (sRAM)jest szybsza od pamięci dynamicznej. Jest używana np. w pamięci podręcznej procesora.
Z uwagi na wyższą cenę tej pamięci, używana jest w układach niewymagających dużej wielkości takiej pamięci. Jako pamięć operacyjną używa się pamięci dynamicznej. Im większa jest pojemność pamięci Ram, tym więcej procesów może być uruchomionych.
Można by zadać sobie pytanie dlaczego jest potrzebna dodatkowa pamięć skoro mamy dysk twardy na komputerze. Ekonomia tworzenia komputera odpowiada na to pytanie. W pamięci RAM, która jest szybsza od pamięci dyskowej, przechowuje się tylko aktualnie uruchomione programy. Poza tym nie jest to pamięć trwała tzn. dane z tej pamięci są tracone.
Dysk twardy służy więc do tego, aby dane z pamięci Ram były trwałe. Natomiast pamięć operacyjna RAM służy do obsługiwania operacji, które wykonują się na komputerze. Im więcej zadań wykonuje komputer i im bardziej one są wymagające , tym więcej pamięci Ram, do tego potrzebuje aby płynnie działać.
Pojemność pamięci RAM
W 1980 komputery posiadały 8 kB pamięci RAM . Od tego czasu pojemność pamięci Ram stale zwiększa się i tak obecnie normą jest, że w nowych komputerach montuje się pamięć o pojemności 8GB, jednak wiele osób wykorzystuje sprzęt o dużo większej pojemności. Zdarza się że gracze wykorzystują 256GB pamięci.
Obecnie używa się pamięci DDR. Jest to określenie współczesnych kości pamięci. Kolejne generacje pamięci Ram mają kolejny numer. Ma to znaczenie takie, że pamięć o wyższej generacji DDR jest szybsza od poprzedniej przez co jest bardziej wydajna. Obecnie najnowsza generacja DDR to DDR4.
Obecnie pamięć RAM montowana w gotowych zestawach komputerowych, często nie wystarcza użytkownikom, którzy wykorzystują z czasem coraz bardziej zaawansowane aplikacje.
Tacy użytkownicy mogą w prosty sposób zwiększyć pojemność pamięci na swoim komputerze, podłączając kolejne kości pamięci do swojej płyty głównej, jednak należy zwrócić uwagę na to jaką generację pamięci obsługuje dana płyta główna i ile fizycznie jest miejsc do podłączenia takich kości. Starsze płyty główne nie są kompatybilne z najnowszymi generacjami pamięci RAM. Warto sprawdzić współczynnik CL tj. opóźnienie. Im niższa wartość CL, tym krótszy czas potrzebny na pobranie danych z pamięci.
Można przyspieszyć działanie pamięci stosując tzw. przeplot (ang. interleaving), co pozwala na rozdzielenie operacji zapisu na kilka banków pamięci lub stosując pamięć podręczną (ang. cache), umożliwiającą tymczasowe przechowywanie przetwarzanych danych w celu synchronizacji z modułami pamięci. Większość producentów pamięci dynamicznych (DRAM) podaje parametr CAS latency w nazwie konkretnego modelu; niektórzy podają go bezpośrednio, np. CL5.
Pozostałe parametry pamięci
RCD (RAS to CAS Delay; RAS – Row Access Strobe; CAS – Column Access Strobe) – czas jaki upływa od zakończenia wykonywania polecenia aktywacji konkretnej kolumny (CAS), do rozpoczęcia wykonywania polecenia aktywacji konkretnego wiersza (RAS).
RP (RAS Precharge; RAS – Row Access Strobe) – czas jaki upływa między wykonaniem polecenia zamknięcia dostępu do wcześniej aktywowanego wiersza, a rozpoczęciem wykonywania polecenia aktywacji kolejnego.
RAT (Row Active Time) – czas jaki upływa od żądania wykonania polecenia aktywacji wiersza aż do jego dezaktywacji.
CR (Command Rate) – czas jaki upływa pomiędzy poleceniami adresowania dwóch niekoniecznie różnych komórek pamięci.
Opóźnienia CL, RCD, RP według specyfikacji JEDEC, dla poszczególnych częstotliwości w pamięciach typu DDR2, powinny wynosić:
- DDR2-400 – 3-3-3, 4-4-4
- DDR2-533 – 3-3-3, 4-4-4
- DDR2-667 – 4-4-4, 5-5-5
- DDR2-800 – 4-4-4, 5-5-5, 6-6-6
Parametr RAS JEDEC podaje w nanosekundach. Dla wszystkich standardów oprócz DDR2-400 3-3-3, gdzie ma on wartość od 40 do 70.000, powinien wynosić 45- 70.000.
Wpływ opóźnień na szybkość dostępu
Synchronous DRAM ma CAS latency, która jest uzależniona od taktowania zegara. W związku z opóźnieniami CAS parametry modułu pamięci SDRAM określane są w cyklach zegarowych, a nie w czasie rzeczywistym, ponieważ moduł pamięci ma wiele wewnętrznych banków, sygnał wyjściowy może być zajęty w 100%, bez względu na opóźnienie CAS, poprzez pipelining.
Niestety, ta maksymalna przepustowość może być osiągnięta jedynie wtedy, gdy znacznie wcześniej przed samym odczytem wiadomo, które dane mają być odczytane, jeśli tego nie wiadomo, może nastąpić zjawisko hazardu, którego skutkiem będzie znaczny spadek wydajności.
W wypadku całkowicie nieprzewidywalnego dostępu do pamięci, właściwym czasem opóźnienia jest: czas zamknięcia otwartego wiersza plus czas potrzebny na otwarcie nowego (RAS). Z uwagi na to, że operacje zapisu/odczytu są często wykonywane na sąsiadujących danych w jednym wierszu, do określenia opóźnienia wystarczy wtedy sam parametr CAS, ponieważ w nowoczesnych modułach pamięci opóźnienia (CAS) określane są w cyklach zegarowych a nie w czasie, aby dokonać rzetelnego porównania przy różnych częstotliwościach taktowania modułu należy przeliczyć podane opóźnienia na jednostkę czasu.
Generalnie im mniejsze opóźnienia tym lepiej, z uwagi jednak na różnice w taktowaniu, może zaistnieć sytuacja kiedy większy CAS jednego modułu w praktyce oznacza szybszy dostęp do tego modułu. Producenci pamięci podają opóźnienia dla określonego taktu zegara, a więc możliwe jest obniżenie opóźnień poniżej zaleceń przy jednoczesnym obniżeniu taktowania.