Anonim

Kai pirmą kartą buvo išrasti asmeniniai kompiuteriai, jų centrinis procesorius (CPU) stovėjo atskirai ir turėjo tik vieną procesoriaus šerdį. Pats procesorius buvo šerdis; idėja turėti kelių branduolių procesorių dar nebuvo girdėta. Šiandien visiškai nėra įprasta matyti kompiuterius, telefonus ir kitus įrenginius su keliais branduoliais - iš tikrųjų beveik kiekvienas komercinis bet kokio tipo kompiuteris turi kelis branduolius. Šie branduoliai yra tame pačiame atskirame procesoriuje arba centriniame procesoriuje.

Turėti keletą branduolių yra didelis pranašumas. Turėdamas tik vieną šerdį, kompiuteris gali dirbti tik su viena užduotimi vienu metu, atlikdamas užduotį prieš pereidamas prie kitos. Tačiau turėdamas daugiau branduolių, kompiuteris gali dirbti kartu su keliomis užduotimis, o tai ypač naudinga tiems, kurie atlieka daug skirtingų užduočių.

Prieš tiksliai pasidomėdami, kaip veikia kelių branduolių procesoriai, svarbu šiek tiek pasikalbėti apie apdorojimo technologijos pradmenis, po to aptarsime, ką veikia kelių branduolių procesoriai.

Kai kurios istorijos

Prieš statant procesorius su keliais branduoliais, žmonės ir įmonės, tokios kaip „Intel“ ir „AMD“, bandė kurti kompiuterius su keliais procesoriais. Ką tai reiškė, reikėjo pagrindinės plokštės su daugiau nei vienu procesoriaus lizdu. Tai ne tik buvo brangesnė dėl fizinės aparatinės įrangos, reikalingos kitam procesoriaus lizdui, bet ir padidino delsą dėl padidėjusio ryšio, kuris turėjo vykti tarp dviejų procesorių. Pagrindinė plokštė turėjo padalinti duomenis į dvi visiškai atskiras vietas kompiuteryje, o ne tiesiog nusiųsti visus duomenis procesoriui. Fizinis atstumas iš tikrųjų reiškia, kad procesas yra lėtesnis. Įdiegus šiuos procesus į vieną lustą su keliomis šerdimis, tai reiškia ne tik tai, kad yra mažesnis atstumas iki kelionės, bet tai taip pat reiškia, kad skirtingi branduoliai gali dalytis ištekliais ypač sunkioms užduotims atlikti. Pavyzdžiui, abu „Intel“ „Pentium II“ ir „Pentium III“ lustai buvo įgyvendinti versijose su dviem procesoriais vienoje pagrindinėje plokštėje.

Po kurio laiko procesoriai turėjo būti galingesni, todėl kompiuterių gamintojai sugalvojo hiper-sriegio koncepciją. Pati idėja kilo iš „Intel“, ir ji pirmiausia buvo sumanyta 2002 m. Bendrovės „Xeon“ serverio procesoriuose, o vėliau - „Pentium 4“ staliniuose procesoriuose. „Hyper-threads“ vis dar naudojamas šiandien procesoriuose ir yra net pagrindinis skirtumas tarp „Intel“ i5 lustų ir jo „i7“ lustų. Tai iš esmės pasinaudoja tuo, kad procesoriuje dažnai yra nepanaudotų išteklių, ypač kai užduotims nereikia daug apdorojimo galios, kurias galima panaudoti kitoms programoms. Procesorius, kuris naudoja hipersisteminimą, iš esmės prisistato operacinei sistemai, tarsi jis turėtų du branduolius. Žinoma, jis iš tikrųjų neturi dviejų branduolių, tačiau dviem programoms, kurios sunaudoja pusę turimos ar mažiau apdorojimo galios, gali būti ir du branduoliai, nes kartu jie gali naudotis visa galia, procesorius turi pasiūlyti. Aukštas sriegis bus šiek tiek lėtesnis nei dviejų branduolių procesoriaus, kai nepakanka apdorojimo galios, kad būtų galima dalytis tarp dviejų programų, naudojančių šerdį.

Įžvalgų vaizdo įrašą, kuriame pateikiamas trumpas, išsamesnis paaiškinimas apie hiper siūlus, galite rasti čia.

Daugiaprocesoriai

Atlikus daug eksperimentų, pagaliau buvo galima sukurti procesorius su keliais branduoliais. Tai reiškė, kad vienas procesorius iš esmės turėjo daugiau nei vieną procesorių. Pvz., Dviejų branduolių procesorius turi du procesorius, keturių branduolių turi keturis ir pan.

Taigi kodėl įmonės sukūrė procesorius su keliais branduoliais? Na, vis akivaizdesnis buvo greitesnių procesorių poreikis, tačiau pavienių branduolių procesorių raida lėtėjo. Nuo devintojo dešimtmečio iki 2000-ųjų inžinieriai sugebėjo padidinti apdorojimo greitį nuo kelių megahercų iki kelių gigahercų. Tokios kompanijos kaip „Intel“ ir „AMD“ tai padarė mažindamos tranzistorių dydį, o tai leido daugiau tranzistorių užimti tokioje pačioje erdvėje ir taip pagerinti našumą.

Dėl to, kad procesoriaus laikrodžio greitis yra labai susijęs su tuo, kiek tranzistorių gali tilpti į lustą, kai tranzistorių mažėjimo technologija pradėjo lėtėti, padidėjusio procesoriaus greičio vystymasis taip pat pradėjo lėtėti. Nors ne tada, kai įmonės pirmą kartą sužinojo apie daugiagyslius procesorius, tai buvo tada, kai komerciniais tikslais jie pradėjo eksperimentuoti su kelių branduolių procesoriais. Nors daugiagysliai procesoriai pirmą kartą buvo sukurti devintojo dešimtmečio viduryje, jie buvo skirti didelėms korporacijoms ir nebuvo iš tikrųjų peržiūrimi, kol nepradėjo lėtėti vieno branduolio technologijos. Pirmąjį daugiagyslį procesorių sukūrė „Rockwell International“ ir jis buvo 6501 lusto versija su dviem 6502 procesoriais viename luste (daugiau informacijos rasite šiame Vikipedijos įraše).

Ką veikia daugiagyslis procesorius?

Na, tai tikrai viskas gana paprasta. Turėdami kelis branduolius, galite padaryti kelis dalykus vienu metu. Pvz., Jei dirbate su el. Laiškais, atidarote interneto naršyklę, naudojate „Excel“ skaičiuoklę ir klausote muzikos „iTunes“, tada keturių branduolių procesorius gali dirbti visus šiuos dalykus vienu metu. Arba, jei vartotojas turi užduotį, kurią reikia atlikti nedelsiant, ją galima padalyti į mažesnes, lengviau apdorojamas užduotis.

Kelių branduolių naudojimas taip pat neapsiriboja keliomis programomis. Pvz., „Google Chrome“ kiekvienam naujam puslapiui pateikia skirtingą procesą, tai reiškia, kad jis vienu metu gali naudotis keliomis šerdimis. Tačiau kai kurios programos yra vadinamos vienos gijos, tai reiškia, kad jos nebuvo parašytos tam, kad galėtų naudoti kelis branduolius, ir todėl negali to padaryti. Čia vėl pradedamas naudoti aukšto sriegio nustatymas, leidžiantis „Chrome“ nusiųsti kelis puslapius į du „loginius branduolius“ viename tikrame branduolyje.

Einant koja kojon su kelių branduolių procesoriais ir hiper-sriegiu yra sąvoka, vadinama daugiaplaniu. Daugiasluoksnis iš esmės yra operacinės sistemos gebėjimas pasinaudoti keliais branduoliais, padalijant kodą į pačią pagrindinę formą arba gijas ir pateikiant jį skirtingiems branduoliams vienu metu. Tai, be abejo, svarbu tiek daugiaprocesoriuose, tiek daugiapakopiuose procesoriuose. Daugialypis sriegis yra šiek tiek sudėtingesnis, nei atrodo, nes tam reikia, kad operacinės sistemos tinkamai užsakytų kodą taip, kad programa galėtų ir toliau efektyviai veikti.

Pačios operacinės sistemos daro panašius veiksmus ir su savo procesais - tai nėra vien tik programos. Operacinės sistemos procesai yra dalykai, kuriuos operacinė sistema visada daro fone, vartotojui to nebūtinai žinant. Dėl to, kad šie procesai vyksta nuolat, labai naudingi siūlai ir (arba) keli branduoliai gali būti labai naudingi, nes tai išlaisvina procesorių, kad jis galėtų dirbti su kitais dalykais, tokiais kaip tai, kas vyksta programose.

