kancboom.ru

Na šta utiče broj jezgara? Multi-Core vs. Višejezgarni, ili Zašto su nam potrebni mikroprocesori s više jezgara? Kako odabrati procesor s više jezgara i ne pogriješiti

  • Tutorial

U ovom članku pokušaću da opišem terminologiju koja se koristi za opisivanje sistema koji mogu da izvršavaju nekoliko programa paralelno, to jest, višejezgarni, višeprocesorski, višenitni. Različiti tipovi paralelizma pojavili su se u IA-32 CPU-u u različito vrijeme i pomalo nedosljednim redoslijedom. Lako se zbuniti u svemu tome, posebno ako se uzme u obzir da operativni sistemi pažljivo skrivaju detalje od manje sofisticiranih aplikativnih programa.

Svrha članka je pokazati da se uz svu raznolikost mogućih konfiguracija višeprocesorskih, višejezgrenih i višenitnih sistema stvaraju mogućnosti za programe koji se na njima pokreću kako za apstrakciju (zanemarujući razlike) tako i za uzimanje u obzir specifičnosti ( mogućnost programskog pronalaženja konfiguracije).

Upozorenje o znakovima ®, ™ u članku

Moj komentar objašnjava zašto bi zaposleni u kompaniji trebali koristiti napomene o autorskim pravima u javnim komunikacijama. U ovom članku morao sam ih često koristiti.

CPU

Naravno, najstariji, najčešće korišteni i kontroverzni termin je “procesor”.

U savremenom svetu, procesor je nešto što kupujemo u prelepoj maloprodajnoj kutiji ili ne baš lepom OEM pakovanju. Nedjeljiv entitet umetnut u utičnicu na matičnoj ploči. Čak i ako nema konektora i ne može se ukloniti, odnosno ako je čvrsto zalemljen, to je jedan čip.

Mobilni sistemi (telefoni, tableti, laptopi) i većina desktop računara imaju jedan procesor. Radne stanice i serveri ponekad imaju dva ili više procesora na jednoj matičnoj ploči.

Podržavanje više CPU-a u jednom sistemu zahtijeva brojne promjene dizajna. U najmanju ruku, potrebno je osigurati njihovu fizičku vezu (obezbediti nekoliko utičnica na matičnoj ploči), riješiti probleme identifikacije procesora (vidi dalje u ovom članku, kao i moju prethodnu napomenu), koordinaciju pristupa memoriji i prekid isporuke ( kontroler prekida mora biti u stanju da usmjeri prekide za nekoliko procesora) i, naravno, podršku operativnog sistema. Nažalost, nisam uspio pronaći dokumentarni pomen stvaranja prvog višeprocesorskog sistema na Intel procesorima, ali Wikipedia tvrdi da ih je Sequent Computer Systems isporučio već 1987. godine, koristeći procesore Intel 80386. Podrška za više čipova u jednom sistemu postaje sve raširenija, počevši od Intel® Pentiuma.

Ako postoji nekoliko procesora, onda svaki od njih ima svoj konektor na ploči. Svaki od njih ima potpune nezavisne kopije svih resursa, kao što su registri, izvršni uređaji, keš memorije. Oni dijele zajedničku memoriju - RAM. S njima se pamćenje može povezati na različite i prilično netrivijalne načine, ali ovo je posebna priča izvan okvira ovog članka. Važno je da u svakom slučaju za izvršne programe treba stvoriti iluziju homogene dijeljene memorije dostupnoj svim procesorima uključenim u sistem.


Spremni za polijetanje! Intel® ploča za desktop računare D5400XS

Core

Istorijski gledano, višejezgarni procesori u Intel IA-32 pojavili su se kasnije od Intel® HyperThreadinga, ali u logičkoj hijerarhiji dolazi na red.

Čini se da ako sistem ima više procesora, onda su njegove performanse veće (na zadacima koji mogu koristiti sve resurse). Međutim, ako je cijena komunikacije između njih previsoka, onda se svi dobici od paralelizma ubijaju dugim kašnjenjima za prijenos zajedničkih podataka. To je upravo ono što se uočava u višeprocesorskim sistemima - i fizički i logički su veoma udaljeni jedan od drugog. Za efikasnu komunikaciju u ovakvim uslovima potrebno je osmisliti specijalizovane magistrale, kao što je Intel® QuickPath Interconnect. Potrošnja energije, veličina i cijena konačnog rješenja, naravno, ne umanjuju sve ovo. Visoka integracija komponenti bi trebala priskočiti u pomoć - kola koja izvršavaju dijelove paralelnog programa moraju se približiti jedno drugom, po mogućnosti na jednom čipu. Drugim riječima, jedan procesor bi trebao organizirati nekoliko jezgra, identični jedni drugima u svemu, ali rade nezavisno.

Prvi Intelovi procesori IA-32 sa više jezgara predstavljeni su 2005. godine. Od tada, prosječan broj jezgara na serverskim, desktop, a sada i mobilnim platformama stalno raste.

Za razliku od dva procesora s jednom jezgrom na istom sistemu koji dijele samo memoriju, dvije jezgre također mogu dijeliti keš memorije i druge resurse povezane s memorijom. Keš memorije prvog nivoa najčešće ostaju privatne (svako jezgro ima svoje), dok drugi i treći nivo mogu biti zajednički ili odvojeni. Ova organizacija sistema vam omogućava da smanjite kašnjenja isporuke podataka između susednih jezgara, posebno ako rade na zajedničkom zadatku.


Mikrofotografija četverojezgrenog Intelovog procesora kodnog naziva Nehalem. Odvojene jezgre, zajednička keš memorija trećeg nivoa, kao i QPI veze sa drugim procesorima i zajedničkim memorijskim kontrolerom su dodeljene.

Hyperthread

Do otprilike 2002., jedini način da se dobije IA-32 sistem sposoban za paralelno pokretanje dva ili više programa bio je korištenje višeprocesorskih sistema. Intel® Pentium® 4, kao i Xeon linija kodnog naziva Foster (Netburst), predstavili su novu tehnologiju - hipernit ili hipernit - Intel® HyperThreading (u daljem tekstu HT).

