Kodėl visi procesoriaus šerdys yra vienodos spartos, o ne skirtingi?
Jei kada nors darėte daug palyginimų perkant naują procesorių, galbūt pastebėjote, kad visos šerdys turi greičio, o ne skirtingų derinių. Kodėl taip? Šiandienos „SuperUser“ Q&A pranešimas turi atsakymą į įdomų skaitytojo klausimą.
Šiandienos „Klausimų ir atsakymų“ sesija mums suteikiama pagal „SuperUser“ - „Stack Exchange“ padalinį, bendruomenės sukurtą „Q&A“ svetainių grupavimą.
Klausimas
„SuperUser“ skaitytuvas Jamie nori sužinoti, kodėl visi procesoriaus šerdys turi tokį patį greitį, o ne skirtingus:
Apskritai, jei perkate naują kompiuterį, nuspręsite, kurį procesorių pirkti, remiantis numatomu kompiuterio darbo krūviu. Vaizdo žaidimų našumas paprastai nustatomas pagal vieną pagrindinį greitį, o programos, pvz., Vaizdo redagavimas, nustatomos pagal šerdies skaičių. Kalbant apie tai, kas yra rinkoje, visi procesoriai, atrodo, turi maždaug tokį pat greitį, o pagrindiniai skirtumai yra daugiau sriegių ar daugiau šerdies.
Pavyzdžiui:
- „Intel Core i5-7600K“, bazinis dažnis 3,80 GHz, 4 šerdys, 4 gijos
- „Intel Core i7-7700K“, bazinis dažnis - 4,20 GHz, 4 šerdys, 8 gijos
- AMD Ryzen 5 1600X, bazinis dažnis 3,60 GHz, 6 šerdys, 12 gijų
- AMD Ryzen 7 1800X, bazinis dažnis 3,60 GHz, 8 šerdys, 16 sriegių
Kodėl mes matome šį didėjančių branduolių modelį, tačiau visi šerdys turi tą patį laikrodžio greitį? Kodėl nėra skirtingų laikrodžių variantų? Pavyzdžiui, du „dideli“ šerdys ir daug mažų šerdys.
Vietoj, pavyzdžiui, keturių 4,0 GHz (ty 4 × 4 GHz, 16 GHz) branduolių, kaip apie procesorius, turintis dvi šerdis, kurių veikimas yra 4,0 GHz, ir keturios šerdys, veikiančios 2,0 GHz (ty 2 × 4,0 GHz + 4 × 2,0 GHz, maks. 16 GHz)? Ar antrasis variantas būtų vienodai geras atskirų srieginių darbo krūvių atveju, bet galbūt geresnis daugiapakopėje darbo apkrovoje?
Prašau to kaip bendrojo klausimo, o ne konkrečiai apie pirmiau išvardytus procesorius arba apie bet kurį konkretų darbo krūvį. Aš tiesiog smalsu, kodėl toks modelis yra.
Kodėl visi procesoriaus šerdys turi vienodą greitį, o ne skirtingus?
Atsakymas
„SuperUser“ dalyvis bwDraco turi atsakymą:
Tai žinoma kaip nevienalytė daugiafunkcinė technologija (HMP) ir yra plačiai naudojama mobiliuose įrenginiuose. ARM pagrindu veikiančiuose įrenginiuose, kuriuose įdiegta didelė.LITTLE, procesorius turi skirtingų charakteristikų ir galios profilių serijas, ty kai kurios šerdys veikia greitai, bet rengia daug energijos (greitesnė architektūra ir (arba) aukštesni laikrodžiai), o kiti yra energiją taupantys, bet lėtai ( lėtesnė architektūra ir (arba) apatiniai laikrodžiai). Tai naudinga, nes energijos suvartojimas paprastai didėja neproporcingai, kai padidinate našumą, kai pasiekiate tam tikrą tašką. Idėja yra gauti našumą, kai jums to reikia, ir baterijos veikimo laiką, kai to nepadarysite.
Darbalaukio platformose energijos suvartojimas yra daug mažiau problema, todėl tai nėra tikrai būtina. Dauguma programų tikisi, kad kiekviena šerdis pasižymi panašiomis charakteristikomis, o HMP sistemų tvarkaraščių sudarymo procesai yra daug sudėtingesni nei tradicinių simetrinių daugiafunkcinių (SMP) sistemų planavimas (techniškai „Windows 10“ palaiko HMP, tačiau jis daugiausia skirtas mobiliesiems įrenginiai, kurie naudoja ARM big.LITTLE).
Be to, dauguma kompiuterių ir nešiojamųjų kompiuterių procesorių šiandien nėra termiškai arba elektriniu būdu apriboti iki taško, kur kai kurie šerdys turi veikti greičiau nei kiti, net ir trumpiems sprogimams. Iš esmės mes pasiekėme sieną dėl to, kaip greitai galime pagaminti atskiras šerdis, todėl kai kurių branduolių keitimas lėtesniais neleis likusiems šerdims veikti greičiau.
Nors yra keletas darbastalio procesorių, turinčių vieną ar dvi branduolius, galinčius veikti greičiau nei kiti, ši galimybė šiuo metu apsiriboja tam tikrais labai aukštos klasės „Intel“ procesoriais (žinoma kaip „Turbo Boost Max Technology 3.0“) ir apima tik nedidelį prieaugį tų branduolių, kurie gali veikti greičiau, našumas.
Nors tikrai įmanoma sukurti tradicinį x86 procesorių, turintį tiek didelius, greitus šerdis, tiek mažesnes, lėtesnes šerdis, kad būtų galima optimizuoti didelį sriegį turinčią apkrovą, tai darytų didelį procesoriaus dizaino sudėtingumą ir tikėtina, kad programos tinkamai nepalaikys.
Paimkite hipotetinį procesorių su dviem greitai Kaby ežero (7-osios kartos) šerdimis ir aštuoniomis lėtomis Goldmont (Atom) šerdimis. Iš viso turėtumėte 10 branduolių, o šioms procesoriams optimizuoti labai daug sriegio darbo krūviai gali padidinti našumą ir efektyvumą per įprastą keturių branduolių Kaby ežero procesorių. Tačiau skirtingų tipų šerdys turi labai skirtingus našumo lygius, o lėtos šerdys netgi nepalaiko kai kurių greitųjų šerdies palaikymo instrukcijų, pvz., AVX (ARM vengia šios problemos, reikalaudama tiek didelių, tiek LITTLE branduolių, kad palaikytų tas pačias instrukcijas) ).
Vėlgi, dauguma „Windows“ daugiamečių sričių programų daro prielaidą, kad kiekvienas branduolys turi tokį patį arba beveik tą patį lygį ir gali vykdyti tas pačias instrukcijas, todėl tokia asimetrija gali sukelti mažiau nei idealią našumą, galbūt netgi avarijos, jei ji naudoja instrukcijas, kurių nepalaiko lėtesnės šerdys. Nors „Intel“ galėjo modifikuoti lėtąsias šerdis, kad pridėtų pažangias instrukcijas, kad visos šerdys galėtų vykdyti visas instrukcijas, tai neišspręstų problemų, susijusių su programinės įrangos palaikymu heterogeniniams procesoriams.
Skirtingas požiūris į taikomųjų programų kūrimą, arčiau to, ką tikriausiai galvojate savo klausime, naudos GPU, kad pagreitintų labai lygiagrečias programų dalis. Tai galima padaryti naudojant API, pvz., OpenCL ir CUDA. Kalbant apie vieno lusto sprendimą, AMD skatina techninę paramą GPU pagreičiui savo APU, kurie sujungia tradicinį procesorių ir aukštos kokybės integruotą GPU į tą patį mikroschemą, kaip ir heterogeninę sistemos architektūrą, nors tai nepastebėjo daug pramonės įsisavinimo iš kelių specializuotų programų.
Ar ką nors papildyti paaiškinimu? Garsas išjungtas komentaruose. Norite perskaityti daugiau atsakymų iš kitų „tech-savvy Stack Exchange“ vartotojų? Čia rasite visą diskusijų temą.
Vaizdo kreditas: Mirko Waltermann (Flickr)