Kategorie

Počítačová architektura

Pod každou abstrakcí je nakonec křemík s vlastními pravidly. Kategorie pokrývá stavbu procesoru, paměťovou hierarchii, instrukční sady a souběžnost na úrovni hardwaru.

Je to část slovníku, která nejvíc vysvětluje výkonnostní překvapení: proč je průchod polem rychlejší než průchod spojovým seznamem se stejným počtem prvků.

Hesel
35
Zpět na celý slovník
Zobrazit

35 hesel

A

Adresa v paměti

memory address

Adresa v paměti je číslo, kterým procesor jednoznačně označuje konkrétní buňku operační paměti, obvykle jeden bajt. Program pomocí adresy říká, odkud má data načíst nebo kam je zapsat. Adresy tvoří souvislý číselný rozsah, jehož velikost určuje šířka adresní sběrnice a architektura, typicky 32 nebo 64 bitů.

Android je operační systém postavený nad linuxovým jádrem, který vyvíjí Google a otevřeně uvolňuje jako projekt AOSP. Android pohání převážnou většinu chytrých telefonů, dále tablety, televize, hodinky i palubní systémy aut. Aplikace se pro něj píší hlavně v Kotlinu nebo Javě a distribuují přes Google Play i alternativní obchody.

B

Bit a byte

bit a bajt

Bit a byte znamená dvojici základních jednotek digitálních dat: bit vyjadřuje jednu binární hodnotu 0 nebo 1, zatímco byte je skupina osmi bitů používaná jako praktická jednotka paměti a souborů. Rozdíl je důležitý při počítání kapacity, síťové rychlosti, kódování textu i práci s nízkoúrovňovými daty.

Booleovské operace

Boolean operations

Booleovské operace jsou logické operace nad hodnotami pravda a nepravda, především AND (konjunkce), OR (disjunkce), NOT (negace) a XOR (nonekvivalence). Tvoří základ Booleovy algebry, řídí podmínky v programovacím kódu, filtry ve vyhledávání i klauzuli WHERE v SQL a na úrovni hardwaru je realizují logická hradla procesoru.

Bootování je proces, kterým se počítač po zapnutí dostane od několika instrukcí v paměti ROM až k plně běžícímu operačnímu systému. Firmware (UEFI nebo BIOS) otestuje a inicializuje hardware, najde bootovatelné zařízení, spustí zavaděč a ten načte jádro systému do RAM a předá mu řízení.

Bufferování

Buffering

Bufferování je dočasné shromažďování dat ve vyhrazené oblasti paměti (bufferu) mezi dvěma částmi systému, které pracují různou rychlostí nebo po různě velkých dávkách. Zápis se hromadí, dokud se buffer nezaplní nebo dokud ho program nevyprázdní, a teprve pak odchází dál. Cílem je méně drahých operací a plynulejší tok dat.

C

CPU

centrální procesorová jednotka

CPU je hlavní výpočetní část počítače, která načítá a vykonává instrukce programů, řídí tok dat mezi pamětí a periferiemi a provádí aritmetické i logické operace. V praxi rozhoduje o tom, jak rychle běží sekvenční kód, kolik úloh lze obsluhovat paralelně a kde vzniká výpočetní úzké hrdlo.

Culling je technika v grafickém programování, která před vykreslením vyřazuje objekty, plochy nebo fragmenty považované za neviditelné či nepodstatné pro aktuální záběr. Cílem je snížit počet výpočtů pro GPU, šetřit paměťovou propustnost a udržet stabilní snímkovou frekvenci bez změny viditelného výsledku.

D

Deadlock

uváznutí

Deadlock je stav, kdy se dva nebo více procesů, vláken nebo transakcí navzájem blokují, protože každý drží prostředek, který potřebuje někdo další. Výpočet pak nemůže pokračovat bez zásahu plánovače, databáze nebo aplikace, typicky u zámků, mutexů, souborů či řádků v databázi.

E

Endianita je pravidlo, v jakém pořadí se bajty vícebajtového čísla ukládají do paměti nebo posílají po síti. Big endian zapisuje nejvýznamnější bajt jako první, little endian naopak nejméně významný. Rozdíl se projeví vždy, když jeden systém čte binární data zapsaná jiným systémem s opačnou konvencí.

