Mobili versija | Apie | Visos naujienos | RSS | Kontaktai | Paslaugos
 
Jūs esate čia: Pradžia » Visos temos »

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

2016-03-06 (0) Rekomenduoja   (29) Perskaitymai (13766)
    Share

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.

4 skirtingų programų vykdymas su vieno branduolio procesoriumi
4 skirtingų programų vykdymas su dviejų branduolių procesoriumi

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.

1 | 2
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.
Verta skaityti! Verta skaityti!
(32)
Neverta skaityti!
(3)
Reitingas
(29)
Įdomūs įrašai iš rubrikų ir Gadžetų turgelis
Komentarai (0)
Komentuoti gali tik registruoti vartotojai
Komentarų kol kas nėra. Pasidalinkite savo nuomone!
Naujausi įrašai

Įdomiausi

Paros
81(1)
30(9)
29(6)
29(0)
26(1)
25(8)
15(0)
15(5)
14(0)
11(0)
Savaitės
102(0)
69(2)
Mėnesio
149(2)
148(15)
146(3)
142(12)
138(22)