Kaip veikia daugiagysliai procesoriai?

Pirma, pagrindinė plokštė ir operacinė sistema turi atpažinti procesorių ir tai, kad yra keli branduoliai. Senesni kompiuteriai turėjo tik vieną branduolį, todėl senesnė operacinė sistema gali neveikti per gerai, jei vartotojas bandytų ją įdiegti naujesniame kompiuteryje su keliais branduoliais. Pvz., „Windows 95“ nepalaiko aukšto sriegio ar kelių branduolių. Visos naujausios operacinės sistemos palaiko kelių branduolių procesorius, įskaitant tokius pat kaip „Windows 7“, 8, naujai išleistą 10 ir „Apple“ OS X 10.10.

Iš esmės, tada operacinė sistema pagrindinei plokštei nurodo, kad reikia atlikti procesą. Pagrindinė plokštė praneša procesoriui. Kelių branduolių procesoriuje operacinė sistema gali nurodyti procesoriui atlikti kelis veiksmus vienu metu. Iš esmės, operacinės sistemos kryptimi, duomenys perkeliami iš kietojo disko arba RAM per pagrindinę plokštę į procesorių.

Daugiagyslis procesorius

Procesoriuje yra keli talpyklos atminties lygiai, talpinantys duomenis kitai procesoriaus operacijai ar operacijoms. Šie talpyklos atminties lygiai užtikrina, kad procesoriui nereikės labai toli ieškoti kito proceso, o tai sutaupys daug laiko. Pirmasis talpyklos atminties lygis yra L1 talpykla. Jei procesorius negali rasti duomenų, reikalingų kitam procesui L1 talpykloje, jis ieško L2 talpyklos. L2 talpykla yra didesnė atmintyje, tačiau yra lėtesnė nei L1 talpykla.

Vieno branduolio procesorius

Jei procesorius negali rasti to, ko ieško L2 talpykloje, jis toliau eina link L3, o jei procesorius jį turi - L4. Po to jis atrodys pagrindinėje atmintyje arba kompiuterio RAM.

Taip pat yra įvairių būdų, kaip skirtingi procesoriai tvarko skirtumų talpyklas. Pvz., Kai kurie dubliuoja duomenis apie L1 talpyklos L2 talpyklą, o tai iš esmės yra būdas užtikrinti, kad procesorius rastų tai, ko ieško. Tai, žinoma, užima daugiau atminties L2 talpykloje.

Įvairių branduolių procesoriuose taip pat naudojami skirtingi talpyklos lygiai. Paprastai kiekviena šerdis turės savo L1 talpyklą, tačiau jie dalinsis L2 talpykloje. Tai skiriasi nuo to, jei būtų keli procesoriai, nes kiekvienas procesorius turi savo L1, L2 ir bet kurio kito lygio talpyklą. Naudojant kelis vieno branduolio procesorius, dalijimasis talpykla tiesiog neįmanomas. Vienas iš pagrindinių bendros talpyklos pranašumų yra galimybė pilnai naudoti talpyklą, nes jei vienas branduolys nenaudoja talpyklos, kitas gali.

Kelių branduolių procesoriuje, ieškodamas duomenų, branduolys gali ieškoti naudodamas savo unikalią L1 talpyklą, o tada išsišakoja į bendrą L2 talpyklą, RAM ir galiausiai standųjį diską.

Tikėtina, kad ir toliau matysime daugiau branduolių. Procesoriaus laikrodžio greitis tikrai augs ir toliau, nors ir lėčiau nei anksčiau. Nors dabar nėra neįprasta pamatyti oktaginius procesorius tokiuose dalykuose kaip išmanieji telefonai, netrukus galime pamatyti procesorius, turinčius dešimtis branduolių.

Kaip manote, kur eina daugiagyslių duomenų apdorojimo technologija? Praneškite mums toliau pateiktuose komentaruose arba pradėdami naują giją mūsų bendruomenės forume.

Viskas apie kelių branduolių procesorius: kokie jie yra, kaip jie dirba ir iš kur jie atsirado