Podcast na Jak funguje počítač
Jak funguje počítač: Kompletní rozbor pro studenty | IT-Wiki
Podcast
Základy počítačů
Délka: 15 minut
Kapitoly
Úvod do světa jedniček a nul
Bit a Bajt: Stavební kameny
Dvojková soustava: Jazyk počítačů
Jak počítač sčítá
Jak počítače sčítají
Hradlo AND: Přísný vyhazovač
Hradla OR a NOT: Pohodář a rebel
Od hradel k procesoru
Srdce počítače
Instrukční cyklus
Cyklus v praxi
Bity versus Bajty
Rozumí nám počítače?
Software a hardware
Dvojková soustava v praxi
Přepis
Ondřej: Když jsi dnes ráno otevřel telefon, scrolloval Instagramem nebo si pustil hudbu, napadlo tě někdy, co se vlastně děje uvnitř? Jak ten telefon ví, co má dělat?
Adéla: Většinou nad tím nepřemýšlíme, že? Vypadá to, jako by nám ty stroje rozuměly. Ale ve skutečnosti je to jen iluze.
Ondřej: Iluze? To zní trochu dramaticky. Jako z Matrixu.
Adéla: Je to tak! Počítač totiž nerozumí slovům ani obrázkům. Rozumí jen dvěma stavům: zapnuto a vypnuto. Proud teče, nebo neteče. Jednička, nebo nula. A právě z těchto dvou čísel je postavený celý digitální svět.
Ondřej: Takže se dnes podíváme za oponu téhle iluze. Posloucháte Studyfi Podcast a naším prvním tématem jsou základy počítačů.
Adéla: Přesně tak. Začneme úplným základem. Tou nejmenší jednotkou informace.
Ondřej: A tou je…?
Adéla: Je to **bit**. Je to zkratka z anglického „binary digit“, tedy dvojková číslice. A jak už jsme naznačili, bit může být jen 0, nebo 1.
Ondřej: Dobře, ale jeden bit mi asi moc nepomůže, když chci uložit fotku z dovolené. To by byla hodně jednoduchá fotka.
Adéla: To máš pravdu. Proto bity seskupujeme do větších celků. Ta nejznámější skupina je **bajt**, který tvoří osm bitů. A jeden bajt už dokáže reprezentovat 256 různých hodnot. To už stačí třeba na jeden znak textu.
Ondřej: Takže každé písmenko v tomhle scénáři je jeden bajt?
Adéla: Víceméně ano. A když máme hodně dat, používáme násobky: kilobajty, megabajty, gigabajty… Tyhle jednotky určitě znáš z údajů o velikosti souborů nebo kapacitě disku.
Ondřej: Dobře, takže počítače mluví v jedničkách a nulách. To je ta dvojková neboli binární soustava, že? Ale jak z čísla, třeba 1101, uděláme něco, čemu rozumíme my?
Adéla: Skvělá otázka. Je to vlastně podobné jako v naší desítkové soustavě, jen místo mocnin deseti používáme mocniny dvou. Takže vezmeš číslo 1101₂…
Ondřej: To „dvě“ jako index znamená, že je ve dvojkové soustavě, chápu.
Adéla: Přesně. A čteš ho zprava. První číslice je krát 2 na nultou, druhá krát 2 na první, a tak dále. Takže 1 krát 8, plus 1 krát 4, plus 0 krát 2, plus 1 krát 1. A výsledek je… 13.
Ondřej: Páni. Zní to složitě, ale ten princip je vlastně docela jednoduchý. A co naopak? Třeba převést moje šťastné číslo 25 do jazyka počítačů?
Adéla: To je taky snadné! Prostě to číslo opakovaně dělíš dvěma a zapisuješ si zbytky. U pětadvacítky to bude… 25 děleno 2 je 12, zbytek 1. 12 děleno 2 je 6, zbytek 0… A tak dál, dokud se nedostaneš k nule. Zbytky pak přečteš od konce a máš výsledek: 11001₂.
Ondřej: Neuvěřitelné. A na tomhle stojí úplně všechno? I složité operace?
Adéla: Ano, základem jsou takzvané logické obvody, které jsou složené z miliard maličkých přepínačů – tranzistorů. A ty nedělají nic jiného, než že bleskově přepínají mezi nulou a jedničkou.
Ondřej: Takže i obyčejné sčítání probíhá v jedničkách a nulách?
Adéla: Jistě. Je to stejné jako u nás, jen jednodušší. Když sečteš 1 + 1, výsledek je 2, což je ve dvojkové soustavě 10. Takže napíšeš 0 a jedničku si přeneseš do dalšího sloupce. Jednoduchá matematika, jen strašně, strašně rychlá.
Ondřej: Takže v jádru je můj super výkonný herní počítač vlastně jen extrémně rychlý počtář, který zná jen čísla do jedničky. To je docela pokořující.
Ondřej: Takže když už chápeme, co ty nuly a jedničky znamenají, jak s nimi počítač vlastně počítá? Třeba sčítání... to mi přijde složité.
Adéla: Vůbec ne. Je to skoro jako v desítkové, jen mnohem jednodušší. Jsou jen čtyři základní pravidla. Nula plus nula je nula, nula plus jedna je jedna.
Ondřej: To dává smysl. A co ten klíčový moment? Jedna plus jedna?
Adéla: Jedna plus jedna je nula, ale s přenosem jedničky do dalšího, vyššího řádu. Je to stejný princip, jako když v desítkové sčítáš 9 a 1. Dostaneš nulu a přeneseš jedničku.
Ondřej: Aha! Zkusme si příklad. Co třeba sečíst jedenáct a šest? Binárně tedy 1011 plus 0110.
Adéla: Skvělý nápad. Jdeme zprava. První sloupec: jedna plus nula je jedna. Druhý sloupec: jedna plus jedna je nula a přenášíme jedničku.
Ondřej: Rozumím. Ve třetím sloupci tedy máme nula plus jedna plus ten přenos... takže zase nula a opět přenášíme jedničku.
Adéla: Přesně! A v posledním sloupci máme jedna plus nula plus přenos... a výsledek je 10001. Což je sedmnáct. Všechno sedí!
Ondřej: Perfektní! A tohle si právě můžete sami zkusit v naší interaktivní simulaci „Sčítání“. Tam uvidíte ty přenosy krok za krokem.
Adéla: Přesně tak. Ale aritmetika není jen o sčítání. Co takové násobení? To je teprve zajímavé...
Ondřej: Takže teď víme, že počítače mluví v jedničkách a nulách. Ale jak s nimi vlastně... přemýšlí?
Adéla: Skvělá otázka! A odpověď jsou logická hradla. To jsou úplné základy, takové cihly, ze kterých je postavený celý digitální svět.
Ondřej: Dobře, cihly. Jaká je první cihla?
Adéla: První je hradlo AND, neboli logický součin. Představ si ho jako takového přísného vyhazovače v klubu.
Ondřej: Vyhazovač? To zní zajímavě.
Adéla: Přesně tak. Pustí tě dál — tedy dá na výstupu jedničku — jen pokud jsou VŠECHNY vstupy taky jedničky. Stačí jedna nula a máš smůlu, výstup je nula.
Ondřej: Takže AND je dost nekompromisní. Co dál?
Adéla: Pak máme hradlo OR, logický součet. To je naopak pohodář. Stačí mu, když je ALESPOŇ JEDEN vstup jednička, a hned je výstup taky jedna.
Ondřej: A nulu dá jen když jsou všechny vstupy nuly?
Adéla: Přesně. A poslední do party je NOT, neboli negace. To je takový rebel, vždycky dělá opak.
Ondřej: Takže když mu řekneš 'jedna', on řekne 'nula'?
Adéla: Naprosto přesně. Má jen jeden vstup a výstup je vždycky jeho pravý opak.
Ondřej: Takže... AND, OR a NOT. To jsou ty základní stavební kameny?
Adéla: Ano. A teď to nejlepší — kombinací těhle tří jednoduchých hradel postavíš prakticky cokoliv. Třeba sčítačku, paměť... a nakonec i celý procesor ve tvém mobilu.
Ondřej: Páni. Z tak jednoduchých věcí... To je fascinující. A jak přesně se z toho postaví třeba ta sčítačka? Na to se podíváme hned vzápětí.
Ondřej: Takže teď, když máme za sebou tyhle základní stavební kameny, je asi čas podívat se na samotný mozek celé operace, ne?
Adéla: Přesně tak. A tím mozkem je bezpochyby procesor, neboli CPU. Bez něj je počítač jen... drahé těžítko.
Ondřej: Dobře řečeno. Co se tedy v tomhle „mozku“ vlastně skrývá?
Adéla: Představ si ho jako malou firmu se třemi klíčovými odděleními.
Ondřej: Firma v čipu? To zní zajímavě. Povídej.
Adéla: Takže, zaprvé tu máme Řídící jednotku. To je takový šéf, který všechno organizuje. Říká ostatním částem, co mají dělat a kdy. Je to koordinátor celé show.
Ondřej: Rozumím, takový projektový manažer.
Adéla: Přesně! Pak je tu Aritmeticko-logická jednotka, zkráceně ALU. Tohle je oddělení výpočtů. Je to v podstatě super rychlá kalkulačka, která zvládá veškerou matematiku a logiku.
Ondřej: Sčítání, odčítání, porovnávání... všechny ty věci, o kterých jsme se bavili.
Adéla: Ano. A nakonec, a to je hodně důležité, jsou tu registry. Jsou to takové miniaturní, extrémně rychlé bločky pro poznámky přímo v procesoru.
Ondřej: Takže místo aby si procesor zapisoval věci někam daleko, má je hned po ruce?
Adéla: Přesně tak! Drží si tam data, se kterými zrovna pracuje. Díky tomu nemusí neustále sahat do pomalejší operační paměti a všechno je bleskové.
Ondřej: A rychlost celého procesoru se pak měří v těch gigahertzích, že?
Adéla: Správně. Gigahertz udává, kolik miliard takových operací, nebo cyklů, zvládne za sekundu. Čím víc, tím obvykle lépe.
Ondřej: Dobře, máme šéfa, kalkulačku a poznámkové bločky. Ale jak spolupracují? Jak ten procesor vlastně pracuje krok za krokem?
Adéla: To je skvělá otázka! Všechno se točí kolem něčeho, čemu říkáme instrukční cyklus. Zní to složitě, ale je to vlastně jednoduchý, neustále se opakující tříkrokový tanec.
Ondřej: Tři kroky? To zvládnu. Jaké to jsou?
Adéla: Zaprvé, fáze načítání neboli „Fetch“. Řídící jednotka sáhne do paměti pro další instrukci. Je to jako kuchař, který si přečte další řádek v receptu.
Ondřej: Ok, mám instrukci.
Adéla: Zadruhé, fáze dekódování neboli „Decode“. Řídící jednotka se na tu instrukci podívá a zjistí, co znamená. Přeloží si ji do jazyka, kterému rozumí zbytek procesoru. Kuchař si přečte „přidej špetku soli“ a pochopí, co má udělat.
Ondřej: Aha, takže teď ví, co dělat. A co dál?
Adéla: Přichází třetí fáze: vykonávání, „Execute“. Procesor provede, co mu instrukce řekla. Třeba pošle dvě čísla do ALU, aby je sečetla, nebo zapíše výsledek do registru. Kuchař vezme solničku a osolí jídlo.
Ondřej: A tenhle cyklus – načti, pochop, proveď – se prostě opakuje pořád dokola?
Adéla: Neustále! A to v neuvěřitelné rychlosti, mluvíme o miliardách cyklů za sekundu. Právě tenhle nekonečný koloběh je to, co umožňuje spouštět programy, hrát hry, cokoliv.
Ondřej: Páni. To je těžké si představit. Existuje způsob, jak to vidět v akci?
Adéla: Určitě. V naší interaktivní simulaci, kterou nazýváme „Miniaturní CPU“, si to můžete celé vizualizovat. Uvidíte přesně, jak si procesor načítá instrukci z paměti.
Ondřej: Takže uvidím ten „Fetch“ krok?
Adéla: Ano. A pak uvidíte, jak se instrukce dekóduje a jak se třeba rozsvítí ALU, když provádí výpočet. Můžete sledovat, jak se mění hodnoty v registrech a jak programový čítač ukazuje na další a další instrukci.
Ondřej: Takže tenhle abstraktní koncept se tam stane něčím hmatatelným. To je super.
Adéla: Přesně o to jde. Vidět ten cyklus v pohybu pomůže pochopit, jak z jednoduchých kroků vzniká složité chování počítače.
Ondřej: Perfektní shrnutí. Takže teď chápeme mozek, procesor. Ale ten mozek potřebuje pracovat s pamětí. Pojďme se tedy v další části ponořit právě do ní.
Ondřej: Takže to byly základy. Ale Adélo, teď se pojďme podívat na chyby a mýty, se kterými se lidi u počítačů často setkávají.
Adéla: Určitě. Začněme tou nejčastější... záměna bitů a bajtů. Spousta lidí si myslí, že je to to samé.
Ondřej: Jo, to znám! Poskytovatel internetu mi slibuje rychlost v megabitech, ale soubory stahuju v megabajtech. A ta čísla nesedí!
Adéla: Přesně tak. Je to jednoduché – jeden bajt je osm bitů. Takže rychlost 100 megabitů za sekundu je ve skutečnosti jen 12,5 megabajtu za sekundu. To je ten rozdíl.
Ondřej: Dobře, to dává smysl. A co další mýtus? Třeba ten, že nám počítače „rozumí“?
Adéla: Přesně. Počítače nám vůbec nerozumí jako lidé. Ony jen extrémně rychle vykonávají jednoduché, přesně dané instrukce.
Ondřej: Takže když mluvím na chytrou asistentku, ona mi ve skutečnosti nerozumí? Trochu děsivé.
Adéla: Spíš neosobní. Její „inteligence“ spočívá v rychlosti zpracování, ne v chápání.
Ondřej: A poslední věc – software a hardware. Mnoho lidí si myslí, že jsou to dva oddělené světy.
Adéla: Ano, ale jsou neoddělitelně spojené. Software jsou instrukce, které řídí hardware. Je to jako recept a kuchyňské náčiní.
Ondřej: Recept bez hrnců je k ničemu… a hromada hrnců bez receptu ti taky večeři neuvaří.
Adéla: Přesně tak! Skvělé přirovnání. Jedno bez druhého prostě nefunguje. Tvoří jeden celek.
Ondřej: Super, díky za vyjasnění. Teď, když jsme si vyvrátili pár mýtů, pojďme se podívat, jak ten software vlastně vzniká…
Ondřej: Takže po vší té teorii se konečně dostáváme k něčemu, co si můžete sami osahat. Tedy… virtuálně.
Adéla: Přesně tak. Jako poslední bod tu máme interaktivní simulaci. Je to skvělý způsob, jak si principy fungování počítače otestovat v praxi.
Ondřej: Super. Co konkrétně si tam můžeme vyzkoušet?
Adéla: Simulace má několik částí. Ta první a nejdůležitější je dvojková soustava. Chceme, abyste si vizuálně ověřili, jak fungují převody čísel.
Ondřej: Takže už žádné počítání na papíře? To se mi líbí!
Adéla: Přesně. Uvidíš řadu přepínačů, které reprezentují jednotlivé bity. Když nějaký přepneš, okamžitě se ti změní celková desítková hodnota.
Ondřej: Chápu. Takže vidím, že každý ten přepínač má svoji váhu – nějakou mocninu dvou – a simulace jen sčítá ty zapnuté.
Adéla: Přesně tak. Pomůže ti to doslova „vidět“, jakou poziční hodnotu každý bit má. Je to mnohem intuitivnější.
Ondřej: Skvělé. To zní jako perfektní tečka za vším, co jsme dnes probrali. Od základů až po praktické osahání si binární soustavy. Adélo, moc děkuji.
Adéla: Já taky děkuju. A doufám, že si simulaci užijete.
Ondřej: To určitě. Vám, milí posluchači, děkujeme za pozornost a přejeme hodně úspěchů u studia. Mějte se hezky a zase příště u Studyfi Podcastu na shledanou.
Adéla: Na shledanou.