-----
---
   
  Paměti minimalizovat/úvod maximalizovat 

Mikroprocesor čte z paměti programy, kterými je řízen, ukládá do paměti výsledky své práce. Paměti můžeme rozdělit do dvou velkých oblastí, přičemž tento článek se bude podrobně zabývat pouze první z nich:
- paměti vnitřní (primární) - bezprostřední spolupráce s mikroprocesorem
- paměti vnější (sekundární) - odkládání momentálně nepotřebných dat (HDD, FDD, CD, DVD ...)

Parametry pamětí:

- vybavovací doba - udává rychlost (v ns) s jakou paměť zapíše nebo vyhledá mikroprocesorem zadaná data
- přístupová doba - doba uplynulá od vydání požadavku k jeho převzetí
- přenosová rychlost - množství přečtených informací za jednotku času
- kapacita - celkové množství informací, které můžeme do paměti uložit, v KB, MB, GB, TB

Fyzikální principy pamětí:

Každá paměť je tvořena maticí miniaturních elektronických prvků - tranzistorů. Každá z těchto součástek může nabývat stavu 0 nebo 1, a je tak nositelem informace o velikosti 1b(bit). 8 prvků pak vytváří 1B(bajt). Paměťové prvky jsou spojeny řádkovými a sloupcovými vodiči. Těmito dráty se do nich zapisují nové hodnoty a čtou se uložená data. Vlastnosti paměti záleží na použitých elektronických součástkách. 

Vnitřní paměti

Paměti typu ROM (read only memory)

- Paměť, kde jsou obsaženy trvale uložené instrukce - použití například pro uložení BIOSu (základní systém pro vstup a výstup, pomocí BIOSu přistupuje OS k hardwaru), instrukce jsou stále uloženy i po vypnutí počítače. BIOS se však při startu počítače načítá do rychlejší RAM = tzv. "stínování".

- Typy těchto pamětí:
ROM - buňky paměti jsou pojistky nebo el. odpory. Výrobcem přepálené buňky koncentrují napětí (nesou informace o logické jedničce -> 1, neporušené prvky -> 0).
PROM - nepřepisovatelné, zápis provádí uživatel pomocí programátoru paměti PROM.
EPROM - lze je přepsat ultrafialovým zářením (na povrchu je kolečko), informace se uchovává pomocí kvalitně izolovaného elektrického náboje.
EEPROM - elektricky mazatelné, počet zápisů stejně jako trvanlivost zapamatování je omezena (podobně jako u EPROM).
Flash-PROM - je rychlejší (podobně jako RAM), nesmazatelná po vypnutí počítače, lze ji předprogramovat přímo v PC, Flash BIOS uložený ve Flash-PROM lze přeprogramovat bez nutnosti vyměnit celý obvod ROM - pomocí programu dodávaného se základní deskou a nastavení jumperů.

Paměti typu RAM (random access memory)

- jsou rychlejší, mají větší kapacitu, dají se použít k zápisu i čtení
- možnost náhodného (nesouvislého - okamžitě, na jakékoliv místo) přístupu do paměti
- Typy těchto pamětí:
SRAM (statické RAM) - paměťová buňka je tvořena bistabilním klopným obvodem, který může nabývat dvou stavů (0,1) -> větší rychlost. Paměť je rychlá (přístupová doba 20 až 30 ns), nevýhodou je ale její složitost a vysoká cena. Z těchto pamětí je složena paměť Cache L2 (=druhé úrovně), její běžné velikosti jsou 256 a 512 KB.
DRAM (dynamické RAM) - paměťová buňka je tvořena miniaturním kondenzátorkem (nabitý -1, vybitý -0). Je třeba neustále provádět neustálé dobíjení paměti (refresh), aby se paměť nevymazala. DRAM jsou levné, jsou z nich sestaveny operační paměti. Jsou pomalejší než SRAM (přístupová doba 60-100 ns). Velikosti 8, 16, 32, 64, 128, 256 MB (operační paměti).
CMOS-RAM - paměti vyrobené metodou CMOS, díky níž se vyznačují malou spotřebou. V PC se používají pro zapisování parametrů BIOSu (pomocí programu SETUP). Po vypnutí počítače je paměť CMOS napájena z baterie na základní desce, v CMOS je často uloženo datum a čas.

Fyzická organizace operační paměti

U prvním počítačů byly paměti integrovány do pouzder DIP (do 80286), s narůstající potřebou větších pamětí se paměťové obvody začaly instalovat na moduly SIMM:

Parametry SIMMů:
přístupová doba (60-70 ns)
kapacita - u nejpoužívanějších 72pinových SIMMů 4, 8, 16, 32, 64 MB, u dnešních 168pinových DIMMů i 256 Mb a více
paměťová (=datová) šířka - největší šířka modulů (kousků) na paměti, od kterých je schopna sběrnice přenášet informace (např. 32 bitů široké moduly u SIMM se 72 piny, u 30pinových SIMM 8 nebo 16 bitů (v 80386, 80486). 72pinové SIMMy byly poprvé použity u počítačů IBM PS/2, proto se také někdy jako PS/2 označují.).
K osmibitovým modulům byl přidáván devátý paritní bit, který kontroluje, zda se hodnota datových bitů nemění samovolně -> pokud nesouhlasí parita paměti, zablokování počítače. U dnešních spolehlivých pamětí se kontrola parity nepoužívá.
ECC - samoopravný kód, který se používá u drahých počítačů (hlavně u serverů). Dokáže zjistit a opravit jedno- nebo dvoubitovou chybu v paměti. Musí být ale podporován základní deskou a pamětí.
SIMMy a DIMMy se na základní desce osazují do jednotlivých BANKů. EDO, Fast Page Mode jsou režimy práce SIMMů. Oba typy pamětí ale nemohou být osazeny najednou.

Moduly DIMM (Double-sided SIMMs): jsou vylepšením SIMMu, jsou delší (168 pinů), což umožňuje používat také větší datovou šířku (64 bitů) => rychlejší, větší kapacita paměti, potřebují delší BANK.

Paměťový modul
Obr.1: Paměťový modul

BANK je kolekcí patic umístěnou na základní desce, do níž se zasunují paměťové desky SIMMů, DIMMů. Banky jsou různě dlouhé, v jednom banku musí být osazeny všechny patice (otvory pro zasunutí modulu). Počet patic je dán šířkou datové sběrnice, na níž je bank připojen a šířkou modulu. Na základní desce je vždy více banků, výsledná kapacita paměti je pak dána součtem kapacit všech modulů.

Údaje důležité pro výměnu pamětí:

Možné kombinace modulů jsou uváděny v dokumentaci k základní desce. Banky se značí BANK 0, BANK1…, označení U7-U10 znamená, že má bank 4 patice (7,8,9,10). Datová šířka banku = počet bitů datové sběrnice / počet patic. Označení x9 místo x8 znamená, že paměť používá devátý - paritní bit. Důležité také je, aby vybavovací doba paměti a rychlost paměti souhlasila s údaji podporovanými základní deskou. U starších desek je někdy potřeba dodatečně nastavit polohu jumperů. 

Paměť cache L1 (first level cache)

Paměť je meziskladem pro přechod dat mezi sběrnicí a procesorem -> vyrovnání rychlosti komponentů.

Paměť cache L2 (second level cache)

Cache L2 bývá od Pentií Pro většinou integrována přímo v mikroprocesoru, jinak se nachází na základní desce. Cache L2 je umístěna mezi mikroprocesorem a operační pamětí, takže data, která přichází z operační paměti může mikroprocesor číst z rychlejší cache. Cache je navíc ovládána speciálním řadičem, který se snaží předpovědět, jaká data bude v nejbližší době mikroprocesor potřebovat. Tato data se přednostně přesouvají z operační paměti do cache. Na data, která jsou přijímána z operační paměti, musí mikroprocesor čekat v tzv. čekacích taktech. Poměr mezi dotazy uspokojenými z cache a všemi dotazy mikroprocesoru je asi 80 - 99% (=HIT RATE).

Cache paměti používají tři režimy (ty lze nastavit v SETUPu):

  • Write-Through - nejstarší, nejpomalejší režim, kdy jsou data zapisována do cache i do operační paměti a jsou vzájemně porovnávána.
  • Write-Back - metoda zpožděného zápisu - data jsou zapisována do operační paměti až po odstranění z cache, kde se mohou nejdříve i měnit (u Pentií).
  • Pipelined Burst - nejrychlejší režim - operace se provádí zřetězeně (čtou se i později potřebná data).

