Kuchaři v kuchyni

O čem to je

Při výběru notebooku čteš: „8 jader, 16 vláken, až 4,8 GHz, 24 MB cache“. Co to znamená a podle čeho poznáš, který procesor je rychlejší?

Procesor (CPU) je část počítače, která provádí instrukce programů. Jeho parametry rozhodují, jak rychle počítač zvládne hry, střih videa nebo překlad programu.

Nové pojmy

InstrukceJeden jednoduchý příkaz pro procesor: sečti, porovnej, načti z paměti.Program je řada milionů instrukcí.
JádroSamostatná výpočetní jednotka uvnitř procesoru. Umí sama provádět program. Víc jader = víc věcí současně.Osmijádrový procesor je jako kuchyně s osmi kuchaři.
VláknoJeden proud instrukcí, který operační systém přidělí jádru ke zpracování.Prohlížeč má zvlášť vlákno pro načítání stránky a pro přehrávání videa.
SMT (u Intelu Hyper-Threading)Technika, kdy jedno jádro zpracovává dvě vlákna. Když jedno čeká na data, jádro mezitím pracuje na druhém. Nezdvojnásobí výkon, jen lépe využije jádro.8 jader / 16 vláken = 8 kuchařů, z nichž každý vaří dvě jídla střídavě.
Takt (frekvence)Kolik pracovních kroků (taktů) procesor udělá za sekundu. Jednotka hertz; 1 GHz = 1 miliarda taktů za sekundu.4 GHz = 4 miliardy taktů za sekundu.

Kuchaři a tempo

Představ si kuchyni. Počet jader je počet kuchařů. Takt je, jak rychle kuchař dělá jednotlivé pohyby. Ale důležité je i to, kolik práce stihne jedním pohybem – zkušený kuchař nakrájí dvě cibule naráz.

IPC (instructions per cycle)Kolik instrukcí procesor průměrně dokončí za jeden takt. Záleží na tom, jak chytře je jádro navržené.Novější generace mívá vyšší IPC: při stejném taktu je rychlejší.

Zjednodušeně platí: výkon jednoho jádra ≈ takt × IPC. Proto 3,5GHz procesor nové generace může být rychlejší než 4GHz procesor starý deset let.

Procesor A: 4 GHz, IPC 2. Procesor B: 3 GHz, IPC 3. Který je na jednom jádře rychlejší? (čísla jsou jen příklad)
A: 4 · 2 = 8 miliard instrukcí za sekundu. B: 3 · 3 = 9 miliard. Rychlejší je B, i když má nižší takt.

Lednička u plotny

Pro suroviny do spíže (operační paměti) se chodí daleko. Proto má každý kuchař u sebe malou ledničku a kuchyně společnou chladnici.

Cache (vyrovnávací paměť)Malá, velmi rychlá paměť přímo v procesoru. Drží data a instrukce, které se právě nebo brzy budou potřebovat, aby se nemuselo čekat na operační paměť.L1 – nejmenší a nejrychlejší, v každém jádře. L2 – větší, obvykle také pro každé jádro. L3 – největší a nejpomalejší z nich, společná pro jádra.
RegistrNejmenší a nejrychlejší paměťové místo přímo v jádře. Drží čísla, se kterými se právě počítá.Kuchařova prkénka – co je na nich, s tím právě pracuje.
  • jádro – kuchař – samostatně provádí program
  • vlákno – jedno jídlo, které kuchař právě vaří
  • takt – jak rychle kuchař dělá jednotlivé pohyby
  • IPC – kolik práce stihne jedním pohybem
  • cache L1/L2/L3 – ledničky u kuchaře a společná chladnice
  • registr – prkénko, na kterém se právě krájí

Otoč kartičky a ke každé si zkus říct skutečný význam, ne jen přirovnání.

✗Vyšší takt v GHz znamená vždy rychlejší procesor.
✓Výkon závisí na taktu, IPC, počtu jader a cache.

Takt říká jen, kolik taktů je za sekundu, ne kolik se v nich udělá práce. Porovnávat takt má smysl jen u procesorů stejné generace.

Procesor má jádra (kuchaři), která zpracovávají vlákna. Výkon jádra ≈ takt × IPC. Cache L1, L2, L3 a registry drží data blízko jádra, aby se nečekalo na operační paměť.

Parametry v tabulce

O čem to je

Ve specifikaci procesoru najdeš desítky údajů. Technik musí umět každý přečíst a vědět, co znamená pro výkon, spotřebu a kompatibilitu se základní deskou.

Nové pojmy

Procesor (CPU)Čip, který provádí instrukce programů. Obsahuje jádra, cache a další jednotky.AMD Ryzen 7, Intel Core i5, Apple M3.
Takt a periodaTakt (frekvence f) je počet taktů za sekundu v hertzích. Perioda T je doba jednoho taktu: T = 1 / f.f = 1 GHz → T = 1 ns (nanosekunda, miliardtina sekundy).
Jádro a vláknoJádro je samostatná výpočetní jednotka. Vlákno je proud instrukcí. Díky SMT (Hyper-Threading) zpracuje jedno jádro dvě vlákna.6 jader / 12 vláken.
Instrukční sada (ISA)Seznam instrukcí, kterým procesor rozumí. Program přeložený pro jednu sadu na jiné bez překladu nebo emulace nepoběží.x86-64 (Intel, AMD – běžná PC), ARM (mobily, Apple M, mnoho tabletů).
CISC a RISCDva přístupy k instrukční sadě. CISC: mnoho složitějších instrukcí různé délky (x86). RISC: méně jednodušších instrukcí stejné délky (ARM).Moderní x86 procesory si složité instrukce uvnitř rozkládají na jednodušší, takže rozdíl se stírá.
TDPTepelný výkon ve wattech, který musí chladič procesoru odvádět při běžné plné zátěži. Slouží k výběru chladiče; skutečná spotřeba může být krátkodobě vyšší.Notebookový procesor 15 W, výkonný stolní 125 W.
Patice (socket)Konektor na základní desce, do kterého se procesor vkládá. Procesor musí mít stejnou patici jako deska.AMD AM5, Intel LGA 1700.
Integrovaná grafika (iGPU)Grafický čip přímo v procesoru. Zvládne kancelář a video, pro náročné hry se přidává samostatná grafická karta.Počítač s iGPU připojíš na monitor konektorem na základní desce.

Jak číst specifikaci

ÚdajPříkladCo znamená
jádra / vlákna8 / 16kolik věcí zvládne současně
základní / max. takt3,8 / 5,0 GHzběžný takt a krátkodobé zrychlení
cache L2 + L38 MB + 32 MBrychlá paměť v čipu
TDP105 Wjak výkonný chladič potřebuje
paticeAM5se kterou deskou je kompatibilní
výrobní proces5 nmoznačení technologie výroby
iGPUano / nejestli jde bez grafické karty

Výrobní proces (např. „5 nm“) je dnes spíš obchodní označení generace výroby než skutečný rozměr. Platí ale, že novější proces dovolí na čip vměstnat víc tranzistorů (miniaturních elektronických spínačů) a spotřebovat méně energie. Moderní procesory jich mají miliardy.

Výpočet periody taktu

Převeď takt na hertze: 1 GHz = 10⁹ Hz.
Dosaď do T = 1 / f.
Výsledek převeď na nanosekundy: 1 ns = 10⁻⁹ s.
Jak dlouho trvá jeden takt procesoru s frekvencí 2 GHz?
f = 2 · 10⁹ Hz. T = 1 / (2 · 10⁹) s = 0,5 · 10⁻⁹ s = 0,5 ns.
Jak dlouho trvá jeden takt při 4 GHz?
T = 1 / (4 · 10⁹) s = 0,25 · 10⁻⁹ s = 0,25 ns. Dvojnásobný takt = poloviční doba taktu.

Hierarchie uvnitř procesoru

  • registry – desítky až stovky malých míst v jádře, nejrychlejší
  • cache L1 – desítky kB na jádro, oddělená pro instrukce a data
  • cache L2 – stovky kB až jednotky MB na jádro
  • cache L3 – jednotky až desítky MB, společná pro jádra
  • pak teprve operační paměť mimo procesor – mnohem pomalejší
✗Procesor s 8 jádry a 16 vlákny má výkon jako 16jádrový.
✓Je to 8 jader; SMT jim jen pomáhá lépe se využít.

Dvě vlákna jednoho jádra sdílejí jeho výpočetní jednotky. Zrychlení bývá výrazně menší než dvojnásobné.

Procesor popisují jádra/vlákna, takt (perioda T = 1/f), IPC, cache L1–L3, instrukční sada (x86-64 CISC, ARM RISC), TDP, patice a iGPU. Kompatibilitu s deskou určuje patice.