Turbomemo

W historii pecetów często zdarzało się, że pamięć operacyjna stanowiła wąskie gardło dla całego systemu. Działo się tak dlatego, że kolejne generacje procesorów były zawsze w stanie przetworzyć znacznie więcej danych, niż mogła im dostarczyć pamięć RAM. Nic więc dziwnego, że niemal natychmiast po pojawieniu się nowych jednostek centralnych zmieniał się typ wykorzystywanych modułów pamięci – FPM-RAM (Fast Page Mode RAM), EDO-RAM (Extended Data Out RAM), SDRAM (Synchronous Dynamic Random Access Memory), RDRAM (Rambus Direct RAM) czy wreszcie DDR SDRAM (Double Data Rate SDRAM).

Dziś te ostatnie układy, pomimo ich ciągłego przyśpieszania od pierwotnego modelu DDR200 do niezatwierdzonego jeszcze oficjalnie standardu DDR566, coraz częściej okazują się za wolne. Sposobem wykorzystywanym w chipsetach nForce2 i Intel i875P na poszerzenie pasma są dwukanałowe kontrolery pamięci, które też mają swoje ograniczenia. Któż zatem przejmie schedę po modułach DDR?

Trzech pretendentów

Do wyścigu o przejęcie “spadku” po pamięciach DDR przystąpiło kilka firm – Rambus ze swoimi pamięciami XDR DRAM (eXtended Direct Rambus DRAM), znanymi do niedawna pod kryptonimem Yellowstone, Kentron i VIA z układami QBM DRAM (Quad Band Memory DRAM) oraz producenci zrzeszeni wokół konsorcjum standaryzującego JEDEC wraz z kośćmi DDR2. Wszystkie te konstrukcje mają przesyłać kilkakrotnie więcej danych w ciągu sekundy niż obecnie najbardziej “wyżyłowane” moduły DDR566.

W tym miejscu warto zadać pytanie, jak się udało konstruktorom pamięci osiągnąć tak wysoką wydajność. By na nie odpowiedzieć, przyjrzyjmy się, od czego uzależniona jest tzw. przepływność pamięci, czyli parametr określający maksymalną ilość danych przesyłanych w ciągu sekundy do lub z pamięci RAM.

O przepływności decydują trzy czynniki – szerokość szyny pamięci, częstotliwość jej pracy oraz liczba bitów przesyłanych w jednym takcie zegara. Innymi słowy, chcąc obliczyć maksymalną wydajność modułu DDR400 (PC3200), trzeba pomnożyć rzeczywistą częstotliwość jego pracy (200 MHz) przez szerokość szyny danych (64 bity) i wreszcie przez 2, gdyż dzięki technice Double Data Rate dane przesyłane są dwukrotnie w trakcie jednego cyklu – zarówno przy wznoszącym, jak i opadającym zboczu sygnału zegarowego. Przepływność dla modułów DDR400 wynosi zatem 3,2 GB/s – stąd ich często używana nazwa PC3200.

Jak łatwo zauważyć, wydajność pamięci można zwiększyć, stosując większą częstotliwość pracy, szerszą szynę danych czy wreszcie zwiększając liczbę bitów przesyłanych w trakcie jednego cyklu zegarowego. Oczywiście, najlepiej byłoby zastosować wszystkie trzy sposoby jednocześnie. W praktyce nie jest to jednak takie łatwe, choćby ze względu na zachowanie kompatybilności z pozostałymi podzespołami komputera. Sekretem wysokiej przepływności pamięci DDR2, QBM DRAM oraz XDR DRAM jest odpowiednie połączenie trzech wymienionych metod zwiększenia prędkości pracy.

Po pierwsze – zegar

Najprostszym sposobem na zwiększenie szybkości działania pamięci jest podniesienie częstotliwości ich taktowania. Ta metoda nie zawsze jest dobra, bo oprócz problemów z kompatybilnością pojawiają się kłopoty z odprowadzeniem ciepła, a i sama produkcja modułów dostosowanych do pracy z “wysokim zegarem” jest dość trudna i kosztowna. Jednym ze sposobów na obejście części z wymienionych tutaj trudności jest maksymalne uproszczenie konstrukcji samych kości pamięci. Tak właśnie postąpiła korporacja Rambus, projektując pamięci RDRAM i bezpośrednio na nich bazujące układy XDR DRAM.

Aby można było zastosować zegar pracujący z częstotliwością 400 MHz lub nawet 667 MHz, konstruktorzy z firmy Rambus podzielili pojedynczą matrycę typowej pamięci DRAM na osiem mniejszych, niezależnych części, dołączonych do jednej wspólnej, zaledwie 16-bitowej szyny danych. Kilkakrotnie wyższa przepływność w porównaniu do klasycznej pamięci SDRAM (patrz: $(LC11152:Artykuł przedstawia architkturę pamięci DRAM, SRAM, SDRAM, Rambus, Virtual Cannel Memory oraz DDR SDRAM)$) niwelowana jest przez znaczne opóźnienia w przesyłaniu danych. Przestoje te powstają na skutek sekwencyjnego odczytu danych z poszczególnych matryc i zanim rozpocznie się transmisja danych, informacje z różnych części modułu muszą zostać zebrane w specjalnym buforze, ułożone w pakiet i dopiero wówczas przekazane dalej.

Z kolei pamięci DDR2 oraz QBM DRAM bazują na architekturze dzisiejszych układów DDR, przez co nie będą one w stanie pracować z częstotliwościami takimi jak układy RDRAM i XDR DRAM. Dla tych modułów DDR rzeczywista szybkość pracy rzędu 300-350 MHz stanowi już poważny problem. Niemniej niższa prędkość zegara umożliwia korzystanie z szerszej szyny komunikacyjnej.

Poszerzona autostrada

Drugim ze wspomnianych sposobów przyspieszenia działania pamięci RAM jest właśnie zwiększenie szerokości szyny danych. Często wykorzystywaną metodą – i, co ważne, niewymagającą zmian w samej architekturze układów DDR – jest posłużenie się kontrolerem dwukanałowym, który rozdzieli lub połączy w całość przesyłane paczki danych. W takim przypadku każdy ze standardowych 64-bitowych modułów wykorzystywany jest niezależnie, a podsystem pamięci widziany jest tak, jakby był on rzeczywiście 128-bitowy. Przepływność RAM-u wzrasta zaś dwukrotnie i zamiast 3,2 GB/s dla pamięci DDR400 uzyskamy 6,4 GB/s.

Co ciekawe, to nie moduły DDR, a pamięci RDRAM zasłynęły już kilka lat temu z dwukanałowego trybu pracy. W tym przypadku, z racji wykorzystywania w Rambusach zaledwie 16-bitowej szyny danych, do poprawnej współpracy z 32-bitowym procesorem wymagane było jednoczesne zastosowanie dwóch modułów pamięci. Użytkownikom RDRAM-ów rozwiązanie to kojarzyło się jednak nie tyle z podwojeniem przepływności, co z podwojeniem i tak już wysokiego kosztu zakupu pojedynczego modułu pamięci RDRAM.

Obecnie sprzedawane są już 32-bitowe pamięci RDRAM, które nie są niczym innym, jak tylko dwoma połączonymi modułami 16–bitowymi. Na początku pamięci XDR DRAM także korzystać będą z zaledwie 16-bitowej szyny danych, w przyszłości jednak pamięci te otrzymać mają najpierw 32-, a następnie 64-bitową magistralę komunikacyjną.

Więcej:bezcatnews