Hardwarové přerušení

Jak už víte z předchozích kapitol, procesor zpracovává instrukce sériově, tedy za sebou, jednu po druhé. Procesor v rámci pipeline je sice schopný zpracovávat instrukce v různých krocích, může v rámci této pipeline přeskakovat zbytečné instrukce či predikovat jejich výsledek, každopádně pořád platí to, že procesor v každém tomto kroce zpracovává právě pouze jednu instrukci. Kdyby však toto bylo vše, co procesor umí, tak bychom s počítači zůstávali někde v dávné historii. Stále bychom používali počítače tím způsobem, že bychom jim museli nejdřív zadat seznam instrukcí, pak je spustit a počkat na výsledek. ...

2 min · 316 slov · Miroslav Thompson

Softwarové přerušení

Softwarové přerušení je situace kdy nějaká instrukce, záměrně či nezáměrně, vyvolá přerušení obdobně, jako u hardwarového přerušení. Záměrné vyvolání přerušení je mechanismus běžně používaný operačními systémy a ve vývoji softwaru. K tomu se ještě vrátíme později v kapitolách o operačních systémech a tvorbě softwaru. Nezáměrné vyvolání přerušení může způsobit chybné použití instrukce. Typický příklad je dělení nulou u instrukce pro dělení čísel. Nebo se snažíte zapsat na adresu v paměti, která neexistuje A podobně. Vyvolání přerušení Funguje to velmi podobně, jako hardwarové přerušení. ...

1 min · 134 slov · Miroslav Thompson

Multijádrové procesory

Jak víte z předchozích dílů, procesor zpracovává instrukce v sérii za sebou, jednu po druhé. Přestože moderní procesory obsahují více krokové pipeliny které jsou schopné v každém kroku zpracovávat jednu instrukci tak není možné, aby v rámci jednoho kroku pipeliny bylo zpracováváno více, než jedna instrukce. Technologický vývoj a s ním spojené neustálé zmenšování obvodů a tranzistorů v procesoru však umožnil, že procesory mají více jader. Jinými slovy, jeden fyzický procesor je ve skutečnosti několik procesorů najednou a každý tento procesor dokáže běžet nezávisle na ostatních. ...

1 min · 200 slov · Miroslav Thompson

Sběrnice

Sběrnice (anglicky “bus”) je bitový kanál sloužící pro komunikaci mezi procesorem, RAM pamětí, chipsetem základní desky a všemi ostatními komponentami (vstupy a výstupy) v počítači. Sběrnice 3 tradiční typy sběrnic Tradičně se v IT učebnicích a zdrojích mluví o 3 typech sběrnic které propojují všechny komponenty napříč celým počítačem. Uvádí se tyto 3 typy sběrnic. Adresová sběrnice: Toto je sběrnice která posílá informace o adresách tzn. odkud a kam se mají bity v datové sběrnici posílat. Datová sběrnice: Toto je sběrnice která posílá samotná data na adresy určené adresovou sběrnicí. Řídící sběrnice: Tato sběrnice určuje, jaká datová operace právě probíhá tzn.: zápis či čtení. Realita v moderních počítačích Spousta různých sběrnic V počítačích je spousta různých sběrnic, které moderní procesory dokáží obsluhovat nezávisle na sobě. Tyto sběrnice slouží různým účelům, nemusí být striktně rozděleny na adresovou, datovou a řídící, a fungují na různých rychlostech. ...

2 min · 370 slov · Miroslav Thompson

RAM paměť a tok instrukcí

RAM paměť je extrémně rychlá, dokáže fungovat na vysokých frekvencích avšak za cenu toho, že po odpojení z elektřiny - tedy po vypnutí počítače - jakékoliv informace z RAM paměti zmizí (viz. Flip-flop). Procesor za běžného provozu čte svoje instrukce z RAM paměti. Tok instrukcí

1 min · 45 slov · Miroslav Thompson

Synchronní I/O instrukce

U běžných počítačů můžete předpokládat, že procesor dokáže komunikovat s každou komponentou - tzn. s každým vstupem a výstupem - napřímo. Tzn. procesor je schopný na základě dané instrukce přečíst nebo zapsat data do jakékoliv jiné komponenty v systému. Sybchronní komunikace Nevýhoda tohoto způsobu spočívá v tom, že instrukce plýtvá obrovské množství cyklů protože jakékoliv I/O zařízení je řádově pomalejší, než samotný procesor. Zatímco procesor pracuje v rychlostech miliardy cyklů za vteřinu tak ostatní komponenty jsou vždy pomalejší. Procesor tak čekáním může vyplýtvat klidně celé miliardy cyklů. U běžného použití to znamená, že se počítač může reálně “kousnout” protože čeká na nějaké zařízení. ...

1 min · 111 slov · Miroslav Thompson

Asynchronní I/O instrukce

Asynchronní I/O instrukce fungují oproti synchronním instrukcím tak, že procesor těmito instrukcemi instruuje chipset základní desky aby: pro čtení: připravil data která potřebuje do RAM paměti pro zápis: data z RAM paměti vzal a zapsal je do dané I/O komponenty. Tímto způsobem procesor komanduje základní desku co má dělat, nemusí se zdržovat čekáním na ostatní komponenty a může pokračovat ve zpracovávání běžného toku instrukcí. Jakmile je operace čtení/zápisu hotová tak chipset základní desky pošle do procesoru přerušení na které procesor může navázat. ...

1 min · 95 slov · Miroslav Thompson

BIOS a UEFI

Základní desky u moderních počítačů obsahují přímo v sobě zabudovaný miniaturní a velmi primitivní “operační systém”. Nedá se ale ještě mluvit o plnohodnotném operačním systému. Běžně v něm nelze instalovat a spouštět jiné programy. Tento systém slouží pro diagnostiku a konfiguraci počítače a jednotlivých komponent na úplně základní úrovni která nemusí být možná v rámci plnohodnotného operačního systému. Pro běžného ajťáka je důležité vědět, že tento systém se běžně stará o nalezení instrukcí, které má procesor spustit. Ze zapojených dostupných komponent (zpravidla z persistentního uložiště jako SSD, HDD, Flash) se snaží najít tzv. boot record což jsou instrukce identifikující začátek nějakého programu. ...

2 min · 256 slov · Miroslav Thompson

Program

Všechny moderní procesory fungují na stejném principu jako před 70 lety. Krok 1: Nějakým způsobem 1 jsou odněkud 2 zkopírovány instrukce do RAM paměti. Krok 2: Procesor čte připravené instrukce jednu po druhé až do konce. Co je program? Program (nebo software, nebo aplikace, ať už to nazveme jakkoliv 3, z pohledu bitové vrstvy není nic jiného než nějaký seznam instrukcí. Program = seznam instrukcí Běžný uživatel - a v mém pojetí i běžný ajťák - má ve svém počítači na disku připravený operační systém a nikdy nepřipravuje programy napřímo pro procesor. 4 ...

1 min · 173 slov · Miroslav Thompson

Jediný běžící program

V předchozí kapitole Program jsem ve dvou krocích vysvětlit jak se na počítačích spouští programy napřímo. ⚠️ Důležité pro zapamatování: Tímto způsobem, stejně jako před 70 lety, je možné spustit pouze jeden jediný program respektive jeden program pro každé procesorové jádro. Běžný uživatel a běžný ajťák v mém pojetí tímto způsobem s počítačem nepracují. Pracují až na úrovni operačního systému. K tomu se dostanu v pozdějších kapitolách.

1 min · 67 slov · Miroslav Thompson