Nema ničeg novog pod suncem. HT je poseban slučaj onoga što se u literaturi naziva simultano višenitnost (SMT). Za razliku od “pravih” jezgri, koje su potpune i nezavisne kopije, u slučaju HT-a, samo dio internih čvorova, prvenstveno odgovornih za pohranjivanje arhitektonskog stanja – registara, dupliciran je u jednom procesoru. Izvršni čvorovi odgovorni za organiziranje i obradu podataka ostaju jedinstveni i u svakom trenutku ih koristi najviše jedna od niti. Kao i jezgra, hipernitovi dijele keš memorije, ali na kojem nivou ovisi o specifičnom sistemu.

Neću pokušavati objasniti sve prednosti i nedostatke SMT dizajna općenito, a posebno HT dizajna. Zainteresovani čitalac može pronaći prilično detaljnu raspravu o tehnologiji u mnogim izvorima, i, naravno, na Wikipediji. Međutim, primijetit ću sljedeću važnu točku, koja objašnjava trenutna ograničenja broja hipernitova u stvarnim proizvodima.

Ograničenja niti
U kojim slučajevima je opravdana prisutnost “nepoštenih” višejezgri u obliku HT-a? Ako jedna nit aplikacije nije u mogućnosti učitati sve izvršne čvorove unutar kernela, onda se oni mogu "posuditi" drugoj niti. Ovo je tipično za aplikacije koje imaju usko grlo ne u računanju, već u pristupu podacima, odnosno često generišu promašaje keša i moraju čekati da se podaci isporuče iz memorije. Za to vrijeme, jezgra bez HT-a će biti prisiljena na mirovanje. Prisustvo HT-a vam omogućava da brzo prebacite slobodne izvršne čvorove u drugo arhitektonsko stanje (pošto je duplicirano) i izvršite njegove instrukcije. Ovo je poseban slučaj tehnike koja se zove skrivanje kašnjenja, kada je jedna duga operacija, tokom koje su korisni resursi neaktivni, maskirana paralelnim izvršavanjem drugih zadataka. Ako aplikacija već ima visok stepen iskorišćenosti resursa kernela, prisustvo hipernitova neće dozvoliti ubrzanje - ovde su potrebna „poštena“ jezgra.

Tipični scenariji za desktop i serverske aplikacije dizajnirane za strojne arhitekture opće namjene imaju potencijal za paralelizam implementiran pomoću HT-a. Međutim, ovaj potencijal se brzo troši. Možda iz tog razloga, na gotovo svim IA-32 procesorima broj hardverskih hipernitova ne prelazi dva. U tipičnim scenarijima, dobitak od korištenja tri ili više hipernitova bi bio mali, ali je gubitak u veličini matrice, potrošnji energije i cijeni značajan.

Drugačija situacija je uočena u tipičnim zadacima koji se obavljaju na video akceleratorima. Stoga ove arhitekture karakteriše upotreba SMT tehnologije sa većim brojem niti. Budući da su Intel® Xeon Phi koprocesori (uvedeni 2010.) ideološki i genealoški prilično bliski video karticama, možda imaju četiri hiperthreading na svakom jezgru - konfiguracija jedinstvena za IA-32.

Logički procesor

Od tri opisana „nivoa“ paralelizma (procesori, jezgra, hipernitovi), neki ili čak svi možda nedostaju u određenom sistemu. Na to utiču postavke BIOS-a (višejezgarni i višenitni su onemogućeni nezavisno), karakteristike mikroarhitekture (na primjer, HT je bio odsutan u Intel® Core™ Duo, ali je vraćen izdanjem Nehalema) i sistemski događaji (višestruko procesorski serveri mogu isključiti neispravne procesore ako se otkriju greške i nastaviti da „lete“ na preostalim). Kako je ovaj višeslojni zoološki vrt istovremeno vidljiv za operativni sistem i, konačno, za aplikacije?

Nadalje, radi praktičnosti, broj procesora, jezgri i niti u određenom sistemu označavamo sa tri ( x, y, z), Gdje x je broj procesora, y- broj jezgara u svakom procesoru, i z- broj hipernitova u svakom jezgru. Od sada ću zvati ovo troje topologija- ustaljeni termin koji nema mnogo veze sa granom matematike. Posao str = xyz definira broj pozvanih entiteta logičkih procesora sistemima. Definira ukupan broj nezavisnih konteksta aplikativnih procesa na sistemu dijeljene memorije, koji se izvršavaju paralelno, koje je operativni sistem primoran da uzme u obzir. Kažem "prisilno" jer ne može kontrolirati redoslijed izvršenja dva procesa na različitim logičkim procesorima. Ovo se takođe odnosi i na hipernitove: iako se pokreću „uzastopno” na istoj jezgri, određeni redosled diktira hardver i ne može se posmatrati ili kontrolisati programima.

Operativni sistem najčešće skriva od krajnjih aplikacija karakteristike fizičke topologije sistema na kojem radi. Na primjer, sljedeće tri topologije: (2, 1, 1), (1, 2, 1) i (1, 1, 2) - OS će predstavljati dva logička procesora, iako prvi od njih ima dva procesora, drugi - dvije jezgre, a treći - samo dvije niti.


Windows Task Manager prikazuje 8 logičkih procesora; ali koliko je to u procesorima, jezgrima i hipernitovima?


Linux vrh prikazuje 4 logička procesora.

Ovo je prilično zgodno za kreatore aplikacija - oni ne moraju da se bave hardverskim karakteristikama koje su im često nevažne.

Softverska definicija topologije