F

Firmware je software uložený přímo v paměti zařízení, který ovládá jeho hardware a spouští se dřív než operační systém nebo aplikace. Najdete ho v routerech, discích, klávesnicích, platebních terminálech i v čipech uvnitř počítače. Aktualizuje se zvláštním postupem zvaným flashování a jeho selhání může zařízení vyřadit z provozu.

G

GPU

grafický procesor

GPU je specializovaný procesor navržený pro masivně paralelní výpočty, zejména vykreslování grafiky a zpracování maticových operací. Oproti CPU má mnoho jednodušších výpočetních jednotek, které současně provádějí podobné instrukce nad velkým objemem dat, například pixely, vertexy, texturami nebo tenzory ve strojovém učení.

I

Instrukční sada

instruction set

Instrukční sada je formální soubor strojových instrukcí, registrů, datových typů a pravidel, kterým procesor nebo virtuální stroj rozumí. Tvoří hranici mezi hardwarem a softwarem: kompilátor do ní překládá program a procesor podle ní provádí operace, například aritmetiku, skoky nebo práci s pamětí.

K

Kontejner

container

Kontejner je izolované běhové prostředí pro aplikaci, které obsahuje její kód, knihovny a nastavení, ale obvykle sdílí jádro operačního systému hostitele. V praxi umožňuje spustit stejný software lokálně, na serveru i v cloudu s menším režijním zatížením než plnohodnotný virtuální stroj.

Kvantizace modelu

Model quantization

Kvantizace modelu je převod vah a někdy i aktivací neuronové sítě z přesnějšího číselného formátu, typicky 32bitového float, do formátu s menším počtem bitů, například INT8 nebo 4bitového celého čísla. Model tím zabere méně paměti a počítá rychleji, výměnou za malou a měřitelnou ztrátu přesnosti výstupů.

M

Multithreading

vícevláknové zpracování

Multithreading je souběžné vykonávání více vláken uvnitř jednoho procesu, přičemž vlákna sdílejí stejný adresní prostor a otevřené soubory, ale mají vlastní zásobník a čítač instrukcí. Umožňuje využít víc jader procesoru najednou nebo pokračovat v práci, zatímco jiné vlákno čeká na disk či síť.

Mutex

zámek vzájemného vyloučení

Mutex je synchronizační primitivum, které zaručuje, že do chráněné sekce kódu vstoupí v jednu chvíli nejvýše jedno vlákno. Vlákno zámek zamkne, provede práci nad sdílenými daty a zámek odemkne; ostatní vlákna mezitím čekají. Název vznikl zkrácením anglického mutual exclusion, tedy vzájemné vyloučení přístupu ke sdílenému prostředku.

O

Operační systémOS

Operating system

Operační systém je software, který spravuje hardware počítače a rozděluje jeho zdroje mezi běžící programy. Přiděluje procesorový čas, paměť, přístup k disku a k síti, izoluje procesy od sebe navzájem a nabízí aplikacím jednotné rozhraní systémových volání. Bez operačního systému by každý program musel ovládat konkrétní hardware sám.

Ovladač zařízení je programová vrstva, která překládá obecné požadavky operačního systému na konkrétní registry, přerušení a datové přenosy daného hardwaru. Díky ovladači může aplikace zapsat do souboru nebo vykreslit obraz, aniž by znala model disku či grafické karty. Ovladače běží nejčastěji v jádře, část jich pracuje i v uživatelském prostoru.

P

Paket

Packet

Paket je základní jednotka dat přenášená počítačovou sítí, složená z hlavičky s adresami a řídicími údaji a z užitečného obsahu. Odesílatel rozdělí zprávu na pakety, síť je doručuje nezávisle na sobě různými cestami a příjemce z nich původní data znovu poskládá do správného pořadí.

Paralelní zpracování

Parallel processing

Paralelní zpracování je způsob výpočtu, při kterém se úloha rozdělí na části běžící současně na více výpočetních jednotkách, typicky na jádrech procesoru, na GPU nebo na několika strojích v clusteru. Cílem je zkrátit dobu výpočtu, přičemž zrychlení omezuje ta část úlohy, kterou rozdělit nelze, a režie na komunikaci mezi částmi.

