Skip to content

Vícejádrové procesory: Je vždy lepší?

4 de Červenec de 2021
001 832453 5b9848d7c9e77c0050ec9b39

Přidání několika jader k jednomu procesoru nabízí významné výhody díky multitaskingové povaze moderních operačních systémů. Pro některé účely však existuje horní praktické omezení, kolik jader přináší vylepšení ve srovnání s náklady na jejich přidání.

Vícejádrové technologické pokroky

Vícejádrové procesory jsou v osobních počítačích k dispozici od počátku 21. století. Vícejádrové designy řešily problém procesorů, které narážejí na hranici svých fyzických omezení, pokud jde o jejich taktovací rychlosti a to, jak efektivně je lze chladit a stále si udržovat přesnost. Přechodem na další jádra na jednom čipu procesoru se výrobci vyhnuli problémům s taktovými rychlostmi tím, že efektivně znásobí množství dat, která by mohla zpracovat CPU. Když byly původně vydány, výrobci nabídli pouze dvě jádra v jednom CPU, nyní však existují možnosti pro čtyři, šest a dokonce i 10 nebo více. Kromě přidávání jader mohou simultánní technologie vícevláknového zpracování – například Intel Hyper-Threading – zdvojnásobit virtuální jádra, která vidí operační systém.

Procesy a vlákna

A proces je konkrétní úkol, například program, spuštěný na počítači. Proces se skládá z jednoho nebo více vláken. A vlákno je jednoduše jediný proud dat z programu procházejícího procesorem v počítači. Každá aplikace generuje vlastní jedno nebo více vláken v závislosti na tom, jak běží. Bez multitaskingu může jednojádrový procesor zpracovávat pouze jedno vlákno najednou, takže systém rychle přepíná mezi vlákny a zpracovává data zdánlivě souběžným způsobem. Výhodou více jader je to, že systém dokáže zpracovat více než jedno vlákno současně. Každé jádro dokáže zpracovat samostatný proud dat. Tato architektura výrazně zvyšuje výkon systému, na kterém běží souběžné aplikace. Vzhledem k tomu, že servery mají tendenci spouštět mnoho souběžných aplikací v danou dobu, byla tato technologie původně vyvinuta pro podnikového zákazníka – ale jelikož se osobní počítače staly složitějšími a zvýšil se multitasking, těžily také z toho, že mají další jádra. Každý proces je však řízen primárním vláknem, které může zabírat pouze jedno jádro. Relativní rychlost programu, jako je hra nebo vykreslovač videa, je tedy omezena na schopnost jádra, které primární vlákno spotřebovává. Primární vlákno může absolutně delegovat sekundární vlákna na jiná jádra – ale hra se při zdvojnásobení jader nestane dvakrát tak rychlou. Není tedy neobvyklé, že hra plně maximalizuje jedno jádro (primární vlákno), ale pro sekundární vlákna vidí pouze částečné využití jiných jader. Ve skutečnosti, že primární jádro je omezovačem rychlosti vaší aplikace, nedojde k žádnému zdvojnásobení jádra a aplikace citlivé na tuto architekturu budou fungovat lépe než aplikace, které nejsou.

Závislost na softwaru

