W ramionach RAM-u

Komputery PC wyposażone w system Windows mają ogromne apetyty na pamięć typu RAM (Random Access Memory). Jej wielkość to jeden z ważniejszych czynników, jaki należy wziąć pod uwagę w czasie kupna komputera. RAM jest też najczęściej poszerzanym elementem w trakcie sprzętowego upgrade'u komputera.

Komputery PC wyposażone w system Windows mają ogromne apetyty na pamięć typu RAM (Random Access Memory). Jej wielkość to jeden z ważniejszych czynników, jaki należy wziąć pod uwagę w czasie kupna komputera. RAM jest też najczęściej poszerzanym elementem w trakcie sprzętowego upgrade'u komputera.

Pamięci komputerowe RAM są sprzedawane w obudowach lub jako moduły. Ich rodzaj, wymagany przez dokumentację techniczną posiadanego urządzenia, określa sposób połączenia z resztą komputera.

Prawie wszystkie pamięci RAM stosowane do komputerów PC są oferowane w czterech różnych formach. Są nimi moduły SIMM oraz obudowy DIP, SIP i ZIP.

Moduł SIMM

Moduł typu SIMM (Single in-line Memory Module) jest najbardziej popularną formą oferowaną na rynku. W jej skład wchodzi mała płytka obwodu drukowanego (3" szerokości na 1/4 do 1/2" wysokości) z 30 lub 72 polami kontaktowymi na jednej z dłuższych stron. Na płytce, metodą montażu powierzchniowego są przylutowane 3 (lub 9) kości pamięciowe w obudowach ceramicznych lub z tworzywa sztucznego.

Obudowa DIP

Obudowa DIP (Dual in-line) była bardzo popularna w początkach komputerów typu PC i jest rzadziej spotykana dzisiaj. Jest prostopadłościennym ceramicznym lub plastikowym blokiem, zwykle 2/3" szerokości i 1 1/2" długości, przy czym spotyka się obudowy nieco szersze i dłuższe. Dwa rzędy metalowych nóżek są umiejscowione po stronie dłuższych boków obudowy, co daje im wygląd stonogi.

Obudowa SIP

Obudowa SIP (Single in-line) jest skrzyżowaniem SIMM i DIP. Rząd metalowych nóżek jest umieszczony wzdłuż dłuższego boku obudowy, przy czym jest ich zwykle 30. Pamięci SIP są często pod względem elektrycznym identyczne jak SIMM, różniąc się od nich detalami obudowy.

Obudowa ZIP

Obudowa ZIP (Zigzag in-line) jest podobna do typu DIP, z tym wyjątkiem, że rzędy nóżek nie leżą dokładnie w linii prostej. Są one przesunięte w lewo i w prawo tworząc linię łamaną (zygzakowatą). Obudowy te są raczej stosowane w urządzeniach specjalizowanych, takich jak np. karty wideo (video- cards), rzadko do pamięci RAM dla PC.

Typy pamięci RAM

Przy wyborze RAM najważniejszą rzeczą jest jej rodzaj. Każdy z nich ma swoje własne zastosowania.

DRAM

Zawartość pamięci typu DRAM (Dynamic RAM) ulega ciągłym zmianom i zanikom. Ponieważ informacja jest w nich przechowywana w postaci ładunku w scalonych kondensatorach, to z powodu nie najlepszej izolacji może zaniknąć. Dlatego wszystkie dane zapisane w pamięci DRAM muszą być odświeżane w milisekundowym rytmie.

Każdy z nas próbował zapamiętać numer telefonu, przypominając go sobie często i powtarzając jego cyfry tak długo, aż wykręcimy je wszystkie przy użyciu aparatu telefonicznego. Jest to właśnie dobry przykład na pamięć typu DRAM i na metodę, radzącą sobie z niedoskonałościami DRAM. Dane zmagazynowane w pamięci DRAM są bez przerwy odczytywane i zapisywane w procesie określonym mianem "odświeżania" (refreshing). Tak długo jak zawartość DRAM jest odświeżana zanim zaniknie, tak długo dane będą zachowane.

Odświeżanie pamięci rozwiązuje problem zaniku danych w czasie, ale rodzą się następne kłopoty.

