Vairāku kodolu procesori: vai vairāk vienmēr ir labāk?

Satura rādītājs:

Vairāku kodolu procesori: vai vairāk vienmēr ir labāk?
Vairāku kodolu procesori: vai vairāk vienmēr ir labāk?
Anonim

Vairāku kodolu pievienošana vienam procesoram sniedz ievērojamas priekšrocības, pateicoties mūsdienu operētājsistēmu daudzuzdevumu veikšanai. Tomēr dažiem nolūkiem pastāv augšējā praktiskā robeža, cik daudz kodolu nodrošina uzlabojumus salīdzinājumā ar to pievienošanas izmaksām.

Daudzkodolu tehnoloģiju sasniegumi

Image
Image

Daudzkodolu procesori personālajos datoros ir pieejami kopš 2000. gadu sākuma. Daudzkodolu dizaini risināja problēmu, kas saistīta ar procesoru fizisko ierobežojumu griestu pārsniegšanu attiecībā uz pulksteņa ātrumu un to, cik efektīvi tos var atdzesēt un joprojām saglabāt precizitāti. Pārejot uz papildu kodoliem vienā procesora mikroshēmā, ražotāji izvairījās no problēmām ar pulksteņa ātrumu, efektīvi reizinot datu apjomu, ko varēja apstrādāt CPU.

Kad tie sākotnēji tika izlaisti, ražotāji piedāvāja tikai divus kodolus vienā CPU, taču tagad ir iespējas četriem, sešiem un pat 10 vai vairāk. Papildus kodolu pievienošanai vienlaicīgas daudzpavedienu tehnoloģijas, piemēram, Intel Hyper-Threading, var dubultot operētājsistēmas redzamos virtuālos kodolus.

Procesi un pavedieni

Process ir konkrēts uzdevums, piemēram, programma, kas darbojas datorā. Process sastāv no viena vai vairākiem pavedieniem.

Pavediens ir tikai viena datu straume no programmas, kas iet caur datora procesoru. Katra lietojumprogramma ģenerē vienu vai vairākus pavedienus atkarībā no tā, kā tā darbojas. Bez vairākuzdevumu veikšanas viena kodola procesors vienlaikus var apstrādāt tikai vienu pavedienu, tāpēc sistēma ātri pārslēdzas starp pavedieniem, lai apstrādātu datus šķietami vienlaicīgā veidā.

Vairāku kodolu priekšrocība ir tāda, ka sistēma vienlaikus var apstrādāt vairāk nekā vienu pavedienu. Katrs kodols var apstrādāt atsevišķu datu plūsmu. Šī arhitektūra ievērojami palielina tādas sistēmas veiktspēju, kurā darbojas vienlaikus lietojumprogrammas. Tā kā serveri mēdz vienā laikā palaist daudzas vienlaicīgas lietojumprogrammas, šī tehnoloģija sākotnēji tika izstrādāta uzņēmuma klientiem, taču, tā kā personālie datori kļuva sarežģītāki un daudzuzdevumu veikšana pieauga, arī tie guva labumu no papildu kodoliem.

Tomēr katru procesu regulē primārais pavediens, kas var aizņemt tikai vienu kodolu. Tādējādi tādas programmas kā spēles vai video renderētāja relatīvais ātrums ir stingri ierobežots līdz kodola iespējām, ko patērē primārais pavediens. Primārais pavediens var pilnībā deleģēt sekundāros pavedienus citiem kodoliem, taču spēle nekļūst divreiz ātrāka, ja dubultojat kodolus. Tādējādi nav nekas neparasts, ka spēle pilnībā izmanto vienu kodolu (primāro pavedienu), bet sekundārajiem pavedieniem redz tikai daļēju citu kodolu izmantošanu. Nekāda kodola dubultošanās nav saistīta ar faktu, ka primārais kodols ir jūsu lietojumprogrammas ātruma ierobežotājs, un lietotnes, kas ir jutīgas pret šo arhitektūru, darbosies labāk nekā lietotnes, kas tādas nav.

Programmatūras atkarība

Lai gan vairāku kodolu procesoru jēdziens izklausās pievilcīgi, šai tehnoloģijai ir kāds būtisks brīdinājums. Lai varētu baudīt vairāku procesoru patiesās priekšrocības, datorā strādājošajai programmatūrai ir jābūt rakstītai tā, lai tā atbalstītu vairākpavedienu izmantošanu. Ja programmatūra neatbalsta šādu funkciju, pavedieni galvenokārt tiks palaisti caur vienu kodolu, tādējādi pasliktinot datora kopējo efektivitāti. Galu galā, ja tas var darboties tikai ar vienu kodolu četrkodolu procesorā, patiesībā var būt ātrāk palaist to divkodolu procesorā ar lielāku pamata takts ātrumu.