Velikost cache - je uváděna při startu počítače, čím větší máme velikost operační paměti, tím větší cache je potřeba (např. pro 64 MB je optimální 512 KB cache L2, dále velikost 1MB , …).

Logická organizace paměti

= pravidla, kterými se řídí přidělování paměti aplikacím, OS, BIOSům hardwarových zařízení… Paměť je rozdělena do 3 hlavních částí definovaných IBM při konstrukci PC-XT:

  1. konvenční paměť - oblast pro vstupně-výstupní adresy - 1. oblast adres od 0000 do 0FF, 2. oblast od 100 do 3FF (adresy paměti jsou určeny v 16kové soustavě - hexadecimálně) oblast pro práci s programy.
  2. rezervovaná paměť
  3. paměť nad 1 MB

Velikost paměti se vyjadřuje v B (bajtech), častěji však v násobcích - KB a MB. Předpony kilo a mega jsou ovšem odvozeny od dvojkové soustavy => kilo je 210 (= 1024) B a mega je 220 (= 1048 576) B. Při běžném popisu kapacity pamětí se však "drobné" zanedbávají.

Konvenční paměť: 0-640 KB

- je rozdělena na 2 funkční části: vstupně-výstupní adresy, oblast pro práci s programy.

Oblast pro vstupně-výstupní adresy=paměť I/O

I/O = input/output; má velikost 1KB, obsahuje adresy, přes které komunikuje mikroprocesor s okolím. Adresy I/O jsou přiděleny jednotlivým komunikačním portům stejně jako linky přerušení (IRQ). Pro vzájemnou komunikaci má každá součást PC vymezeno jedno okénko (I/O adresu). I/O adresy jsou dále rozděleny na 2 části:

  1. adresy pro díly umístěné na základní desce
  2. adresy pro rozšiřující desky

Platí, že dvě zařízení nemůžou používat stejnou adresu (procesor by nerozpoznal, s čím komunikuje). Při rozšíření počítače o novou desku musíme tedy zadat originální DMA, IRQ a také I/O adresu. Každá rozšiřující deska má možnost volby z více adres (nastavení jumperů nebo programově). Nastavení I/O adres v počítači se nachází pod: SYSTÉM -> SPRÁVCE ZAŘÍZENÍ -> VLASTNOSTI

Programová část konvenční paměti

Začíná adresou nad 1 KB a končí na 640 KB. 640 KB bylo definováno v IBM, když se výrobci domnívali, že 640 KB bude vyhovovat i programům v daleké budoucnosti. MS-DOS s větší pamětí nedokáže pořádně pracovat. Do takto malé paměti se ještě často nahrávaly rezidentní programy (ty jsou trvale v paměti), ovladače zařízení se spouštěly pomocí příkazů v config.sys. Proto se rezidentním programům stále častěji vyhrazovala paměť nad 640 KB. W95 mají již jinou architekturu a rezidentní programy nejsou téměř potřeba. 32bitové programy pro W95 už omezeny velikostí operační paměti nejsou. Proto je v autoexec.bat a config.sys vhodné ponechat jen definici české abecedy a nezabírat zbytečně paměť pro DOSovské programy.

Rezervovaná paměť(= vyšší paměť): 640-1000 KB

Adresy jsou uložené od 640 KB do 1 MB a jsou rezervovány výhradně pro technické prostředky počítače (nepracují zde žádné programy). Adresy jsou rezervovány ke třem účelům:

  • vymezení prostoru pro vykreslování obrazu grafickým adaptérem
  • vyhrazení pro systémový BIOS - komunikace s obvodem ROM-BIOS
  • vyhrazení pro BIOSy na rozšiřujících deskách (v případě, že systémový BIOS neumí s hardwarem pracovat), dvě desky opět nesmí používat stejnou adresu.

Obsazení rezervované paměti lze zjistit ve: SPRÁVCE ZAŘÍZENÍ -> složka POČÍTAČ -> tlačítko VLASTNOSTI -> políčko PAMĚŤ. Rezervovaná paměť bývá označována také jako vyšší paměť. Je obhospodařovávána paměťovými manažery (HIMEN.SYS, EMM386.EXE), které umožňují, aby se do volné rezervované paměti umístily i ovladače zařízení a rezidentní programy.

