Come configurare smartphone e PC. Portale informativo

Cos'è il ponte di sabbia. Codifica audio in vari formati

Confronto con processori mobili e desktop

A metà gennaio abbiamo condotto il primo studio del sistema sulla nuova piattaforma Intel Sandy Ponte. In quel test, un prototipo di laptop Toshiba A665-3D con una nuova scheda video NVIDIA e Tecnologia NVIDIA Ottimo. Tuttavia, come si suol dire, erano troppo intelligenti: la grafica esterna non era inclusa nel laptop. Pertanto, le applicazioni che utilizzano la grafica (prima di tutto i giochi) semplicemente non avevano senso da testare. E in generale, alcune cose non possono essere adeguatamente testate su un campione precoce e poco performante.

Pertanto, è stato deciso di testare nuovamente un altro sistema e il caso non ha richiesto molto tempo. Abbiamo testato un altro laptop, Hewlett-Packard DV7, su una nuova piattaforma e con una nuova generazione di grafica AMD. È vero, quando i test erano già stati completati, sono apparse informazioni sul famigerato errore nel ponte sud, a causa del quale i dispositivi venduti (compresi quelli mobili) sono soggetti a richiamo. Quindi anche qui i risultati in senso stretto del termine non sono del tutto ufficiali (secondo almeno, Hewlett-Packard ha chiesto di restituire il laptop), ma comprendiamo che l'errore (e anche così "teorico") non può influire sui risultati del test.

Tuttavia, non valeva la pena rilasciare un materiale separato solo per ripetere le misurazioni ancora una volta e chiamarle definitive. Pertanto, in questa recensione, ci siamo posti diversi compiti:

  • verificare i risultati del nuovo sistema nella metodologia “mobile”;
  • controllare il funzionamento del sistema overclocking delle informazioni Turbo Boost su un sistema diverso con raffreddamento diverso;
  • confrontare le versioni mobile e desktop del processore Ponte sabbioso nella metodologia desktop per testare i sistemi informatici.

Bene, passiamo ai test.

Configurazione dei partecipanti al test secondo la metodologia per i sistemi mobili

Come già notato, confrontando le prestazioni dei sottosistemi computer portatili molto più difficili, perché sono previsti per il test sotto forma di prodotti finiti. È difficile trarre conclusioni, perché più di una componente può influenzare la differenza di prestazioni.

Diamo un'occhiata ai concorrenti, più precisamente, al cambiamento nella loro composizione rispetto al test precedente. Innanzitutto, abbiamo deciso di rimuovere il modello Core i5-540M dal confronto. Appartiene a una linea dual-core più debole e altri modelli gli corrisponderanno nella linea Sandy Bridge. Se i risultati di questo processore sono così importanti, possono essere presi dall'articolo precedente. Invece, il confronto include l'Hewlett-Packard Elitebook 8740w, sempre su processore Core i7-720QM, ed è stato aggiunto il sistema di test principale per oggi: l'Hewlett-Packard Pavillon DV7 sul processore Sandy Bridge 2630QM.

Pertanto, al test partecipano due modelli con processore Core i7-720QM e due modelli con processore Core i7 2630QM. Ciò non solo ti consentirà di confrontare le prestazioni dei sistemi su un processore più vecchio e più recente, ma ti assicurerà anche che il livello di prestazioni sia lo stesso per due sistemi sullo stesso processore.

Bene, stiamo passando all'analisi delle configurazioni dei laptop che partecipano ai test.

Nome del taccuinoHP 8740wASUS N53JqToshiba A665-3DHP DV7
processoreCore i7-720QMCore i7-720QMCore i7-2630QMCore i7-2630QM
Numero di core4 (8 flussi)4 (8 flussi)4 (8 flussi)4 (8 flussi)
Frequenza nominale1,6 GHz1,6 GHz2 GHz2 GHz
Massimo Frequenza turbo boost2,6* GHz2,6* GHz2,9* GHz2,9* GHz
Dimensioni della cache LLC6 MB6 MB6 MB6 MB
RAM10 GB10 GB4GB4GB
Sottosistema videoNVIDIA QUADROFX 2800MNVIDIA GT 425MIntel integr.ATI 6570

* la frequenza dell'overclocking automatico è indicata se il processore ha tutti e quattro i core sotto carico. Se ci sono due core sotto carico, la frequenza può comunque aumentare (da 2,6 GHz a 2,8 GHz) e, se uno, salire al valore massimo (da 2,6 GHz a 2,9 GHz).

Analizziamo i dati sui processori necessari per il confronto. In primo luogo, il produttore afferma che l'architettura interna del processore è stata ottimizzata nella linea Sandy Bridge, questo dovrebbe portare un certo aumento delle prestazioni complessive.

Il numero di core e thread di hypertrading è lo stesso per tutti i partecipanti. Tuttavia, la velocità di clock è diversa: il 720QM ha solo 1,6 GHz, mentre i nuovi processori funzionano a 2 GHz. La frequenza di clock massima, tuttavia, non differisce così tanto. Il fatto è che per 720QM la frequenza è indicata quando sono coinvolti quattro core, e per 2630QM - quando ne è coinvolto uno. Se ha quattro core caricati, allora frequenza massimaè lo stesso 2,6 GHz. In altre parole, nello stato "overclockato", i processori dovrebbero funzionare la stessa frequenza(finché non interviene il controllo della temperatura). Ma Sandy Bridge ha una tecnologia di overclocking Intel Turbo Boost più avanzata, che può mantenere l'aumento della frequenza più a lungo, quindi potrebbe avere un vantaggio. Ma è impossibile prevedere esattamente come si comporterà l'overclocking, perché ci sono troppe dipendenze da fattori esterni.

Andiamo direttamente ai test.

Confronta le prestazioni della linea di processori Sandy Bridge con la generazione precedente nella suite di applicazioni della metodologia di ricerca delle prestazioni mobili. Determinazione della ripetibilità dei risultati

Per i test, abbiamo utilizzato la metodologia di test del laptop in applicazioni reali campione del 2010. Rispetto al desktop, ha un insieme ridotto di applicazioni, ma il resto viene avviato con le stesse impostazioni (tranne per i giochi, le impostazioni di questo gruppo sono state seriamente modificate e i parametri delle attività di test per Programmi Photoshop). Pertanto, i risultati dei singoli test possono essere confrontati con i risultati dei processori desktop.

Risultati di valutazione singoli gruppi le applicazioni di questo materiale non possono essere confrontate direttamente con i dati di valutazione del desktop. Quando si testano le prestazioni dei laptop, non tutte le applicazioni della metodologia vengono avviate, rispettivamente, la valutazione viene considerata in modo diverso. I risultati delle valutazioni dei sistemi desktop partecipanti al test sono stati ricalcolati.

Prenoto subito che per ogni sistema i test sono stati eseguiti due volte e tra un'esecuzione e l'altra il sistema è stato reinstallato e riconfigurato. In altre parole, se i risultati del test sembrano strani, sono almeno ripetibili: su due diversi sistemi appena installati con un set di driver aggiornato.

Cominciamo con le applicazioni professionali.

Visualizzazione 3D

Questo gruppo contiene applicazioni che richiedono prestazioni del processore e grafica.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
Lightwave - lavoro20,53 22,97 24,87 16,17
Solidworks - lavoro52,5 58,83 133,12 60,45
Lightwave - valutazione122 109 101 155
Solidworks - valutazione129 115 51 112
Gruppo - valutazione126 112 76 134

È interessante notare che entrambi i sistemi della "seconda ondata" superano notevolmente i sistemi testati un mese e mezzo fa. Mi chiedo di cosa si tratta: l'influenza dei conducenti? Un'altra grafica significativamente più potente in entrambi i casi? Anche a parte i vecchi punteggi di Sandy Bridge, si osserva la stessa correlazione quando si confrontano due Core i7.

Ora è sicuro dire che la nuova generazione è più veloce. Ad eccezione degli strani risultati di SolidWorks, ma su questi torneremo in una discussione sui risultati della tecnica desktop.

Rendering 3D

Vediamo come stanno le cose nel rendering della scena finale. Tale rendering viene eseguito dalla CPU.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
Onda di luce138,58 131,56 269,89 90,22
3D Max0:10:04 0:10:06 00:21:56 0:07:45
Lightwave - valutazione95 101 49 146
Valutazione 3Ds Max113 112 52 147
Gruppo - valutazione104 107 51 147

Lascia che ti ricordi che il campione di Toshiba ha mostrato risultati molto scarsi in questo test. Ma in un sistema completamente funzionante, il processore Sandy Bridge consente di ottenere una notevole superiorità in entrambi i pacchetti grafici. In Lightwave, come puoi vedere, c'è una differenza tra i due Core i7-720QM, ma in 3Ds MAX non c'è quasi nessuna differenza.

Ma in entrambi i test è chiaro che il processore Core i7-2630QM è significativamente più veloce, superando notevolmente i rappresentanti della generazione precedente.

Informatica

Diamo un'occhiata alle prestazioni dei processori nelle applicazioni relative ai calcoli matematici.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
Lavori solidi46,36 45,88 44,02 38,42
MATLAB0,0494 0,0494 0,0352 0,0365
Solidworks - valutazione111 112 117 134
MATLAB - classifica113 113 159 153
Gruppo - valutazione112 113 138 144

Bene, i test di matematica non sentono la differenza tra i due Core i7-720QM. Da ciò possiamo trarre una conclusione preliminare che queste applicazioni rispondono minimamente ad altri componenti del sistema e alla parte software.

Il processore di nuova generazione è più veloce, ma il divario qui non è così grande, questo è particolarmente evidente dai numeri di valutazione. In qualche modo le prestazioni di DV7 nel test MATLAB sono leggermente inferiori a quelle di A660.

Vediamo se in altri test il divario tra la nuova generazione e la vecchia sarà più o meno lo stesso.

Compilazione

Test della velocità di compilazione del programma utilizzando il compilatore Microsoft Visual Studio 2008. Questo test risponde bene alla velocità del processore e alla cache e può anche utilizzare multi-core.

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

La differenza nei risultati è piccola, penso che possa essere attribuita all'errore. La differenza di prestazioni tra le due generazioni è significativa.

Prestazioni dell'applicazione Java

Questo benchmark rappresenta la velocità di esecuzione di un insieme di applicazioni Java. Il test è fondamentale per la velocità del processore e reagisce in modo molto positivo ai core aggiuntivi.

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

E qui i risultati sono leggermente ma notevolmente inferiori per i laptop più recenti testati. Non indovineremo perché ciò sia accaduto, ma sottolineo che i risultati sono stati ripetuti due volte. La differenza tra processori di diverse generazioni è più o meno la stessa del test precedente.

Passiamo alle attività domestiche produttive: lavorare con video, suoni e foto.

Grafica 2D

Vi ricordo che in questo gruppo sono rimaste solo due prove, piuttosto diverse. ACDSee converte una serie di foto da Formato RAW in JPEG e Photoshop esegue una serie di operazioni di elaborazione delle immagini: sovrapposizione di filtri, ecc. Le applicazioni dipendono dalla velocità del processore, ma per quanto riguarda il multi-core è coinvolto.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
ACD Vedi0:07:01 0:06:55 0:05:11 0:04:52
photoshop0:01:17 0:01:17 0:00:49 0:00:51
ACDSee - valutazione108 110 146 156
Photoshop - valutazione426 426 669 643
Gruppo - valutazione267 268 408 400

ACDSee mostra una certa instabilità dei risultati, ma in generale la differenza tra generazioni è in linea con il trend, è anche leggermente maggiore.

Non vale la pena prestare attenzione alle valutazioni di Photoshop a causa dell'attività di test modificata. Queste stesse valutazioni rovinano e valutazione generale gruppi. Ma se guardi il tempo di esecuzione, puoi vedere che il vantaggio è più o meno lo stesso.

Codifica audio in vari formati

La codifica dell'audio in vari formati audio è un compito abbastanza semplice per i moderni processori. Il wrapper dBPowerAmp viene utilizzato per la codifica. Sa come utilizzare il multi-core (vengono lanciati flussi di codifica aggiuntivi). Il risultato del test sono i suoi stessi punti, sono l'inverso del tempo dedicato alla codifica, ovvero più è, migliore è il risultato.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
Mela148 159 241 238
flac199 214 340 343
scimmia143 155 239 235
mp389 96 150 152
nero85 91 135 142
ogg60 65 92 90
mela - valutazione90 97 147 145
flac-rating99 106 169 171
valutazione delle scimmie97 105 163 160
valutazione mp3103 112 174 177
voto nero104 111 165 173
ogg-rating103 112 159 155
Gruppo - valutazione99 107 163 164

Il test è abbastanza semplice, ma allo stesso tempo visivo. Abbastanza inaspettatamente, qui è apparsa la differenza tra i due processori Core i7-720QM, e non a favore del sistema recentemente testato. I processori Sandy Bridge hanno mostrato quasi le stesse prestazioni. Come puoi vedere, il vantaggio dei nuovi processori è molto significativo, più che nei precedenti gruppi di test.

Codifica video

Tre test su quattro codificano un video clip in un formato video specifico. Il test Premiere si distingue, in questa applicazione lo script prevede la creazione di un video, compresa l'imposizione di effetti, e non solo la codifica. Sfortunatamente, Sony Vegas non ha funzionato su alcuni sistemi, quindi abbiamo rimosso i risultati per questo articolo.

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
Prima0: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
Classificazione DivX86 80 98 101
Premiere - valutazione101 107 140 142
x264 - valutazione100 105 135 138
XviD - valutazione87 86 119 123
Gruppo - valutazione94 95 123 126

I risultati della codifica in DivX si distinguono. Per qualche ragione, in questo test, c'è una differenza molto grande nei sistemi con 720QM e una differenza molto piccola tra la vecchia e la nuova generazione.

In altri test, la differenza è significativa e la differenza tra le generazioni corrisponde grosso modo alla tendenza generale. È interessante notare che in Premiere la differenza è più o meno la stessa della codifica semplice. A proposito, in questo test, attira l'attenzione anche la grande differenza tra i due sistemi basati su 720QM.

E infine, diversi tipi di compiti domestici.

Archiviazione

L'archiviazione è un problema matematico abbastanza semplice in cui tutti i componenti del processore lavorano attivamente. 7z è più avanzato, perché può utilizzare un numero qualsiasi di core e generalmente funziona in modo più efficiente con il processore. Winrar utilizza fino a due core.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
7zip0:01:57 0:01:55 0:01:30 0:01:27
WinRAR0:01:50 0:01:48 0:01:25 0:01:25
Disimballare (RAR)0:00:50 0:00:49 0:00:42 0:00:41
7-zip - valutazione115 117 149 154
WinRAR - valutazione135 138 175 175
Disimballare (RAR) - valutazione140 143 167 171
Gruppo - valutazione130 133 164 167

La differenza tra processori identici è molto piccola. Ancora una volta, possiamo vedere che rispetto a due sistemi basati su 720QM, l'8740 non è molto, ma costantemente più veloce. I processori di nuova generazione sono significativamente più veloci, la differenza tra le due generazioni è generalmente la stessa della maggior parte degli altri gruppi.

Prestazioni nei test del browser

Anche test abbastanza semplici. Entrambi misurano le prestazioni in Javascript, che è forse la parte più esigente in termini di prestazioni del motore del browser. Il trucco è che il test V8 ha un risultato in punti, mentre il Sunspider ha un risultato in millisecondi. Di conseguenza, nel primo caso, maggiore è il numero, meglio è, nel secondo - viceversa.

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-ie122 123 152 147
Googlev8-opera3753 3729 4680 4552
Safari di Googlev82608 2580 3129 3103
sunspider firefox760 747 627 646
Sunspider-ie4989 5237 4167 4087
Opera del ragno solare321 322 275 275
safari del ragno422 421 353 354
Googlev8 - valutazione134 134 162 160
Sunspider - valutazione144 143 172 172
Gruppo - valutazione139 139 167 166

Confronto in HD Play

Questo test è stato rimosso dalla classifica per i sistemi desktop, ma è ancora rilevante per i dispositivi mobili. Anche se il sistema affronta la decodifica di un video complesso, in un laptop è ancora molto importante quante risorse sono necessarie per completare questa attività, perché da esso dipendono sia il riscaldamento del sistema che la durata della batteria ...

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
Classificazione hardware H.264631 656 713 1367
Valutazione del software H.264173 180 254 243

In termini assoluti la differenza tra i due 720QM non è molto grande, anche se nei rating può sembrare significativa. È interessante osservare la differenza tra i due processori Core i7-2630QM in modalità di utilizzo accelerazione hardware. Il sistema con grafica AMD mostra un carico inferiore, ma i risultati sono stati molto buoni con l'adattatore Intel. IN modalità programma entrambi i sistemi svolgono un buon lavoro di decodifica, l'utilizzo della CPU è basso. Per i processori Sandy Bridge, il carico del sistema è prevedibilmente inferiore.

Diamo un'occhiata al punteggio medio dei sistemi che hanno partecipato ai test.

HP 8740w
Core i7-720QM
ASUS N53Jq
Core i7-720QM
Toshiba A665-3D
Core i7-2630QM
HP DV7
Core i7-2630QM
Valutazione complessiva del sistema128 129 158 173

Anche se in alcuni test la differenza tra i due sistemi con processori processore Intel i7-720QM è stato evidente, in generale hanno mostrato risultati quasi identici.

Le prestazioni di un sistema completamente funzionale e funzionale con un processore Core i7-2630QM sono molto superiori a quelle del campione che abbiamo testato in precedenza. Sulla base di questi risultati, è già possibile trarre conclusioni sulle prestazioni della piattaforma.

E queste conclusioni sono che le prestazioni nuova piattaforma Sandy Bridge è circa il 35% (a seconda delle applicazioni utilizzate) in più rispetto alla piattaforma di generazione precedente utilizzata. Naturalmente, le conclusioni non sono ancora definitive. Come minimo, i chip hanno frequenze diverse. E in generale, in relazione ai nuovi processori Intel, un concetto come "frequenza di clock" è diventato abbastanza illusorio, perché abbiamo la tecnologia Intel Turbo Boost.

Verifica del funzionamento del sistema Intel Turbo Boost

Implementati i processori della serie Sandy Bridge una nuova versione Tecnologia Intel Turbo Boost, che ha molto più controllo sulla velocità di clock del processore. Il sistema di controllo e gestione è diventato molto più complesso e intelligente. Ora può tenere conto di molti parametri: quali core e come caricati, temperatura del processore e singoli componenti(cioè il sistema può monitorare e prevenire il surriscaldamento localizzato).

Poiché il controllo della temperatura e del carico è diventato più efficiente, il processore necessita di un minor margine di sicurezza per funzionare in modo stabile ed efficiente in qualsiasi condizione esterna (principalmente la temperatura). Ciò consente di utilizzare le sue capacità in modo più efficiente. In realtà, questo sistema è un overclock controllato: la frequenza di lavoro aumenta, e il controllo non consente al processore di andare oltre le condizioni operative di sicurezza e perdere stabilità o rompersi. Se il processore in esecuzione a una frequenza maggiore si surriscalda, il sistema di monitoraggio abbasserà automaticamente la frequenza e la tensione di alimentazione entro limiti di sicurezza.

Inoltre, nuovo sistema il controllo dell'accelerazione è in grado di tenere conto dell'"effetto di inerzia". Quando il processore è freddo, la frequenza può aumentare molto per un breve periodo, il processore può persino superare il limite di dissipazione del calore specificato dal produttore. Se il carico è a breve termine, il processore non avrà il tempo di riscaldarsi temperature estreme e se il carico dura più a lungo, il processore si riscalda e il sistema riduce la temperatura a limiti di sicurezza.

Pertanto, il processore Sandy Bridge ha tre posizioni operative:

