Paranna yhden suorittimen ydintä: miten se toimii?

Suorittimen suunnittelijat keksivät uusia temppuja saadakseen kaiken irti uusista arkkitehtuureistaan, joista yksi on lisätä yhden ytimen kellotaajuus koko yhteisen rajan yli prosessori. Tätä kutsutaan yhden ytimen lisäykseksi, ja aiomme selittää tässä viestissä, mistä se koostuu ja mitä etuja se tuo tietokoneellesi.

Suurin osa veteraaneista muistaa ne vuodet, jolloin prosessorit olivat yksisydämisiä eivätkä pystyneet ajamaan useampaa kuin yhtä säiettä. Se oli aika, jolloin kilpailu oli suurin MHz ensin GHz, kunnes he eivät voineet nousta enemmän fyysisen rajoituksia ja piti siirtyä monisydämiseen.

Tehosta yhdellä suorittimen ytimellä

Ominaisuus, jonka aiomme nähdä uusissa suorittimissa, on yhden ytimen tehostus, joka koostuu siitä, että moniytimisen prosessorin yksi ydin saavuttaa korkeamman kellotaajuuden kuin useiden ytimien tehostaminen, kaikki sen ansiosta, että pystyt irrota loput suorittimen ytimistä, alenna niiden kellotaajuutta tai aiheuta niitä, etteivät ne pysty saavuttamaan lisäysnopeutta.

Yhden ytimen tehostus, jakamalla suorittimen tehoa

Boost soolo nucleo

Kellonopeus, jonka prosessori voi saavuttaa, riippuu sille käytettävissä olevasta energiamäärästä, mutta suorittimissa on ansoja energiankulutuksen optimoimiseksi, vaikka suurin osa perustuu kykyyn irrottaa suorittimen käyttämättömät osat aina siten, että ne eivät kuluta energiaa tekemättä mitään.

Ytötasolla monet mallit, jotka voivat toimia useiden säikeiden kanssa, pyrkivät suorittamaan tietyt ohjeet hyödyntämällä ohjausyksikön tiettyjen osien päällekkäisyyttä kiistojen välttämiseksi ja suorituskyvyn parantamiseksi, mutta muissa malleissa näin ei ole. poistaa käytöstä SMT- tai Hyperthreading-toiminnot kellonopeuden lisäämiseksi.

Samojen periaatteiden mukaisesti on mahdollista deaktivoida kaikki ytimet paitsi yksi ja jopa poistaa SMT tai Hypethreading siitä niin, että yhden ytimen kellotaajuus on mahdollisimman korkea.

Mitä se lisää prosessorin kokonaissuorituskykyyn?

CPU-tiedonsiirto

On monia vertailuarvoja, jotka mittaavat yhden suorittimen ytimen suorituskykyä, näitä vertailuarvoja ei käytetä suorittimen absoluuttisen suorituskyvyn arviointiin, eivätkä ne perustu realistisiin skenaarioihin. Ne yksinkertaisesti palvelevat meitä vertailevalla tavalla tietääkseen, kuinka yksi arkkitehtuuri on kehittynyt suhteessa toiseen, vertaamalla ydin kerrallaan.

Markkinoilla olevissa ohjelmissa, koska vuosien ajan, jolloin kuluttajilla on ollut useita ytimiä, suurin osa ohjelmista on suunniteltu toimimaan pääosin rinnakkain, mutta on otettava huomioon, että ohjelmilla on osa, joka voidaan rinnakkain ja toinen, joka ei voi.

Ley Amdahl

Jos kiinnitämme huomiota Amdahlin lakiin, koodin jokaisen rinnakkaistettavan osan suoritusaika lyhenee lisäämällä lisää ytimiä, mutta koodissa on sarjaosallinen osa, jota ei siksi voida suorittaa rinnakkain, ohjelmat riippuvat yhden ytimen nopeudesta.

Jos sammutamme kaikki ytimet paitsi yhden, tällöin se vaikuttaa negatiivisesti rinnakkain toimivaan koodiin, mutta jos ylläpidämme perusnopeutta kaikissa ytimissä ja käytämme tehostusta tai pientä etua yhdessä niistä, niin ohjelman sisällä sarjana toimiva koodi nopeutuu, mikä lisää järjestelmän suorituskykyä.

Onko yhden ytimen lisäys sama kuin iso.LITTLE?

iso.LITTLE-kaavio

Vaikka se saattaa muistuttaa meitä tiettyjen pienitehoisten ytimien suuresta LITTLE-käsitteestä, se ei ole sama, koska tässä ajatuksessa ajatuksena on käyttää pienitehoista ydintä tiettyjen ohjeiden suorittamiseen, jotka ovat riittävän yksinkertaisia, jotta mahdotonta optimoida sitä. enemmän kulutuksessa ytimen sisällä, joten suositellaan yksinkertaisemman ytimen käyttöä energiankulutuksen vähentämiseksi.

Kohdassa “big.LITTLE” ytimien kellotaajuutta ei lisätä tai lasketa, vaan pikemminkin ydin, joka suorittaa mainitun ohjelman tai osan ohjelmasta, muuttuu, joten prosessorissa, jolla on tällainen muotoilu, ytimet muodostuvat heterogeenisesti, kun taas yhden ytimen keskitetty nopeuden lisäys voi tapahtua sekä homogeenisissa että heterogeenisissä ydinsarjoissa.

Koska kellotaajuus on kuitenkin suoraan kytketty virrankulutuksen jännitteeseen, voimme todeta, että ytimen kellotaajuuden nostaminen "bit.LITTLE" -toiminnon sijaan ei ole tapa säästää prosessorin virrankulutusta.