Proces odczytu pamięci DRAM w czasie odświeżania danych wymaga użycia procesora komputera (zapis danych odbywa się już tylko przy użyciu obwodów wewnętrznych DRAM). Kilka (1, 2%) procent całego czasu pracy CPU zajmuje się tak marginalnym zadaniem, jak sprawa odświeżania pamięci DRAM. Powoduje to odpowiednią redukcję mocy obliczeniowej komputera potrzebną przede wszystkim do uruchamiania programów.

Na dodatek pamięć ta jest powolna, przez co procesor musi czekać na potrzebne dane. Mimo niekorzystnych własności używana jest iednak dość często z prostego powodu - jest tańsza od innych rodzajów pamięci.

Static RAM

Pamięć statyczna RAM (Static RAM) jest alternatywą o lepszych własnościach użytkowych (mniejszy czas dostępu - ok. 20 ns) w stosunku do DRAM. Zawartość pamięci SRAM jest stała, statyczna - nie wymaga ona ciągłego odnawiania, o ile jest zasilana napięciem. Konsekwentnie, nie wymaga ona odświeżania, a jej odpowiedź na zażądanie danych przez procesor jest krótsza niż dla DRAM. Pamięć typu SRAM jest kosztowniejsza od DRAM i na dodatek pobiera większą moc.

Szybkość

Szybkość działania obwodów pamięciowych RAM jest określona przez czas opóźnienia pomiędzy chwilą otrzymania przez te obwody adresów komórek pamięci, a momentem dostarczenia pożądanych danych. Jest to tzw. czas dostępu mierzony w nanosekundach (ns to miliardowa część sekundy) przy czym przyjmuje się, że pamięci o czasie dostępu poniżej 60 ns są uważane za szybkie, zaś powyżej 80 ns za wolne. Typowe wartości czasu dostępu to; 70 ns dla pamięci typu DRAM i 20 ns dla pamięci SRAM.

Jaka właściwie powinna być szybkość pamięci RAM? Zależy to od szybkości i konstrukcji procesora i obwodów współpracujących. W ogólności, szybki procesor wymaga stosowania szybkiej pamięci RAM. Pamięć typu RAM powinna odpowiadać co najmniej tak szybko na życzenia procesora, jak szybko spodziewa się on uzyskać odpowiedź. Jeszcze szybsza odpowiedź nie przeszkadza w pracy CPU, ale niepotrzebnie zwiększa koszty komputera.

W świecie idealnym opóźnienie obwodów pamięci RAM nie powinno przekraczać czasu, który zużywa procesor na zakończenie cyklu pracy. Jeżeli częstotliwość pracy procesora wynosi np. 25 MHz (25 mln cykli/s), to opóźnienie pamięci RAM nie powinno przekraczać wartości 40 ns (1/25 mln). Należy jednak zaznaczyć, że pamięć RAM 40 ns jest dość droga i niezbyt często stosuje się ją w komputerach PC. Odpowiednio szybsze procesory powinny współpracować z coraz szybszymi pamięciami RAM. Na przykład CPU 33 MHz wymaga 30 ns RAM, 50 MHz - 20 ns RAM.

Są trzy techniki pozwalające na pracę CPU z wolniejszymi układami RAM - wprowadzenie stanów oczekiwania (wait states), stosowanie pamięci podręcznej (cache) i przeplotu pamięci (interleaving).

Wait states

Technika ta (najtańsza ze stosowanych) każe po prostu czekać procesorowi na odpowiedź układów RAM. Jeżeli np. czas dostępu pamięci RAM jest dwa razy większy od cyklu procesora, to musi on czekać na nią przez dodatkowy cykl swej pracy. Wszystkie dodatkowe cykle CPU wykorzystane na oczekiwanie, są określone mianem stanów oczekiwania (wait states). W przypadku procesora CPU 25 MHz, który powinien pracować z układami RAM 40 ns, wstawienie pojedynczego stanu oczekiwania za cyklem dostępu do pamięci zwiększa czas oczekiwania na odpowiedź do 80 ns. Dwa dodatkowe stany oczekiwania umożliwią użycie pamięci RAM o czasie dostępu 120 ns. Niestety, w czasie stanu oczekiwania procesor nie wykonuje żadnej innej pracy i fakt ten znacząco obniża szybkość pracy komputera.

Pamięć podręczna - cache

