16-07-2003
TwinMOS PC3200 M.Tec, TwinMOS PC3200 TwinMOS, TwinMOS PC2700 Elixir

Pamięci, czyli komputerowa skleroza...
Od najdawniejszych czasów wszelkim maszynom obliczeniowym
potrafiącym wykonywać bardziej skomplikowane działania towarzyszą układy
pamięci. Onegdaj w wielkich, szafowych komputerach wykorzystywano pamięci
oparte na rdzeniach ferrytowych - dość szybkie jak na tamte czasy, lecz o
niewielkich pojemnościach. Inną stosowaną technologią były układy rtęciowe - a
raczej długie rury wypełnione tym płynnym metalem. Oczywiście oba wyżej
wymienione rodzaje pamięci nie znalazły zastosowania w miniaturowych komputerach osobistych.
Prawdziwym kamieniem milowym dla układów zapamiętujących dane było nie tyle
wynalezienie tranzystora w 1948, lecz opracowanie w latach 60. XX wieku metody
ich utrwalania i wytrawiania w krzemie. To właśnie dzięki temu procesowi, możemy
cieszyć się dzisiejszymi mikroprocesorami oraz układami RAM.
Zapewne większość z Was wie, że pamięci dzielimy na RAM (Random
Access Memory - pamięć swobodnego dostępu) oraz ROM (Read Only Memory - pamięć
tylko do odczytu). Wpierw zajmiemy się tą drugą. Dla danych składowanych w
układach ROM nie ma znaczenia, czy podłączone jest napięcie - dane pozostaną
zapisane. Właśnie dlatego ROM zwany jest także pamięcią nieulotną (Non-Volatile).
Aby zaprogramować kość PROM lub ROM należy posłużyć się specjalnym narzędziem -
programatorem. Jeśli chcemy zmienić zawartość już zapisanych danych, nie uda nam
się to. Należy wówczas pozbyć się starego układu i zastąpić go innym, który
ponownie zaprogramujemy. Pamięci PROM i ROM zostały bardzo szybko wyparte przez kości
typu EPROM i EEPROM. Te pierwsze (Eraseable Programmable Read Only Memory)
można kasować po zaprogramowaniu. Odbywa się to w dość dziwny sposób - do
specjalnego, przezroczystego okienka przykłada się lampę emitującą światło
ultrafioletowe - powoduje to rozładowanie układu i możliwość jego ponownego
zapisania. Drugi rodzaj, EEPROM (Ellectrically Eraseable PROM), można
programować wielokrotnie bez użycia specjalnych narzędzi. Kasowanie i zapis
odbywa się za pomocą prądu o wyższym napięciu, co jest o wiele wygodniejsze niż
używanie lamp ultrafioletowych. Nieulotna pamięć ma wiele zastosowań - od kości
przechowujących BIOS, po karty Flash dla aparatów fotograficznych. To by było na tyle, teraz kolej na RAM.
Random Access Memory - pamięć o swobodnym dostępie
wykorzystywana jest do przechowywania danych które mają być szybko dostępne dla
procesora. Zasadniczo pamięci RAM dzielimy na dynamiczne DRAM i statyczne SRAM.
Układy SRAM (Static RAM), aby określić wartość danej z komórek pamięci,
wykorzystują tranzystory. Tranzystory nie mają ładunku elektrycznego, który
trzeba by odnawiać. Poza tym, SRAM jest sporo szybszy od dynamicznie
odświeżanego DRAMu. Mimo to nie stosuje się powszechnie tych kości - dlaczegóż
to? - zapewne spytacie. Otóż ten typ pamięci jest bardzo drogi - jedna komórka pamięci
składa się z czterech tranzystorów i dwóch oporników, dla porównania do
utrzymania jednego bajta w DRAMie potrzeba jedynie tranzystora i kondensatora.
Wnioski do wyciągnięcia pozostawiam Wam, drodzy czytelnicy.
Drugim powszechnie stosowanym we współczesnych komputerach
rodzajem RAMu jest DRAM. Kości tego typu wymagają odświeżania - logiczne 0 lub 1
przechowuje w nich miniaturowy kondensator czyli innymi słowy bateria. A że
baterie lubią pozbywać się swojego ładunku (przy odczycie, bądź też po
określonym czasie), toteż trzeba je ładować. Każdy z taktów pamięci to właśnie
takie ładowanie. Wyobraźcie sobie - 200 000 000 cykli na sekundę (DDR
PC3200) - daje to wspaniały obraz zaawansowania, jaki osiągnęła współczesna
technika. Układ pamięci DRAM możemy sobie wyobrazić jako ogromną szachownicę.
Każda z komórek pamięci ma swój adres, składający się z numeru kolumny i
wiersza. Aby uzyskać wartość komórki, procesor musi przesłać żądanie składające
się z adresu wiersza, a następnie adresu kolumny. Po tych czynnościach, w
buforze kontrolera pamięci znajdą się potrzebne dane, które zostaną przekazane
bezpośrednio do pamięci podręcznej jednostki centralnej, skąd zostaną pobrane do
dalszego przetwarzania. Tak w skrócie przedstawia się metodyka działania układów
RAM.
Pierwszymi powszechnie stosowanymi modułami pamięci
(wcześniej były jedynie luźno wkładane kości) były 30-pinowe SIMMy (Single
Inline Memory Module) o szerokości 8 bitów. Szerokość magistrali (w tym
przypadku owe 8 bitów) to ilość danych, jaką można przesłać w jednym takcie.
Ówcześnie stosowane procesory (386, 486) posiadały 32 bitową magistralę danych,
co zmuszało do obsadzenia aż czterech identycznych SIMMów, aby uzyskać poprawną
pracę. Następnym typem pamięci, jaki pojawił się na rynku, były moduły o 72
wyprowadzeniach. Posiadały 32 bitową szynę, do działania trzeba było obsadzić
gniazda dwoma identycznymi modułami. Spowodowane było to zwiększoną (wobec i486), 64 bitową
szerokością magistrali królującego wtedy procesora Pentium. Dostępnych było
kilka rodzajów DRAM: Fast Page Mode i EDO. Różniły się głównie sposobem
aktywacji linii adresowych podczas odczytu.
Mała rewolucja nastąpiła wraz ze wprowadzeniem 168 pinowych
modułów DIMM (Dual Inline Memory Module). Od tej pory nie było potrzeby
instalowania pamięci w parach, a mieszanie kości o różnych pojemnościach
przestało być problemem. Połączenie tego standardu z układami SDRAM, określanymi
wtedy jako 'lightning - fast' było bardzo udane. Pierwsze SDRAMy taktowane były
częstotliwością 66MHz, synchronicznie z FSB pierwszych Pentium II i Celeronów.
Wprowadzenie Pentium II na jądrze Deschutes pracującego z FSB 100MHz pociągnęło
za sobą premierę układów wytrzymujących taktowanie 100MHz. Dalsze usprawnienia,
wprowadzenie Pentium III i Athlona wymusiły na producentach stworzenie kości
mogących pracować z częstotliwością 133MHz. Była to najwyższa częstotliwość
SDRAMów w zastosowaniu jako pamięci RAM dla procesora. W kartach graficznych
układy te osiągały nawet 200MHz.
Tymczasem na horyzoncie pojawiły się SDRAM DDRy - 184 pinowe
moduły, zaopatrzone w kości pamięci potrafiące przesyłać dane zarówno po
rosnącym jak i opadającym zboczu sygnału taktującego - pamięci DDR 400 w rzeczywistości
napędzane są zegarem 200MHz, choć ich przepustowość teoretyczna rzeczywiście odpowiada SDR'om 400MHz. Po prostu - magia liczb. W międzyczasie przez rynek przewinął się
RAMBUS ze swoimi RDRAMami. Można je scharakteryzować kilkoma słowami: wysoko
taktowane, drogie, z dużymi opóźnieniami. Bardzo dobrze, że umowa między tą
firmą a Intelem już się skończyła, bo do dziś Pentium 4 oglądalibyśmy na
wystawach sklepów, a nie u użytkowników końcowych.
Timingi - utrapienie overclockerów
Opóźnienia, popularnie zwane timingami, to ilość taktów
pamięci pomiędzy wydaniem polecenia, a jego wykonaniem. Po wysłaniu adresu
kolumny do pamięci, procesor musi poczekać na wykonanie rozkazu przez RAM.
Dzięki ustawienim tych parametrów, pamięć może wysłać sygnał NOOP, dzięki któremu podczas
oczekiwania na kolejną paczkę danych, procesor będzie mógł zająć się innymi
zadaniami.
tCAS
CAS Latency (CL) to najczęściej chyba spotykane ustawienie
opóźnienia. Określa ono ilość cykli zegara magistrali, jakie upływają od wydania
przez CPU polecenia aktywacji wybierania kolumny, do mometu przekazania danych
do bufora w kontrolerze pamięci. Ma dość duży wpływ na wydajność, szczególnie
dla graczy, wyznających religię 3DMark i Quake III. W przypadku modułów DDR
współczynnik ten wynosi zazwyczaj 2.5, a ustawić go można w zakresie od 2.0 do
3.0 (choć w niektórych płytach możliwe jest ustawienie CL1.5 i CL1), w przypadku SDR'ów
zazwyczaj możemy ustawić CL2 lub CL3.
tRCD
Czas RCD (RAS to CAS delay) określa, ile taktów zegara
potrzeba po wykonaniu polecenia CAS i zlokalizowania w ten sposób potrzebnej
kolumny, do wykonania ładowania RAS. Przy niskich ustawieniach, daje małego, ale
widocznego 'kopa' systemowi.
tRAS
Czas RAS (Row Address Strobe) specyfikuje ilość cykli
wymaganych do wykonania komendy aktywacji jednego z banków pamięci, zanim
załadowanie adresu wiersza może zostać wykonane. Sam w sobie nie daje zbyt
dużego przyrostu wydajności przy ostrzejszych ustawieniach.
tRP
Parametr RP (RAS Precharge) to liczba taktów zegara, jaka
jest potrzebna do przywrócenia danym ich pierwotnego położenia, zamknięcia banku
bądź też ilość cykli wymagana do stronicowania pamięci przed wykonaniem
kolejnego polecenia aktywacji banku. Również nie ma zbytniego wpływu na
wydajność.
Bank Interleave
Ustawienie przeplotu poszczególnych banków pamięci - dzięki
czemu jeśli jeden z nich wykonuje polecenie, inne mogą zająć się czymś innym. W
tym wypadku, większe ustawienie jest zawsze szybsze. Bank Interleave daje dość
spory przyrost wydajności, szczególnie podczas zadań stricte pamięciowych.
Zawodnicy na bieżnię...
W dzisiejszym teście staną w szranki trzy moduły
dobrze znanej firmy TwinMOS. Dwa z nich pracują z efektywną częstotliwością
400MHz, natomiast trzeci zadowolić musi się niższym, 333MHz'owym taktowaniem.
Oczywistym nonsensem byłoby testowanie RAM'ów opartych o kości tego samego
producenta. Na szczęście nie popełniliśmy tego błędu - do redakcyjnego
laboratorium trafiły pamięci na chipach M.Tec, TwinMOS oraz Elixir. Jak
poszczególne ich rodzaje sprawują się w testach - wystarczy spojrzeć na wykresy.
Jeszcze tylko procedura testowania i sprzęt, na jakim przeprowadzano 'badania'.

