/ / Prečo majú všetky procesorové jadrá rovnakú rýchlosť namiesto rôznych?

Prečo všetky procesorové jadrá majú rovnakú rýchlosť namiesto rôznych?

Ak ste niekedy urobili veľa porovnávacích nákupovv prípade nového procesora ste si možno všimli, že všetky jadrá majú skôr rýchlosť ako kombináciu rôznych. Prečo je to tak? Dnešný príspevok spoločnosti SuperUser s odpoveďami na otázky má odpoveď na zvedavú otázku čitateľa.

Dnešná sekcia otázok a odpovedí prichádza so zdvorilosťou na SuperUser - rozdelenie Stack Exchange, zoskupovanie webových stránok s otázkami a odpoveďami na komunitu.

Otázka

Čítačka SuperUser Jamie chce vedieť, prečo všetky jadrá CPU majú rovnakú rýchlosť namiesto rôznych:

Všeobecne platí, že ak kupujete nový počítač, môžeteby určili, ktorý procesor kúpiť, na základe očakávaného pracovného zaťaženia počítača. Výkon vo videohrách je zvyčajne určený rýchlosťou jedného jadra, zatiaľ čo aplikácie, ako je napríklad strih videa, sú určené počtom jadier. Pokiaľ ide o to, čo je dostupné na trhu, zdá sa, že všetky procesory majú približne rovnakú rýchlosť, pričom hlavnými rozdielmi sú viac vlákien alebo viac jadier.

Napríklad:

  • Intel Core i5-7600K, základná frekvencia 3,80 GHz, 4 jadrá, 4 vlákna
  • Intel Core i7-7700K, základná frekvencia 4,20 GHz, 4 jadrá, 8 vlákien
  • AMD Ryzen 5 1600X, základná frekvencia 3,60 GHz, 6 jadier, 12 vlákien
  • AMD Ryzen 7 1800X, základná frekvencia 3,60 GHz, 8 jadier, 16 vlákien

Prečo vidíme tento vzorec zvyšovania jadier, ale všetky jadrá majú rovnakú hodinovú rýchlosť? Prečo neexistujú žiadne varianty s rôznymi rýchlosťami hodín? Napríklad dve „veľké“ jadrá a veľa malých jadier.

Namiesto toho povedzme štyri jadrá pri 4,0 GHz (t. J. 4 × 4 GHz, maximálne 16 GHz), čo tak CPU s dvoma jadrami bežiacimi pri 4,0 GHz a štyrmi jadrami bežiacimi pri 2,0 GHz (t. J. 2 × 4,0 GHz + 4 x 2,0 GHz, maximálne 16 GHz)? Bola by druhá možnosť rovnako dobrá pre pracovné zaťaženia s jedným vláknom, ale potenciálne lepšia pre pracovné zaťaženie s viacerými vláknami?

Pýtam sa na to ako všeobecnú otázku, a nie konkrétne s ohľadom na CPU uvedené vyššie alebo na akékoľvek konkrétne pracovné zaťaženie. Som len zvedavý, prečo to tak je.

Prečo všetky jadrá CPU majú rovnakú rýchlosť namiesto rôznych?

Odpoveď

Odpoveď SuperUser bwDraco má pre nás odpoveď:

Toto je známe ako heterogénne viacnásobné spracovanie(HMP) a je široko prijímaný mobilnými zariadeniami. V zariadeniach založených na ARM, ktoré implementujú veľké.LITTLE, procesor obsahuje jadrá s rôznymi profilmi výkonu a výkonu, tj niektoré jadrá bežia rýchlo, ale čerpajú veľa energie (rýchlejšia architektúra a / alebo vyššie hodiny), zatiaľ čo iné sú energeticky účinné, ale pomalé ( pomalšia architektúra a / alebo dolné hodiny). Je to užitočné, pretože spotreba energie má tendenciu sa neprimerane zvyšovať, keď po dosiahnutí určitého bodu zvýšite výkon. Cieľom je získať výkon, keď ho potrebujete, a výdrž batérie, keď ho nepotrebujete.

Na stolných platformách je spotreba energie veľamenší problém, takže to naozaj nie je potrebné. Väčšina aplikácií očakáva, že každé jadro bude mať podobné výkonové charakteristiky a procesy plánovania pre systémy HMP sú oveľa zložitejšie ako plánovanie pre tradičné symetrické systémy s viacnásobným spracovaním (SMP) (technicky, Windows 10 má podporu pre HMP, ale je určený hlavne pre mobilné zariadenia) zariadenia, ktoré používajú ARM big.LITTLE).

Aj dnes väčšina počítačov a prenosných procesorovnie sú tepelne ani elektricky obmedzené do bodu, keď niektoré jadrá musia bežať rýchlejšie ako iné, dokonca aj pri krátkych dávkach. V podstate sme narazili na stenu, ako rýchlo dokážeme vyrobiť jednotlivé jadrá, takže nahradenie niektorých jadier pomalými neumožní zostávajúce jadrá bežať rýchlejšie.

Aj keď existuje niekoľko stolných procesorov, ktorémajú jedno alebo dve jadrá schopné bežať rýchlejšie ako ostatné, táto schopnosť je v súčasnosti obmedzená na určité veľmi špičkové procesory Intel (známe ako Turbo Boost Max Technology 3.0) a predstavuje len mierny nárast výkonu pre tie jadrá, ktoré môžu bežať rýchlejšie ,

Aj keď je určite možné navrhnúť aTradičný procesor x86 s veľkými, rýchlymi a menšími, pomalšími jadrami na optimalizáciu pre pracovné zaťaženia s veľkými vláknami, by to pridalo značnú zložitosť návrhu procesora a aplikácie ho pravdepodobne nebudú správne podporovať.

Vezmite hypotetický procesor s dvoma rýchlymi KabyJazerné jadrá (7. generácia) a osem pomalých jadier Goldmont (Atom). Mali by ste celkom 10 jadier a pracovné zaťaženia s veľkými vláknami optimalizované pre tento druh procesora môžu zaznamenať zvýšenie výkonu a efektívnosti v porovnaní s bežným štvorjadrovým procesorom Kaby Lake. Rôzne typy jadier však majú veľmi rozdielne úrovne výkonnosti a pomalé jadrá nepodporujú ani niektoré pokyny, ktoré podporujú rýchle jadrá, napríklad AVX (ARM sa tomuto problému vyhýba tým, že vyžaduje, aby veľké aj LITTLE jadrá podporovali rovnaké pokyny). ).

Väčšina opäť založených na systéme Windows s viacerými vláknamiaplikácie predpokladajú, že každé jadro má rovnakú alebo takmer rovnakú úroveň výkonu a môže vykonávať rovnaké pokyny, takže tento druh asymetrie pravdepodobne povedie k menej než ideálnemu výkonu, a možno dokonca havaruje, ak použije pokyny, ktoré nie sú podporované programom. pomalšie jadrá. Aj keď spoločnosť Intel mohla modifikovať pomalé jadrá tak, aby pridali podporu pokročilých inštrukcií tak, aby všetky jadrá mohli vykonávať všetky inštrukcie, nevyriešilo by to problémy so softvérovou podporou heterogénnych procesorov.

Iný prístup k návrhu aplikácie,bližšie k tomu, o čom pravdepodobne uvažujete vo svojej otázke, by GPU použil na urýchlenie vysoko paralelných častí aplikácií. To je možné dosiahnuť pomocou rozhraní API ako OpenCL a CUDA. Pokiaľ ide o jednočipové riešenie, spoločnosť AMD podporuje hardvérovú podporu na zrýchlenie GPU vo svojich APU, ktoré kombinujú tradičný procesor a vysoko výkonný integrovaný GPU do toho istého čipu, ako je heterogénna systémová architektúra, aj keď to mimo vonkajšieho prostredia nevidelo veľa niekoľkých špecializovaných aplikácií.


Máte k vysvetleniu niečo, čo by ste mali pridať? V komentároch vypnite zvuk. Chcete si prečítať viac odpovedí od ostatných technicky zdatných používateľov servera Exchange Exchange? Pozrite sa na celú diskusnú tému tu.

Autor snímky: Mirko Waltermann (Flickr)