PHP týden Letní akce
Pouze tento týden sleva až 80 % na kurzy PHP. Lze kombinovat s akcí Letní slevy na prémiový obsah!
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!

Lekce 5 - Architekte, kam jsem si ten výpočet uložil...?

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

V minulé lekci, Babylonské zmatení kódování, jsme se věnovali kódování. Dnes se podíváme na různé druhy pamětí a přiblížíme si jak fungují a na co se používají.

Když chodili po zemi dinosauři - Odbočka k architektuře

Nejdříve se musíme podívat (konečně), co je pod kovovým obalem počítače. Kdysi, když počítačů bylo tolik jako planet v naší soustavě, lidé začali skládat dohromady první prototypy PC. Nakonec se ujaly dvě architektury, které dobyly svět.

Harvardská architektura

Tato architektura stojí na velmi jednoduchém a efektivním návrhu. Máme:

  • ALU jako výpočetní jednotku
  • CU jako zpracovávač instrukcí
  • vstup
  • výstup
  • paměť instrukcí
  • datovou paměť

Tato architektura vypadá takto:

Harvardská architektura PC

Co jsou jednotlivé kusy zač, to si probereme v příštích lekcích. Efektivní je tato architektura proto, že paměť instrukcí a datová paměť mohou být úplně jiné. Jiné typy, jiná velikost, rychlost... Má to ale jednu trhlinu.

Představme si, že máme program, nahraný samozřejmě v paměti pro instrukce. V něm se ale objeví bug. Nemůžeme si stáhnout upgrade z internetu a program aktualizovat, upgrade se totiž stáhne do datové paměti, do paměti instrukcí se nedostane. Ač je jinak tato architektura rychlejší právě kvůli paměti instrukcí, není pro běžné účely příliš vhodná. Dnes se s ní setkáme především u mikrokontrolerů.

Pokud vezmeme počet kusů, ve kterých je tato architektura vestavěna, rozhodně kraluje na trhu. My se však přesuneme k té, která obsadila zařízení, která máme denně pod rukama.

Von Neumannova architektura

Oproti minulé architektuře se Von Neuman soustředil na použitelnost. CPU je jedna součástka a paměť také. Výsledkem je toto schéma:

Von Neumannova architektura počítače

Vidíme, že tato architektura má mnohem méně komponent. Co se týče našeho problému s aktualizací softwaru, je teď vše již v pořádku. Máme ale jiný problém, není oddělená paměť pro instrukce a data, to znamená, že viry mají možnost podsunout procesoru nějaká nebezpečná data jako instrukce k provádění a problém je na světě... Pro běžné použití má ovšem tato architektura více výhod a tak ji máte právě teď před sebou.

Paměť

Nyní se podíváme na klíčový koncept a to je paměť, konkrétně na to, co to vlastně paměť je. Paměti dělíme na ROM, RAM, pevné disky, SSD, flash a mnohé další. V dnešní lekci se zaměříme hlavně na RAM a ROM. Pokud se chcete dozvědět o těchto pamětech více, doporučuji kurz Stavíme si počítač.

RAM

RAM paměti značí Random Acces Memory (paměť s náhodným přístupem) a nikdy nejsou random acces :D Důvod je ten, že random acces je pomalý. V zásadě máme dvě RAM paměti:

  • SRAM
  • a DRAM.

Fungují jako paměti, pouze pokud jsou pod proudem. Jinak jsou spíše na podepření dveří. Jsou tedy vhodné k ukládání hesel a dalších citlivých dat. Když vám někdo ukradne váš PC, heslo z něj nedostane. I když... pokud chcete někomu zjistit heslo, hoďte jeho notebook do tekutého dusíku.

SRAM

Jak se ukládají bity? Potřebujeme informaci o tom, kde co je. Kde vyřešíme adresou jednotlivé informace, problém je s tím, jak uložíme 1 či 0. S v názvu SRAM označuje static a funguje tak, že na každý bit je spotřebováno 4 - 6 tranzistorů, které se pod napětím nabijí a dokud je paměť pod napětím, tranzistory si drží napětí na hodnotě 1 či 0. Po odpojení proudu se během chvíle tranzistory vrátí na hodnotu 0. Tomu se říká tzv. volatile paměť. Kvůli počtu tranzistorů jsou tyto paměti drahé a větší než 1MB jsou opravdu drahé. Na druhou stranu jsou velmi rychlé, takže je počítač používá pro své registry v procesoru, nejrychleji dostupné paměti v PC.