Naravno, apstrahovanje topologije u jedan broj logičkih procesora u nekim slučajevima stvara dovoljno osnova za zabunu i nesporazume (u žestokim internet sporovima). Računarske aplikacije koje žele da izvuku maksimalne performanse iz hardvera zahtevaju detaljnu kontrolu nad tim gde će njihove niti biti postavljene: bliže jedna drugoj na susednim hipernitovima ili, obrnuto, dalje na različitim procesorima. Brzina komunikacije između logičkih procesora unutar iste jezgre ili procesora je mnogo veća od brzine prijenosa podataka između procesora. Mogućnost heterogenosti u organizaciji radne memorije takođe komplikuje sliku.

Informacije o topologiji sistema kao celine, kao io poziciji svakog logičkog procesora u IA-32, dostupne su korišćenjem CPUID instrukcije. Od pojave prvih višeprocesorskih sistema, šema logičke identifikacije procesora je nekoliko puta proširena. Do danas su njegovi dijelovi sadržani u listovima 1, 4 i 11 CPUID-a. Koji list treba pogledati može se odrediti iz sljedećeg dijagrama toka preuzetog iz članka:

Neću vas ovdje zamarati svim detaljima pojedinih dijelova ovog algoritma. Ako postoji interes, tome se može posvetiti sljedeći dio ovog članka. Uputiću zainteresovanog čitaoca, koji ovo pitanje ispituje što je moguće detaljnije. Ovdje ću prvo ukratko opisati šta je APIC i kako je on povezan s topologijom. Zatim ćemo pogledati rad sa 0xB listom (jedanaest u decimali), koji je trenutno posljednja riječ u "apico-buildingu".

APIC ID
Lokalni APIC (napredni programabilni kontroler prekida) je uređaj (sada dio procesora) odgovoran za rukovanje prekidima koji dolaze do određenog logičkog procesora. Svaki logički procesor ima svoj APIC. I svaki od njih u sistemu mora imati jedinstvenu APIC ID vrijednost. Ovaj broj koriste kontroleri prekida za adresiranje prilikom isporuke poruka, a svi ostali (na primjer, operativni sistem) za identifikaciju logičkih procesora. Specifikacija za ovaj kontroler prekida je evoluirala od Intel 8259 PIC preko Dual PIC, APIC i xAPIC do x2APIC.

Trenutno je širina broja pohranjenog u APIC ID-u dostigla puna 32 bita, iako je u prošlosti bila ograničena na 16, a još ranije - samo 8 bita. Danas su ostaci starih dana raštrkani po CPUID-u, ali CPUID.0xB.EDX vraća sva 32 bita APIC ID-a. Na svakom logičkom procesoru koji nezavisno izvršava CPUID instrukciju, bit će vraćena druga vrijednost.

Razjašnjenje porodičnih veza
Sama vrijednost APIC ID-a ne govori vam ništa o topologiji. Da biste saznali koja se dva logička procesora nalaze unutar jednog fizičkog procesora (tj. oni su "braća" hipernit), koja su dva unutar istog procesora, a koji su potpuno različiti procesori, potrebno je uporediti njihove APIC ID vrijednosti. U zavisnosti od stepena veze, neki od njihovih bitova će se poklopiti. Ove informacije su sadržane u podlistama CPUID.0xB, koje su operand kodirane u ECX. Svaki od njih opisuje poziciju bitovskog polja jednog od nivoa topologije u EAX-u (tačnije, broj bitova koji je potrebno pomaknuti udesno u APIC ID-u da bi se uklonili niži nivoi topologije), kao i tip ovog nivoa - hipernit, jezgra ili procesor - u ECX-u.

Logički procesori koji se nalaze unutar istog jezgra imat će iste sve APIC ID bitove, osim onih koji pripadaju SMT polju. Za logičke procesore koji se nalaze u istom procesoru, svi bitovi osim polja Core i SMT. Pošto broj podlistova za CPUID.0xB može da raste, ova šema će nam omogućiti da podržimo opis topologija sa većim brojem nivoa, ako se za to ukaže potreba u budućnosti. Štaviše, biće moguće uvesti srednje nivoe između postojećih.

Važna posljedica organizacije ove šeme je da mogu postojati „rupe“ u skupu svih APIC ID-ova svih logičkih procesora u sistemu, tj. neće ići uzastopno. Na primjer, u višejezgrenom procesoru s isključenim HT-om, svi APIC ID-ovi mogu ispasti parni, budući da će bit najmanjeg značaja koji je odgovoran za kodiranje hipernitnog broja uvijek biti nula.

Napominjem da CPUID.0xB nije jedini izvor informacija o logičkim procesorima dostupnim operativnom sistemu. Lista svih procesora koji su mu dostupni, zajedno sa njihovim APIC ID vrijednostima, je kodirana u MADT ACPI tabeli.

Operativni sistemi i topologija

Operativni sistemi pružaju informacije o topologiji logičkih procesora aplikacijama koje koriste vlastita sučelja.

Na Linuxu, informacije o topologiji sadržane su u /proc/cpuinfo pseudofile kao i izlaz naredbe dmidecode. U primjeru ispod, filtriram sadržaj cpuinfo na nekom četverojezgrenom sistemu bez HT-a, ostavljajući samo unose koji se odnose na topologiju:

Skriveni tekst

ggg@shadowbox:~$ cat /proc/cpuinfo |grep "processor\|physical\ id\|siblings\|core\|cores\|apicid" procesor: 0 fizički id: 0 braće i sestara: 4 core id: 0 jezgri procesora: 2 apicid: 0 početni apicid: 0 procesor: 1 fizički id: 0 braće i sestara: 4 id jezgre: 0 jezgra procesora: 2 apicid: 1 početni apicid: 1 procesor: 2 fizički id: 0 braće i sestara: 4 id jezgre: 1 jezgra procesora: 2 apicid: 2 početni apicid: 2 procesor: 3 fizički id: 0 braće i sestara: 4 core id: 1 jezgra procesora: 2 apicid: 3 početni apicid: 3

Na FreeBSD-u, topologija se izvještava putem sysctl mehanizma u varijabli kern.sched.topology_spec kao XML:

Skriveni tekst

user@host:~$ sysctl kern.sched.topology_spec kern.sched.topology_spec: 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7 0, 1 THREAD grupaSMT grupa 2, 3 THREAD grupaSMT grupa 4, 5 THREAD grupaSMT grupa 6, 7 THREAD grupaSMT grupa

U MS Windows 8, informacije o topologiji mogu se vidjeti u Task Manageru.

Otkrili smo neprijatan problem sa ograničenjem sata. Nakon što su dostigli prag od 3 GHz, programeri su se suočili sa značajnim povećanjem potrošnje energije i rasipanje topline svojih proizvoda. Nivo tehnologije 2004. godine nije dozvolio značajno smanjenje veličine tranzistora u silicijumskom kristalu, a izlaz iz ove situacije bio je pokušaj da se ne povećavaju frekvencije, već da se poveća broj operacija koje se izvode po ciklusu takta. Nakon usvajanja iskustva serverskih platformi, gdje je višeprocesorski raspored već bio testiran, odlučeno je da se kombinuju dva procesora na jednom čipu.

Od tada je prošlo mnogo vremena; CPU-i sa dva, tri, četiri, šest pa čak i osam jezgara postali su široko dostupni. Ali glavni tržišni udio i dalje zauzimaju 2 i 4-jezgarni modeli. AMD pokušava promijeniti situaciju, ali njihova Bulldozer arhitektura nije opravdala očekivanja, a niskobudžetni osmojezgarni procesori još uvijek nisu baš popularni u svijetu. Stoga je pitanješto je bolje: procesor sa 2 ili 4 jezgra, i dalje ostaje relevantan.

Razlika između procesora sa 2 i 4 jezgra

Na nivou hardveraglavna razlika između 2-jezgrenog i 4-jezgrenog procesora– broj funkcionalnih blokova. Svaka jezgra je u suštini zaseban CPU opremljen sopstvenim računarskim čvorovima. 2 ili 4 takva CPU-a su međusobno povezana internom magistralom velike brzine i zajedničkim memorijskim kontrolerom za interakciju sa RAM-om. Druge funkcionalne jedinice također mogu biti uobičajene: većina modernih CPU-a ima individualnu keš memoriju prvog (L1) i drugog (L2) nivoa, blokove cjelobrojnih izračunavanja i operacije s pomičnim zarezom. L3 keš memorija, koja ima relativno veliku veličinu, je jedna i dostupna je svim jezgrama. Zasebno, možemo primijetiti već spomenuti AMD FX (kao i Athlon CPU i A-serije APU): zajednički im je ne samo keš memorija i kontroler, već i jedinice za izračunavanje s pomičnim zarezom: svaki takav modul istovremeno pripada dva jezgra.

AMD Athlon quad-core procesor dijagram

Sa korisničke tačke gledištarazlika između procesora sa 2 i 4 jezgraje broj zadataka koje CPU može obraditi u jednom ciklusu takta. Sa istom arhitekturom, teoretska razlika će biti 2 puta za 2 i 4 jezgra ili 4 puta za 2 i 8 jezgara, respektivno. Dakle, kada se nekoliko procesa izvodi istovremeno, povećanje broja bi trebalo da dovede do povećanja performansi sistema. Na kraju krajeva, umjesto 2 operacije, četverojezgreni CPU će moći izvršiti četiri odjednom.

Šta objašnjava popularnost procesora sa dva jezgra?

Čini se da ako povećanje broja jezgara povlači i povećanje performansi, onda u poređenju sa modelima sa četiri, šest ili osam jezgara, dvojezgreni procesori nemaju šanse. Međutim, svjetski lider na tržištu procesora, Intel, svake godine ažurira svoj asortiman proizvoda i objavljuje nove modele sa samo nekoliko jezgara (Core i3, Celeron, Pentium). I to je u pozadini činjenice da čak i na pametnim telefonima i tabletima korisnici gledaju na takve CPU s nepovjerenjem ili prezirom. Da biste razumjeli zašto su najpopularniji modeli procesori s dvije jezgre, trebali biste razmotriti nekoliko ključnih faktora.

Intel Core i3 - najpopularniji 2-jezgarni procesori za kućne računare

Problem kompatibilnosti. Prilikom kreiranja softvera, programeri nastoje osigurati da on može funkcionirati i na novim računarima i na postojećim CPU i GPU modelima. Uzimajući u obzir raspon na tržištu, važno je osigurati da igra radi normalno na dvije jezgre i na osam. Većina svih postojećih kućnih računara opremljena je procesorom sa dva jezgra, pa se podrška za takve računare posvećuje najviše pažnje.

Poteškoće u paraleliziranju zadataka. Da bi se osigurala efikasna upotreba svih jezgara, kalkulacije koje se izvode dok program radi treba podijeliti na jednake niti. Na primjer, zadatak koji može optimalno koristiti sve jezgre dodjeljivanjem jednog ili dva procesa svakom od njih je istovremena kompresija nekoliko video zapisa. S igrama je teže, jer su sve operacije koje se u njima izvode međusobno povezane. Unatoč činjenici da glavni posao obavlja grafički procesor video kartice, CPU je taj koji priprema informacije za generiranje 3D slike. Prilično je teško natjerati da svaka jezgra obrađuje svoj vlastiti dio podataka, a zatim ih unosi u GPU sinhrono s ostalima. Što više istovremenih tokova računanja treba obraditi, to je teža implementacija zadatka.

Kontinuitet tehnologija. Programeri softvera koriste postojeće razvoje za svoje nove projekte, koji su podložni stalnoj modernizaciji. U nekim slučajevima dolazi do toga da takve tehnologije sežu 10-15 godina unazad. Razvoj zasnovan na desetogodišnjem projektu podleže radikalnoj preradi za idealnu optimizaciju vrlo nevoljko, ako ne i uopšte. Kao rezultat toga, postoji nemogućnost softvera da racionalno koristi hardverske mogućnosti računara. Igra S.T.A.L.K.E.R. Call of Pripyat, objavljen 2009. (u vrijeme vrhunca višejezgrenih CPU-a), izgrađen je na motoru iz 2001. i stoga ne može učitati više od jedne jezgre.

S.T.A.L.K.E.R. u potpunosti koristi samo jednu jezgru od 4-jezgrenog CPU-a

Ista je situacija i sa popularnim online RPG-om World of Tanks: motor Big World na kojem se zasniva nastao je 2005. godine, kada se višejezgarni procesori još nisu smatrali jedinim mogućim razvojnim putem.

World of Tanks također ne zna kako ravnomjerno rasporediti opterećenje na jezgre

Finansijske poteškoće. Posljedica ovog problema je prethodna tačka. Ako svaku aplikaciju kreirate od nule, bez korištenja postojećih tehnologija, njena implementacija će koštati enormne svote. Na primjer, troškovi razvoja GTA V bili su više od 200 miliona dolara. Istovremeno, neke tehnologije još uvijek nisu kreirane „od nule“, već su posuđene iz prethodnih projekata, budući da je igra napisana za 5 platformi odjednom (Sony PS3, PS4, Xbox 360 i One, kao i PC).

GTA V je optimiziran za više jezgara i može ravnomjerno opteretiti procesor

Sve ove nijanse ne dopuštaju nam da u potpunosti iskoristimo potencijal višejezgrenih procesora u praksi. Međuzavisnost proizvođača hardvera i programera softvera stvara začarani krug.

Koji je procesor bolji: 2 ili 4 jezgra

Očigledno je da uprkos svim prednostima, potencijal višejezgrenih procesora i dalje ostaje nerealizovan. Neki zadaci ne znaju kako ravnomjerno rasporediti opterećenje i rad u jednoj niti, drugi to rade osrednjom efikasnošću, a samo mali dio softvera u potpunosti komunicira sa svim jezgrama. Stoga je pitanjekoji je procesor bolji, 2 ili 4 jezgra, kupiti, zahtijeva pažljivo proučavanje trenutne situacije.

Na tržištu postoje proizvodi dva proizvođača: Intel i AMD, koji se razlikuju po karakteristikama implementacije. Napredni mikro uređaji se tradicionalno fokusiraju na više jezgara, dok Intel nerado poduzima takav korak i povećava broj jezgara samo ako to ne dovede do smanjenja specifičnih performansi po jezgri (što je vrlo teško izbjeći).

Povećanje broja jezgara smanjuje konačne performanse svakog od njih

Po pravilu, ukupne teorijske i praktične performanse višejezgrenog CPU-a su niže od sličnog (izgrađenog na istoj mikroarhitekturi, sa istim tehničkim procesorom) sa jednom jezgrom. To je zbog činjenice da jezgra koriste zajedničke resurse, a to nema najbolji učinak na performanse. Dakle, ne možete jednostavno kupiti moćan procesor sa četiri ili šest jezgara uz očekivanje da definitivno neće biti slabiji od dvojezgrenog procesora iz iste serije. U nekim situacijama će biti, i to će biti primjetno. Primer je pokretanje starih igara na računaru sa osmojezgarnim AMD FX procesorom: FPS je ponekad niži nego na sličnom računaru sa četvorojezgarnim CPU-om.

Da li je danas potrebno više jezgara?

Da li to znači da mnogo jezgara nije potrebno? Uprkos činjenici da zaključak izgleda logičan, nije. Lagani svakodnevni zadaci (kao što je surfanje internetom ili pokretanje više programa odjednom) pozitivno reaguju na povećanje broja procesorskih jezgara. Upravo iz tog razloga proizvođači pametnih telefona se fokusiraju na količinu, ostavljajući za sobom specifične performanse. Opera (i drugi pretraživači bazirani na Chromium motoru), Firefox pokreće svaku otvorenu karticu kao poseban proces, odnosno što je više jezgri, to je prijelaz između kartica brži. Upravljači datotekama, uredski programi, plejeri - sami po sebi nisu zahtjevni za resurse. Ali ako morate često da prelazite između njih, procesor sa više jezgara će poboljšati performanse sistema.

Opera pretraživač svakoj kartici dodeljuje poseban proces

Intel je toga svjestan, jer se tehnologija HuperThreading, koja omogućava jezgri da obradi drugu nit koristeći neiskorištene resurse, pojavila još u danima Pentiuma 4. Ali ne nadoknađuje u potpunosti nedostatak performansi.

U Task Manageru, 2-jezgarni procesor sa Huper Threading-om pojavljuje se kao 4-jezgarni procesor

U međuvremenu, kreatori igara postepeno sustižu korak. Pojava novih generacija Sony Play Station i Microsoft Xbox konzola stimulisala je programere da posvete više pažnje mogućnostima sa više jezgara. Obe konzole su bazirane na osmojezgarnim AMD čipovima, tako da sada programeri ne moraju da troše mnogo truda na optimizaciju prilikom prenosa igre na računar. Uz rastuću popularnost ovih konzola, oni koji su bili razočarani kupovinom AMD FX 8xxx mogli su odahnuti. Višejezgarni procesori intenzivno osvajaju pozicije na tržištu, što se može vidjeti u recenzijama.

Broj procesorskih jezgara laptopa utiče na potražnju. Mnogi kupci obraćaju veliku pažnju na ovu karakteristiku, vodeći se principom „što više jezgri, to je laptop brži i produktivniji“. Ali ova formula nije uvijek tačna.

Prema stručnjacima u Foxtrot online prodavnici, moćni višejezgarni procesor otkriva svoj puni potencijal samo kada radi sa teškim 3D igrama i resursno intenzivnim inženjering/dizajnerskim programima. U drugim slučajevima, korisnik ne osjeća značajno povećanje brzine, jer procesor radi samo na pola kapaciteta.

Performanse četverojezgrenog procesora

Najproduktivniji laptop za igranje je onaj opremljen procesorom sa 4 jezgra. Ali postoji i konkurencija među 4-jezgarnim procesorima: neki CPU modeli se nose sa svojim zadacima mnogo brže od drugih.

Razlika u performansama se objašnjava ne samo brojem jezgara, već i drugim karakteristikama procesora - brzinom takta, procesnom tehnologijom, brojem niti, keš memorijom i frekvencijom sistemske magistrale.

Vizuelne razlike između procesora sa istim brojem jezgara demonstriraju se pomoću posebnih testova (benchmarkova), čiji su rezultati predstavljeni u obliku bodova. Intel Core i7 i Core i5 procesori postižu maksimalan broj poena. Procesori porodice AMD dobijaju upola manje bodova.

Superiornost Intelovih proizvoda delimično se objašnjava upotrebom vlasničke Hyper-Threading tehnologije, koja konvencionalno deli svako fizičko jezgro na dva virtuelna. Kao rezultat toga, laptop sa 4 jezgre, koji ima procesor sa 4/8 arhitekturom, paralelno obrađuje 8 tokova podataka, što pozitivno utiče na njegovu brzinu.

Savjet: Prilikom odabira laptopa za igre, dajte prednost modelima sa Core i7 ili i5 procesorima koji podržavaju Hyper-Threading tehnologiju.

Kada 4 jezgra nisu potrebna

Broj procesorskih jezgara utiče na cijenu laptopa. Vrijedi li preplatiti ogroman potencijal CPU-a ako ova snaga nije tražena?

4-jezgarni procesor će raditi na pola kapaciteta ako:

  • korisnik radi s jednostavnim aplikacijama i igrama koje nisu dizajnirane za paralelno računanje;
  • Laptop se koristi za obavljanje jednostavnih zadataka - rad sa uredskim aplikacijama, surfanje internetom, komunikacija na društvenim mrežama.

Laptop sa 2-jezgrenim Intel ili AMD procesorom ima niz prednosti u odnosu na moćniji laptop:

  • duža autonomija zbog skromne potrošnje energije;
  • niža cijena laptopa;
  • rad sa 4 niti (Intel Core modeli sa Hyper-Threading tehnologijom).

Usput: performanse laptopa ne zavise samo od procesora. Značajnu ulogu imaju video kartica i RAM (zapremina od najmanje 4 GB).

Kada kupuju procesor, mnogi ljudi pokušavaju da izaberu nešto hladnije, sa nekoliko jezgara i velikom brzinom takta. Ali malo ljudi zna na šta zapravo utiče broj procesorskih jezgara. Zašto, na primjer, običan i jednostavan dvojezgreni procesor može biti brži od četverojezgrenog procesora, ili isti "posto" sa 4 jezgra može biti brži od "procenta" sa 8 jezgara. Ovo je prilično zanimljiva tema koju svakako vrijedi detaljnije razumjeti.

Uvod

Pre nego što počnemo da razumemo na šta utiče broj procesorskih jezgara, želeo bih da napravim malu digresiju. Prije samo nekoliko godina, CPU programeri su bili uvjereni da će im proizvodne tehnologije, koje se tako brzo razvijaju, omogućiti proizvodnju "kamenja" sa taktovima do 10 GHz, što bi omogućilo korisnicima da zaborave na probleme sa lošim performansama. Međutim, uspjeh nije postignut.

Bez obzira na to kako se razvijao tehnološki proces, i Intel i AMD su naišli na čisto fizička ograničenja koja im jednostavno nisu dozvoljavala da proizvode procesore sa frekvencijom takta do 10 GHz. Tada je odlučeno da se fokusiramo ne na frekvencije, već na broj jezgara. Tako je nova rasa počela proizvoditi moćnije i produktivnije procesorske "kristale", što traje do danas, ali ne tako aktivno kao što je bilo u početku.

Intel i AMD procesori

Danas su Intel i AMD direktni konkurenti na tržištu procesora. Kada se gledaju prihodi i prodaja, Plavi imaju jasnu prednost, iako se Crveni u posljednje vrijeme teško drže. Obe kompanije imaju dobar asortiman gotovih rešenja za sve prilike – od jednostavnog procesora sa 1-2 jezgra do pravih čudovišta sa više od 8 jezgara. Obično se takvi „kamenčići“ koriste na specijalnim radnim „računarima“ koji imaju uski fokus.

Intel

Dakle, danas Intel ima uspješnih 5 tipova procesora: Celeron, Pentium i i7. Svaki od ovih "kamenja" ima različit broj jezgara i dizajniran je za različite zadatke. Na primjer, Celeron ima samo 2 jezgra i koristi se uglavnom na uredskim i kućnim računarima. Pentium, ili, kako ga još nazivaju, “panj” se takođe koristi kod kuće, ali već ima mnogo bolje performanse, prvenstveno zahvaljujući Hyper-Threading tehnologiji, koja na fizička dva jezgra “dodaje” još dva virtuelna jezgra, što se nazivaju niti. Dakle, dual-core “posto” radi kao najisplativiji četverojezgreni procesor, iako to nije sasvim tačno, ali ovo je glavna stvar.

Što se tiče Core linije, situacija je otprilike ista. Mlađi model sa brojem 3 ima 2 jezgra i 2 niti. Starija linija - Core i5 - već ima punopravne 4 ili 6 jezgri, ali joj nedostaje Hyper-Threading funkcija i nema dodatnih niti, osim 4-6 standardnih. Pa, posljednja stvar - core i7 - to su vrhunski procesori, koji u pravilu imaju od 4 do 6 jezgri i dvostruko više niti, odnosno, na primjer, 4 jezgre i 8 niti ili 6 jezgri i 12 niti .

AMD

Sada vrijedi razgovarati o AMD-u. Lista "kamenčića" ove kompanije je ogromna, nema smisla sve nabrajati, jer je većina modela jednostavno zastarjela. Možda je vrijedno napomenuti novu generaciju, koja u određenom smislu "kopira" Intel - Ryzen. Ova linija takođe sadrži modele sa brojevima 3, 5 i 7. Glavna razlika od Ryzenovih „plavih“ je što najmlađi model odmah ima puna 4 jezgra, dok stariji nema 6, već osam. Osim toga, mijenja se i broj niti. Ryzen 3 - 4 niti, Ryzen 5 - 8-12 (u zavisnosti od broja jezgara - 4 ili 6) i Ryzen 7 - 16 niti.

