Anonim

Kad pirmo reizi tika izgudroti personālie datori, to centrālais procesors (CPU) stāvēja viens pats, un tam bija tikai viens procesora kodols. Pats procesors bija kodols; ideja par daudzkodolu procesoru vēl nebija dzirdēta. Mūsdienās nepavisam nav nekas neparasts redzēt datorus, tālruņus un citas ierīces ar vairākiem kodoliem - patiešām visiem komerciāli pieejamiem jebkura veida datoriem ir vairāki kodoli. Šie serdeņi atrodas vienā, vienā, centrālā procesora vai centrālajā procesora blokā.

Vairāku serdeņu iegūšana ir liela priekšrocība. Ar tikai vienu kodolu dators vienlaikus var strādāt tikai ar vienu uzdevumu, un tas jāpabeidz, pirms tas pāriet uz citu. Tomēr ar vairāk kodoliem dators var strādāt pie vairākiem uzdevumiem vienlaikus, kas ir īpaši noderīgi tiem, kas veic daudzus uzdevumus.

Pirms precīzi iedziļināties, kā darbojas daudzkodolu procesori, ir svarīgi mazliet parunāt par apstrādes tehnoloģijas priekšvēsturi, pēc tam mēs pārrunāsim, ko dara daudzkodolu procesori.

Daži vēsture

Pirms procesoru ar vairākiem kodoliem izveidošanas cilvēki un uzņēmumi, piemēram, Intel un AMD, mēģināja izveidot datorus ar vairākiem CPU. Ko tas nozīmēja, bija nepieciešama mātesplate ar vairāk nekā vienu CPU ligzdu. Tas ne tikai bija dārgāks fiziskās aparatūras dēļ, kas bija nepieciešama citai procesora ligzdai, bet arī palielināja latentumu, jo palielinājās saziņa, kas bija nepieciešama starp diviem procesoriem. Mātesplatē vajadzēja sadalīt datus pa divām pilnīgi atsevišķām vietām datorā, nevis visu to vienkārši nosūtīt procesoram. Fiziskais attālums faktiski nozīmē, ka process ir lēnāks. Šo procesu ievietošana vienā mikroshēmā ar vairākiem kodoliem nozīmē ne tikai mazāku attālumu līdz braucienam, bet arī nozīmē, ka dažādi kodoli var dalīties resursos īpaši smagu uzdevumu veikšanai. Piemēram, gan Intel Pentium II, gan Pentium III mikroshēmas tika ieviestas versijās ar diviem procesoriem vienā mātesplatē.

Pēc laika procesoriem vajadzēja būt jaudīgākiem, tāpēc datoru ražotāji nāca klajā ar hipervītņu koncepciju. Pati pati koncepcija nāca no Intel, un tā sākotnēji tika iecerēta 2002. gadā uzņēmuma Xeon servera procesoros, bet vēlāk arī Pentium 4 darbvirsmas procesoros. Hyper-threading joprojām izmanto procesoros, un tā ir pat galvenā atšķirība starp Intel i5 mikroshēmām un tās i7 mikroshēmām. Tas pamatā izmanto faktu, ka procesorā bieži tiek izmantoti neizmantoti resursi, īpaši gadījumos, kad uzdevumiem nav nepieciešama liela apstrādes jauda, ​​ko varētu izmantot citām programmām. Procesors, kas izmanto hiperdiegšanu, sevi galvenokārt iepazīstina ar operētājsistēmu tā, it kā tam būtu divi kodoli. Protams, tam faktiski nav divu kodolu, tomēr divām programmām, kas izmanto pusi no pieejamās apstrādes jaudas vai mazāk, var būt arī divi serdeņi, jo kopā viņi var izmantot visu jaudu, ko procesoram ir jāpiedāvā. Hyper-threading tomēr būs nedaudz lēnāks nekā procesors ar diviem kodoliem, ja nepietiek apstrādes jaudas, lai dalītos starp divām programmām, kuras izmanto kodolu.

Ieskaujošu videoklipu, kurā sniegts īss, detalizēts hiperdiegšanas skaidrojums, varat atrast šeit.

Daudzprocesori

