11Aug

Miksi CPU-korteilla kaikilla on sama nopeus eri käyttäjien sijasta?

Jos olet koskaan tehnyt paljon vertailuostoksia uudelle suorittimelle, olet ehkä huomannut, että ytimillä näyttää olevan nopeus pikemminkin kuin erilaisten yhdistelmä.Miksi niin? Tänään SuperUser Q & A -postilla on vastaus utelias lukijan kysymykseen.

Päivän kysymys &Vastausistunto tulee meille kohteliaasti SuperUser-osastoon Stack Exchange, yhteisöllinen ryhmittely Q & A verkkosivuilla.

Kysymys

SuperUser-lukija Jamie haluaa tietää, miksi CPU-ytimillä on sama nopeus eri asemien sijasta:

Yleensä jos ostat uuden tietokoneen, päätät, mikä prosessori ostaa tietokoneen odotetun työmäärän perusteella. Videopelien suorituskyky määräytyy yleensä yhden ytimen nopeuden mukaan, kun taas sovellukset, kuten videon editointi, määräytyvät ytimien lukumäärän mukaan. Markkinoilla saatavilla olevien kaikkien prosessorien näyttävät olevan suunnilleen sama nopeus, kun tärkeimmät erot ovat useampia kierteitä tai useampia ytimiä.

Esimerkiksi:

  • Intel Core i5-7600K, perustaajuus 3.80 GHz, 4 ytimiä, 4 säiettä
  • Intel Core i7-7700K, perustaajuus 4,20 GHz, 4 ytimiä, 8 säiettä
  • AMD Ryzen 5 1600X, perustaajuus 3,60 GHz, 6ytimet, 12 säiettä
  • AMD Ryzen 7 1800X, perusnopeus 3,60 GHz, 8 ytimet, 16 lankaa

Miksi näemme tämän mallin lisääntyvien ytimien mutta kaikki sydämet, joilla on sama kellotaajuus? Miksi ei ole muunnoksia, joilla on erilaiset kellonopeudet? Esimerkiksi kaksi "suurta" ydintä ja paljon pieniä ytimiä.

Sen sijaan, että sanoin neljä ydintä 4,0 GHz: ssä( eli 4 × 4 GHz, 16 GHz maksimissaan), kuinka paljon prosessori, jossa on kaksi sydämiä, jotka toimivat 4,0 GHz: n taajuudella ja neljä ydintä, jotka toimivat 2,0 GHz: ssä( eli 2 × 4,0 GHz + 4 ×2,0 GHz, maksimi 16 GHz)?Olisiko toinen vaihtoehto yhtä hyvä yhtä kierteitettyä työkuormaa kohden, mutta mahdollisesti parempi monisäikeisiin työkuormiin verrattuna?

Pyydän tätä yleisenä kysymyksenä eikä nimenomaan edellä lueteltujen prosessorien tai tietyn työmäärän suhteen. Olen vain utelias, miksi kuvio on se, mitä se on.

Miksi CPU-ytimillä kaikilla on sama nopeus eri asemien sijaan?

Vastaus

SuperUser avustaja bwDraco on meille vastaus:

Tätä kutsutaan heterogeeniseksi monen prosessoinnin( HMP) ja se on laajalti käytössä mobiililaitteilla. ARM-pohjaisissa laitteissa, jotka toteuttavat big. LITTLE-prosessin, prosessori sisältää erilaisia ​​suorituskyky- ja tehoprofiileja sisältäviä ytimiä eli jotkut ytimet ajaa nopeasti, mutta käyttävät paljon tehoa( nopeampi arkkitehtuuri ja / tai korkeammat kellot), kun taas toiset ovat energiatehokkaita mutta hidashitaampi arkkitehtuuri ja / tai alemmat kellot).Tämä on hyödyllistä, koska energiankulutus kasvaa suhteettomasti, kun lisäät suorituskykyä, kun saavutat tietyn pisteen. Ajatus tässä on saada suorituskyky, kun tarvitset sitä ja akun käyttöikä, kun et.

Työpöytäympäristöissä virrankulutus on paljon vähemmän ongelma, joten tämä ei ole todella tarpeen. Useimmat sovellukset odottavat, että kullakin ytimellä on samanlaiset suorituskykyominaisuudet ja HMP-järjestelmien aikataulutusprosessit ovat paljon monimutkaisempia kuin perinteisten symmetristen moniprosessointilaitteiden( SMP) järjestelmät( teknisesti Windows 10: lla on tuki HMP: lle, mutta se on tarkoitettu lähinnä liikkuvillelaitteet, jotka käyttävät ARM big. LITTLE).

Myös useimmat pöytäkoneiden ja kannettavien tietokoneiden päivitykset eivät ole termisesti tai sähköisesti rajoittuneita siihen pisteeseen, jossa joidenkin ytimien on ajettava nopeammin kuin toiset myös lyhyillä purskeilla. Olemme päässeet osaksi seinään siitä, kuinka nopeasti voimme tehdä yksittäisiä ytimiä, joten joidenkin ytimien korvaaminen hitaammilla ei salli jäljelle jääneiden ytimien ajaa nopeammin.

Vaikka on olemassa muutamia työpöytäprosessoreita, joissa on yksi tai kaksi ytimestä nopeammin kuin toiset, tämä ominaisuus rajoittuu tällä hetkellä vain tiettyihin huippuluokan Intel-prosessoreihin( tunnetaan nimellä Turbo Boost Max Technology 3.0), ja se sisältää vain vähäisen lisäyksensuorituskykyä niille ytimille, jotka voivat ajaa nopeammin.

Vaikka on varmasti mahdollista suunnitella perinteinen x86 -prosessori, jossa on molemmat suuret, nopeat ytimet ja pienemmät hitaammat ytimet, jotka optimoivat raskaasti kierteitetyille työkuormille, tämä lisää huomattavasti prosessorin suunnittelua ja sovellukset eivät todennäköisesti tue sitä oikein.

Ota hypoteettinen prosessori kahdella nopealla Kaby Lake( 7. sukupolven) ytimellä ja kahdeksalla hidas Goldmont( Atom) ytimellä.Sinulla olisi yhteensä 10 ydintä, ja tämäntyyppiselle prosessorille optimoidut runsaasti kierrätetyt työmäärät saattavat näkyä suorituskyvyn ja tehokkuuden suhteen tavalliseen nelitaajuiseen Kaby Lake -prosessoriin nähden. Eri tyyppisillä hylsyillä on kuitenkin erilainen suorituskyky, eivätkä hitaat ytimet edes tue joitain ohjeita, joita nopeat ytimet tukevat, kuten AVX( ARM estää tämän ongelman vaatimalla sekä suuria että pieniä hylsyjä tukemaan samoja ohjeita).

Useimmat Windows-pohjaiset monisäikeiset sovellukset olettavat, että jokaisella ytimellä on sama tai lähes sama suorituskyky ja se voi suorittaa samat ohjeet, joten tällainen epäsymmetria johtaa todennäköisesti vähemmän kuin ihanteelliseen suorituskykyyn, ehkäjopa kaatuu, jos se käyttää ohjeita, joita hitaimmat ytimet eivät tue. Vaikka Intel pystyi muokkaamaan hitaita ytimiä lisättävän käskytuen avulla, jotta kaikki ytimet pystyvät suorittamaan kaikki ohjeet, tämä ei ratkaise ongelmat, joiden ohjelmistokehitys heterogeenisille prosessoreille.

Sovellusten suunnittelun eri lähestymistapa, joka on lähempänä sitä, mitä olet todennäköisesti ajattelemassa kysymyksessänne, käyttäisi GPU: ta erittäin rinnakkaisten sovellusten nopeuttamiseen. Tämä voidaan tehdä käyttämällä sovellusliittymiä, kuten OpenCL ja CUDA.Yksisiruisen ratkaisun osalta AMD edistää laitteistokehitystä GPU-kiihdyttämiseen APUssa, joka yhdistää perinteisen CPU: n ja korkean suorituskyvyn integroidun GPU: n samaan siruun kuin Heterogeneous System Architecture, vaikka tämä ei ole nähnyt paljon teollisuudenmuutamia erikoistuneita sovelluksia.

Onko sinulla jotain lisättävää selitystä?Kuulkaa kommentit. Haluatko lukea lisää vastauksia muilta tech-tajuilta Stack Exchange-käyttäjiltä?Katso koko keskusteluketju täältä.

Kuvalehti: Mirko Waltermann( Flickr)