Moniydinprosessorit: Onko enemmän aina parempi?

Sisällysluettelo:

Moniydinprosessorit: Onko enemmän aina parempi?
Moniydinprosessorit: Onko enemmän aina parempi?
Anonim

Useiden ytimien lisääminen yhteen prosessoriin tarjoaa merkittäviä etuja nykyaikaisten käyttöjärjestelmien moniajoluonteen ansiosta. Joihinkin tarkoituksiin on kuitenkin olemassa käytännön yläraja sille, kuinka monta ydintä tuottavat parannuksia suhteessa niiden lisäämiskustannuksiin.

Moniydinteknologian kehitys

Image
Image

Moniydinprosessorit ovat olleet saatavilla henkilökohtaisissa tietokoneissa 2000-luvun alusta lähtien. Moniytimiset mallit ratkaisivat ongelman, joka liittyy prosessorien fyysisten rajoitustensa ylittymiseen kellotaajuuksien ja niiden jäähdyttämisen tehokkuuden suhteen ja silti niiden tarkkuuden säilyttäminen. Siirtymällä ylimääräisiin ytimiin yhdellä prosessorisirulla valmistajat välttyivät kellotaajuuksiin liittyvistä ongelmista moninkertaistamalla tehokkaasti CPU:n käsittelemän tiedon määrän.

Kun ne alun perin julkaistiin, valmistajat tarjosivat vain kaksi ydintä yhdessä prosessorissa, mutta nyt vaihtoehtoja on neljä, kuusi ja jopa 10 tai enemmän. Ydinten lisäämisen lisäksi samanaikaiset monisäikeiset tekniikat, kuten Intelin Hyper-Threading, voivat kaksinkertaistaa käyttöjärjestelmän näkemät virtuaaliset ytimet.

Prosessit ja säikeet

Prosessi on tietty tehtävä, kuten ohjelma, joka suoritetaan tietokoneessa. Prosessi koostuu yhdestä tai useammasta säikeestä.

Säike on yksinkertaisesti yksi tietovirta ohjelmasta, joka kulkee tietokoneen prosessorin läpi. Jokainen sovellus luo oman yhden tai useamman säietensä riippuen siitä, miten se toimii. Ilman moniajoa yksiytiminen prosessori voi käsitellä vain yhtä säiettä kerrallaan, joten järjestelmä vaihtaa nopeasti säikeiden välillä käsitelläkseen tietoja näennäisesti samanaikaisella tavalla.

Useiden ytimien etuna on, että järjestelmä pystyy käsittelemään useampaa kuin yhtä säiettä samanaikaisesti. Jokainen ydin voi käsitellä erillistä datavirtaa. Tämä arkkitehtuuri lisää huomattavasti samanaikaisia sovelluksia käyttävän järjestelmän suorituskykyä. Koska palvelimilla on tapana ajaa useita samanaikaisia sovelluksia tiettyyn aikaan, tekniikka kehitettiin alun perin yritysasiakkaita varten – mutta kun henkilökohtaiset tietokoneet muuttuivat monimutkaisemmiksi ja moniajo lisääntyi, myös ne hyötyivät ylimääräisistä ytimistä.

Jokaista prosessia ohjaa kuitenkin ensisijainen säie, joka voi viedä vain yhden ytimen. Siten ohjelman, kuten pelin tai videonrenderöijan, suhteellinen nopeus on tiukasti rajoitettu ensisijaisen säikeen kuluttaman ytimen kykyyn. Ensisijainen säie voi ehdottomasti siirtää toissijaiset säikeet muille ytimille - mutta peli ei muutu kaksinkertaiseksi, kun tuplaa ytimet. Näin ollen ei ole epätavallista, että peli maksimoi yhden ytimen (ensisijaisen säikeen) kokonaan, mutta näkee vain osittaisen muiden ytimien hyödyntämisen toissijaisissa säikeissä. Mikään ydinten kaksinkertaistaminen ei rajoita sitä tosiasiaa, että ensisijainen ydin on sovelluksesi nopeudenrajoitin, ja sovellukset, jotka ovat herkkiä tälle arkkitehtuurille, toimivat paremmin kuin sovellukset, jotka eivät ole.

Ohjelmistoriippuvuus

Vaikka moniytimisprosessorien konsepti kuulostaa houkuttelev alta, tässä tekniikassa on suuri varoitus. Jotta voit nauttia useiden prosessorien todellisista eduista, tietokoneessa käytettävä ohjelmisto on kirjoitettava tukemaan monisäikeistystä. Ilman tällaista ominaisuutta tukevaa ohjelmistoa säikeet ajetaan ensisijaisesti yhden ytimen läpi, mikä heikentää tietokoneen yleistä tehokkuutta. Loppujen lopuksi, jos se voi toimia vain yhdessä ytimessä neliytimisessä prosessorissa, se voi itse asiassa olla nopeampaa käyttää sitä kaksiytimisessä prosessorissa, jolla on korkeampi peruskellotaajuus.

