Malý typovník pamětí
V minulém čísle jsme se krátce zastavili u základního chápání
principů pamětí RAM a několika historických komentářů.
Podrobnější rozbor chování paměti, zejména v rámci rozvrstvení
prvního megabajtu RAM, bude mít lepší smysl v nějakém "softwarově
orientované" článku. Nyní nadešel čas na typologii.
U počítačů, grafických karet i dalších komponent se můžeme setkat
s požadavky na celou řadu typů pamětí, většinou označovaných
poněkud nerozpoznatelnými akronymy. Ty jsou také typickým a často
opakovaným obsahem FAQ.
Najít v cenících typ paměti podle naší potřeby nebývá většinou
problém, aniž bychom nutně museli rozumnět, co vybíráme. Typické
položky jako "SIMM RAM 2Mbx32/70ns 4ch 1x16 (8MB)" ovšem
naznačují, že i v rámci jednoho typu paměti existuje jemné
a ještě jemnější dělení. To ve speciálních případech může např.
být původcem nestability vašeho počítače, pokud už vůbec
nabootuje. Rozdíly v cenách jednotlivých podtypů existují, jejich
markantnost ale klesá směrem k méně podstatným odchylkám.
Paměťové moduly jsou od dob von Neumanna tou druhou
nejdůležitější komponentou počítače, která vymezuje rychlost
a velikost spustitelných programů. Pamětí existuje velké množství
typů, přičemž si je pricipiálně můžeme rozdělit do dvou skupin:
pamětí dynamických a statických . Nás tady budou zajímat především
ty první, protože DRAM se používají nejen pro hlavní paměť
počítače, ale také pro grafické karty atd. Statické RAM (SRAM) se
typicky používají pro vyrovnávací paměti L2 (úrovně 2), které
leží mezi procesorem a hlavní pamětí, což něco napovídá o jejich
přístupových dobách (na úrovni 4--20 ns). Většinou by cache již
měla být na motherboardu v nějaké formě přítomna, protože výrazně
ovlivňuje výkonnost systému a uživatel si ji jen málokdy kupuje.
Dostupné jsou různé typy (Async SRAM, Sync SRAM, PB SRAM),
přičemž z hlediska podpory různých typů desek a obtíží s vysokými
frekvencemi jsou prozatím nejzajímavější PB SRAM.
Ale dost o statických pamětech a nazpátek k těm dynamickým.
Základní rozdělení těchto pamětí vzniklo z důvodu nutnosti
umisťovat integrované obvody jen určitým způsobem. Původně byla
paměť DRAM integrována přímo na motherboard v sadách po devíti
čipech. Tyto sady byly většinou čtyři, což dohromady dává magické
číslo 36 čipů, s výslednou kapacitou závisející na jejich
velikosti.
Zmíněné čipy -- označované jako DIP (Dual In-line Package) -- se
nakonec přesunuly na samostatné destičky, které se v rámci
paměťových slotů snadno vyměňují. A ač se s názvem DIP nemusíte
běžně setkat, zůstal tento typ čipu na zmíněných destičkách až do
dnešních dob.
A tady se hned dostáváme k dalším dvěma akronymům označujícím typy
destiček: SIP (Single In-line Package) a SIMM (Single In-line
Memory Module).
Geometrie
SIPy měly na spodní části hřebenovité kontakty, které se nesmírně
rády ulamovaly. Pro představu, podobné kontakty má dnes konektor
SCSI (a samozřejmě se již neulamují -- jen se rády ohýbají do
stran).
Méně nebezpečné SIMMy již dobře známe z dosavadních počítačů,
jejich prosazení bylo vlastně jen otázkou lépe navržených
plochých kontaktů na stranách karet (destiček). Abychom si to
ještě zkomplikovali, k dispozici jsou 30- a 72pinové SIMMy,
lišící se počtem kontaktů a především bitovou velikostí jejich
základní jednotky (8 a 32 bitů). Díky tomu se na počítačích
s procesory 386 a vyššími musejí 30pinové SIMMy instalovat po
čtveřicích, zatímco 72pinové to zvládnou i jednotlivě. Nicméně
u různých motherboardů stejně mohou nastat výjimky -- např.
některé modely vyžadují 64bitovou paměťovou sběrnici, a tudíž
i kompletní dvojice 72pinových SIMMů.
Zde je namístě zdůraznit, že tzv. SIMMy a DIMMy nejsou ničím
jiným než formou "obalu" či geometrickým formátem, v němž můžeme
najít obecně libovolný existující typ pamětí, kterým se ještě
budeme věnovat. Tradiční SIMMy jsou s nástupem modernějších
paměťových technologií nahrazovány právě moduly DIMM (Dual
In-line Memory Module), jež jsou jen logickým prokračováním růstu
počtu pinů a bitů. DIMMy jsou 64bitové a používají 168pinový
konektor. Výhody proti SIMMům jsou spíše instalační a prostorové.
Současné procesory jsou ovšem tak rychlé, že některé počítače
opět využívají dvojic DIMMů a paměťový subsystém se potom může
chovat jako 128bitový. Uvidíme, jak dlouho bude trvat, než se
objeví QIMMy (Quadro...). U DIMMů také občas nalezneme údaj
o napájení -- v počátcích se DIMMy vyráběly pro 5 V, dnes již
zřejmě naprosto převažují 3,3V varianty.
Tím jsme se dostali do stadia, kdy bychom typický ceníkový řádek
s popisem paměti měli rozluštit. (Viz příklad v úvodu -- "SIMM RAM
2Mbx32/70 ns 4ch (8MB)").
První bývá informace o obalu a tedy i tvaru kontaktů -- zda jde
o SIMMy či DIMMY --, potom následuje určení typu uvnitř použitých
čipů (RAM, EDO RAM, SDRAM RAM, apod.). Popis paměti dále typicky
pokračuje jakýmsi "násobením záhadných hodnot", které vychází
z uspořádání čipů/DIPů, a současně určuje výslednou velikost
a počet bitů paměti. V našem případě "SIMM RAM 2Mbx32/70ns"
znamená, že jde o paměť SIMM (RAM je zde určitě zkratkou pro FPM
RAM s přístupovou dobou 70 ns), která je 32bitová a její velikost
je 2 megabity x 32 bitů = 8 MB. Paměť může být 8-, 32-, 9-
a 36bitová, kde v posledních dvou případech jde o tzv. paměti
paritní, kde každý bajt provází "nadbytečný" devátý bit. Ten
nepřispívá k celkové velikosti, ale slouží k vnitřní kontrole
korektnosti obsahu -- s tímto typem se ale jako běžní uživatelé
setkáme jen výjimečně. (V případě 2 Mb x 36 bitů opět o výsledné
velikosti paměti platí, že je rovna 8 MB). S výpočty si naštěstí
nemusíme komplikovat život, protože výsledná velikost bývá
uvedena na konci popisu v závorce -- viz našich "(8MB)".
Pokud potřebujeme určit počet pinů daného SIMMu, lze říci, že
32 bitové mají 72 pinů, 8bitové 30 pinů. U 30pinových SIMMů má
přitom "násobení" hlubší význam: "2Mb x 8" znamená, že SIMM je
tvořen osmi 2Mbitovými čipy. 72pinové SIMMy mohou být seskládány
skutečně všelijak, proto prodejce může v označení uvádět i počet
čipů, oboustrannost paměti, apod. (např. položka 4ch v našem
příkladu, apod.) U DIMMů při dekódování postupujeme analogicky.
Bohužel realitou je, že produkty různých výrobců se mohou lišit
ještě mnohem podrobnějšími detaily, jako např. rychlostí
obnovování obsahu (refresh rate) a hlavně, některé SDRAM jsou
"buffered", některé "unbuffered" a podle toho také můžete
očekávat skutečně monstrózní problémy s kompatibilitou...
Logika
Tím jsme tedy skončili s geometrickým formátem a dostáváme
s k formátu "logickému". Jednotlivé SIMMy či DIMMy mohou být
označovány jako EDO, SDRAM, apod. To už mluvíme o vlastní
architektuře čipů, která samozřejmě definuje způsob
práce s daty, a tedy i výkon daného typu paměti. Nemá to přitom
nic společného s přístupovou dobou, jež může být pro SIMMy
i EDO SIMMy 60 ns, a stejně bude druhý případ o cca 15 % rychlejší.
Rozdíl je v tom, jak se zpracovávají sousedící data uložená v
paměti, což je samozřejmě nejtypičtější scénář práce procesoru
s pamětí -- tj. postupné čtení sousedících bytů (nebo jejich
dvojic a čtveřic).
Na této úrovni mohou být značné rozdíly v ceně a také v podpoře
na motherboardech. O podpoře rozhodují čipové sady na deskách
umístěné -- tzv. čipsety, o kterých teprve bude řeč v některém
z příštích dílů seriálu a tady jen zmíníme. Takže i přes stejnou
formu DIMMů tak dnes nastupující DIMM SDRAM prostě většině
současných motherboardů nevnutíme.
Způsob geometrického uspořádání paměťových buněk a metoda čtení
jejích skupin pro urychlení přístupu jsou potom podkladem pro
dělení pamětí do dalších typových množin, ke kterým se hned
propracujeme. Detailnější pochopení, a tedy i rozbor ovšem pro
práci s nimi vůbec není potřeba.
Fast Page Mode RAM (FPM RAM)
Jde o variantu původního "prostého" typu RAM, jejíž interní
logika předpokládá či doufá, že další požadavek na čtení
z konkrétního paměťového místa bude ležet hned v jeho sousedství,
v témže řádku paměťových buňěk. (Souvisí to s uspořádáním
paměťových buňek do čtvercové sítě a jejich adresováním.) Pokud
SIMM či DIMM nenese žádné další označení, jde o tento typ.
Nejrychlejší přístupová rychlost udávaná v cyklech základní desky
je 5-3-3-3 pro dávkové přečtení čtveřice dat. Pro získání obsahu
první adresy tedy potřebuje 5 cyklů, na tři následující adresy jí
již stačí jen cykly tři.
Extended Data Output RAM (EDO RAM)
EDO RAM je dnes zřejmě nejběžnější (prakticky totožné s pojmem
nejlevnější) a podporují ji všechny současné čipsety. V nabídce
jsou verze 70, 60, 50 ns, přičemž ovšem ta první v řadě případů
stačit nebude.
Slabinou EDO jsou problémy s mateřskými deskami pracujícími nad
66 MHz. Počet nezbytných hodinových cyklů na načtení dat také
není žádný zázrak (pro zvědavé je to 5-2-2-2). Teoreticky můžeme
EDO RAM použít i ve starších počítačích, jen prostě nepoběží
rychleji.
Burst Extended Data Output RAM (BEDO RAM)
Oproti EDO bylo podstatně vylepšeno načítání dat (5-1-1-1), takže
od zadání adresy, mohou být tři následující zpracovávány v jednom
taktu hodin.
Nevýhodou tohoto typu je nedostatek podpory. V současné době jsou
to zřejmě jen čipsety VIA (580VP, 590VP, 680V) a odpovídající
motherboardy. Bohužel současné BEDO RAM mají problémy
s rychlostmi desek nad 66 MHz.
Synchronous DRAM (SDRAM)
SDRAM je typ dynamické paměti RAM, který je ještě o dalších 20 %
rychlejší než EDO RAM. SDRAM používá principu podobného diskovým
polím -- prokládá paměťová pole tak, že zatímco s jedním se
pracuje (je z něj čteno), druhé se připravuje na následující
přístup.
Tyto paměti mají snad šanci na největší rozšíření jako nový
standard, jsou podporovány řadou novějších čipových sad (Triton VX
a VIA). Z hlediska rychlosti přístupu se vyrovnají typu BEDO
(5-1-1-1), ovšem bez problémů zvládají základní desky pracující až
do 100 MHz, které asi budou v nadcházejícím roce velkým hitem.
SDRAM-II je potom rychlejší varianta téhož. Je také označována
jako DDR DRAM nebo DDR SDRAM (Double Data Rate DRAM nebo SDRAM)
a měla by umožňovat čtení a zápis dat dvojnásobkem rychlosti
základní desky.
Rambus DRAM (RDRAM)
RDRAM je typ technologické dynamické paměti firmy Rambus, která
zajišťuje přenosové rychlosti až 600 MB/s, což může být až
10krát rychleji než u konveční DRAM. Vyžaduje upravené
motherboardy, ovšem ty potom nepotřebují drahé vyrovnávací paměti
L2. O těchto pamětech se spíše jen teoretizuje a mluví se o nich
především v souvislosti s nDRAM (Next generation DRAM), což by
měla být mnohem rychlejší varianta téhož pro budoucí generace
počítačů. Pracuje na ní Intel na základě licence zakoupené od
firmy Rambus.
Videopaměti
Zatímco dříve grafické karty prostě pracovaly v rámci hlavní
paměti, ty dnešní mohou mít 8 i více MB paměti vlastní, která jim
slouží pro ukládání obsahu obrazovky, ale i třeba textur nutných
pro 3D grafiku a potřebné algoritmy. Tyto paměti by měly být
dostatečně rychlé a většinou výrazně přispívají k ceně karet
(a také k jejich rozdělení na pomalé a rychlé.)
Video RAM (VRAM)
U levnějších kategorií karet se vlastně používají docela obyčejné
paměti formátu DRAM -- ovšem z rychlejší sorty FPM RAM
o přístupových dobách až 48 ns. VRAM je potom prakticky totéž, až
na to, že její alternativní označení "dual ported " naznačuje
(mělo by naznačit), že RAMDAC (Random Access Memory Digital to
Analog Converter) -- čili čip karty převádějící data z paměti do
analogového signálu pro monitor -- nemusí čekat na procesor a do
obsahu "své" paměti může přistupovat nezávisle na něm jiným
přístupovým portem.
Synchronous Graphics RAM (SGRAM)
Jde o jakousi analogii k technologii SDRAM, která je zde
obohacena o speciální grafické funkce, jež umožňují operace na
velkých blocích dat současně a efektivně využívat vyrovnávacích
pamětí.
Závěr
Abychom si to shrnuli: SIMMy a DIMMy jsou pouze formátem
destiček, na kterých jsou umístěny vlastní paměťové čipy
a kontakty. Spolu s různými typy čipů je výsledkem poměrně velký
počet kombinací a druhů paměťových modulů. Málokdy ale bude náš
počítač zrovna nějak výjimečný, takže s jeho osazením pamětí
bychom si měli poradit díky dekodování ceníkového označení na
základě tohoto článku, přímo konzultací s prodejcem, nebo prostě
jen volbou typu paměti EDO RAM 60 ns, které budou použitelné
v 90 % současných motherboardů.