Hlavní navigace

Počítačová škola pro začátečníky

1. 12. 1997

Sdílet

PAMĚTI V minulém dílu naší školy jsme se věnovali základní problematice základních desek. Bohužel souvise...


PAMĚTI


V minulém dílu naší školy jsme se věnovali základní problematice
základních desek. Bohužel souvisejících oblastí je velké
množství, a i když "niť" výkladu určitě jistým směrem postupuje,
jednotlivá témata se nejspíše podobají větvím stromu, vyrážejícím
z hlavního kmene, a se zatraceně propletenými větvičkami
a lístky, které si navzájem užírají životní prostor na slunci.

Dnes si splníme minulý slib, že si náramně užijeme, až budeme
probírat paměťové čipy... Upřednostnění tématu paměťových čipů
před jinými si můžeme zdůvodnit např. blížícími se předvánočními
nákupy. Investice do paměti je totiž z hlediska upgradování
počítače a zvyšování jeho zdánlivého výkonu (tím chceme říci
propustnosti systému a maximálního využití možností procesoru
a programů) je zřejmě vůbec nejefektivnější. Pro demonstraci
tohoto tvrzení bude stačit spustit tolik aplikací a počkat, až
začnou Windows protestovat, že jejich virtuální paměť -- tj.
jakési umělé rozšíření paměti využívající pevný disk -- je
zaplněna. V tomto okamžiku bude totiž systém nucen neustále
"swapovat" (odkládat) části paměti na disk a výkon počítače
řádově poklesne. Toto chování je ovšem spíše otázkou pro článek
věnovaný principům operačního systému.
Podobně samostatným tématem jsou cenové relace paměťových čipů
obecně. Tady se totiž dějí ty nejneuvěřitelnější věci: ceny
prudce klesají, stoupají a vůbec se chovají v protikladu
k předchozím předpovědím odborníkům. Určitě bude užitečné nějaký
článek zasvětit komentářům o cenové politice firem a její
předvídatelnosti. To vás začně zajímat v okamžiku, kdy cena
určité mechaniky spadne na polovinu den poté, co jste si ji
koupili, zatímco všichni vaši známí to jaksi "tušili".

Co je to paměť

S vysvětlováním těch nejzákladnějších principů bychom neměli
ztrácet příliš mnoho času, protože obeznámenost s počítačovými
technologiemi přece jen pokročila. Stále ale existují lidé,
pletoucí si velikosti paměti RAM s velikostí pevného disku.
Abychom tedy dostáli povinnosti -- pamětí se rozumí ta část
počítače, simulující krátkodobou paměť nás lidí, většinou
označovaná jako RAM (Random Access Memory; a protože budeme
mluvit o hlavní paměti, bylo by správnější říkat DRAM -- Dynamic
RAM). Ta neslouží k trvalému uchovávání informací, na to jsou
určeny pevné disky a příbuzná zařízení. RAM je určitá množina
polovodičových čipů schopných dočasně uschovávat informace
a velmi rychle si je vyměňovat s procesorem, který si pak s nimi
již nějaké ty operace provede podle vlastního rozumu.
Když startujete počítač, normami definovaná část systému se
nahraje z disku či zaváděcí (bootovací) diskety do paměti RAM
a postará se o zavedení zbytku systému. Podobně pracuje spouštění
aplikací, jež samotné pracují s daty většinou nataženými do své
"soukromé" oblasti v RAM. Uložením souboru je potom vlastně
přesunutí dat z RAM na disk.
Využití RAM je ale ještě složitější. Každá komponenta počítače má
svou formu přístupových dveří -- jedinečnou adresu v paměti,
skrze kterou mohou dvojice procesor -- komponenta komunikovat.
Komponentami se zde myslí grafické karty či třeba sériové porty,
abychom uvedli ty s největšími a nejmenšími "dveřmi".
Dvěma základními principy RAM jsou náhodnost přístupu (zadáním
adresy na ni přímo skočíme, na rozdíl od rotujících disků či
posouvajících se pásek, kde si musíme počkat na posun média)
a dočasnost uložení informací. Každá paměťová buňka totiž svůj
bit ukládá prostřednictvím spolupracující skupiny tranzistorů
a hlavně kondenzátorů, které mají tendenci samovolně se vybíjet.
Tento proces je poměrně rychlý, a tak nejen že obsah RAM po
vypnutí počítače zmizí, ale i za provozu je třeba jej pomocí
speciálních obvodů pravidelně obnovat. To znamená informaci
přečíst a znovu ji zapsat na totéž místo. (Tento děj -- tzv
refresh -- probíhá několikatisíckrát za sekundu.)
Mimochodem, skutečný způsob práce paměťové buňky závisí na
konkrétním typu a otázka, zda nelze zaznamenat více bitů do jedné
paměťové buňky, je také velmi na místě -- přesně to totiž v tomto
roce jako velkou revoluci ohlásila firma Intel. (Aniž bychom
znali pozadí jejího vynálezu, co takhle nabíjet kondenzátory na
několik různých úrovní? Jejich vybíjení je bohužel exponenciální
funkcí času, takže nezbytná velikost obnovovací frekvence nám
enormně vzroste...)