Vrijedi spomenuti još jednu „crvenu“ liniju - FX, koja se pojavila 2012. godine, i, zapravo, ova platforma se već smatra zastarjelom, ali zahvaljujući činjenici da sada sve više programa i igara počinje podržavati višenitno, Vishera linija je ponovo stekla popularnost, koja uz niske cijene samo raste.

Pa, što se tiče sporova oko frekvencije procesora i broja jezgri, tada je, zapravo, ispravnije gledati prema drugom, jer su svi odavno odlučili za frekvencije takta, pa čak i vrhunski modeli iz Intela rade na nominalnom 2,7, 2,8, 3 GHz. Osim toga, frekvencija se uvijek može povećati korištenjem overkloka, ali u slučaju dvojezgrenog procesora to neće dati mnogo efekta.

Kako saznati koliko jezgara

Ako neko ne zna kako odrediti broj procesorskih jezgri, onda se to može učiniti lako i jednostavno, čak i bez preuzimanja i instaliranja posebnih posebnih programa. Samo idite na "Device Manager" i kliknite na malu strelicu pored stavke "Procesori".

Detaljnije informacije o tome koje tehnologije podržava vaš „kamen“, koja je njegova frekvencija sata, broj revizije i još mnogo toga možete dobiti pomoću posebnog i malog programa zvanog CPU-Z. Možete ga besplatno preuzeti na službenoj web stranici. Postoji verzija koja ne zahtijeva instalaciju.

Prednost dvije jezgre

Koja bi mogla biti prednost dual-core procesora? Postoji mnogo stvari, na primjer, u igrama ili aplikacijama, u čijem razvoju je rad s jednim niti bio glavni prioritet. Uzmimo igru ​​Wold of Tanks kao primjer. Najčešći dual-core procesori kao što su Pentium ili Celeron će dati sasvim pristojne rezultate performansi, dok će neki FX iz AMD ili INTEL Core koristiti mnogo više svojih mogućnosti, a rezultat će biti približno isti.

Bolja 4 jezgra

Kako 4 jezgra mogu biti bolja od dvije? Bolje performanse. Četvorojezgarni "kamenčići" dizajnirani su za ozbiljniji rad, gdje se jednostavni "panjovi" ili "celeroni" jednostavno ne mogu nositi. Odličan primjer ovdje bi bio bilo koji program za 3D grafiku, kao što su 3Ds Max ili Cinema4D.

Tokom procesa renderovanja, ovi programi koriste maksimalne računarske resurse, uključujući RAM i procesor. Dvojezgarni procesori će biti veoma spori u vremenu obrade rendera, a što je scena složenija, to će im duže trebati. Ali procesori sa četiri jezgre će se nositi s ovim zadatkom mnogo brže, jer će im u pomoć priskočiti dodatne niti.

Naravno, možete uzeti neki proračunski "protsik" iz porodice Core i3, na primjer, model 6100, ali 2 jezgra i 2 dodatne niti i dalje će biti inferiorni od punopravnog četverojezgrenog.

6 i 8 jezgara

Pa, posljednji segment višejezgrenih jezgara su procesori sa šest i osam jezgara. Njihova je glavna svrha, u principu, potpuno ista kao i gore navedenog CPU-a, samo su potrebni tamo gdje obične "četvorke" ne mogu da se nose. Osim toga, na bazi "kamenčića" sa 6 i 8 jezgara grade se punopravni specijalizovani računari, koji će biti "skrojeni" za određenu aktivnost, na primjer, uređivanje videa, programi za 3D modeliranje, renderiranje gotovih teških scena sa velikim brojem poligona i objekata itd. d.

Osim toga, takvi procesori s više jezgara rade vrlo dobro kada rade sa arhivatorima ili u aplikacijama koje zahtijevaju dobre računarske mogućnosti. U igrama koje su optimizovane za multi-threading, takvi procesori nemaju premca.

Na šta utiče broj procesorskih jezgara?

Dakle, na šta još može uticati broj jezgara? Prije svega, za povećanje potrošnje energije. Da, koliko god ovo zvučalo iznenađujuće, istina je. Ne treba previše brinuti, jer u svakodnevnom životu ovaj problem, da tako kažem, neće biti primjetan.

Drugi je grijanje. Što je više jezgara, potreban je bolji sistem hlađenja. Program pod nazivom AIDA64 pomoći će vam da izmjerite temperaturu procesora. Prilikom pokretanja potrebno je kliknuti na “Computer”, a zatim odabrati “Sensors”. Morate pratiti temperaturu procesora, jer ako se stalno pregrije ili radi na previsokim temperaturama, onda će nakon nekog vremena jednostavno izgorjeti.

Dvojezgreni procesori nisu upoznati sa ovim problemom, jer nemaju vrlo visoke performanse i rasipanje topline, ali procesori s više jezgara imaju. Najtoplije kamenje su one iz AMD-a, posebno iz FX serije. Na primjer, uzmite model FX-6300. Temperatura procesora u programu AIDA64 je oko 40 stepeni i to je u stanju mirovanja. Pod opterećenjem, broj će se povećati i ako dođe do pregrijavanja, računar će se isključiti. Dakle, kada kupujete procesor sa više jezgara, ne treba zaboraviti na hladnjak.

Na šta još utiče broj procesorskih jezgara? Za multitasking. Dvojezgarni procesori neće moći da obezbede stabilne performanse kada se istovremeno pokreću dva, tri ili više programa. Najjednostavniji primjer su streameri na internetu. Osim što igraju neku igricu na visokim postavkama, istovremeno pokreću program koji im omogućava da online emituju gameplay na Internet, imaju i internet pretraživač sa nekoliko otvorenih stranica, gdje igrač po pravilu, čita komentare ljudi koji ga gledaju i prati druge informacije. Čak ni svaki višejezgarni procesor ne može pružiti odgovarajuću stabilnost, a da ne spominjemo dvojezgrene i jednojezgarne procesore.

