Anonim

Ko so bili osebni računalniki prvič izumljeni, je njihova centralna procesna enota (CPU) stala sama in je imela samo eno procesorsko jedro. Sam procesor je bil jedro; ideja o večjedrnem procesorju še ni bila slišati. Danes sploh ni redko videti računalnike, telefone in druge naprave z več jedri - v resnici ima vsak komercialno dostopni računalnik katere koli vrste več jeder. Ta jedra prebivajo v isti, enojni, CPU ali centralni procesni enoti.

Velika prednost je imeti več jeder. Računalnik lahko deluje samo z eno nalogo, hkrati pa mora opraviti nalogo, preden se premakne na drugo. Z več jedri pa lahko računalnik dela na več opravilih hkrati, kar je še posebej koristno za tiste, ki veliko opravljajo večopravilnost.

Preden se natančno potopite v to, kako delujejo večjedrni procesorji, je treba malo spregovoriti o zgodovini procesne tehnologije, nakar bomo razpravljali o tem, kaj počnejo večjedrni procesorji.

Nekaj ​​zgodovine

Preden so bili zgrajeni procesorji z več jedri, so ljudje in podjetja, kot sta Intel in AMD, poskušali sestaviti računalnike z več CPU-ji. To je pomenilo, da je potrebna matična plošča z več vtičnicami procesorja. To je bilo ne samo dražje zaradi fizične strojne opreme, potrebne za drugo vtičnico CPU-ja, temveč je tudi povečalo zamude zaradi večje komunikacije, ki je bila potrebna za izvedbo obeh procesorjev. Matična plošča je morala podatke razdeliti na dve popolnoma ločeni lokaciji v računalniku, namesto da bi vse skupaj preprosto poslala procesorju. Fizična razdalja dejansko pomeni, da je proces počasnejši. Postavitev teh procesov na en čip z več jedri ne pomeni le, da je potovanja manjša oddaljenost, ampak tudi pomeni, da si različna jedra lahko delijo vire za izvajanje zelo težkih nalog. Na primer, Intelova čipa Pentium II in Pentium III sta bila izvedena v različicah z dvema procesorjema na eni matični plošči.

Čez nekaj časa so morali biti procesorji zmogljivejši, zato so proizvajalci računalnikov prišli do koncepta hiperrezanja. Sam koncept je prišel iz podjetja Intel, zasnovan pa je bil leta 2002 na družbenih procesorjih Xeon podjetja, kasneje pa tudi na namiznih procesorjih Pentium 4. Hiperrezanje se še danes uporablja v procesorjih in je celo glavna razlika med Intelovimi čipi i5 in čipi i7. V bistvu izkorišča dejstvo, da so v procesorju pogosto neuporabljeni viri, zlasti kadar naloge ne potrebujejo veliko procesorske moči, kar bi lahko uporabili za druge programe. Procesor, ki uporablja hiper-navoje, se v operacijskem sistemu v bistvu predstavlja, kot da ima dve jedri. Seveda v resnici nima dveh jeder, vendar za dva programa, ki uporabljata polovico razpoložljive procesne moči ali manj, lahko obstajata tudi dve jedri, ker lahko skupaj izkoristijo vso moč, ki jo ponuja procesor. Hyper-nitki pa bodo nekoliko počasnejši od procesorja z dvema jedroma, ko ni dovolj procesorske moči za delitev med obema programoma, ki uporabljajo jedro.

Tu lahko najdete pronicljiv videoposnetek s kratkim in podrobnejšim pojasnjevanjem hiperrezanja.

Večprocesorji

Po dolgem eksperimentu so končno lahko izdelali CPU z več jedri. To je pomenilo, da je en sam procesor v bistvu imel več kot eno procesno enoto. Na primer, dvojedrni procesor ima dve procesorski enoti, štirijedrni štiri in podobno.

Zakaj so torej podjetja razvila procesorje z več jedri? No, potreba po hitrejših procesorjih je postajala vse bolj očitna, vendar se je razvoj v enojedrnih procesorjih upočasnil. Od osemdesetih do 2000-ih so inženirji lahko povečali hitrost obdelave iz več megahercev na več gigahercev. Podjetja, kot sta Intel in AMD, so to storila tako, da so zmanjšala velikost tranzistorjev, kar je omogočilo več tranzistorjev v isti količini prostora in tako izboljšalo zmogljivosti.

Ker je taktna hitrost procesorja zelo povezana s tem, koliko tranzistorjev se lahko prilega čipu, se je počasi začela upočasnjevati tudi tehnologija krčenja tranzistorjev. Čeprav podjetja niso več vedela za večjedrne procesorje, je to, ko so začela eksperimentirati z večjedrnimi procesorji v komercialne namene. Medtem ko so bili večjedrni procesorji prvič razviti sredi osemdesetih let, so bili zasnovani za velike korporacije in v resnici niso bili revidirani, dokler se enojedrna tehnologija ni začela upočasnjevati. Prvi večjedrni procesor je razvil Rockwell International in je bil različica čipa 6501 z dvema procesorjema 6502 na enem čipu (več podrobnosti je na voljo tukaj v tem zapisu Wikipedije).

Kaj počne večjedrni procesor?

No, v resnici je vse čisto enostavno. Ima več jeder omogoča več stvari hkrati. Če na primer delate e-poštna sporočila, imate odprt internetni brskalnik, delate preglednico excel in poslušate glasbo v iTunesu, potem lahko štiri-jedrni procesor naenkrat dela vse te stvari. Če pa ima uporabnik nalogo, ki jo je treba takoj dokončati, jo lahko razdelite na manjše, lažje obdelane naloge.

