5. diel - Architekt, kam som si ten výpočet uložil ...?
V minulej lekcii, Babylonskej zmätenie kódovanie , sme sa venovali kódovanie. Dnes sa pozrieme na rôzne druhy pamätí a priblížime si ako fungujú a na čo sa používajú.
Keď chodili po zemi dinosaury - Odbočka k architektúre
Najskôr sa musíme pozrieť (konečne), čo je pod kovovým obalom počítača. Kedysi, keď počítačov bolo toľko ako planét v našej sústave, ľudia začali skladať dohromady prvé prototypy PC. Nakoniec sa ujali dve architektúry, ktoré dobyli svet.
Harvardská architektúra
Táto architektúra stojí na veľmi jednoduchom a efektívnym návrhu. máme:
- ALU ako výpočtovej jednotku
- CU ako spracúvania inštrukcií
- vstup
- výstup
- pamäť inštrukcií
- dátovú pamäť
Táto architektúra vyzerá takto:
Čo sú jednotlivé kusy zač, to si preberieme v najbližších lekciách. Efektívna je táto architektúra preto, že pamäť inštrukcií a dátová pamäť môžu byť úplne iné. Iné typy, iná veľkosť, rýchlosť ... Má to ale jednu trhlinu.
Predstavme si, že máme program, nahraný samozrejme v pamäti pre inštrukcie. V ňom sa ale objaví bug. Nemôžeme si stiahnuť upgrade z internetu a program aktualizovať, upgrade sa totiž stiahne do dátovej pamäte, do pamäte inštrukcií sa nedostane. Hoci je inak táto architektúra rýchlejší práve kvôli pamäti inštrukcií, nie je pre bežné účely príliš vhodná. Dnes sa s ňou stretneme predovšetkým u mikrokontrolérov.
Ak vezmeme počet kusov, v ktorých je táto architektúra vstavaná, rozhodne kraľuje na trhu. My sa však presunieme k tej, ktorá obsadila zariadenia, ktoré máme denne pod rukami.
Von Neumannova architektúra
Oproti minulej architektúre sa Von Neuman sústredil na použiteľnosť. CPU je jedna súčiastka a pamäť tiež. Výsledkom je toto schéma:
Vidíme, že táto architektúra má oveľa menej komponentov. Čo sa týka nášho problému s aktualizáciou softvéru, je teraz všetko už v poriadku. Máme ale iný problém, nie je oddelená pamäť pre inštrukcie a dáta, to znamená, že vírusy majú možnosť podsunúť procesora nejaká nebezpečná dáta ako inštrukcie k vykonávaniu a problém je na svete ... Pre bežné použitie má však táto architektúra viac výhod a tak ju máte práve teraz pred sebou.
Pamäť
Teraz sa pozrieme na kľúčový koncept a to je pamäť, konkrétne na to, čo to vlastne pamäť je. Pamäte delíme na ROM, RAM, pevné disky, SSD, flash a mnohé ďalšie. V dnešnej lekcii sa zameriame hlavne na RAM a ROM. Ak sa chcete dozvedieť o týchto pamätiach viac, odporúčam kurz Staviame si počítač.
Rám
RAM pamäte značí Random Acces Memory (pamäť s náhodným prístupom) a nikdy nie sú random acces : D Dôvod je ten, že random acces je pomalý. V zásade máme dve RAM pamäte:
- SRAM
- a DRAM.
Fungujú ako pamäti, len ak sú pod prúdom. Inak sú skôr na podopretie dverí. Sú teda vhodné na ukladanie hesiel a ďalších citlivých dát. Keď vám niekto ukradne váš PC, heslo z neho nedostane. Aj keď ... ak chcete niekomu zistiť heslo, hoďte jeho notebook do tekutého dusíka.
Sram
Ako sa ukladajú bity? Potrebujeme informáciu o tom, kde čo je. Kde
vyriešime adresou jednotlivé informácie, problém je s tým, ako uložíme
1
či 0
. S v názve SRAM označuje static a funguje
tak, že na každý bit je spotrebovaný 4 - 6 tranzistorov, ktoré sa pod
napätím nabijú a kým je pamäť pod napätím, tranzistory si drží
napätie na hodnote 1
či 0
. Po odpojení prúdu sa
počas chvíle tranzistory vráti na hodnotu 0
. Tomu sa hovorí
tzv. volatile
pamäť. Kvôli počtu tranzistorov sú tieto pamäte
drahé a väčšie než 1MB sú naozaj drahé. Na druhú stranu sú veľmi
rýchle, takže je počítač používa pre svoje registre v procesore,
najrýchlejšie dostupnej pamäte v PC.
Dráma
DRAM ako Dynamic RAM, niečo tam bude teda dynamické. No, ona je to celá
pamäť. Oproti SRAM môže byť oveľa väčší. Miesto 4-6 tranzistorov
obsahuje iba 1 tranzistor a 1 kondenzátor. Problém s týmito súčiastkami je,
že veľmi rady udržujú vyrovnanú hladinu, aby všade bol celý náboj.
Predstavme si, že by sme chceli uložiť napríklad hodnotu
10000001
, pre tranzistor je ideálny stav 00000000
,
lebo 1
rozprestrie medzi 0
. V skratke, ak je každý
bit buď 0
alebo 5
voltov, potom máme 10
V na 8
bitov, čo sa rozloží na 1.4
V. A to môže
počítač chápať ako 0
. Preto sa musí náboj znovu a znovu
obnovovať, aby nedochádzalo k celkovej entropiu, čiže rozloženie energie.
Pamät teda vyzerá ako mriežka s adresou riadkov a stĺpcov. Bohužiaľ
každých 10 ms stratí to, čo sme do nej uložili. Preto musíme celú pamäť
stále "aktualizovať". Robíme to po jednotlivých riadkoch, načítame riadok
a uložíme ho. Preto je čítanie z tejto pamäte oveľa pomalší.
Rom
SRAM a DRAM sú dobré pamäti, keď vás počítač beží a chce s niečím
rýchlo pracovať. Čo sa ale stane, keď sa váš počítač zrovna zapne?
Potrebuje mať niekde nejaké inštrukcie, čo má robiť. Bohužiaľ, SRAM aj
DRAM sú zrovna úplne prázdne. Preto tu je pamäť ROM, ktorá je tzv.
non-volatile
= nemení sa. ROM značí Read Only Memory a áno, sem
tam je aj Read Only.
Predstavme si hromadu drôtikov, ktoré dohromady tvoria mriežku. (Mriežka
je očividne veľmi obľúbená ) Ak je celá mriežka bez spojov, sú všade 0
. Pokiaľ
do nej chceme uložiť 1
, na súradniciach (X, Y) pridáme spoj,
takto:
Promo
Samozrejme je továrni drahé, aby sa vyrábali ROM pamäte s konkrétnymi programami. Preto sa vyrába tzv. PROM, Programmable ROM, čiže pamäti, do ktorých sa raz zapíše a potom sa len číta. Je oveľa efektívnejšie vyrobiť milióny prázdnych pamäťou než po desaťtisícoch vyrábať pamäte s konkrétnymi programami. Navyše si predstavme, že je v Romča bug. V každom programe je aspoň jeden bug. Ak je to vážny bug, všetkých 10 000 pamätí je nepoužiteľných. V pamäti je ešte zabudovaná dióda, ktorú musíte prečistiť, ak do nej pošleme prúd. Zápis sa teda vykoná len raz.
EPROM / EEPROM
E v EPROM označuje Erasable, čiže vymazateľné. Tu už začína trochu
zmätok v písmenkách. Electrical EPROM. Programátori očividne nie sú
žiadni nadšenci pre jazyk: RAM, ROM, DRAM, SRAM, PROM, EEPROM, EPROM ... Táto
Rómka využíva ióny, ktoré pri zápise vytvoria napätí také, že pri
čítaní pretečie trocha prúdu a prečítame 1
. Vrátiť ióny
späť môžeme pomocou žiarenia. UV, rádiového ... Môžete si teda nosiť
svoje EPROMky do Temelína a 15-20 minút je tam nechať otvorené, alebo
môžete chodiť k oknu. To tiež nie je úplne pekné, moc vzduchu atd ...
Záverom
Dnes sme len načali čo aká pamäť značí. Samozrejme sú tieto pamäte natoľko komplexné, že by si každá zaslúžila minimálne svoj článok. Zoberme do úvahy, že dnešné pamäte RAM sú väčšie ako disky počítačov z 60. rokov. Práca na nich je teda naozaj majstrovským dielom. Pokiaľ si odnesiete aspoň veľmi hrubú predstavu o tom, ako sa ukladajú bity v operačnej pamäti, bohato to stačí.
Nabudúce, v lekcii Online test znalostí História PC , sa rozbehneme a pozrieme sa na pevné disky, flash a SSD a porovnáme rýchlosti prenosu s veľkosťami úložného priestoru. V ďalších článkoch sa navyše dozvieme, ako presne nabieha počítač. Je to celkom "galimatiáš"
V nasledujúcom kvíze, Online test znalostí História PC, si vyskúšame nadobudnuté skúsenosti z kurzu.