Kaikki tärkeimmät nykyiset käyttöjärjestelmät tukevat monisäikeisyyttä. Mutta monisäikeisyys on myös kirjoitettava sovellusohjelmistoon. Kuluttajaohjelmistojen monisäikeinen tuki on parantunut vuosien varrella, mutta monisäikeinen tuki ei ole vieläkään toteutettu monissa yksinkertaisissa ohjelmissa ohjelmiston koontirakenteen monimutkaisuuden vuoksi. Esimerkiksi sähköpostiohjelma tai verkkoselain ei todennäköisesti näe v altavia etuja monisäikeisyydestä yhtä paljon kuin grafiikka- tai videonmuokkausohjelma, jossa tietokone käsittelee monimutkaisia laskelmia.

Hyvä esimerkki tämän suuntauksen selittämiseksi on tarkastella tyypillistä tietokonepeliä. Useimmat pelit vaativat jonkinlaisen renderöintimoottorin näyttääkseen mitä pelissä tapahtuu. Lisäksi jonkinlainen tekoäly ohjaa pelin tapahtumia ja hahmoja. Yhden ytimen kanssa molemmat tehtävät suoritetaan vaihtamalla niiden välillä. Tämä lähestymistapa ei ole tehokas. Jos järjestelmässä olisi useita prosessoreita, renderöinti ja tekoäly voisivat kumpikin toimia erillisellä ytimellä - ihanteellinen tilanne moniytimiselle prosessorille.

Onko 8 > 4 > 2?

Kahden ytimen ylittäminen tarjoaa ristiriitaisia etuja, koska jokaisen tietokoneen ostajan vastaus riippuu hänen tyypillisesti käyttämänsä ohjelmistosta. Esimerkiksi monet klassiset pelit tarjoavat edelleen vähän eroa kahden ja neljän ytimen välillä. Edes nykyaikaiset pelit – joista jotkin väitetään vaativan tai tukevat kahdeksaa ydintä – eivät välttämättä toimi paremmin kuin kuusiytiminen kone, jolla on korkeampi peruskellotaajuus, koska ensisijaisen säikeen tehokkuus määrää monisäikeisen suorituskyvyn.

Toisa alta videon transkoodaava videokoodausohjelma saa todennäköisesti v altavia etuja, koska ohjelmisto voi siirtää yksittäisen kehyksen renderöinnin eri ytimille ja koota sitten yhdeksi streamiksi. Siten kahdeksan ytimen omistaminen on vieläkin hyödyllisempää kuin neljä. Pohjimmiltaan ensisijainen lanka ei tarvitse verrattain rikkaita resursseja; sen sijaan se voi jakaa kovan työn tytärsäikeille, jotka maksimoivat prosessorin ytimet.

Kellonopeudet

Image
Image

Yleisesti ottaen korkeampi kellonopeus tarkoittaa nopeampaa prosessoria. Kellotaajuudet muuttuvat epäselvämmiksi, kun tarkastellaan nopeuksia useisiin ytimiin verrattuna, koska prosessorit murskaavat useita datasäikeitä ylimääräisten ytimien ansiosta, mutta jokainen näistä ytimistä toimii alhaisemmilla nopeuksilla lämpörajoitusten vuoksi.

Esimerkiksi kaksiytiminen prosessori voi tukea kunkin prosessorin 3,5 GHz:n peruskellotaajuutta, kun taas neliytiminen prosessori voi toimia vain 3,0 GHz:llä. Kun tarkastellaan vain yhtä ydintä kummassakin, kaksiytiminen prosessori on 14 prosenttia nopeampi kuin neliytiminen. Näin ollen, jos sinulla on vain yksisäikeinen ohjelma, kaksiytiminen prosessori on itse asiassa tehokkaampi. Toisa alta, jos ohjelmistosi voi käyttää kaikkia neljää prosessoria, neliytiminen prosessori on itse asiassa noin 70 prosenttia nopeampi kuin tämä kaksiytiminen prosessori.

Johtopäätökset

Suuremman ydinmäärän prosessori on yleensä parempi, jos ohjelmistosi ja tyypilliset käyttötapaukset tukevat sitä. Suurimmaksi osaksi kaksi- tai neliytiminen prosessori on enemmän kuin tarpeeksi tehoa perustietokoneen käyttäjälle. Suurin osa kuluttajista ei näe konkreettisia etuja neljän prosessoriytimen ylittämisestä, koska niin harvat erikoistuneet ohjelmistot hyödyntävät sitä. Paras käyttötapa korkean ydinmäärän prosessoreille liittyy koneisiin, jotka suorittavat monimutkaisia tehtäviä, kuten työpöydän videoeditointia, tiettyjä huippuluokan pelaamista tai monimutkaisia tiede- ja matemaattisia ohjelmia.

Katso ajatuksemme siitä, kuinka nopeaa tietokonetta tarvitsen? saadaksesi paremman käsityksen siitä, minkä tyyppinen prosessori vastaa parhaiten tietokonetarpeitasi.

Suositeltava: