Procesorius su keliais branduoliais — apibrėžimas ir veikimas
Daugiabranduolinis procesorius yra toks kompiuterio procesorius, kuriame fiziniame luste yra dvi ar daugiau vykdymo sekcijų — branduolių. Kiekvienas branduolys gali vykdyti instrukcijas taip, tarsi tai būtų atskiras mikroprocesorius, todėl viename luste esančios sekcijos dažnai atlieka užduotis lygiagrečiai ir nepriklausomai viena nuo kitos. Tikrieji daugiasluoksniai sprendimai (multi-chip) yra galimi, tačiau dauguma šiuolaikinių procesorių turi kelis branduolius viename silicio luste. Šiame luste kiekvienas branduolys dažniausiai turi panašią architektūrą ir gali veikti savarankiškai; iš esmės tai keli dažnai nepriklausomi vykdymo vienetai, veikdami kartu didina bendrą našumą.
Kas yra „dviejų branduolių“ ir „keturių branduolių“ procesoriai?
Dviejų branduolių procesorius reiškia, kad luste yra du nepriklausomi mikroprocesoriai (branduoliai), o keturių branduolių procesorius turi keturis. Kaip rodo pavadinimas, skaičius nurodo luste esančių branduolių skaičių — daugiau branduolių dažnai reiškia geresnį gebėjimą vienu metu vykdyti daugelį procesų ar gijų.
Kaip tai veikia praktiškai?
- Operacinė sistema paskirsto programas ir jų darbo gijas (threads) tarp laisvų branduolių, todėl kelių užduočių vykdymas vyksta greičiau.
- Kai programa parašyta taip, kad gali veikti keliomis gijom (multithreaded), ji gali tuo pačiu metu panaudoti kelis branduolius ir žymiai sutrumpinti vykdymo laiką.
- Vieną branduolį gali užimti sudėtinga užduotis, o kiti branduoliai aptarnauti fonines užduotis (pvz., antivirusą, atnaujinimus ar naršyklės korteles).
Privalumai
- Geresnis daugiadalykumas: leidžia patogiau ir sklandžiau paleisti kelias programas vienu metu.
- Didesnis našumas: sudėtingoms, gerai parašytoms dauggijos programoms (pvz., vaizdų apdorojimas, vaizdo įrašų transkodavimas, mokymasis mašinoms) — ženklus spartėjimas.
- Energijos ir terminis valdymas: keli branduoliai leidžia sumažinti vieno branduolio dažnį ir taip sumažinti energijos suvartojimą bei šilumos išskyrimą, kartu palaikant bendrą našumą.
Cache, magistralės ir branduolių tarpusavio bendradarbiavimas
Branduoliai dažnai dalijasi tam tikrais lusto ištekliais, pvz., L3 talpine (cache) ir atminties valdikliu. Tai leidžia greitai keistis duomenimis, bet gali sukelti spūstis, kai daug branduolių vienu metu prieina prie to paties išorinės atminties kanalo. Dizainas, talpyklos hierarchija ir atminties architektūra turi didelę įtaką realiam daugiabranduolio našumui.
Branduoliai vs gijos (threads) ir Hyper-Threading
Branduoliai yra fiziniai vykdymo vienetai, o gijos (threads) yra programinės vykdymo sekos. Kai kurios technologijos, pavyzdžiui, Intel Hyper-Threading, leidžia vienam fiziniam branduoliui apdoroti kelias gijas vienu metu (logiškai), taip padidinant resursų panaudojimą. Visgi loginių gijų skaičius nereiškia tokio paties našumo kaip fizinių branduolių padidėjimas — tikrai nauda priklauso nuo užduoties pobūdžio.
Ribotumai ir svarstymai
- Ne visos programos pasinaudoja keliomis gijom: senos arba paprastos programos gali veikti vienoje gijoje, todėl papildomi branduoliai nepadės.
- Amdahl’o dėsnis: spartėjimas nuo paralelizacijos priklauso nuo to, kokią programos dalį galima atlikti lygiagrečiai — yra ribų, kiek veiksminga padalinti darbą tarp branduolių.
- Atminties pralaidumas ir talpyklos konfliktai: daug branduolių vienu metu gali apkrauti atminties magistralę, todėl našumas gali neproporcingai neaugti.
Praktiniai patarimai renkantis procesorių
- Apsvarstykite, kokias programas dažniausiai naudosite: žaidimai dažnai labiau vertina vieno branduolio dažnį, o kūrybinės arba profesionalios programos — branduolių skaičių.
- Žiūrėkite ne tik branduolių skaičių, bet ir architektūrą, dažnį, talpyklos dydį ir atminties palaikymą.
- Mobiliesiems įrenginiams atkreipkite dėmesį į energijos vartojimo efektyvumą — daugiau branduolių nebūtinai reiškia geresnį akumuliatoriaus tarnavimo laiką.
Santrauka
Daugiabranduolinis procesorius leidžia vienu metu vykdyti daugiau užduočių, gerina našumą dauggijos scenarijuose ir suteikia lankstumo energijos valdyme. Tačiau realus privalumas priklauso nuo programinės įrangos palaikymo, atminties architektūros ir konkrečių naudojimo atvejų. Renkantis procesorių verta vertinti visą techninį paketą — branduolių skaičių, taktinį dažnį, talpyklas ir sistemos palaikymą.
Istorija
Iki 2005 m. vieno branduolio procesorių buvo daugiau nei kelių branduolių procesorių.[] Ankstesniais metais daugiabranduoliai buvo naudojami tik atskirais atvejais. Įprastas būdas padaryti kompiuterį greitesnį buvo padidinti taktinį dažnį. Tačiau esant maždaug 4 GHz dažniui, procesorius pernelyg įkaistų ir imtų daug elektros energijos. Tuomet tapo svarbesni kelių branduolių procesoriai. Todėl išaugo daugiabranduolinių procesorių paklausa. 2006 m. antroje pusėje geriausi procesoriai buvo dviejų branduolių procesoriai. Nuo 2006 m. plėtra vyko toliau, nauji procesoriai gauna keturis ar daugiau nepriklausomų mikroprocesorių. Šiandien vieno branduolio procesoriai nenaudojami naujuose asmeniniuose kompiuteriuose, tačiau jie išlieka populiarūs įterptinėse sistemose.
Privalumai
- Jei kompiuteryje yra kelių branduolių procesorius, tam tikros programos veikia greičiau.
- Įjungtas kompiuteris gali ne taip įkaisti.
- Kompiuteriui reikia mažiau energijos, nes jis gali išjungti kai kurias sekcijas, jei jos nereikalingos.
- Kompiuterį galima papildyti daugiau funkcijų.
- Signalai tarp skirtingų procesorių keliauja mažesniais atstumais, todėl jie mažiau blogėja.
Trūkumai
- Jie neveikia dvigubai greičiau nei įprastas procesorius. Jie pasiekia tik 60-80 proc. didesnę spartą.
- Kompiuterio veikimo greitis priklauso nuo to, ką su juo daro naudotojas.
- Jie kainuoja brangiau nei vieno branduolio procesoriai.
- Juos sunkiau valdyti termiškai nei mažesnio tankio vieno branduolio procesorius.
- Ne visos operacinės sistemos palaiko daugiau nei vieną branduolį.
- Operacinės sistemos, sukurtos kelių branduolių procesoriui, vieno branduolio procesoriuje veiks šiek tiek lėčiau.
Operacinės sistemos palaikymas
Daugiabranduolinius procesorius palaiko šios operacinės sistemos
Išvada
Ateinančiais metais vis labiau bus linkstama prie daugiabranduolinių procesorių. Pagrindinė priežastis - jie yra spartesni už vieno branduolio procesorius ir juos galima dar patobulinti. Tačiau ateityje vis dar bus tam tikrų vieno branduolio procesorių taikymo sričių, nes ne kiekvienai sistemai reikia greito procesoriaus.