Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Pochopenie konceptov
* multithreading: Program, ktorý používa na súčasné vykonávanie úloh viacerých vlákien. Každé vlákno je nezávislá cesta vykonávania v rámci programu.
* jednodielny procesor: CPU s iba jednou spracovateľskou jednotkou.
Ako to funguje:
Jednoskupný procesor môže vykonať iba jednu inštrukciu naraz. Operačný systém však používa techniku nazývanú časové sklonenie poskytnúť ilúziu paralelného vykonávania:
1. Rýchle prepínanie: Procesor prepína medzi vláknami veľmi rýchlo, čo každému vlákne dáva malé množstvo času na spustenie.
2. prepínanie kontextu: Operačný systém ukladá stav jedného vlákna (jeho registre, pamäť atď.) A načíta stav iného vlákna.
3. Zjavná súbežnosť: Toto rýchle prepínanie medzi vláknami vytvára ilúziu viacerých vlákien spúšťajúcich súčasne, aj keď procesor vykonáva iba jednu inštrukciu naraz.
Výhody multithreadingu na jednom jadrovom procesore:
* Vylepšená citlivosť: Program môže zostať pohotový pri vykonávaní dlhodobých úloh, pretože iné vlákna sa môžu naďalej vykonávať.
* využitie zdrojov: Vlákna môžu zdieľať zdroje, ako je pamäť a súbory, a efektívne využívať systémové zdroje.
Obmedzenia:
* Žiadny pravý paralelizmus: Aj keď sa javí ako paralelizmus, jednodňový procesor môže vykonávať iba jednu inštrukciu naraz.
* Performance prekážku: Ak vlákno vyžaduje veľa času na spracovanie, iné vlákna môžu zažiť oneskorenie.
v súhrne:
Jedno jadrový procesor môže podporovať viacúčelové programy pomocou časového sklonu. To poskytuje výhody súbežnosti, ale neponúka skutočné paralelné vykonávanie. Viacjadrové procesory poskytujú skutočný paralelizmus, kde v rôznych jadrách môžu byť súčasne spúšťané viacero vlákien.