Vengono attivati ​​i meccanismi di risparmio energetico, il processore funziona a bassa frequenza e una tensione di alimentazione ridotta. Si attiva il sistema Intel Turbo Boost, il processore accelera alla frequenza di overclocking massima consentita (dipende, tra l'altro, da quanti core e da quanto caricati), la tensione di alimentazione aumenta. Il processore funziona a questa velocità di clock fintanto che la temperatura interna lo consente. Il processore, al superamento delle soglie di carico o riscaldamento, torna alla frequenza di clock alla quale è garantito il funzionamento stabile. Ad esempio, per 2630QM questa frequenza è specificata come 2 GHz, questa frequenza è specificata nelle specifiche e il produttore garantisce che il processore sarà in grado di mantenere questa frequenza indefinitamente, in base alle condizioni esterne specificate. Intel Turbo Boost consente di aumentare la frequenza di funzionamento, ma i parametri del suo funzionamento e la frequenza di funzionamento dipendono da condizioni esterne, quindi il produttore non può garantire che questo sistema funzioni sempre allo stesso modo.

Tuttavia, queste informazioni possono essere raccolte dalla prima recensione. Vi ricordo che nel primo test il processore in idle lavorava con i seguenti parametri:

  • Inattivo: 800 MHz, tensione di alimentazione 0,771 V.
  • Carico (tutti i core, massimo): frequenza 2594 MHz (moltiplicatore 26), tensione di alimentazione 1.231 V.
  • Carico (dopo circa 5 minuti di funzionamento) - 2594 MHz (moltiplicatore 26) o 2494 MHz (moltiplicatore 25).
  • Carico (dopo circa 7-8 minuti di lavoro) - 1995 MHz (moltiplicatore 20). La tensione è 1.071 V. Il sistema è tornato ai parametri di funzionamento stabili impostati dal produttore.

Vediamo quanto durerà l'Hewlett-Packard DV7 overcloccato.

Lanciamo programmi per monitorare lo stato del processore.

La frequenza e la tensione di funzionamento sono le stesse del test precedente. Diamo un'occhiata alle letture della temperatura.

Tutto è tranquillo, le temperature sono relativamente basse - 49 gradi. Per un processore ad alte prestazioni, questo non è molto. Notare la differenza di temperatura tra il primo e il quarto nucleo.

Lanciamo test di carico. Lascia che ti ricordi che carica tutti i core contemporaneamente, quindi non vedremo i numeri massimi (2,9 GHz) in Intel Turbo Boost.

Come puoi vedere, la tensione è salita a 1.211 Volt, la frequenza è diventata 2594 MHz a causa del moltiplicatore modificato, ora è 26. Il processore inizia a guadagnare rapidamente temperatura, la ventola del sistema di raffreddamento inizia a suonare sempre più forte.

Bene, vediamo quanto durerà il processore quando passerà alla frequenza stock.

È passato un minuto, è chiaro che le temperature iniziano a stabilizzarsi.

Passarono cinque minuti e le temperature si stabilizzarono. Per qualche motivo, la temperatura del primo e del quarto core differisce di 10 gradi. La differenza di temperatura è presente in tutti i test, anche in idle si nota. Non ho intenzione di dire perché questo sta accadendo.

Sono passati 15 minuti dall'inizio del test. Le temperature sono stabili, il sistema di raffreddamento ce la fa. La frequenza di clock rimane a 2,6 GHz.

Sono passati 48 minuti. Il portatile continua a funzionare sotto carico, le temperature sono stabili (beh, sono aumentate di un grado). La frequenza di clock è la stessa:

Ebbene, almeno in inverno e in una stanza non molto calda, il DV7 può funzionare alla massima frequenza disponibile indefinitamente. La potenza del sistema di raffreddamento è sufficiente affinché Intel Turbo Boost mantenga senza problemi la massima frequenza di "overclocking" disponibile. In teoria, sarebbe possibile overcloccare un po' di più il processore.

Questa conclusione differisce dai risultati precedenti. Ora sai cosa comprare portatile di qualità: se i progettisti hanno fatto un buon lavoro nella creazione di un sistema di raffreddamento, riceverai dividendi non solo sotto forma di un case robusto e di alta qualità, ma anche in termini di prestazioni!

Bene, passiamo alla seconda parte molto interessante dell'articolo: un confronto del processore mobile Core i7-2630QM con i processori desktop della serie Sandy Bridge in una metodologia di test desktop.

Confronto delle prestazioni del processore mobile Core i7-2630QM con i processori desktop della serie Sandy Bridge

Per confronto, utilizziamo i risultati del nostro studio sui processori desktop Core i7 e Core i5 basati su Sandy Bridge.

Confrontiamo le configurazioni dei partecipanti includendo le informazioni sul Core i7-2630QM nella tabella.

processoreCore i5-2300Core i5-2400Core i5-2500/2500KCore i7-2600/2600KCore i7-2630QM
Nome del kernelPonte sabbiosoPonte sabbiosoPonte sabbiosoPonte sabbiosoPonte sabbioso
Tecnologia di produzione32 nm32 nm32 nm32 nm32 nm
Frequenza core (std/max), GHz2,8/3,1 3,1/3,4 3,3/3,7 3,4/3,8 2,0/2,9
Fattore di moltiplicazione iniziale28 31 33 34 20
Come funziona Turbo Boost3-2-2-1 3-2-2-1 4-3-2-1 4-3-2-1 n / A
Numero di core/fili di calcolo4/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
Core grafico GMA HD2000 2000 2000/3000 2000/3000 3000
Frequenza core grafica (max), MHz1100 1100 1100 1350 1100
presaLGA1155LGA1155LGA1155LGA1155n / A
TDP95 W95 W95 W95 W45 W

La frequenza di clock del processore mobile è inferiore, il che è ovvio. Nella modalità Turbo Boost massima, overclocca leggermente il Core i5 desktop junior, che funziona senza Turbo Boost, ma niente di più. Ma il pacchetto termico è molto più basso, più del doppio. Inoltre, ha una cache di ultimo livello più piccola, solo 6 MB. Tra i vantaggi, vale la pena notare che il processore mobile ha quattro core e otto thread di calcolo, perché questo è Core i7. Almeno qualche vantaggio rispetto al più giovane desktop Core i5. Vediamo come va a finire in pratica.

Sfortunatamente, un confronto completo non ha ancora funzionato. Alcuni pacchetti della metodologia desktop non sono stati avviati (ad esempio, Pro/Engineer è rimasto stabilmente appeso al nostro sistema di test), di conseguenza, i loro risultati hanno dovuto essere eliminati dalla valutazione, il che significa che la valutazione stessa è cambiata rispetto alle valutazioni dal materiale principale.

Passiamo ai test. La frase "il test non è iniziato" significa che il test non è stato avviato sul nostro laptop, quindi i risultati di tutti i partecipanti al test sono stati rimossi. Le valutazioni in questo caso vengono ricalcolate.

Secondo i risultati, è subito chiaro che il processore mobile perde abbastanza seriamente quello desktop: non riesce a raggiungere il livello di prestazioni nemmeno del processore junior della nuova linea desktop. I risultati del processore desktop Core i7, a mio avviso, sono piuttosto deboli, eppure dovrebbe essere molto più potente della linea Core i5, secondo i risultati la dipendenza sembra essere lineare. I risultati di Solidworks sono generalmente quasi gli stessi per tutti i sistemi desktop. Questo test si preoccupa della velocità di clock del processore?

Diamo un'occhiata alla velocità di rendering delle scene 3D.

Core i5-2300Core i5-2400Core i5-2500/2500KCore i7-2600/2600KCore i7-2630QM
3ds max181 195 207 233 157
Onda di luce153 168 180 234 161
maya142 170 181 240 165
Rendering159 178 189 236 161

Qui la situazione è un po' più divertente: il sistema mobile ha comunque raggiunto il livello del desktop più giovane. Tuttavia, il Core i7 desktop è molto più avanti in tutti i test. Per confronto, ecco i risultati assoluti di uno dei test, Maya. Il risultato di questo test è il tempo dedicato al progetto, che è più visibile rispetto ai punteggi di altri test.

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

Come puoi vedere, anche con tempi di calcolo del progetto non molto lunghi, la differenza è notevole. Nel caso di progetti più complessi, dovrebbe essere ancora di più.

Passiamo alla prossima prova.

Quasi tutte le applicazioni utilizzano calcoli matematici complessi, quindi il righello desktop con di più alta frequenza ovviamente avanti. Allo stesso tempo, sono molto confuso dalla differenza troppo piccola tra il Core i5-2500 desktop e il Core i7-2600, in alcune applicazioni perde persino il processore più potente. L'iperdreading è davvero così inefficiente in queste applicazioni che nemmeno la differenza di velocità di clock può compensare il rallentamento che provoca? Questo è tanto più interessante, perché la configurazione di base nel processore mobile è la stessa della serie 2600, e in generale non è molto indietro rispetto al processore desktop più giovane, data la differenza di frequenze operative tra di loro.

E si passa a test meno professionali e più comuni. E cominciamo con grafica raster. Sfortunatamente, uno dei test non è iniziato, il che ha influito nuovamente sul quadro dei test.

E ancora, il sistema mobile è costantemente a un livello appena al di sotto della soluzione desktop più giovane. E poi inaspettatamente punteggio alto in Photoimpact, altrimenti l'immagine sarebbe ancora più triste. Per chiarezza, fornirò i risultati per due pacchetti in numeri assoluti.

Core i5-2300Core i5-2400Core i5-2500/2500KCore i7-2600/2600KCore i7-2630QM
ACD Vedi00: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

In questo modo puoi stimare la differenza specifica nel tempo di esecuzione dell'attività.

Passiamo all'archiviazione dei test. Si tratta di semplici calcoli che soddisfano sia la velocità che la presenza di core del processore aggiuntivi (sebbene ci siano domande al riguardo).

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

E ancora, e ancora... Se guardi i risultati di 7-zip, puoi vedere che il multi-core (anche sotto forma di hyper-threading) dà dividendi significativi. Ma, a quanto pare, anche la velocità di clock offre dividendi significativi, perché il Core i7 mobile con otto core non è all'altezza anche del processore desktop più giovane. E la stessa situazione persisteva nei test di Winrar. Ma il Core i7-2600 desktop nel test 7-zip va molto avanti.

Test di compilazione, sempre utilizzando le capacità matematiche del processore...

Nel test delle prestazioni dell'applicazione Java, la tendenza è sostanzialmente confermata. Ma l'arretrato del processore mobile è ancora maggiore.

Diamo un'occhiata alle prestazioni di Javascript nei browser moderni.

Core i5-2300Core i5-2400Core i5-2500/2500KCore i7-2600/2600KCore i7-2630QM
Google V8161 176 190 191 148
ragno solare156 162 167 170 198
Browser159 169 179 181 173

Se i risultati del test di Google corrispondono all'incirca a quello che abbiamo visto prima, allora c'è chiaramente qualcosa che non va in Sunspider. Anche se, in linea di principio, in tutti i browser, questo test ha funzionato su un processore mobile più veloce che su tutti quelli desktop, compreso il Core i7 desktop (che però, stando ai risultati, è leggermente diverso dal vecchio Core i5).

In generale, un risultato molto inaspettato della seconda prova, che non so spiegare. Forse qualcosa ha funzionato in modo diverso nel software?

Lasciamo le applicazioni Internet e passiamo a lavorare con video e audio. È anche un tipo di attività abbastanza popolare, anche per i computer portatili.

Core i5-2300Core i5-2400Core i5-2500/2500KCore i7-2600/2600KCore i7-2630QM
Perdita di mele135 149 154 206 126
FLAC145 159 171 233 144
L'audio della scimmia150 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

La codifica audio non ci presenta sorprese. Il Core i7-2630QM mobile è un po' più debole di tutti i processori desktop testati, il Core i7 desktop è molto indietro. E la codifica video?

Core i5-2300Core i5-2400Core i5-2500/2500KCore i7-2600/2600KCore i7-2630QM
DivX146 160 170 157 96
Concetto principale (VC-1)153 167 175 187 133
Prima155 169 178 222 132
Las Vegas164 177 185 204 131
x264152 165 174 225 136
Xvid166 180 190 196 133
video156 170 179 199 127

Il backlog del processore mobile è aumentato, il Core i7 desktop è ancora molto più avanti di tutti gli altri processori, anche se il divario si è ridotto.

Bene, uno dei test più "reali": i giochi!

Core i5-2300Core i5-2400Core i5-2500/2500KCore i7-2600/2600KCore i7-2630QM
Batman131 134 135 134 40
Terre di confine142 149 157 160 234
DiRT 2109 110 110 110 36
Far Cry 2200 218 232 237 84
Fritz scacchi142 156 166 215 149
GTA IV162 164 167 167 144
cattivo ospite125 125 125 125 119
MOLESTATORE.104 104 104 104 28
UT3150 152 157 156 48
Crisi: Testata127 128 128 128 40
mondo in conflitto163 166 168 170 0
Giochi141 146 150 155 84

Mi viene voglia di dire "oh". Tutti i giochi sono chiaramente divisi in dipendenti dal processore e dipendenti dalla grafica. Installando un processore più potente, puoi aumentare notevolmente la velocità in Borderlands, Far Cry 2 e Fritz Chess. Alcuni giochi reagiscono molto poco a processori più potenti, altri non reagiscono affatto. Se togliamo dalla considerazione World in Confict, dove il Core i7 mobile ha ottenuto 0, la valutazione complessiva è simile a questa.

I risultati sono stati deludenti per sistema mobile, e per la maggior parte, il processore non è da biasimare per questo. Prima di trarre conclusioni, diamo un'occhiata ai dati sulle prestazioni assolute nei giochi.

Core i5-2300Core i5-2400Core i5-2500/2500KCore i7-2600/2600KCore i7-2630QM
Batman205 209 210 209 63
Terre di confine75 79 83 85 124
DiRT 276 77 77 77 25
Far Cry 276 83 88 90 32
Fritz scacchi8524 9368 9982 12956 8936
GTA IV63 64 65 65 56
cattivo ospite128 128 128 128 121,6
MOLESTATORE.62,9 62,9 63 62,9 17,2
UT3166 169 174 173 53
Crisi: Testata57,4 57,6 57,7 57,7 18,1
mondo in conflitto62,6 63,5 64,3 65

Come puoi vedere, se i processori desktop mostrano quasi sempre risultati abbastanza buoni, il sistema mobile è in molti punti sulla soglia della giocabilità o al di sotto di essa.

Per quasi tutti i giochi i processori sono troppo veloci, il risultato finale dipende principalmente dalle prestazioni della scheda video. Allo stesso tempo, il livello di prestazioni del sistema mobile è notevolmente inferiore, il che ci consente di trarre alcune conclusioni sulla differenza molto grande tra le soluzioni video desktop e mobili. La differenza sull'esempio dei nostri test è in media tre volte. Si distinguono GTA IV e Resident Evil, che mostrano risultati simili su tutti i sistemi, compreso quello mobile.

In un programma di scacchi ad alta intensità di CPU, il Core i7 mobile si comporta bene tra i modelli desktop economici.

Bene, riassumiamo.

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

Il risultato complessivo conferma il trend: uno dei più potenti processori mobili Il Core i7-2360QM non può eguagliare le prestazioni del processore desktop junior nella linea più debole Core i5. Il processore desktop Core i7 in termini di prestazioni è molto indietro anche rispetto ai processori desktop della linea più giovane, per non parlare della versione mobile.

Produzione

Quindi, è tempo di saltare alle conclusioni. Lascia che ti ricordi alcuni risultati del materiale precedente.

A prima vista, Sandy Bridge è davvero un processore di grande successo. In primo luogo, è stato notevolmente migliorato, sono state rimosse soluzioni illogiche (gli stessi due cristalli separati realizzati secondo processi tecnici diversi), la struttura del chip è diventata logica e ben ottimizzata. Componenti del bus di comunicazione migliorati all'interno del processore (che ora include il core video!). In secondo luogo, è stata ottimizzata la struttura dei core del processore, cosa che dovrebbe anche influire lato migliore sulle prestazioni. La pratica conferma la teoria: il processore che avevamo in prova va molto avanti nelle prestazioni rispetto alla piattaforma attuale.

Infatti, in pratica test di base L'i7-2630QM, che dovrebbe essere il più giovane della nuova gamma di dispositivi mobili Core i7, supera notevolmente il Core i7-720QM, il processore ad alte prestazioni più comune (o il comune con le prestazioni più elevate) nella gamma di dispositivi mobili Intel Core di prima generazione . Apparentemente, 2630QM dovrebbe prendere il suo posto, ovvero diventare mainstream processore produttivo nella linea Core di 2a generazione.

In generale, possiamo concludere che la seconda generazione di processori mobili Core in termini di prestazioni è un buon passo avanti. Per quanto riguarda altri vantaggi della linea, penso che valga la pena aspettare il rilascio di linee più giovani, e solo un gran numero di modelli su nuovi processori, e anche allora valutare qualità della nuova linea come riscaldamento, efficienza energetica, ecc.

Tuttavia, rispetto ai nuovi processori desktop Sandy Bridge Core i5 e i7, il nuovo Core i7-2630QM mobile perde ancora. Inoltre, la piattaforma mobile è più debole e stabile in tutti i gruppi di test. Questa è una situazione normale, perché durante la creazione righelli mobili non solo le prestazioni sono una priorità, ma anche un basso consumo energetico (per garantire una maggiore durata della batteria) e un basso consumo energetico (dovuto a sistemi di raffreddamento più piccoli e più deboli). Vale la pena guardare almeno al pacchetto termico del nuovo processore mobile, che è più di due volte (!) inferiore a quello delle versioni desktop. Devi pagare per questo, inclusa la frequenza nominale più bassa e le prestazioni in generale.

A proposito, se parliamo di frequenze. Hewlett-Packard DV7 ha presentato una piacevole sorpresa al riguardo (anche se è possibile che le cose non siano così rosee nella calda estate). Il processore, con un buon sistema di raffreddamento, può funzionare indefinitamente ad una frequenza Turbo Boost massima di 2,6 GHz, quindi è abbastanza in grado di dimostrare un livello di prestazioni superiore rispetto alle specifiche standard. Naturalmente, non vi è alcuna garanzia che il sistema di raffreddamento funzioni in estate e, in caso contrario, il livello prestazione reale rispetto ai sistemi desktop, può essere significativamente inferiore rispetto ai nostri test. Pertanto, viene in primo piano la presenza di un sistema di raffreddamento competente in un laptop con un nuovo processore mobile Core i7.

Puoi trovarne una recensione dettagliata sul nostro sito Web (tuttavia, il supporto per lo stato di sonno profondo C6 e la memoria LV-DDR3 a bassa tensione sono apparsi solo in Westmere). E cosa è apparso in Sai Baba?

Primo: il secondo tipo di sensori di temperatura. Un familiare diodo termico, le cui letture sono "viste" dal BIOS e dalle utility, misura la temperatura per regolare la velocità della ventola e proteggerla dal surriscaldamento (strozzamento della frequenza e, se non aiuta, spegnimento di emergenza della CPU) . Tuttavia, la sua area è molto ampia, perché ce n'è solo uno in ogni core (inclusa la GPU) e nell'agente di sistema. A loro, in ogni grande blocco, sono stati aggiunti diversi circuiti analogici compatti con transistor termici. Hanno un intervallo di misurazione operativo più piccolo (80–100 °C), ma sono necessari per affinare i dati del diodo termico e costruire una mappa di riscaldamento dei cristalli accurata, senza la quale le nuove funzioni di TB 2.0 non possono essere implementate. Inoltre, il controller di alimentazione può persino utilizzare un sensore esterno se il produttore della scheda madre ne inserisce e collega uno, anche se non è del tutto chiaro come possa essere d'aiuto.

È stata aggiunta la funzione di rinumerazione degli stati C, per la quale viene tracciata la cronologia delle transizioni tra di essi per ciascun core. La transizione richiede più tempo, maggiore è il “numero del sonno” in cui il nucleo entra o esce. Il controller determina se ha senso mettere il core in modalità di sospensione, tenendo conto della probabilità che si "risvegli". Se se ne prevede uno presto, al posto del sistema operativo richiesto, il kernel verrà trasferito rispettivamente a C3 o C1, ovvero a uno stato più attivo, che entrerà rapidamente in funzione. Stranamente, nonostante il maggiore consumo di energia in un tale sogno, Risparmi totali potrebbe non soffrire, perché entrambi sono ridotti periodo di transizione, durante la quale il processore non dorme affatto.

Per i modelli mobile, il trasferimento di tutti i core su C6 provoca un reset e la disabilitazione della cache L3 comune per le banche chiavi di accensione. Ciò ridurrà ulteriormente il consumo quando è inattivo, ma è irto di un ulteriore ritardo al risveglio, poiché i core dovranno perdere L3 diverse centinaia o migliaia di volte fino a quando i dati e il codice necessari non vengono pompati lì. Ovviamente, insieme alla funzione precedente, ciò avverrà solo se il controller è sicuro che la CPU si addormenti per molto tempo (secondo gli standard del tempo del processore).

I Core i3/i5 della generazione precedente erano una sorta di campioni in termini di complessità del sistema di alimentazione della CPU sulla scheda madre, che richiedeva fino a 6 voltaggi - più precisamente, tutti e 6 erano prima, ma non tutti portavano al processore. In Sai Baba, non cambiavano per numero, ma per uso:

  • x86-core e L3 - 0,65–1,05 V (in Nehalem L3 è separato);
  • GPU - simile (a Nehalem, quasi l'intero Northbridge, che, ricordiamo, era il secondo chip CPU lì, è alimentato da un bus comune);
  • un agente di sistema con una frequenza fissa e una tensione costante di 0,8, 0,9 o 0,925 V (le prime due opzioni sono per i modelli mobili) o un 0,879–0,971 V regolabile dinamicamente;
  • - costante 1,8 V o regolabile 1,71-1,89 V;
  • driver del bus di memoria - 1,5 V o 1,425–1,575 V;
  • Driver PCIe - 1,05 V.

Le versioni regolamentate dei power rail sono utilizzate nei tipi SB sbloccati con la lettera K. I modelli desktop hanno aumentato la frequenza idle x86-core da 1,3 a 1,6 GHz, apparentemente senza sacrificare l'economia. Allo stesso tempo, una CPU a 4 core consuma 3,5-4 watt al minimo. Le versioni mobili sono inattive a 800 MHz e richiedono ancora meno. Modelli e chipset

Prestazione

Che cosa fa questo capitolo in una panoramica teorica della microarchitettura? E il fatto che esiste un test generalmente riconosciuto, che è stato utilizzato per 20 anni (in diverse versioni) per valutare non la velocità teorica, ma programmaticamente ottenibile dei computer: la CPU SPEC. Può valutare in modo completo le prestazioni del processore e, nel migliore dei casi, quando il codice sorgente del test viene compilato e ottimizzato per il sistema sottoposto a test (ovvero, anche il compilatore con le librerie viene verificato di passaggio). In questo modo, utile i programmi saranno più veloci solo con inserti scritti a mano in assembler, che oggi sono rari programmatori temerari con molto tempo. La SPEC può essere attribuita a test semisintetici, perché non calcola nulla di utile e non fornisce numeri specifici (IPC, flop, tempi, ecc.) - i "pappagalli" di una CPU servono solo per il confronto con le altre .

In genere, Intel fornisce risultati per le proprie CPU quasi nello stesso momento in cui vengono rilasciate. Ma c'è stato un ritardo incomprensibile di 3 mesi con SB, e i numeri ricevuti a marzo sono ancora preliminari. Cosa li stia ritardando esattamente non è chiaro, ma è comunque migliore della situazione con AMD, che non ne ha rilasciato alcuno risultati ufficiali le loro ultime CPU. Le cifre seguenti per Opteron sono fornite dai produttori di server che utilizzano il compilatore Intel, quindi questi risultati potrebbero essere sotto-ottimizzati: che cosa Il toolkit software Intel può fare con il codice in esecuzione su una CPU "estranea". ;)


Confronto di sistemi nei test SPEC CPU2006. Tabella compilata da David Kanter a marzo 2011.

Rispetto alle CPU precedenti, SB mostra risultati eccellenti (in senso letterale) in termini assoluti e persino risultati da record per ogni core e gigahertz. Abilitando HT e aggiungendo 2 MB a L3 si ottiene +3% di velocità reale e +15% di velocità intera. Tuttavia, il modello a 2 core ha la velocità specifica più alta, e questa è un'osservazione istruttiva: ovviamente Intel utilizzava AVX, ma poiché non è ancora possibile ottenere un guadagno intero, possiamo aspettarci una forte accelerazione dei soli indicatori reali. Ma non c'è nemmeno un salto per loro, come mostra un confronto di modelli a 4 core - ei risultati per l'i3-2120 rivelano il motivo: avendo gli stessi 2 canali ICP, ogni core riceve il doppio della larghezza di banda della memoria, che è riflesso da un aumento del 34% della velocità reale specifica. Apparentemente, la cache L3 da 6-8 MB è troppo piccola e ridimensionare il proprio PS utilizzando il bus ad anello non aiuta più. Ora è chiaro il motivo per cui Intel prevede di dotare i server Xeon di ICP a 3 e persino a 4 canali. Solo ora ci sono già 8 core e non bastano per girare al massimo...

Aggiunta: sono comparsi i risultati finali di SB: i numeri (presumibilmente) sono leggermente cresciuti, ma le conclusioni qualitative sono le stesse. Prospettive e risultati

Si sa già molto del successore a 22 nm di Sandy Bridge, l'Ivy Bridge, in uscita nella primavera del 2012. Nuclei scopo generale supporterà un sottoinsieme leggermente aggiornato di AES-NI; è del tutto possibile e "gratuita" la copia dei registri nella fase di ridenominazione. Non sono previsti miglioramenti in Turbo Boost, ma la GPU (che, tra l'altro, funzionerà su tutte le versioni del chipset) aumenterà il numero massimo di FU a 16, supporterà il collegamento non di due, ma di tre schermi e finalmente acquisire il normale supporto per OpenCL 1.1 (insieme a DirectX 11 e OpenGL 3.1) e migliorare le capacità di elaborazione video hardware. Molto probabilmente, già su desktop e modelli mobili L'ICP supporterà una frequenza di 1600 MHz e il controller PCIe supporterà la versione bus 3.0. La principale innovazione tecnologica è che la cache L3 utilizzerà (per la prima volta nella produzione microelettronica di massa!) transistor con gate-fin multilaterale posizionato verticalmente (FinFET), che hanno caratteristiche elettriche radicalmente migliorate (dettagli - in uno dei prossimi articoli ). Si dice che le versioni GPU diventeranno di nuovo multi-chip, solo che questa volta verranno aggiunti al processore uno o più chip di memoria video veloci.

Ivy Bridge si collegherà a nuovi chipset (es. ponti sud) Serie 70: Z77, Z75 e H77 per la casa (sostituisce Z68/P67/H67) e Q77, Q75 e B75 per l'ufficio (anziché Q67/Q65/B65). Lei(cioè il chip fisico con nomi diversi) non avrà ancora più di due porte SATA 3.0 e finalmente apparirà il supporto USB 3.0, ma un anno dopo rispetto al concorrente. Il supporto PCI integrato scomparirà (dopo 19 anni, è ora che il bus si fermi), ma il controller sottosistema del disco lo Z77 e il Q77 riceveranno la tecnologia Smart Response per aumentare le prestazioni memorizzando nella cache i dischi utilizzando un SSD. Tuttavia, la notizia più eccitante è che nonostante buon vecchio Tradizionalmente, le versioni desktop di Ivy Bridge non solo saranno inserite nello stesso socket LGA1155 di SB, ma saranno anche retrocompatibili con esse, ovvero le schede moderne si adatteranno alla nuova CPU.

Ebbene, per gli appassionati, già nel 4° trimestre di quest'anno sarà pronto un chipset X79 molto più potente (per SB-E a 4-8 core per il connettore LGA2011 "extreme server"). Non avrà ancora USB 3.0, ma ci saranno 10 delle 14 porte SATA 3.0 (più il supporto per 4 tipi di RAID) e 4 delle 8 corsie PCIe potranno connettersi alla CPU in parallelo con DMI, raddoppiando il chipset della CPU collegamento PS. Sfortunatamente, l'X79 non funzionerà con Ivy Bridge a 8 core.

Come eccezione (e forse una nuova regola), non forniremo un elenco di ciò che vorremmo migliorare e correggere in Sandy Bridge. È già ovvio che qualsiasi cambiamento è un compromesso complesso - rigorosamente secondo la legge di conservazione della materia (nella formulazione di Lomonosov): se qualcosa è arrivato da qualche parte, allora da qualche parte la stessa quantità diminuirà. Se Intel si affrettasse a correggere gli errori del vecchio in ogni nuova architettura, il numero di legna da ardere rotta e chip volanti potrebbe superare i vantaggi ricevuti. Pertanto, invece degli estremi e di un ideale irraggiungibile, è economicamente più vantaggioso cercare un equilibrio tra esigenze in costante mutamento e talvolta opposte.

Nonostante alcuni punti, la nuova architettura non dovrebbe solo brillare brillantemente (cosa che, a giudicare dai test, lo fa), ma anche eclissare tutte le precedenti, sia la sua che la sua rivale. Gli obiettivi annunciati in termini di prestazioni ed economia sono stati raggiunti, ad eccezione dell'ottimizzazione per il set AVX, che sta per apparire nelle nuove versioni di programmi popolari. E poi Gordon Moore sarà ancora una volta sorpreso dalla sua intuizione. A quanto pare, Intel è completamente preparata per l'epica battaglia tra architetture che vedremo quest'anno.

I ringraziamenti sono espressi:

  • Maxim Loktyukhin, lo stesso “rappresentante Intel”, dipendente del dipartimento di ottimizzazione software e hardware, per aver risposto a numerose domande chiarificatrici.
  • A Mark Buxton, Lead Software Engineer e Head of Optimization, per le sue risposte e anche per l'opportunità di ottenere una sorta di risposta ufficiale.
  • Agner Fog, programmatore e ricercatore di processori, per test indipendenti di basso livello di SB, che hanno rivelato molte cose nuove e misteriose.
  • Attentive Reader - per l'attenzione, la fermezza e il russare forte.
  • Fan furiosi del campo opposto - al massimo.

Finalmente Intel annunciato ufficialmente nuovi processori in esecuzione su una nuova microarchitettura Ponte sabbioso. Per la maggior parte delle persone, "l'annuncio di Sandy Bridge" è solo parole, ma in generale, le generazioni di Intel Core ll sono, se non una nuova era, almeno un aggiornamento per quasi l'intero mercato dei processori.


Inizialmente, è stato riferito che sono stati avviati solo sette processori, ma nella pagina più utile arc.intel.com ci sono già informazioni su tutti i nuovi prodotti. C'erano alcuni processori in più, o meglio le loro modifiche (tra parentesi, ho indicato il prezzo stimato - quanto costerà ogni processore in un lotto di 1000 pezzi):

Mobile:

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

Confronto visivo dettagliato del cellulare Processori Intel Core i5 di seconda generazione.

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)
Intel Core i7-2720QM
Intel Core i7-2820QM
Intel Core i7-2920XM Edizione estrema