Ustawienie zostawało uznane za stabilne, jeśli system
załadował się poprawnie, bezbłędnie wykonano 5 testów Memory Bandwidth z SiSoft
Sandra, 3 testy AIDA32 Read, 3 testy AIDA32 Write oraz 3DMark 2001 działał
nieprzerwanie w pętli przez godzinę. Taktowanie było podnoszone co 5MHz rzeczywistych. W
razie wystąpienia problemów, zmniejszano je o 3MHz. Jeśli problem ustępował,
podnoszono je o 1MHz. Ten sposób testów zapewnił dokładne uszeregowanie
potencjału overclockerskiego pamięci. Przy częstotliwościach do 222MHz włącznie, pamięci taktowano
synchronicznie. Wszelkie wyższe taktowania uzyskiwano zmniejszając szynę FSB do
wymaganego poziomu, natomiast mnożnik pamięci ustawiano na 120%. Wszystkie pomiary
dotyczące overclockingu
wykonywano przy włączonym trybie SingleChannel.
 |
Pamięci TwinMOS DDR 400 256MB
oparte na kościach... TwinMOS. Z oznaczeń na krzemowych chipach wyczytać
możemy, że czas dostępu to 5ns (1000/5=200MHz), a więc wszystko w jak
najlepszym porządku. Moduł jest jednostronny, posiada osiem kości, z
których każda potrafi pomieścić 32MB danych. CL 2.5 |
 |
TwinMOS DDR 400 256MB - tym
razem zastosowano kości M.Tec. Co ciekawe, ich oznaczenia praktycznie
pokrywają się z TwinMOS'ami, różnica to zaledwie jedna literka. Czas
dostępu to również 5ns. Moduł jest jednostronny, wyposażono go w 8 kości w
obudowach TSOP. CAS Latency dla tych pamięci producent również oszacował
na 2.5. |
 |
Moduł TwinMOS DDR PC2700
256MB oparty jest na kościach firmy Elixir. Czas dostępu wyprodukowanych
na Tajwanie chipów to według producenta 6 nanosekund. Daje nam to
taktowanie równe 166,6MHz, czyli dokładnie tyle, ile muszą
posiadać pamięci DDR 333. Ten produkt, tak jak dwa powyższe, jest
jednostronny, posiada 8 kości. TwinMOS uznał, że CAS Latency dlań odpowiednie to
2.5. |
Chwila prawdy
|
 |
|
Pierwszy test - pierwsze zaskoczenie. Przy mocno
wyżyłowanych ustawieniach, oba moduły oparte o kości TwinMOS i M.Tec radzą
sobie bardzo dobrze, po podniesieniu napięcia nawet 450MHz nie jest dla
nich problemem. Najciekawiej zachowuje się Elixir - przy CL 2 działa jedynie z napięciem
2.9V oraz taktowaniem pamięci ustawionym na 50% przy 133MHz FSB.
Mały koszmarek.
|
|
 |
