návody

Čo sú vlákna procesora? rozdiely s jadrom

Obsah:

Anonim

V tomto článku si ukážeme, aké sú vlákna procesora alebo tiež nazývané vlákna v angličtine alebo programovacie vlákna, aby sme identifikovali základné rozdiely medzi nimi a procesorovými jadrami. Medzi menej skúsenými a dokonca aj pokročilejšími užívateľmi je v tejto téme stále dosť zmätku. Preto sme sa rozhodli v maximálnej možnej miere objasniť tieto podmienky.

Tento koncept spracovania vlákien nie je nevyhnutný vedieť, keď kupujete procesor pre bežného používateľa. Vo väčšine prípadov je to viac ako vždy pravda, takmer vždy. Tam, kde potrebujeme vedieť, čo sú vlákna, je práca na vývoji programu. V závislosti od toho, ako je aplikácia programovaná a kompilovaná, bude mať optimalizovanejšie vykonávanie pre procesory s viac vláknami ako jadrá. A tu sa pokúsime dostať k nášmu vysvetleniu.

Index obsahu

Aké sú jadrá procesora

Začneme vysvetlením toho, čo sú jadrá nášho procesora, takže budeme mať tieto predchádzajúce vedomosti, aby sme sa nezamieňali.

Vieme, že procesor je zodpovedný za vykonávanie a vykonávanie pokynov programov, ktoré sú načítané do pamäte RAM nášho počítača. Prakticky prechádzajú všetky pokyny, ktoré sú potrebné na vykonávanie bežných úloh na našom počítači, navigáciu, písanie, prezeranie fotografií atď. Vo fyzickej časti je procesor integrovaný obvod tvorený miliónmi tranzistorov, ktoré tvoria logické hradlá na prechod alebo neprekročenie dátových bitov vo forme energie bez ďalšieho pripútania.

Tento malý čip obsahuje rôzne moduly, ktoré môžeme nazvať jadrá, okrem ďalších prvkov, o ktoré sa teraz nezaujímame. Spracovatelia pred niekoľkými rokmi mali iba jedno z týchto jadier a boli schopní spracovať jednu inštrukciu na cyklus. Tieto cykly sa merajú v megahertzoch (MHz), čím viac MHz, tým viac pokynov môžeme robiť každú sekundu.

Teraz máme nielen jedno jadro, ale aj niekoľko. Každé jadro predstavuje subprocesor, to znamená, že každý z týchto subprocesorov vykoná jednu z týchto inštrukcií, takže bude schopný vykonať niekoľko z nich v každom hodinovom cykle s viacjadrovým CPU. Ak máme štvorjadrový procesor, namiesto jedného môžeme vykonávať 4 pokyny súčasne. Zlepšenie výkonu je teda štvornásobné. Ak máme 6, potom 6 pokynov súčasne. Takto sú súčasné procesory omnoho výkonnejšie ako tie staršie.

Pamätajte, že tieto jadrá sú fyzicky prítomné v našom procesore, nie je to niečo virtuálne alebo vytvorené pomocou kódu.

Čo sú vlákna na spracovanie?

Vlákna, vlákna alebo vlákna nie sú fyzickou súčasťou procesora, prinajmenšom pokiaľ ide o viac jadier alebo niečo také.

Môžeme definovať vlákno spracovania ako tok kontroly dát programu. Je to prostriedok, ktorý umožňuje efektívnejšie riadiť úlohy procesora a jeho rôznych jadier. Vďaka vláknam možno minimálne alokačné jednotky, ktoré sú úlohami alebo procesmi programu, rozdeliť na kúsky, aby sa optimalizovala čakacia doba každej inštrukcie vo fronte procesov. Tieto kúsky sa nazývajú vlákna alebo vlákna.

Inými slovami, každé procesné vlákno obsahuje časť úlohy, ktorá sa má vykonať, niečo jednoduchšie vykonať, ako keby sme zaviedli úplnú úlohu do fyzického jadra. Týmto spôsobom je procesor schopný spracovať niekoľko úloh súčasne a súčasne, v skutočnosti bude schopný robiť toľko úloh, koľko má vlákien, a zvyčajne pre každé jadro existuje jedna alebo dve. V procesoroch, ktoré majú napríklad 6 jadier a 12 vlákien, budú môcť rozdeliť procesy na 12 rôznych úloh namiesto iba 6.

Tento spôsob práce umožňuje spravovať systémové prostriedky spravodlivejšie a efektívnejšie. Vieš… rozdeľuje sa a vyhráš zo všetkého života. Tieto procesory sa nazývajú viacvláknové. Zatiaľ musíme jasne povedať, že procesor s 12 vláknami nebude mať 12 jadier, jadrá sú niečo fyzického pôvodu a vlákna logického pôvodu.

To bolo určite trochu abstraktné a ťažko pochopiteľné, takže sa pozrime, ako sa prekladá, ak hovoríme o architektúre programu v našom počítači.

Programy, procesy a vlákna

Všetci vieme, čo je program, je to kód, ktorý je uložený v našom počítači a ktorý je určený na vykonávanie konkrétnej úlohy. Aplikácia je program, ovládač je tiež program a dokonca aj operačný systém je program schopný v ňom vykonávať ďalšie programy. Všetky z nich sú uložené v binárnej forme, pretože procesor rozumie iba tým, ktoré sú nulové a aktuálne, bez prúdu.

Procesy programu

Ak chcete spustiť program, je načítaný do pamäte RAM. Tento program je načítaný procesmi, ktoré nesú pridružený binárny kód a zdroje, ktoré potrebuje na prevádzku, ktoré operačný systém priradí „inteligentne“.

Základné prostriedky, ktoré proces potrebuje, sú programové čítače a hromada záznamov.

  • Počítadlo programov (CP): nazýva sa ukazovateľ inštrukcií a sleduje sled spracovávaných inštrukcií. Registre: je to sklad, ktorý sa nachádza v procesore a je možné ukladať inštrukcie, adresu úložiska alebo akékoľvek iné údaje. Zásobník: je to dátová štruktúra, ktorá ukladá informácie týkajúce sa inštancií, ktoré má program v počítači aktívny.

Potom sa každý program rozdelí na procesy a uloží sa na určité miesto v pamäti. Každý proces tiež beží nezávisle, a to je veľmi dôležité pochopiť, pretože takto procesor a systém dokážu súčasne vykonávať viac úloh, čo nazývame multitaskingový systém. Tento systém spracovania je vinníkom, že môžeme pokračovať v práci na našom počítači, aj keď bol program zablokovaný.

Vlákna procesu

Tu sa objavujú vlákna na spracovanie, nazývané vlákna v operačných systémoch. Vlákno je jednotka vykonávania procesu. Môžeme tento proces rozdeliť na vlákna a každý z nich bude vláknom vykonávania.

Ak program nie je viacvláknový, procesy v ňom budú mať iba jedno vlákno, takže ich možno spracovať iba naraz. Naopak, ak máme viacvláknové procesy, môžu byť tieto rozdelené do niekoľkých častí a každé z týchto vlákien zdieľa zdroje priradené procesu. Takže sme povedali, že viacvláknové spracovanie je efektívnejšie.

Okrem toho má každé vlákno svoj vlastný zväzok záznamov, takže na rozdiel od jedného procesu, ktorý bude musieť byť spustený naraz, je možné spracovať dva alebo viac z nich súčasne. Vlákna sú jednoduchšie úlohy, ktoré vám umožňujú spustiť proces rozdeleným spôsobom. A to je v podstate konečná funkcia vlákien na spracovanie. Čím viac vlákien, tým väčšie je rozdelenie procesov a väčší objem simultánnych výpočtov, a tým väčšia efektívnosť.

Zatiaľ sme neskončili, stále máme nevyriešenú otázku Čo sa stane s jadrom s dvojitým vláknom ? Už sme povedali, že každé jadro je schopné vykonávať naraz jednu inštrukciu. CPU má komplexný algoritmus, ktorý rozdeľuje časy vykonávania najefektívnejším možným spôsobom, čím každej úlohe priradí určitý interval vykonávania. Zmena medzi úlohami je tak rýchla, dá to pocit, že jadro vykonáva úlohy paralelne.

Môžeme vidieť tieto vlákna alebo vlákna v systéme?

Nie je to príliš podrobné, ale áno, vidíme ich, v systéme Windows aj Mac.

V prípade systému Windows budeme musieť otvoriť iba správcu úloh a prejsť na „ výkon “. Potom klikneme na odkaz „ Sledovanie zdrojov “ uvedený nižšie. V tomto novom okne budeme mať každý proces rozdelený na spotrebu CPU a vlákna, to budú vlákna.

Na monitore aktivity v systéme Mac budeme mať priamo vlákna uvedené na hlavnej obrazovke.

Týmto sa uzatvára náš článok o tom, čo sú vlákna spracovania CPU. Je to určite trochu zložitá téma vysvetliť a celkom abstraktne, najmä pre používateľov, ktorí úplne nerozumejú tomu, ako procesor funguje. V tomto prípade však máme dobré správy, pretože máme aj celkom dobrý článok, ktorý hovorí o tom, ako procesor pracuje a ako sa vykonáva celý inštrukčný cyklus.

Navštívte naše články o:

Dúfame, že všetko bolo viac či menej jasné a vážime si, že ste si vybrali nás, aby sme sa o tejto téme dozvedeli viac.

návody

Voľba editora

Back to top button