Confronto visivo dettagliato dei processori mobili Intel Core i7 di seconda generazione.

Desktop:

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

Un confronto visivo e dettagliato dei processori desktop Intel Core i3 di seconda generazione.

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

Un confronto visivo e dettagliato dei processori desktop Intel Core i5 di seconda generazione.

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

Confronto visivamente dettagliato dei processori desktop Intel Core i7 di seconda generazione.

Come puoi vedere, i nomi dei modelli ora hanno quattro cifre nel nome: questo viene fatto in modo che non ci sia confusione con i processori della generazione precedente. La formazione si è rivelata abbastanza completa e logica: le serie i7 più interessanti sono chiaramente separate dall'i5 dalla presenza della tecnologia Hyper Threading e maggiore dimensione della cache. E i processori della famiglia i3 differiscono dagli i5 non solo per un minor numero di core, ma anche per la mancanza di tecnologia turbo boost.

Probabilmente hai anche prestato attenzione alle lettere nei nomi dei processori, senza le quali la gamma di modelli è diventata molto ridotta. Quindi, le lettere S e T parlare di consumo energetico ridotto e Aè un moltiplicatore gratuito.

Una struttura visiva dei nuovi processori:

Come puoi vedere, oltre ai core grafici e informatici, alla memoria cache e al controller di memoria, esiste un cosiddetto Agente di sistema- molte cose vengono scaricate lì, ad esempio controller di memoria DDR3 e PCI-Express 2.0, un modello di gestione dell'alimentazione e blocchi che sono responsabili a livello hardware del funzionamento della GPU integrata e della visualizzazione di un'immagine se viene usato.

Tutti i componenti "core" (incluso il processore grafico) sono interconnessi da un bus ad anello ad alta velocità con pieno accesso alla cache L3, che ha aumentato la velocità complessiva di scambio dei dati nel processore stesso; è interessante notare che questo approccio consente di aumentare le prestazioni in futuro, semplicemente aumentando il numero di core aggiunti al bus. Anche se anche ora tutto promette di essere al top - rispetto ai processori della generazione precedente, le prestazioni di quelli nuovi sono più adattive e, secondo il produttore, in molte attività può dimostrare un aumento del 30-50% della velocità di esecuzione delle attività!

Se vuoi saperne di più sulla nuova architettura, allora in russo posso consigliare questi tre articoli -,,.

I nuovi processori sono costruiti interamente sul processo a 32 nm e per la prima volta hanno una microarchitettura "visivamente intelligente" che combina la migliore potenza di elaborazione della categoria e la tecnologia di elaborazione grafica 3D su un unico chip. Ci sono infatti molte innovazioni nella grafica di Sandy Bridge, principalmente volte ad aumentare le prestazioni quando si lavora con il 3D. Si può discutere a lungo sull'"imposizione" di un sistema video integrato, ma non esiste un'altra soluzione in quanto tale. Ma c'è una diapositiva del genere dalla presentazione ufficiale, che afferma di essere plausibile, anche nei prodotti mobili (laptop):

Ho già parlato delle nuove tecnologie della seconda generazione di processori Intel Core, quindi non mi ripeterò. Mi concentrerò solo sullo sviluppo. Intel Insider, l'aspetto di cui molti furono sorpresi. A quanto ho capito, questo sarà una sorta di negozio che consentirà ai proprietari di computer di accedere a film in alta definizione direttamente dai creatori di questi film, qualcosa che appariva solo qualche tempo dopo l'annuncio e l'apparizione Dischi DVD o Blu-ray. Per dimostrare questa caratteristica, Intel VP Muli Eden(Mooly Eden) invitato sul palco Kevin Tsujiharu(Kevin Tsujihara), Presidente del Warner Home Entertainment Group. Quoto:

« Warner Bros. ritiene che i sistemi personali siano la piattaforma più versatile e diffusa per fornire contenuti di intrattenimento di alta qualità e ora Intel sta rendendo questa piattaforma ancora più affidabile e sicura. D'ora in poi, saremo in grado di fornire agli utenti PC le nuove uscite e i film del nostro catalogo in vera qualità HD attraverso il WBShop, così come i nostri partner come CinemaNow."- Mouli Eden ha dimostrato il lavoro di questa tecnologia usando l'esempio del film "Inception". Grazie alla collaborazione con studi leader del settore e giganti dei media (come Best Buy CinemaNow, Hungama Digital Media Entertainment, Image Entertainment, Sonic Solutions, Warner Bros. Digital Distribution e altri), Intel sta costruendo un hardware (hardware) sicuro e a prova di pirateria ecosistema per la distribuzione, l'archiviazione e la riproduzione di video di alta qualità.

Il funzionamento della tecnologia sopra citata sarà compatibile con due sviluppi altrettanto interessanti che sono presenti anche in tutti i modelli di processori di nuova generazione. Sto parlando di ( Intel Wi-Fi 2.0) e Intel InTru 3-D. Il primo è per la trasmissione wireless di video HD (supporta risoluzioni fino a 1080p), il secondo è per la visualizzazione di contenuti stereo su monitor o HDTV tramite una connessione HDMI 1.4.

Altre due funzioni per le quali non ho trovato un posto più adatto nell'articolo - Estensioni vettoriali avanzate Intel(AVX). Il supporto dei processori per queste istruzioni migliora le prestazioni di applicazioni ad alta intensità di dati come editor audio e software di editing audio. editing professionale fotografie.

… E Video di sincronizzazione rapida Intel- grazie a lavoro congiunto con società di software come CyberLink, Corel e ArcSoft, il gigante dei processori è stato in grado di migliorare le prestazioni su questo compito (transcodifica tra i formati H.264 e MPEG-2) di 17 volte rispetto alla grafica integrata della generazione precedente.

Supponiamo che ci siano processori: come usarli? Esatto: insieme a loro sono stati annunciati anche nuovi chipset (set logici), che sono rappresentanti della serie "sessantesima". A quanto pare, ci sono solo due set riservati ai Consumatori assetati, questi sono Intel H67 e Intel P67, su cui verrà costruita la maggior parte delle nuove schede madri. L'H67 è in grado di funzionare con la GPU integrata nel processore, mentre il P67 è dotato di Performance Tuning per overcloccare il processore. Tutti i processori funzioneranno nel nuovo socket, 1155 .


Sono contento che sembri che i nuovi processori siano compatibili con i socket per processori Intel con l'architettura di prossima generazione. Questo vantaggio è utile sia per gli utenti ordinari che per i produttori che non devono riprogettare e creare nuovi dispositivi.

In totale, Intel ha introdotto più di 20 chip, chipset e adattatori wireless, inclusi i nuovi processori Intel Core i7, i5 e i3, Chipset Intel Adattatori Wi-Fi e WiMAX serie 6 e Intel Centrino. Oltre a quelli sopra citati, possono comparire sul mercato i seguenti “badge”:

Quest'anno, si prevede che saranno rilasciati più di 500 modelli su nuovi processori. computer desktop e laptop dei marchi leader a livello mondiale.

E per finire, ancora una volta, un video fantastico, nel caso qualcuno non l'avesse visto:

La differenza tra processori sbloccati "completamente" e "parzialmente".

Qual'è il risultato? Dopo aver testato Turbo Boost sulle generazioni precedenti di processori, Intel ha deciso di trasformarlo in uno strumento per il posizionamento del prezzo reale dei propri prodotti l'uno rispetto all'altro. Se i primi appassionati acquistavano spesso processori junior della serie, spesso overcloccandoli facilmente al livello dei modelli precedenti, ora la differenza di 400 MHz tra i3-2100 e i3-2120 costa $ 21 e non puoi farci nulla.

Entrambi i processori sbloccati costeranno un po' di più rispetto ai modelli normali. Questa differenza sarà inferiore rispetto al caso delle generazioni precedenti: $ 11 per il modello 2500 e $ 23 per il 2600. Intel non vuole comunque spaventare troppo gli overclocker. Tuttavia, ora $ 216 è la soglia per entrare a far parte del club. L'overclocking è un intrattenimento per cui devi pagare. È chiaro che una tale posizione può attirare alcuni utenti nel campo di AMD, i cui processori economici overcloccano molto bene.

L'overclocking nel suo insieme è diventato più semplice: i requisiti per la scheda madre e la RAM sono diminuiti, c'è meno problemi con i tempi e vari coefficienti. Ma le persone estreme hanno un posto dove voltarsi: di sicuro, verranno scritti interi trattati sull'adeguamento del BCLK.

Core grafico e sincronizzazione rapida

Intel iniziò a rafforzare le prestazioni del suo core grafico integrato anche con l'annuncio di Clarkdale e Arrandale, ma in quel momento non fu possibile superare i concorrenti. Un'ulteriore barra è stata fissata da AMD, che sta per distruggere il mercato della grafica discreta entry-level. La soluzione di Intel è arrivata in anticipo, ma sarà all'altezza del compito?

Cominciamo con due soluzioni. Si chiamano HD 2000 e HD 3000 e la differenza tra loro sta nel diverso numero di unità di esecuzione (EU). Nel primo caso ce ne sono 6 e nel secondo - 12. Anche GMA HD ne aveva 12, ma l'aumento delle prestazioni dovuto all'integrazione e all'architettura ridisegnata si è rivelato molto significativo. Nella gamma di processori desktop Intel, solo un paio di processori con un moltiplicatore sbloccato hanno ricevuto una grafica avanzata. Questi sono esattamente i modelli in cui la grafica integrata verrà utilizzata con la minore probabilità. Questa decisione ci sembra molto strana. Resta da sperare che in futuro Intel rilasci anche modifiche di processori inferiori con un core grafico completamente sbloccato.

Fortunatamente, tutti i nuovi processori mobili dell'azienda sono dotati dell'HD 3000. Intel è determinata a esercitare la massima pressione sui concorrenti in questo segmento, perché dovrebbe essere più facile raggiungere il livello di prestazioni delle soluzioni entry-level qui .

Le prestazioni della grafica integrata non dipendono solo dal numero di EU. Tutti i Sandy desktop hanno la stessa frequenza di base (850 MHz), ma i più vecchi (2600 e 2600K) hanno una frequenza Turbo Boost massima più alta - 1350 MHz contro 1100 per il resto. Il risultato sarà anche influenzato in una certa misura dalla potenza dei core della CPU, ma molto più fortemente dalla quantità di memoria cache. Dopotutto, una delle caratteristiche principali nuova graficaè l'utilizzo della memoria cache di terzo livello con i core di calcolo, implementato grazie al ring bus LLC.

Come per i processori Clarkdale, i nuovi prodotti utilizzano l'accelerazione hardware per la decodifica MPEG, VC-1 e AVC. Tuttavia, questo processo è ora molto più veloce. Come in "adulto" grafica discreta, i processori Sandy Bridge hanno un blocco separato che si occupa della codifica/decodifica video. A differenza dei processori della generazione precedente, si assume completamente questo compito. L'uso dell'accelerazione hardware è molto più vantaggioso in termini di efficienza energetica e le prestazioni nel caso di SNB sono molto elevate. Intel promette la capacità di decodificare simultaneamente più di due stream 1080p. Tali prestazioni potrebbero essere necessarie per transcodificare rapidamente il video esistente in un formato adatto a un dispositivo mobile. Inoltre, i ricchi capacità multimediali rendono SNB la scelta migliore quando si costruisce un sistema HTPC.

Lo sviluppo di soluzioni grafiche per processori Intel viene effettuato da una divisione separata dell'azienda. I nuovi sviluppi di questa divisione sono molto importanti anche per i processori mobili dell'azienda. Fino a quando il progetto Larrabee in una forma o nell'altra non ottiene il corretto sviluppo, Intel dovrà sopportare componenti "non x86" nelle proprie CPU.

Intel Core i5-2400 e Core i5-2500K

Abbiamo 2 processori basati sull'architettura Sandy Bridge. Prima di tutto, il modello 2500K è interessante, in quanto ha un moltiplicatore sbloccato. In futuro, i benchmark dei modelli dual-core e dei processori della serie i7 potrebbero essere pubblicati separatamente.

La superiorità del primo Core i (Nehalem e, nel 2009, Westmere) è finale sulla CPU dell'avversario? La situazione è un po' come il primo anno dopo l'uscita del Pentium II: adagiarsi sugli allori e ottenere profitti da record, sarebbe bello portare avanti un'architettura di successo senza cambiarne molto il nome, aggiungendone di nuovi, l'uso di cui migliorerà notevolmente le prestazioni, senza dimenticare altre innovazioni che velocizzano i programmi delle versioni odierne. È vero, a differenza della situazione di 10 anni fa, si dovrebbe anche prestare attenzione all'argomento attualmente di moda dell'efficienza energetica, giocato con l'ambiguo aggettivo Cool - "cool" e "cold" - e il desiderio non meno alla moda di integrare il processore tutto ciò che esiste ancora come separato. Qui, sotto una tale salsa, viene servita una novità.

"L'altro ieri", "ieri" e "oggi" dei processori Intel.


Fronte del trasportatore. i colori mostrano tipi diversi informazioni e ne blocca l'elaborazione o la memorizzazione.

Predizione

