Funkce / podrutina 2

⚠️ Koncept funkcí je v IT extrémně důležitý a objevuje se úplně všude. Pro stisknutí tlačítka na klávesnici se spustila nějaká funkce Při načtení webové stránky v prohlížeči se spustila nějaká funkce Při ztučnění písma ve Wordu se spustila nějaká funkce atd. V následujících 2 kapitolách se věnuji funkcím víc dopodrobna. V minulém díle jsem pojmenoval, co je funkce / podrutina a ukázal jsem, jak taková podrutina může být vyrobena díky JUMP instrukci. ...

1 min · 170 slov · Miroslav Thompson

Anatomie definice funkce/podrutiny

Pro vysvětlení anatomie definice funkce/podrutiny použiju příklad 7 = SEČTI(3, 4) z minulé kapitoly. Definice funkce je jenom takový lidský zápis díky kterému hned poznáte: název funkce kolik má vstupních parametrů. Jednotlivé parametry jsou oddělené čárkou co je výstupem funkce Definice funkce Vstupní parametry Vstupní parametry náleží k definici funkce. V příkladu SEČTI na obrázku výše to jsou sčítanec1 a sčítanec2. ⚠️ Funkce může mít libovolné množství vstupních parametrů ale také nemusí mít žádný vstupní parametr. ...

1 min · 142 slov · Miroslav Thompson

Anatomie volání funkce/podrutiny

Volání funkce je konkrétní použití funkce s konkrétními dosazenými hodnotami (pokud jsou nějaké). Pro vysvětlení anatomie volání funkce/podrutiny použiju příklad 7 = SEČTI(3, 4) z minulé kapitoly. Volání funkce Vstupní hodnoty V příkladu SEČTI to jsou hodnoty 3 a 4. Také lze říct, že: 3 je hodnota parametru “sčítanec1” 4 je hodnota parametru “sčítanec2” Vrácená hodnota V příkladu SEČTI to je hodnota 7. Také lze říct, že funkce SEČTI vrátila 7. ...

1 min · 106 slov · Miroslav Thompson

Calling convention

V předchozích kapitolách o podrutinách / funkcích jsem uvedl příklady, jak lze dělat podrutiny nebo funkce se vstupními/výstupními parametry jen s pomocí JUMP instrukce. Je nutné ale zdůraznit, že šlo pouze o ukázkové příklady. V moderních procesorech lze stejného výsledku dosáhnout obrovským množstvím jiných způsobů. Z tohoto důvodu existují calling conventions neboli volací konvence. 📜 Co je volací konvence? Volací konvence je soubor pravidel které určují, jaké instrukce se mají používat a jakým způsobem pro: ...

1 min · 207 slov · Miroslav Thompson

Řetězení funkcí/podrutin

Podrutiny/funkce lze libovolně řetězit. Jakmile zavoláte jednu funkci, tato funkce může zavolat další funkci, a tak dále. V moderních procesorech se funkce mohou řetězit klidně až na tisíce funkcí. Níže je zpomalená ilustrace řetězení funkcí v nějakém jednoduchém programu. Řetězení podrutin

1 min · 41 slov · Miroslav Thompson

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é. Kdyby však toto bylo vše, co procesor umí, tak bychom stále používali počítače stejným způsobem jako v dávné minulosti - museli bychom nejdřív napsat program, ten spustit a počkat na výsledek. Neměli bychom možnost změnit chování počítače za běhu. Přerušení, anglicky interrupt Řekněme, že zmáčknete tlačítko na klávesnici nebo pohnete myší. V ten moment dojde se signál z myši dostane až do procesoru prostřednictvím mechanismu, kterému se říká přerušení 1 - v tomto případě jde o hardwarové přerušení. ...

1 min · 205 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

Čipset základní desky

Procesor komunikuje s ostatními komponentami skrz čipset základní desky. To je sada různých specializovaných čipů a obvodů, jejichž jediným účelem je zprostředkovat komunikaci mezi procesorem a různými sběrnicemi. Sběrnice je specializovaný obvod, ke kterému se fyzicky připojuje nějaká komponenta. Existují různé druhy sběrnic. K některým lze připojit téměř jakékoliv zaříení (např. USB) a některé jsou více specializované na druh či konstrukci zařízení (např. PCI, PCIe, SATA). Komunikace mezi procesorem a ostatními komponentami ⚠️ Důležité k zapamatování: Obrovské složitosti tvořené všemi možnými mezinárodní korporáty zabývající se IT a výrobou počítačové techniky (Intel, AMD, NVIDIA, atd.) je lepší nechat na autorech operačních systémů. Běžný ajťák se těmito tématy (většinou) nezabývá. ...

1 min · 108 slov · Miroslav Thompson

Synchronní I/O instrukce

Procesor teoreticky dokáže komunikovat s každou komponentou napřímo. Procesor v instrukci vyšle signál k zařízení a čeká na odpověď od zařízení než bude pokračovat v toku instrukcí. Zařízení provede nějakou svoji operaci na základě signálu a vrátí odpověď procesoru Procesor obdrží odpověď a pokračuje v toku instrukcí. Tomu se říká synchronní komunikace. Sybchronní komunikace ⚠️ Důležité k zapamatování: Procesory běžných počítačů nikdy nekomunikují s ostatními zařízeními synchronně. Jakékoliv vstupní či výstupní zařízení je řádově pomalejší, než samotný procesor. Procesor může čekáním vyplýtvat celé miliardy cyklů čekáním na zařízení s rychlostí 100 Hz tedy 100 cyklů za vteřinu. ...

1 min · 97 slov · Miroslav Thompson

Asynchronní I/O instrukce

Procesor v běžných počítačích komunikuje s ostatními komponentami nepřímo neboli asynchronně. Procesor použije specializované instrukce, kterými nařizuje čipsetu základními desky následující: pro čtení: připrav data z nějaké komponenty do RAM paměti pro zápis: vem data z RAM paměti a odešli je do nějaké komponenty Procesor komanduje základní desku, aby komunikaci s ostatními komponentami obstarala za něj a může pokračovat v běžném 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 · 94 slov · Miroslav Thompson