Procesorių branduoliai: kodėl skiriasi jų skaičius ir kaip jie lemia bendrą procesoriaus našumą  ()

Prisijunk prie technologijos.lt komandos!

Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia tik entuziazmo.

Sudomino? Užpildyk šią anketą!

Panašiai vyksta ir procesoriuje – ne visas vykdomas operacijas galima lygiagretinti.

Tai kaip čia išeina – nebelieka jokios naudos iš kelių branduolių?

Grįžkime prie greitkelio – verta ar ne platinti kelią, jei pusiaukelėje yra siauras tunelis? Aišku, jog verta – mat ne visi automobiliai važiuoja vienodu greičiu. Tie, kas važiuoja lėčiau, netrukdo tiems, kas važiuoja greičiau. Tad panaudojus kelias kelio juostas, iki tunelio ir už tunelio sumažėja kamščių dėl greičių skirtumo.

Tas pats vyksta ir su programomis – vienoms operacijoms reikia daugiau laiko, kitoms mažiau. Tad keli branduoliai efektyviai pagreitiną bendrą sistemos darbą, kuomet vienas branduolys užsiėmęs ilgais skaičiavimais, o kitas vykdo greitesnes užklausas.

O ar nėra būdų, kaip pašalinti tokį siaurą greitkelio tunelį? Tai tikrai aktualus klausimas, tad prie jo inžinieriai irgi nuosekliai dirba. Sugalvotos įvairios technologijos, kurios sumažina arba iš viso padeda išvengti tokių susiaurėjimų, tačiau jos diegiamos ne visuose procesoriuose.

Be to, dabartinės programos jau irgi gan gerai moka paskirstyti skaičiavimo užduotis keliems branduoliams, o ir pati operacinė sistema išmoko nukreipinėti užduotis tam branduoliui, kuris yra laisvas nuo darbų. Pavyzdžiui, jei kompiuteris kažką intensyviai skaičiuoja ir norite tuo pačiu klausytis muzikos, vieno branduolio procesorius negali vienu metu atlikti dviejų užduočių – jis kelias mikrosekundes paskaičiuos, po to kelias mikrosekundes pagros muziką. Tai vyksta taip greitai, kad žmogaus ausis net nesupranta, kad garsas yra trūkčiojantis (na, nebent išskyrus tikrus melomanus). Tačiau dėl nuolatinių pertraukimų skaičiavimus procesorius pabaigs vėliau nei dirbdamas be pertraukimų.

Operacinėje sistemoje tvarkingą užduočių atlikimą ir procesoriaus darbo laiko paskirstymą vykdo savas tvarkaraštininkas – procesas sheduler. Štai jis ir paskirsto, kokią programą ir kiek laiko turės vykdyti procesorius. Jeigu procesorius turi kelis branduolius, vienas branduolys gali skaičiuoti, o kitas groti muziką. Nebent prireikia tų operacijų, kurios konkrečiame procesoriuje negali būti lygiagretinamos – tokiu atveju vėl vyksta pakaitinis darbas: pradžioje viena programa, paskui kita.

Akivaizdu, kad kelių branduolių procesorių greitis labai priklauso nuo to, kokios programos vykdomos, koks jų veikimo algoritmas, kiek yra operacijų, kurių konkretus procesorius negali lygiagretinti, todėl ir testuose pateikiami du greičio vertinimai – dirbant „single-thread“ režimu ir „multi-thread“ režimu.

Žymiai svarbesnis parametras yra procesoriaus greitis „single-thread“ režimu – kuo šis parametras aukštesnis, tuo bendras procesoriaus našumas bus didesnis. Iš čia išvada – namų kompiuterių atveju geriau turėti procesorių su mažiau spartesnių branduolių, nei procesorių su daug, bet lėtesnių branduolių.

Taigi, keli spartūs branduoliai tikrai geriau, nei to paties dažnio vieno branduolio procesorius. Tačiau koks yra optimalus branduolių kiekis – 2, 4, 8? Apie tai – jau kitame straipsnyje.

Pasidalinkite su draugais
Aut. teisės: MTPC
MTPC
(43)
(3)
(40)
MTPC parengtą informaciją atgaminti visuomenės informavimo priemonėse bei interneto tinklalapiuose be raštiško VšĮ „Mokslo ir technologijų populiarinimo centras“ sutikimo draudžiama.

Komentarai ()

Susijusios žymos: