Kelių branduolių pridėjimas prie vieno procesoriaus suteikia didelių pranašumų dėl šiuolaikinių operacinių sistemų daugiafunkcinio pobūdžio. Tačiau kai kuriais tikslais yra viršutinė praktinė riba, kiek branduolių galima pagerinti, palyginti su jų pridėjimo kaina.
Kelių branduolių technologijų pažanga
Kelių branduolių procesoriai asmeniniuose kompiuteriuose buvo prieinami nuo 2000-ųjų pradžios. Kelių branduolių dizainas išsprendė procesorių, kurie pasiekia fizinių apribojimų ribas, susijusius su laikrodžio dažniu ir tuo, kaip efektyviai juos galima aušinti ir išlaikyti tikslumą, problemą. Perėję prie papildomų branduolių viename procesoriaus luste, gamintojai išvengė problemų, susijusių su laikrodžio dažniu, efektyviai padaugindami duomenų, kuriuos galėjo apdoroti centrinis procesorius, kiekį.
Kai jie iš pradžių buvo išleisti, gamintojai siūlė tik du branduolius viename procesoriuje, tačiau dabar yra keturių, šešių ir net 10 ar daugiau branduolių. Be branduolių pridėjimo, tuo pačiu metu naudojamos kelių gijų technologijos, pvz., „Intel“„Hyper-Threading“, gali padvigubinti virtualių branduolių skaičių, kurį mato operacinė sistema.
Procesai ir gijos
Procesas yra konkreti užduotis, pavyzdžiui, programa, vykdoma kompiuteryje. Procesą sudaro viena ar daugiau gijų.
Gija yra tiesiog vienas duomenų srautas iš programos, einantis per kompiuterio procesorių. Kiekviena programa sukuria vieną ar kelias gijas, priklausomai nuo to, kaip ji veikia. Neatlikus kelių užduočių, vieno branduolio procesorius vienu metu gali apdoroti tik vieną giją, todėl sistema greitai persijungia tarp gijų, kad apdorotų duomenis iš pažiūros vienu metu.
Kelių branduolių pranašumas yra tas, kad sistema vienu metu gali apdoroti daugiau nei vieną giją. Kiekvienas branduolys gali apdoroti atskirą duomenų srautą. Ši architektūra labai padidina sistemos, kurioje vienu metu veikia programos, našumą. Kadangi serveriai linkę vienu metu paleisti daug programų vienu metu, ši technologija iš pradžių buvo sukurta įmonės klientui, tačiau asmeniniams kompiuteriams vis sudėtingėjant ir didėjant kelių užduočių atlikimui, jiems taip pat buvo naudinga turėti papildomų branduolių.
Tačiau kiekvieną procesą valdo pagrindinė gija, kuri gali užimti tik vieną branduolį. Taigi, santykinis programos, pvz., žaidimo ar vaizdo atvaizdavimo priemonės, greitis yra griežtai ribojamas iki pagrindinės gijos naudojamo pagrindinio pajėgumo. Pirminė gija gali absoliučiai perduoti antrines gijas kitiems branduoliams, tačiau žaidimas netampa dvigubai greitesnis, kai padvigubinate branduolių skaičių. Taigi nėra neįprasta, kad žaidimas visiškai išnaudoja vieną branduolį (pirminę giją), bet mato tik dalinį kitų branduolių panaudojimą antrinėms gijomis. Pagrindinis branduolys yra jūsų programos greičio ribotuvas, o programos, kurios yra jautrios šiai architektūrai, veiks geriau nei programos, kurios ne.
Programinės įrangos priklausomybė
Nors kelių branduolių procesorių koncepcija skamba patraukliai, ši technologija turi esminį įspėjimą. Kad būtų galima mėgautis tikrais kelių procesorių privalumais, kompiuteryje veikianti programinė įranga turi būti parašyta taip, kad palaikytų kelių gijų apdorojimą. Be programinės įrangos, palaikančios tokią funkciją, gijos pirmiausia bus vykdomos per vieną branduolį, taip sumažinant bendrą kompiuterio efektyvumą. Galų gale, jei jis gali veikti tik viename keturių branduolių procesoriaus branduolyje, iš tikrųjų gali būti greičiau jį paleisti dviejų branduolių procesoriuje su didesniu baziniu taktiniu greičiu.
Visos pagrindinės dabartinės operacinės sistemos palaiko kelių gijų funkciją. Tačiau daugiasriegis ryšys taip pat turi būti įrašytas į taikomąją programinę įrangą. Bėgant metams vartotojų programinės įrangos kelių gijų palaikymas pagerėjo, tačiau daugelyje paprastų programų kelių gijų palaikymas vis dar neįdiegtas dėl programinės įrangos kūrimo sudėtingumo. Pavyzdžiui, pašto programa ar žiniatinklio naršyklė greičiausiai neturės tiek daug naudos iš kelių gijų, kiek grafikos ar vaizdo įrašų redagavimo programa, kai kompiuteris apdoroja sudėtingus skaičiavimus.
Geras pavyzdys šiai tendencijai paaiškinti – pažvelgti į tipišką kompiuterinį žaidimą. Daugeliui žaidimų reikalingas tam tikras atvaizdavimo variklis, kad būtų rodoma, kas vyksta žaidime. Be to, kažkoks dirbtinis intelektas valdo žaidimo įvykius ir veikėjus. Naudojant vieną branduolį, abi užduotys vykdomos keičiant jas. Šis metodas nėra efektyvus. Jei sistemoje būtų keli procesoriai, tiek atvaizdavimas, tiek AI galėtų veikti atskirame branduolyje – ideali situacija kelių branduolių procesoriui.
Ar 8 > 4 > 2?
Dviejų branduolių peržengimas suteikia nevienodos naudos, nes bet kurio kompiuterio pirkėjo atsakymas priklauso nuo jo paprastai naudojamos programinės įrangos. Pavyzdžiui, daugelis klasikinių žaidimų vis dar siūlo mažą našumo skirtumą tarp dviejų ir keturių branduolių. Net šiuolaikiniai žaidimai – kai kuriems iš jų tariamai reikalingi arba palaikomi aštuoni branduoliai – gali neveikti geriau nei šešių branduolių aparatas su didesniu baziniu taktiniu dažniu, nes pagrindinės gijos efektyvumas lemia kelių gijų veikimo efektyvumą.
Kita vertus, vaizdo įrašų kodavimo programa, kuri perkoduoja vaizdo įrašą, greičiausiai turės didžiulę naudą, nes atskirų kadrų atvaizdavimas gali būti perduodamas skirtingiems branduoliams, o tada programinė įranga sujungs į vieną srautą. Taigi turėti aštuonis branduolius bus dar naudingiau nei keturis. Iš esmės pirminei gijai nereikia palyginti turtingų išteklių; Vietoj to, jis gali panaudoti sunkų darbą antrines gijas, kurios maksimaliai išnaudoja procesoriaus branduolius.
Laikrodžio greitis
Bendrai kalbant, didesnis laikrodžio greitis reiškia greitesnį procesorių. Laikrodžio greitis tampa miglotesnis, kai atsižvelgiama į greitį, palyginti su kelių branduolių, nes procesoriai pertraukia kelias duomenų gijas dėl papildomų branduolių, tačiau kiekvienas iš tų branduolių veiks mažesniu greičiu dėl šiluminių apribojimų.
Pavyzdžiui, dviejų branduolių procesorius gali palaikyti kiekvieno procesoriaus bazinį 3,5 GHz taktinį dažnį, o keturių branduolių procesorius gali veikti tik 3,0 GHz dažniu. Vien pažvelgus į vieną kiekvieno iš jų branduolį, dviejų branduolių procesorius yra 14 procentų greitesnis nei keturių branduolių. Taigi, jei turite programą, kuri yra tik vienos gijos, dviejų branduolių procesorius iš tikrųjų yra efektyvesnis. Vėlgi, jei jūsų programinė įranga gali naudoti visus keturis procesorius, keturių branduolių procesorius iš tikrųjų bus maždaug 70 procentų greitesnis nei tas dviejų branduolių procesorius.
Išvados
Dažniausiai didesnio branduolių skaičiaus procesoriaus naudojimas yra geresnis, jei jūsų programinė įranga ir įprasti naudojimo atvejai jį palaiko. Daugeliu atvejų dviejų ar keturių branduolių procesorius bus daugiau nei pakankamai galios paprastam kompiuterio vartotojui. Dauguma vartotojų nepamatys jokios apčiuopiamos naudos iš daugiau nei keturių procesoriaus branduolių, nes ja pasinaudoja labai mažai nespecializuotos programinės įrangos. Geriausias didelio branduolių skaičiaus procesorių naudojimo atvejis yra susijęs su mašinomis, kurios atlieka sudėtingas užduotis, pvz., darbalaukio vaizdo įrašų redagavimą, kai kurias aukščiausios klasės žaidimų formas arba sudėtingas mokslo ir matematikos programas.
Peržiūrėkite mūsų mintis apie tai, kokio greičio man reikia kompiuterio? kad geriau suprastumėte, kokio tipo procesorius geriausiai atitinka jūsų skaičiavimo poreikius.