11Aug

Kāpēc CPU kodoliem ir vienāds ātrums, nevis dažādi?

click fraud protection

Ja jūs kādreiz esat veikuši daudz salīdzinājumu, iepirkšanās jaunam CPU, iespējams, esat pamanījuši, ka visiem kodoliem, visticamāk, ir ātrums, nevis dažādu kombinācija. Kāpēc ir tā, ka?Šodienas SuperUser Q & amai ir atbilde uz ziņkārīgo lasītāja jautājumu.

Šodienas jautājums &Atbildes sesija mums priecājas par SuperUser - Stack Exchange, kas ir kopienas un Q & A tīmekļa vietņu grupa.

Jautājums

SuperUser lasītājs Jamie vēlas uzzināt, kāpēc CPU kodoliem ir vienāds ātrums, nevis dažādi:

Kopumā, ja jūs pērkat jaunu datoru, jūs varētu noteikt, kurš procesors nopirkt, pamatojoties uz paredzamo datora darba slodzi. Video spēļu veiktspēju parasti nosaka ar vienkāršu kodolu ātrumu, savukārt videoierakstu, piemēram, videoklipu rediģēšanas lietojumprogrammas tiek noteiktas pēc serdeņu skaita. Runājot par to, kas ir pieejams tirgū, šķiet, ka visiem CPU ir aptuveni tāds pats ātrums, jo galvenās atšķirības ir vairāk pavedienu vai vairāk kodolu.

Piemēram:

  • Intel Core i5-7600K, bāzes frekvence 3,80 GHz, 4 serdeņi, 4 vītnes
  • instagram viewer
  • Intel Core i7-7700K, bāzes frekvence 4,20 GHz, 4 serdes, 8 vītņi
  • AMD Ryzen 5 1600X, bāzes frekvence 3,60 GHz, 6serdes, 12 pavedieni
  • AMD Ryzen 7 1800X, bāzes frekvence 3,60 GHz, 8 serdeņi, 16 vītnes

Kāpēc mēs redzam šo pieaugošo serdeņu modeli, tomēr visi serdeņi ar tādu pašu pulksteņa ātrumu? Kāpēc nav variantu ar atšķirīgu pulksteņa ātrumu? Piemēram, divi "lielie" serdeņi un daudz mazu serdeņu.

Tā vietā, teiksim, četri serdeņi ar 4,0 GHz( ti, 4 × 4 GHz, maksimums 16 GHz), kā par CPU ar diviem serdeniem, kas darbojas ar 4,0 GHz, un četriem kodoliem, kas darbojas ar 2,0 GHz( ti, 2 × 4,0 GHz + 4 ×2.0 GHz, maksimālais 16 GHz)?Vai otrā opcija būtu tikpat laba vienā vītņotajā darba slodzē, bet, iespējams, labāka multi-threaded darba slodzēs?

Es to uzskatu par vispārīgu jautājumu, nevis tieši attiecībā uz iepriekš minētajiem CPU vai par kādu konkrētu darba slodzi. Man ir tikai interesanti, kāpēc modelis ir tas, kas tas ir.

Kāpēc CPU kodoliem visiem ir vienāds ātrums, nevis atšķirīgi?

Atbilde

SuperUser autoram bwDraco mums ir atbilde:

Šī ir pazīstama kā neviendabīga daudzprocess( HMP), un to plaši izmanto mobilās ierīces. Ar ARM balstītām ierīcēm, kas ievieš lielu lielumu. LITTLE, procesors satur serdeņus ar dažādiem veiktspējas un jaudas profiliem, ti, daži serdeņi darbojas ātri, bet daudz enerģijas( ātrāk arhitektūra un / vai augstāki pulksteņi), bet citi ir energoefektīvi, bet lēni( lēnāka arhitektūra un / vai zemāki pulksteņi).Tas ir noderīgi, jo jaudas izmantošana mēdz neproporcionāli palielināties, palielinot veiktspēju, kad nokļūstat noteiktā brīdī.Ideja šeit ir iegūt veiktspēju, kad tas ir nepieciešams, un akumulatora darbības laiku, ja jums tā nav.