DRAM

DRAM jako Dynamic RAM, něco tam bude tedy dynamické. No, ona je to celá paměť. Oproti SRAM může být mnohem větší. Místo 4-6 tranzistorů obsahuje pouze 1 tranzistor a 1 kondenzátor. Problém s těmito součástkami je, že velmi rády udržují vyrovnanou hladinu, aby všude byl celý náboj. Představme si, že bychom chtěli uložit třeba hodnotu 10000001, pro tranzistor je ideální stav 00000000, neboť 1 rozprostře mezi 0. Pamět vypadá jako mřížka s adresou řádků a sloupců. Bohužel každých 10 ms ztratí to, co jsme do ní uložili. Proto musíme celou paměť "aktualizovat". Děláme to po jednotlivých řádcích, načteme řádek a uložíme ho. Proto je čtení z této paměti mnohem pomalejší.

ROM

SRAM a DRAM jsou dobré paměti, když vás počítač běží a chce s něčím rychle pracovat. Co se ale stane, když se váš počítač zrovna zapne? Potřebuje mít někde nějaké instrukce, co má dělat. Bohužel, SRAM i DRAM jsou zrovna úplně prázdné. Proto tu je paměť ROM, která je tzv. non-volatile = nemění se. ROM značí Read Only Memory a ano, sem tam je i Read Only.

Představme si hromadu drátků, které dohromady tvoří mřížku. (Mřížka je očividně velmi oblíbená :) ) Pokud je celá mřížka bez spojů, jsou všude 0. Pokud do ní chceme uložit 1, na souřadnicích (X, Y) přidáme spoj, takto:

Paměť ROM v PC

PROM

Samozřejmě je továrně drahé, aby se vyráběly ROM paměti s konkrétními programy. Proto se vyrábí tzv. PROM, Programmable ROM, neboli paměti, do kterých se jednou zapíše a pak se pouze čte. Je mnohem efektivnější vyrobit milióny prázdných pamětí než po desetitisících vyrábět paměti s konkrétními programy. Navíc si představme, že je v ROMce bug. V každém programu je alespoň jeden bug. Je-li to vážný bug, všech 10 000 pamětí je nepoužitelných. V paměti je ještě zabudovaná dioda, kterou přepálíme, pokud do ní pošleme proud. Zápis se tedy provede jen jednou.

EPROM/EEPROM

E v EPROM označuje Erasable, neboli vymazatelné. Tady již začíná trochu zmatek v písmenkách. Electricaly EPROM. Programátoři očividně nejsou žádní nadšenci pro jazyk: RAM, ROM, DRAM, SRAM, PROM, EEPROM, EPROM... Tato ROMka využívá ionty, které při zápisu vytvoří napětí takové, že při čtení proteče trocha proudu a přečteme 1. Vrátit ionty zpět můžeme pomocí záření. UV, radiového... Můžete si tedy nosit svoje EPROMky do temelína a 15-20 minut je tam nechat otevřené, nebo můžete chodit k oknu. To také není úplně hezké, moc vzduchu atd...

Závěrem

Dnes jsme jen nakousli co jaká paměť značí. Samozřejmě jsou tyto paměti natolik komplexní, že by si každá zasloužila minimálně svůj článek. Vezměme v úvahu, že dnešní paměti RAM jsou větší než disky počítačů z 60. let. Práce na nich je tedy opravdu mistrovským dílem. Pokud si odnesete alespoň velmi hrubou představu o tom, jak se ukládají bity v operační paměti, bohatě to stačí.

Příště, v lekci , se rozjedeme a podíváme se na pevné disky, flash a SSD a porovnáme rychlosti přenosu s velikostmi úložného prostoru. V dalších článcích se navíc dozvíme, jak přesně nabíhá počítač. Je to docela "galimatiáš" :)


 

 

Článek pro vás napsal Tricerator
Avatar
Jak se ti líbí článek?
2 hlasů
Autor se věnuje teoretické informatice. Ve svých volných chvílích nepohrdne šálkem dobrého čaje, kaligrafickým brkem a foukací harmonice.
Předchozí článek
Babylonské zmatení kódování
Všechny články v sekci
Principy fungování počítačů
Aktivity (2)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!