Cominciamo con l'annuncio di Intel di una BPU completamente ridisegnata. Come in Nehalem, prevede l'indirizzo della successiva porzione di codice a 32 byte ogni ciclo (e prima dell'esecuzione effettiva) a seconda del comportamento previsto delle istruzioni di salto nella porzione appena prevista - e, apparentemente, indipendentemente dal numero e tipo di salti. Più precisamente, se il blocco corrente contiene una transizione presumibilmente attivata, vengono forniti i suoi indirizzi e quelli di destinazione; altrimenti, salta al blocco successivo di fila. Le previsioni stesse sono diventate ancora più accurate grazie al raddoppio (BTB), all'allungamento (GBHR) e all'ottimizzazione della funzione hash di accesso (BHT). Vero, i test effettivi hanno dimostrato che in alcuni casi l'efficienza della previsione è ancora leggermente peggiore rispetto a Nehalem. Forse l'aumento delle prestazioni con una diminuzione dei consumi non è compatibile con la previsione di filiale di alta qualità? Proviamo a capirlo.

In Nehalem (così come in altre architetture moderne) BTB è presente sotto forma di una gerarchia a due livelli - piccola - L1 "veloce" e grande - L2 "lenta". Questo accade per lo stesso motivo per cui esistono più livelli: una soluzione a livello singolo risulterà troppo compromessa in tutti i parametri (dimensioni, velocità di risposta, consumi, ecc.). Ma in SB, gli architetti hanno deciso di mettere un livello, e il doppio delle dimensioni del BTB L2 di Nehalem, ovvero probabilmente almeno 4096 celle - esattamente quante ce ne sono in Atom. (Va notato che la dimensione del codice eseguito più frequentemente sta crescendo lentamente ed è sempre meno probabile che rientri nella cache, la cui dimensione è la stessa per tutte le CPU Intel del primo Pentium M.) In teoria, questo aumenterà l'area occupata da BTB, e poiché l'area totale da modificare non è raccomandata (questo è uno dei postulati iniziali dell'architettura) - qualcosa dovrà essere sottratto a qualche altra struttura. Ma c'è ancora velocità. Considerando che l'SB deve essere progettato per una velocità leggermente superiore per lo stesso processo, ci si aspetterebbe che questa grande struttura sia il collo di bottiglia dell'intero trasportatore, a meno che non sia anche pipeline (due sono già sufficienti). È vero, in questo caso il numero totale di transistor che operano per ciclo nel BTB raddoppierà, il che non contribuisce affatto al risparmio energetico. Ancora un punto morto? A questo, Intel risponde che il nuovo BTB memorizza gli indirizzi in una sorta di stato compresso, che consente di avere il doppio delle celle con area e consumo simili. Ma non è ancora possibile verificarlo.

Guardiamo dall'altra parte. SB non ha ricevuto nuovi algoritmi di predizione, ma ottimizzato quelli vecchi: generali, per salti, loop e ritorni indiretti. Nehalem ha GBHR e BHT a 18 bit di dimensioni sconosciute. Tuttavia, puoi garantire che il numero di celle nella tabella sia inferiore a 2 18 , altrimenti occuperebbe la maggior parte del kernel. Pertanto, esiste una speciale funzione hash che comprime i 18 bit della cronologia di tutte le transizioni e i bit di indirizzo dell'istruzione in un indice di lunghezza inferiore. E, molto probabilmente, ci sono almeno due hash: per tutti i bit GBHR e per quelli che riflettono il funzionamento delle transizioni più difficili. Ed ecco che l'efficienza della distribuzione casuale per indici di vari modelli di comportamento per numero di cellule BHT determina il successo del predittore generale. Sebbene non sia dichiarato esplicitamente, Intel ha sicuramente migliorato gli hash per consentire GBHR più lunghi con un riempimento altrettanto efficiente. Ma si può ancora immaginare la dimensione di BHT, nonché come sia effettivamente cambiato il consumo di energia del predittore nel suo insieme ... Per quanto riguarda (RSB), è ancora un indirizzo 16, ma una nuova restrizione sul le stesse chiamate sono state introdotte - non più quattro per 16 byte di codice.

Prima di andare oltre, diciamo di una leggera discrepanza tra la teoria dichiarata e la pratica osservata - e ha mostrato che il predittore di ciclo in SB viene rimosso, per cui la previsione della transizione finale all'inizio del ciclo è fatto da un algoritmo generale, cioè peggiore. Un rappresentante Intel ci ha assicurato che non poteva andare "peggio", tuttavia...

Decodifica e IDQ

Gli indirizzi dei comandi eseguibili previsti in anticipo (alternativamente per ogni thread - con la tecnologia abilitata) vengono emessi per verificarne la presenza nelle cache di istruzioni (L1I) e (L0m), ma su quest'ultimo taciamo - descriveremo il resto della parte anteriore per ora. Stranamente, Intel ha mantenuto la dimensione della porzione di istruzioni letta da L1I a 16 byte (qui la parola "porzione" è intesa secondo la nostra). Finora, questo è stato un ostacolo per il codice la cui dimensione media delle istruzioni è cresciuta fino a 4 byte, e quindi 4 istruzioni che sono desiderabili per l'esecuzione per ciclo non si adatteranno più a 16 byte. AMD ha risolto questo problema nell'architettura K10 espandendo la porzione di istruzioni a 32 byte, sebbene le sue CPU non abbiano finora più di 3 pipeline. In SB, la disuguaglianza di dimensione porta a un effetto collaterale: il predittore emette l'indirizzo successivo del blocco di 32 byte e se viene trovata una transizione (presumibilmente) attivata nella sua prima metà, non è necessario leggere e decodificare il secondo - tuttavia, sarà fatto.

Da L1I, la porzione va al predecoder, e da lì - al misuratore di lunghezza stesso (), elaborando fino a 7 o 6 comandi/orologio (con e senza ; Nehalem potrebbe farne al massimo 6), a seconda della loro lunghezza totale e complessità. Immediatamente dopo la transizione, l'elaborazione inizia con un comando all'indirizzo di destinazione, altrimenti, dal byte prima del quale il predecoder ha interrotto un ciclo prima. Allo stesso modo con il punto finale: o si tratta (probabilmente) di un ramo triggerato, il cui indirizzo dell'ultimo byte proveniva da BTB, o dell'ultimo byte della porzione stessa - a meno che non si raggiunga il limite di 7 comandi/orologio, oppure di un Viene rilevato il comando "scomodo". Molto probabilmente, il buffer del misuratore di lunghezza ha solo 2-4 porzioni, tuttavia, il misuratore di lunghezza può ricavarne 16 successivo byte. Ad esempio, se vengono riconosciuti 7 comandi a due byte all'inizio di una porzione, nel ciclo successivo possono essere elaborati altri 16 byte, a partire dal 15°.

Il misuratore di lunghezza, tra l'altro, è impegnato nel rilevamento di coppie di comandi di macrofusione. Parleremo delle coppie stesse un po' più avanti, ma per ora si noti che, come in Nehalem, non è possibile rilevare più di una di queste coppie per ciclo, sebbene sia possibile contrassegnare un massimo di 3 (e un comando più singolo) . Tuttavia, la misurazione delle lunghezze delle istruzioni è un processo parzialmente seriale, quindi non sarebbe possibile determinare diverse coppie di macro-merging durante un ciclo.

I comandi etichettati rientrano in uno dei due comandi (IQ: coda di istruzioni) - uno per thread, 20 comandi ciascuno (che è 2 in più rispetto a Nehalem). legge alternativamente i comandi dalle code e li traduce in uops. Ne ha 3 semplici (traduci 1 istruzione in 1 uop e con macro merge - 2 istruzioni in 1 uop), un traduttore complesso (1 istruzione in 1-4 uop o 2 comandi in 1 uop) e un microsequencer per i più complessi comandi che richiedono 5 e più mop da . Inoltre, memorizza solo le “code” di ogni sequenza, a partire dal 5° mop, perché le prime 4 sono emesse da un traduttore complesso. Allo stesso tempo, se il numero di uop nel firmware non è divisibile per 4, i loro ultimi quattro saranno incompleti, ma l'inserimento di 1–3 uop in più dai traduttori nella stessa misura non funzionerà. Il risultato della decodifica arriva e due (uno per flusso). Quest'ultimo (ufficialmente chiamato IDQ - coda di decodifica istruzioni, coda di comandi decodificati) ha ancora 28 uops e la possibilità di bloccare il loop se la sua parte eseguibile si adatta lì.

Tutto questo (tranne il mop cache) era già a Nehalem. E quali sono le differenze? Prima di tutto, ovviamente, al decoder è stato insegnato a gestire nuove istruzioni di sottoinsiemi. Il supporto per i set SSE con tutte le cifre non è più sorprendente e l'accelerazione della crittografia dei comandi (incluso PCLMULQDQ) è stata aggiunta a Westmere (la versione a 32 nm di Nehalem). È stata aggiunta una trappola: questa funzione non funziona per i comandi che hanno sia un indirizzamento costante che relativo a RIP (relativo a RIP, l'indirizzo è relativo al puntatore di comando - il solito modo accesso ai dati nel codice a 64 bit). Tali comandi richiedono 2 uops (caricamento e funzionamento separati), il che significa che il decoder li elaborerà non più di uno per ciclo, utilizzando solo un traduttore complesso. Intel sostiene che questi sacrifici vengono fatti per risparmiare energia, ma non è chiaro su cosa: il doppio posizionamento, esecuzione e uops richiederanno chiaramente più risorse, e quindi consumeranno energia, di una.

L'unione delle macro è ottimizzata - in precedenza solo il confronto aritmetico o logico (CMP o TEST) poteva essere il primo comando unito, ora sono consentiti semplici comandi aritmetici di addizione e sottrazione (AGGIUNGI, SUB, INC, DEC) e "AND" logico (AND) , anche i cambi per la transizione (la seconda squadra della coppia). Ciò ti consente di ridurre gli ultimi 2 comandi a 1 uop in quasi tutti i loop. Naturalmente, le restrizioni sull'unione dei comandi rimangono, ma non sono critiche, perché le situazioni elencate per una coppia di comandi vengono quasi sempre eseguite:

  • il primo del primo comando deve essere un registro;
  • se il secondo operando della prima istruzione è in memoria, l'indirizzamento relativo al RIP non è valido;
  • il secondo comando non può trovarsi all'inizio o oltrepassare il confine di una linea.

Le regole per la transizione stessa sono:

  • solo TEST e AND sono compatibili con qualsiasi condizione;
  • i confronti su (non) uguali e quelli con segno sono compatibili con qualsiasi primo comando consentito;
  • i confronti su (non) carry ed eventuali non firmati non sono compatibili con INC e DEC;
  • altri confronti (segno, overflow, parità e loro negazioni) sono consentiti solo per TEST e AND.

Il cambiamento principale nelle code di uops è che le uops unite di tipo , il cui accesso alla memoria richiede la lettura del registro dell'indice, (e alcuni altri tipi rari) sono divise in coppie durante la scrittura su IDQ. Anche se ci sono 4 mop di questo tipo, tutti gli 8 finali verranno registrati in IDQ. Questo viene fatto perché le code di mop (IDQ), dispatcher (ROB) e di prenotazione ora utilizzano il formato mop abbreviato senza il campo dell'indice a 6 bit (ovviamente, per risparmiare denaro quando si sposta il mop). Si presume che tali casi saranno rari e quindi la velocità non sarà notevolmente influenzata.

Descriveremo di seguito la storia del verificarsi della modalità di blocco del ciclo in questo buffer, ma qui indicheremo solo una sciocchezza: il passaggio all'inizio del ciclo in precedenza richiedeva 1 ciclo aggiuntivo, formando una "bolla" tra le letture del fine e inizio del ciclo, ma ora non c'è più. Tuttavia, gli ultimi uops dell'iterazione corrente e i primi della successiva non possono essere nei quattro uops letti per ciclo, quindi idealmente il numero di uops nel ciclo dovrebbe essere divisibile per 4. Bene, i criteri per bloccarlo hanno non è cambiato molto:

  • i loop mop devono essere generati da non più di 8 porzioni da 32 byte del codice sorgente;
  • queste porzioni devono essere memorizzate nella cache in L0m (in Nehalem, ovviamente, in L1I);
  • sono consentiti fino a 8 salti incondizionati, previsti a fuoco (compreso quello finale);
  • non sono ammesse chiamate e resi;
  • non sono consentiti accessi non accoppiati allo stack (il più delle volte con un numero disuguale di comandi PUSH e POP) - più su quello di seguito.

motore dello stack

C'è un altro meccanismo, il cui lavoro non abbiamo considerato negli articoli precedenti: lo stack engine (stack pointer tracker, "tracker per il puntatore (verso l'alto) dello stack"), che si trova prima di IDQ. È apparso nel Pentium M e non è cambiato fino ad oggi. La sua essenza è che la modifica del puntatore dello stack (registro ESP/RSP per modalità a 32/64 bit) mediante comandi per lavorarci (PUSH, POP, CALL e RET) viene eseguita da un sommatore separato, il risultato viene memorizzato in un registro speciale e restituito al mop come costante, invece di modificare il puntatore dopo ogni istruzione, come richiesto e come avveniva con le CPU Intel prima del Pentium M.

Ciò accade fino a quando alcune istruzioni non accedono direttamente al puntatore (e in alcuni altri rari casi): il motore dello stack confronta il puntatore ombra con zero e, se il valore è diverso da zero, inserisce uops nel flusso prima che l'istruzione che chiama il puntatore sincronizzi uop che scrive sul puntatore il valore effettivo dall'apposito registro (e il registro stesso viene resettato). Poiché ciò è raramente necessario, la maggior parte degli accessi allo stack che modificano solo in modo implicito il puntatore ne utilizza una copia shadow che viene modificata contemporaneamente ad altre operazioni. Cioè, dal punto di vista dei blocchi di pipeline, tali comandi sono codificati da un unico mop unito e non sono diversi dai normali accessi alla memoria, senza richiedere l'elaborazione nell'ALU.

Un lettore attento (buon pomeriggio!) noterà una connessione: quando la coda di uops è in loop, gli accessi non accoppiati allo stack sono inaccettabili proprio perché lo stack engine è in cantiere prima IDQ - se dopo l'iterazione successiva il valore del puntatore ombra risulta essere diverso da zero, sarà necessario inserire un synchromop nella nuova iterazione, e in modalità ciclica ciò è impossibile (le uops vengono lette solo da IDQ). Inoltre, il motore dello stack è generalmente spento per risparmiare energia, come tutte le altre parti della parte anteriore.

La vita segreta dei nops

Un'altra modifica è stata apportata al misuratore di lunghezza, ma questo caso spicca un po'. Innanzitutto, ricordiamo cosa sono e perché sono necessari. Nell'architettura x86, nop era solo di 1 byte. Quando era necessario spostare il codice di più di 1 byte o sostituire comandi più lunghi di 1 byte, semplicemente li inserivano più volte. Ma nonostante il fatto che questo comando non faccia nulla, ci vuole ancora tempo per decodificarlo ed è proporzionale al numero di nodi. In modo che le prestazioni del programma "rattoppato" non si abbassino, il nop può essere allungato. Tuttavia, nella CPU degli anni '90, la velocità di decodifica dei comandi con il numero di prefissi al di sopra di un certo valore (che è molto inferiore alla lunghezza massima consentita del comando x86 di 15 byte) è diminuita drasticamente. Inoltre, in particolare per nopa, il prefisso viene utilizzato, di regola, di un tipo, ma ripetuto più volte, il che è consentito solo come eccezione indesiderabile, complicando il misuratore di lunghezza.

Per risolvere questi problemi, a cominciare dal Pentium Pro e Processori Athlon capire "long nop" con il byte modR/M per l'allungamento del comando "ufficiale" utilizzando i registri e l'offset dell'indirizzo. Naturalmente non si verificano operazioni con memoria e registri, ma per determinare la lunghezza si utilizzano blocchi della stessa lunghezza dei normali comandi multibyte. L'uso di long nops è ora ufficialmente raccomandato dai tutorial di ottimizzazione del software di basso livello Intel e AMD. A proposito, il predecoder SB ha dimezzato (da 6 a 3 cicli) la penalità per i prefissi 66 e 67 che modificano la lunghezza della costante e l'offset di indirizzo - ma, come in Nehalem, la penalità non è imposta ai comandi in cui questi prefissi fanno non cambiano effettivamente la lunghezza (ad esempio, se il prefisso 66 è applicato ad un'istruzione senza un operando immediato) o fanno parte di un elenco di interruttori (che è spesso usato nel codice vettoriale).

La lunghezza massima di un long nop correttamente formattato non supera i 9 byte per Intel e 11 per AMD. E quindi, per l'allineamento a 16 o 32 byte, possono esserci ancora diversi nop. Tuttavia, poiché questo comando è semplice, la sua decodifica ed "esecuzione" non richiederà alcuna risorsa. più elaborazione i comandi più semplici. Pertanto, per molti anni, i test a naso lungo sono stati metodo standard determinare i parametri del fronte del trasportatore, in particolare il misuratore di lunghezza e il decoder. E qui Sandy Bridge ha presentato una sorpresa molto strana: testare le prestazioni dei normali programmi non ha rivelato ritardi e rallentamenti, ma il controllo sintetico in servizio dei parametri del decoder ha mostrato inaspettatamente che le sue prestazioni sono pari a un'istruzione per clock! Allo stesso tempo, Intel non ha rilasciato annunci ufficiali su cambiamenti così radicali nel decoder.

La procedura di misurazione ha funzionato bene su Nehalem e ha mostrato il corretto 4 . Puoi dare la colpa al nuovo e "over" attivo Turbo Boost 2.0, rovinando le frequenze di clock misurate, ma per i test è stato disabilitato. È anche escluso il surriscaldamento con limitazione del rallentamento della frequenza. E quando, finalmente, il motivo è stato scoperto, è diventato ancora più strano: si scopre che i nop lunghi su SB vengono elaborati solo dal primo semplice traduttore, sebbene nop da 1 byte con un numero qualsiasi di prefissi e simili comandi di "inazione" (per esempio, copiare un registro su se stesso) sono facilmente accettati tutti e quattro. Perché sia ​​stato fatto in questo modo non è chiaro, tuttavia, almeno uno svantaggio di tale soluzione tecnica si è già mostrato chiaramente: il nostro team di ricerca ha trascorso dieci giorni per scoprire le ragioni della misteriosa lentezza del decoder... Per vendetta, chiediamo ai fan accaniti del Campo Opposto di elaborare una sorta di teoria del complotto sul piani insidiosi di una certa compagnia I. per confondere ingenui e valorosi ricercatori di processori. :)

A proposito, come si è scoperto, il traduttore n. 1 era già "più uguale" tra gli altri. In Nehalem, anche le istruzioni di scorrimento ciclico (ROL e ROR) con un operando costante esplicito sono state decodificate solo nel primo traduttore e il quarto è stato disattivato nello stesso ciclo, in modo che il valore IPC scendesse a 3. Sembrerebbe - perché dare un esempio così raro qui? Ma proprio a causa di questo problema, per raggiungere la velocità massima su algoritmi di hashing come SHA-1, era necessaria una pianificazione delle istruzioni molto precisa, che i compilatori non potevano affrontare. In SB, invece, tali istruzioni sono diventate semplicemente a 2 vie, così che, occupando un traduttore complesso (che è già uno), si comportano in modo quasi indistinguibile per la CPU, ma in modo più prevedibile per una persona e un compilatore. Con i nopas, era il contrario. Mop cache

Obiettivi e predecessori

Non per niente abbiamo separato questo capitolo dal resto della descrizione della parte anteriore: l'aggiunta della cache mop dimostra chiaramente quale percorso Intel ha scelto per tutti i suoi processori, a partire da Core 2. Per la prima volta (per Intel) , è stato aggiunto un blocco che ha raggiunto contemporaneamente due obiettivi, sembrerebbe contrastanti: aumentare la velocità e risparmiare energia. Si tratta della coda dei comandi (IQ) tra predecoder e decoder, che ha poi memorizzato fino a 18 comandi fino a 64 byte in totale. Se solo appianasse la differenza nei tassi di preparazione e decodifica dei comandi (come un normale buffer), il vantaggio sarebbe piccolo. Ma Intel ha ipotizzato di collegare un piccolo blocco LSD a IQ (è improbabile che i ragazzi abbiano "accettato" qualcosa, hanno solo un tale umorismo) - Loop Stream Detector, "rilevatore di flusso ciclico". Al rilevamento di un ciclo che rientra in 18 istruzioni, LSD disabilita tutte le fasi precedenti (predittore, cache L1I e predecoder) e rimuove le istruzioni di ciclo dal decoder fino al completamento o fino a quando non viene effettuata una transizione al di là di esso (le chiamate e i ritorni sono non consentito). In questo modo si risparmia energia disabilitando i blocchi temporaneamente inattivi e si aumentano le prestazioni grazie ad un flusso garantito di 4 istruzioni/ciclo per il decoder, anche se sono state “fornite” dei prefissi più scomodi.

L'idea è ovviamente piaciuta a Intel, quindi lo schema è stato ottimizzato per Nehalem: IQ è stato duplicato (per due stream) e tra il decoder e il dispatcher (cioè, esattamente al confine tra il fronte e il retro), due code IDQ di 28 uops ciascuno è stato posizionato e il blocco di LSD è stato trasferito su di loro. Ora, quando il ciclo è bloccato, si spegne anche il decoder, e le prestazioni sono aumentate, anche per l'afflusso garantito di non 4 comandi, ma 4 uops per clock, anche se sono stati generati con un minimo (per Core 2 / i) a un tempo di 2 uop/bar. I fan furiosi dell'Opposite Camp, staccandosi per un secondo dalla loro attività preferita, inseriranno subito una forcina: se l'LSD è una cosa così buona, perché non è stato integrato in Atom? E il tornante è vero: avendo una coda di 32 uP dopo il decoder, Atom non è in grado di bloccare il ciclo al suo interno, il che sarebbe molto utile per risparmiare preziosi milliwatt. Tuttavia, Intel non ha rinunciato all'idea e ha preparato un aggiornamento per le nuove CPU, e che aggiornamento!

Il nome interno ufficiale per la cache uop è DSB (decode stream buffer), sebbene non sia accurato come il termine consigliato DIC (decoded instruction cache). Stranamente, non sostituisce, ma integra le code IDQ, che ora sono collegate al decoder o con una scorta di mop. Alla successiva previsione del ramo, l'indirizzo di destinazione viene controllato contemporaneamente nelle cache di istruzioni e uop. Se l'ultimo funziona, ne derivano ulteriori letture e il resto della parte anteriore viene disattivato. Questo è il motivo per cui la cache uop è la cache di livello 0 per uop, ovvero L0m.

È interessante notare che questa idea può essere proseguita chiamando le cache IDQ di livello "meno il primo". :) Ma una gerarchia così complessa all'interno della struttura nemmeno dell'intero nucleo, ma solo di un fronte, non è ridondante? Lascia che Intel, come eccezione, non risparmi spazio, ma una coppia di IDQ porterà notevoli risparmi aggiuntivi, dato che solo la cache di uops è ora disabilitata durante il loro funzionamento, poiché il resto del front (tranne il predittore) è già addormentato? E dopotutto, non otterrai nemmeno un aumento speciale della velocità, perché anche la cache uop è impostata per generare 4 uop / ciclo. Apparentemente, gli ingegneri Intel hanno deciso che un gioco a 3 livelli vale le candele milliwatt.

Oltre al risparmio, la cache mop velocizza le prestazioni, anche riducendo la penalità per false branch forecast: in Nehalem, quando è stato trovato il codice corretto in L1I, la penalità era di 17 cicli, in SB - 19, ma se il codice era si trova in L0m - quindi solo 14. Inoltre questi sono i numeri massimi: con una transizione falsamente prevista, lo scheduler deve ancora iniziare e completare gli uops precedenti nell'ordine del programma, e durante questo tempo L0m può avere il tempo di pompare il corretto uops in modo che lo scheduler possa avviarli subito dopo la rinuncia ai comandi prima della transizione. In Nehalem, questa tecnica ha funzionato con IDQ e front, ma nel primo caso la probabilità che anche l'indirizzo target corretto sia all'interno del ciclo di 28 mop è molto piccola, e nel secondo, la lentezza del front nella maggior parte dei casi casi non hanno consentito di ridurre il ritardo a zero. Sai Baba ha una tale possibilità in più.

Dispositivo

