Koduleht » kuidas » Miks on kõigil CPU-südamikel eri kiiruste asemel sama kiirus?

    Miks on kõigil CPU-südamikel eri kiiruste asemel sama kiirus?

    Kui olete kunagi teinud uue CPU-ga ostmise palju võrdlust, siis võib-olla olete märganud, et kõik südamikud näivad pigem kiirust kui erinevatest kombinatsioonidest. Miks nii? Tänase SuperUser Q&A postituse vastus on uudishimulik lugeja küsimus.

    Tänane küsimuste ja vastuste seanss saabub meiega kohtades, kus on SuperUser-Stack Exchange'i alajaotis, kogukondlikult juhitav Q&A veebisaitide rühmitus.

    Küsimus

    SuperUser-lugeja Jamie tahab teada, miks kõigil CPU-südamikel on sama kiirus kui teistel:

    Üldiselt, kui ostate uut arvutit, siis otsustaksite, milline protsessor osta peaks arvuti eeldatava töökoormuse alusel. Videomängude jõudlus määratakse tavaliselt ühe südamiku kiirusega, samas kui rakenduste, nagu videotöötlus, määrab südamike arv. Mis puutub turule, siis näib, et kõigil protsessoritel on umbes sama kiirus ja peamised erinevused on rohkem niidid või rohkem südamikke.

    Näiteks:

    • Intel Core i5-7600K, põhisagedus 3,80 GHz, 4 südamikku, 4 keermet
    • Intel Core i7-7700K, põhisagedus 4,20 GHz, 4 südamikku, 8 keermet
    • AMD Ryzen 5 1600X, põhisagedus 3,60 GHz, 6 südamikku, 12 keermet
    • AMD Ryzen 7 1800X, põhisagedus 3,60 GHz, 8 südamikku, 16 keermet

    Miks me näeme seda kasvavate südamike mustrit, kuid kõik südamikud omavad sama kella kiirust? Miks pole erineva kella kiirusega variante? Näiteks kaks "suurt" südamikku ja palju väikesi südamikke.

    Näiteks nelja südamiku asemel, mis on 4,0 GHz (st 4 × 4 GHz, 16 GHz maksimaalne), siis kuidas on CPU, millel on kaks südamikku, mis töötavad 4,0 GHz ja neli südamikku, mis töötavad 2,0 GHz (st 2 × 4,0 GHz + 4 × 2,0 GHz, maksimaalne 16 GHz)? Kas teine ​​võimalus oleks sama suur kui üksiku keermega töökoormus, kuid potentsiaalselt parem mitmekihiliste töökoormuste puhul?

    Küsin seda üldise küsimusena, mitte konkreetselt ülaltoodud CPU-de või mõne konkreetse töökoormuse osas. Ma olen lihtsalt uudishimulik, miks muster on see, mis see on.

    Miks on CPU südamikel sama kiirus, kui erinevate?

    Vastus

    SuperUser'i toetaja bwDraco on meile vastuseks:

    Seda tuntakse kui heterogeenset mitmekordset töötlemist (HMP) ja seda kasutavad laialdaselt mobiilseadmed. ARM-põhistes seadmetes, mis rakendavad suurt.LITTLE, sisaldab protsessor erineva jõudlus- ja võimsusprofiiliga südamikke, st mõned südamikud töötavad kiiresti, kuid teevad palju energiat (kiirem arhitektuur ja / või kõrgemad kellad), teised aga energiatõhusad, kuid aeglased ( aeglasem arhitektuur ja / või madalamad kellad). See on kasulik, sest energiatarbimine suureneb ebaproportsionaalselt, kui suurendate jõudlust pärast teatud punkti möödumist. Siinkohal on idee saada jõudlust, kui seda vajate, ja aku eluiga, kui te seda ei tee.

    Töölaua platvormidel on energiatarbimine palju vähem probleemne, nii et see ei ole tõesti vajalik. Enamik rakendusi eeldab, et igal südamikul on sarnased jõudlusomadused, ja HMP-süsteemide sõiduplaanimisprotsessid on palju keerukamad kui traditsiooniliste sümmeetriliste multi-töötlussüsteemide (SMP) ajastamine (tehniliselt on Windows 10 HMP-d toetav, kuid see on peamiselt mõeldud mobiilile seadmed, mis kasutavad ARM big.LITTLE).

    Ka enamik töölaua- ja sülearvutiprotsessoreid ei ole tänapäeval termiliselt ega elektriliselt piiratud sellega, et mõned südamikud peavad töötama kiiremini kui teised, isegi lühikeste purunemiste korral. Oleme põhiliselt tabanud seina selle kohta, kui kiiresti suudame üksikuid südamikke teha, nii et mõnede tuumade asendamine aeglasemate südametega ei lase ülejäänud südamikel kiiremini töötada.

    Kuigi on mõned lauaarvutite töötlejad, kellel on üks või kaks südamikku, mis on võimelised töötama kiiremini kui teised, on see võimalus praegu piiratud teatud väga kõrgtehnoloogiliste Inteli protsessoritega (tuntud kui Turbo Boost Max Technology 3.0) ja sellega kaasneb vaid väike juurdekasv kiiremini töötavate südamike jõudlus.

    Kuigi kindlasti on võimalik kujundada traditsiooniline x86 protsessor, millel on nii suured, kiired südamikud kui ka väiksemad, aeglasemad südamikud, et optimeerida tugevalt keermestatud töökoormust, suurendaks see protsessori disaini märkimisväärset keerukust ja rakendused ei toeta seda tõenäoliselt.

    Võta hüpoteetiline protsessor kahe kiire Kaby Lake'i (7. põlvkonna) südamiku ja kaheksa aeglase Goldmont (Atom) südamikuga. Teil oleks kokku 10 südamikku ja sellisele protsessorile optimeeritud tugevalt keermestatud töökoormus võib näha tavapärase nelja-põhise Kaby Lake'i protsessori jõudlust ja tõhusust. Erinevat tüüpi südamikel on siiski väga erinevad jõudluse tasemed ning aeglased südamikud ei toeta isegi mõningaid juhiseid kiirete südamike toetamiseks, nagu AVX (ARM väldib seda probleemi, nõudes nii suurtest kui ka LITTLE südamikest samade juhiste toetamist) ).

    Jällegi eeldab enamik Windowsi põhiseid mitme keermega rakendusi, et igal tuumal on sama või peaaegu sama jõudluse tase ja see võib täita samu juhiseid, nii et selline asümmeetria põhjustab tõenäoliselt vähem kui ideaalset jõudlust, võib-olla isegi jookseb, kui ta kasutab juhiseid, mida aeglasemad südamikud ei toeta. Kuigi Intel võib aeglasemaid südamikke modifitseerida, et lisada täiustatud juhiste tugi, et kõik südamikud saaksid kõiki juhiseid täita, ei lahendaks see heterogeensete protsessorite tarkvaratoe probleeme.

    Erinev lähenemine rakenduse kujundamisele, lähemale sellele, mida te tõenäoliselt oma küsimuses mõtlete, kasutaks GPU-d rakenduste kiirelt paralleelsete osade kiirendamiseks. Seda saab teha API-dega nagu OpenCL ja CUDA. Ühe kiibiga lahenduse puhul edendab AMD oma APU-des GPU kiirenduse riistvaratoetust, mis ühendab traditsioonilise protsessori ja suure jõudlusega integreeritud GPU sama kiibiga kui heterogeenset süsteemiarhitektuuri, kuigi see ei ole näinud suurt tööstusharu kasutuselevõttu väljaspool mõne erirakenduse kohta.


    Kas teil on midagi lisada selgitusele? Heli on kommentaarides välja lülitatud. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Vaadake siin täielikku arutelu lõiku.

    Krediitkaart: Mirko Waltermann (Flickr)