Acasă Pomi fructiferi Procesoare, nuclee și fire. Topologia sistemului. Definirea topologiei în mod programatic

Procesoare, nuclee și fire. Topologia sistemului. Definirea topologiei în mod programatic

Dar odată cu cucerirea noilor vârfuri ale indicatorilor de frecvență, a devenit mai dificilă creșterea acestuia, deoarece aceasta a afectat creșterea TDP-ului procesoarelor. Prin urmare, dezvoltatorii au început să crească procesoare în lățime, și anume să adauge nuclee, și așa a apărut conceptul de multi-core.

Cu doar 6-7 ani în urmă, practic nu se menționa despre procesoarele multi-core. Nu, procesoare multi-core de la aceeași companie IBM existau înainte, dar apariția primului procesor dual-core pentru computere desktop, a avut loc abia în 2005, iar acest procesor se numea Pentium D. De asemenea, în 2005 a fost lansat și un Opteron dual-core de la AMD, dar pentru sisteme server.

În acest articol, nu vom aprofunda în fapte istorice în detaliu, dar vom discuta despre procesoarele moderne multi-core ca una dintre caracteristicile unui procesor. Și cel mai important, trebuie să ne dăm seama ce oferă acest multicore în ceea ce privește performanța pentru procesor și pentru tine și pentru mine.

Performanță crescută datorită multi-core

Principiul creșterii performanței procesorului în detrimentul mai multor nuclee este împărțirea execuției thread-urilor (diverse sarcini) în mai multe nuclee. Pentru a rezuma, putem spune că aproape fiecare proces care rulează pe sistemul dumneavoastră are mai multe fire.

Permiteți-mi să fac o rezervare imediat că sistemul de operare poate să creeze practic o multitudine de fire pentru el însuși și să le execute pe toate ca și în același timp, chiar dacă procesorul este fizic cu un singur nucleu. Acest principiu implementează însuși multitasking-ul Windows (de exemplu, ascultarea muzicii și tastarea în același timp).


Luați, de exemplu, software-ul antivirus. Un flux va scana computerul, celălalt va actualiza baza de date antivirus (am simplificat totul foarte mult pentru a înțelege conceptul general).

Și luați în considerare ce se va întâmpla în două cazuri diferite:

a) Procesorul este single-core. Deoarece două fire sunt executate în același timp, trebuie să creăm pentru utilizator (vizual) această simultaneitate de execuție. Sistemul de operare face în mod inteligent:există o comutare între execuția acestor două fire (aceste comutatoare sunt instantanee și timpul trece în milisecunde). Adică, sistemul a „efectuat” puțin actualizarea, apoi a trecut brusc la scanare, apoi a revenit la actualizare. Astfel, pentru tine și pentru mine, impresia este că aceste două sarcini sunt îndeplinite simultan. Dar ce se pierde? Performanță, desigur. Deci, să ne uităm la a doua opțiune.

b) Procesor multi-core.În acest caz, această comutare nu va avea loc. Sistemul va trimite în mod clar fiecare fir într-un nucleu separat, ceea ce, ca rezultat, ne va permite să scăpăm de performanța distructivă trecând de la fir la fir (idealizam situația). Două fire rulează în același timp, acesta este principiul multicore și multithreading. În cele din urmă, vom efectua scanări și actualizări mult mai rapid pe un procesor multi-core decât pe unul cu un singur nucleu. Dar există o captură - nu toate programele acceptă multicore. Nu orice program poate fi optimizat astfel. Și totul este departe de a fi la fel de perfect așa cum am descris. Dar în fiecare zi, dezvoltatorii creează tot mai multe programe care au cod perfect optimizat pentru execuție pe procesoare multi-core.

Ai nevoie de procesoare multi-core? Motivul de zi cu zi

La selectarea procesorului pentru un computer (și anume, atunci când vă gândiți la numărul de nuclee), ar trebui să determinați principalele tipuri de sarcini pe care le va îndeplini.

Pentru a vă îmbunătăți cunoștințele în domeniul hardware-ului computerului, puteți citi materialul despre socluri de procesor .

Punctul de plecare poate fi numit procesoare dual-core, deoarece nu are rost să ne întoarcem la soluții single-core. Dar procesoarele dual-core sunt și ele diferite. Poate că nu este cel mai „proaspăt” Celeron, dar poate fi Core i3 pe Ivy Bridge, la fel ca AMD - Sempron sau Phenom II. Desigur, datorită altor indicatori, performanța lor va fi foarte diferită, așa că trebuie să priviți totul în mod cuprinzător și să comparați multicore cu alții. caracteristicile procesoarelor.

De exemplu, Core i3 de pe Ivy Bridge are tehnologia Hyper-Treading, care permite procesarea a 4 fire simultan (sistemul de operare vede 4 nuclee logice în loc de 2 fizice). Și același Celeron nu se laudă cu așa ceva.

Dar să revenim direct la reflecțiile asupra sarcinilor solicitate. Dacă un computer este necesar pentru munca de birou și pentru a naviga pe internet, atunci este suficient un procesor dual-core.

Când vine vorba de performanța în jocuri, sunt necesare 4 sau mai multe nuclee pentru a te simți confortabil în majoritatea jocurilor. Dar aici apare aceeași problemă: nu toate jocurile au cod optimizat pentru procesoare cu 4 nuclee și, dacă sunt optimizate, atunci nu atât de eficient pe cât ne-am dori. Dar, în principiu, pentru jocurile de acum soluția optimă este tocmai procesorul al 4-lea nucleu.