|
Test numer dwa - sytuacja powtarza się. Wyraźnie widać,
że Elixir nie radzi sobie zbyt dobrze. Ciekawym zjawiskiem jest bardzo
mały wzrost możliwości overclockingu przy podniesieniu napięcia z 2.7V
do 2.9V. Jedynie 5-7MHz różnicy. Podczas przeprowadzania procedury znów
byłem zaskoczony - Elixir nie działał stabilnie przy 2.5V nawet o 1MHz
więcej od dedykowanych 333MHz. Coś czuję, że wprowadzając te pamięci na
rynek, producent może narobić sobie więcej szkody, niż pożytku.
|
|
 |
|
Muszę przyznać, że chyba nic nie będzie już w stanie
mnie zaskoczyć. Przy CAS Latency równym 3 taktom, Elixir nie działa. Bez
znaczenia jest napięcie i inne timingi - po prostu nie i tyle. Podczas
startu płyta zatrzymuje się na kodzie POST C1 - oznaczającym błąd pamięci.
Potencjał pozostałych dwóch modułów po ustawieniu najwolnieszych możliwych timingów
nie wzrósł zbytnio. Te kilka MHz nie zrekompensuje spadku
wydajności, jaki spowodują tak luźne ustawienia.
|
Wydajność
W tej części recenzji zajmiemy się porównaniem wydajności w
trybie Single Channel i Dual Channel. Czy jest to tylko chwyt marketingowców
nVidia? Czy może rzeczywiście dwukanałowy tryb pracy pamięci daje zauważalny
wzrost wydajności? Już zaraz się okaże. Poza tym, na porównaniu dostrzec można
będzie, jak asynchroniczne taktowanie pamięć - FSB wpływa na szybkość całej
maszyny. Jeszcze słówko na temat procedury. Przy testach z FSB 133MHz, mnożnik
wynosił 12,5, co dawało 1667MHz. Podczas pracy z FSB 166MHz, częstotliwość ta
mnożona była 10x, co, jak łatwo obliczyć, daje również około 1667MHz. W trakcie
sprawdzania wydajności z 200MHz szyną, mnożnik równy był 8,5 - taktowanie
procesora: 1700MHz. W najszybszym, 222MHz trybie FSB, szybkość ta była mnożona
przez 7,5, co dawało około 1665MHz.
|
 |
