Cum se configurează smartphone-uri și PC-uri. Portal informativ

Ce este podul de nisip. Codare audio în diverse formate

Comparație cu procesoarele mobile și desktop

La mijlocul lunii ianuarie am realizat primul studiu al sistemului pe noua platformă. Intel Sandy Pod. Acest test a implicat un prototip de laptop Toshiba A665-3D cu un nou adaptor video NVIDIA și Tehnologia NVIDIA Optimus. Cu toate acestea, după cum se spune, au fost prea deștepți: grafica externă nu era activată pe laptop. Prin urmare, nu avea rost să testăm aplicații care folosesc grafică (în primul rând jocuri). Oricum, unele lucruri nu pot fi testate adecvat pe un eșantion timpuriu și slab funcțional.

Prin urmare, s-a decis retestarea unui alt sistem, iar cazul nu a întârziat să apară. Am testat un alt laptop, Hewlett-Packard DV7, pe o platformă nouă și cu o nouă generație de grafică de la AMD. Adevărat, când testele au fost deja finalizate, au apărut informații despre notoria eroare din podul de sud, din cauza căreia dispozitivele vândute (inclusiv cele mobile) sunt supuse retragerii. Deci și aici rezultatele în sensul strict al cuvântului nu sunt chiar oficiale (conform macar, Hewlett-Packard a cerut returnarea laptopului), dar înțelegem că o eroare (și chiar și așa „teoretică”) nu poate afecta rezultatele testelor.

Cu toate acestea, nu a meritat să lansăm un material separat doar pentru a repeta măsurătorile încă o dată și a le numi definitive. Prin urmare, în această recenzie, ne-am propus mai multe sarcini:

  • verificați rezultatele noului sistem în metoda „mobil”;
  • verificați funcționarea sistemului Overclocking Intel Turbo Boost pe un sistem diferit cu o răcire diferită;
  • comparați versiunile mobile și desktop ale procesorului Pod de nisipîntr-o tehnică de masă pentru testarea sistemelor informatice.

Ei bine, să trecem la testare.

Configurarea participanților la test conform metodei pentru sistemele mobile

După cum sa menționat, comparați performanța subsistemului calculatoare mobile mult mai dificil, deoarece sunt prevăzute pentru testare sub formă de produse finite. Este dificil să tragem concluzii, deoarece mai multe componente pot afecta diferențele de performanță.

Să ne uităm la concurenți sau, mai degrabă, la modificarea compoziției lor în comparație cu testarea anterioară. În primul rând, am decis să eliminăm Core i5-540M din comparație. Aparține liniei mai slabe dual-core, iar în linia Sandy Bridge va corespunde altor modele. Dacă rezultatele acestui procesor sunt atât de importante, pot fi preluate din articolul anterior. În schimb, comparația include Hewlett-Packard Elitebook 8740w, bazat tot pe procesorul Core i7-720QM, și principalul sistem de testare pentru astăzi - Hewlett-Packard Pavillon DV7 pe procesorul Sandy Bridge 2630QM.

Astfel, testul implică două modele pe procesorul Core i7-720QM și două modele pe procesorul Core i7 2630QM. Acest lucru vă va permite nu numai să comparați performanța sistemelor pe un procesor mai vechi și mai nou, ci și să vă asigurați că nivelul de performanță este același pentru două sisteme pe același procesor.

Ei bine, trecem la analiza configurațiilor laptopurilor care participă la testare.

Numele caietuluiHP 8740wASUS N53JqToshiba A665-3DHP DV7
CPUCore i7-720QMCore i7-720QMCore i7-2630QMCore i7-2630QM
Numărul de nuclee4 (8 fire)4 (8 fire)4 (8 fire)4 (8 fire)
Frecvența nominală1,6 GHz1,6 GHz2 GHz2 GHz
Max. Frecvența Turbo Boost2,6 * GHz2,6 * GHz2,9 * GHz2,9 * GHz
Dimensiunea cache-ului LLC6 MB6 MB6 MB6 MB
RAM10 GB10 GB4GB4GB
Subsistemul videoNVIDIA QUADRO FX 2800MNVIDIA GT 425MIntel integ.ATI 6570

* frecvența overclockării automate este indicată dacă procesorul are toate cele patru nuclee sub sarcină. Dacă există două nuclee sub sarcină, atunci frecvența poate crește (de la 2,6 GHz la 2,8 GHz), iar dacă unul, atunci crește până la marcajul maxim (de la 2,6 GHz la 2,9 GHz).

Analizăm datele de pe procesoare necesare pentru comparație. În primul rând, producătorul susține că arhitectura internă a procesorului este optimizată în linia Sandy Bridge, acest lucru ar trebui să aducă un fel de creștere a performanței generale.

Numărul de nuclee și fire de execuție hipertrading este același pentru toți participanții. Cu toate acestea, viteza de ceas este diferită: 720QM are doar 1,6 GHz, în timp ce noile procesoare rulează la 2 GHz. Viteza de limitare a ceasului, însă, nu diferă atât de mult. Faptul este că pentru 720QM frecvența este indicată atunci când sunt implicate patru nuclee, iar pentru 2630QM - când este implicat unul. Dacă are patru nuclee încărcate, atunci frecventa maxima este aceeași 2,6 GHz. Cu alte cuvinte, în starea „overclockată”, procesoarele trebuie să funcționeze aceeasi frecventa(până când se declanșează controlul temperaturii). Doar că Sandy Bridge are o tehnologie de overclocking Intel Turbo Boost mai avansată, care poate păstra frecvența crescută mai mult timp, așa că poate avea un avantaj. Dar este imposibil de prezis exact cum se va comporta overclockarea, deoarece există prea multe dependențe de factori externi.

Să trecem direct la teste.

Comparând performanța liniei de procesoare Sandy Bridge cu generația anterioară în setul de instrumente de cercetare a performanței mobile. Determinarea repetabilității rezultatelor

Pentru teste, am folosit metodologia de testare a laptopului în aplicatii reale proba 2010. În comparație cu cel desktop, setul de aplicații este tăiat în el, dar restul sunt lansate cu aceleași setări (cu excepția jocurilor, setările din acest grup au fost modificate serios, iar parametrii sarcinii de testare pentru programe Photoshop). Prin urmare, rezultatele testelor individuale pot fi comparate cu rezultatele procesoarelor desktop.

Rezultatele evaluării grupuri individuale Aplicațiile din acest material nu pot fi comparate direct cu clasamentele desktop. La testarea performanței laptopurilor, nu sunt lansate toate aplicațiile metodei; prin urmare, ratingul este calculat diferit. Scorurile de referință au fost recalculate pentru sistemele desktop evaluate.

Voi face imediat o rezervare că testele au fost efectuate de două ori pentru fiecare sistem, iar între rulări sistemul a fost reinstalat și ajustat din nou. Cu alte cuvinte, dacă rezultatele testelor par ciudate, atunci ele sunt cel puțin repetabile: pe două sisteme diferite proaspăt instalate, cu un set de drivere actualizat.

Să începem cu aplicațiile profesionale.

Vizualizare 3D

Acest grup conține aplicații care necesită atât performanța procesorului, cât și grafica.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
Lightwave - lucru20,53 22,97 24,87 16,17
Solidworks - lucru52,5 58,83 133,12 60,45
Lightwave - evaluare122 109 101 155
Solidworks - evaluare129 115 51 112
Grup - rating126 112 76 134

Interesant este că ambele sisteme ale „al doilea val” depășesc semnificativ sistemele testate cu o lună și jumătate în urmă ca performanță. Mă întreb ce este asta - influența șoferilor? O altă grafică semnificativ mai puternică în ambele cazuri? Chiar și fără a ține cont de vechile rezultate ale procesorului Sandy Bridge, comparația dintre cele două Core i7-uri arată aceeași relație.

Acum este sigur să spunem că noua generație este mai rapidă. Cu excepția rezultatelor ciudate ale SolidWorks, dar vom reveni la ele în discuția despre rezultatele tehnicii bench-top.

randare 3D

Să vedem cum stau lucrurile în redarea scenei finale. Această redare este realizată de CPU.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
Undă de lumină138,58 131,56 269,89 90,22
3Ds MAX0:10:04 0:10:06 00:21:56 0:07:45
Lightwave - evaluare95 101 49 146
3Ds MAX - evaluare113 112 52 147
Grup - rating104 107 51 147

Permiteți-mi să vă reamintesc că eșantionul Toshiba a arătat rezultate foarte slabe la acest test. Pe de altă parte, într-un sistem complet funcțional, procesorul Sandy Bridge poate atinge o superioritate semnificativă în ambele pachete grafice. În Lightwave, după cum puteți vedea, există o diferență între cele două Core i7-720QM, în timp ce în 3Ds MAX nu există aproape nicio diferență.

Dar în ambele teste este clar că procesorul Core i7-2630QM este semnificativ mai rapid, depășind semnificativ reprezentanții generației anterioare.

Calcule

Să ne uităm la performanța procesoarelor în aplicațiile de calcul matematic.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
Solidworks46,36 45,88 44,02 38,42
MATLAB0,0494 0,0494 0,0352 0,0365
Solidworks - evaluare111 112 117 134
MATLAB - clasament113 113 159 153
Grup - rating112 113 138 144

Ei bine, dar testele de matematică nu simt diferența dintre cele două Core i7-720QM. Din aceasta, putem trage o concluzie preliminară că aceste aplicații răspund minim la alte componente ale sistemului și software.

Procesorul noii generații este mai rapid, dar aici decalajul nu este atât de mare, acest lucru este evident mai ales din cifrele de rating. Din anumite motive, performanța DV7 în benchmark-ul MATLAB este puțin mai mică decât A660.

Să vedem dacă la alte teste decalajul dintre noua generație și cea veche va fi aproximativ același.

Compilare

Testați viteza de compilare a programului folosind compilatorul Microsoft Visual Studio 2008. Acest test răspunde bine la viteza procesorului și a memoriei cache și știe, de asemenea, să folosească multicore.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
Compila0:06:29 0:06:24 0:04:56 0:04:54
Compilare - evaluare123 125 162 163

Diferența de rezultate este mică, cred că poate fi pusă pe seama unei erori. Diferența de performanță dintre cele două generații este semnificativă.

Performanța aplicației Java

Acest benchmark reprezintă viteza de execuție a unui set de aplicații Java. Testul este critic pentru viteza procesorului și reacționează foarte pozitiv la nucleele suplimentare.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
Java79,32 83,64 111,8 105,45
Java - clasament90 94 126 119

Aici, rezultatele sunt ușor, dar vizibil mai mici pentru laptopurile mai noi testate. Nu ne vom întreba de ce s-a întâmplat acest lucru, dar subliniez că rezultatele s-au repetat de două ori. Diferența dintre procesoarele din diferite generații este aproximativ aceeași ca în testul anterior.

Să trecem la sarcinile acasă productive: lucrul cu videoclipuri, sunet și fotografii.

Grafică 2D

Permiteți-mi să vă reamintesc că în acest grup au mai rămas doar două teste, care sunt destul de diverse. ACDSee convertește un set de fotografii din Format RAWîn JPEG, iar Photoshop realizează o serie de operațiuni de procesare a imaginii - aplicarea de filtre etc. Aplicațiile depind de viteza procesorului, dar multi-core este folosit în măsura în care.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
ACDSee0:07:01 0:06:55 0:05:11 0:04:52
Photoshop0:01:17 0:01:17 0:00:49 0:00:51
ACDSee - evaluare108 110 146 156
Photoshop - evaluare426 426 669 643
Grup - rating267 268 408 400

ACDSee demonstrează o oarecare instabilitate a rezultatelor, dar, în general, diferența dintre generații corespunde tendinței, este chiar puțin mai mare.

Evaluările Photoshop nu merită să le acordați atenție din cauza articolului de testat modificat. Aceleași evaluări strică și rating general grupuri. Dar dacă te uiți la timpul de execuție, poți vedea că avantajul este cam același.

Codare audio în diverse formate

Codarea audio în diverse formate audio este o sarcină destul de simplă pentru procesoarele moderne. Wrapper-ul dBPowerAmp este folosit pentru codare. Ea știe să folosească multicore (sunt lansate fluxuri de codare suplimentare). Rezultatul testului este propriile puncte, acestea sunt inverse timpului petrecut la codificare, adică cu cât mai multe, cu atât rezultatul este mai bun.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
măr148 159 241 238
flac199 214 340 343
maimuţă143 155 239 235
mp389 96 150 152
nero85 91 135 142
ogg60 65 92 90
măr - rating90 97 147 145
flac - rating99 106 169 171
maimuță - rating97 105 163 160
mp3 - rating103 112 174 177
nero - rating104 111 165 173
ogg - rating103 112 159 155
Grup - rating99 107 163 164

Testul este destul de simplu, dar în același timp demonstrativ. În mod destul de neașteptat, există o diferență între cele două procesoare Core i7-720QM, și nu în favoarea sistemului recent testat. Procesoarele Sandy Bridge au arătat aproape aceleași performanțe. După cum puteți vedea, avantajul noilor procesoare este foarte semnificativ, mai mult decât în ​​grupele anterioare de teste.

Codificare video

Trei din patru teste codifică un videoclip într-un format video specific. Testul Premiere iese deoparte, în această aplicație scenariul prevede crearea unui film, inclusiv impunerea de efecte, și nu doar codare. Din păcate, Sony Vegas nu a funcționat pe unele sisteme, așa că am eliminat rezultatele pentru acest articol.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
DivX0:05:02 0:05:23 0:04:26 0:04:18
Premieră0:05:04 0:04:47 0:03:38 0:03:35
x2640:10:29 0:10:01 0:07:45 0:07:35
XviD0:03:31 0:03:34 0:02:34 0:02:30
DivX - evaluare86 80 98 101
Premieră - rating101 107 140 142
x264 - evaluare100 105 135 138
XviD - evaluare87 86 119 123
Grup - rating94 95 123 126

Rezultatele codificării în DivX sunt diferite. Din anumite motive, în acest test există o diferență foarte mare pentru sistemele cu 720QM și o diferență foarte mică între generația veche și cea nouă.

În alte teste, diferența este semnificativă, iar diferența dintre generații corespunde aproximativ tendinței generale. Interesant, în Premiere, diferența este aproximativ aceeași ca și în codarea simplă. Apropo, în acest test atrage atenția și marea diferență dintre cele două sisteme 720QM.

În cele din urmă, există mai multe tipuri de sarcini casnice.

Arhivare

Arhivarea este o problemă matematică destul de simplă în care toate componentele procesorului lucrează activ. 7z este mai avansat, deoarece poate folosi orice număr de nuclee și, în general, funcționează mai eficient cu procesorul. Winrar folosește până la două nuclee.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
7-fermoar0:01:57 0:01:55 0:01:30 0:01:27
WinRAR0:01:50 0:01:48 0:01:25 0:01:25
Despachetați (RAR)0:00:50 0:00:49 0:00:42 0:00:41
Evaluare cu 7 fermoar115 117 149 154
WinRAR - evaluare135 138 175 175
Despachetați (RAR) - evaluare140 143 167 171
Grup - rating130 133 164 167

Diferența dintre aceleași procesoare este foarte mică. Din nou, 8740 nu este mult mai rapid decât cele două sisteme 720QM, dar este constant mai rapid. Procesoarele din noua generație sunt semnificativ mai rapide, diferența dintre cele două generații este în general aceeași ca în majoritatea celorlalte grupuri.

Performanță în testele de browser

De asemenea, teste destul de simple. Ambele măsoară performanța în Javascript, care este poate cea mai intensă parte a motorului browserului. Trucul este că benchmark-ul V8 marchează în puncte, în timp ce Sunspider marchează în milisecunde. În consecință, în primul caz, cu cât numărul este mai mare, cu atât mai bine, în al doilea - invers.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
Googlev8-chrome6216 6262 7414 7366
Googlev8-firefox556 555 662 654
Googlev8-adică122 123 152 147
Googlev8-opera3753 3729 4680 4552
Googlev8-safari2608 2580 3129 3103
Sunspider-firefox760 747 627 646
Sunspider-adică4989 5237 4167 4087
Sunspider-opera321 322 275 275
Sunspider-safari422 421 353 354
Googlev8 - clasament134 134 162 160
Sunspider - rating144 143 172 172
Grup - rating139 139 167 166

Comparație în HD Play

Acest test a fost eliminat din benchmark pentru sistemele desktop, dar este încă relevant pentru mobil. Chiar dacă sistemul poate face față decodării unui videoclip complex, într-un laptop este încă foarte important câte resurse sunt necesare pentru a finaliza această sarcină, deoarece încălzirea sistemului și durata de viață a bateriei depind de aceasta ...

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
Hardware H.2642,6 2,5 2,3 1,2
Software H.26419,7 18,9 13,4 14
Hardware H.264 - evaluare631 656 713 1367
Software H.264 - evaluare173 180 254 243

În termeni absoluti, diferența dintre cele două 720QM-uri nu este foarte mare, deși în rating poate părea semnificativă. Este interesant de văzut diferența dintre cele două procesoare Core i7-2630QM în modul folosind accelerare hardware... Un sistem cu grafică AMD arată o încărcare mai mică, dar rezultatele au fost foarte bune când se folosește un adaptor Intel. V modul program ambele sisteme fac o treabă bună de decodare, sarcina procesorului este scăzută. Pentru procesoarele Sandy Bridge, sarcina sistemului este previzibil mai mică.

Să ne uităm la scorul mediu al sistemelor care au participat la teste.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
Evaluarea generală a sistemului128 129 158 173

Deși în unele teste diferența dintre cele două sisteme cu procesoare Intel core i7-720QM a fost tangibil, în general au arătat rezultate aproape identice.

Performanța unui sistem complet funcțional și funcțional cu un procesor Core i7-2630QM este mult mai mare decât cea a eșantionului pe care l-am testat mai devreme. Pe baza acestor rezultate, este deja posibil să tragem concluzii despre performanța platformei.

Și aceste constatări sunt acea performanță noua platforma Sandy Bridge este cu aproximativ 35% (în funcție de aplicațiile utilizate) mai mare decât platforma folosită din generația anterioară. Desigur, concluziile nu sunt încă definitive. Cel puțin cipurile au frecvențe diferite. Oricum, în raport cu noile procesoare Intel, un astfel de concept precum „frecvența ceasului” a devenit mai degrabă iluzoriu, pentru că avem tehnologia Intel Turbo Boost.

Verificarea funcționării sistemului Intel Turbo Boost

Procesoarele din seria Sandy Bridge includ o noua versiune Tehnologia Intel Turbo Boost, care are un control mult mai mare asupra vitezei procesorului. Sistemul de monitorizare și control a devenit mult mai sofisticat și mai inteligent. Acum poate lua în considerare mulți parametri: ce nuclee și cât de încărcate, temperatura procesorului și componente individuale(adică sistemul poate monitoriza și preveni supraîncălzirea locală).

Deoarece controlul asupra temperaturii și încărcăturii a devenit mai eficient, procesorul are nevoie de o marjă de siguranță mai mică pentru a funcționa stabil și eficient în orice condiții externe (în primul rând, temperatură). Acest lucru vă permite să utilizați mai eficient capacitățile sale. De fapt, acest sistem este un overclocking controlat: frecvența de operare este crescută, iar controlul nu permite procesorului să depășească condițiile de funcționare sigure și să piardă stabilitatea sau să se defecteze. Dacă procesorul care funcționează la o frecvență crescută devine prea fierbinte, sistemul de monitorizare va scădea el însuși frecvența și tensiunea de alimentare la limite sigure.

În plus, sistem nou controlul accelerației este capabil să țină cont de „efectul de inerție”. Când procesorul este rece, frecvența poate crește foarte mare pentru o perioadă scurtă de timp, procesorul poate chiar depăși limita de disipare a căldurii specificată de producător. Dacă sarcina este pe termen scurt, procesorul nu va avea timp să se încălzească temperaturi extreme sau dacă sarcina durează mai mult, procesorul se va încălzi și sistemul va scădea temperatura la limite sigure.

Astfel, procesorul Sandy Bridge are trei poziții de funcționare:

Mecanismele de economisire a energiei sunt activate, procesorul funcționează la o frecvență joasă și subtensiune. Sistemul Intel Turbo Boost este activat, procesorul este overclockat la frecvența maximă de overclocking permisă (depinde de câte nuclee și de modul în care sunt încărcate), tensiunea de alimentare crește. Procesorul rulează la această viteză de ceas atâta timp cât temperatura de bază o permite. Procesorul, atunci când pragurile de încărcare sau încălzire sunt depășite, revine la frecvența de ceas la care este garantat să funcționeze stabil. De exemplu, pentru 2630QM această frecvență este indicată ca 2 GHz, această frecvență este indicată în specificații și producătorul garantează că procesorul va putea menține această frecvență atât timp cât este necesar, sub rezerva condițiilor externe specificate. Intel Turbo Boost vă permite să creșteți frecvența de funcționare, dar parametrii și frecvența de funcționare a acestuia depind de condițiile externe, astfel încât producătorul nu poate garanta că acest sistem va funcționa întotdeauna la fel.

Cu toate acestea, aceste informații pot fi culese de la prima recenzie. Ca o reamintire, la primul test procesorul a lucrat cu următorii parametri în timpul inactiv:

  • Simplu: 800 MHz, tensiune de alimentare 0,771 V.
  • Sarcină (toate nucleele, maxim): frecvență 2594 MHz (multiplicator 26), tensiune de alimentare 1,231 V.
  • Sarcina (după aproximativ 5 minute de funcționare) este fie de 2594 MHz (multiplicatorul 26) fie de 2494 MHz (multiplicatorul 25).
  • Încărcare (după aproximativ 7-8 minute de funcționare) - 1995 MHz (multiplicator 20). Tensiune 1.071 V. Sistemul a revenit la parametrii stabili de funcționare stabiliți de producător.

Să vedem cât va rezista Hewlett-Packard DV7 în poziția overclockată.

Lansăm programe de monitorizare a stării procesorului.

Frecvența de funcționare și tensiunea sunt aceleași ca în testarea anterioară. Să aruncăm o privire la citirile de temperatură.

Totul este liniștit, temperaturile sunt relativ scăzute - 49 de grade. Pentru un procesor de înaltă performanță, acest lucru nu este mult. Observați diferența de temperatură dintre primul și al patrulea miez.

Lansa test de sarcină... Permiteți-mi să vă reamintesc că încarcă toate nucleele deodată, așa că nu vom vedea numerele maxime (2,9 GHz) în Intel Turbo Boost.

După cum puteți vedea, tensiunea a crescut la 1.211 Volți, frecvența a devenit 2594 MHz din cauza multiplicatorului modificat, acum este 26. Procesorul începe să câștige rapid temperatura, ventilatorul de răcire începe să sune mai tare.

Ei bine, să vedem cât va rezista procesorul când va trece la frecvența nominală.

A trecut un minut, e clar că temperaturile încep să se stabilizeze.

Au trecut cinci minute și temperaturile s-au stabilizat. Din anumite motive, temperaturile primului și al patrulea nucleu diferă cu 10 grade. Diferența de temperaturi este prezentă în toate testele, chiar și în timpul inactiv este sesizabilă. Nu mă voi pretinde să spun de ce se întâmplă asta.

Au trecut 15 minute de la începutul testării. Temperaturile sunt stabile, sistemul de răcire face față. Viteza ceasului rămâne la 2,6 GHz.

Au trecut 48 de minute. Laptopul continuă să funcționeze sub sarcină, temperaturile sunt stabile (bine, au crescut cu un grad). Frecvența ceasului este aceeași:

Ei bine, cel puțin iarna și într-o cameră nu foarte fierbinte, DV7 poate funcționa cu frecvența maximă disponibilă pentru un timp nelimitat. Sistemul de răcire are suficientă putere pentru ca Intel Turbo Boost să păstreze frecvența maximă de overclocking disponibilă fără probleme. Teoretic, ar fi posibil să se mai overclockeze procesorul.

Această constatare diferă de rezultatele anterioare. Acum puteți vedea ce merită cumpărat laptop de calitate: Dacă designerii au făcut o treabă bună la crearea sistemului de răcire, veți primi dividende nu numai sub forma unei carcase de înaltă calitate și robuste, ci și în performanță!

Ei bine, acum trecem la a doua parte foarte interesantă a articolului: compararea procesorului mobil Core i7-2630QM cu procesoarele desktop din seria Sandy Bridge într-o metodă de testare desktop.

Comparație între procesorul mobil Core i7-2630QM și procesoarele desktop Sandy Bridge

Pentru comparație, folosim rezultatele studiului nostru asupra procesoarelor desktop Core i7 și Core i5 pe nucleul Sandy Bridge.

Să comparăm configurațiile participanților, inclusiv în tabel informații despre Core i7-2630QM.

CPUCore i5-2300Core i5-2400Core i5-2500 / 2500KCore i7-2600/2600KCore i7-2630QM
Numele nucleuluiPod de nisipPod de nisipPod de nisipPod de nisipPod de nisip
Tehnologia perspectivei32 nm32 nm32 nm32 nm32 nm
Frecvența de bază (std/max), GHz2,8/3,1 3,1/3,4 3,3/3,7 3,4/3,8 2,0/2,9
Începeți factorul de multiplicare28 31 33 34 20
Flux de lucru Turbo Boost3-2-2-1 3-2-2-1 4-3-2-1 4-3-2-1 n / A
Număr de miezuri / fire4/4 4/4 4/4 4/8 4/8
Cache L1, I/D, KB32/32 32/32 32/32 32/32 n / A
Cache L2, KB4 × 2564 × 2564 × 2564 × 256n / A
Cache L3, MiB6 6 6 8 6
RAM2 × DDR3-1333
Nucleul grafic GMA HD2000 2000 2000/3000 2000/3000 3000
Frecvența nucleului grafic (max), MHz1100 1100 1100 1350 1100
PrizăLGA1155LGA1155LGA1155LGA1155n / A
TDP95 wați95 wați95 wați95 wați45 wați

Viteza de ceas a procesorului mobil este mai mică, ceea ce este evident. În modul Turbo Boost maxim, îl depășește ușor pe desktop-ul mai tânăr Core i5, care funcționează fără Turbo Boost, dar nimic mai mult. Dar pachetul termic este mult mai mic - mai mult de jumătate. În plus, are mai puțină memorie cache de ultimul nivel la doar 6MB. Dintre avantaje, este de remarcat faptul că procesorul mobil are patru nuclee și opt fire de calcul, deoarece acesta este un Core i7. Cel puțin un avantaj față de desktop-ul de gamă inferioară Core i5. Să vedem ce va rezulta în practică.

Din păcate, o comparație cu drepturi depline nu a funcționat oricum. Unele pachete din metoda desktop nu au pornit (de exemplu, Pro / Engineer a rămas stabil pe sistemul nostru de testare), ca urmare, a trebuit să le aruncăm rezultatele din rating, ceea ce înseamnă că evaluarea în sine s-a schimbat în comparație cu evaluările. din materialul principal.

Să trecem la teste. Expresia „testul nu a început” înseamnă că testul nu a început pe laptopul nostru, prin urmare rezultatele tuturor participanților la test au fost eliminate. În acest caz, ratingurile sunt recalculate.

Conform rezultatelor, este imediat clar că procesorul mobil pierde destul de serios în fața celui desktop - nu poate atinge nivelul de performanță nici măcar al procesorului junior al noii linii de desktop. Rezultatele unui procesor desktop Core i7, în opinia mea, sunt destul de slabe, cu toate acestea, ar trebui să fie mult mai puternic decât linia Core i5, conform rezultatelor, dependența pare a fi liniară. Rezultatele Solidworks sunt, în general, aproape aceleași pentru toate sistemele desktop. Acest benchmark nu-i pasă care este viteza CPU?

Să aruncăm o privire la viteza de redare a scenelor 3D.

Core i5-2300Core i5-2400Core i5-2500 / 2500KCore i7-2600/2600KCore i7-2630QM
3ds max181 195 207 233 157
Undă de lumină153 168 180 234 161
Maya142 170 181 240 165
Redare159 178 189 236 161

Aici situația este puțin mai distractivă - sistemul mobil a ajuns totuși la nivelul sistemului desktop pentru juniori. Cu toate acestea, desktop-ul Core i7 este cu mult înainte în toate benchmark-urile. Pentru comparație, iată rezultatele absolute de la unul dintre repere, Maya. Rezultatul acestui test este timpul petrecut pe proiect, care este mai ilustrativ decât scorurile la alte teste.

Core i5-2300Core i5-2400Core i5-2500 / 2500KCore i7-2600/2600KCore i7-2630QM
Maya00:08:47 00:07:20 00:06:52 00:05:11 00:07:34

După cum puteți vedea, chiar și cu un timp nu foarte lung pentru redarea proiectului, diferența este semnificativă. În cazul proiectelor mai complexe, ar trebui să fie și mai mare.

Să trecem la următorul test.

Aproape toate aplicațiile folosesc calcule matematice complexe, deci o riglă desktop cu mai multe frecventa inalta va fi evident înainte. În același timp, sunt foarte confuz de diferența prea mică dintre desktopul Core i5-2500 și Core i7-2600, în unele aplicații chiar pierde un procesor mai puternic. Este hiperdreading-ul într-adevăr atât de ineficient în aceste aplicații încât nici măcar diferența de viteză a ceasului nu poate compensa încetinirea pe care o provoacă? Acest lucru este cu atât mai interesant, cu cât într-un procesor mobil configurația de bază este aceeași ca în seria 2600 și, în general, nu este atât de mult în urmă procesorului desktop junior, având în vedere diferența de frecvențe de operare dintre ele.

Și trecem la teste mai puțin profesionale și mai comune. Și să începem cu grafică bitmap... Din păcate, unul dintre teste nu a început, ceea ce a afectat din nou imaginea testelor.

Și din nou, sistemul mobil este constant la un nivel ușor sub cel mai tânăr soluție desktop. Și apoi în detrimentul în mod neașteptat rezultat ridicatîn Photoimpact, altfel imaginea ar fi și mai tristă. Pentru claritate, voi da rezultatele pentru două pachete în cifre absolute.

Core i5-2300Core i5-2400Core i5-2500 / 2500KCore i7-2600/2600KCore i7-2630QM
ACDSee00:04:20 00:03:59 00:03:46 00:03:34 00:04:57
Photoshop00:03:36 00:03:15 00:03:07 00:02:58 00:04:00

În acest fel, puteți estima diferența specifică în timpul necesar pentru finalizarea sarcinii.

Să trecem la testele de arhivare. Acestea sunt calcule simple care sunt bune atât la viteză, cât și la prezența unor nuclee suplimentare de procesor (deși există întrebări cu acest lucru).

Core i5-2300Core i5-2400Core i5-2500 / 2500KCore i7-2600/2600KCore i7-2630QM
7-fermoar140 151 156 213 137
RAR191 207 216 229 173
Despachetați (RAR)179 194 206 219 167
Arhivatorii170 184 193 220 159

Și iar și iar... Dacă te uiți la rezultatele 7-zip, poți vedea că multicore (chiar și sub formă de hyper-threading) plătește dividende semnificative. Dar, se pare, și frecvența de ceas aduce dividende semnificative, pentru că mobilul Core i7 cu opt nuclee din nou nu a ajuns nici măcar la procesorul desktop junior. Și aceeași situație a persistat și în testele Winrar. Dar desktopul Core i7-2600 în testul cu 7 zip merge foarte departe.

Test de compilare, folosind din nou capacitățile matematice ale procesorului...

În testul de performanță al aplicației Java, tendința este în principiu confirmată. Dar decalajul procesorului mobil este și mai mare.

Să aruncăm o privire asupra performanței Javascript în browserele moderne.

Core i5-2300Core i5-2400Core i5-2500 / 2500KCore i7-2600/2600KCore i7-2630QM
Google v8161 176 190 191 148
Păianjenul soarelui156 162 167 170 198
Browser159 169 179 181 173

În timp ce rezultatele de referință ale Google se potrivesc aproximativ cu ceea ce am văzut înainte, ceva este în mod clar în neregulă cu Sunspider. Deși, în principiu, în toate browserele, acest test a funcționat mai repede pe un procesor mobil decât pe toate cele desktop, inclusiv pe desktop Core i7 (care însă, conform rezultatelor, diferă foarte puțin de mai vechiul Core i5).

În general, un rezultat foarte neașteptat al celui de-al doilea test, pe care nu-l pot explica. Poate că ceva a funcționat diferit în software?

Să lăsăm aplicațiile de pe Internet și să trecem la lucrul cu video și audio. Este, de asemenea, un tip de activitate destul de popular, inclusiv pentru computerele mobile.

Core i5-2300Core i5-2400Core i5-2500 / 2500KCore i7-2600/2600KCore i7-2630QM
Apple fără pierderi135 149 154 206 126
FLAC145 159 171 233 144
Audio al maimuței150 165 174 230 139
MP3 (LAME)162 179 191 258 152
Nero AAC154 171 179 250 148
Ogg Vorbis164 179 191 252 147
Audio152 167 177 238 143

Codarea audio nu ne oferă surprize. Core i7-2630QM mobil este puțin mai slab decât toate procesoarele desktop testate, desktopul Core i7 intră în frunte serioasă. Ce se va întâmpla cu codarea video?

Core i5-2300Core i5-2400Core i5-2500 / 2500KCore i7-2600/2600KCore i7-2630QM
DivX146 160 170 157 96
Concept principal (VC-1)153 167 175 187 133
Premieră155 169 178 222 132
Vegas164 177 185 204 131
x264152 165 174 225 136
XviD166 180 190 196 133
Video156 170 179 199 127

Decalajul procesorului mobil s-a lărgit, cu desktopul Core i7 încă cu mult înaintea tuturor celorlalte procesoare, deși decalajul s-a redus.

Ei bine, și unul dintre cele mai „adevărate” teste: jocurile!

Core i5-2300Core i5-2400Core i5-2500 / 2500KCore i7-2600/2600KCore i7-2630QM
Batman131 134 135 134 40
Țările de graniță142 149 157 160 234
DIRT 2109 110 110 110 36
Departe 2200 218 232 237 84
Fritz Chess142 156 166 215 149
Gta iv162 164 167 167 144
Resident Evil125 125 125 125 119
HĂRȚUITOR.104 104 104 104 28
UT3150 152 157 156 48
Crysis: focos127 128 128 128 40
Lumea în conflict163 166 168 170 0
Jocuri141 146 150 155 84

Vreau doar să spun „oh”. Toate jocurile sunt clar împărțite în dependente de CPU și dependente de grafică. Instalarea unui procesor mai puternic poate crește foarte mult viteza în Borderlands, Far Cry 2 și Fritz Chess. Unele jocuri reacționează foarte puțin la procesoare mai puternice, altele nu reacționează deloc. Dacă excludem din considerare World in Confict, unde mobilul Core i7 a obținut 0, atunci ratingul general arată astfel.

Rezultatele au fost dezamăgitoare pentru sistem mobil, și în cea mai mare parte, procesorul nu este de vină pentru asta. Înainte de a trage concluzii, să ne uităm la cifrele absolute de performanță în jocuri.

Core i5-2300Core i5-2400Core i5-2500 / 2500KCore i7-2600/2600KCore i7-2630QM
Batman205 209 210 209 63
Țările de graniță75 79 83 85 124
DIRT 276 77 77 77 25
Departe 276 83 88 90 32
Fritz Chess8524 9368 9982 12956 8936
Gta iv63 64 65 65 56
Resident Evil128 128 128 128 121,6
HĂRȚUITOR.62,9 62,9 63 62,9 17,2
UT3166 169 174 173 53
Crysis: focos57,4 57,6 57,7 57,7 18,1
Lumea în conflict62,6 63,5 64,3 65

După cum puteți vedea, dacă procesoarele desktop arată aproape întotdeauna rezultate destul de bune, atunci sistemul mobil este în multe locuri în pragul de redare sau sub acesta.

Pentru aproape toate jocurile, procesoarele sunt prea rapide, rezultatul final depinde în principal de performanța plăcii video. În același timp, nivelul de performanță al sistemului mobil este mult mai scăzut, ceea ce ne permite să tragem câteva concluzii despre diferența foarte mare dintre soluțiile video desktop și mobile. Diferența față de exemplul testelor noastre este, în medie, de trei ori. Se deosebesc GTA IV și Resident Evil, care arată rezultate similare pe toate sistemele, inclusiv pe mobil.

Într-un program de șah cu consum mare de procesoare, Core i7 mobil funcționează bine între modelele desktop cu buget redus.

Ei bine, să rezumam.

Core i5-2300Core i5-2400Core i5-2500 / 2500KCore i7-2600/2600KCore i7-2630QM
Scor general157 170 180 203 141

Rezultatul general confirmă tendința: una dintre cele mai puternice procesoare mobile Core i7-2360QM nu se poate egala cu nivelul de performanță al procesorului desktop de gamă inferioară din gama mai slabă Core i5. Procesorul desktop Core i7 în performanță este cu mult înaintea chiar și procesoarelor desktop din linia mai tânără, să nu mai vorbim de versiunea mobilă.

Ieșire

Așa că este timpul să tragem concluzii. Permiteți-mi să vă reamintesc câteva dintre rezultatele din materialul anterior.

La prima vedere, Sandy Bridge este într-adevăr un procesor de mare succes. În primul rând, a fost mult îmbunătățit, soluțiile ilogice au fost eliminate (aceleași două cristale separate realizate în funcție de procese tehnice diferite), structura cipului a devenit logică și bine optimizată. Bus-ul de comunicare a componentelor din interiorul procesorului a fost îmbunătățit (care include acum nucleul video!). În al doilea rând, structura nucleelor ​​procesorului a fost optimizată, ceea ce ar trebui să afecteze partea mai buna asupra performanței. Practica confirmă teoria: procesorul pe care l-am avut la test merge mult înainte în performanță față de platforma actuală.

Într-adevăr, în termeni practici Testarea de bază I7-2630QM, care ar trebui să fie cel mai tânăr din noua linie mobilă Core i7, îl depășește serios pe Core i7-720QM, cel mai puternic (sau cel mai puternic) procesor din prima generație Intel mobile Core. Aparent, 2630QM ar trebui să-și ia locul, adică să devină mainstream procesor puternicîn linia Core de a 2-a generație.

În general, putem concluziona că a doua generație de procesoare mobile Core din punct de vedere al performanței este un bun pas înainte. În ceea ce privește celelalte avantaje ale liniei, cred că merită să așteptăm lansarea liniilor inferioare și doar un număr mare de modele pe procesoare noi și chiar și atunci să evaluăm calități ale noii linii precum încălzirea, eficiența energetică, etc.

Cu toate acestea, în comparație cu noile procesoare desktop Sandy Bridge Core i5 și i7, noul Core i7-2630QM mobil încă pierde. Mai mult, platforma mobilă este mai slab stabilă în toate grupurile de testare. Aceasta este o situație normală, deoarece la creare rigle mobile prioritățile nu sunt doar performanța, ci și consumul redus de energie (pentru o durată de viață mai lungă a bateriei) și consumul redus de energie (datorită sistemelor de răcire mai compacte și mai slabe). Merită să ne uităm măcar la pachetul termic al noului procesor mobil, care este de peste două ori (!) mai mic decât cel al versiunilor desktop. Acest lucru are un preț, care include o frecvență nominală mai mică și performanță generală.

Apropo, vorbind de frecvențe. Hewlett-Packard DV7 a prezentat o surpriză plăcută în acest sens (deși este posibil ca în vara fierbinte totul să nu fie atât de roz). Un procesor, presupunând un sistem de răcire bun, poate rula la nesfârșit la o frecvență Turbo Boost maximă de 2,6 GHz, deci este destul de capabil să demonstreze un nivel de performanță mai ridicat decât specificațiile standard. Desigur, nu există nicio garanție că sistemul de răcire va face față vara, iar dacă nu, atunci nivelul performanță reală comparativ cu sistemele desktop se poate dovedi a fi semnificativ mai scăzut decât în ​​testele noastre. Prin urmare, prezența unui sistem de răcire competent într-un laptop cu un nou procesor mobil Core i7 iese în prim-plan.

Revizuirea sa detaliată pe site-ul nostru web (cu toate acestea, suportul pentru somn profund C6 și memoria de joasă tensiune LV-DDR3 a apărut doar în Westmere). Ce este nou în SB?

În primul rând, al doilea tip de senzori de temperatură. O diodă termică familiară, ale cărei citiri sunt „văzute” de către BIOS și utilități, măsoară temperatura pentru a regla viteza ventilatorului și pentru a proteja împotriva supraîncălzirii (reglarea frecvenței și, dacă nu ajută, oprirea de urgență a procesorului). Cu toate acestea, aria sa este foarte mare, deoarece există doar unul dintre ele în fiecare nucleu (inclusiv GPU) și în agentul de sistem. Li se adaugă, în fiecare bloc mare, mai multe circuite analogice compacte cu termotranzistoare. Au un interval de operare mai scurt de măsurători (80–100 ° C), dar sunt necesare pentru a rafina datele diodei termice și pentru a construi o hartă precisă de încălzire cu cristale, fără de care noile funcții TB 2.0 nu pot fi realizate. În plus, controlerul de putere poate folosi chiar și un senzor extern dacă producătorul plăcii de bază îl plasează și îl conectează - deși nu este clar cu ce va ajuta.

S-a adăugat o funcție pentru renumerotarea stărilor C, pentru care istoricul tranzițiilor dintre ele este urmărit pentru fiecare nucleu. Tranziția durează mai mult, cu atât „numărul de somn” în care intră sau iese nucleul este mai mare. Controlerul determină dacă are sens să adormiți nucleul, ținând cont de probabilitatea „trezirii” acestuia. Dacă se așteaptă un astfel de lucru în curând, atunci în loc de sistemul de operare solicitat, nucleul va fi transferat la C3 sau, respectiv, C1, adică într-o stare mai activă care începe să funcționeze mai repede. Destul de ciudat, în ciuda consumului mai mare de energie într-un astfel de vis, economii totale poate să nu fie afectat, deoarece ambele sunt reduse perioade de tranziție timp în care procesorul nu doarme deloc.

Pentru modelele mobile, transferul tuturor nucleelor ​​la C6 determină o resetare și dezactivarea memoriei cache L3 comună pentru bănci tastele de alimentare... Acest lucru va reduce și mai mult consumul atunci când este inactiv, dar este plin de o întârziere suplimentară la trezire, deoarece nucleele vor trebui să rateze de câteva sute sau mii de ori în L3 în timp ce datele și codul necesar sunt pompate acolo. Evident, împreună cu funcția anterioară, acest lucru se va întâmpla numai dacă controlerul este absolut sigur că CPU-ul adoarme mult timp (după standardele de timp ale procesorului).

Core i3 / i5 din generația anterioară au fost un fel de deținători de recorduri în ceea ce privește complexitatea sistemului de alimentare a procesorului de pe placa de bază, necesitând până la 6 tensiuni - mai precis, toate cele 6 erau disponibile înainte, dar nu toate au condus. la procesor. În SB, s-au schimbat nu după număr, ci prin utilizarea:

  • nuclee x86 și L3 - 0,65-1,05 V (separate în Nehalem L3);
  • GPU - în mod similar (în Nehalem, aproape întregul pod de nord, care, ne amintim, a fost al doilea cristal CPU acolo, este alimentat de o magistrală comună);
  • un agent de sistem pentru care frecvența este fixă ​​și tensiunea este constantă 0,8, 0,9 sau 0,925 V (primele două opțiuni sunt pentru modele mobile), sau reglabilă dinamic 0,879–0,971 V;
  • - constant 1,8 V sau reglabil 1,71-1,89 V;
  • driver de magistrală de memorie - 1,5 V sau 1,425-1,575 V;
  • Driver PCIe - 1.05V.

Versiunile reglementate ale magistralei de alimentare sunt folosite în vederile SB deblocate cu litera K. La modelele desktop, frecvența inactivă a nucleelor ​​x86 a fost crescută de la 1,3 GHz la 1,6 GHz, aparent fără a sacrifica economiile. În același timp, un procesor cu 4 nuclee la inactiv complet consumă 3,5-4 wați. Versiunile mobile sunt inactive la 800 MHz și cer și mai puțin. Modele și chipset-uri

Performanţă

Ce face acest capitol într-o prezentare teoretică a microarhitecturii? Și faptul că există un test general recunoscut care a fost folosit timp de 20 de ani (în diferite versiuni) pentru a evalua nu viteza teoretică, ci viteza realizabilă programatic a computerelor - SPEC CPU. El poate evalua în mod cuprinzător performanța procesorului și, în cel mai bun caz, pentru el - atunci când codul sursă al testelor este compilat și optimizat pentru sistemul testat (adică, compilatorul cu biblioteci este, de asemenea, verificat în trecere). Prin urmare, util programele se vor dovedi a fi mai rapide doar cu inserții scrise de mână în assembler, care astăzi sunt programatori temerari rari cu o marjă mare de timp. SPEC poate fi clasificat ca teste semi-sintetice, deoarece nu calculează nimic util și nu oferă numere specifice (IPC, flops, timings etc.) - "papagalii" unui CPU sunt necesari doar pentru comparație cu altele.

Intel oferă de obicei rezultate pentru procesoarele lor aproape simultan cu lansarea lor. Dar SB a cunoscut o întârziere de neînțeles de 3 luni, iar cifrele obținute în martie sunt încă preliminare. Nu este clar ce anume îi reține, dar este totuși mai bine decât situația cu AMD, care nu a lansat rezultate oficiale ultimul lor procesor. Următoarele cifre pentru Opteron sunt date de producătorii de servere care utilizează un compilator Intel, astfel încât aceste rezultate pot fi sub-optimizate: ce Setul de instrumente software al Intel poate face cu executarea codului pe un procesor „străin”. ;)


Comparația sistemelor în testele SPEC CPU2006. Tabel alcătuit de David Kanter din martie 2011.

În comparație cu procesoarele anterioare, SB arată rezultate excelente (în sensul literal) în ceea ce privește absolut și complet record pentru fiecare nucleu și gigaherți. Pornirea HT și adăugarea a 2 MB la L3 oferă + 3% vitezei reale și + 15% numărului întreg. Cu toate acestea, modelul cu 2 nuclee are cea mai mare viteză specifică, iar aceasta este o observație instructivă: evident, Intel a folosit AVX, dar din moment ce un câștig întreg este încă imposibil de obținut, se poate aștepta o accelerare bruscă doar a indicatorilor reali. Dar chiar și pentru ei nu există niciun salt, ceea ce este arătat de o comparație a modelelor cu 4 nuclee - iar rezultatele pentru i3-2120 dezvăluie motivul: având aceleași 2 canale IKP, fiecare nucleu primește de două ori lățimea de bandă, care este reflectată de o creștere cu 34% a vitezei reale specifice. Aparent, memoria cache L3 de 6-8 MB este prea mică, iar scalarea propriei lățimi de bandă în detrimentul magistralei inelare nu ajută. Acum este clar de ce Intel intenționează să echipeze serverele Xeon cu ICP-uri cu 3 și chiar 4 canale. Numai că acum cele 8 nuclee de acolo nu sunt deja suficiente pentru a fi implementate la maximum...

Actualizare: Au apărut rezultatele finale SB - cifrele (cum era de așteptat) au crescut ușor, dar concluziile calitative sunt aceleași. Perspective și rezultate

Succesorul de 22 nm al Sandy Bridge, Ivy Bridge, care va fi lansat în primăvara lui 2012, este deja binecunoscut. Sâmburi scop general va suporta un subset ușor actualizat de AES-NI; este destul de posibilă și „gratuită” copierea registrelor în stadiul de redenumire. Nu sunt așteptate îmbunătățiri în Turbo Boost, dar GPU-ul (care, apropo, va funcționa pe toate versiunile de chipset) va crește numărul maxim de FU-uri la 16, va suporta conectarea nu a două, ci a trei ecrane și va dobândi în sfârșit suport normal pentru OpenCL 1.1 (împreună cu DirectX 11 și OpenGL 3.1) și va îmbunătăți capacitățile hardware de procesare video. Cel mai probabil, deja în desktop și modele mobile IKP va suporta 1600 MHz, iar controlerul PCIe va suporta versiunea de bus 3.0. Principala inovație tehnologică este că cache-ul L3 va folosi (pentru prima dată în producția de microelectronice de masă!) Tranzistori cu o gate-fin multi-sided (FinFET) dispusă vertical, având caracteristici electrice radical îmbunătățite (detalii - într-unul dintre următoarele. articole). Se zvonește că versiunile GPU vor deveni din nou multi-GPU, doar că de data aceasta unul sau mai multe cristale de memorie video rapide vor fi adăugate la procesor.

Ivy Bridge se va conecta la chipset-uri mai noi (de ex. poduri de sud) Seria 70: Z77, Z75 și H77 pentru acasă (înlocuiește Z68 / P67 / H67) și Q77, Q75 și B75 pentru birou (în loc de Q67 / Q65 / B65). Ea(adică cipul fizic sub denumiri diferite) nu va avea în continuare mai mult de două porturi SATA 3.0, iar suportul pentru USB 3.0 va apărea în sfârșit, dar cu un an mai târziu decât concurentul. Suportul PCI încorporat va dispărea (după 19 ani, autobuzul este timpul să se odihnească), dar controlerul subsistem disc Z77 și Q77 vor primi tehnologia Smart Response pentru a crește performanța prin memorarea în cache a unităților folosind SSD-uri. Cu toate acestea, cea mai incitantă veste este că, în ciuda bun vechiÎn mod tradițional, versiunile desktop ale Ivy Bridge nu vor fi doar găzduite în același soclu LGA1155 ca și SB, dar vor fi și compatibile cu acestea - adică plăcile moderne se vor potrivi și cu noul procesor.

Ei bine, pentru entuziaști, un chipset X79 mult mai puternic va fi gata deja în al 4-lea trimestru al acestui an (pentru SB-E cu 4–8 nuclee pentru socket-ul LGA2011 „server-extreme”). Nu va avea încă USB 3.0, dar vor exista 10 din 14 porturi SATA 3.0 (plus suport pentru 4 tipuri de RAID), iar 4 din 8 benzi PCIe pot fi conectate la procesor în paralel cu DMI, dublând „ Lățimea de bandă de comunicare CPU-chipset". Din păcate, X79 nu se va potrivi cu Ivy Bridge cu 8 nuclee.

Ca o excepție (și poate o nouă regulă), nu vom oferi o listă cu ceea ce am dori să îmbunătățim și să reparăm în Sandy Bridge. Este deja evident că orice schimbare este un compromis complex - strict conform legii conservării materiei (în formularea lui Lomonosov): dacă ceva ajunge undeva, atunci undeva aceeași cantitate va scădea. Dacă Intel s-a grăbit să corecteze greșelile vechiului în fiecare arhitectură nouă, atunci numărul de lemn spart și așchii zburătoare ar putea depăși beneficiile obținute. Prin urmare, în loc de extreme și un ideal de neatins, este mai profitabil din punct de vedere economic să cauți un echilibru între cerințele în continuă schimbare și uneori opuse.

În ciuda unor defecțiuni, noua arhitectură ar trebui nu numai să strălucească puternic (ceea ce, judecând după teste, face), ci și să le eclipseze pe toate precedentele - atât ale lor, cât și ale rivalului. Obiectivele anunțate de performanță și economie au fost atinse, cu excepția optimizării pentru suita AVX, care este pe cale să apară în versiuni noi ale programelor populare. Și apoi Gordon Moore va fi din nou surprins de sagacitatea sa. Aparent, Intel este complet înarmat pentru lupta epică dintre arhitecturi, pe care o vom vedea anul acesta.

Sunt exprimate mulțumiri:

  • Maxim Loktyukhin, chiar „reprezentantul Intel”, angajat al departamentului de optimizare software și hardware - pentru răspunsul la numeroase întrebări clarificatoare.
  • Mark Buxton, inginer principal de software și șef de optimizare, pentru răspunsurile sale și pentru oportunitatea de a obține un fel de răspuns oficial.
  • Agner Fogh, programator și cercetător procesor - pentru testarea independentă de nivel scăzut a SB, care a dezvăluit o mulțime de noi și misterioase.
  • Cititorului atent - pentru atenție, perseverență și sforăit puternic.
  • Fani furiosi ai taberei opuse - la grămadă.

In cele din urma Intel a anunțat oficial noi procesoare care rulează pe o nouă microarhitectură Pod de nisip... Pentru majoritatea oamenilor, „anunțul Sandy Bridge” este doar cuvinte, dar, în mare, generațiile Intel Core II sunt, dacă nu o nouă eră, atunci cel puțin o actualizare a aproape întregii piețe de procesoare.


Inițial s-a raportat despre lansarea a doar șapte procesoare, dar pe pagina cea mai utilă ark.intel.com au apărut deja informații despre toate noile produse. Au mai fost câteva procesoare, sau mai degrabă modificările lor (în paranteze am indicat prețul aproximativ - cât va costa fiecare procesor dintr-un lot de 1000):

Mobil:

Intel Core i5-2510E (~ 266 USD)
Intel Core i5-2520M
Intel Core i5-2537M
Intel Core i5-2540M

O comparație detaliată alăturată a dispozitivelor mobile procesoare Intel Core i5 de a doua generație.

Intel Core i7-2617M
Intel Core i7-2620M
Intel Core i7-2629M
Intel Core i7-2649M
Intel Core i7-2657M
Intel Core i7-2710QE (~ 378 USD)
Intel Core i7-2720QM
Intel Core i7-2820QM
Intel Core i7-2920XM Extreme Edition

O comparație detaliată, paralelă, a procesoarelor mobile Intel Core i7 de a doua generație.

Desktop:

Intel Core i3-2100 (~ 117 USD)
Intel Core i3-2100T
Intel Core i3-2120 (138 USD)

O comparație detaliată paralelă a procesoarelor desktop Intel Core i3 de a doua generație.

Intel Core i5-2300 (~ 177 USD)
Intel Core i5-2390T
Intel Core i5-2400S
Intel Core i5-2400 (~ 184 USD)
Intel Core i5-2500K (~ 216 USD)
Intel Core i5-2500T
Intel Core i5-2500S
Intel Core i5-2500 (~ 205 USD)

O comparație detaliată, paralelă, a procesoarelor desktop Intel Core i5 de a doua generație.

Intel Core i7-2600K (~ 317 USD)
Intel Core i7-2600S
Intel Core i7-2600 (~ 294 USD)

O comparație detaliată paralelă a procesoarelor desktop Intel Core i7 de a doua generație.

După cum puteți vedea, numele modelelor au acum patru cifre în nume - acest lucru se face pentru a evita confuzia cu procesoarele din generația anterioară. Gama s-a dovedit a fi destul de completă și logică - cele mai interesante serii i7 sunt clar separate de i5 prin prezența tehnologiei Hyper threading și mărimea memoriei cache. Iar procesoarele din familia i3 diferă de i5 nu numai prin mai puține nuclee, ci și prin lipsa tehnologiei Turbo Boost.

Probabil ați observat și literele din numele procesoarelor, fără de care gama s-a subțiet foarte mult. Deci, literele Sși T vorbim despre consum mai mic de energie și LA Este un multiplicator gratuit.

Structura vizuală a noilor procesoare:

