Výukové programy

Co jsou vlákna procesoru? rozdíly s jádry

Obsah:

Anonim

V tomto článku si uděláme chvilku, abychom vysvětlili, co jsou vlákna procesoru nebo také nazývaná vlákna v angličtině nebo programovací vlákna, abychom identifikovali základní rozdíly mezi těmito a jádry procesorů. Mezi méně odbornými a dokonce i pokročilejšími uživateli je v tomto tématu stále trochu zmatek. Proto jsme se rozhodli tyto podmínky v co největší míře objasnit.

Tento koncept zpracování podprocesů není nezbytný vědět, když kupujete procesor pro běžného uživatele. Ve většině případů, více než méně, je to téměř vždy pravda. Kde potřebujeme vědět, co jsou vlákna, je v práci na vývoji programu. V závislosti na tom, jak je aplikace programována a kompilována, bude mít optimalizované provádění pro procesory s více vlákny než jádry. A to je místo, kde se pokusíme dostat do našeho vysvětlení.

Index obsahu

Jaké jsou jádra procesoru

Začneme vysvětlením toho, co jsou jádra našeho procesoru, takže budeme mít tuto předchozí znalost, abychom nebyli zmateni.

Víme, že za provádění a provádění pokynů programů, které jsou načteny do paměti RAM našeho počítače, odpovídá procesor. Prakticky všechny pokyny, které jsou nezbytné pro provádění typických úkolů na našem počítači, navigaci, psaní, prohlížení fotografií atd., Jím procházejí. Ve fyzické části je procesor integrovaný obvod tvořený miliony tranzistorů, které vytvářejí logické brány, které bez dalšího přebíjení nebo nepřecházení datových bitů ve formě energie projdou.

V tomto malém čipu jsou umístěny různé moduly, které můžeme nazvat jádra, kromě dalších prvků, o které nás nyní nezajímá. Před několika lety měli zpracovatelé pouze jedno z těchto jader a byli schopni zpracovat jednu instrukci na cyklus. Tyto cykly jsou měřeny v Megahertz (MHz), čím více MHz, tím více instrukcí můžeme provádět každou sekundu.

Nyní máme nejen jedno jádro, ale několik. Každé jádro představuje subprocesor, to znamená, že každý z těchto subprocesorů provede jednu z těchto instrukcí, takže bude schopen provést několik z nich v každém hodinovém cyklu s vícejádrovým CPU. Pokud máme čtyřjádrový procesor, můžeme místo jednoho provádět čtyři instrukce současně. Zlepšení výkonu je tedy čtyřnásobné. Pokud máme 6, pak 6 pokynů současně. Takto jsou současné procesory mnohem výkonnější než ty starší.

A pamatujte si, že tato jádra jsou fyzicky přítomná v našem procesoru, není to něco virtuálního nebo vytvořeného kódem.

Co jsou vlákna pro zpracování?

Vlákna, vlákna nebo vlákna nejsou fyzickou součástí procesoru, přinejmenším pokud jde o více jader nebo něco podobného.

Můžeme definovat procesní vlákno jako tok datového řízení programu. Je to prostředek, který umožňuje efektivnější správu úloh procesoru a jeho různých jader. Díky vláknům lze minimální alokační jednotky, které jsou úkoly nebo procesy programu, rozdělit na kousky, aby se optimalizovala čekací doba každé instrukce ve frontě procesů. Tyto kousky se nazývají vlákna nebo vlákna.

Jinými slovy, každé vlákno zpracování obsahuje část úkolu, který má být proveden, něco jednoduššího, než kdybychom představili úplný úkol ve fyzickém jádru. Tímto způsobem je procesor schopen zpracovat několik úkolů současně a ve skutečnosti bude schopen provádět tolik úkolů, kolik má podprocesů, a obvykle pro každé jádro existuje jeden nebo dva. V procesorech, které mají například 6 jader a 12 vláken, budou moci rozdělit procesy na 12 různých úkolů místo pouhých 6.

Tento způsob práce umožňuje spravovat systémové prostředky spravedlivěji a efektivněji. Víš… rozdělí se a vyhraješ ze všech životů. Tyto procesory se nazývají vícevláknové. Zatím si musíme ujasnit, že procesor s 12 vlákny nebude mít 12 jader, jádra jsou něco fyzického původu a vlákna logického původu.

To bylo určitě poněkud abstraktní a obtížně pochopitelné, takže se podívejme, jak se to překládá, když mluvíme o architektuře programu na našem počítači.

Programy, procesy a vlákna

Všichni víme, co je to program, je to kód, který je uložen v našem počítači a který je určen k provedení konkrétního úkolu. Aplikace je program, ovladač je také program a dokonce i operační systém je program schopný provádět jiné programy uvnitř. Všechny jsou uloženy v binární podobě, protože procesor chápe pouze ty a nuly, aktuální / non-aktuální.

Procesy programu

Chcete-li spustit program, je načten do paměti RAM. Tento program je načten procesy, které nesou přidružený binární kód a prostředky, které potřebuje k provozu, které budou operačním systémem "inteligentně" přiřazeny.

Základními prostředky, které proces potřebuje, jsou programové čítače a hromada záznamů.

  • Počítadlo programů (CP): nazývá se ukazatel instrukcí a sleduje sled zpracovávaných instrukcí. Registry: Jedná se o sklad umístěný v procesoru, kde lze ukládat instrukce, adresu úložiště nebo jakákoli jiná data. Zásobník: je to datová struktura, která ukládá informace týkající se instancí, které má program v počítači aktivní.

Pak je každý program rozdělen do procesů a je uložen na určitém místě v paměti. Kromě toho každý proces běží nezávisle, a to je velmi důležité pochopit, protože to je způsob, jakým jsou procesor a systém schopny provádět více úkolů současně, což nazýváme multitaskingový systém. Tento zpracovatelský systém je viníkem, že můžeme pokračovat v práci na našem PC, i když byl program zablokován.

Vlákna procesu

Zde se objevují procesní vlákna nazývaná vlákna v operačních systémech. Vlákno je jednotka provádění procesu. Můžeme proces rozdělit na vlákna a každá z nich bude podprocesem provádění.

Pokud program nemá vícevláknové procesy, budou mít procesy v něm pouze jedno vlákno, takže je lze zpracovat pouze najednou. Naopak, pokud máme vícevláknové procesy, lze je rozdělit do několika kusů a každý z těchto vláken sdílí prostředky přiřazené procesu. Řekli jsme tedy, že multithreading je efektivnější.

Kromě toho má každé vlákno svůj vlastní svazek záznamů, takže dva nebo více z nich lze zpracovat současně, na rozdíl od jediného procesu, který bude muset být spuštěn najednou. Vlákna jsou jednodušší úkoly, které vám umožní spustit proces rozděleným způsobem. A to je v podstatě konečná funkce zpracovávacích vláken. Čím více podprocesů, tím větší rozdělení procesů, a větší objem simultánních výpočtů, a tím vyšší efektivita.

Ještě jsme neskončili, stále máme nevyřešenou otázku Co se stane s jádrem s dvojitým vláknem ? Už jsme řekli, že každé jádro je schopné provádět jednu instrukci najednou. CPU má složitý algoritmus, který rozděluje doby provádění nejefektivnějším možným způsobem, a tak přiřazuje každé úloze určitý interval provádění. Změna mezi úkoly je tak rychlá, dá to pocit, že jádro provádí úkoly paralelně.

Můžeme vidět tato vlákna nebo vlákna v systému?

Ne příliš podrobným způsobem, ale ano, vidíme je jak na Windows, tak na Macu.

V případě systému Windows budeme muset pouze otevřít správce úloh a přejít na „ výkon “. Poté klikneme na odkaz „ sledování zdrojů “ níže. V tomto novém okně budeme mít každý proces rozdělen na spotřebu CPU a vlákna, to budou vlákna.

Na monitoru činnosti Macu budeme mít přímo vlákna uvedená na hlavní obrazovce.

Tím se uzavírá náš článek o tom, co jsou vlákna pro zpracování CPU. To je jistě poněkud složité téma vysvětlit a docela abstraktní, zejména pro uživatele, kteří plně nerozumí tomu, jak procesor pracuje. V tomto případě však máme dobré zprávy, protože také máme docela dobrý článek, který hovoří o tom, jak procesor pracuje a jak se provádí celý instrukční cyklus.

Navštivte naše články o:

Doufáme, že vše bylo víceméně jasné a vážíme si toho, že jste si vybrali, abychom se o tomto tématu dozvěděli více.

Výukové programy

Výběr redakce

Back to top button