Također je vrijedno reći nekoliko riječi da procesori s više jezgara imaju vrlo korisnu stvar koja se zove “L3 keš memorija”. Ova keš memorija ima određenu količinu memorije u koju se stalno snimaju razne informacije o pokrenutim programima, izvršenim radnjama itd. Sve je to potrebno kako bi se povećala brzina rada računara i njegove performanse. Na primjer, ako osoba često koristi Photoshop, tada će se ove informacije pohraniti u memoriju, a vrijeme za pokretanje i otvaranje programa značajno će se smanjiti.

Rezimirajući

Sumirajući razgovor o tome na šta utiče broj procesorskih jezgara, možemo doći do jednog jednostavnog zaključka: ako su vam potrebne dobre performanse, brzina, multitasking, rad u teškim aplikacijama, mogućnost udobnog igranja modernih igrica itd., onda je vaš izbor procesor sa četiri ili više jezgara. Ako vam je potreban jednostavan “kompjuter” za kancelarijsku ili kućnu upotrebu, koji će se koristiti na minimum, onda su 2 jezgra ono što vam treba. U svakom slučaju, prilikom odabira procesora, prije svega morate analizirati sve svoje potrebe i zadatke, a tek onda razmotriti sve opcije.

Dobar dan, dragi čitaoci našeg bloga. Danas ćemo pokušati da shvatimo šta je važnije: frekvencija ili broj procesorskih jezgara? Na šta svaki od ovih parametara utiče u svakodnevnoj upotrebi, u igricama i profesionalnim aplikacijama? Da li to igra ulogu ili ručni overklok donosi više koristi? Općenito, hajde da se udubimo u to kako sve to funkcionira.

Procedura poređenja bit će krajnje jednostavna:

  • prednosti velike brzine takta;
  • prednosti velikog broja procesorskih jezgara;
  • potreba za jednim ili drugim u zavisnosti od izabranih zadataka;
  • rezultate.

Hajdemo sada.

Visoke frekvencije su znak ugodnog igranja

Hajdemo odmah zaroniti u industriju igara i na prstima jedne ruke nabrojati one igre koje zahtijevaju multi-threading za udoban rad. Na pamet mi padaju samo najnoviji Ubisoft proizvodi (Assassin's Creed Origins, Watch Dogs 2), stari GTA V, svježi Deus Ex i Metro Last Light Redux. Ovi projekti će lako "pojesti" svu praznu računarsku snagu procesora, uključujući jezgre i niti.

Ali ovo je prije izuzetak od pravila, jer su druge igre zahtjevnije u pogledu CPU frekvencije i resursa video memorije. Drugim riječima, ako odlučite pokrenuti stari dobri DOOM na AMD Ryzen Threadripper 1950X sa svojih 16 procesorskih jezgri (skupo, moćno), bit ćete izuzetno razočarani zbog sljedećih faktora:

  • FPS će biti nizak;
  • većina jezgri i niti je u stanju mirovanja;
  • preplata je krajnje sumnjiva.

A sve zato što je ovaj čip namijenjen profesionalnom računarstvu, renderiranju, obradi videa i drugim zadacima u kojima „riješe“ niti, a ne frekvencijski potencijal.
AMD zamjenjujemo Intel Core i5 8600K i vidimo neočekivani rezultat - povećao se broj okvira, povećala se stabilnost slike, sve jezgre se koriste optimalno. A ako raspršite kamen, slika će ispasti apsolutno prekrasna. To je zato što igranje i dalje ispravno prihvata od 4 do 8 jezgri (ne računajući gore opisane izuzetke), a dalji rast fizičkih i virtuelnih niti je jednostavno neopravdan, pa moramo da vozimo .

Kada je potrebno multithreading?

Sada uporedimo dva vrhunska rješenja Intela i AMD-a u profesionalnim zadacima: Core 7 8700K (6/12, L3 – 9 MB) i Ryzen 7 2700x (8/16, L3 – 16 MB). I ovdje broj jezgri i niti igra glavnu i najbolju ulogu u sljedećim zadacima:

  • arhiviranje;
  • obrada podataka;
  • rendering;
  • rad sa grafikom;
  • stvaranje složenih 3D objekata;
  • Razvoj aplikacija.

Vrijedi napomenuti da ako program nije dizajniran za multi-threading, onda Intel preuzima vodstvo samo zbog veće frekvencije, ali u drugim slučajevima vodstvo ostaje "crvenima".

Hajde da sumiramo

Hajdemo sada da razmišljamo logično. I AMD i Intel su prilično dobro poboljšali svoje performanse u proteklih nekoliko godina. Oba čipa su napravljena za najnovije Ryzen+ (AM4) i Coffee Lake (s1151v2) platforme i imaju odličan potencijal za overklok, kao i temelj za budućnost.

Ako je vaš primarni cilj da dobijete visok FPS u modernim igraćim projektima, onda "plava" platforma ovdje izgleda kao optimalnije rješenje.

Međutim, treba da shvatite da će visoka brzina kadrova biti primjetna samo na monitorima s frekvencijom od 120 Hz i više. Na 60Hz jednostavno nećete primijetiti razliku u glatkoći slike.

Verzija iz AMD-a, pod svim ostalim stvarima, izgleda „svejeda“ i univerzalnija, a ima i više jezgri, što znači da se otvaraju novi izgledi, poput istog streaminga koji je toliko popularan na Youtube-u.

Nadamo se da sada razumete razliku između frekvencije i broja računarskih jezgara i u kojim slučajevima je preplaćivanje niti opravdano.

Smatram da u ovoj borbi ne može biti pobjednika, jer se borba u poređenjima vodila u različitim težinskim kategorijama.

Završimo na ovoj napomeni, ne zaboravite da se pretplatite na blog, ćao.

Učitavanje...