Visas lielākās pašreizējās operētājsistēmas atbalsta daudzpavedienu iespējas. Bet daudzpavedienu izveide ir jāieraksta arī lietojumprogrammatūrā. Daudzpavedienu atbalsts patērētāju programmatūrā gadu gaitā ir uzlabojies, taču daudzām vienkāršām programmām vairākpavedienu atbalsts joprojām nav ieviests programmatūras izveides sarežģītības dēļ. Piemēram, pasta programma vai tīmekļa pārlūkprogramma, visticamāk, nesaskatīs milzīgus ieguvumus no daudzpavedienu izveides, kā to darītu grafikas vai video rediģēšanas programma, kurā dators apstrādā sarežģītus aprēķinus.

Labs piemērs, lai izskaidrotu šo tendenci, ir aplūkot tipisku datorspēli. Lielākajai daļai spēļu ir nepieciešams kāds renderēšanas dzinējs, lai parādītu, kas notiek spēlē. Turklāt sava veida mākslīgais intelekts kontrolē notikumus un varoņus spēlē. Izmantojot vienu kodolu, abi uzdevumi tiek izpildīti, pārslēdzoties starp tiem. Šī pieeja nav efektīva. Ja sistēmā būtu vairāki procesori, gan renderēšana, gan mākslīgais intelekts varētu darboties ar atsevišķu kodolu - ideāla situācija vairāku kodolu procesoram.

Vai 8 > 4 > 2?

Tālāk nekā divi kodoli sniedz dažādas priekšrocības, ņemot vērā, ka jebkura datora pircēja atbilde ir atkarīga no programmatūras, ko viņš vai viņa parasti izmanto. Piemēram, daudzas klasiskās spēles joprojām piedāvā nelielu veiktspējas atšķirību starp diviem un četriem kodoliem. Pat mūsdienu spēles, no kurām dažas, iespējams, prasa vai atbalsta astoņus kodolus, var nedarboties labāk nekā sešu kodolu mašīna ar lielāku bāzes takts frekvenci, ņemot vērā, ka primārā pavediena efektivitāte nosaka daudzpavedienu veiktspējas efektivitāti.

No otras puses, video kodēšanas programma, kas pārkodē video, visticamāk, gūs milzīgus ieguvumus, jo atsevišķu kadru renderēšanu var nodot dažādiem kodoliem un pēc tam programmatūra apkopot vienā straumē. Tādējādi astoņi kodoli būs vēl izdevīgāki nekā četri. Būtībā primārajam pavedienam nav nepieciešami salīdzinoši bagāti resursi; tā vietā tas var veikt smago darbu meitas pavedieniem, kas maksimāli izmanto procesora kodolus.

Pulksteņa ātrumi

Image
Image

Vispārīgi runājot, lielāks takts ātrums nozīmē ātrāku procesoru. Pulksteņa ātrumi kļūst neskaidrāki, ja ņemat vērā ātrumu attiecībā pret vairākiem kodoliem, jo procesori sagrauj vairākus datu pavedienus, pateicoties papildu kodoliem, taču termisko ierobežojumu dēļ katrs no šiem kodoliem darbosies ar mazāku ātrumu.

Piemēram, divkodolu procesors var atbalstīt 3,5 GHz pamata takts frekvenci katram procesoram, savukārt četrkodolu procesors var darboties tikai ar 3,0 GHz. Aplūkojot tikai vienu kodolu katrā no tiem, divkodolu procesors ir par 14 procentiem ātrāks nekā četrkodolu procesors. Tādējādi, ja jums ir programma, kas ir tikai viena pavediena, divu kodolu procesors faktiski ir efektīvāks. Turklāt, ja jūsu programmatūra var izmantot visus četrus procesorus, četrkodolu procesors faktiski būs par aptuveni 70 procentiem ātrāks nekā šis divkodolu procesors.

Secinājumi

Lielākoties lielāka kodolu skaita procesors parasti ir labāks, ja to atbalsta jūsu programmatūra un parastie lietošanas gadījumi. Lielākoties divu vai četru kodolu procesoram būs vairāk nekā pietiekami daudz jaudas pamata datora lietotājam. Lielākā daļa patērētāju neredzēs nekādus taustāmus ieguvumus no četriem procesora kodoliem, jo to izmanto ļoti maz nespecializētas programmatūras. Liela kodolu skaita procesoru vislabākais izmantošanas gadījums ir saistīts ar iekārtām, kas veic sarežģītus uzdevumus, piemēram, darbvirsmas video rediģēšanu, dažus augstākās klases spēļu veidus vai sarežģītas zinātnes un matemātikas programmas.

Apskatiet mūsu domas par to, cik ātri man ir nepieciešams dators? lai iegūtu labāku priekšstatu par to, kāda veida procesors vislabāk atbilst jūsu skaitļošanas vajadzībām.

Ieteicams: