Salīdzinot procesorus, kodolu skaits ir viegli pamanāms specifikāciju lapā, taču tas viens pats nepasaka, cik ātra būs sistēma. Datora procesors ar 16 kodoliem dažos uzdevumos var būt ievērojami efektīvāks par 8 kodolu modeli, bet citos scenārijos atšķirība būs niecīga vai ātrāks būs tieši procesors ar mazāk kodoliem.
Reālo veiktspēju nosaka programmas darba slodze, viena kodola arhitektūra, takts frekvence, kešatmiņa, atmiņas apakšsistēma un operētājsistēmas spēja pareizi sadalīt pavedienus. Tāpēc procesora izvēle jāsāk nevis ar kodolu skaita salīdzināšanu, bet ar konkrētu lietošanas scenāriju.
Kodoli palīdz tikai paralēlos uzdevumos
Kodols ir neatkarīga procesora izpildes vienība, kas var apstrādāt instrukcijas. Vairāk kodolu ļauj vienlaikus darbināt vairākus pavedienus, taču ieguvums rodas tikai tad, ja programmatūra spēj darbu efektīvi sadalīt.
Video renderēšana, 3D vizualizācija, koda kompilēšana, virtuālās mašīnas un datu apstrāde bieži izmanto daudzus kodolus. Šādos uzdevumos procesors ar lielāku kodolu skaitu parasti samazina izpildes laiku.
Pretēja situācija ir lietotnēs ar ierobežotu paralelizāciju. Daudzas spēles, biroja programmas, tīmekļa pārlūkošana un daļa profesionālo rīku lielāko darba daļu veic vienā vai dažos pavedienos. Ja galvenais pavediens kļūst par šaurās vietas punktu, pārējie kodoli nevar būtiski paātrināt rezultātu.
Amdāla likums praksē
Programmas kopējo paātrinājumu ierobežo tās daļa, kuru nevar paralelizēt. Ja 20% uzdevuma obligāti jāizpilda secīgi, pat ļoti liels kodolu skaits šo posmu nepaātrinās.
Piemēram, renderēšanas projektā attēlu kadru aprēķins var izmantot visus kodolus, bet projekta ielāde, atsevišķi efekti vai eksports uz konkrētu formātu var būt atkarīgs no viena pavediena. Rezultātā jaudīgāks daudz-kodolu procesors nebūs proporcionāli ātrāks par modeli ar mazāk kodoliem.

Viena kodola ātrumu nosaka IPC
IPC jeb instructions per clock rāda, cik instrukciju procesora kodols spēj izpildīt vienā takts ciklā. Augstāks IPC nozīmē, ka pie vienādas frekvences viens procesora kodols spēj paveikt vairāk darba.
Divi procesori ar 4 GHz frekvenci nav automātiski vienādi ātri. Atšķirīga mikroarhitektūra, izpildes bloku skaits, zaru prognozēšana un instrukciju dekodēšana var radīt ievērojamu veiktspējas starpību. Tāpēc jaunākas paaudzes procesors ar zemāku nominālo frekvenci dažkārt pārspēj vecāku procesoru, kuram ir vairāk GHz.
IPC īpaši svarīgs ir:
- spēlēs, kur veiktspēju ierobežo galvenais spēles pavediens;
- CAD un projektēšanas programmatūrā;
- biroja lietotnēs;
- pārlūkprogrammu darbā ar sarežģītām tīmekļa lietotnēm;
- sistēmās, kurām nepieciešama zema aizture.
Šādos scenārijos kodolu skaits pēc noteikta līmeņa kļūst mazāk nozīmīgs nekā viena kodola caurlaidspēja.
Takts frekvence nav pilns salīdzinājums
Takts frekvence nosaka, cik ciklu sekundē procesors var veikt, taču tā nav absolūta veiktspējas mērvienība. Procesora ātrumu vienkāršoti var raksturot kā IPC un frekvences kombināciju.
Augsta frekvence palīdz uzdevumos, kuri balstās uz vienu vai dažiem pavedieniem. Tomēr jāvērtē, vai konkrētais procesors šo frekvenci uztur ilgstoši. Ražotāja norādītais maksimālais turbo režīms bieži attiecas tikai uz īsiem slodzes periodiem, vienu kodolu vai konkrētiem temperatūras un enerģijas patēriņa nosacījumiem.
Klēpjdatoros tas ir īpaši būtiski. Plānam korpusam ar ierobežotu dzesēšanu procesors ilgstošā slodzē var samazināt frekvenci, lai ievērotu temperatūras un jaudas limitus. Tādēļ vienādas paaudzes procesors dažādos klēpjdatoros var demonstrēt atšķirīgu veiktspēju.
Turbo režīmu ietekmē dzesēšana
Procesora jaudas limiti un dzesētāja efektivitāte tieši ietekmē ilgstošu veiktspēju. Ja CPU sasniedz termisko limitu, tas samazina takts frekvenci, un renderēšanas vai kompilēšanas laiks pieaug.
Stacionārā datorā nepietiekams dzesētājs, slikta gaisa plūsma korpusā vai agresīvi mātesplates jaudas iestatījumi var radīt nestabilu un neprognozējamu rezultātu. Tāpēc, plānojot datoru iegādi, jāvērtē visa sistēma, ne tikai procesora nosaukums un kodolu skaits.

Kešatmiņa samazina datu aizturi
Procesora kodoli darbojas daudz ātrāk nekā operatīvā atmiņa. Kešatmiņa ir ļoti ātra atmiņa procesora tuvumā, kurā tiek glabāti bieži izmantotie dati un instrukcijas. Ja nepieciešamie dati atrodas kešatmiņā, kodolam nav jāgaida piekļuve lēnākai RAM.
Parasti tiek izmantota vairāku līmeņu hierarhija:
- L1 kešatmiņa ir visātrākā un mazākā;
- L2 kešatmiņa ir lielāka, bet ar nedaudz augstāku aizturi;
- L3 kešatmiņa bieži tiek koplietota starp vairākiem kodoliem.
Lielāka L3 kešatmiņa var būt ļoti noderīga spēlēs, datu bāzu vaicājumos un uzdevumos ar atkārtotu piekļuvi vieniem un tiem pašiem datiem. Taču arī šeit nav universāla noteikuma, jo svarīgs ir kešatmiņas apjoms, aizture, savienojums starp kodoliem un programmas datu piekļuves modelis.
Procesors ar mazāk kodoliem, bet efektīvāku kešatmiņas arhitektūru, konkrētā lietotnē var apsteigt daudz-kodolu konkurentu.
RAM joslas platums ierobežo CPU
Ja procesoram regulāri jāpiekļūst operatīvajai atmiņai, RAM konfigurācija kļūst par būtisku veiktspējas faktoru. Nepietiekams atmiņas joslas platums vai augsta aizture var radīt situāciju, kurā kodoli gaida datus, nevis veic aprēķinus.
Tipisks piemērs ir viena RAM moduļa izmantošana sistēmā, kas atbalsta divkanālu režīmu. Šādā konfigurācijā atmiņas joslas platums var būt būtiski mazāks, un to var pamanīt integrētās grafikas, spēļu un datu ietilpīgu lietotņu darbībā.
Daudz-kodolu procesoriem atmiņas apakšsistēma ir vēl svarīgāka. Jo vairāk kodolu vienlaikus pieprasa datus, jo lielāks spiediens uz RAM kontrolieri un atmiņas kanāliem. Tāpēc liels kodolu skaits bez atbilstošas RAM konfigurācijas var nesniegt gaidīto rezultātu.

Operētājsistēma plāno pavedienus
Operētājsistēmas plānotājs jeb scheduler nosaka, uz kura kodola un kurā brīdī palaist programmas pavedienu. Tā uzdevums ir sabalansēt caurlaidspēju, enerģijas patēriņu, reaģētspēju un kešatmiņas lokalitāti.
Mūsdienu procesoros var būt dažādu tipu kodoli, piemēram, veiktspējas un efektivitātes kodoli. Šādās sistēmās pavedienu plānošana ir īpaši svarīga, jo prasīgs darba pavediens jānovirza uz jaudīgāku kodolu, bet fona uzdevumi var darboties uz energoefektīvākiem kodoliem.
Nepilnīga plānošana vai novecojusi operētājsistēma var nozīmēt, ka pavedieni netiek sadalīti optimāli. Rezultātā programma var izmantot nepiemērotus kodolus, pārāk bieži migrēt starp tiem vai zaudēt kešatmiņā jau pieejamos datus.
Pavedienu migrācija rada izmaksas
Pārvietojot pavedienu uz citu kodolu, daļa iepriekš izmantoto datu var nebūt pieejama jaunā kodola lokālajā kešatmiņā. Procesoram tad dati jāielādē atkārtoti, kas palielina aizturi.
Tāpēc veiktspēja nav atkarīga tikai no tā, cik daudz pavedienu programma izveido. Svarīgi ir, vai šie pavedieni dara pietiekami daudz noderīga darba un vai to sinhronizācija nerada pārmērīgas gaidīšanas.
Biežākās daudzpavedienu kļūdas
Daudz-kodolu sistēmas konfigurācija bieži tiek pārvērtēta, ignorējot pārējos ierobežojumus. Viena no biežākajām kļūdām ir pieņēmums, ka jebkura lietotne automātiski izmantos visus pieejamos kodolus.
Praksē problēmas rada šādi faktori:
- pārāk maz RAM aktīvajai darba slodzei;
- viens RAM modulis divkanālu platformā;
- lēns datu nesējs, no kura lietotne nepārtraukti ielādē failus;
- nepietiekama procesora dzesēšana;
- neaktuāli čipkopas, grafikas vai operētājsistēmas atjauninājumi;
- programmā neefektīvi sinhronizācijas mehānismi;
- pārāk daudz paralēlu procesu, kas konkurē par RAM un diska I/O.
Piemēram, video montāžas darba stacijai ar 24 kodolu procesoru var nebūt gaidītā paātrinājuma, ja avota faili atrodas lēnā ārējā diskā vai RAM apjoms ir nepietiekams. Šādā gadījumā centrālais procesors lielu daļu laika gaida datus.
Procesoru salīdzini pēc darba slodzes
Lai izvēlētos piemērotu procesoru, vispirms jānosaka, kuras lietotnes tiek izmantotas visbiežāk un kāda ir to slodze. Spēļu datoram parasti svarīga ir augsta viena kodola veiktspēja, efektīva kešatmiņa un līdzsvarota videokarte. Renderēšanai, kompilēšanai un virtuālajām mašīnām vairāk kodolu var dot būtiski lielāku ieguvumu.
Praktiskā salīdzināšanā jāskatās konkrētu programmu testi, nevis tikai sintētiskie kopējie rezultāti. Jāņem vērā arī ilgstošas slodzes veiktspēja, enerģijas patēriņš, dzesēšana un pārējās sistēmas komponentes.
Lokālo mākslīgā intelekta risinājumu attīstība labi parāda, ka caurlaidspēju nosaka visa arhitektūra. Piemēram, Xiaomi MI Cube prototips izmanto vairākus specializētus procesorus un uzsver arī atmiņas joslas platuma un dzesēšanas nozīmi, ne tikai skaitļošanas vienību daudzumu.
Izvēlies līdzsvarotu sistēmu
Kodolu skaits ir vērtīgs rādītājs, ja programmatūra spēj efektīvi izmantot paralēlu izpildi. Taču tas nav universāls procesora ātruma mērs. Datora procesors jāvērtē kopā ar IPC, reāli uzturamo takts frekvenci, kešatmiņu, RAM caurlaidspēju, dzesēšanu un operētājsistēmas pavedienu plānošanu.
Pirms pirkuma nosaki galveno darba slodzi un salīdzini procesorus tieši šajā scenārijā. Līdzsvarota konfigurācija parasti sniegs jūtami labāku ikdienas pieredzi nekā sistēma ar iespaidīgu kodolu skaitu, bet vāju atmiņas, datu glabāšanas vai dzesēšanas apakšsistēmu.