După cum puteți vedea, pe lângă nucleele grafice și de calcul, memoria cache și controlerul de memorie, există așa-numitul Agent de sistem- multe lucruri sunt aruncate acolo, de exemplu, memorie DDR3 și controlere PCI-Express 2.0, un model de management al energiei și blocuri care sunt responsabile la nivel hardware de funcționarea GPU-ului integrat și de afișarea unei imagini dacă este folosit. .

Toate componentele „de bază” (inclusiv procesorul grafic) sunt interconectate printr-o magistrală inel de mare viteză, cu acces deplin la memoria cache L3, ceea ce crește rata generală de schimb de date în procesorul însuși; interesant, această abordare vă permite să creșteți performanța în viitor, pur și simplu prin creșterea numărului de nuclee adăugate magistralei. Deși și acum totul promite să fie la cel mai bun nivel - în comparație cu procesoarele din generația anterioară, performanța celor noi este mai adaptabilă și, potrivit producătorului, în multe sarcini este capabilă să demonstreze o creștere cu 30-50% a viteza de executare a sarcinii!

Dacă există dorința de a afla mai multe despre noua arhitectură, atunci în rusă pot sfătui aceste trei articole -,,.

Noile procesoare sunt realizate în întregime și complet conform normelor tehnologiei de proces de 32 nm și au pentru prima dată o microarhitectură „inteligentă vizual” care combină cea mai bună putere de calcul din clasă și tehnologia de procesare grafică 3D pe un singur cip. Există într-adevăr multe inovații în grafica Sandy Bridge, care vizează în principal creșterea productivității atunci când lucrați cu 3D. Se poate argumenta mult timp despre „impunerea” unui sistem video integrat, dar încă nu există o altă soluție ca atare. Dar există un astfel de diapozitiv din prezentarea oficială, care se pretinde a fi plauzibil, inclusiv în produsele mobile (laptop-uri):

Am vorbit deja despre noile tehnologii ale celei de-a doua generații de procesoare Intel Core, așa că nu mă voi repeta. Mă voi opri doar asupra dezvoltării Intel Insider, a cărui apariție mulți au fost surprinși. După cum am înțeles, acesta va fi un fel de magazin care va oferi proprietarilor de computere acces la filme de înaltă definiție direct de la creatorii acestor filme - ceva care a apărut anterior doar la ceva timp după anunț și apariție. discuri DVD sau Blu-ray. Pentru a demonstra această caracteristică, Intel VP Mouli Eden(Mooly Eden) invitat pe scenă Kevin Tsujiharu(Kevin Tsujihara), președintele Warner Home Entertainment Group. Citez:

« Warner Bros. găsește sistemele personale cea mai versatilă și răspândită platformă pentru furnizarea de conținut de divertisment de înaltă calitate, iar Intel face acum platforma și mai fiabilă și mai sigură. De acum înainte, cu ajutorul magazinului WBShop, precum și al partenerilor noștri precum CinemaNow, vom putea oferi utilizatorilor de PC noi lansări și filme din catalogul nostru la o calitate HD adevărată.„- Muli Eden a demonstrat munca acestei tehnologii pe exemplul filmului „Inception”. În parteneriat cu studiourile și giganții media de top din industrie (cum ar fi Best Buy CinemaNow, Hungama Digital Media Entertainment, Image Entertainment, Sonic Solutions, Warner Bros. Digital Distribution și alții), Intel creează un sistem sigur și fără piraterie (hardware- ecosistem) pentru distribuția, stocarea și redarea videoclipurilor de înaltă calitate.

Lucrarea tehnologiei de mai sus va fi compatibilă cu două dezvoltări la fel de interesante, care sunt prezente și în toate modelele de procesoare de nouă generație. Vorbesc despre ( Intel WiDi 2.0) și Intel InTru 3-D... Primul este conceput pentru transmiterea fără fir de video HD (cu suport pentru rezoluții de până la 1080p), al doilea este destinat pentru afișarea conținutului stereo pe monitoare sau televizoare de înaltă definiție printr-o conexiune HDMI 1.4.

Încă două funcții pentru care nu am găsit un loc mai bun în articol - Intel Advanced Vector Extensions(AVX). Suportul procesorului pentru aceste comenzi îmbunătățește viteza aplicațiilor cu consum mare de date, cum ar fi editorii audio și software-ul pentru editare profesională fotografii.

… și Intel Quick Sync Video- mulțumită lucrand impreuna cu companii de software precum CyberLink, Corel și ArcSoft, gigantul procesoarelor a reușit să îmbunătățească performanța la această sarcină (transcodare între formatele H.264 și MPEG-2) de 17 ori față de grafica integrată din generația anterioară.

Să presupunem că există procesoare - cum să le folosești? Așa este – alături de acestea au fost anunțate și noi chipset-uri (seturi logice), care sunt reprezentanți ai seriei „șazecea”. Aparent, există doar două seturi pentru Consumatorii însetați, asta este Intel H67și Intel P67 pe care vor fi construite majoritatea noilor plăci de bază. H67 este capabil să lucreze cu nucleul video integrat în procesor, în timp ce P67 este dotat cu funcția Performance Tuning pentru overclockarea procesorului. Toate procesoarele vor funcționa în noul soclu, 1155 .


Mă bucur că se pare că noile procesoare au inclus compatibilitate cu socluri ale procesoarelor Intel cu arhitectura de generație următoare. Acest plus este util atât pentru utilizatorii obișnuiți, cât și pentru producătorii care nu trebuie să reproiecteze și să creeze noi dispozitive.

În total, Intel a introdus peste 20 de cipuri, chipset-uri și adaptoare wireless inclusiv noile procesoare Intel Core i7, i5 și i3, Chipset-uri Intel Seria 6 și adaptoare Intel Centrino Wi-Fi și WiMAX. Pe lângă cele menționate mai sus, pe piață pot apărea următoarele „insigne”:

Peste 500 de modele sunt de așteptat să fie lansate pe procesoare noi în acest an computere desktopși notebook-uri ale celor mai importante mărci din lume.

Și, în sfârșit, încă o dată un videoclip minunat, deodată cineva nu a văzut:

Diferența dintre procesoarele deblocate „complet” și „parțial”.

Care este rezultatul? După ce a încercat Turbo Boost pe generațiile anterioare de procesoare, Intel a decis să-l transforme într-un instrument pentru poziționarea prețurilor reale a produselor sale unul față de celălalt. Anterior, pasionații cumpărau adesea procesoare juniori din serie, de multe ori overclockându-le cu ușurință la nivelul modelelor mai vechi, dar acum diferența de 400 MHz dintre i3-2100 și i3-2120 costă 21 USD și nu vei face nimic în acest sens .

Ambele procesoare deblocate vor costa puțin mai mult decât modelele obișnuite. Această diferență va fi mai mică decât în ​​cazul generațiilor anterioare - 11 dolari pentru modelul 2500 și 23 dolari pentru 2600. Intel încă nu vrea să sperie prea mult overclockerii. Cu toate acestea, acum 216 de dolari este pragul de aderare la club. Overclocking este distractiv și trebuie să plătiți pentru asta. Este clar că o astfel de poziție îi poate trage pe unii utilizatori în tabăra AMD, unde procesoarele de buget sunt foarte bine overclockate.

Overclockarea în sine a devenit mai ușoară în general - cerințele pentru placa de bază și RAM au scăzut, există mai puține bătăi de cap cu timpii și diferiți coeficienți. Dar entuziaștii extremi au de unde să se întoarcă - probabil că vor fi scrise tratate întregi despre ajustarea BCLK.

Nucleul grafic și sincronizare rapidă

Intel a început să îmbunătățească performanța nucleului său grafic integrat odată cu anunțul Clarkdale și Arrandale, dar de data aceasta nu a reușit să-i depășească pe concurenți. În plus, ștacheta a fost stabilită de AMD, care este pe cale să distrugă piața de grafică discretă entry-level. Soluția Intel a apărut mai devreme, dar poate face față sarcinii la îndemână?

Să începem cu faptul că există două soluții. Se numesc HD 2000 si HD 3000, iar diferenta dintre ele consta in numarul diferit de unitati de executie (UE). În primul caz, sunt 6, iar în al doilea - 12. 12 dintre ele au fost tot în GMA HD, dar creșterea productivității datorată integrării și arhitecturii reproiectate s-a dovedit a fi foarte semnificativă. În gama de procesoare desktop Intel, doar câteva procesoare cu un multiplicator deblocat au fost premiate cu grafică avansată. Acestea sunt modelele în care grafica încorporată este cel mai puțin probabil să fie utilizată. Această decizie ni se pare foarte ciudată. Se speră că în viitor Intel va lansa și modificări ale procesoarelor inferioare cu un nucleu grafic complet deblocat.

Din fericire, toate noile procesoare mobile ale companiei sunt echipate cu HD 3000. Intel este hotărât să împingă din greu concurenții din acest segment pentru a facilita atingerea nivelurilor de performanță entry-level.

Performanța graficii integrate nu depinde doar de numărul de UE. Toate Sandy desktop au aceeași frecvență de bază (850 MHz), dar cele mai vechi (2600 și 2600K) au o frecvență Turbo Boost maximă mai mare - 1350 MHz față de 1100 pentru restul. Rezultatul va fi, de asemenea, afectat într-o oarecare măsură de puterea nucleelor ​​de calcul ale procesorului, dar mult mai mult de cantitatea de memorie cache a acestuia. La urma urmei, una dintre caracteristicile principale grafică nouă este utilizarea în comun a cache-ului L3 cu nucleele de calcul, implementată datorită magistralei inelare LLC.

Ca și în cazul procesoarelor Clarkdale, noile produse folosesc accelerarea hardware pentru decodarea MPEG, VC-1 și AVC. Cu toate acestea, acest proces se desfășoară acum mult mai rapid. Ca la „adult” grafică discretă, Procesoarele Sandy Bridge au o unitate separată pentru codificare/decodare video. Spre deosebire de procesoarele din generația anterioară, acesta preia complet această sarcină. Utilizarea accelerației hardware este mult mai benefică din punct de vedere al eficienței energetice, iar performanța în cazul SNB este foarte mare. Intel promite capacitatea de a decoda mai mult de două fluxuri 1080p în același timp. O astfel de performanță poate fi necesară pentru a transcoda rapid videoclipurile existente într-un format potrivit pentru un dispozitiv mobil. Plus bogații capabilități multimedia faceți din SNB cea mai bună alegere atunci când construiți un sistem HTPC.

Soluțiile grafice pentru procesoarele Intel sunt dezvoltate de o divizie separată a companiei. Noile dezvoltări ale acestei divizii sunt, de asemenea, foarte relevante pentru procesoarele mobile ale companiei. Până când proiectul Larrabee, într-o formă sau alta, va obține o dezvoltare adecvată, Intel va trebui să suporte componente „non-x86” în procesoarele lor.

Intel Core i5-2400 și Core i5-2500K

Avem 2 procesoare bazate pe arhitectura Sandy Bridge. În primul rând, modelul 2500K prezintă interes, deoarece are un multiplicator deblocat. În viitor, este posibil ca benchmark-urile modelelor și procesoarelor dual-core din seria i7 să fie publicate separat.

Este finală superioritatea primului Core i (Nehalem și, în 2009, Westmere) față de CPU-ul rivalului? Situația seamănă un pic cu primul an de la lansarea lui Pentium II: odihnindu-ne pe lauri și obținând profituri record, ar fi bine să continuăm arhitectura de succes fără a-și schimba mult denumirea, adăugând altele noi, a căror utilizare va fi semnificativ. îmbunătățirea performanței, fără a uita de alte inovații care accelerează programele de azi. Adevărat, spre deosebire de situația de acum 10 ani, ar trebui să acordați atenție subiectului acum la modă al eficienței energetice, jucat cu adjectivul ambiguu Cool - „cool” și „rece” - și nu mai puțin la modă dorința de a construi totul în procesor. care încă există ca separat. Acesta este sosul sub care se servește noutatea.

„Alaltăieri”, „ieri” și „azi” ale procesoarelor Intel.


Fața transportorului. Culorile arată tipuri diferite informații și blocuri de prelucrare sau stocare.

Previziune

Să începem cu anunțul Intel cu privire la o reelaborare completă (BPU). Ca și în Nehalem, fiecare ciclu de ceas (și înainte de execuția reală) prezice adresa următoarei bucăți de cod de 32 de octeți, în funcție de comportamentul așteptat al instrucțiunilor de salt din porțiunea tocmai prezisă - și, aparent, indiferent de numărul și tipul de tranziții. Mai precis, dacă există o tranziție presupusă declanșată în porțiunea curentă, sunt emise adrese proprii și țintă, în caz contrar - o tranziție la următoarea porțiune la rând. Predicțiile în sine au devenit și mai precise datorită dublării (BTB), alungirii (GBHR) și optimizării funcției hash de acces (BHT). Adevărat, testele reale au arătat că, în unele cazuri, eficiența predicției este încă puțin mai slabă decât în ​​Nehalem. Poate că creșterea performanței cu scăderea consumului nu este compatibilă cu predicția bună a ramurilor? Să încercăm să ne dăm seama.

În Nehalem (precum și în alte arhitecturi moderne) BTB este prezent sub forma unei ierarhii cu două niveluri - mic - "rapid" L1 și mare - "lent" L2. Acest lucru se întâmplă din același motiv pentru care există mai multe niveluri: o soluție cu un singur nivel se va dovedi a fi prea compromisă în toți parametrii (dimensiune, viteza de răspuns, consum etc.). Dar în SB, arhitecții au decis să pună un nivel, iar dimensiunea este de două ori mai mare decât L2 BTB de la Nehalem, adică probabil cel puțin 4096 de celule - atâtea dintre ele sunt în Atom. (Trebuie remarcat faptul că dimensiunea codului cel mai frecvent executat crește încet și se încadrează din ce în ce mai puțin în cache, a cărui dimensiune este aceeași pentru toate procesoarele Intel de la primul Pentium M.) În teorie, aceasta va crește zona ocupată de BTB, deoarece suprafața totală se va schimba nu este recomandată (aceasta este una dintre principiile inițiale ale arhitecturii) - trebuie să luați ceva din altă structură. Dar există și viteză. Având în vedere că SB ar trebui proiectat pentru o viteză puțin mai mare cu aceeași tehnologie de proces, vă puteți aștepta ca această structură mare să fie blocajul întregului transportor - cu excepția cazului în care îl conductați (două sunt deja suficiente). Adevărat, numărul total de tranzistoare care funcționează pe ciclu în BTB se va dubla, ceea ce nu contribuie deloc la economiile de energie. Din nou fundătură? Intel răspunde la asta că noul BTB stochează adresele într-o anumită stare comprimată, ceea ce vă permite să aveți de două ori mai multe celule cu aceeași suprafață și consum. Dar nu este încă posibil să verificăm acest lucru.

Privim din cealaltă parte. SB a primit nu algoritmi noi de predicție, ci i-a optimizat pe cei vechi: generali, pentru ramuri indirecte, bucle și backtrack. Nehalem are GBHR și BHT de 18 biți de dimensiune necunoscută. Cu toate acestea, puteți garanta că numărul de celule din tabel este mai mic de 2 18, altfel ar ocupa cea mai mare parte a nucleului. Prin urmare, există o funcție hash specială care pliază 18 biți din istoricul tuturor tranzițiilor și biții adresei instrucțiunii într-un index mai scurt. Mai mult, cel mai probabil, există cel puțin două hashuri - pentru toți biții GBHR și pentru cei care reflectă declanșarea celor mai dificile tranziții. Și acum eficiența distribuției haotice a indicilor diferitelor modele de comportament în funcție de numărul de celule BHT determină succesul predictorului general. Deși nu a fost menționat în mod explicit, Intel a îmbunătățit cu siguranță hash-urile, ceea ce a făcut posibilă utilizarea GBHR-urilor mai lungi, cu o eficiență nu mai mică de umplutură. Dar încă puteți ghici despre dimensiunea BHT - precum și despre modul în care consumul de energie al predictorului s-a schimbat de fapt în general ... În ceea ce privește (RSB), este încă 16 adrese, dar a fost introdusă o nouă limitare pentru apeluri ei înșiși - nu mai mult de patru pe 16 octeți de cod.

Până să mergem mai departe, să spunem despre o ușoară discrepanță între teoria declarată și practica observată - și a arătat că predictorul de ciclu din SB este eliminat, drept urmare predicția tranziției finale la începutul ciclului este făcută de algoritmul general, adică mai rău. Un purtător de cuvânt al Intel ne-a asigurat că nimic nu ar trebui să fie „mai rău”, totuși...

Decodare și IDQ

Adresele comenzilor executabile prezise din timp (alternativ pentru fiecare thread - cu tehnologia activată) sunt emise pentru a verifica prezența acestora în cache-urile de instrucțiuni (L1I) și (L0m), dar vom păstra tăcerea despre acestea din urmă - vom descrie restul frontului deocamdată. În mod ciudat, Intel a păstrat dimensiunea porțiunii de instrucțiuni citite din L1I la 16 octeți (aici cuvântul „porțiune” este înțeles după al nostru). Până acum, acesta a fost un obstacol pentru cod, a cărui dimensiune medie a instrucțiunii a depășit 4 octeți și, prin urmare, 4 instrucțiuni care sunt de dorit pentru execuție pe ciclu nu se vor mai încadra în 16 octeți. AMD a rezolvat această problemă în arhitectura K10 prin extinderea blocului de instrucțiuni la 32 de octeți - deși CPU-urile sale nu au mai mult de 3 conducte până acum. În SB, inegalitatea dimensiunilor duce la un efect secundar: predictorul emite următoarea adresă a unui bloc de 32 de octeți, iar dacă o tranziție (probabil) declanșată este găsită în prima jumătate a acesteia, atunci nu este necesar să citiți și să decodați al doilea - totuși, se va face.

Din L1I, porțiunea merge la pre-decodor, iar de acolo - la lungimea în sine (), care procesează până la 7 sau 6 comenzi/ciclu (cu și fără; Nehalem ar putea avea maximum 6), în funcție de acestea. lungime totală și complexitate. Imediat după tranziție, procesarea începe cu comanda la adresa țintă, în caz contrar - de la octetul înainte de care pre-decodorul s-a oprit cu un ceas mai devreme. La fel și cu punctul final: fie aceasta este o tranziție (probabil) declanșată, a cărei adresa ultimului octet a provenit de la BTB, fie ultimul octet al fragmentului în sine - cu excepția cazului în care se atinge limita de 7 instrucțiuni/ceas, fie un este întâlnită comanda „incomod”. Cel mai probabil, tamponul contorului de lungime are doar 2-4 porțiuni, dar contorul de lungime poate primi orice 16 consecutiv octet. De exemplu, dacă la începutul porțiunii sunt recunoscute 7 instrucțiuni pe dublu octet, atunci în ciclul următor puteți procesa încă 16 octeți, începând cu al 15-lea.

Lungimetrul, printre altele, se ocupă cu detectarea perechilor de comenzi macro-imbinate. Despre perechile în sine vom vorbi puțin mai târziu, dar deocamdată, rețineți că, la fel ca în Nehalem, nu poate fi detectată mai mult de o astfel de pereche pentru fiecare ceas, deși maximum dintre ele ar putea fi marcate cu 3 (și încă una singură. comanda). Cu toate acestea, măsurarea lungimii instrucțiunilor este un proces parțial secvenţial, deci nu ar fi posibilă determinarea mai multor perechi macro-imbinate în timpul unui ciclu.

Comenzile etichetate se încadrează într-una dintre cele două comenzi (IQ: coada de instrucțiuni) - una pe fir, câte 20 de comenzi fiecare (care este cu 2 mai multe decât a lui Nehalem). citește alternativ comenzile din cozi și le transferă pe mop. Are 3 simple (traduceți 1 comandă în 1 mop și cu macro-merge - 2 comenzi în 1 mop), un translator complex (1 comandă în 1–4 mop sau 2 comenzi în 1 mop) și un micro-sequencer pt. cele mai complexe comenzi care necesită 5 și mai multe ștergere. Mai mult, stochează doar „cozile” fiecărei secvențe, începând de la al 5-lea mop, deoarece primele 4 sunt produse de un traducător complex. Mai mult decât atât, dacă numărul de mopuri din microprogram nu este divizibil cu 4, atunci ultimele lor patru vor fi incomplete, dar nu va funcționa să se introducă încă 1-3 mop de la traducători în același ciclu. Rezultatul decodării vine și iese două (unul pe flux). Acestea din urmă (numite oficial IDQ - coada de decodare a instrucțiunilor) au încă 28 de uop-uri și capacitatea de a bloca bucla dacă partea sa executabilă se potrivește acolo.

Toate acestea (cu excepția mopului cache) erau deja în Nehalem. Care sunt diferențele? În primul rând, evident, decodorul a fost învățat să se ocupe de noi comenzi de subseturi. Suportul pentru seturile SSE din toate cifrele nu mai este surprinzător, iar accelerarea comenzii (inclusiv PCLMULQDQ) a fost adăugată la Westmere (versiunea de 32 nm a lui Nehalem). Am pus o capcană: această funcție nu funcționează pentru comenzile care au atât o adresare constantă, cât și o adresare relativă RIP (relativă RIP, adresa este relativă la indicatorul de comandă - modul obișnuit acces la date în cod pe 64 de biți). Astfel de comenzi necesită 2 mop (încărcare și funcționare separate), ceea ce înseamnă că decodorul le va procesa nu mai mult de unul pe ciclu, folosind doar un traducător complex. Intel susține că aceste sacrificii sunt făcute pentru a economisi energie, dar nu este clar ce anume: dubla plasare, execuție și mopurile vor ocupa evident mai multe resurse, ceea ce înseamnă că vor consuma energie decât una.

Macro-merge a fost optimizată - anterior, doar o comparație aritmetică sau logică (CMP sau TEST) putea fi folosită ca primă comandă de îmbinare, acum instrucțiuni aritmetice simple pentru adunare și scădere (ADD, SUB, INC, DEC) și logice " AND" (ȘI) sunt permise, precum și schimbarea pentru tranziție (a doua echipă a perechii). Acest lucru face posibilă reducerea ultimelor 2 comenzi la 1 mop în aproape orice ciclu. Desigur, restricțiile privind comenzile îmbinate rămân, dar nu sunt critice, deoarece situațiile enumerate pentru o pereche de comenzi sunt aproape întotdeauna executate:

  • prima din prima comandă trebuie să fie un registru;
  • dacă al doilea operand al primei comenzi este în memorie, adresarea relativă RIP este invalidă;
  • a doua comandă nu poate fi la începutul sau la granițele liniei transversale.

Regulile pentru tranziția în sine sunt următoarele:

  • doar TEST și AND sunt compatibile cu orice condiție;
  • comparațiile cu (nu) egali și orice semnate sunt compatibile cu orice primă comandă permisă;
  • comparațiile pentru (ne) silabe și orice comparații nesemnate nu sunt compatibile cu INC și DEC;
  • alte comparații (semn, overflow, paritate și negativele lor) sunt valabile doar pentru TEST și AND.

Principala schimbare în cozile de mop este mop-urile combinate de tip, în care accesul la memorie necesită citirea registrului index, (și câteva tipuri mai rare) sunt împărțite în perechi atunci când scrieți în IDQ. Chiar dacă există 4 astfel de mopuri, atunci toate cele 8 în total vor fi înregistrate în IDQ. Acest lucru se face deoarece în cozile de mop (IDQ), dispecer (ROB) și rezervare, formatul abreviat mop este acum utilizat fără un câmp de index pe 6 biți (desigur, pentru a economisi bani la mutarea mopurilor). Se presupune că astfel de cazuri vor fi rare și, prin urmare, nu vor afecta foarte mult viteza.

Vom descrie mai jos istoria modului de blocare a buclei pentru acest buffer, dar aici vom sublinia doar un fleac: trecerea la începutul buclei a durat anterior 1 ciclu suplimentar, formând o „bule” între citirile de la sfârșit. și începutul buclei, dar acum nu este acolo. Cu toate acestea, cele patru dintre mopurile citite pe ciclu nu pot conține ultimul din iterația curentă și primul din următoarea, prin urmare, în mod ideal, numărul de mopuri din buclă ar trebui să fie complet divizibil cu 4. Dar criteriile de blocare au abia schimbat:

  • Loop mops trebuie să fie generat de cel mult 8 bucăți de cod sursă de 32 de octeți;
  • aceste porțiuni trebuie să fie stocate în cache în L0m (în Nehalem, desigur, în L1I);
  • sunt permise până la 8 sărituri necondiționate, estimate a fi declanșate (inclusiv cel final);
  • apelurile și returnările nu sunt permise;
  • apelurile neîmperecheate către stivă sunt inacceptabile (cel mai adesea cu un număr inegal de comenzi PUSH și POP) - mai multe despre asta mai jos.

Stiva motor

Mai există un mecanism, a cărui activitate nu am luat-o în considerare în articolele anterioare - trackerul de indicator al stivei situat în fața IDQ-ului. A apărut pe Pentium M și încă nu s-a schimbat. Esența sa este că modificarea pointerului stivei (registru ESP / RSP pentru modul 32/64 de biți) cu comenzi pentru lucrul cu acesta (PUSH, POP, CALL și RET) se face într-un agregator separat, rezultatul este stocat în un registru special și a revenit la MOP ca constantă - în loc să modifice indicatorul după fiecare comandă, după cum este necesar și așa cum a fost în procesorul Intel înainte de Pentium M.

Acest lucru se întâmplă până când o comandă accesează pointerul direct (și în alte cazuri rare) - motorul de stivă compară indicatorul umbră cu zero și, dacă valoarea este diferită de zero, inserează o sincronizare uop în fluxul de mops înainte de comanda care apelează indicatorul , scriind la pointer valoarea actuală din registrul special (și registrul în sine este resetat). Deoarece acest lucru este rareori necesar, majoritatea apelurilor către stiva care modifică doar implicit pointerul folosesc copia sa umbră, care este modificată simultan cu alte operațiuni. Adică, din punctul de vedere al blocurilor de conducte, astfel de instrucțiuni sunt codificate de un singur mop îmbinat și nu diferă de accesele obișnuite de memorie, fără a necesita procesare în ALU.

Un cititor atent (bună-amiaza!) Va observa o conexiune: atunci când faceți bucla la o coadă de mop, apelurile neîmperecheate către stivă sunt inacceptabile tocmai pentru că motorul stivei este în curs. inainte de IDQ - dacă după următoarea iterație valoarea indicatorului de umbră se dovedește a fi diferită de zero, va trebui să inserați un synchromop în cel nou, dar acest lucru este imposibil în modul ciclic (mopurile sunt citite doar din IDQ). În plus, motorul stivei este oprit complet pentru a economisi energie, la fel ca toate celelalte părți din față.

Viața secretă a nop

O altă modificare a afectat contorul de lungime, dar acest caz iese oarecum în evidență. În primul rând, să ne amintim ce sunt și de ce sunt necesare. Cândva, în arhitectura x86, nop avea doar 1 octet. Când era necesar să se schimbe codul cu mai mult de 1 octet sau să înlocuiască comenzile mai lungi de 1 octet, dar l-au introdus de mai multe ori. Dar, în ciuda faptului că această comandă nu face nimic, timpul este încă cheltuit pentru decodarea ei și proporțional cu numărul de nop. Pentru a preveni scăderea performanței programului „pattched”, butonul poate fi prelungit. Cu toate acestea, în CPU-ul anilor 90, rata de decodare a instrucțiunilor cu un număr de prefixe peste o anumită valoare (care este mult mai mică decât lungimea maximă admisă a unei instrucțiuni x86 de 15 octeți) a scăzut brusc. În plus, în special pentru nopa, prefixul este folosit, de regulă, de un singur tip, dar repetat de mai multe ori, ceea ce este permis doar ca o excepție nedorită, complicând ecartamentul de lungime.