Astăzi, aceleași procesoare AMD cu 8 nuclee sunt redundante pentru jocuri, numărul de nuclee este redundant, dar performanța nu rezistă, dar au alte avantaje. Aceste 8 nuclee vor ajuta foarte mult în sarcinile în care este necesară o muncă puternică cu lucru multi-thread de înaltă calitate. Acestea includ, de exemplu, redarea (redarea) videoclipurilor sau calcularea pe server. Prin urmare, astfel de sarcini necesită 6, 8 sau mai multe nuclee. Și în viitorul apropiat, jocurile vor putea încărca 8 sau mai multe nuclee de înaltă calitate, așa că în viitor totul este foarte roz.

Nu uitați că există o mulțime de sarcini care creează o încărcare cu un singur thread. Și merită să vă puneți o întrebare: am nevoie sau nu de acest procesor cu 8 nuclee?

Rezumând rezultate mici, aș dori să remarc încă o dată că avantajele multicore apar în munca de calcul multithreaded „greu”. Și dacă nu jucați jocuri cu cerințe exorbitante și nu faceți anumite tipuri de muncă care necesită o putere de calcul bună, atunci pur și simplu nu are rost să cheltuiți bani pe procesoare multi-core scumpe (

* întrebări mereu de actualitate, la ce ar trebui să acordați atenție atunci când alegeți un procesor, pentru a nu vă înșela.

Scopul nostru în acest articol este să descriem toți factorii care afectează performanța procesorului și alte caracteristici operaționale.

Cu siguranță nu este un secret pentru nimeni că procesorul este principala unitate de calcul a unui computer. Puteți chiar spune - cea mai importantă parte a computerului.

El este cel care se ocupă de procesarea aproape a tuturor proceselor și sarcinilor care apar în computer.

Fie că vizionați videoclipuri, muzică, navigați pe internet, scrieți și citiți în memorie, procesați 3D și video, jocuri. Și mult mai mult.

Prin urmare, la alegere C central NS procesorul trebuie luat cu mare atenție. Se poate dovedi că ați decis să instalați o placă video puternică și un procesor care nu se potrivește cu nivelul său. În acest caz, procesorul nu va dezvălui potențialul plăcii video, ceea ce va încetini funcționarea acesteia. Procesorul va fi încărcat complet și va fierbe literalmente, iar placa video își va aștepta rândul, lucrând la 60-70% din capabilitățile sale.

De aceea, atunci când alegeți un computer echilibrat, nu cheltuieli neglijează procesorulîn favoarea unei plăci video puternice. Puterea procesorului trebuie să fie suficientă pentru a dezlănțui potențialul plăcii video, altfel sunt doar bani irositi.

Intel vs. AMD

* prinde din urmă pentru totdeauna

corporație Intel, are resurse umane uriașe și finanțe aproape inepuizabile. Multe inovații în industria semiconductoarelor și noile tehnologii vin de la această companie. Procesoare și evoluții Intel, in medie 1-1,5 cu ani înaintea dezvoltării inginerilor AMD... Dar, după cum știți, trebuie să plătiți pentru oportunitatea de a avea cele mai moderne tehnologii.

Politica de prețuri pentru procesoare Intel, se bazează pe ambele numărul de nuclee, cantitatea de cache dar și pe „Prospețimea” arhitecturii, performanță pe cicluwatt,tehnologie cu cip... Semnificația memoriei cache, „subtilitățile procesului tehnic” și alte caracteristici importante ale procesorului vor fi discutate mai jos. Pentru deținerea unor astfel de tehnologii precum un multiplicator de frecvență gratuit, va trebui să plătiți și o sumă suplimentară.

Companie AMD, spre deosebire de companie Intel, depune eforturi pentru disponibilitatea procesoarelor săi pentru utilizatorul final și pentru o politică de prețuri competentă.

Ai putea spune chiar asta AMD– « Brandul oamenilor". În etichetele sale de preț veți găsi ceea ce aveți nevoie la un preț foarte atractiv. De obicei, la un an după ce o nouă tehnologie este disponibilă pentru companie Intel, există un analog al tehnologiei din AMD... Dacă nu urmăriți cea mai înaltă performanță și acordați mai multă atenție prețului decât disponibilității tehnologiilor avansate, atunci produsele companiei AMD- doar pentru tine.

Politica de pret AMD, se bazează mai mult pe numărul de nuclee și destul de mult - pe cantitatea de memorie cache, prezența îmbunătățirilor arhitecturale. În unele cazuri, pentru a putea avea o memorie cache de nivel al treilea, va trebui să plătiți puțin în plus ( Fenomul are o memorie cache de 3 nivele, Athlon conținut doar limitat, 2 niveluri). Dar cateodata AMDÎși răsfață fanii capacitatea de a debloca procesoare mai ieftine la altele mai scumpe. Puteți debloca nucleele sau memoria cache. Îmbunătăţi Athlon inainte de Fenomul... Acest lucru este posibil datorită arhitecturii modulare și a lipsei unor modele mai ieftine, AMD doar dezactivează unele blocuri pe cip ale celor mai scumpe (programatic).

Sâmburi- rămân practic neschimbate, doar numărul lor diferă (valabil pentru procesoare 2006-2011 ani). Datorită modularității procesoarelor sale, compania face o treabă excelentă de a vinde cipuri respinse, care, atunci când unele blocuri sunt oprite, devin un procesor dintr-o linie mai puțin productivă.

Compania lucrează la o arhitectură complet nouă de mulți ani sub numele de cod Buldozer, dar la momentul intrarii 2011 anul, noile procesoare nu au prezentat cele mai bune performanțe. AMD au păcătuit pe sistemele de operare că nu au înțeles caracteristicile arhitecturale ale dual-core-urilor și ale „altelor multithreading”.

Potrivit reprezentanților companiei, este de așteptat ca corecțiile și patch-urile speciale să experimenteze performanța deplină a acestor procesoare. Cu toate acestea, la început 2012 ani, reprezentanții companiei au amânat lansarea actualizării pentru a susține arhitectura Buldozer pentru a doua jumătate a anului.

Frecvența procesorului, numărul de nuclee, multithreading.

În vremuri Pentium 4și înaintea lui - frecvența procesorului a fost principalul factor de performanță a procesorului la alegerea unui procesor.

Acest lucru nu este surprinzător, deoarece arhitecturile procesoarelor au fost special concepute pentru a atinge o frecvență înaltă, acest lucru s-a reflectat în mod deosebit în procesor. Pentium 4 asupra arhitecturii NetBurst... Frecvența înaltă nu a fost eficientă cu conducta lungă folosită în arhitectură. Chiar Athlon XP frecvență 2GHz, din punct de vedere al performanței, a fost mai mare decât Pentium 4 c 2,4 GHz... Deci a fost marketing pur. După această eroare, compania Intelși-a dat seama de greșelile mele și revenit la partea bună Am început să lucrez nu la componenta de frecvență, ci la performanța pe ciclu de ceas. Din arhitectura NetBurst trebuia abandonat.

Ce noi oferă multicore?

Procesor quad-core cu frecvență 2,4 GHz, în aplicațiile multi-threaded, va fi teoretic echivalentul aproximativ al unui procesor single-core cu o frecvență 9,6 GHz sau un procesor cu 2 nuclee cu o frecvență 4,8 GHz... Dar doar asta teoretic. Practic cu toate acestea, două procesoare dual-core dintr-o placă de bază cu două socluri vor fi mai rapide decât un procesor cu 4 nuclee la aceeași frecvență de operare. Viteza magistralei și limitările latenței memoriei sunt evidente.

* supus aceleași arhitecturi și cantitatea de memorie cache

Multi-core, face posibilă executarea instrucțiunilor și calculelor în părți. De exemplu, trebuie să efectuați trei operații aritmetice. Primele două sunt executate pe fiecare dintre nucleele procesorului și rezultatele sunt adăugate în memoria cache, unde următoarea acțiune poate fi efectuată asupra lor de către oricare dintre nucleele libere. Sistemul este foarte flexibil, dar fără o optimizare adecvată este posibil să nu funcționeze. Prin urmare, este foarte important să se optimizeze pentru multicore pentru arhitectura procesoarelor din mediul OS.

Aplicații care „iubesc” și utilizare multithreading: arhivatorii, playere și codificatoare video, antivirusuri, programe de defragmentare, editor grafic, browsere, Flash.

De asemenea, „iubitorilor” de multithreading, le puteți referi la astfel de sisteme de operare ca Windows 7și Windows Vista, precum și multe OS bazat pe nucleu Linux care rulează considerabil mai repede cu un procesor multi-core.

Cel mai jocuri, un procesor cu 2 nuclee la o frecvență înaltă este suficient. Acum, însă, sunt lansate tot mai multe jocuri, „sharpened” pentru multithreading. Luați cel puțin așa SandBox jocuri ca Gta 4 sau Prototip, în care pe un procesor cu 2 nuclee cu o frecvență mai jos 2,6 GHz- nu te simti confortabil, frame rate scade sub 30 de cadre pe secunda. Deși în acest caz, cel mai probabil motivul pentru astfel de incidente este optimizarea „slabă” a jocurilor, lipsa de timp sau mâinile „indirecte” a celor care au transferat jocuri de pe console în PC.

Când cumpărați un procesor nou pentru jocuri, acum ar trebui să acordați atenție procesoarelor cu 4 sau mai multe nuclee. Dar totuși, nu trebuie să neglijați procesoarele cu 2 nuclee din „categoria superioară”. În unele jocuri, aceste procesoare se simt uneori mai bine decât unele cu mai multe nuclee.

Memoria cache a procesorului.

- Aceasta este o zonă dedicată a cristalului procesorului, în care sunt procesate și stocate datele intermediare dintre nucleele procesorului, RAM și alte magistrale.

Funcționează la o viteză de ceas foarte mare (de obicei la frecvența procesorului în sine), are o lățime de bandă foarte mare și nucleele procesorului lucrează direct cu acesta ( L1).

Din cauza ei lipsuri, procesorul poate fi inactiv în sarcini consumatoare de timp, așteptând ca date noi să ajungă în cache pentru procesare. De asemenea, memoria cache serveste pentruÎnregistrări ale datelor repetate frecvent, care, dacă este necesar, pot fi restaurate rapid fără calcule inutile, fără a forța procesorul să piardă din nou timpul cu ele.

Performanța este adăugată și de faptul că memoria cache este unificată și toate nucleele pot folosi în mod egal datele din aceasta. Acest lucru oferă oportunități suplimentare pentru optimizarea multi-threaded.

Această tehnică este folosită acum pentru Nivelul 3 cache... Procesoare Intel au existat procesoare cu cache L2 partajat ( C2D E 7 ***,E 8 ***), datorită căruia această metodă pare să mărească performanța multi-threaded.

La overclockarea procesorului, memoria cache poate deveni un punct slab, împiedicând procesorul să overclockeze mai mult decât frecvența maximă de operare fără erori. Cu toate acestea, avantajul este că va rula la aceeași frecvență cu procesorul overclockat.

În general, cu cât mai multă memorie cache, cu atât Mai repede CPU. În ce aplicații?

Toate aplicațiile în care sunt utilizate o mulțime de date, instrucțiuni și fluxuri în virgulă mobilă, memoria cache este utilizată în mod activ. Le place foarte mult memoria cache arhivatorii, codificatoare video, antivirusuriși editor grafic etc.

Favorabil pentru o cantitate mare de memorie cache include jocuri... În special strategii, simulări automate, RPG-uri, SandBox și toate jocurile în care există multe detalii mici, particule, elemente de geometrie, fluxuri de informații și efecte fizice.

Memoria cache joacă un rol foarte important în deblocarea potențialului sistemelor cu 2 sau mai multe plăci video. La urma urmei, o parte din sarcină cade pe interacțiunea nucleelor ​​procesorului atât între ele, cât și pentru lucrul cu fluxuri de mai multe cipuri video. În acest caz este importantă organizarea memoriei cache, iar cache-ul L3 de volum mare este foarte util.

Memoria cache, întotdeauna echipată cu protecție împotriva posibilelor erori ( ECC), la detectarea cărora, acestea sunt corectate. Acest lucru este foarte important, deoarece o mică eroare în memoria cache, în timpul procesării, se poate transforma într-o eroare gigantică, continuă, din care va cădea întregul sistem.

Tehnologii proprietare.

(hiper-threading, Ht)–

pentru prima dată tehnologia a fost aplicată în procesoare Pentium 4, dar nu a funcționat întotdeauna corect și adesea a încetinit procesorul mai mult decât l-a accelerat. Motivul a fost o conductă prea lungă și un sistem incomplet de predicție a ramurilor. Aplicat de companie Intel, nu există încă analogi ai tehnologiei, cu excepția unui analog atunci? ceea ce inginerii companiei au implementat AMDîn arhitectură Buldozer.

Principiul sistemului este astfel încât pentru fiecare nucleu fizic, a două fire de calculîn loc de unul. Adică dacă ai un procesor cu 4 nuclee Ht (Core i 7), atunci aveți fire virtuale 8 .

Câștigul de performanță este atins datorită faptului că datele pot intra în conductă deja în mijlocul acesteia și nu neapărat mai întâi. Dacă orice unități de procesor capabile să efectueze această acțiune sunt inactive, primesc o sarcină pentru execuție. Câștigul de performanță nu este același ca în nucleele fizice reale, dar comparabil (~ 50-75%, în funcție de tipul de aplicație). Rareori se întâmplă ca în unele aplicații, HT afectează negativ asupra performanței. Acest lucru se datorează optimizării slabe a aplicațiilor pentru această tehnologie, incapacității de a înțelege că există fluxuri „virtuale” și absenței limitatoarelor pentru încărcarea fluxurilor uniform.

TurboBoost Este o tehnologie foarte utilă care mărește frecvența de funcționare a celor mai utilizate nuclee de procesor, în funcție de nivelul volumului de lucru al acestora. Este foarte util atunci când aplicația nu știe să folosească toate cele 4 nuclee și încarcă doar unul sau două, în timp ce frecvența lor de operare crește, ceea ce compensează parțial performanța. Un analog al acestei tehnologii pentru companie AMD este tehnologia Turbo Core.

, 3 stiu! instrucțiuni... Proiectat pentru a accelera procesorul multimedia calcule (video, muzică, grafică 2D / 3D etc.), precum și accelerarea activității unor programe precum arhivare, programe de lucru cu imagini și video (cu sprijinul instrucțiunilor acestor programe).

3stiu! - tehnologie destul de veche AMD, care conține instrucțiuni suplimentare pentru manipularea conținutului multimedia, pe lângă SSE prima versiune.

* Și anume, capacitatea de procesare în flux a numerelor reale de precizie unică.

Prezența celei mai noi versiuni este un mare plus, procesorul începe să efectueze mai eficient anumite sarcini cu o optimizare software adecvată. Procesoare AMD au nume asemănătoare, dar ușor diferite.

* Exemplu - SSE 4.1 (Intel) - SSE 4A (AMD).

În plus, aceste seturi de instrucțiuni nu sunt identice. Aceștia sunt analogi în care există mici diferențe.

Cool'n'Quiet, SpeedStep, CoolCore, Încântat Jumătate Stat (C1E) șiT... d.

Aceste tehnologii, la sarcină mică, reduc frecvența procesorului prin reducerea multiplicatorului și a tensiunii de pe nucleu, dezactivând o parte din cache etc. Acest lucru permite procesorului să se încălzească mult mai puțin și să consume mai puțină energie și să facă mai puțin zgomot. Dacă este nevoie de alimentare, procesorul va reveni la starea sa normală într-o fracțiune de secundă. La setările standard Bios aproape întotdeauna activate, dacă se dorește, pot fi dezactivate pentru a reduce posibilele „înghețuri” la comutarea în jocuri 3D.

Unele dintre aceste tehnologii controlează viteza ventilatoarelor din sistem. De exemplu, dacă procesorul nu are nevoie de o disipare crescută a căldurii și nu este încărcat, viteza ventilatorului procesorului scade ( AMD Cool'n'Quiet, Intel Speed ​​​​Step).

Tehnologia de virtualizare Intelși Virtualizare AMD.

Aceste tehnologii hardware permit utilizarea unor programe speciale pentru a rula mai multe sisteme de operare simultan, fără pierderi semnificative de performanță. De asemenea, este folosit pentru funcționarea corectă a serverelor, deoarece adesea, pe ele sunt instalate mai multe sisteme de operare.

A executa Dezactivați Picși# a executa Pic tehnologie concepută pentru a vă proteja computerul împotriva atacurilor de viruși și a erorilor software care pot cauza o prăbușire a sistemului depășirea tamponului.

Intel 64 , AMD 64 , EM 64 T - aceasta tehnologie permite procesorului sa functioneze atat intr-un OS cu arhitectura pe 32 de biti cat si intr-un OS cu unul pe 64 de biti. Sistem 64 de biți- din punct de vedere al beneficiilor, pentru un utilizator obișnuit se deosebește prin faptul că acest sistem poate folosi mai mult de 3,25 GB de RAM. Pe sistemele pe 32 de biți, utilizați b O Nu este posibilă o cantitate mai mare de RAM din cauza cantității limitate de memorie adresabilă *.

Majoritatea aplicațiilor cu arhitectură pe 32 de biți pot fi rulate pe un sistem cu sistem de operare pe 64 de biți.

* Ce poți face dacă în 1985, nimeni nu s-ar putea gândi la astfel de volume gigantice de RAM, după standardele de atunci.

În plus.

Câteva cuvinte despre.

Acest punct merită să acordați o atenție deosebită. Cu cât procesul tehnic este mai subțire, cu atât procesorul consumă mai puțină energie și, ca urmare, se încălzește mai puțin. Și, printre altele, are o marjă de siguranță mai mare pentru overclockare.

Cu cât procesul tehnic este mai fin, cu atât poți „înfășura” într-un cip (și nu numai) și crește capacitățile procesorului. În același timp, disiparea căldurii și consumul de energie sunt, de asemenea, reduse proporțional, datorită pierderilor de curent mai mici și scăderii zonei miezului. Se poate observa o tendință că cu fiecare nouă generație a aceleiași arhitecturi pe un nou proces tehnic crește și consumul de energie, dar nu este așa. Doar că producătorii se îndreaptă către performanțe și mai mari și trec peste linia de disipare a căldurii a generației anterioare de procesoare din cauza creșterii numărului de tranzistori, care nu este proporțională cu scăderea procesului tehnic.

Încorporat în procesor.

Dacă nu aveți nevoie de un nucleu video integrat, atunci nu ar trebui să cumpărați un procesor cu acesta. Veți obține doar o disipare mai proastă a căldurii, exces de căldură (nu întotdeauna), un potențial de overclocking mai slab (nu întotdeauna) și bani plătiți în exces.

În plus, acele nuclee care sunt încorporate în procesor sunt potrivite doar pentru încărcarea sistemului de operare, navigarea pe Internet și vizionarea videoclipurilor (și chiar și atunci nu de nicio calitate).

Tendințele pieței sunt încă în schimbare și oportunitatea de a cumpăra un procesor productiv de la Intel fără un nucleu video, cade din ce în ce mai puțin. Politica de a forța impunerea unui nucleu video încorporat, a apărut cu procesoare Intel cu nume de cod Pod de nisip, a cărui principală inovație a fost nucleul încorporat bazat pe același proces tehnic. Nucleul video este localizat de comun acord cu procesor pe un cristal, și nu la fel de simplu ca în generațiile anterioare de procesoare Intel... Pentru cei care nu o folosesc, există dezavantaje sub forma unei plăți în exces pentru procesor, deplasarea sursei de încălzire față de centrul capacului de distribuție a căldurii. Cu toate acestea, există și plusuri. Miez video dezactivat, poate fi folosit pentru codificare video foarte rapidă folosind tehnologie Sincronizare rapidă cuplat cu software special care suportă această tehnologie. In viitor, Intel promite să extindă orizonturile utilizării nucleului video încorporat pentru calculul paralel.

Prize procesor. Durata de viață a platformei.


Intel are o politică aspră pentru platformele lor. Durata de viață a fiecăruia (perioada pentru începutul și sfârșitul vânzărilor de procesoare pentru acesta), de obicei nu depășește 1,5 - 2 ani. În plus, compania are mai multe platforme care se dezvoltă în paralel.

Companie AMD, are politica opusă de compatibilitate. Pe platforma ei AM 3, se va potrivi tuturor generațiilor viitoare de procesoare care acceptă DDR3... Chiar și atunci când platforma iese la AM 3+ iar mai târziu, fie noi procesoare vor fi lansate separat pentru AM 3, sau noile procesoare vor fi compatibile cu plăcile de bază vechi și se va putea face un upgrade nedureros pentru portofel schimbând doar procesorul (fără a schimba placa de bază, RAM, etc.) și flash-ul plăcii de bază. Singurele nuanțe de incompatibilitate pot fi atunci când se schimbă tipul, deoarece va fi necesar un controler de memorie diferit încorporat în procesor. Deci compatibilitatea este limitată și nu este acceptată de toate plăcile de bază. Dar, în general, pentru un utilizator economic sau cei care nu sunt obișnuiți să schimbe complet platforma la fiecare 2 ani - alegerea producătorului procesorului este clară - aceasta este AMD.

Răcirea procesorului.

Ca standard, procesorul vine cu CUTIE- un nou cooler care pur și simplu va face față sarcinii sale. Este o bucată de aluminiu cu o zonă de dispersie nu foarte mare. Răcitoarele eficiente bazate pe conducte termice și aripioare fixe sunt proiectate pentru o disipare foarte eficientă a căldurii. Dacă nu doriți să auziți zgomot inutil de la ventilator, atunci ar trebui să cumpărați un răcitor alternativ, mai eficient, cu conducte de căldură, sau un sistem de răcire cu lichid cu circuit închis sau cu circuit deschis. Astfel de sisteme de răcire vor oferi suplimentar posibilitatea de overclocking pentru procesor.

Concluzie.

Au fost luate în considerare toate aspectele importante care afectează performanța și performanța procesorului. Să repetăm ​​la ce ar trebui să fii atent:

  • Selectați producătorul
  • Arhitectura procesorului
  • Proces tehnic
  • frecvența procesorului
  • Numărul de nuclee de procesor
  • Mărimea și tipul cache al procesorului
  • Tehnologie și suport de instruire
  • Răcire de calitate

Sperăm că acest material vă va ajuta să înțelegeți și să vă decideți asupra alegerii unui procesor care să corespundă așteptărilor dumneavoastră.

Nu vei surprinde pe nimeni cu procesoarele multi-core în zilele noastre. Dimpotrivă, toată lumea încearcă să facă computerul lor să suporte cât mai multe nuclee posibil și, prin urmare, să funcționeze mai repede, iar acest lucru este corect.
În ceea ce privește procesoarele, de multă vreme există doar doi producători pe piață - aceștia sunt Intel și AMD. Și dacă cei din urmă vorbesc despre procesoarele lor cu 8 și 10 nuclee (adică sunt multe, ceea ce înseamnă că sunt mai puternice), atunci primii au 2 și 4 nuclee, dar se concentrează pe firele lor (nu este nevoie să scrieți comentarii supărate că există nuclee și mai mult deoarece în continuare sunt descrise procesoare pentru uz casnic).

Și dacă te uiți la graficele comparative ale performanței procesorului, poți vedea că procesorul cu 4 nuclee (nu toate) de la Intel îl va depăși pe cel cu 8 nuclee de la AMD. De ce este așa? La urma urmei, 4 este mai mic decât 8, ceea ce înseamnă că ar trebui să fie mai slab ... Dar dacă săpați mai adânc (nu direct la cache, frecvență, magistrală etc.), puteți vedea un cuvânt interesant pe care procesoarele Intel îl descriu adesea - Suport hiper-threading.

Tehnologia Hyper-threading („hyper-threading” la oamenii de rând) a fost inventată de Intel și este folosită doar în procesoarele lor (nu la toate). Nu voi intra în detaliile sale foarte profund, dacă doriți, puteți citi despre el la. Această tehnologie permite, parcă, să împărțim fiecare nucleu în două, iar drept urmare, în loc de unul fizic, avem două logice (sau virtuale) și sistemul de operare Windows crede că sunt instalate două în loc de unul.

Cum să afli câte fire sunt în procesor?

Dacă doriți să aflați despre un anumit procesor, atunci cel mai adesea în descrierile din magazine indică suport pentru Hyper-threading, fie prin introducerea acestei fraze, fie pur și simplu abrevierea HT. Dacă nu există o astfel de descriere, atunci puteți utiliza întotdeauna informațiile cele mai veridice pe pagina oficială Intel http://ark.intel.com/ru/search/advanced/?s=t&HyperThreading=true
Recomand să folosiți doar aceste informații pentru că sunt cele mai exacte.

Dacă doriți să aflați că sunteți deja în sistem și chiar aceste fluxuri sunt utilizate în mod special în sistemul dvs., atunci nu este nimic mai ușor.

Lansați în orice mod convenabil (cel mai simplu este să utilizați comanda rapidă Ctrl + Shift + Esc) de oriunde (chiar și în timp ce citiți acest articol) și, dacă aveți Windows 7, mergeți la fila Performanță.


Acordați atenție liniei de sus cu încărcarea procesorului și în special la numărul de „pătrate”. Cam atât vor fi - vor fi atât de multe dintre toate nucleele, inclusiv toate firele. Mai precis, toate nucleele logice/virtuale sunt afișate aici, iar firele sunt exact ceea ce sunt.

Dacă aveți Windows 8, 8.1 sau 10, atunci nu va exista o astfel de filă, dar există Performanță.


Aici am evidențiat unde trebuie să fiți atenți. Apropo, nu degeaba am făcut clic dreapta pe acest grafic, pentru că dacă selectezi elementul Procese logice, graficul se va schimba și va arăta ca cel din Windows 7, adică. vor exista 8 „pătrate” și grafice de încărcare pentru fiecare miez.
Dacă aveți imaginea opusă, adică nu sunt afișate una, ci mai multe diagrame, ceea ce înseamnă că acest element este selectat în proprietățile diagramei în sine.

Desigur, există mai multe moduri de a face și, în acest caz, fluxuri.

De exemplu, puteți apela o proprietate a sistemului (comandă rapidă de la tastatură Win + R și introduceți systeminfo) și o puteți vedea acolo.

După ce ne-am ocupat de teoria multithreading-ului, să luăm în considerare un exemplu practic - Pentium 4. Deja în stadiul de dezvoltare a acestui procesor, inginerii Intel au continuat să lucreze la creșterea performanței acestuia fără a introduce modificări în interfața de programare. Au fost luate în considerare cinci moduri simple:
1. Măriți frecvența ceasului.
2. Plasarea a două procesoare pe un microcircuit.
3. Introducerea de noi blocuri funcționale.
1. Prelungirea transportorului.
2. Folosind multithreading.
Cea mai evidentă modalitate de a îmbunătăți performanța este de a crește viteza ceasului fără a modifica alți parametri. De regulă, fiecare model de procesor ulterior are o viteză de ceas puțin mai mare decât precedentul. Din păcate, cu o creștere în linie dreaptă a vitezei ceasului, dezvoltatorii se confruntă cu două probleme: o creștere a consumului de energie (care este importantă pentru calculatoarele portabile și alte dispozitive de calcul care funcționează pe baterii) și supraîncălzirea (care necesită crearea unei călduri mai eficiente. chiuvete).
A doua metodă - plasarea a două procesoare pe un microcircuit - este relativ simplă, dar presupune dublarea suprafeței ocupate de microcircuit. Dacă fiecare procesor este furnizat cu propria sa memorie cache, numărul de cipuri de pe un platou se reduce la jumătate, dar asta înseamnă și o dublare a costurilor de producție. Prin furnizarea unui cache partajat pentru ambele procesoare, se evită o creștere semnificativă a amprentei, dar apare o altă problemă - cantitatea de cache pe procesor se reduce la jumătate, ceea ce afectează inevitabil performanța. În plus, în timp ce aplicațiile de server profesionale sunt capabile să utilizeze pe deplin resursele mai multor procesoare, în programele desktop obișnuite, paralelismul intern este mult mai puțin dezvoltat.
Introducerea de noi blocuri funcționale nu este, de asemenea, dificilă, dar este important să găsim un echilibru aici. Ce rost are o duzină de blocuri ALU dacă microcircuitul nu poate emite comenzi către transportor cu o viteză atât de mare încât să poată încărca toate aceste blocuri?
Un transportor cu un număr crescut de trepte, capabil să împartă sarcinile în segmente mai mici și să le prelucreze în perioade scurte de timp, pe de o parte, crește productivitatea, pe de altă parte, crește consecințele negative ale tranzițiilor neprevăzute, ratelor de cache, întreruperilor. și alte evenimente care perturbă comenzile normale de procesare a fluxului din procesor. În plus, pentru a realiza pe deplin capacitățile conductei extinse, este necesară creșterea frecvenței de ceas, iar acest lucru, după cum știm, duce la un consum crescut de energie și la disiparea căldurii.
În cele din urmă, puteți implementa multithreading. Avantajul acestei tehnologii este că introduce un flux suplimentar de programe pentru a aduce resurse hardware care altfel ar fi inactive. Pe baza rezultatelor studiilor experimentale, dezvoltatorii Intel au descoperit că o creștere cu 5% a suprafeței cipului atunci când se implementează multithreading pentru multe aplicații oferă un câștig de performanță de 25%. Primul procesor Intel care a suportat multithreading a fost Xeon din 2002. Ulterior, începând cu 3,06 GHz, multithreading-ul a fost introdus în linia Pentium 4. Intel numește implementarea multithreading-ului în hyperthreading-ul Pentium 4.
Principiul de bază al hyper-threading-ului este executarea simultană a două fire de execuție software (sau procese - procesorul nu face distincție între procese și fire de execuție software). Sistemul de operare vede procesorul Pentium 4 hyper-threaded ca un complex cu dublu procesor cu cache partajate și memorie principală. Sistemul de operare efectuează planificarea pentru fiecare fir de program separat. Astfel, două aplicații pot rula în același timp. De exemplu, un mailer poate trimite sau primi mesaje în fundal în timp ce utilizatorul interacționează cu o aplicație interactivă - adică demonul și programul utilizator rulează concomitent, ca și cum sistemul ar avea două procesoare disponibile.
Programele de aplicație care pot fi executate ca fire de execuție multiple pot folosi atât „procesoare virtuale”. De exemplu, programele de editare video permit utilizatorilor să aplice filtre pentru toate cadrele. Aceste filtre reglează luminozitatea, contrastul, echilibrul culorilor și alte proprietăți ale cadrelor. Într-o astfel de situație, programul poate atribui unui procesor virtual să proceseze cadrele pare și altul să proceseze cadrele impare. În acest caz, cele două procesoare vor funcționa complet independent unul de celălalt.
Deoarece firele de execuție software accesează aceleași resurse hardware, este necesară coordonarea acestor fire. În contextul hyperthreading-ului, Intel a identificat patru strategii utile pentru gestionarea partajării resurselor: duplicarea resurselor și partajarea strictă, de prag și completă a resurselor. Să aruncăm o privire asupra acestor strategii.
Să începem cu duplicarea resurselor. După cum știți, unele resurse sunt duplicate în scopul organizării fluxurilor de programe. De exemplu, deoarece fiecare fir de execuție de program necesită control individual, este necesar un al doilea contor de instrucțiuni. În plus, este necesară introducerea unui al doilea tabel pentru maparea registrelor arhitecturale (EAX, EBX etc.) la registrele fizice; De asemenea, controlerul de întrerupere este duplicat, deoarece gestionarea întreruperilor pentru fiecare fir se face individual.
Ceea ce urmează este o tehnică de partajare partiționată a resurselor între fluxurile de programe. De exemplu, dacă procesorul asigură o coadă între două etape funcționale ale conductei, atunci jumătate din sloturi pot fi date firului 1, cealaltă jumătate firului 2. Partajarea resurselor este ușor de implementat, nu duce la dezechilibru și asigură independența completă a firelor de execuție a programului unul față de celălalt. Odată cu partajarea completă a tuturor resurselor, un procesor se transformă de fapt în două. Pe de altă parte, poate apărea o situație în care un fir de execuție de program nu utilizează resurse care ar putea fi utile celui de-al doilea fir, dar pentru care nu are autorizare de acces. Ca urmare, resursele care ar putea fi utilizate altfel sunt inactive.
Opusul partajării dure este partajarea completă a resurselor. În această schemă, orice fir de program poate accesa resursele necesare și sunt deservite în ordinea în care sunt primite cererile de acces. Luați în considerare o situație în care un flux rapid, constând în principal din operații de adunare și scădere, coexistă cu un flux lent care implementează operații de înmulțire și împărțire. Dacă instrucțiunile sunt apelate din memorie mai repede decât sunt efectuate operațiunile de înmulțire și împărțire, numărul de instrucțiuni apelate în firul lent și puse în coadă la conductă va crește treptat. În cele din urmă, aceste comenzi vor umple coada, ca urmare, fluxul rapid se va opri din cauza lipsei de spațiu. Partajarea completă a resurselor rezolvă problema utilizării neoptimale a resurselor comune, dar creează un dezechilibru în consumul acestora - un fir poate încetini sau opri altul.
Schema intermediară este implementată în cadrul partajării resurselor de prag. Conform acestei scheme, orice fir de program poate dobândi dinamic o anumită cantitate (limitată) de resurse. Când este aplicată resurselor replicate, această abordare oferă flexibilitate fără amenințarea timpului de nefuncționare pentru unul dintre firele de execuție a programului din cauza incapacității de a obține resurse. Dacă, de exemplu, interziceți fiecărui thread să ocupe mai mult de 3/4 din coada de comenzi, consumul crescut de resurse al unui thread lent nu va interfera cu execuția unuia rapid.
Modelul de hyper-threading Pentium 4 combină diferite strategii de partajare a resurselor. Astfel, se încearcă rezolvarea tuturor problemelor asociate fiecărei strategii. Duplicarea este implementată în raport cu resursele care sunt solicitate în mod constant de ambele fire de execuție a programului (în special, în raport cu contorul de instrucțiuni, tabelul de mapare a registrului și controlerul de întreruperi). Dublarea acestor resurse crește aria microcircuitului cu doar 5% - de acord, o plată destul de rezonabilă pentru multithreading. Resursele care sunt disponibile într-un astfel de volum încât este practic imposibil ca acestea să fie capturate de un fir (de exemplu, liniile cache) sunt alocate dinamic. Accesul la resursele care controlează funcționarea conductei (în special, numeroasele sale cozi) este împărțit - jumătate din sloturi sunt alocate fiecărui fir de program. Conducta principală a arhitecturii Pentium 4 Netburst este prezentată în Fig. 8,7; zonele albe și gri din această ilustrație reprezintă mecanismul de alocare a resurselor între fluxurile de program alb și gri.
După cum puteți vedea, toate cozile din această ilustrație sunt separate - fiecărui fir de program îi este alocată jumătate din sloturi. Niciun fir nu poate restricționa munca celuilalt. Blocul de distribuție și substituție este, de asemenea, împărțit. Resursele de planificare sunt partajate dinamic, dar se bazează pe un anumit prag, astfel încât niciun fir nu poate ocupa toate sloturile din coadă. Pentru toate celelalte etape ale transportorului are loc separarea completă.
Cu toate acestea, multithreadingul nu este atât de simplu. Chiar și această tehnică progresivă are dezavantaje. Partajarea rigidă a resurselor nu implică o suprasarcină semnificativă, dar partiționarea dinamică, în special în ceea ce privește pragurile, necesită urmărirea consumului de resurse în timpul execuției. În plus, în unele cazuri, programele funcționează semnificativ mai bine fără multithreading decât cu acesta. Să presupunem, de exemplu, că dacă aveți două fire de execuție, fiecare necesită 3/4 din memoria cache pentru a funcționa corect. Dacă ar fi executate pe rând, fiecare ar arăta suficientă eficiență cu un număr mic de erori de cache (după cum știți, asociate cu costuri suplimentare). În cazul execuției paralele, fiecare ar avea semnificativ mai multe rateuri de cache, iar rezultatul final ar fi mai rău decât fără multithreading.
Mai multe informații despre mecanismul multithreading al RepPit 4 pot fi găsite în.

Nou pe site

>

Cel mai popular