Uporaba več jeder prav tako ni omejena na več programov. Google Chrome na primer vsako novo stran ustvari z drugačnim postopkom, kar pomeni, da lahko hkrati izkoristi več jeder. Nekateri programi pa se imenujejo enotirni, kar pomeni, da niso bili napisani zato, da bi lahko uporabljali več jeder in zato ne morejo. Tu se spet začne igrati hipernarez, ki omogoča, da Chrome na eno dejansko jedro pošlje več strani na dva "logična jedra".

Hoditi z roko z večjedrnimi procesorji in hiper-navojem je koncept, imenovan multiithreading. Multithreading je v bistvu zmožnost operacijskega sistema, da izkoristi več jeder tako, da kodo razdeli na njeno najosnovnejšo obliko ali niti in jo hkrati napaja v različna jedra. To je seveda pomembno pri večprocesorjih in tudi pri večjedrnih procesorjih. Multi-nitkanje je nekoliko bolj zapleteno, kot se sliši, saj od operacijskih sistemov zahteva, da pravilno naročijo kodo tako, da lahko program še naprej učinkovito deluje.

Sami operacijski sistemi delajo podobne stvari s svojimi procesi - ni omejena samo na aplikacije. Procesi operacijskega sistema so stvari, ki jih operacijski sistem vedno počne v ozadju, ne da bi ga uporabnik nujno vedel. Zaradi dejstva, da se ti procesi vedno izvajajo, je lahko hiperrezanje in / ali več jeder v veliko pomoč, saj procesor sprosti, da lahko dela na drugih stvareh, kot se dogaja v aplikacijah.

Kako delujejo večjedrni procesorji?

Najprej morata matična plošča in operacijski sistem prepoznati procesor in da obstaja več jeder. Starejši računalniki so imeli samo eno jedro, zato starejši operacijski sistem morda ne bo deloval preveč dobro, če bi ga uporabnik skušal namestiti v novejši računalnik z več jedri. Windows 95, na primer, ne podpira hiper-niti ali več jeder. Vsi nedavni operacijski sistemi podpirajo večjedrne procesorje, vključno z operacijskimi sistemi Windows 7, 8, novo izdanimi 10 in Applovim OS X 10.10.

V bistvu, operacijski sistem matični plošči nato pove, da je treba izvesti postopek. Nato matična plošča pove procesorju. V večjedrnem procesorju lahko operacijski sistem procesorju reče, naj naredi več stvari hkrati. V bistvu se skozi smer operacijskega sistema podatki premaknejo s trdega diska ali RAM-a preko matične plošče na procesor.

Večjedrni procesor

Znotraj procesorja je več stopenj pomnilnika predpomnilnika, ki hrani podatke za naslednje procesorje ali operacije procesorja. Te ravni pomnilnika predpomnilnika zagotavljajo, da procesorju ni treba iskati zelo daleč, da bi našli svoj naslednji postopek, s čimer prihranite veliko časa. Prva raven pomnilnika predpomnilnika je predpomnilnik L1. Če procesor v predpomnilniku L1 ne najde podatkov, ki jih potrebuje za svoj naslednji postopek, poišče predpomnilnik L2. Predpomnilnik L2 je večji v pomnilniku, vendar je počasnejši od predpomnilnika L1.

Enojedrni procesor

Če procesor ne more najti tistega, kar išče v predpomnilniku L2, nadaljuje navzdol do vrstice L3 in če ima procesor L4. Po tem bo videti v glavnem pomnilniku ali RAM-u računalnika.

Obstajajo tudi različni načini ravnanja z različnimi predpomnilniki različnih procesorjev. Na primer, nekateri podvajajo podatke v predpomnilniku L1 v predpomnilniku L2, kar je v bistvu način, kako procesor lahko najde tisto, kar išče. To seveda zasede več pomnilnika v predpomnilniku L2.

V večjedrnih procesorjih igrajo različne ravni predpomnilnika. Običajno bo vsako jedro imelo svoj predpomnilnik L1, vendar si bodo delili predpomnilnik L2. To je drugače, kot če bi bilo več procesorjev, ker ima vsak procesor svoj L1, L2 in kateri koli drug predpomnilnik ravni. Z več enojedrnimi procesorji deljenje predpomnilnika preprosto ni mogoče. Ena glavnih prednosti skupnega predpomnilnika je zmožnost uporabe predpomnilnika v največji možni meri zaradi dejstva, da če eno jedro ne uporablja predpomnilnika, lahko drugo.

V večjedrnem procesorju lahko pri iskanju podatkov jedro pogleda skozi lasten edinstveni predpomnilnik L1 in se nato razveja v skupni predpomnilnik L2, RAM in sčasoma trdi disk.

Verjetno bomo še naprej videli razvoj več jeder. Taktne hitrosti procesorja se bodo zagotovo še izboljševale, čeprav počasneje kot prej. Čeprav zdaj ni redko, da vidimo octa-core jedro v stvareh, kot so pametni telefoni, smo lahko kmalu videli procesorje z desetinami jeder.

Kje mislite, da bo nadaljevala tehnologija z več jedrnimi procesi? Sporočite nam v spodnjih komentarjih ali z začetkom nove teme na našem forumu skupnosti.

Vse o večjedrnih procesorjih: kaj so, kako delujejo in od kod prihajajo