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

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ů:

VlastnostCISC (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í instrukceJedna instrukce může trvat více hodinových cyklů.Instrukce jsou jednoduché, vykonávají se zpravidla za 1 cyklus.
Komplexita čipuVyžaduje složitější dekódovací logiku na čipu.Jednodušší design = méně tranzistorů.
Spotřeba energieVyšší spotřeba a vyzařované teplo.Nižší spotřeba (vynikající energetická efektivita).
Typičtí zástupciArchitektura 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í:

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:

  1. 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í
  2. 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ží
  3. 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
  4. 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ý cyklus123456789
načtení instrukcei1i2i3
dekódováníi1i2
vykonáníi1i2
zápis výsledkui1i2

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ý cyklus123456789
načtení instrukcei1i2i3i4i5i6i7
dekódováníi1i2i3i4i5i6i7
vykonáníi1i2i3i4i5i6i7
zápis výsledkui1i2i3i4i5i6

Klíčové parametry procesorů

Při výběru a hodnocení procesoru sledujeme především tyto hodnoty:

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.

ParametrIntel Core i9-12900FAMD Ryzen 7 9800X3D
Taktovací frekvence2,4 GHz (Boost až na 5,1 GHz)4,7 GHz (Boost až na 5,2 GHz)
Architektura jaderHybridní (8 P-jader + 8 E-jader)Homogenní (8 stejných jader)
Počet vláken2416
Příslušnost/ZaměřeníVýkonný pracovní procesor pro multitaskingŠpičkový herní procesor (velká 3D Cache)
Integrovaný grafický čipChybí (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 RAMDDR4/DDR5DDR5

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ší)