Vyšlo v týdeníku Computerworld č. 33/92 v roce 1992
Vytištěno z adresy: http://www.earchiv.cz/a92/a233c120.php3

Refresh

Je to zajímavý paradox - operační paměť dnešních počítačů bývá realizována téměř výlučně takovým druhem paměti, který není schopen si cokoli pamatovat. Alespoň ne po delší dobu. Nevěříte?

Uživatelé volali, volají a jistě stále budou volat po co možná největší operační paměti svých počítačů. Technologie výroby polovodičových pamětí, které se k tomuto účelu používají, se pod tímto tlakem rychle vyvíjela. Poměrně brzy se přišlo na to, že největší paměťové kapacity lze dosáhnout u tzv. dynamických pamětí. Jsou zajímavé tím, že schopnost pamatovat si je u nich dosažena jen jakýmsi vedlejším efektem - odborníci by jistě dokázali nadšeně a velmi dlouho povídat o vlivu parazitní kapacity na hradle tranzistoru jednotranzistorové dynamické paměťové buňky. Podstatné je však to, že takováto paměť si svůj obsah neuchovává trvale, ale naopak jej s časem ztrácí, a to velmi rychle: již za několik málo milisekund, neboli za několik málo tisícin sekundy !!!

Pokud se vám několik tisícin sekundy zdá být neuvěřitelně krátká doba, nemusíte dynamické paměti ještě zatracovat. Raději chvilku počítejte: doba, kterou trvá jedno čtení či jeden zápis do takovéto paměti, je řádově 100 nanosekund, což je jedna desetimilióntina sekundy, nebo také jedna desetitisícina jedné milisekundy. Kdybychom tedy z dynamické paměti četli maximálním možným tempem, stihli bychom si její obsah přečíst řádově desettisíckrát.

Další zajímavou vlastností dynamických pamětí je skutečnost, že každé čtení (i každý zápis) jako svůj vedlejší efekt obnovuje obsah příslušného paměťového místa, a dokonce i určitého počtu "sousedních" paměťových míst, které si pak znovu vydrží pamatovat svůj obsah (bez dalšího obnovení) oněch zmíněných několik málo milisekund. Kdybychom tedy dokázali pravidelně a dostatečně rychle číst z vhodně volených adres, dynamická paměť by si sama obnovovala celý svůj obsah, a udržela si jej tak po libovolně dlouhou dobu. Režie, která tímto "falešným" čtením vzniká, přitom zůstává únosně malá, vzhledem k výše uvedeným časovým poměrům.

Právě naznačený způsob pravidelného obnovování obsahu dynamické paměti, který dokáže dlouhodobě udržet její obsah, se obecně označuje jako refresh, česky pak jako osvěžování (či obnovování). Nezajišťuje se ale čistě programovými prostředky - tedy tím, že by právě probíhající program byl povinen vždy za určitou dobu "sáhnout" na určitou adresu do paměti, a něco si z ní přečíst jen proto, aby se obsah paměti osvěžil. Takové programy by se snad ani nedaly psát. Místo toho se osvěžování dynamických pamětí zajišťuje technickými prostředky: specializovanými jednoúčelovými obvody, pomocí řadiče přímého přístupu do paměti (DMA řadiče), pomocí zvláštních signálů, generovaných mikroprocesorem, či jinými "triky". Důležitá je přitom skutečnost, že veškeré osvěžování dynamických pamětí je pro uživatele a jeho programy zcela transparentní.