Pēc lieliem eksperimentiem beidzot varēja izveidot CPU ar vairākiem kodoliem. Tas nozīmēja, ka vienam procesoram pamatā bija vairāk nekā viena procesora vienība. Piemēram, divkodolu procesoram ir divas apstrādes vienības, četrkodolu ir četras utt.

Tad kāpēc uzņēmumi izstrādāja procesorus ar vairākiem kodoliem? Nu, vajadzība pēc ātrākiem procesoriem kļuva arvien skaidrāka, tomēr attīstība vienkodolu procesoros palēninājās. No astoņdesmitajiem gadiem līdz 2000. gadiem inženieri spēja palielināt apstrādes ātrumu no vairākiem megaherciem līdz vairākiem gigaherciem. Uzņēmumi, piemēram, Intel un AMD, to izdarīja, samazinot tranzistoru izmēru, kas ļāva vairāk tranzistoru atrasties tikpat daudz vietas, tādējādi uzlabojot veiktspēju.

Sakarā ar to, ka procesora pulksteņa ātrums ir ļoti saistīts ar to, cik tranzistoru var ietilpt mikroshēmā, kad tranzistora sarukšanas tehnoloģija sāka palēnināties, arī procesora palielināta ātruma attīstība sāka palēnināties. Lai gan tas nav tad, kad uzņēmumi pirmo reizi uzzināja par daudzkodolu procesoriem, tas ir tad, kad viņi sāka eksperimentēt ar daudzkodolu procesoriem komerciālos nolūkos. Kamēr daudzkodolu procesori pirmo reizi tika izstrādāti astoņdesmito gadu vidū, tie bija paredzēti lielām korporācijām un netika revidēti, līdz vienkodolu tehnoloģija sāka palēnināties. Pirmo daudzkodolu procesoru izstrādāja Rockwell International, un tā bija 6501 mikroshēmas versija ar diviem 6502 procesoriem vienā mikroshēmā (sīkāka informācija šeit atrodama šajā Wikipedia ierakstā).

Ko dara daudzkodolu procesors?

Nu, tas viss tiešām ir diezgan vienkārši. Vairāku kodolu iegūšana ļauj veikt vairākas lietas vienlaikus. Piemēram, ja strādājat ar e-pastiem, esat atvērts interneta pārlūks, strādājat ar Excel izklājlapu un klausāties mūziku iTunes, tad četrkodolu procesors var strādāt pie visām šīm lietām vienlaikus. Vai arī, ja lietotājam ir uzdevums, kas nekavējoties jāpabeidz, to var sadalīt mazākos, vieglāk apstrādājamos uzdevumos.

Vairāku kodolu izmantošana nav tikai tikai vairāku programmu izmantošana. Piemēram, Google Chrome katru jauno lapu atveido ar atšķirīgu procesu, kas nozīmē, ka tas var izmantot vairāku kodolu priekšrocības vienlaikus. Tomēr dažas programmas tiek sauktas par vienpavedieniem, kas nozīmē, ka tās nebija rakstītas, lai varētu izmantot vairākus serdeņus, un kā tādas tās nevar. Šeit atkal tiek parādīta hipertiešana, ļaujot pārlūkam Chrome nosūtīt vairākas lapas uz diviem “loģiskajiem kodoliem” vienā faktiskajā kodolā.

Iet roku rokā ar daudzkodolu procesoriem un hiperdiegšanu ir jēdziens, ko sauc par vairāku pavedienu veidošanu. Daudzkārtīga vītne būtībā ir operētājsistēmas spēja izmantot vairāku kodolu priekšrocības, sadalot kodu tā visvienkāršākajā formā vai pavedienos un vienlaikus padodot to uz dažādiem kodoliem. Tas, protams, ir svarīgi daudzprocesoru, kā arī daudzkodolu procesoros. Vairāki pavedieni ir nedaudz sarežģītāki, nekā izklausās, jo tiem ir nepieciešams, lai operētājsistēmas pareizi pasūtītu kodu tā, lai programma varētu turpināt darboties efektīvi.

Pašas operētājsistēmas pats rīkojas līdzīgi - ne tikai lietojumprogrammās. Operētājsistēmas procesi ir lietas, kuras operētājsistēma vienmēr dara fonā, lietotājam to nemaz nezinot. Sakarā ar to, ka šie procesi vienmēr notiek, hiperpavedieni un / vai vairāki kodoli var būt ļoti noderīgi, jo tas atbrīvo procesoru no iespējas strādāt pie citām lietām, piemēram, tas, kas notiek lietotnēs.

