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

Vairāku kodolu pievienošana vienam procesors piedāvā 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 attīstība

PAE-NX-SSE2-CPU-Windows
TobiasD / Pixabay

Ir pieejami vairāku kodolu procesori personālajiem datoriem kopš 2000. gadu sākuma. Daudzkodolu dizaini risināja problēmu, kas saistīta ar procesoriem, kas sasniedz to fiziskās robežas ierobežojumi attiecībā uz to pulksteņa ātrumu un to, cik efektīvi tos varētu atdzesēt un joprojām uzturēt precizitāte. 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ētu apstrādāt Procesors.

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 virtuālo kodolu skaitu, ko

operētājsistēma redz.

Procesi un pavedieni

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

A pavediens ir vienkārši viena datu plūsma 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ās sistēmas veiktspēju, kurā darbojas vienlaikus lietojumprogrammas. Tā kā serveri mēdz vienlaicīgi darbināt daudzas lietojumprogrammas noteiktā laikā, tehnoloģija sākotnēji tika izstrādāta uzņēmuma klienti — taču, tā kā personālajiem datoriem kļuva arvien sarežģītākiem un pieaugot vairākuzdevumu veikšanai, arī viņi guva labumu no tā papildu serdeņi.

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 ātruma ierobežotājs lietojumprogramma, un lietotnes, kas ir jutīgas pret šo arhitektūru, darbosies labāk nekā programmas, kas nav.

Atkarība no programmatūras

Lai gan vairāku kodolu procesoru jēdziens izklausās pievilcīgi, šai tehnoloģijai ir būtisks brīdinājums. Lai varētu izbaudīt vairāku procesoru sniegtās 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 frekvenci.

Visas lielākās pašreizējās operētājsistēmas atbalsta daudzpavedienu iespējas. Taču daudzpavedienu izveide ir jāieraksta arī lietojumprogrammatūrā. Patērētāju programmatūras daudzpavedienu atbalsts gadu gaitā ir uzlabojies, taču daudziem tas ir vienkāršs programmām, daudzpavedienu atbalsts joprojām nav ieviests programmatūras sarežģītības dēļ būvēt. 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?

Pārsniedzot divus kodolus, ir dažādas priekšrocības, jo 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 modernās spēles, no kurām dažas it kā prasa vai atbalsta astoņus kodolus, var nedarboties labāk nekā sešu kodolu mašīna ar lielāks bāzes pulksteņa ātrums, ņemot vērā, ka primārā pavediena efektivitāte nosaka daudzpavedienu efektivitāti sniegumu.

No otras puses, video kodēšanas programma, kas pārkodē video, visticamāk, redzēs milzīgas priekšrocības kā atsevišķu kadru renderēšanu var nodot dažādiem kodoliem un pēc tam apkopot vienā straumē programmatūra. 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

Uzdevumu pārvaldnieks, kas parāda CPU izmantošanu

Vispārīgi runājot, lielāks pulksteņa ātrums nozīmē ātrāku procesoru. Pulksteņa ātrums kļūst neskaidrāks, ja ņem vērā ātrumu attiecībā pret vairākiem kodoliem, jo ​​procesori apstrādā vairākus datus pavedieni, pateicoties papildu serdeņiem, taču termisko ierobežojumu dēļ katrs no šiem serdeņiem 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 atbalstīt darbojas tikai ar 3,0 GHz. Aplūkojot tikai vienu kodolu katrā no tiem, divkodolu procesors ir par 14 procentiem ātrāks nekā četrkodolu. 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 procesors ar lielāku kodolu skaitu parasti ir labāks, ja jūsu programmatūra un tipiski lietošanas gadījumi to atbalsta. 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 Cik ātrs dators man ir vajadzīgs? lai iegūtu labāku priekšstatu par to, kāda veida procesors vislabāk atbilst jūsu skaitļošanas vajadzībām.