Paměť nad 1 MB

Pro programy DOSu a další programy se při nárůstu kapacity pamětí zpřístupnila i paměť nad 1 MB.

Stránková paměť (expanded=rozšířená, expandovaná)

Dnes už se téměř nepoužívá. Umožnila zpřístupnit paměť nad 1 MB i na počítačích 8086 se sběrnicí, která nedokázala vygenerovat větší adresy než 1 MB. Paměť se rozdělila na "stránky" kam byla jednotlivá data posílána (přepínána) paměťovými manažery EMS a EMM (poslední verze - EMM386.EXE).

Nestránková paměť (extended=přídavná, prodloužená, lineární)

Data jsou v ní na rozdíl od stránkové paměti adresována přímo pomocí paměťových manažerů XMS a XMM.

HMA (High Memory Area)

- prvních 64 KB nad 1 MB. Tuto paměť dokáží využívat i programy DOSu -> ušetření konvenční paměti.

 Logická organizace paměti a W95

Ve W95 je možno pracovat s programy pro DOS, 16bitová Windows 3.x a pro W95. W95 umožňují současný chod více programů. Paměť se přitom rozdělí na jednotlivé virtuální stroje (Virtual Machine - VM), které fungují jako oddělené počítače. Programy pro W95 a W3.x mohou běžet na stejném VM, programy pro DOS mají VM vlastní. Přidělování služeb mikroprocesoru a operačního systému má na starosti VMM (Virtual Machine Manager). Ten zajišťuje řízení procesů, stránkování paměti a podporu dosových programů.

Aplikace pro W95 - každému programu je střídavě přidělován na krátký čas mikroprocesor a OS. Preemptivní multitasking - procesy jsou přidělovány samotným OS => při havárii programu je možné přepnout se do programu jiného (aplikaci je přesto nutné ukončit stiskem Ctrl+Alt+Del+ Konec úkolu - dochází ke ztrátě neuložených dat).

Aplikace pro W3.x - rozdělování procesů je založeno na kooperativním multitaskingu - aplikace sama předává čas dalšímu programu (při havárii se ovšem zablokuje celý počítač).

Aplikace pro DOS - každý program má přidělenu jednu VM, programy nejsou schopny multitaskingu. Pravé tlačítko na programu pro DOS + Vlastnosti + Paměť -> nastavení paměti:
Celkem - nastavení celkové paměti pro program, při nedostatku je vhodné nastavit velikost ručně..
Paměť pro systémové proměnné - při nedostatku paměti je vhodné tuto paměť zvýšit.
Chráněná paměť - při zatržení je chráněna konvenční paměť vyhrazená pro OS.
Expandovaná paměť (EMS) - není už moc používaná, vhodné je ponechat "automaticky".
Rozšířená paměť(XMS) - automaticky - je málo využívaná.
HMA - není třeba používat, přesouvala se do ní část DOSu, a tak není využívaná.
Paměť chráněného režimu systému MS-DOS - paměť je programu přidělována automaticky, pokud dochází k problémům, je vhodné nastavit paměť o 1024 KB menší než je velikost operační paměti, program pak nikdy nebude přepisovat paměť pro Windows. 

Rozdělení vnějších pamětí

-vznik z potřeby uchovávání dat i po vypnutí počítače.
a) přenosná paměťová média - médium je odděleno od čtecího zařízení

  1. magnetický princip záznamu
    - magnetofonová páska - dnes je toto médium nahrazeno streamery
    - disketa - dnes jsou tato média někdy nahrazována Super Diskem (120 MB), ZIPem
  2. optický princip záznamu
    - CD-ROM, DVD ...
  3. optickomechanický princip zápisu
    - MO disc (magnetic optical)
    - EO disc (eraseble optical)
    - kapacita 128 - 640 MB
    - princip záznamu: u obou typů se médium zahřeje laserem, čímž se změní magnetická polarizace a zároveň i optická polarizace
    - příliš drahé

b) vnitřní paměťová média - médium a čtecí zařízení nejsou odděleny (pevný disk)


zpět | nahoru