Technika "wait states" działa bardzo dobrze, ale nie jest zbyt dobrym rozwiązaniem. Powoduje rażące obniżenie prędkości działania procesora, szczególnie zauważalne, gdy korzysta on intensywnie z pamięci RAM, a prawdę powiedziawszy CPU prawie cały czas sięga do pamięci operacyjnej. A jednocześnie szybkie pamięci RAM są bardzo kosztowne. Stosowanie pamięci cache jest najlepszym obecnie rozwiązaniem, pozwalającym na współpracę szybkiego CPU z pamięcią RAM i w gruncie rzeczy jest to kompromis pomiędzy techniką "wait state", a stosowaniem drogiej i szybkiej pamięci RAM.

Pamięć typu "cache" składa się z niewielkiej (przeważnie 8- 256 kB), bardzo szybkiej pamięci. Na tyle szybkiej, że pozwala procesorowi na dostęp do pamięci i uzyskanie odpowiedzi przy jego pełnej prędkości. Ze względu na szybkość jest to pamięć typu SRAM, stąd też czasami używane jest określenie "SRAM cache".

Szybka pamięć cache przechowuje najczęściej odczytywaną i zapisywaną w czasie pracy CPU kopię porcji danych, przepisaną z wolniejszej pamięci głównej. Cała pamięć komputera jest zbudowana z układów DRAM, co oznacza, że gdy jakieś dane z pamięci głównej są dostarczane do CPU, stosowana jest technika "wait states". Kiedy jednak jakaś potrzebna informacja jest przechowywana w pamięci cache, dostęp do pamięci głównej nie jest potrzebny. CPU uzyskuje tę informację z pamięci cache w swej pełnej szybkości.

Jak często procesor sięga do powolnej, głównej pamięci lub małej, ale bardzo szybkiej pamięci cache, zależy od rozmiarów pamięci cache i, co najważniejsze, od rodzaju programu, który zastał uruchomiony. W wielu przypadkach zewnętrzna pamięć cache o wielkości 8 kB powoduje zwiększenie tempa wykonywania programu o 90% - co oznacza, że 90% dostępu do danych w pamięci głównej jest wykonywane za pośrednictwem pamięci cache. Warto dodać, że wewnetrzna cache stosowana przez Intel w układach 486DX ma również pojemność 8 kB, ale jest o wiele wydajniejsza, bo kontaktuje się z resztą procesora przez szynę wewnętrzną o szer. 128 bitów.

Większe pamięci typu cache, np. 256 kB oferują efektywną szybkość dostępu od 99% do 99,99%. Tak więc niewielka pamięć typu cache powoduje to, że duża część pamięci głównej jest z punktu widzenia procesora bardzo szybka. Według PC Magazine z lipca '92 r. cache 64 kB jest wystarczająca dla komputerów 486/33, zaś cache 256 kB należy stosować dla 486DX/50 MHz.

Praca z przeplotem pamięci

Trzecia z technik adaptująca powolne pamięci RAM - interleaving - swą największą popularność osiągnęła kilka lat temu w konstrukcjach minikomputerowych. Dla jej stosowania podzielono pamięć na dwa tzw. banki pamięci - jeden przechowuje dane umieszczone pod adresami parzystymi, drugi - nieparzystymi. Ponieważ większość dostępów do pamięci jest sekwencyjna, technika przeplotu pamięci powoduje "sięganie" do dwóch banków pamięci RAM na przemian. W tym samym czasie, w którym następuje sięganie do jednego z banków pamięci, specjalne obwody sięgają jednocześnie do następnego adresu, umieszczonego w drugim banku. O ile dostęp CPU do pierwszych danych wymaga zastosowania jednego lub więcej cykli "wait states", to dane kolejne są już dostępne. Jest to tzw. przeplot dwukrotny. W praktyce (dotyczy to minikomputerów) stosuje się przeplot pamięci 2, 4, a nawet 8-krotny. Technika interleaving przyspiesza działanie RAM, o ile dane są przechowywane sekwencyjnie, tj. w komórkach kolejno po sobie zaadresowanych. Stosowana jest w komputerach PC rzadziej w porównaniu z metodą pamięci cache.

Dlaczego staramy się poprzez tak wyrafinowane techniki dostosować się do wolnych czasów dostępu pamięci DRAM. Odpowiedzią są ceny - 1 MB SIMM dla PC zawierający 9 kości DRAM 60 ns kosztuje 41 USD, 8 kBx8 SRAM 15 ns - 3,59 USD (podano ceny det. wg cennika z 30 IV '93 firmy "T. Chlebowski", Warszawa, tel. 41 41 15, są to ceny uwzględniające podatek graniczny i koszty transportu do Polski, korzystające z dobrodziejstw kontyngentu bezcłowego). Po przeliczeniu na jednostkę pamięci, ceny SRAM są ponad 10 razy większe niż DRAM!

Organizacja pamięci RAM

Kości pamięci RAM (w obudowach DIP, używanych potem w konstrukcjach modułów SIMM) są zorganizowane w następujący sposób - 64kBx1, 256kBx1, 1MBx1, 4MBx1 i 16MBx1, a także 256kBx4, 1MBx4, 4MBx4. Dziewięć 1-bitowych układów DIP może zapewnić 9 bitów potrzebnych dla jednego bajta (8 na dane i jeden do sprawdzania parzystości). Ten sam cel spełnią dwa 4-bitowe układy plus jeden 1-bitowy. Konstrukcja komputera lub odpowiedniej płytki powinna określić, której z podanych kombinacji powinniśmy użyć.

Oznaczenie 256kBx9 informuje, że moduł pamięci RAM posiada 256 tys. komórek, z których każda liczy 9 bitów (8 na dane i 1 określający parzystość). Kiedy wybieramy odpowiednie układy RAM, musimy upewnić się, że te dwie liczby będą zgodne z danymi naszego komputera. Pośród SIMM-ów i SIP-ów znajdziemy natępujące układy pamięciowe - 256kBx9, 1MBx9, 4MBx9 i 16MBx9.

Niektóre najnowsze, 72-złączowe karty SIMM mogą być oznaczone - 1 MBx36 i 4 MBx36. Oznacza to, że o ile układ 1MBx9 zawiera 1 MB, to pamięć 1MBx36 ma 4 MB pojemności. Jeden moduł SIMM typu x36 zapewnia połączenie 32-bitowe z CPU, dodatkowe 4 bity służą do kontroli parzystości.

Banki pamięci

Współczesne CPU operują 16-, 32- i 64-bitowymi danymi. Jednocześnie większość oferowanych pamięci SIMM zapewnia użycie tylko 8-bitowych komórek. Dla większej komplikacji niektóre CPU, które operują na 32-bitowych danych, komunikują się z pamięcią RAM 16-bitowymi porcjami. Aby te różnice pomiędzy konstrukcją CPU a RAM załagodzić, grupuje się pamięci RAM w większych zespołach zwanych bankami pamięci. Grupa taka dostarcza odpowiednią liczbę bitów dla CPU.

Dla przykładu rozważmy układ CPU przesyłający 32-bity do pamięci składającej się z SIMM 4MBx9. Ilość bitów oferowana przez jeden moduł SIMM jest zaledwie czwartą częścią potrzeb CPU. Wynika stąd konieczność instalacji czterech SIMM w jednym banku pamięci, zapewniającym 32 bity. Na płycie systemowej powinniśmy umieścić w odpowiednich gniazdach 4 moduły SIMM 4MBx9.

Jeżeli wykonujemy tę czynność samodzielnie, nie zapomnijmy, że moduły SIMM są wrażliwe na ładunki statyczne (jedna iskra może bezpowrotnie zniszczyć nową pamięć) oraz, że po wymianie powinniśmy "powiedzieć" komputerowi o tym co zrobiliśmy. Czasami wymaga to przestawienia zwór na płycie systemowej, czasem należy zaingerować w set up komputera, zapisujemy w pamięci CMOS. Upgrade pamięci RAM powinien być wykonywany ostrożnie i ściśle wg wskazań dokumentacji technicznej komputera. Już po dołożeniu pamięci i uruchomieniu komputera, wystarczy użyć polecenia MEM (dla DOS 5.0 lub nowszych wersji), aby przekonać się, czy nowa

przestrzeń życiowa dla aplikacji Windows stała się faktem.

Podajemy poniżej typy CPU i szerokość szyny pamięci (liczba porcji bitów przesyłanych do/i z pamięci RAM). Szerokość banku pamięci powinna być taka sama jak szyny pamięci.

Typ CPU szyna pamięciowa/bank pamięci

80286 16

80386SX 16

80386DX 32

80486 32


TOP 200