CPU: Jednojádro vs. vícejádro

MyEgo.cz

home foto blogy mywindows.cz kontakt

CPU: Jednojádro vs. vícejádro

Jelikož někteří stále nechápou nástup vícejaderných cpu, uvedu menší shrnutí.

Výhody vícejader

Mezi hlavní výhody patří jednoznačně blízkost dvou (a více) jader a jejich velmi efektivní komunikace. Kdyby byli propojeni přes různá rozhraní (jako např. dvě CPU v desce paralelně), omezovalo by to jejich komunikativní rychlost. Navíc díky této technologii dokáží pracovat na vyšších frekvencích, a nežli jednojádrové systémy (převážně řešení cache coherency*2). Dalším přínosem z „více v jednom" je efektivnější bus sniffing *3 . Když zmiňuji výkon, nesmím opomenout podstatnou složku plynoucí ze samostatného návrhu a to dvě výkonná jádra. Plného potenciálu dosahují procesory při takzvaném multithreadingu*4 nebo multitaskingu*4. Jak je vidět z grafu, dva dvoujadrové a dva jednojádrové CPU zároveň přehrávají video a komprimují soubor. Jedná se o dve náročné aplikace zatěžující procesor(y) systému. Z grafu vyplývá jednoznačná výhoda vícejaderných systémů v multitaskingu.

 

winrar srovnani

 

Samotný efekt multitaskingu pocítí i běžný uživatel, když například pouští pc nebo dělá více než jednu náročnější aktivitu na počítači. Vše je dáno zmíněným multitaskingem
Výhoda v multithreadingu*4 je dána převážně programovým přístupem k věci. Většina programů, aplikaci, knihoven zpracovávající video, zvuk, či jiné kódově přizpůsobené entity dokáže plně využít výkonnostní, ale hlavně technologické převahy více jader. Například systémy CAD, rozsáhlé grafické editory, wave editory, pak dále většina serverových aplikací jako práce s databázemi, Access kontrol atd. U serverů jsou všeobecně multicore CPU více a efektivněji využívány, jak multitasking, tak multithreading. Každopádně u serverů je půda na multithreading aplikace značně úrodnější. Tento fakt vychází z toho, že servery mají už pár let v koncepci více procesorů, byť separátních a tak softwaru pro dvě cpu je většina. Hlavně v místech vyššího vytížení ( o což se většina správců serverů snaží kvůli využití potenciálu serverů) jsou vícejádra nepostradatelným bojovníkem za nízkou přístupovou dobu.
Abych nezůstal jen u výkonu, tak daleko podstatnějším dílem na prosazení vícejaderných CPU jsou, alespoň u procesorů pro osobní PC, ekonomické výhody. Značně klesly výrobní náklady z důvodu úspor materiálů, inovací a spotřeby. Dále např. dvoujádrové procesory spotřebovávají méně energie za chodu než-li dva separátní procesory. Tento fakt je důležitý právě v nynějším „green" trendu (objevují se tedy EE verze procesorů atd.)

 


 

*2 problém plynoucí z vzájemné korekce cache paměti. Týká se platnosti obsahu všech pamětí cache. Ošetřen protokolem (MESI u x86)
*3 " též cache snooping- v překladu znamená "sběrnicové čmuchání". Jde o to, že procesory neustále sledují co se prohání na FSB a pokud zaznamenají požadavek čtení z adresy, kterou mají v cache, okamžitě ještě před koncem cyklu odešlou ony data z cache do paměti. Záleží i na hardwarové implementaci, např. AMD procesory si data rovnou posílají jeden druhému, zápis do paměti není nutný. K tomu je potřeba protokol MOESI."

*4 multithreading„Je to schopnost programu sám sebe větvit. Program se dělí na tzv. vlákna (threads of executions), která se zdají běžet současně. To má výhodu v tom, že při provádění nějaké náročnějąí a dlouhotrvající práce (např. ukládání dlouhého souboru) se aplikace "nezasekne". Programátor zpravidla vytvoří jedno vlákno frontové, které vyrobí všechna okna, jedno nebo více vláken bezfrontových, která počítají. Je známé tzv. pravidlo 1/10 sekundy "Cokoli trvá déle neľ 1/10 sekundy, mělo by se provádět v novém bezfrontovém vláknu."
Zatímco u multitaskingu jsou jednotlivé procesy zcela oddělené (vlastní paměť,...) při multithreadingu všechna vlákna (jedné aplikace) sdílejí stejné systémové zdroje - paměť, soubory, globální proměnné, každé vlákno má svůj zásobník, tj. automatické proměnné jsou pro každé vlákno zvlášť."
*Graf použit z:Koc,Petr:Mýty o dvoujádrových procesorech: Chcete důkaz?;2007(online):

 


Nový komentář