Paměťové bariéry

Zde se opět dostáváme k jakýmsi pseudonormám, které jsou
v konečném důsledku zdrojem mnohých nepříjemností pro uživatele
a mají kořeny hluboko v historii vývoje PC.
PC byla původně navržena pro celý a "neuvěřitelný" 1 MB hlavní
paměti. Byla to prostě taková doba -- např. jistý pan Gates tehdy
prohlásil, že osobní počítače do konce tisíciletí více paměti
nebudou potřebovat. (Osobně jej podezřívám, že hned na to skoupil
akcie výrobců pamětí a vymyslel Microsoft Office.)
Tento jeden megabyte alias 1 024 kilobytů byl rozdělen do dvou
částí. Z hlediska růstu číselné adresy tou dolní částí bylo 640
KB rezervovaných pro operační systém a aplikace. Její název byl
base memory či conventional memory (překlad je dosti nasnadě).
Zbývajících 384 KB bylo rezervováno pro funkce počítače, např.
videopaměť grafických karet. A to je bohužel důvod, proč řada
aplikací může začít hladově kvílet, přestože jste právě do svého
počítače nacpali 256 MB RAM. Především dosovské programy a hry se
pohybují ve světě dolních 640 KB, ze kterých svůj díl užírají
i různé ovladače, jež přibývají s každým přípojeným zařízením.
Pomoci vám mohou různé utilility a pořádné operační systémy, což
už je mimo rámec tohoto textu.
Vzhledem k adresovacím možnostem dnešních systémů je množství
nainstalovatelné paměti shora omezené pouze mechanickými
možnostmi slotů. Pokud tedy máte na mateřské desce místo pouze
pro dvě paměťové "destičky", zavisí výsledná paměť na největší
získatelné velikosti používaného typu paměti. Ta se
s technologickým vývojem zvyšuje, takže pokud vám manuál počítače
tvrdí, že podporuje pouze 2 x 32 MB RAM, znamená to, že 64MB
verze v době tisku neexistovaly a nikdo je nemohl vyzkoušet.
(Bohužel s tímto souvisejí další problémy, např. některé čipové
sady, umisťované na základních deskách zaručují implementaci
"kešování" -- viz minulý díl -- jen do určitého množství
megabytů.)
Dalším "legračním" problémem jsou geometrická a mechanická
omezení, která vlastně taktéž vyplývají z historie -- dřívější
integrované obvody umožňovaly jen určité metody konstrukce
pamětí. Základní desky samozřejmě musejí nabízet sloty či banky
pro zasouvání alespoň několika nejběžnějších generací pamětí,
protože omezením se jen na tu nejmodernější by nesmírně
zkomplikovaly a prodražily uživatelům život. Něco jako
univerzální slot ale neexistuje, paměťové banky mají většinou
různou délku a tvar, protože zasunutí nevhodné paměti by mohlo
obslužné obvody na základní desce poničit. (Z hlediska statické
elektřiny tady platí stejné požadavky na opatrnost, jako
v případě práce s mateřskou deskou.)
Výsledek opět nemůže překvapit, z tohoto důvodu musí být na desce
jen pár banků od každého přítomného typu. Vypočítat maximální
velikost pamětí je potom často kombinatorická záležitost. Alespoň
že se můžeme spolehnout, že moderní paměťové oslužné obvody
dokáží zjistit osazení banků samy.
Při "osazování" paměťových destiček se v každém případě připravme
na to, že někdy bude tlak, nezbytný na zatlačení paměti do slotu,
tak velký, že se deska prohne o několik centimetrů. Síť spojů je
ovšem většinou vůči těmto operacím dostatečně odolná. Zastrašit
bychom se ale neměli dát ani různými tvrzeními v manuálech, že
dané banky nepodporují určitou geometrickou konfiguraci
standardu, např. oboustranné SIMMy (k této typologii se dostaneme
příště). Je to skutečně jen mechanická záležitost, kdy se návrhář
rozhodl, že se mu líbí ostré úhly a uživatel náhle zjistí, že
destičky s brouky po obou stranách se do vyhrazeného prostoru
nesměstnají. Často je to přitom jen otázka pořadí obsazování
slotů, které tento problém vyřeší.
Tím jsme se dostali k potřebě pokrýt typy pamětí, kterých je více
než požehnaně. Zatímco v minulosti se jejich rodina rozrůstala
čistě z mechanických důvodů spolu s propracováváním slotů
a lišila se velikostí, kontakty, uspořádáním čipů a případně
počtem bitů, většina z těch dnes používaných vznikla v poslední
době, protože si to vynutil současný úprk procesorů směrem k 1
GHz -- zkrátka značně vzrostly nároky kladené na jejich rychlost,
což si vyžádalo změny uvnitř samotných "brouků." To vše je
reprezentovánou dlouhou řadou akronymů, od DIPů přes SIMMy,
DIMMy, EDO RAM až po SDRAM. Ale o tom, přátelé dobrých paměťových
čipů, opravdu až příště...

7 0.../OK