Domača » kako » Zakaj imajo CPU jedra vse enako hitrost kot različni?

    Zakaj imajo CPU jedra vse enako hitrost kot različni?

    Če ste že kdaj naredili veliko primerjavo nakupov za novo CPU, ste morda opazili, da imajo jedra vsekakor hitrost in ne kombinacijo različnih. Zakaj? Današnja objava za vprašanja in odgovori SuperUser ima odgovor na vprašanje radovednega bralca.

    Današnja seja vprašanj in odgovorov prihaja z namenom SuperUser-a, ki je del skupine Stack Exchange, ki temelji na skupnostih spletnih mest za vprašanja in odgovore.

    Vprašanje

    Bralnik SuperUser Jamie želi vedeti, zakaj imajo jedra procesorjev enako hitrost, namesto različnih:

    Na splošno, če kupujete nov računalnik, bi določili, kateri procesor kupiti glede na pričakovano delovno obremenitev računalnika. Učinkovitost video iger se običajno določa s hitrostjo enega jedra, medtem ko aplikacije, kot je urejanje videa, določajo število jeder. Glede na to, kaj je na voljo na trgu, se zdi, da imajo vse CPU približno enako hitrost, glavne razlike pa so več niti ali več jeder..

    Na primer:

    • Intel Core i5-7600K, osnovna frekvenca 3,8 GHz, 4 jedra, 4 niti
    • Intel Core i7-7700K, osnovna frekvenca 4,2 GHz, 4 jedra, 8 niti
    • AMD Ryzen 5 1600X, osnovna frekvenca 3.60 GHz, 6 jeder, 12 niti
    • AMD Ryzen 7 1800X, osnovna frekvenca 3,6 GHz, 8 jeder, 16 niti

    Zakaj vidimo ta vzorec naraščajočih jeder, vendar imajo vsa jedra enako hitrost? Zakaj ni variant z različnimi urami? Na primer, dve “veliki” jedri in veliko majhnih jeder.

    Namesto, recimo, štirih jeder s hitrostjo 4,0 GHz (tj. 4 × 4 GHz, največ 16 GHz), kaj pa CPU z dvema jederima, ki delujejo na 4,0 GHz in štirimi jedri na 2,0 GHz (tj 2 × 4,0 GHz + 4 × 2,0 GHz, največ 16 GHz)? Ali bi bila druga možnost enako dobra pri obremenitvah z enim navojem, vendar bi bila potencialno boljša pri večnitnih delovnih obremenitvah?

    To vprašanje zastavljam kot splošno vprašanje in ne posebej v zvezi z zgoraj navedenimi CPE-ji ali o kateri koli določeni delovni obremenitvi. Samo radoveden sem, zakaj je vzorec to, kar je.

    Zakaj imajo jedra procesorja enako hitrost, namesto različnih?

    Odgovor

    Prispevek uporabnika SuperUser bwDraco ima odgovor za nas:

    To je znano kot heterogena večdelna obdelava (HMP) in je široko sprejeta z mobilnimi napravami. V ARM-baziranih napravah, ki izvajajo big.LITTLE, procesor vsebuje jedra z različnimi zmogljivostnimi in močnostnimi profili, kar pomeni, da se nekatera jedra zaganjajo hitro, vendar privlačijo veliko moči (hitrejša arhitektura in / ali višje ure), medtem ko so drugi energetsko učinkoviti, vendar počasni ( počasnejša arhitektura in / ali nižje ure). To je koristno, ker poraba energije narašča nesorazmerno, ko povečate učinkovitost, ko preidete določeno točko. Ideja je, da dobite zmogljivost, ko jo potrebujete, in baterije, ko je ne potrebujete.

    Na namiznih platformah je poraba energije precej manj problematična, zato to ni nujno potrebno. Večina aplikacij pričakuje, da ima vsako jedro podobne značilnosti delovanja, in postopki razporejanja za sisteme za upravljanje premikov so veliko bolj zapleteni kot načrtovanje za tradicionalne simetrične sisteme z več obdelavami (SMP) (tehnično, Windows 10 ima podporo za HMP, vendar je namenjen predvsem za mobilne naprave) naprave, ki uporabljajo ARM big.LITTLE).

    Prav tako večina namiznih in prenosnih procesorjev danes ni termično ali električno omejena na točko, kjer morajo nekatera jedra delovati hitreje kot drugi, tudi za kratke izbruhe. V bistvu smo zadeli steno, kako hitro lahko naredimo posamezna jedra, tako da zamenjava nekaterih jeder s počasnejšimi jedri ne bo omogočila hitrejšega delovanja preostalih jeder..

    Čeprav obstaja nekaj namiznih procesorjev, ki imajo eno ali dve jedri, ki lahko delujejo hitreje kot drugi, je ta zmogljivost trenutno omejena na nekatere zelo napredne procesorje Intel (znane kot tehnologija Turbo Boost Max 3.0) in vključuje le rahlo povečanje zmogljivost za tista jedra, ki lahko delujejo hitreje.

    Čeprav je vsekakor mogoče oblikovati tradicionalni procesor x86 z velikimi, hitrimi jedri in manjšimi, počasnejšimi jedri, da bi optimizirali obremenitve z veliko navojem, bi to znatno povečalo kompleksnost procesorske zasnove in aplikacije verjetno ne bodo pravilno podprle..

    Vzemite hipotetičnega procesorja z dvema jedroma Kaby Lake (7. generacije) in osem počasnih Goldmontovih (Atom) jeder. Imeli bi skupno 10 jeder, pri tem pa bi bile zelo obremenjene obremenitve, optimizirane za tovrstne procesorje, lahko povečale zmogljivost in učinkovitost v primerjavi z običajnim procesorjem Kaby Lake. Vendar pa imajo različne vrste jeder divje različne ravni zmogljivosti, počasna jedra pa ne podpirajo niti nekaterih navodil, ki jih podpira hitra jedra, kot je AVX (ARM se izogiba temu vprašanju tako, da zahtevata tako velika kot majhna jedra, da podpirajo enaka navodila. ).

    Tudi večina večnitnih aplikacij, ki temeljijo na operacijskih sistemih Windows, predvideva, da ima vsako jedro enako ali skoraj enako raven zmogljivosti in lahko izvaja ista navodila, tako da bo ta vrsta asimetrije verjetno povzročila manj kot idealno zmogljivost, morda celo zruši, če uporablja navodila, ki jih ne podpirajo počasnejša jedra. Čeprav bi lahko Intel spremenil počasna jedra, da bi dodal napredno podporo za navodila, tako da lahko vsa jedra izvajajo vsa navodila, to ne bi rešilo težav s podporo programske opreme za heterogene procesorje.

    Drugačen pristop k oblikovanju aplikacij, bližje temu, o čemer verjetno razmišljate v vašem vprašanju, bi GPU uporabil za pospeševanje zelo vzporednih delov aplikacij. To je mogoče storiti z API-ji, kot sta OpenCL in CUDA. Kar zadeva rešitev z enim čipom, AMD spodbuja strojno podporo za pospeševanje grafičnega procesorja v svojih APU-jih, ki združuje tradicionalno CPU in visoko zmogljivo integrirano grafično procesno enoto v istem čipu, kot je arhitektura heterogenega sistema, čeprav to še ni opazilo veliko industrije. nekaterih posebnih aplikacij.


    Imate kaj dodati pojasnilu? Zvok v komentarjih. Želite prebrati več odgovorov drugih uporabnikov tehnologije Stack Exchange? Oglejte si celotno nit razprave tukaj.

    Zasluge za sliko: Mirko Waltermann (Flickr)