V moderních počítačích, které používáme v každodenním životě, je obvykle instalován centrální procesor (CPU) s jedním jádrem. Může se to zdát zvláštní, zvláště když vezmeme v úvahu, že v našem životě existuje tolik multitaskingových úkolů, které vyžadují souběžné zpracování více procesů. Existuje však několik důvodů, proč stále používáme procesory s pouze jedním jádrem.
Za prvé, použití jednoho jádra procesoru umožňuje zjednodušit architekturu počítače. Když vývojáři vytvářejí procesory s mnoha jádry, musí bojovat s problémy, jako je synchronizace a správa paměti mezi jádry. Může to být náročný úkol, který vyžaduje velké úsilí a zdroje. Snad nejpraktičtějším řešením pro většinu počítačů je použití jednoho jádra, které zvládne úlohy postupně.
Za druhé, pro většinu každodenních úkolů, jako je kontrola pošty, procházení webu a poslech hudby, poskytuje jedno jádro procesoru dostatečný výkon. Je to proto, že tyto úkoly obvykle vyžadují relativně malý počet výpočtů a zpoždění související se zpracováním mnoha jader uživatel nepocítí. Místo toho se procesor s jedním jádrem může soustředit na zpracování jednoho úkolu a to velmi rychle.
A konečně, aplikace technologie paralelního zpracování, jako jsou GPU (GP), je stále populárnější pro řešení multitaskingových problémů. GP může mít několik set nebo dokonce tisíc jader určených pro zpracování grafiky a dalších paralelních úkolů. To umožňuje každému jádru GP pracovat na samostatné části úkolu, což vede k rychlejšímu a efektivnějšímu zpracování dat.
Proč moderní počítače používají pouze 1 jádro procesoru?
Otázka, proč moderní počítače používají pouze jedno jádro procesoru, stojí poněkud jinak. Ve skutečnosti je většina moderních počítačových systémů "vícejádrových", to znamená, že obsahují více jader, ale ve výchozím nastavení se používá pouze jedno jádro.
Ne všechny úkoly lze efektivně rozdělit mezi více jader procesoru. Zatímco paralelní programování a multitreading jsou stále populárnější, mnoho programů, zejména těch starších nebo nesprávně napsaných, nemůže efektivně používat více jader.
Jednojádrový procesor může být pro takové programy efektivnější, protože nemusí sdílet zdroje mezi různými jádry. Kromě toho může použití více jader vyžadovat další energii a vytvářet další teplo, což může být problematické pro notebooky, chytré telefony a další mobilní zařízení.
Existují však i programy, které dokážou efektivně využít více jader procesoru. Programy, jako je vykreslování videa, kompilace programů, vědecké výpočty a hry, mohou výrazně těžit z použití multitready a vícejádrovosti.
V důsledku toho mají moderní počítače schopnost používat více jader procesoru, ale ve většině případů se používá pouze jedno jádro kvůli vlastnostem programů a potřebám energie a chlazení.
Omezení architektury
Operační systémy byly vyvinuty s omezenou podporou vícevláknového fyzického železa, které bylo v té době k dispozici. V době, kdy byly operační systémy původně vytvořeny, většina počítačů používala jeden procesor s jedním jádrem. Složitější systémy s více vlákny nebyly dostupné nebo příliš drahé pro použití v běžných domácích počítačích.
Operační systémy tak byly navrženy tak, aby fungovaly efektivně s jednoproudými aplikacemi. Když byl procesor s více jádry dostupnější, museli vývojáři operačních systémů přizpůsobit své produkty na podporu multitreadingu.
I nyní však mají moderní operační systémy stále omezení související s více vlákny. Některé aplikace mohou být náročné na paralelní provádění kvůli své struktuře nebo požadavkům na interakci s jinými vlákny. Navíc ne všechny operace prováděné počítačem mohou být účinně paralelovány.
Single-thread je tedy stále dominantním architektonickým prvkem v moderních počítačích kvůli historickým omezením a obtížím při implementaci plného multitreadingu na úrovni operačního systému.
Tepelná omezení
S každou generací procesorů se zvyšuje jejich výkon, a tím i jejich spotřeba energie. Výkonnější procesory generují více tepla a vyžadují efektivnější chladicí systém. Zvýšení počtu jader na procesoru však problémy s ohřevem jen zhoršuje, protože se zvyšuje celkový výkon, který je třeba ochladit.
Tepelná omezení mohou omezit provoz procesoru. Vysoká teplota může způsobit přehřátí, což zase může vést ke snížení výkonu nebo dokonce zlomení procesoru. Výrobci počítačů a procesorů proto často čelí dilematu: zvýšit počet jader a tím i výkon, nebo optimalizovat chlazení a řešit problémy s tepelnými omezeními.
| Výhody použití jednoho jádra: | Výhody použití více jader: |
|---|---|
| Efektivnější chladicí systém | Vysoký výkon v multitaskingových scénářích |
| Méně tepelných omezení | Nejlepší škálovatelnost |
| Menší náklady na energii | Vylepšené zpracování paralelních úkolů |
Využití pouze jednoho jádra procesoru v moderních počítačích je tedy podmíněno především tepelnými omezeními. Výrobci se snaží najít rovnováhu mezi výkonem a chlazením a nabídnout uživateli výkonné a spolehlivé řešení.
Softwarová omezení
Při provádění některých výpočtů je například vyžadován sériový přístup ke sdíleným zdrojům, jako je paměť nebo databáze. Pokud takový program rozdělíte do více vláken a spustíte je paralelně, nastane problém se synchronizací přístupu ke sdíleným zdrojům, což může vést k nepředvídatelným výsledkům nebo chybám v programu.
Navíc ne všechny úkoly jsou vhodné pro paralelní provádění. Některé programy jsou lineární, to znamená, že mají konzistentní strukturu a vyžadují provádění kroků v určitém pořadí. V takových případech použití více jader procesoru nepovede k rychlejšímu spuštění programu, ale může dokonce zpomalit jeho provoz kvůli režijním nákladům na správu toků.
Softwarová omezení jsou tedy jedním z důvodů, proč se v moderních počítačích používá pouze jedno jádro procesoru. Ale s příchodem složitějších a inteligentnějších programů schopných efektivně využívat více jader procesoru se možná v budoucnu dočkáme větší aplikace vícejádrových systémů.