reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Levné, drahé paměti - jaké koupit?

1.11.2005, Eagle , recenze
Levné, drahé paměti - jaké koupit?
Na trhu se vyskytuje řada různých typů pamětí. Hlavními rozdíly jsou frekvence, časování a cena. Poslední jmenovaný faktor se u modulů stejné kapacity může lišit až faktorem 2x či více. Je však otázkou, nakolik dokážou rychlejší paměti ovlivnit výkon.
Něco málo o časování a frekvenci

Pokud pomineme rozdílné technologie (FPM, EDO, SDRAM, DDR SDRAM...), liší se paměti v zásadě pouze frekvencí a časováním. Ale co to vůbec je? Tyto dva faktory dohromady určují, jaká je reálná rychlost pamětí. Rychlost pamětí se dělí na rychlost vyhledávání dat (zpoždění - latency) a na rychlost burst přenosů.


Technologie pamětí DRAM je ale v principu identická již mnoho desítek let. Základní deska obsahuje řadič pamětí, jehož úkolem je komunikovat s paměťovými čipy - jeden modul DIMM se obvykle skládá z osmi či šestnácti takových paměťových čipů. Řadič vyvolává příkazy a paměť je realizuje.

Rychlost vyhledávání

Rychlost vyhledávání je ovlivněna řadou faktorů. Datový prostor je organizován do banků, což jsou struktury definované určitým počtem řádek a sloupců. Aby bylo možné nalézt ty správná data, musí být napřed vybrán ten správný bank a následně musí dojít k vyhledávání řádku a sloupce.


K účelu vyhledávání je definována řada příkazů. Délka těchto příkazů je uváděna v hodinových cyklech (T). Tak například 3T znamená tři hodinové cykly, 2.5T pak dva a půl hodinového cyklu. Cílem samozřejmě je dosáhnout co nejkratší doby vyhledávání, protože i počet hodinových cyklů má být ideálně co nejmenší. Dražší paměti se liší právě tím, že mají kratší dobu vyhledávání. Kratší v tomto případě znamená, že paměť dokončí operace rychleji, bez ohledu na nastavení, tedy bez ohledu na to, jak rychle jsou data skutečně čtena - je to tedy podobné jako například maximální rychlost automobilu.

Výrobci obvykle značí časování pamětí následovně:


Možné je ale i udávání hodnot obráceně, což více vyhovuje marketingovým požadavkům (první je položka CAS Latency, která je v propagačních materiálech zmiňovaná více než často):


Přestože toto značení neobsahuje veškeré parametry, udává ty nejdůležitější. Jinými slovy údaje poví o výkonu pamětí hodně. Řekněme si nyní něco o jednotlivých příkazech.


Po té, co je vybrán bank (matice dat), je nutné nejprve vybrat řádek. Paměťový řadič vyvolá příkaz Row Address Strobe (tRAS) - jinak také Minimum RAS Active Time (minimální čas po vyvolání stavu Active pro stabilizaci). Tato operace trvá běžně pět či více cyklů a v podstatě udává, za jak dlouho je řádek použitelný - vyhledaný a připravený. Následuje příkaz RAS to CAS Delay (tRCD), což je prodleva mezi hledáním řádku (RAS) a hledáním sloupce (CAS - Column Address Strobe), následovaný samotným vyhledáním sloupce, tedy operací CAS Latency (tCL). Po tomto vyhledání již jsou data přečtena.

Poznámka: V zápisu tCL značí písmeno "t", že se jedná o čas (anglicky time). Písmena "CL" jsou pak zkrácením slov CAS Latency. V některých publikacích se lze setkat i s obráceným použitím velkých a malých písmen - tedy například Tcl.

Poznámka č. 2: V řadě dokumentů se stejné operace nazývají jinak. Z toho důvodu doporučuji orientovat se podle zkratek jako tRAS než podle názvů.

Operace tRCD a tCL obvykle trvají dva či více cyklů. Po jejich skončení následuje příkaz Row Precharge (tRP), kterým se obnoví data ve čtených buňkách (v opačném případě by tato vyprchala). Tento příkaz také trvá obvykle dva či více cyklů a po něm následuje opět stav Active, který je výchozím stavem pro spuštění CAS.

Význam jednotlivých příkazů se značně liší a to zejména z toho důvodu, že při čtení nejsou vyvolávány ve stejném poměru. Pokud jsou například požadována data ve stejném řádku, stačí jen vyvolávat příkazy CAS Latency a po dodání dat Row Precharge, zatímco RAS již není zapotřebí. Naopak pokud chceme data z jiného řádku, je nutné znovu vyvolat příkazy Row Address Strobe a RAS to CAS Delay. Existuje však i řada dalších příkazů, které se uplatní ještě méně často:

Row Cycle Time (tRC) - Jedná se o čas mezi dvěma následnými příkazy tRAS, tedy za předpokladu, že je řádek ve stavu Active, ale zároveň nejsou čtena data. Z toho plyne, že tato doba je součtem tRAS a tRP.