Zatímco koncept vícejádrových procesorů zní lákavě, tato technologie má velkou výhradu. Aby bylo možné využívat skutečných výhod více procesorů, musí být software spuštěný v počítači napsán tak, aby podporoval vícevláknové zpracování. Bez softwaru podporujícího takovou funkci budou vlákna primárně provozována prostřednictvím jediného jádra, což sníží celkovou efektivitu počítače. Koneckonců, pokud může běžet pouze na jednom jádru ve čtyřjádrovém procesoru, může být ve skutečnosti rychlejší jej spustit na dvoujádrovém procesoru s vyššími základními hodinami. Všechny hlavní současné operační systémy podporují schopnost více vláken. Vícevlákno však musí být zapsáno také do aplikačního softwaru. Podpora multithreadingu ve spotřebitelském softwaru se v průběhu let zlepšila, ale u mnoha jednoduchých programů není podpora multithreadingu stále implementována kvůli složitosti sestavení softwaru. Například poštovní program nebo webový prohlížeč pravděpodobně nebude mít pro multithreading obrovské výhody stejně jako program pro úpravu grafiky nebo videa, kde počítač zpracovává složité výpočty. Dobrým příkladem pro vysvětlení této tendence je pohled na typickou počítačovou hru. Většina her vyžaduje určitou formu vykreslovacího modulu, aby bylo možné zobrazit, co se ve hře děje. Události a postavy ve hře navíc řídí nějaká umělá inteligence. U jednoho jádra se obě úlohy provádějí přepínáním mezi nimi. Tento přístup není efektivní. Pokud by systém obsahoval více procesorů, vykreslování a umělá inteligence by mohly běžet na samostatném jádru – ideální situace pro vícejádrový procesor.

Je 8> 4> 2?

Překročení dvou jader představuje smíšené výhody, protože odpověď každého kupujícího počítače závisí na softwaru, který obvykle používá. Například mnoho klasických her stále nabízí malý rozdíl ve výkonu mezi dvěma a čtyřmi jádry. Dokonce i moderní hry – z nichž některé údajně vyžadují nebo podporují osm jader – nemusí fungovat lépe než šestijádrový stroj s vyšší základní taktovací rychlostí, vzhledem k tomu, že účinnost primárního vlákna určuje účinnost vícevláknového výkonu. Na druhou stranu program pro kódování videa, který překóduje video, pravděpodobně uvidí obrovské výhody, protože vykreslování jednotlivých snímků může být předáno do různých jader a poté software porovnáno do jednoho proudu. Mít osm jader bude tedy ještě výhodnější než mít čtyři. V podstatě primární vlákno nepotřebuje srovnatelně bohaté zdroje; místo toho může vydělat těžkou práci na dceřiných vláknech, která maximálně zvýší jádra procesoru.

Rychlosti hodin

Správce úloh zobrazující využití procesoru

Obecně bude vyšší rychlost hodin znamenat rychlejší procesor. Rychlost hodin se stává mlhavější, když vezmete v úvahu rychlosti ve vztahu k více jádrům, protože procesory chrlí více datových vláken díky extra jádrům, ale každé z těchto jader bude kvůli nízkým teplotám omezeno. Například dvoujádrový procesor může podporovat základní taktovací frekvenci 3,5 GHz pro každý procesor, zatímco čtyřjádrový procesor může běžet pouze na 3,0 GHz. Při pohledu na jedno jádro na každém z nich je dvoujádrový procesor o 14 procent rychlejší než na čtyřjádrovém procesoru. Pokud tedy máte program, který je pouze jednovláknový, je dvoujádrový procesor skutečně efektivnější. Pokud váš software může používat všechny čtyři procesory, pak bude čtyřjádrový procesor ve skutečnosti asi o 70 procent rychlejší než tento dvoujádrový procesor.

Závěry

Většinou je vyšší procesor s jádrem obecně lepší, pokud to váš software a typické případy použití podporují. Dvoujádrový nebo čtyřjádrový procesor bude pro běžného uživatele počítače z větší části dostačující. Většina zákazníků neuvidí žádné hmatatelné výhody plynoucí z překročení čtyř procesorových jader, protože to využívá tak málo nespecializovaného softwaru. Nejlepší případ použití procesorů s vysokým počtem jader se týká strojů, které provádějí složité úkoly, jako jsou úpravy videa na ploše, některé formy špičkových her nebo složité vědecké a matematické programy. Podívejte se na naše myšlenky o rychlosti počítače, kterou potřebuji? abyste získali lepší představu o tom, jaký typ procesoru nejlépe odpovídá vašim výpočetním potřebám.