11Aug

Zašto CPU jezgre imaju istu brzinu umjesto različitih?

click fraud protection

Ako ste ikada napravili mnogo usporedbenih kupovina za novi CPU, možda ste primijetili da sve jezgre izgleda imaju brzinu, a ne kombinaciju različitih. Zašto je to? Današnji SuperUser Q & A post ima odgovor na pitanje čudnog čitatelja.

Današnje pitanje &Sesija odgovora nam dolazi zahvaljujući SuperUseru - podjele Stack Exchange-a, grupiranjem zajednice Q & A web stranica.

Pitanje

SuperUser čitač Jamie želi znati zašto CPU jezgre imaju istu brzinu umjesto različitih:

Općenito, ako kupujete novo računalo, odredili biste koji procesor kupiti na temelju očekivanog posla za računalo, Izvedba u videoigrama obično se određuje jednostrukom brzinom, a aplikacije kao što su uređivanje videozapisa određuju broj jezgri.Što se tiče onoga što je dostupno na tržištu, čini se da svi CPU-ovi imaju otprilike jednaku brzinu s glavnim razlikama što su više niti ili više jezgri.

Na primjer:

  • Intel Core i5-7600K, osnovna frekvencija 3.80 GHz, 4 jezgre, 4 niti
  • Intel Core i7-7700K, osnovna frekvencija 4,20 GHz, 4 jezgre, 8 niti
  • instagram viewer
  • AMD Ryzen 5 1600X, osnovna frekvencija 3,60 GHz, 6jezgre, 12 niti
  • AMD Ryzen 7 1800X, osnovna frekvencija 3,60 GHz, 8 jezgri, 16 niti

Zašto vidimo ovaj uzorak povećanja jezgri, a sve jezgre imaju istu brzinu sata? Zašto nema inačica s različitim brzinama sata? Na primjer, dvije "velike" jezgre i mnoštvo malih jezgri.

Umjesto, recimo, četiri jezgre na 4,0 GHz( tj. 4 × 4 GHz, maksimum od 16 GHz), kako o CPU sa dvije jezgre koji rade na 4,0 GHz i četiri jezgre koji rade na 2,0 GHz( tj. 2 × 4,0 GHz + 4 ×2,0 GHz, maks. 16 GHz)?Hoće li druga opcija biti jednako dobra u jednokratnim radnim opterećenjima, ali je možda bolja u višestrukim opterećenjima?

postavljam ovo kao opće pitanje, a ne posebno glede gore navedenih procesora ili o bilo kojem određenom radnom opterećenju. Samo sam znatiželjan zašto je uzorak onakav kakav jest.

Zašto CPU jezgre imaju istu brzinu umjesto različitih?

Odgovor

SuperUser suradnik bwDraco ima odgovor za nas:

To je poznato kao heterogena višestruka obrada( HMP) i široko je usvojena od strane mobilnih uređaja. U uređajima koji rade na ARM-u koji implementiraju velik. LITTLE, procesor sadrži jezgre s različitim performansama i profilima snage, tj. Neke jezgre brzo pokreću, ali privlače mnogo snage( brže arhitekture i / ili više satove) dok su drugi energetski učinkoviti ali spor( sporije arhitekture i / ili niže satove).To je korisno jer se potrošnja energije povećava nerazmjerno dok povećavate performanse nakon što dosegnete određenu točku. Ideja je da dobijete izvedbu kada vam je potrebna i vijek trajanja baterije kada to ne učinite.

Na stolnim računalima, potrošnja energije znatno je manja, tako da to nije doista neophodno. Većina aplikacija očekuje da svaka jezgra ima slične karakteristike performansi, a raspoređivanje procesa za HMP sustave mnogo je složenije od raspoređivanja za tradicionalne simetrične višestruke( SMP) sustave( tehnički, Windows 10 ima podršku za HMP, ali je uglavnom namijenjen mobilnomuređaji koji upotrebljavaju ARM velik. LITTLE).

Također, većina desktop i laptop procesora danas nisu termički ili električki ograničeni na točku gdje neke jezgre trebaju raditi brže od drugih, čak i za kratke eksplozije. U osnovi smo pogodili zid o tome kako brzo možemo napraviti pojedinačne jezgre, pa zamjenjujući neke jezgre sporijim neće dopustiti preostale jezgre da se brže rade.

Iako postoji nekoliko procesora za stolno računalo koje imaju jednu ili dvije jezgre sposobne za brže prikazivanje od ostalih, ova je mogućnost trenutno ograničena na određene vrlo napredne Intelove procesore( poznat kao Turbo Boost Max Technology 3.0) i uključuje samo blagi dobitaku performansama za one jezgre koji se mogu izvoditi brže.

Iako je svakako moguće dizajnirati tradicionalni procesor x86 s velikim, brzim jezgrama i manjim, sporijim jezgrama da bi se optimiziralo za teško opterećene radne opterećenja, to bi dodalo znatnu složenost procesoru, a aplikacije vjerojatno neće pravilno podržavati.

Uzmite hipotetski procesor s dvije jezgre brzog jezera Kaby( 7. generacija) i osam uskih jezgara Goldmont( Atom).Imat ćete ukupno 10 jezgri, a opterećena opterećenja koja su optimizirana za ovu vrstu procesora mogu vidjeti dobitak u performansama i učinkovitosti od normalnog procesora jezgre četverojezgrenog jezera Kaby. Međutim, različite vrste jezgri imaju divlje različite razine izvedbe, a spore jezgre čak ne podržavaju neke od instrukcija koje podržavaju brze jezgre, kao što je AVX( ARM izbjegava taj problem zahtijevajući i velika i sitna jezgra da podržavaju iste upute).

Opet, većina aplikacija s više zaokreta temeljenih na sustavu Windows pretpostavlja da svaka jezgra ima istu ili gotovo istu razinu performansi i može izvršiti iste upute pa će takva vrsta asimetrije vjerojatno rezultirati performansama manje od idealne, moždačak i pad sustava ako upotrebljava upute koje ne podržavaju usporene jezgre. Iako bi Intel mogao modificirati polagane jezgre kako bi dodao naprednu podršku za upute, tako da sve jezgre mogu izvršiti sve upute, to ne bi riješilo probleme s programskom podrškom za heterogene procesore.

Drugi pristup dizajnu aplikacija, bliže onome što vjerojatno razmišljate o svom pitanju, koristit će GPU za ubrzavanje visoko paralelnih dijelova aplikacija. To se može učiniti pomoću API-ja kao što su OpenCL i CUDA.Što se tiče single-chip rješenja, AMD promiče hardversku podršku za ubrzanje GPU-a u svojim APU-ovima, koji kombinira tradicionalni procesor i integrirani GPU visokih performansi u isti čip, kao Heterogena sustavna arhitektura, iako to nije vidjelo puno prihvaćanja industrije izvanod nekoliko specijaliziranih aplikacija.

Imate li nešto za objašnjenje? Zvuči u komentarima.Želite li pročitati više odgovora od drugih tehnoloških korisnika Stack Exchangea? Pogledajte ovdje cijelu raspravu.

Slikovni kredit: Mirko Waltermann( Flickr)