Uz darbvirsmas platformām enerģijas patēriņš ir daudz mazāk problēmu, tāpēc tas nav patiesi nepieciešams. Lielākā daļa lietojumprogrammu paredz, ka katram kodolam ir līdzīgas veiktspējas īpašības, un HMP sistēmu plānošanas procesi ir daudz sarežģītāki par tradicionālajām simetriskām daudzprocesoru sistēmām( tehniski, Windows 10 atbalsta HMP, bet tas galvenokārt paredzēts mobilajiemierīces, kas izmanto ARM big. LITTLE).

Arī lielākā daļa galddatoru un klēpjdatoru procesoru šodien termiski vai elektriāli nav ierobežotas līdz vietai, kur dažiem kodoliem jāstrādā ātrāk nekā citi, pat īsiem pārrāvumiem. Mums ir būtiski jāsaskaras ar sienu, cik ātri mēs varam izgatavot atsevišķus serdeņus, tādēļ dažu kodolu aizstāšana ar lēnākiem procesiem neļaus atlikušajiem kodoliem darboties ātrāk.

Lai gan ir daži galddatoru procesori ar vienu vai diviem kodoliem, kas spēj darboties ātrāk nekā citi, šobrīd šī iespēja ir ierobežota ar dažiem ļoti augstas klases Intel procesoriem( pazīstams kā Turbo Boost Max Technology 3.0), un tas ietver tikai nelielu peļņuto veiktspēju tiem kodoliem, kas var darboties ātrāk.

Lai arī, protams, ir iespējams izstrādāt tradicionālu x86 procesoru ar lieliem, ātrajiem serdeņiem un maziem, lēnākiem serdeņiem, lai optimizētu lielu vītņu darba slodzi, tas varētu radīt ievērojamu sarežģītību procesoru dizainā, un, visticamāk, lietojumprogrammas to pienācīgi neatbalsta.

Veikt hipotētisku procesoru ar diviem ātrajiem Kaba ezera( 7. paaudzes) kodoliem un astoņiem lēniem Goldmont( Atom) serdeņiem. Jums būtu kopā 10 serdeņi, un ļoti vītņotiem darba slodzes, kas optimizētas šāda veida procesoriem, var uztvert veiktspējas un efektivitātes pieaugumu parastā četrkodolu procesora Kaby ezera laikā.Tomēr dažāda veida kodoliem ir pavisam atšķirīgi veiktspējas līmeņi, un lēni serdeņi pat neatbalsta dažus no norādījumiem, ko atbalsta ātras serdes, piemēram, AVX( ARM novērš šo problēmu, pieprasot, lai gan lielie, gan mazie serdeņi atbalstītu tādus pašus norādījumus)

Atkal lielākā daļa Windows balstītu vairāku vītņu pieteikumu pieņem, ka katram kodols ir tāds pats vai gandrīz tāds pats veiktspējas līmenis un var izpildīt tādus pašus norādījumus, tāpēc šāda veida asimetrija, visticamāk, var radīt ne-ideālu veiktspēju, iespējamspat avārijas, ja tas izmanto instrukcijas, ko neatbalsta lēnāki serdeņi. Kaut arī Intel varētu mainīt lēnos kodolus, lai pievienotu uzlabotu instrukciju atbalstu, lai visi serdeņi varētu izpildīt visas instrukcijas, tas neatrisinātu problēmas ar programmatūras atbalstu neviendabīgiem procesoriem.

Cita pieeja lietojumprogrammu izstrādei, kas ir tuvāk tam, ko jūs domājat par savu jautājumu, varētu izmantot GPU, lai paātrinātu ļoti paralēlu pieteikumu daļu. To var izdarīt, izmantojot API, piemēram, OpenCL un CUDA.Attiecībā uz viena mikroshēmu risinājumu AMD veicina aparatūras atbalstu GPU paātrināšanai tā APU, kas apvieno tradicionālo CPU un augstas veiktspējas integrēto GPU vienā un tajā pašā mikroshēmā, kā Heterogēna sistēmas arhitektūra, lai gan tā neredzēja daudz nozares uzplaukuma ārpusno dažiem specializētiem lietojumiem.

Vai kaut kas jāpievieno paskaidrojumam? Skatieties komentāros. Vēlaties lasīt citas atbildes no citiem tehnoloģiju savvy Stack Exchange lietotājiem?Šeit skatiet pilnu diskusiju pavedienu.

attēla kredīts: Mirko Waltermann( Flickr)