Hyperthreading byl kdysi funkcí, která se nacházela pouze na špičkových profesionálních CPU. Hyperthreading se však nyní nachází i na běžných spotřebitelských CPU. Co je to vlastně Hyperthreading a měli byste ho hledat ve svém příštím CPU?
Co je softwarové vlákno?
Softwarové vlákno je sekvence instrukcí, které zpracovává CPU. Je to základní jednotka naprogramovaných instrukcí spravovaných plánovačem. Plánovač je součást operačního systému, která přiděluje hardwarové prostředky různým typům softwaru běžícím na počítači.
Každá aplikace spuštěná ve vašem počítači existuje jako jeden nebo více procesů. Vlákna jsou ve skutečnosti segmenty těchto procesů odeslané do CPU k provedení. Plánovač rychle přiřazuje vlákna z různých běžících programů, aby zajistil, že každý dostane prostředky, které potřebuje ke spuštění v reálném čase.
Takto může váš počítač „multitasking“ a (například) spustit textový procesor a zároveň přehrávat hudbu a stahovat videohru na pozadí. Technicky vzato, jádro CPU ve skutečnosti nedělá všechny tyto úlohy současně.
Pokud má váš systém pouze jednojádrový procesor, rychle žongluje s několika sadami instrukcí a přepíná mezi nimi tak rychle, že se našemu pomalému lidskému mozku zdá, že se to všechno děje paralelně.
Opravdové paralelní zpracování v domácích počítačích
Po většinu historie osobních počítačů měl váš počítač pouze jedno jádro CPU. No, tehdy jsme nemluvili o „jádrech“, protože bylo jen jedno a byl to celý CPU. V polovině roku 2000 však měli výrobci CPU jasnou myšlenku nacpat dva kompletní CPU do jednoho CPU balíčku. Tyto dvoujádrové procesory by ve skutečnosti mohly zpracovávat dvě vlákna instrukcí současně. To znamenalo, že například vaše videohra může mít 100 % jádra a váš operační systém může mít druhé jádro celé pro sebe.
ReklamaPočet jader CPU dnes rychle stoupá. Běžná jsou mainstreamová CPU se 6, 8 a dokonce 10 jádry. Špičkové procesory nabízejí desítky jader a procesory jako AMD Threadripper 3990X jsou nacpané ohromnými 64 jádry.
Vývoj softwaru se také změnil, aby bylo možné lépe využívat všechen tento paralelní výkon CPU. Nejnovější videoherní konzole jsou také vybaveny osmi jádry CPU, takže videohry, které dokážou využít tolik jader, se rychle stávají běžnými.
Amd Ryzen Threadripper 3990X 64jádrový, 128vláknový odemčený desktopový procesor
Více jader, než na které dokážete zatřepat, ideální pro uživatele, kteří celý den tvrdě pracují a po hodinách tvrdě hrají.
AmazonPředávání jader CPU pomocí Hyperthreading
Tradiční CPU zvládne pouze jedno vlákno, ale pokud máte v systému mnoho různých jader CPU, můžete zpracovat počet vláken, který se rovná počtu jader, která máte. Vypadá to dobře, ale představuje to jeden zásadní problém.
Ne všechna vlákna vyžadují stejné množství výpočetního výkonu. Například vlákno, které vykresluje video, využije 100 % dostupné kapacity jádra CPU, ale vlákno, které spouští váš textový procesor nebo webovou stránku sociálních médií, potřebuje jen zlomek výkonu, který nabízí moderní jádro CPU.
ReklamaPodobně může mít videohra několik vláken, která běží paralelně, například jedno, které se zabývá fyzikou, a další, které se zabývá umělou inteligencí postav. Jedná se o důležité úlohy, ale nemusí ke správnému fungování potřebovat celé jedno jádro.
To vede k situaci, kdy všechna vaše CPU jádra mohou být zaneprázdněna vlákny, ale neposkytují vám veškerý výpočetní výkon, kterého jsou schopna. Zde přichází na scénu hyperthreading.
Správný obecný název pro hyperthreading je simultánní multithreading. „Hyperthreading“ je ve skutečnosti proprietární marketingový název používaný společností Intel, ale stejně jako u „Hoover“ se stal běžným jazykem pro technologii jako celek.
Procesor, který je vybaven správnými vnitřními obvody umožňujícími hyperthreading, může provádět dvě samostatná vlákna současně. Nepřepíná se mezi nimi jako u tradičního jednojádrového multi-taskingu. Každý běží paralelně.
Pro operační systém to vypadá, že každé fyzické jádro CPU jsou ve skutečnosti dvě jádra, což umožňuje plánovači přiřadit každému z nich dvě vlákna. Celkové množství výpočetního výkonu na jádro však zůstává naprosto stejné.
Proč byste chtěli Hyperthreading
Jak jsme již zmínili výše, hyperthreading je hlavně o tom, že nenecháte na stole výpočetní výkon. Necháte-li každé jádro zpracovávat dvě vlákna, usnadníte operačnímu systému maximální využití hardwaru a zabráníte situaci, kdy každé jádro neběží téměř nebo na plnou kapacitu.
ReklamaV minulosti skutečně potřeboval hyperthreading pouze profesionální software, jako jsou video editory nebo vědecké práce s daty. Běžní uživatelé stěží měli spuštěno tolik aplikací, aby potřebovali tolik vláken. Videohry také dlouho trvaly, než přijaly používání více vláken, ale nyní jsou 8jádrové herní systémy mainstreamem a počet vláken bude stále stoupat.
Nové běžné procesory jako takové nyní obsahují hyperthreading a je to funkce, kterou by většina uživatelů měla chtít. Pokud však získáte dobrý obchod na starším procesoru, který nemá hyperthreading, ještě to není tak zásadní, abyste si to nemohli dovolit nechat ujít.
ČTĚTE DALŠÍ