Viacjadrové procesory: Je viac vždy lepšie?

Obsah:

Viacjadrové procesory: Je viac vždy lepšie?
Viacjadrové procesory: Je viac vždy lepšie?
Anonim

Pridanie niekoľkých jadier do jedného procesora ponúka značné výhody vďaka multitaskingovému charakteru moderných operačných systémov. Na niektoré účely však existuje horná praktická hranica toho, koľko jadier prináša zlepšenia v porovnaní s nákladmi na ich pridanie.

Pokroky viacjadrových technológií

Image
Image

Viacjadrové procesory sú dostupné v osobných počítačoch od začiatku 21. storočia. Viacjadrové návrhy riešili problém procesorov narážajúcich na strop svojich fyzických obmedzení, pokiaľ ide o rýchlosť hodín a ako efektívne by sa dali chladiť a stále si zachovať presnosť. Prechodom na ďalšie jadrá na jednom procesorovom čipe sa výrobcovia vyhli problémom s taktovacou rýchlosťou tým, že efektívne znásobili množstvo dát, ktoré dokáže procesor spracovať.

Keď boli pôvodne uvedené na trh, výrobcovia ponúkali iba dve jadrá v jednom procesore, ale teraz existujú možnosti pre štyri, šesť a dokonca aj 10 alebo viac. Okrem pridávania jadier môžu technológie simultánneho multithreadingu – ako napríklad Intel Hyper-Threading – zdvojnásobiť virtuálne jadrá, ktoré vidí operačný systém.

Procesy a vlákna

Proces je špecifická úloha, podobne ako program, ktorý beží na počítači. Proces pozostáva z jedného alebo viacerých vlákien.

Vlákno je jednoducho jeden prúd údajov z programu, ktorý prechádza procesorom v počítači. Každá aplikácia generuje svoje vlastné jedno alebo viacero vlákien v závislosti od toho, ako beží. Bez multitaskingu dokáže jednojadrový procesor naraz spracovať iba jedno vlákno, takže systém rýchlo prepína medzi vláknami a spracováva údaje zdanlivo súbežným spôsobom.

Výhoda viacerých jadier je v tom, že systém dokáže spracovať viac ako jedno vlákno súčasne. Každé jadro dokáže spracovať samostatný tok údajov. Táto architektúra výrazne zvyšuje výkon systému, na ktorom sú spustené súbežné aplikácie. Keďže servery majú tendenciu spúšťať veľa súbežných aplikácií v danom čase, táto technológia bola pôvodne vyvinutá pre podnikových zákazníkov – ale keď sa osobné počítače stali zložitejšími a zvýšil sa multitasking, aj oni profitovali z extra jadier.

Každý proces sa však riadi primárnym vláknom, ktoré môže zaberať iba jedno jadro. Relatívna rýchlosť programu, ako je hra alebo video renderer, je teda pevne obmedzená schopnosťou jadra, ktoré spotrebuje primárne vlákno. Primárne vlákno môže absolútne delegovať sekundárne vlákna na iné jadrá – ale hra nebude dvakrát rýchlejšia, keď zdvojnásobíte jadrá. Nie je teda nezvyčajné, že hra plne maximalizuje jedno jadro (primárne vlákno), ale vidí len čiastočné využitie ostatných jadier pre sekundárne vlákna. Žiadne zdvojenie jadra neobíde skutočnosť, že primárne jadro je obmedzovačom rýchlosti pre vašu aplikáciu a aplikácie, ktoré sú citlivé na túto architektúru, budú fungovať lepšie ako aplikácie, ktoré nie.

Závislosť od softvéru

Hoci koncept viacjadrových procesorov znie lákavo, táto technológia má jednu veľkú výhradu. Aby ste mohli využívať skutočné výhody viacerých procesorov, softvér bežiaci na počítači musí byť napísaný tak, aby podporoval viacvláknové spracovanie. Bez softvéru, ktorý takúto funkciu podporuje, budú vlákna primárne bežať cez jedno jadro, čím sa zníži celková efektivita počítača. Koniec koncov, ak môže bežať iba na jednom jadre v štvorjadrovom procesore, v skutočnosti môže byť rýchlejšie spustiť ho na dvojjadrovom procesore s vyššími základnými taktovacími rýchlosťami.

