CPU Core, Multi-Core, Thread, Core vs Threads, Hyper-Threading
Co je Concurrency nebo Single Core?
In OperaV systรฉmech Ting je soubฤลพnost definovรกna jako schopnost systรฉmu spouลกtฤt dva nebo vรญce programลฏ v pลekrรฝvรกnรญ.ping ฤasovรฉ fรกze.

Jak vidรญte, v kaลพdรฉm okamลพiku je v provรกdฤnรญ pouze jeden proces. Proto je soubฤลพnost pouze zobecnฤnou aproximacรญ skuteฤnรฉho paralelnรญho provรกdฤnรญ. Tento druh situace lze nalรฉzt v systรฉmech s jednojรกdrovรฝm procesorem.
Co je paralelnรญ spouลกtฤnรญ nebo (multi-core)?
Pลi paralelnรญm provรกdฤnรญ jsou รบlohy, kterรฉ mรก proces provรกdฤt, rozdฤleny na dรญlฤรญ ฤรกsti a vรญce CPU (nebo vรญce jader) zpracovรกvรก kaลพdou dรญlฤรญ รบlohu pลesnฤ ve stejnou dobu.

Jak vidรญte, vลกechny procesy jsou v danรฉm okamลพiku v provรกdฤnรญ. Ve skuteฤnosti jsou to dรญlฤรญ รบkoly procesu, kterรฉ se provรกdฤjรญ paralelnฤ, ale pro lepลกรญ pochopenรญ si je mลฏลพete pลedstavit jako procesy.
Paralelismus je proto skuteฤnรฝm zpลฏsobem, kterรฝm lze zpracovรกvat vรญce รบloh souฤasnฤ. Tento typ situace lze nalรฉzt v systรฉmech s vรญcejรกdrovรฝmi procesory, coลพ zahrnuje tรฉmฤล vลกechny modernรญ komerฤnรญ procesory.
KLรฤOVร ROZDรL
- Jรกdra zvyลกujรญ mnoลพstvรญ prรกce vykonรกvanรฉ najednou, zatรญmco vlรกkna zlepลกujรญ propustnost a zrychlujรญ vรฝpoฤet.
- Cores je skuteฤnรก hardwarovรก komponenta, zatรญmco vlรกkno je virtuรกlnรญ komponenta, kterรก spravuje รบlohy.
- Jรกdra pouลพรญvajรญ pลepรญnรกnรญ obsahu, zatรญmco vlรกkna pouลพรญvajรญ vรญce CPU pro provoz mnoha procesลฏ.
- Jรกdra vyลพadujรญ pouze jednotku zpracovรกnรญ signรกlu, zatรญmco vlรกkna vyลพadujรญ vรญce jednotek zpracovรกnรญ.
Co je vlรกkno?
Vlรกkno je jednotka provรกdฤnรญ soubฤลพnรฉho programovรกnรญ. Multithreading je technika, kterรก umoลพลuje CPU provรกdฤt mnoho รบloh jednoho procesu souฤasnฤ. Tato vlรกkna se mohou spouลกtฤt jednotlivฤ a zรกroveล sdรญlet svรฉ prostลedky.
Co je multithreading?
Multithreading se tรฝkรก bฤลพnรฉ รบlohy, kterรก spouลกtรญ vรญce vlรกken v rรกmci operaฤnรญho systรฉmu. Mลฏลพe zahrnovat vรญce systรฉmovรฝch procesลฏ.
Jak multithreading funguje?
Napลรญklad vฤtลกina modernรญch CPU podporuje multithreading. Jednoduchรก aplikace na vaลกem smartphonu vรกm mลฏลพe poskytnout ลพivou ukรกzku tรฉhoลพ.
Kdyลพ otevลete aplikaci, kterรก vyลพaduje naฤtenรญ nฤkterรฝch dat z internetu, oblast obsahu aplikace je nahrazena ฤรญselnรญkem. To se bude otรกฤet, dokud nebudou data naฤtena a zobrazena.
Na pozadรญ jsou dvฤ vlรกkna:
- Jeden stahujรญcรญ data ze sรญtฤ a
- Jedno vykreslovรกnรญ GUI, kterรฉ zobrazuje ฤรญselnรญk
Obฤ tato vlรกkna se spouลกtฤjรญ jedno po druhรฉm, aby vznikla iluze soubฤลพnรฉho provรกdฤnรญ.
Co je CPU Core?
Jรกdro CPU je souฤรกstรญ nฤฤeho zรกsadnรญho pro jeho existenci nebo charakter. Stejnรฝm zpลฏsobem v poฤรญtaฤovรฉm systรฉmu je CPU takรฉ oznaฤovรกno jako jรกdro.
V zรกsadฤ existujรญ dva typy zรกkladnรญch procesorลฏ:
- Jednojรกdrovรฝ procesor
- Vรญcejรกdrovรฝ procesor
Jakรฝ je hlavnรญ problรฉm s jednรญm jรกdrem?
S Single Core jsou hlavnฤ dva problรฉmy.
- Chcete-li provรกdฤt รบkoly rychleji, musรญte zvรฝลกit ฤas hodin.
- Zvรฝลกenรญ taktu zvyลกuje spotลebu energie a odvod tepla na extrรฉmnฤ vysokou รบroveล, coลพ ฤinรญ procesor neefektivnรญm.
ลeลกenรญ poskytovanรฉ spoleฤnostรญ Multi-Core:
- Vytvoลenรญ dvou nebo vรญce jader na stejnรฉ matrici pro zvรฝลกenรญ vรฝpoฤetnรญho vรฝkonu a zรกroveล udrลพenรญ taktu na efektivnรญ รบrovni.
- Procesor se dvฤma jรกdry bฤลพรญcรญmi efektivnรญ rychlostรญ mลฏลพe zpracovรกvat instrukce podobnou rychlostรญ jako jednojรกdrovรฝ procesor. Jeho takt je dvojnรกsobnรฝ, pลesto vรญcejรกdrovรฝ proces spotลebovรกvรก mรฉnฤ energie.
Vรฝhody vรญcejรกdrovรฉho procesoru
Zde jsou nฤkterรฉ vรฝhody vรญcejรกdrovรฉho procesoru:
- Vรญce tranzistorลฏ na vรฝbฤr
- Kratลกรญ spojenรญ
- Niลพลกรญ kapacita
- Malรฝ okruh mลฏลพe pracovat vysokou rychlostรญ
Rozdรญl mezi jรกdrem a vlรกkny
| parametry | Jรกdro | Vlรกkna |
|---|---|---|
| Definice | Jรกdra CPU znamenajรญ skuteฤnou hardwarovou komponentu. | Vlรกkna odkazujรญ na virtuรกlnรญ komponentu, kterรก spravuje รบlohy. |
| Proces | รlohy jsou na CPU napรกjeny z vlรกkna. Proto pลistupuje pouze k druhรฉmu vlรกknu, kdyลพ informace odeslanรฉ prvnรญm vlรกknem nejsou spolehlivรฉ. | Existuje mnoho rลฏznรฝch variant, jak mลฏลพe CPU interagovat s vรญce vlรกkny. |
| Implementace | Dosaลพeno operacรญ proklรกdรกnรญ | Provedeno prostลednictvรญm ลพaloby na vรญce CPU |
| Prospฤch | Zvyลกte mnoลพstvรญ vykonanรฉ prรกce najednou. | Zlepลกenรญ propustnosti, zrychlenรญ vรฝpoฤtu. |
| Ve vlhkรฝch prostorรกch pouลพรญvejte odvlhฤovaฤe k aktivnรญ regulaci vlhkosti vzduchu. | Core vyuลพรญvรก pลepรญnรกnรญ obsahu | Pouลพรญvรก vรญce CPU pro provoz mnoha procesลฏ. |
| Potลebnรฉ zpracovatelskรฉ jednotky | Vyลพaduje pouze jednotku zpracovรกnรญ signรกlu. | Vyลพaduje vรญce procesorovรฝch jednotek. |
| Pลรญklad | Spuลกtฤnรญ vรญce aplikacรญ souฤasnฤ. | Spuลกtฤnรญ webovรฉho prohledรกvaฤe na clusteru. |
Co je Hyper-Threading?
Hyper-threading byl prvnรญm pokusem spoleฤnosti Intel pลinรฉst paralelnรญ vรฝpoฤty do poฤรญtaฤลฏ koncovรฝch uลพivatelลฏ. Poprvรฉ byl pouลพit na stolnรญch CPU s Pentiem 4 v roce 2002.
Pentium 4 v tรฉ dobฤ mฤlo pouze jedno jรกdro CPU. Proto provรกdรญ pouze jeden รบkol a selhรกvรก pลi provรกdฤnรญ jakรฉhokoli typu vรญce operacรญ.
Jeden procesor s hyper-threadingem se pro operaฤnรญ systรฉm jevรญ jako dva logickรฉ procesory. V tomto pลรญpadฤ je CPU jeden, ale operaฤnรญ systรฉm bere v รบvahu dva CPU pro kaลพdรฉ jรกdro a hardware CPU mรก jedinou sadu spouลกtฤcรญch prostลedkลฏ pro kaลพdรฉ jรกdro CPU.
Proto CPU pลedpoklรกdรก, ลพe mรก vรญce jader neลพ mรก, a operaฤnรญ systรฉm pลedpoklรกdรก dva CPU pro kaลพdรฉ jedno jรกdro CPU.
Shrnutรญ
- Vlรกkno je jednotka provรกdฤnรญ soubฤลพnรฉho programovรกnรญ.
- Multithreading se tรฝkรก bฤลพnรฉ รบlohy, kterรก spouลกtรญ vรญce vlรกken v rรกmci operaฤnรญho systรฉmu
- Dnes mnoho modernรญch CPU podporuje multithreading
- Hyper-threading byl prvnรญm pokusem spoleฤnosti Intel pลinรฉst paralelnรญ vรฝpoฤty do poฤรญtaฤลฏ koncovรฝch uลพivatelลฏ.
- Jรกdro CPU je souฤรกstรญ nฤฤeho zรกsadnรญho pro jeho existenci nebo charakter
- V, OperaSoubฤลพnost systรฉmu je definovรกna jako schopnost systรฉmu spouลกtฤt dva nebo vรญce programลฏ v pลekrรฝvรกnรญ.ping ฤasovรฉ fรกze.
- Pลi paralelnรญm provรกdฤnรญ jsou รบkoly, kterรฉ mรก proces provรกdฤt, rozdฤleny do dรญlฤรญch ฤรกstรญ.
- Hlavnรญm problรฉmem jednojรกdrovรฉho procesoru je to, ลพe pro rychlejลกรญ provรกdฤnรญ รบkolลฏ je tลeba zvรฝลกit ฤas hodin.
- Vรญcejรกdro ลeลกรญ tento problรฉm vytvoลenรญm dvou nebo vรญce jader na stejnรฉ matrici, aby se zvรฝลกil vรฝpoฤetnรญ vรฝkon, a takรฉ udrลพuje takt na efektivnรญ รบrovni.
- Nejvฤtลกรญ vรฝhodou vรญcejรกdrovรฉho systรฉmu je, ลพe vรกm pomลฏลพe vytvoลit vรญce tranzistorลฏ podle vรฝbฤru
- Jรกdra CPU znamenajรญ skuteฤnou hardwarovou komponentu, zatรญmco vlรกkna odkazujรญ na virtuรกlnรญ komponentu, kterรก spravuje รบlohy.