Kā darbojas daudzkodolu procesori?

Pirmkārt, mātesplatē un operētājsistēmā ir jāpazīst procesors un tas, ka ir vairāki kodoli. Vecākiem datoriem bija tikai viens kodols, tāpēc vecāka operētājsistēma varētu nedarboties pārāk labi, ja lietotājs mēģinātu to instalēt jaunākā datorā ar vairākiem kodoliem. Piemēram, operētājsistēma Windows 95 neatbalsta hiperdiegšanu vai vairākus kodolus. Visas jaunākās operētājsistēmas atbalsta daudzkodolu procesorus, ieskaitot tādus kā Windows 7, 8, nesen izlaists 10 un Apple OS X 10.10.

Pamatā sakot, pēc tam operētājsistēma mātesplatē paziņo, ka ir jāveic process. Pēc tam mātesplate paziņo procesoram. Daudzkodolu procesorā operētājsistēma var norādīt procesoram darīt vairākas lietas vienlaikus. Būtībā operētājsistēmas virzienā dati tiek pārvietoti no cietā diska vai RAM, izmantojot mātesplati, uz procesoru.

Daudzkodolu procesors

Procesoram ir vairāki kešatmiņas līmeņi, kas satur datus procesora nākamajai darbībai vai operācijām. Šie kešatmiņas līmeņi nodrošina, ka procesoram nav jāmeklē ļoti tālu, lai atrastu nākamo procesu, ietaupot daudz laika. Pirmais kešatmiņas atmiņas līmenis ir L1 kešatmiņa. Ja procesors nevar atrast nākamajam procesam vajadzīgos datus L1 kešatmiņā, tas meklē L2 kešatmiņu. L2 kešatmiņa ir lielāka atmiņā, bet ir lēnāka nekā L1 kešatmiņa.

Vienkodolu procesors

Ja procesors nevar atrast meklēto L2 kešatmiņā, tas turpina samazināties līdz līnijai L3 un, ja procesoram tas ir, L4. Pēc tam tas izskatīsies galvenajā atmiņā vai datora RAM.

Ir arī dažādi veidi, kā dažādi procesori apstrādā atšķirību kešatmiņu. Piemēram, daži dublē datus par L1 kešatmiņu L2 kešatmiņā, kas būtībā ir veids, kā nodrošināt, ka procesors var atrast to, ko meklē. Tas, protams, aizņem vairāk atmiņas L2 kešatmiņā.

Daudzkodolu procesoros tiek izmantoti arī dažādi kešatmiņas līmeņi. Parasti katram kodolam būs sava L1 kešatmiņa, bet viņi dalīs L2 kešatmiņu. Tas atšķiras no tā, ja būtu vairāki procesori, jo katram procesoram ir sava L1, L2 un jebkura cita līmeņa kešatmiņa. Izmantojot vairākus viena kodola procesorus, kešatmiņas kopīgošana vienkārši nav iespējama. Viena no galvenajām kopīgās kešatmiņas priekšrocībām ir spēja pilnībā izmantot kešatmiņu tāpēc, ka, ja viens kodols neizmanto kešatmiņu, otru var.

Vairāku kodolu procesorā, meklējot datus, kodols var meklēt caur savu unikālo L1 kešatmiņu un pēc tam sadalīties koplietotajā L2 kešatmiņā, RAM un, visbeidzot, cietajā diskā.

Iespējams, ka mēs turpināsim redzēt vairāk kodolu. Procesora pulksteņa ātrums, protams, turpinās pieaugt, kaut arī lēnāk nekā iepriekš. Lai gan tagad nav nekas neparasts redzēt astoņkodolu procesorus tādās lietās kā viedtālruņi, pietiekami drīz mēs varētu redzēt procesorus ar desmitiem kodolu.

Kur, jūsuprāt, nākamā ir daudzkodolu apstrādes tehnoloģija? Paziņojiet mums par to komentāros zemāk vai, uzsākot jaunu pavedienu mūsu kopienas forumā.

Viss par daudzkodolu procesoriem: kādi tie ir, kā darbojas un no kurienes nāk