|
Pierwszy z testów wydajności - syntetyczny benchmark
SiSoft Sandra MAX3. Widać w nim dość wyraźnie, że w trybie DualChannel,
szczególnie z wyższymi FSB i asynchronicznie (niżej) taktowaną pamięcią,
zysk jest całkiem spory, sięgający nawet 100MB/s. Co ciekawe, różnica
między szerokością magistrali niemalże się zatarła przy szynie 222MHz i
synchronicznie taktowanej pamięci. Różnica wyniosła zaledwie 15MB/s.
Ustawienie prędkości DDR'ów powyżej zewnętrznego taktu procesora mija się
z celem - w praktycznie każdym teście różnica była marginalna. Jeśli
jesteśmy zmuszeni przez parametry dostępnych nam kości ustawić szybkość
pamięci na mniej niż 100% FSB, tryb DualChannel może przyczynić się do
niewielkiego, lecz zauważalnego przyspieszenia.
|
|
 |
|
Drugi, a zarazem ostatni z testów wydajności
obrazuje ilość uzyskanych klatek na sekundę w bardzo czułej na prędkość i
opóźnienia pamięci grze Quake III. We wszystkich pomiarach okazało się, że
najlepszy wynik uzyskano podczas synchronicznego ustawienia pamięci,
zarówno w Single Channel jak i w Dual Channel. Jedynym wyjątkiem od tej
reguły jest test z FSB 133 z pojedynczym kontrolerem DDR - tutaj
asynchroniczny takt 133/200 uzyskał dwie klatki więcej od synchronicznego
133/133. Zauważyć można duży spadek wydajności podczas działania RAMu z
prędkością mniejszą od FSB. Spadek ten wynosi nawet około 40 ramek w
pomiarze z szyną procesora 166. Mniejszą wydajność zaobserwowaliśmy
również przy taktowaniu wyższym - również z procesorem działającym przy
FSB 166. Reasumując, dla największej ilości FPS'ów pamięć trzeba taktować
synchronicznie. |
Podsumowanie
TwinMOS potrafi wyprodukować bardzo dobre pamięci w
przystępnej cenie. Niestety, potrafi też stworzyć bubla, zupełnie
niepodkręcalnego i niemalże nieczułego na wszelkie zabiegi mające zmienić
kiepski overclocking. Moja hipoteza potwierdziła się - M.Tec i TwinMOS to
praktycznie identyczne kości. Podkręcają się tak samo (czyli bardzo ładnie),
działają bezproblemowo i mogę je z czystym sumieniem polecić każdemu -
opłacalność zakupu jest bardzo duża. Często ludzie inwestują grube pieniądze w
zakup rzekomo wspaniale nadtaktowalnych pamięci - zazwyczaj niepotrzebnie. Za
mniejszą cenę uzyskujemy porządnie wykonany, po prostu dobry produkt. W obecnych
czasach, gdy liczy się każda złotówka, wszelakie zakupy warto przemyśleć
przynajmniej dwa razy.

Pamięci TwinMOS DDR 400 TwinMOS oraz TwinMOS DDR 333 Elixir dostarczyła firma APCOM z Wołowa.
Pamięci TwinMOS DDR 400 M.Tec dostarczył recenzent ;-).
Autor: Maciej 'Kangur' Wieńszczak Komentarze (40) |