Pipelining

zřetězené zpracování

Pipelining je technika, při které se zpracování rozdělí na několik po sobě jdoucích fází a ty běží současně nad různými položkami, takže se překrývá čekání s prací. Procesor tak začne načítat další instrukci dřív, než dokončí předchozí, a klient pošle další požadavek bez čekání na odpověď. Zvyšuje průchodnost, nikoli latenci jedné položky.

Procesorové jádro je samostatná výpočetní část CPU, která načítá a vykonává instrukce programu. Vícejádrový procesor obsahuje několik takových jednotek, takže může paralelně zpracovávat více úloh nebo vláken. Skutečné zrychlení závisí na softwaru, operačním systému, sdílených zdrojích a tom, zda práce jde rozdělit.

R

Race condition

souběhová chyba

Race condition je chyba souběhu, při níž správnost programu závisí na náhodném pořadí nebo načasování operací nad sdíleným stavem. Projeví se typicky ve vláknech, asynchronním kódu, databázových transakcích nebo distribuovaných systémech, kde dvě části programu čtou a mění stejná data bez dostatečné synchronizace.

RAM

operační paměť

RAM je rychlá pracovní paměť počítače, do které procesor ukládá data a instrukce právě běžících programů. Na rozdíl od disku ztrácí obsah po vypnutí napájení, ale nabízí výrazně kratší přístupové časy. Množství RAM ovlivňuje, kolik aplikací a dat lze zpracovávat bez zpomalení swapováním.

Rasterizace

Rasterization

Rasterizace je převod geometrie, písma, vektorových tvarů nebo obrazových popisů na mřížku pixelů či vzorků. V grafických kartách tvoří klíčový krok mezi 3D scénou a obrazem na displeji: rozhoduje, které pixely pokrývá trojúhelník, jakou mají hloubku a jaké fragmenty dostanou shadery.

Ray tracing

sledování paprsků

Ray tracing je technika vykreslování, která simuluje cestu světelných paprsků scénou a z jejich průsečíků s objekty počítá barvu pixelů. Používá se pro věrohodné odrazy, stíny, průhlednost a globální osvětlení, ale je výpočetně náročnější než běžná rasterizace.

Registr procesoru

CPU register

Registr procesoru je malá paměťová buňka přímo uvnitř jádra CPU, do které se ukládají operandy, mezivýsledky a adresy, se kterými instrukce právě pracuje. Přístup trvá zlomek nanosekundy, řádově rychleji než čtení z cache nebo z operační paměti. Registrů je jen desítky a jejich jména jsou pevnou součástí instrukční sady.

S

Sběrnice je komunikační cesta, po které si části počítače nebo vestavěného systému předávají data, adresy a řídicí signály. Určuje, kdo může mluvit, jak rychle přenos probíhá a jak zařízení poznají správného příjemce; fyzicky může jít o vodiče, konektor, protokol nebo jejich kombinaci.

Souborový systém je způsob organizace dat na úložišti, který převádí očíslované bloky disku na pojmenované soubory a adresáře. Určuje, jak se ukládá obsah, metadata (velikost, práva, časy) i volné místo, a jak se stav udrží konzistentní při výpadku napájení. Příkladem jsou ext4, NTFS, APFS, XFS nebo ZFS.

SSD

polovodičový disk

SSD je úložné zařízení, které data ukládá do polovodičové flash paměti NAND místo na rotující magnetické plotny. Nemá pohyblivé části, takže přístup k libovolnému místu trvá řádově desítky mikrosekund a náhodné čtení je stokrát až tisíckrát rychlejší než u pevného disku. Řadič uvnitř SSD navíc mapuje logické bloky na fyzické buňky.

V

Virtualizace

Virtualization

Virtualizace je technika, při níž software vytváří oddělenou vrstvu mezi fyzickým hardwarem a operačními systémy, aplikacemi nebo úložištěm, takže jeden počítač může bezpečně hostit více izolovaných prostředí. Používá se v serverech, cloudu, vývoji i testování, protože zlepšuje využití zdrojů a zjednodušuje správu.

Vlákno

thread