Row Refresh Cycle Time (tRFC) - Doba po vyvolání REF (viz dále) a opětovným nastolením stavu Active, tedy doma obnovy refreshe dat v banku.

Situace se ještě více zkomplikuje v okamžiku, kdy jsou zapotřebí data z jiného banku. Paměťový řadič umí udržovat chod několika banků zároveň - novější řadiče obvykle umí více banků. Stále jsou ale takové matice, které aktuálně nejsou zapnuté. V okamžiku, kdy jsou vyžadována data z takové matice, je nejdříve nutné nějakou jinou matici uzavřít.

Row Active to Row Active Delay (tRRD) - Udává počet cyklů, které musí uplynout před přepnutím se na jiný bank za předpokladu, že tento jiný bank je již Active.

Některé řadiče umožňují také konfigurace dalších parametrů. Write Recovery Time (tWR) je doba, která musí uplynout po zadání zápisu před tím, než bude vydán příkaz Row Precharge. Pokud by byl tento zadán příliš rychle, budou obnovena data, která jsou příliš stará, tj. nestihne se zápis nových dat. Write to Read Delay (tWTR) pro změnu udává, kolik cyklů musí uplynout před tím, než je vyvolána operace čtení po té, co právě proběhl zápis. Obdobně Read to Write Delay (tRWT) značí prodlevu mezi čtením a následným zápisem.


Důležitým parametrem je také Refresh Rate (tREF). Paměťové čipy DRAM musí čas od času obnovovat veškerý svůj obsah, jinak se všechna data ztratí. Toto obnovování může probíhat po různě dlouhých okamžicích, udávaných v mikrosekundách (obvykle například 7.8µs). Délka je závislá na "hustotě" pamětí, tedy čím vyšší je kapacita čipu, tím musí být doba obnovování kratší, protože se musí vystřídat jednotlivé banky - čas totiž udává, za jak dlouho se má začít obnovovat další bank, nikoli jak dlouho se bude obnovovat jeden bank (od toho je zde čas tRFC). Refresh se totiž obvykle neprovádí u všech banků současně, ale na střídačku. Čím bude prodleva mezi obnovováním banků delší, tím méně refresh operací se za určitý časový okamžik stane. To tedy znamená, že se zvýší pravděpodobnost ztráty dat, zároveň ale také vzroste výkon. To z toho důvodu, že v průběhu obnovy dat je bank nepřístupný jakékoli operaci. Cílem je tedy provádět co nejméně těchto operací, ale stále zaručit zachování obsahu. Problém s poklesem výkonu se pak snaží řešit technologie zvaná Bank Interleave, která organizuje data prokládaně. Tím se zvyšují šance, že budou čtena data z banku, u nějž právě neprobíhá refresh. Bank Interleave může být různě intenzivní (2-way, 4-way...), kdy intenzivnější prokládání znamená vyšší výkon.

Poznámka: Narozdíl od většiny parametrů není možné měnit nastavení Bank Interleave z operačního systému - tím se totiž naruší struktura dat a dojde k zatuhnutí.



Vysokokapacitní 2GB modul s ECC je složen z dvakrát 16 + 2 čipů o kapacitě 512Mbit každý.


Důležitým příkazem ovlivňujícím výkon je také Command Rate. Toto nastavení udává, zda se příkazy budou vysílat v rámci jednoho či dvou hodinových cyklů. Parametr je ovlivněn nejen schopnostmi samotných pamětí, ale především jejich počtem - při větším počtu osazených modulů je často nutné používat dva hodinové cykly. Pomalejší nastavení významně snižuje výkon (až o desítky procent menší maximální propustnost), avšak u menšího počtu modulů je většinou možné použít časování rychlejší.

Specifikace pamětí DDR SDRAM dle organizace JEDEC vždy definují určité přípustné rozsahy pro jednotlivé parametry. Proto například CAS Latency definováno pro hodnoty 2T, 2.5T a 3T. Mnoho řadičů však nabízí i hodnotu 1.5T. Ta nemusí být stabilní. Podobné volby jsou i u ostatních příkazů a zejména řadič Athlonu 64 je na tato nastavení bohatý.


Jak už vyplývá z popisů výše, je měření dopadu na výkon u jednotlivých parametrů značně problémové. Největší dopad mají zmíněné čtyři parametry tRAS, tRCD, tRP a především tCL - jednoduše proto, že se používají nejčastěji. neboť vyhledávaná data se často nachází v rámci jednoho banku. U dalších je to ale často otázkou konkrétního programu. Program je totiž to, co určuje, odkud se budou číst data. Lokace čtených dat (resp. její rozdílnost od současné pozice) pak určuje, které všechny příkazy bude nutné vyvolat. Z hlediska měření celkového výkonu pamětí jsou patrně nejlepší hry a některé multimediální programy. Systetické testy jako STREAM (použitý v programech SiSoft Sandra i Everest) obvykle favorizují rychlost příkazů tCL a tRP a samozřejmě rychlost burst přenosů (viz dále).

reklama