Procesory
Central Processing Unit (CPU) je elektronická součást počítače, která umí vykonávat strojové instrukce programu, čímž realizuje požadovanou funkci.
Procesor je ve skutečnosti velmi komplikovaný integrovaný obvod křemíkových tranzistorů, který zpracovává data prostřednictvím strojového kódu. Na výkonu procesoru nejvíce závisí rychlost počítače.
Hlavní charakteristiky procesoru
- procházejí jím všechna data, která počítač aktivně zpracovává
- rychlost procesoru má zásadní dopad na celkovou svižnost celého počítačového systému
- má nejvyšší počet fyzických spojení (pinů) na základní desce a využívá nejrychlejší systémové sběrnice
- komunikuje s operační pamětí RAM, ale sám disponuje vlastními extrémně rychlými (ač rozměrově malými) pamětmi (registry a Cache)
Architektura a instrukční sady (CISC vs. RISC)
Instrukční sada (Instruction Set Architecture – ISA) je rozhraní mezi hardwarem a softwarem. Z pohledu programátora je to soubor dostupných instrukcí, registrů, datových typů a pravidel, kterými lze procesor ovládat. Přímé instrukce se používají například v jazyce Assembler. Vyšší programovací jazyky (např. C, C++, C#, Java) se překládají ze zdrojového kódu do konkrétní instrukční sady během procesu zvaného kompilace.
Dva hlavní filosofické přístupy k návrhu procesorů:
| Vlastnost | CISC (Complex Instruction Set Computer) | RISC (Reduced Instruction Set Computer) |
| Sada instrukcí | Rozsáhlá (stovky složitých i specializovaných instrukcí). | Menší/redukovaná (jen základní a jednoduché instrukce). |
| Vykonání instrukce | Jedna instrukce může trvat více hodinových cyklů. | Instrukce jsou jednoduché, vykonávají se zpravidla za 1 cyklus. |
| Komplexita čipu | Vyžaduje složitější dekódovací logiku na čipu. | Jednodušší design = méně tranzistorů. |
| Spotřeba energie | Vyšší spotřeba a vyzařované teplo. | Nižší spotřeba (vynikající energetická efektivita). |
| Typičtí zástupci | Architektura x86 / x86-64 (PC, servery, notebooky Intel/AMD). | Architektura ARM (mobily, monitory, Apple Silicon, úsporné notebooky). |
Složení procesoru
Procesor se uvnitř skládá z několika klíčových bloků, které spolu úzce spolupracují:

- aritmeticko–logická jednotka (ALU) – provádí vlastní výpočty nad celými čísly:
- aritmetické operace (sčítání, odečítání, násobení, dělení)
- porovnávací operace (rovnost, větší než, menší než)
- logické operace (AND, OR, NOT, XOR)
- řadič (Control Unit, CU)
- řídicí centrum procesoru
- načítá instrukce z paměti, dekóduje je (překládá, co se má udělat), organizuje jejich provedení a řídí tok dat mezi ostatními částmi čipu
- registry
- nejrychlejší paměťové obvody v počítači umístěné přímo uvnitř procesoru
- slouží k okamžitému uložení právě zpracovávaných dat a instrukcí
- např. programový čítač (ukazuje na adresu další instrukce), instrukční registr (drží právě prováděnou instrukci), akumulátor (ukládá výsledky z ALU)
- vyrovnávací paměť (cache)
- rychlá paměť přímo v procesoru (rychlejší než RAM)
- ukládá často používaná data, aby na ně CPU nemusel čekat
- dražší a mnohem menší kapacita než RAM
- L1 Cache – součást každého jádra, nejrychlejší, řádově desítky kB; běží na plné frekvenci jádra
- L2 Cache – velmi rychlá, jednotky MB; dedikovaná pro každé jádro zvlášť
- L3 Cache – sdílená paměť pro všechna jádra procesoru, desítky až stovky MB
- integrovaný paměťový řadič
- modul přímo na čipu procesoru, který se stará o bleskovou komunikaci s operační pamětí RAM
Nejmenší časovou jednotkou z hlediska procesoru je jeden cyklus. Většina operací běží několik cyklů. Jeden takt (cyklus) je vlastně jeden impuls hodinového signálu (clock). Ten se nachází na základní desce, přenáší se do procesoru a tam se může násobit (např. základní deska běží na taktu 100 MHz, násobič procesoru je 45, čili výsledná frekvence procesoru je 100 MHz krát 45 = 4,5 GHz).
Životní cyklus instrukce
Abychom si ukázali, co se v počítači děje, vezměme si jednoduchý příklad: uživatel v aplikaci Kalkulačka klikne na tlačítko pro součet dvou čísel.
Ačkoliv celý proces trvá pouhé stovky nanosekund, na pozadí proběhne přesně koordinovaná souhra hardwaru a softwaru, ze které nás nyní zajímá především část vykonávající se v procesoru:
- vyvolání akce
- uživatel klikne myší nebo stiskne klávesu na klávesnici
- vstupní zařízení vyšle do procesoru speciální signál zvaný IRQ (hardwarové přerušení; interrupt request)
- procesor ukončí aktuální akci (uloží obsah pracovních registrů a hodnotu programového čítače do paměti), podívá se do tabulky přerušení, kde sídlí ovladač myši (klávesnice) a přesměruje vykonávání kódu na tento ovladač, který kliknutí (klávesu) vyhodnotí
- komunikace s operačním systémem a RAM
- operační systém zjistí, že kliknutí patří aplikaci Kalkukačka
- operační systém vyhledá v operační paměti RAM potřebná data (např. zadaná čísla) a strojové instrukce, které říkají, co se s čísly má stát
- operační systém předá procesoru adresu v operační paměti RAM, kde tyto instrukce leží
- samotná práce CPU
- nyní se dostáváme k cyklu zvanému Fetch–Decode–Execute (FDE), který se vykonává neustále dokola
- Fetch – načtení instrukce
- řadič načte instrukci z operační paměti RAM
- instrukce se uloží do Cache paměti a z ní do instrukčního registru uvnitř CPU
- programový čítač se automaticky posune o krok dále, aby ukazoval na další instrukci v pořadí
- Decode – dekódování
- dekodér v řadiči rozebere instrukci a zjistí, co se po procesoru vlastně požaduje
- Execute – vykonání
- řadič předá čísla do ALU
- ALU provede samotnou matematickou operaci sčítání
- Writeback – zápis výsledku
- výsledek sčítání se zapíše zpět do jednoho z pracovních registrů procesoru a následně se prokopíruje do operační paměti RAM
- zobrazení odpovědi uživateli (výstup)
- operační systém převezme vypočítaný výsledek z operační paměti RAM
- operační systém instruuje grafickou kartu, aby překreslila okno aplikace Kalkulačka na obrazovce
- grafická karta pošle nový obrazový signál do monitoru
- uživatel vidí výsledek na obrazovce
Pro představu lze znázornit zpracovávání instrukcí (i1, i2…) v procesoru (za předpokladu, že každá akce trvá jeden cyklus) takto:
| Strojový cyklus | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|
| načtení instrukce | i1 | i2 | i3 | ||||||
| dekódování | i1 | i2 | |||||||
| vykonání | i1 | i2 | |||||||
| zápis výsledku | i1 | i2 |
V případě, že procesor je složen z více funkčních bloků, které mohou pracovat samostatně, můžeme znázornit takovéto proudové zpracování (pipelinening) takto:
| Strojový cyklus | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|
| načtení instrukce | i1 | i2 | i3 | i4 | i5 | i6 | i7 | ||
| dekódování | i1 | i2 | i3 | i4 | i5 | i6 | i7 | ||
| vykonání | i1 | i2 | i3 | i4 | i5 | i6 | i7 | ||
| zápis výsledku | i1 | i2 | i3 | i4 | i5 | i6 |
Klíčové parametry procesorů
Při výběru a hodnocení procesoru sledujeme především tyto hodnoty:
- taktovací frekvence [GHz] – počet výpočetních cyklů za sekundu (např. 4,5 GHz = 4,5 miliardy cyklů za sekundu)
- počet jader a vláken (Cores / Threads)
- jádro = fyzická samostatná výpočetní jednotka
- vlákno = schopnost jednoho fyzického jádra zpracovávat dvě instrukce současně (u Intelu Hyper-Threading, u AMD SMT)
- tepelný výkon (Thermal Design Power, TDP) [W] – maximální tepelný výkon, který musí chladič procesoru odvést
- vyrovnávací paměť (L3 Cache) – rychlá paměť integrovaná přímo do procesoru (sdílená pro všechna jádra)
- počet instrukcí (Instructions Per Cycle, IPC) – počet instrukcí, které jádro zvládne vykonat během jednoho tiku
- integrovaný grafický čip (iGPU) – končí-li označení procesoru písmenem „F“, procesor nemá integrovanou grafiku
- patice (socket) a architektura – do jaké základní desky lze procesor fyzicky vložit
- podporovaný typ RAM – s jakým typem operační paměti procesor spolupracuje


Poznámka: Intel procesor na příkladu výše využívá hybridní architekturu, kdy 8 jader je tzv. výkonných (P-cores), dvouvláknových s Hyper–Threadingem, a 8 jader je tzv. úsporných (E-cores) bez Hyper-Threadingu. Proto je počet vláken 16 + 8 = 24.
| Parametr | Intel Core i9-12900F | AMD Ryzen 7 9800X3D |
|---|---|---|
| Taktovací frekvence | 2,4 GHz (Boost až na 5,1 GHz) | 4,7 GHz (Boost až na 5,2 GHz) |
| Architektura jader | Hybridní (8 P-jader + 8 E-jader) | Homogenní (8 stejných jader) |
| Počet vláken | 24 | 16 |
| Příslušnost/Zaměření | Výkonný pracovní procesor pro multitasking | Špičkový herní procesor (velká 3D Cache) |
| Integrovaný grafický čip | Chybí (označení F) | Integrovaný (Radeon) |
| Nároky na chlazení | Vysoké (202 W TDP) | Střední (120 W TDP) |
| Nutnost dokoupit chladič | Ne (v balení je základní chladič RH1) | Ano |
| Patice (socket) | LGA 1700 (architektura Alder Lake-S) | AM5 |
| Podporovaný typ RAM | DDR4/DDR5 | DDR5 |
Výrobci a současný trh
Intel
- tradiční lídr architektury x86 (CISC)
- většina modelů má integrované grafické jádro (vhodné pro kancelářské počítače)
AMD
- hlavní rival Intelu na poli x86 (CISC)
- průkopník v nasazování vysokého počtu jader a velkých L3 Cache pamětí
- dříve levnější a horší výkon, dnes srovnatelné
Apple Silicon
- používá architekturu SoC (System on Chip)
- architektura CPU je RISC
- na jediném čipu je integrované CPU, GPU, Neural Engine, Secure Enclave, Thunderbolt řadiče a Unified Memory (sdílená RAM a VRAM)
Qualcomm
- dominantní výrobce procesorů pro mobilní telefony (Snapdragon)
- architektura RISC (ARM)
- masivně se prosazuje také v segmentu ultra-úsporných notebooků (ARM architektura je mnohem energeticky úspornější)