Topologicamente, L0m è costituito da 32 x 8 file (8- ). Ogni riga memorizza 6 uops (nell'intera cache - 1536, ovvero "un kiloope e mezzo") e la cache può scrivere e leggere una riga alla volta. Il predittore fornisce indirizzi di blocchi di 32 byte, ed è questa dimensione che funziona per L0m, quindi, inoltre, con il termine "pezzo" si intende un blocco di codice di 32 byte allineato e previsto come un blocco di 32 byte in esecuzione di codice (e non 16 byte, come per un decoder). In fase di decodifica, il controller L0m attende che la porzione venga elaborata fino alla fine o fino alla prima transizione in essa innescata (ovviamente, presumibilmente - di seguito assumiamo che le previsioni siano sempre corrette), accumulando uops contemporaneamente al loro invio al retro. Quindi corregge i punti di ingresso e uscita del blocco in base al comportamento delle transizioni. Di solito, il punto di ingresso è l'indirizzo di destinazione della transizione attivata nel blocco precedente (più precisamente, i 5 bit inferiori dell'indirizzo) e il punto di uscita è l'indirizzo proprio della transizione attivata in questo blocco. Nel caso estremo, se né la porzione precedente né quella corrente attivano una singola transizione (cioè, le porzioni non solo vengono eseguite, ma anche memorizzate in una riga), allora entrambe verranno eseguite nella loro interezza - la loro immissione sarà sul zero mop e il primo byte del primo adattamento completo in questa parte del comando, e l'output è sull'ultimo mop dell'ultimo comando completamente adattamento e il suo byte iniziale.

Se ci sono più di 18 uops in una porzione, non viene memorizzata nella cache. Questo imposta la dimensione media minima dell'istruzione (all'interno di un blocco) a 1,8 byte, che non sarà una limitazione seria nella maggior parte dei programmi. Possiamo ricordare il secondo punto delle restrizioni IDQ: se il ciclo rientra in una porzione, ma impiega da 19 a 28 uops, né la cache L0m né la coda IDQ lo risolveranno, anche se si adatterebbe ovunque in termini di dimensioni. Tuttavia, in questo caso, la lunghezza media dei comandi dovrebbe essere di 1,1–1,7 byte, il che è estremamente improbabile per due dozzine di comandi di seguito.

Molto probabilmente, porzioni uops vengono scritte simultaneamente nella cache, occupando 1-3 righe di un set, quindi per L0m viene violato uno dei principi fondamentali del funzionamento di una cache set-associativa: con di solito viene attivata una riga di un set . Immediatamente, i tag fino a tre righe possono ricevere l'indirizzo della stessa porzione, che differisce solo per i numeri di serie. Quando l'indirizzo previsto entra in L0m, la lettura avviene allo stesso modo: vengono attivati ​​1, 2 o 3 percorsi del set desiderato. È vero, un tale schema è irto di uno svantaggio.

Se programma eseguibile in tutti i blocchi viene decodificato in 13–18 uops, il che richiederà 3 linee L0m per tutti i blocchi, si troverà quanto segue: se insieme correnteè già occupato da due porzioni di 3 righe e la terza sta cercando di scriverci (che non è sufficiente per una riga), dovrai forzare fuori una delle vecchie e, tenendo conto della sua connettività, tutte 3 vecchi. Pertanto, più di due porzioni di codice "a piccolo comando" in un set non dovrebbero rientrare. Quando si testa questa ipotesi in pratica, questo è quello che è successo: porzioni con comandi grandi che richiedevano meno di 7 uops sono state stipate in L0m con un numero di 255 (per qualche motivo non ha funzionato per prenderne uno in più), adattando quasi 8 KB di codice. I blocchi medi (7–12 uops) hanno riempito tutte le 128 posizioni possibili (2 righe ciascuna), memorizzate nella cache esattamente 4 KB. Bene, i piccoli comandi si adattano a 66 porzioni, che è due in più del valore previsto (2112 byte contro 2048), che, a quanto pare, è spiegato dagli effetti limite del nostro codice di test. Carenza sulla faccia: se 256 righe da 6 mop potessero essere riempite completamente, sarebbero sufficienti per 85 triple complete con una dimensione totale del codice di 2720 byte.

Forse Intel non si aspetta che in qualche codice ci saranno così tanti comandi brevi e semplici che più di 2/3 di essi cadranno in porzioni di 3 righe, che si costringeranno a vicenda a uscire da L0m in anticipo. E anche se si incontra un codice del genere - data la semplicità della sua decodifica, il resto dei blocchi anteriori può facilmente far fronte al compito di fornire i 4 uops / ciclo necessari per il posteriore (tuttavia, senza i promessi risparmi in watt e penalità cicli in caso di falsa previsione). Curiosamente, se L0m avesse 6 percorsi, non ci sarebbero problemi. Intel ha deciso che avere una dimensione della cache un terzo più grande a causa dell'associatività è più importante...

Dimensioni

Ricordiamo che l'idea di memorizzare nella cache un gran numero di uops invece di istruzioni x86 non è nuova. È apparso per la prima volta nel Pentium 4 sotto forma di una cache di tracce uop - sequenze di uops dopo lo srotolamento del ciclo. Inoltre, la cache di traccia non integrava, ma sostituiva la L1I mancante: i comandi per il decoder venivano letti immediatamente da . Nonostante l'oblio dell'architettura NetBurst, è ragionevole presumere che gli ingegneri Intel abbiano utilizzato l'esperienza passata, anche se senza lo srotolamento del ciclo e un predittore dedicato alla cache. Mettiamo a confronto le vecchie e le nuove soluzioni (le nuove CPU qui si chiamano Core i 2, perché i numeri di quasi tutti i modelli con architettura SB iniziano con un due):

* - presumibilmente

Abbiamo bisogno di qualche spiegazione qui. In primo luogo, il throughput per L0m si basa su un limite di larghezza totale della tubazione di 4 uops. Sopra, abbiamo ipotizzato che L0m possa leggere e scrivere 18 uops per ciclo. Tuttavia, durante la lettura, tutti e 18 (se ce n'erano così tanti durante la decodifica della parte originale) non possono essere inviati per clock e l'invio avviene su più clock.

Inoltre, la dimensione del mocio in bit si riferisce generalmente a informazioni molto delicate che i produttori o non danno affatto o solo quando vengono premuti contro il muro (si dice che hai già calcolato tutto, così sia - lo faremo Confermare). Per una CPU Intel, l'ultima cifra affidabile nota è 118 bit per il Pentium Pro. È chiaro che le dimensioni sono aumentate da allora, ma le congetture partono da qui. Si possono ottenere 118 bit per una CPU x86 a 32 bit se il mop ha campi per l'indirizzo dell'istruzione che l'ha generata (32 bit), operando immediato (32 bit), offset indirizzo (32 bit), operandi di registro (3 da 3 bit + 2 bit per scala per il registro indice) e opcode (11 bit, in cui è codificata una specifica versione del comando x86, tenendo conto dei prefissi). Dopo aver aggiunto , e SSE2, il campo dell'opcode è probabilmente aumentato di 1 bit, da cui è stato ottenuto il numero 119.

Dopo il passaggio a (Prescott e oltre), in teoria, tutti i campi a 32 bit dovrebbero aumentare a 64 bit. Ma qui ci sono sottigliezze: le costanti a 64 bit in x86-64 sono consentite solo una alla volta (ovvero, entrambe le costanti nel comando non occuperanno sicuramente più di 8 byte), e quindi, e ora, costa ancora 48 bit. Quindi sono necessari solo 16 bit dell'indirizzo e 3 bit aggiuntivi di numeri di registro (di cui 16) per aumentare la dimensione del mop: otteniamo (circa) 138 bit. Ebbene, in SB, il mop, a quanto pare, è cresciuto di un altro 1 bit a causa dell'aggiunta di altre diverse centinaia di comandi dall'ultimo P4 e di altri 8 - a causa di un aumento di numero massimo fino a 5 registri specificati in modo esplicito per comando (quando si utilizza AVX). Quest'ultimo, però, è dubbio: poiché, immaginate, quanto i386, all'architettura x86 non ne è stato aggiunto uno solo nuovo un comando che richiede almeno 4 byte di costante (con l'unica eccezione recente ed estremamente sottile in SSE4.a di AMD che anche la maggior parte dei programmatori non conosce). E poiché Intel AVX e AMD hanno aggiornato la codifica delle sole istruzioni vettoriali, i bit dei numeri di registro aggiuntivi rientreranno nella metà superiore del campo a 32 bit parzialmente inutilizzato (per queste istruzioni) dell'operando immediato. Inoltre, nel comando x86 stesso, il 4° o 5° registro è codificato con solo quattro bit di una costante.

È ovvio che la memorizzazione e l'inoltro di tali "mostri" in qualsiasi in gran numero- Molto costoso. Pertanto, anche per P4, Intel ha escogitato una versione abbreviata del mop, in cui c'è un solo campo per entrambe le costanti e, se non si adattano lì, i bit mancanti vengono posizionati nello stesso campo del mop vicino . Tuttavia, se memorizza già lì le sue costanti, è necessario inserire nop come donatore-portatore di bit aggiuntivi come vicino. La continuità di tale schema si osserva anche in SB: non vengono inseriti nodi extra, ma i comandi con costanti a 8 byte (o con la somma delle dimensioni della costante e dell'offset di indirizzo di 5–8 byte) hanno una dimensione doppia in L0m. Tuttavia, data la lunghezza di tali comandi, più di 4 di essi non si adatteranno a una porzione, quindi la restrizione sulla scopa occupata è chiaramente acritica. Ciononostante affermiamo: SB, a differenza delle precedenti CPU, ha ben 3 formati uop - decodable (il più completo), archiviato nella cache uop (con riduzione costante) e main (senza campo di registro indice), utilizzati ulteriormente in cantiere . Tuttavia, la maggior parte degli uomini non viene toccata dalla decodifica al pensionamento.

Restrizioni

"Regole per l'utilizzo della cache" non si esaurisce con il formato speciale di mop. Ovviamente, un blocco così conveniente come L0m non poteva essere completamente privo di restrizioni di un grado o dell'altro di gravità, di cui non ci era stato parlato nei materiali promozionali. :) Partiamo dal fatto che tutti gli uops del comando tradotto devono stare in una riga, altrimenti vengono trasferiti alla successiva. Ciò si spiega con il fatto che gli indirizzi delle uops della linea sono memorizzati separatamente (per risparmiare 48 bit in ogni uop), e tutte le uops generate dal comando devono corrispondere all'indirizzo del suo primo byte, memorizzato nel tag di una sola riga. Per ripristinare gli indirizzi originali, i tag memorizzano le lunghezze dei comandi che hanno generato l'uops. L '"intolleranza" di uops rovina in qualche modo l'efficienza dell'uso di L0m, poiché i comandi incontrati occasionalmente che generano più uops hanno una probabilità significativa di non adattarsi alla riga successiva.

Inoltre le uop delle istruzioni più complesse sono ancora memorizzate in ROM con microcodice, e solo le prime 4 uops della sequenza, più un link per continuare, vanno a L0m, quindi tutto insieme occupa un'intera riga. Ne consegue che in una porzione non possono essere presenti più di tre istruzioni di microcodice e, data la dimensione media di un'istruzione, due saranno un limite più probabile. In realtà, però, si incontrano molto meno spesso.

Un altro punto importante: L0m non ha il suo. Sembra che questo dovrebbe velocizzare la verifica degli indirizzi (che qui sono solo virtuali) e ridurre i consumi energetici. Ma tutto è molto più interessante: non per niente tutte le moderne cache hanno . Gli spazi degli indirizzi virtuali dei programmi in esecuzione nel sistema operativo possono sovrapporsi, quindi, quando si cambia il contesto dell'attività, per non leggere vecchi dati o codice agli stessi indirizzi, è necessario ripristinare la cache virtualmente indirizzabile (questo era esattamente il caso del P4 cache di traccia). Naturalmente, la sua efficacia sarà bassa in questo caso. In alcune architetture, il cosiddetto. ASID (identificatore dello spazio degli indirizzi, identificatore dello spazio degli indirizzi) ​​- numeri univoci assegnati dal sistema operativo a ciascun thread. Tuttavia, x86 non supporta ASID in quanto non è necessario, data la presenza di tag fisici per tutte le cache. Ma poi è arrivato L0m e ha rotto il quadro. Inoltre, ricorda che la cache uop, come la maggior parte delle risorse del kernel, è condivisa tra due thread, in modo che uops ci sia programmi diversi. E se aggiungi il passaggio tra i sistemi operativi virtuali nella modalità appropriata, i mop di due programmi possono corrispondere in indirizzi. Cosa fare?

Il problema con i thread è facile da risolvere: L0m è semplicemente diviso a metà per set, quindi il numero di thread fornisce il bit più significativo del numero di set. Inoltre, L1I ha una policy di conservazione relativa a L0m. Pertanto, quando un codice viene espulso da L1I, i suoi uops vengono rimossi anche da L0m, il che richiede il controllo di due porzioni adiacenti (la dimensione della linea di tutte le moderne cache della CPU, senza contare L0m stesso, è 64 byte). Pertanto, un indirizzo virtuale da uops memorizzato nella cache può sempre essere verificato nei tag L1I utilizzando il suo TLB. Si scopre che sebbene L0m abbia un indirizzamento virtuale, prende in prestito tag fisici per il codice da L1I. Tuttavia, c'è una situazione in cui L0m è completamente resettato - e la sostituzione in L1I TLB, così come il suo ripristino completo(incluso quando si cambia modalità di funzionamento della CPU). Inoltre, L0m è completamente disabilitato se l'indirizzo base del selettore di codice (CS) non lo è zero(Che è estremamente improbabile nei sistemi operativi moderni).

Lavoro

Il segreto principale della cache uop è un algoritmo che sostituisce il lavoro del front per elaborare i comandi in uop leggendo da L0m. Inizia utilizzando i bit 5–9 dell'indirizzo della destinazione del salto (o i bit 5–8 più il numero di stream in caso di 2 thread) per selezionare un L0m impostato. I tag dell'insieme contengono il punto di ingresso nella porzione, i cui uop sono scritti nella riga corrispondente al tag, e il numero ordinale di questa riga all'interno della porzione. Possono corrispondere 1-3 righe, che (molto probabilmente) vengono lette simultaneamente in un buffer da 18 mop. Da lì, quattro uops vengono inviati a IDQ fino al raggiungimento del punto di uscita e tutto viene ripetuto dall'inizio. Inoltre, quando rimangono 1-3 ultime uop non inviate nella porzione, vengono inviate con le prime 3-1 uop della nuova porzione, per un totale di quattro usuali. Cioè, dal punto di vista della coda IDQ ricevente, tutte le transizioni vengono uniformate in un flusso di codice uniforme, come in P4, ma senza la cache di traccia.

E ora un momento curioso: non sono consentite più di due transizioni in una riga e, se una di esse è incondizionata, sarà l'ultima per la riga. Il nostro Attento Lettore si accorgerà che per l'intera porzione è consentito avere fino a 6 salti condizionati (ciascuno dei quali può funzionare senza essere punto di uscita), oppure 5 condizionali e 1 incondizionato, che sarà l'ultimo comando della porzione. Il predittore di ramo nella CPU Intel è progettato in modo che non noti il ​​ramo condizionale fino a quando non si attiva almeno una volta e solo allora verrà previsto il suo comportamento. Ma anche le transizioni "eterne" sono soggette a restrizioni. In effetti, ciò significa che è consentito completare l'esecuzione del mocio a porzioni e prima suoi punti di uscita.

Ma un trucco simile con più input non funzionerà: se c'è una transizione a una parte già memorizzata nella cache, ma con un offset diverso in essa (ad esempio, quando c'è più di una transizione incondizionata), allora L0m corregge un errore, gira sul fronte e scrive le uops ricevute in una nuova porzione. Cioè, nella cache, sono consentite copie per blocchi con input diversi e lo stesso output esattamente noto (oltre a pochi altri possibili). E quando il codice viene forzato da L1I a L0m, tutte le righe vengono cancellate, i cui punti di ingresso cadono in uno qualsiasi dei 64 byte di due porzioni. A proposito, le copie erano possibili anche nella cache di traccia P4 e hanno ridotto significativamente l'efficienza dell'archiviazione del codice ...

Tali restrizioni riducono la disponibilità dello spazio L0m. Proviamo a calcolare quanto è rimasto per l'uso effettivo. La dimensione media dell'istruzione x86-64 è di 4 byte. Il numero medio di uomini per squadra è 1,1. Cioè, molto probabilmente avrai 8-10 mop per porzione, ovvero 2 righe. Come calcolato in precedenza, L0m sarà in grado di memorizzare 128 di queste coppie, il che è sufficiente per 4 KB di codice. Tuttavia, tenendo conto dell'uso non ideale delle stringhe, il numero reale sarà probabilmente 3–3,5 KB. Mi chiedo come questo si inserisca nell'equilibrio generale dei volumi del sottosistema della cache?

  • 1 (in realtà parte di L3, in media per core) - 2 MB;
  • L2 - 256 KB, 8 volte in meno;
  • entrambi L1 - 32 KB ciascuno, 8 volte in meno;
  • il volume memorizzato nella cache in L0m è circa 10 volte inferiore.

Curiosamente, se trovi un'altra struttura nel kernel che memorizza molte istruzioni o uops, allora risulterà essere la coda ROB del dispatcher, che si adatta a 168 uops generati da circa 650–700 byte di codice, che è 5 volte inferiore alla volume equivalente effettivo L0m (3– 3,5 KB) e 9 volte inferiore a quello completo (6 KB). In questo modo, la cache uop integra una gerarchia ben ordinata di diversi repository di codice con parametri diversi ma ben bilanciati. Intel afferma che, in media, l'80% dei risultati finisce in L0m. Questo è ben al di sotto della cifra del 98-99% per una cache L1I da 32 KB, ma comunque - in quattro casi su cinque, la cache uop giustifica la sua presenza.

Articoli correlati in alto