Vlákno je samostatná posloupnost vykonávání instrukcí uvnitř procesu, kterou operační systém nebo běhové prostředí plánuje na procesor. Více vláken může sdílet paměť a otevřené zdroje stejného procesu, takže usnadňují souběžnou práci, ale vyžadují synchronizaci kvůli závodům, deadlockům a obtížně reprodukovatelným chybám.

Von Neumannova architektura

Von Neumann architecture

Von Neumannova architektura je model počítače, ve kterém jsou program i data uloženy ve stejné operační paměti a procesor je čte přes společnou sběrnici. Instrukce se vykonávají sekvenčně v cyklu načtení, dekódování a provedení. Na tomto principu stojí drtivá většina dnešních počítačů, serverů i mobilních telefonů.

Vykreslovací pipeline

rendering pipeline

Vykreslovací pipeline je posloupnost pevně daných kroků, kterými grafická karta promění popis 3D scény (vrcholy, transformace, materiály) na barvy jednotlivých pixelů ve výsledném obrazu. Zahrnuje zpracování vrcholů, sestavení primitiv, ořez, rasterizaci, výpočet barvy fragmentů a zápis do framebufferu. Programovatelné části pipeline řídí shadery, zbytek obstarává pevná logika hardwaru.

Další obory

Ostatní kategorie webzi slovník

Softwarový vývoj

Jazyky, paradigmata, návrhové vzory a testování: pojmy, které rozhodují o tom, jestli se kód dá po roce ještě rozšiřovat.

149 hesel

Webové technologie

HTTP, DOM, prohlížečová API a frameworky: co se doopravdy děje mezi zadáním adresy a vykreslenou stránkou.

117 hesel

Databáze

SQL i NoSQL, indexy, transakce a konzistence: proč jsou některé dotazy okamžité a jiné položí server.

47 hesel

Datová analytika

ETL, datové sklady, metriky a statistika: jak z provozních dat vzniká něco, podle čeho se dá rozhodovat.

70 hesel

Umělá inteligence

Jazykové modely, agenti, prompt engineering a RAG: pojmy z oboru, kde slovník zastarává rychleji než kdekoli jinde.

43 hesel

Strojové učení

Modely, trénink, evaluace a to, proč model s výbornou přesností může být v praxi k ničemu.

49 hesel

Sítě a protokoly

TCP/IP, DNS, TLS a CDN: vrstvy, po kterých data cestují, a místa, kde se to obvykle rozbije.

44 hesel

Cloud a DevOps

Kontejnery, CI/CD, infrastruktura jako kód a observabilita: jak se software dostane do provozu a jak se v něm udrží.

67 hesel

Kyberbezpečnost

Kryptografie, autentizace a útoky: pojmy, u kterých se nepřesnost v definici rovnou promítne do zranitelnosti.

68 hesel

Digitální marketing

Atribuce, kanály, kampaně a metriky: co jednotlivá čísla v reportu skutečně měří.

55 hesel

SEO

Technické SEO, indexace a optimalizace pro AI vyhledávače: jak se obsah dostane k lidem i k jazykovým modelům.

41 hesel

Online platby

Platební brány, karetní schémata, 3-D Secure a PCI DSS: cesta peněz od tlačítka Zaplatit k účtu obchodníka.

32 hesel

E-commerce

Katalog, košík, checkout a fulfillment: pojmy z provozu e-shopu, kde se každé procento konverze počítá.

70 hesel

Kvantitativní trading

Mikrostruktura trhu, riziko a backtesting: pojmy z oboru, kde chyba v metodice vypadá jako zisk.

5 hesel

Grafické programování

Shadery, rasterizace a GPU: jak se z čísel v paměti stane obraz na displeji.

40 hesel

3D design

Modelování, materiály a rendering: pojmy z tvorby trojrozměrné grafiky, od sítě polygonů po finální obraz.

29 hesel

UX/UI design

Interakce, přístupnost a design systémy: pojmy, které rozhodují o tom, jestli se produkt dá používat.

48 hesel

Mobilní vývoj

iOS, Android a multiplatformní přístupy: pojmy z vývoje aplikací, které běží v cizím obchodě a na cizích pravidlech.

33 hesel

Právo a compliance

GDPR, PCI DSS, EU AI Act a přístupnost: regulace, které se promítají přímo do zadání vývoje.

47 hesel