Pentru a rezolva aceste probleme începând cu Pentium Pro și procesoare Athlonînțelegeți „long nop” cu byte-ul modR / M pentru a prelungi „oficial” comanda folosind registre și offset de adresă. Desigur, nu au loc operații cu memorie și registre, dar la determinarea lungimii se folosesc aceleași blocuri de metri de lungime ca și pentru instrucțiunile obișnuite pe mai mulți octeți. Acum, utilizarea nodurilor lungi este recomandată oficial atât de tutorialele de optimizare software de nivel scăzut Intel, cât și AMD. Apropo, pre-decodorul SB a înjumătățit (de la 6 la 3 ceasuri) penalizarea pentru prefixele 66 și 67, care modifică lungimea constantei și a deplasării adresei - dar, ca și în Nehalem, penalitatea nu este impusă comenzilor în care aceste prefixe nu schimbă de fapt lungimea (de exemplu, dacă prefixul 66 este aplicat unei comenzi fără un operand imediat) sau fac parte dintr-o listă de comutatoare (care este adesea folosită în codul vectorial).

Lungimea maximă a unui nop lung bine format nu depășește 9 octeți pentru Intel și 11 pentru AMD. Prin urmare, pentru alinierea cu 16 sau 32 de octeți, mai pot exista mai multe nopți. Cu toate acestea, deoarece această comandă este simplă, decodarea și „execuția” ei nu vor ocupa resurse în niciun fel. mai multă prelucrare cele mai simple comenzi de operare. Prin urmare, de mulți ani, testarea cu noduri lungi a fost metoda standard determinarea parametrilor frontali ai transportorului, în special, contorul de lungime și decodorul. Și aici Sandy Bridge a prezentat o surpriză foarte ciudată: testarea performanței programelor obișnuite nu a scos la iveală nicio întârziere sau încetinire, dar o verificare sintetică a parametrilor decodorului de serviciu a arătat în mod neașteptat că performanța sa este egală cu o comandă pe ceas! În același timp, Intel nu a făcut niciun anunț oficial despre schimbări atât de radicale în decodor.

Procedura de măsurare a funcționat excelent pe Nehalem și a arătat 4 corect. Puteți da vina pe noul și „excesor de” activ Turbo Boost 2.0, care strică ratele de ceas măsurate, dar pentru teste a fost dezactivat. Supraîncălzirea cu încetinirea frecvenței de accelerare este, de asemenea, exclusă. Și când, în cele din urmă, motivul a fost descoperit, a devenit și mai ciudat: se dovedește că nopurile lungi pe SB sunt procesate doar de primul traducător simplu, deși nop de 1 octet cu orice număr de prefixe și comenzi similare „prin inacțiune” ( de exemplu, copierea unui registru în sine) sunt ușor acceptate toate cele patru. De ce a fost făcut nu este clar, dar cel puțin un dezavantaj al acestui lucru solutie tehnica s-a arătat deja clar: echipa noastră de cercetare a avut nevoie de zece zile pentru a afla motivele lentei misterioase a decodorului... Ca răzbunare, le rugăm pe fanii furioși ai taberei opuse să vină cu o teorie a conspirației despre planurile insidioase. a unei anumite firme I. pentru a deruta naivii curajoşi cercetători ai procesatorilor. :)

Apropo, după cum sa dovedit, traducătorul # 1 era deja „mai egal” printre altele. În Nehalem, comenzile de defilare ciclică (ROL și ROR) cu un operand constant explicit au fost, de asemenea, decodate doar în primul traducător, iar în același ciclu a fost dezactivată al patrulea, astfel încât valoarea IPC a scăzut la 3. S-ar părea - de ce să dau aici un exemplu atât de rar? Dar tocmai din cauza acestui truc, pentru a atinge viteza de vârf pe algoritmi de hashing precum SHA-1, erau necesare layout-uri de comandă foarte precise, cărora compilatorii nu le puteau face față. În SB, totuși, astfel de comenzi au devenit pur și simplu 2-Mops, astfel încât, ocupând un traducător complex (care este deja unul), se comportă aproape imposibil de distins pentru CPU, dar mai previzibile pentru o persoană și un compilator. Cu nodurile, s-a întâmplat invers. Mopuri de numerar

Goluri și predecesori

Am separat în mod deliberat acest capitol de restul descrierii frontului - adăugarea cache-ului mop demonstrează clar ce cale a ales-o Intel pentru toate procesoarele sale, începând cu Core 2. În cel din urmă, pentru prima dată (pentru Intel ), s-a adăugat un bloc care a atins simultan două, s-ar părea obiective contradictorii: creșterea vitezei și economisirea energiei. Vorbim despre coada de comenzi (IQ) dintre pre-decodor și decodor, care a stocat apoi până la 18 comenzi de până la 64 de octeți în total. Dacă ar netezi doar diferența dintre ratele de pregătire și decodare a comenzilor (ca un buffer normal), ar fi puțin beneficiu. Dar Intel și-a dat seama să atașeze un mic bloc LSD la IQ (este puțin probabil ca băieții să fi „acceptat” ceva, doar au un astfel de umor) – Loop Stream Detector, un „detector de flux ciclic”. Când este detectată o buclă care se încadrează în 18 instrucțiuni, LSD dezactivează toate etapele anterioare (predictor, cache L1I și pre-decodor) și pune în coadă instrucțiunile buclei la decodor până când se finalizează sau până când se face o tranziție în afara limitelor sale (apeluri iar returnările nu sunt acceptabile). Astfel, se economisește energie prin dezactivarea temporară a blocurilor inactive și se mărește performanța datorită fluxului garantat de 4 instrucțiuni/ceas pentru decodor, chiar dacă acestea au fost „furnizate” cu cele mai incomode prefixe.

Intel i-a plăcut clar această idee, așa că pentru Nehalem circuitul a fost optimizat: IQ-ul a fost duplicat (pentru două fluxuri) și s-au pus două cozi IDQ între decodor și dispecer (adică exact la granița din față și din spate), fiecare cu 28 mps, iar blocul LSD a fost mutat la ei. Acum, când bucla este blocată, decodorul este și el oprit, iar performanța a crescut, inclusiv datorită afluxului garantat de nu 4 comenzi, ci 4 mop-uri pe ciclu, chiar dacă au fost generate cu minim (pentru Core 2). / i) tempo de 2 mop / ciclu. Fanii furioși ai taberei Opposite, pentru o secundă îndepărtând privirea de la activitatea lor preferată, vor introduce imediat un ac de păr: dacă LSD-ul este un lucru atât de bun, de ce nu a fost încorporat în Atom? Și ac de păr este corect - având o coadă de 32 de megapixeli după decodor, Atom nu știe să blocheze o buclă în el, ceea ce ar fi foarte util pentru economisirea de miliwați prețioși. Cu toate acestea, Intel nu avea de gând să renunțe la idee și a pregătit o actualizare pentru noile procesoare, și ce actualizare!

Numele intern oficial pentru bufferul de decodare a fluxului este DSB (decodare a bufferului de flux), deși nu este la fel de precis ca termenul recomandat cache de instrucțiuni decodificate (DIC). Destul de ciudat, nu înlocuiește, ci completează cozile IDQ, care sunt acum conectate la decodor sau cu un depozit de mopuri. La următoarea predicție a ramurilor, adresa țintă este verificată simultan în cache-urile de instrucțiuni și mop. Dacă acesta din urmă este declanșat, atunci citirea ulterioară pleacă de la acesta, iar restul marginii este oprit. Acesta este motivul pentru care mop cache este un nivel zero mop cache, adică L0m.

Interesant este că această idee poate fi continuată apelând cache-urile la nivel IDQ „minus 1”. :) Dar nu este o ierarhie atât de complexă chiar și în cadrul întregului nucleu, ci doar a unui singur front, excesivă? Chiar dacă Intel, prin excepție, nu a cruțat zona, perechea IDQ va aduce economii suplimentare semnificative, având în vedere că în timpul funcționării lor doar cache-ul mopurilor este acum oprit, deoarece restul frontului (cu excepția predictorului) doarme deja? Și nici nu veți obține o creștere specială a vitezei, deoarece memoria cache a mopurilor este de asemenea configurată să genereze 4 mop/ciclu. Aparent, inginerii Intel au decis că un joc cu 3 niveluri valorează lumânări în miliwați.

Pe lângă economii, cache-ul mopurilor accelerează performanța, inclusiv prin reducerea penalizării pentru predicția falsă a tranziției: în Nehalem, când a fost găsit codul corect în L1I, penalitatea a fost de 17 cicluri de ceas, în SB - 19, dar dacă codul a fost găsit în L0m, apoi doar 14. Mai mult, acestea sunt numerele maxime: în cazul unei tranziții prezise în mod fals, planificatorul trebuie încă să înceapă și să termine mopurile anterioare în ordine programatică, iar în acest timp L0m poate avea timp să pompați mopurile corecte, astfel încât planificatorul să aibă timp să le pornească imediat după ce comenzile sunt renunțate înainte de tranziție. În Nehalem, această tehnică a funcționat cu IDQ și un front, dar în primul caz, probabilitatea ca adresa țintă corectă să fie și în interiorul unui ciclu de 28 Mop este foarte mică, iar în al doilea caz, lentoarea frontului în majoritatea cazurilor nu au permis reducerea latenței la zero. SB are șanse mai mari.

Dispozitiv

Din punct de vedere topologic, L0m este format din 32 pe 8 linii (8-). Fiecare linie conține 6 mop (în întregul cache - 1536, adică „un kilo și jumătate-megapixel”), iar memoria cache poate scrie și citi o linie pe ciclu. Predictorul oferă adrese de blocuri de 32 de octeți și această dimensiune este cea care funcționează pentru L0m, prin urmare, sub termenul „bucătă” ne referim la aliniat și prezis ca un bloc de cod de 32 de octeți care se execută (și nu de 16 octeți, ca pentru un decodor). La decodare, controlerul L0m așteaptă ca porțiunea să fie procesată până la final sau până la prima tranziție care este declanșată în ea (desigur, probabil - în continuare presupunem că predicțiile sunt întotdeauna corecte), acumulând mop-uri concomitent cu trimiterea lor către ei sunt. Apoi fixează punctele de intrare și de ieșire ale bucății, în funcție de comportamentul tranzițiilor. De obicei, punctul de intrare este adresa țintă a tranziției care a fost declanșată în porțiunea anterioară (mai precis, cei 5 biți inferiori ai adresei), iar punctul de ieșire este adresa proprie a tranziției declanșate în această porțiune. Într-un caz extrem, dacă nici porțiunile anterioare, nici porțiunile actuale nu au declanșat o singură tranziție (adică porțiunile nu sunt doar executate, ci și stocate într-un rând), atunci ambele vor fi executate în întregime - intrarea în ele va fi activată mopul zero și primul octet al primului se potrivesc complet în această porțiune a comenzii, iar ieșirea este pe ultimul mop al ultimei comenzi care se potrivește complet și octetul său inițial.

Dacă există mai mult de 18 mop într-o porție, acesta nu este stocat în cache. Aceasta setează dimensiunea medie minimă a comenzii (într-o bucată) la 1,8 octeți, ceea ce nu va fi o limitare serioasă în majoritatea programelor. Vă puteți aminti al doilea punct al restricțiilor IDQ - dacă ciclul se încadrează într-o porțiune, dar durează de la 19 la 28 de mopi, nici cache-ul L0m, nici coada IDQ nu îl vor remedia, deși s-ar potrivi peste tot ca dimensiune. Cu toate acestea, în acest caz, lungimea medie a comenzilor ar trebui să fie de 1,1–1,7 octeți, ceea ce este extrem de puțin probabil pentru două duzini de echipe la rând.

Cel mai probabil, porțiunile de mop sunt scrise simultan în cache, ocupând 1–3 linii dintr-un set, astfel încât pentru L0m unul dintre principiile principale ale cache-ului asociat setului este încălcat: când de obicei este declanșată o linie setată. Chiar acolo, etichetele de până la trei linii pot primi adresa aceleiași porțiuni, diferind doar prin numere ordinale. Când adresa prezisă intră în L0m, citirea continuă în același mod - sunt declanșate 1, 2 sau 3 căi ale setului necesar. Adevărat, o astfel de schemă este plină de un dezavantaj.

Dacă program executabilîn toate porțiunile se decodifică în 13-18 mop, care vor lua 3 linii L0m pentru toate porțiunile, se vor găsi următoarele: dacă set curent este deja ocupat de două porțiuni de 3 linii, iar a treia încearcă să-i scrie (ceea ce nu va fi suficient pentru o singură linie), va trebui să înlocuiți una dintre cele vechi și ținând cont de coerența acesteia - toate cele 3 batranii. Astfel, mai mult de două porțiuni ale codului „comandă mică” din set nu ar trebui să se potrivească. La testarea acestei ipoteze în practică, a rezultat următoarele: porțiuni cu echipe mari care necesită mai puțin de 7 mopuri au fost ambalate în număr L0m de 255 (din anumite motive nu a mers să ia altul), încadrând aproape 8 KB de cod. . Porțiuni medii (7-12 mop) au ocupat toate cele 128 de poziții posibile (2 linii fiecare), memorând exact 4 KB. Ei bine, comenzile mici se potrivesc în 66 de porțiuni, ceea ce este cu două mai mult decât valoarea așteptată (2112 octeți față de 2048), ceea ce se datorează aparent efectelor limită ale codului nostru de testare. Lipsa este evidentă - dacă 256 de linii de 6 megapixeli ar putea fi umplute complet, acestea ar fi suficiente pentru 85 de tripleți complet cu o dimensiune totală a codului de 2720 de octeți.

Poate că Intel nu se așteaptă ca un cod să conțină atât de multe comenzi scurte și simple, încât mai mult de 2/3 din el să cadă pe bucăți de 3 linii, care se vor împinge reciproc din L0m mai devreme decât este necesar. Și chiar dacă se găsește un astfel de cod - având în vedere simplitatea decodării sale, restul blocurilor din față vor face față cu ușurință sarcinii de a furniza 4 mop / ciclu necesar pentru spate (deși fără economisirea promisă de wați și ciclurile de penalizare în caz de predicție falsă). Este curios că dacă am fi avut poteci L0m 6, problema nu s-ar fi pus. Intel a decis că a avea dimensiunea cache-ului cu o treime mai mare tocmai datorită asociativității este mai important...

Dimensiuni (editare)

Amintiți-vă că ideea de a stoca în cache un număr mare de uops în loc de comenzi x86 nu este nouă. A apărut pentru prima dată în Pentium 4 ca un cache de urme de mop - secvențe de mop după desfășurarea buclelor. Mai mult, memoria cache de urme nu a completat, ci a înlocuit L1I lipsă - comenzile pentru decodor au fost citite imediat din. În ciuda uitării arhitecturii NetBurst, este rezonabil să presupunem că inginerii Intel au folosit experiența trecută, deși fără a derula bucle și un predictor dedicat pentru cache. Să comparăm soluțiile vechi și noi (noile procesoare sunt denumite aici Core i 2, deoarece numărul aproape tuturor modelelor cu arhitectura SB încep cu două):

* - probabil

Aici este nevoie de o explicație. În primul rând, debitul pentru L0m se bazează pe o limitare a lățimii transportorului total de 4 mopa. Mai sus, am presupus că L0m poate citi și scrie 18 mop pe ceas. Cu toate acestea, la citire, toate cele 18 (dacă sunt exact atât de multe la decodificarea porțiunii originale) nu pot fi trimise pe ciclu de ceas, iar trimiterea are loc în mai multe cicluri de ceas.

În plus, dimensiunea mopului în biți se referă, în general, la informații foarte delicate pe care producătorii fie nu le dau deloc, fie doar atunci când sunt fixate pe perete (se spune că ați înțeles deja totul, așa să fie - vom confirma) . Pentru procesoarele Intel, ultima cifră cunoscută este de 118 biți pentru Pentium Pro. Este clar că dimensiunea a crescut de atunci, dar de aici începe presupunerile. 118 biți pentru un CPU x86 pe 32 de biți pot fi obținuți dacă mop-ul are câmpuri pentru adresa instrucțiunii care l-a generat (32 de biți), operandul imediat (32 de biți), offset de adresă (32 de biți), operanzi de registru ( 3 x 3 biți + 2 biți pe scară pentru registrul index) și opcode (11 biți, în care este codificată o versiune specifică a comenzii x86, ținând cont de prefixe). După adăugarea, și SSE2, câmpul opcode probabil a crescut cu 1 bit, de unde se obține numărul 119.

După trecerea la (Prescott și mai departe), în teorie, toate câmpurile pe 32 de biți ar trebui să crească la 64 de biți. Dar există subtilități aici: constantele pe 64 de biți în x86-64 sunt permise doar una câte una (adică ambele constante din comandă cu siguranță nu vor lua mai mult de 8 octeți), și atât atunci, cât și acum, costă 48 de biți. Deci, pentru a crește dimensiunea mopului este necesar doar 16 biți ai adresei și 3 biți suplimentari de numere de registru (dintre care sunt 16) - obținem (aproximativ) 138 de biți. Ei bine, în SB, mopul, se pare, a crescut cu încă 1 bit datorită adăugării următoarelor câteva sute de comenzi de la ultimul P4 și cu încă 8 din cauza creșterii număr maxim registre specificate în mod explicit în comandă până la 5 (când utilizați AVX). Acesta din urmă, însă, este îndoielnic: din vremuri, imaginați-vă, nici măcar i386 nu a fost adăugat la arhitectura x86 nou o comandă care necesită cel puțin 4 octeți de constantă (cu singura excepție recentă și extrem de subtilă din SSE4.a de la AMD despre care nici cei mai mulți programatori nu știu). Deoarece Intel AVX și AMD au actualizat codificarea numai instrucțiunilor vectoriale, biții numerelor de registru suplimentare se vor potrivi în jumătatea superioară a câmpului de 32 de biți parțial neutilizat (pentru aceste instrucțiuni) al operandului imediat. Mai mult, în comanda x86 în sine, al 4-lea sau al 5-lea registru este codificat cu doar patru biți constanți.

Evident, pentru a stoca și trimite astfel de „monstri” în orice un numar mare- foarte scump. Prin urmare, chiar și pentru P4, Intel a venit cu o versiune prescurtată a mopului, în care există un singur câmp pentru ambele constante, iar dacă nu se potrivesc acolo, atunci biții lipsă sunt plasați în același câmp al mopului vecin. . Cu toate acestea, dacă își stochează deja constantele acolo, atunci, ca vecin, este necesar să inserați un np ca purtător donor de biți suplimentari. Continuitatea acestei scheme se observă și în SB: nop-uri suplimentare nu sunt introduse, dar comenzile cu constante de 8 octeți (sau cu suma dimensiunilor unei constante și un offset de adresă de 5-8 octeți) au o dimensiune dublă în L0m. Cu toate acestea, având în vedere lungimea unor astfel de comenzi, mai mult de 4 dintre ele nu vor încadra într-o porțiune, astfel încât limita pentru mopurile ocupate este în mod clar necritică. Cu toate acestea, menționăm: SB, spre deosebire de procesoarele anterioare, are până la 3 formate mop - decodificat (cel mai complet), stocat în cache-ul mop (cu constante reduse) și cel principal (fără câmpul de registru index), care este folosit în continuare în conductă. Majoritatea mopurilor, totuși, rămân neatinse de la decodare până la pensionare.

Restricții

„Reguli de utilizare a memoriei cache” pe formatul special de mop nu se termină aici. Evident, un bloc atât de convenabil precum L0m nu putea fi complet fără restricții de un grad sau altul, despre care nu ni s-a spus în materialele promoționale. :) Să începem cu faptul că toate mopurile comenzii traduse trebuie să se potrivească într-o linie, altfel sunt transferate pe următoarea. Acest lucru se explică prin faptul că adresele mopurilor de linie sunt stocate separat (pentru a salva 48 de biți în fiecare mop), iar toate mopurile generate de comandă trebuie să corespundă adresei primului său octet stocat în eticheta unui singur octet. linia. Pentru a restabili adresele originale, lungimile comenzilor care au generat mopurile sunt stocate în etichete. „Intoleranța” mopurilor strica oarecum eficiența utilizării L0m, deoarece comenzile ocazionale care generează mai multe mopuri au șanse semnificative de a nu se putea încadra în următoarea linie.

Mai mult, mopurile celor mai complexe comenzi sunt încă stocate în ROM-ul cu microcodul și doar primele 4 mop-uri ale secvenței, plus un link către continuare, intră în L0m, astfel încât totul împreună să ocupe o linie întreagă. Din aceasta rezultă că nu pot fi găsite mai mult de trei instrucțiuni de microcod într-o porțiune și, având în vedere dimensiunea medie a echipei, două sunt mai probabil limită. În realitate, însă, se întâlnesc mult mai rar.

Un alt punct important este că L0m nu are propriile sale. Se pare că acest lucru ar trebui să grăbească verificarea adreselor (care sunt doar virtuale aici) și să reducă consumul de energie. Dar totul este mult mai interesant - nu degeaba au toate cache-urile moderne. Spațiile de adrese virtuale ale programelor executate în sistemul de operare se pot suprapune, prin urmare, la comutarea contextului sarcinii, pentru a nu citi date sau coduri vechi la aceleași adrese, cache-ul virtual adresabil trebuie golit (exact asta s-a întâmplat cu cache de urme a lui P4). Desigur, eficacitatea sa va fi scăzută. Unele arhitecturi folosesc așa-numita. ASID (identificatorul spațiului de adresă) sunt numere unice atribuite de sistemul de operare fiecărui flux. Cu toate acestea, x86 nu acceptă ASID-urile ca fiind inutile - având în vedere prezența etichetelor fizice pentru toate cache-urile. Dar apoi a venit L0m și a spart imaginea. Mai mult, amintiți-vă că memoria cache a mopului, la fel ca majoritatea resurselor kernelului, este partajată între două fire, astfel încât să fie mop în el. diferite programe... Și dacă adăugați comutarea între sisteme de operare virtuale în modul corespunzător, atunci mopurile celor două programe pot coincide în adrese. Ce sa fac?

Problema cu fluxurile este ușor de rezolvat - L0m este pur și simplu înjumătățit de seturi, astfel încât numărul fluxului oferă bitul cel mai semnificativ din numărul setului. În plus, L1I are o politică de reținere în raport cu L0m. Prin urmare, atunci când codul este preemptat de la L1I, mopurile sale sunt eliminate din L0m, ceea ce necesită verificarea a două porțiuni adiacente (dimensiunea liniei tuturor cache-urilor CPU-urilor moderne, excluzând L0m însuși, este de 64 de octeți). Astfel, adresa virtuală din uop-urile stocate în cache poate fi întotdeauna verificată în etichetele L1I folosind TLB-ul său. Se pare că, deși L0m are adresare virtuală, împrumută etichete fizice pentru cod de la L1I. Cu toate acestea, există o situație în care L0m este complet resetat - și înlocuirea în L1I TLB, precum și resetare completă(inclusiv la comutarea modurilor de operare CPU). În plus, L0m este dezactivat cu totul dacă adresa de bază a selectorului de cod (CS) nu este este zero(ceea ce este foarte puțin probabil în sistemele de operare moderne).

Muncă

Secretul principal al cache-ului mop este algoritmul care înlocuiește citirile de la L0m pentru munca frontului de procesare a comenzilor în mop. Se începe cu faptul că la următorul hop, pentru a selecta setul L0m, folosește biții 5-9 ai adresei țintei hop (sau biții 5-8 plus numărul fluxului în cazul 2-threading). Etichetele setate indică punctul de intrare în porțiune, ale cărui mopi sunt scrise în linia corespunzătoare etichetei și numărul ordinal al acestei linii în porțiune. Se pot potrivi 1-3 linii, care (cel mai probabil) sunt citite simultan într-un buffer de 18 megapixeli. De acolo, mopurile sunt trimise în patru la IDQ până când se ajunge la punctul de ieșire - și totul se repetă de la început. În plus, atunci când 1–3 ultimele mopuri rămân netrimise într-o porție, acestea sunt trimise cu primele 3–1 mopuri dintr-o nouă porție, constituind cele patru obișnuite în total. Adică, din punctul de vedere al cozii IDQ care primește mopul, toate tranzițiile sunt netezite într-un flux uniform de cod - ca în P4, dar fără cache-ul de urme.

Și acum un punct interesant - nu sunt permise mai mult de două tranziții într-o linie, iar dacă una dintre ele este necondiționată, atunci va fi ultima pentru linie. Cititorul nostru atent va înțelege că este permis ca întreaga bucată să aibă până la 6 sărituri condiționate (fiecare poate fi declanșată fără a fi un punct de ieșire), sau 5 condiționate și 1 necondiționat, care va fi ultima comandă a blocului. . Predictorul de ramură din CPU Intel este proiectat în așa fel încât să nu observe o ramură condiționată până când se declanșează cel puțin o dată și numai după aceea va fi prezis comportamentul său. Dar chiar și tranzițiile „veșnice” sunt, de asemenea, supuse limitării. De fapt, aceasta înseamnă că este permisă finalizarea execuției mopurilor porțiuni și inainte de punctul de ieșire a acestuia.

Dar un truc similar cu intrare multiplă nu va funcționa - dacă există o tranziție către o porțiune deja memorată în cache, dar la un offset diferit în ea (de exemplu, când există mai multe sărituri necondiționate), atunci L0m remediază o ratare, se întoarce pe față și scrie mopurile primite pe o nouă porțiune. Adică în cache sunt permise copii pentru porțiuni cu intrări diferite și aceeași ieșire, exact cunoscută (pe lângă mai multe posibile). Și când codul este deplasat de la L1I la L0m, toate liniile sunt șterse, ale căror puncte de intrare se încadrează în oricare dintre cei 64 de octeți ai două porțiuni. Apropo, au fost posibile și copii în memoria cache de urmărire P4 și au redus semnificativ eficiența stocării codului...

Astfel de restricții reduc disponibilitatea spațiului L0m. Să încercăm să calculăm cât mai rămâne pentru utilizarea efectivă. Dimensiunea medie a unei comenzi x86-64 este de 4 octeți. Numărul mediu de mopuri per echipă este de 1,1. Adică, este probabil să se consume 8-10 mopuri per porție, adică 2 rânduri. După cum sa calculat anterior, L0m va putea stoca 128 dintre aceste perechi, ceea ce este suficient pentru 4 KB de cod. Cu toate acestea, ținând cont de utilizarea imperfectă a șirurilor de caractere, numărul real va fi probabil 3–3,5 KB. Mă întreb cum se potrivește acest lucru în echilibrul general al volumelor subsistemului cache?

  • 1 (de fapt parte din L3, în medie per nucleu) - 2 MB;
  • L2 - 256 KB, de 8 ori mai puțin;
  • ambele L1 - 32 KB fiecare, de 8 ori mai puțin;
  • volumul stocat în cache în L0m este de aproximativ 10 ori mai mic.

Este curios că, dacă găsiți o altă structură în nucleu care stochează multe comenzi sau mop, atunci se va dovedi a fi o coadă ROB a dispecerului, în care pot încăpea 168 mop, generate de aproximativ 650-700 de octeți de cod, care este De 5 ori mai mic decât volumul echivalent efectiv L0m (3–3,5 KB) și de 9 ori mai puțin decât volumul total (6 KB). În acest fel, cache-ul mop completează o ierarhie îngrijită de diferite magazine de cod cu parametri diferiți, dar bine echilibrați. Intel susține că, în medie, 80% dintre accesări sunt în L0m. Aceasta este semnificativ mai mică decât cifra de 98–99% pentru memoria cache L1I de 32 KB, dar totuși - în patru cazuri din cinci mop-uri cache își justifică prezența.

Top articole similare