Všetky hlavné súčasné operačné systémy podporujú schopnosť multithreadingu. Multithreading však musí byť zapísaný aj do aplikačného softvéru. Podpora pre multithreading v spotrebiteľskom softvéri sa v priebehu rokov zlepšila, ale pre mnoho jednoduchých programov nie je podpora multithreadingu stále implementovaná kvôli zložitosti zostavy softvéru. Napríklad poštový program alebo webový prehliadač pravdepodobne neuvidí obrovské výhody multithreadingu, ako program na úpravu grafiky alebo videa, kde počítač spracováva zložité výpočty.

Dobrým príkladom na vysvetlenie tejto tendencie je pozrieť sa na typickú počítačovú hru. Väčšina hier vyžaduje nejakú formu vykresľovacieho enginu na zobrazenie toho, čo sa v hre deje. Akási umelá inteligencia navyše riadi udalosti a postavy v hre. Pri jednom jadre sa obe úlohy vykonávajú prepínaním medzi nimi. Tento prístup nie je efektívny. Ak by systém obsahoval viacero procesorov, vykresľovanie a AI by mohli bežať na samostatnom jadre – ideálna situácia pre viacjadrový procesor.

Je 8 > 4 > 2?

Prekročenie dvoch jadier predstavuje zmiešané výhody, keďže odpoveď pre každého kupujúceho počítača závisí od softvéru, ktorý zvyčajne používa. Napríklad veľa klasických hier stále ponúka malý výkonnostný rozdiel medzi dvoma a štyrmi jadrami. Dokonca aj moderné hry – z ktorých niektoré údajne vyžadujú alebo podporujú osem jadier – nemusia fungovať lepšie ako šesťjadrový stroj s vyššou základnou frekvenciou, keďže účinnosť primárneho vlákna určuje efektivitu viacvláknového výkonu.

Na druhej strane program na kódovanie videa, ktorý prekóduje video, pravdepodobne zaznamená obrovské výhody, pretože vykresľovanie jednotlivých snímok môže byť odovzdané rôznym jadrám a následne softvérom pospájané do jedného streamu. Mať osem jadier bude teda ešte výhodnejšie ako mať štyri. Primárne vlákno v podstate nepotrebuje porovnateľne bohaté zdroje; namiesto toho môže preniesť ťažkú prácu na dcérske vlákna, ktoré maximálne využívajú jadrá procesora.

Rýchlosti hodín

Image
Image

Vo všeobecnosti platí, že vyššia rýchlosť bude znamenať rýchlejší procesor. Keď vezmete do úvahy rýchlosti vo vzťahu k viacerým jadrám, rýchlosti hodín sa stanú hmlistejšími, pretože procesory prerušia viacero dátových vlákien vďaka dodatočným jadrám, ale každé z týchto jadier bude bežať pri nižších rýchlostiach z dôvodu tepelných obmedzení.

Napríklad dvojjadrový procesor môže podporovať základnú frekvenciu 3,5 GHz pre každý procesor, zatiaľ čo štvorjadrový procesor môže bežať iba na 3,0 GHz. Len pri pohľade na jedno jadro na každom z nich je dvojjadrový procesor o 14 percent rýchlejší ako štvorjadrový. Ak teda máte program, ktorý je iba jednovláknový, dvojjadrový procesor je skutočne efektívnejší. Ak váš softvér dokáže využívať všetky štyri procesory, potom bude štvorjadrový procesor v skutočnosti asi o 70 percent rýchlejší ako dvojjadrový procesor.

Závery

Mať procesor s vyšším počtom jadier je vo všeobecnosti lepšie, ak ho podporuje váš softvér a typické prípady použitia. Pre bežného používateľa počítača bude väčšinou dvojjadrový alebo štvorjadrový procesor viac než dostatočný výkon. Väčšina spotrebiteľov neuvidí žiadne hmatateľné výhody z prekročenia štyroch procesorových jadier, pretože ich využíva tak málo nešpecializovaného softvéru. Najlepší prípad použitia procesorov s vysokým počtom jadier sa týka strojov, ktoré vykonávajú zložité úlohy, ako je úprava videa na počítači, niektoré formy špičkových hier alebo komplikované vedecké a matematické programy.

Prečítajte si naše myšlienky o tom, ako rýchly počítač potrebujem? aby ste získali lepšiu predstavu o tom, aký typ procesora najlepšie vyhovuje vašim výpočtovým potrebám.

Odporúča: