Cosa significa il numero di core: 4? Cosa influenza il numero di core del processore? Processore multicore. Cos'è un processore multi-core

Cosa significa il numero di core: 4? Cosa influenza il numero di core del processore? Processore multicore. Cos'è un processore multi-core

* Sempre problemi attuali, a cosa dovresti prestare attenzione quando scegli un processore, in modo da non commettere errori.

Il nostro obiettivo in questo articolo è descrivere tutti i fattori che influenzano le prestazioni del processore e altre caratteristiche operative.

Probabilmente non è un segreto che il processore sia l'unità di calcolo principale di un computer. Potresti anche dire: la parte più importante del computer.

È lui che elabora quasi tutti i processi e le attività che si verificano nel computer.

Che si tratti di guardare video, musica, navigare in Internet, scrivere e leggere in memoria, elaborare 3D e video, giochi. E altro ancora.

Scegliere, quindi C centrale P processore, dovresti trattarlo con molta attenzione. Potrebbe succedere che tu decida di installare una potente scheda video e un processore che non corrisponde al suo livello. In questo caso il processore non rivelerà le potenzialità della scheda video, il che ne rallenterà il funzionamento. Il processore sarà completamente carico e letteralmente bollente, e la scheda video attenderà il suo turno, lavorando al 60-70% delle sue capacità.

Ecco perché, quando si sceglie un computer bilanciato, Non costi trascurare il processore a favore di una potente scheda video. La potenza del processore deve essere sufficiente a sfruttare al massimo il potenziale della scheda video, altrimenti sono solo soldi sprecati.

Intel contro AMD

*recuperare il ritardo per sempre

Società Intel, dispone di enormi risorse umane e di finanze quasi inesauribili. Molte innovazioni nel settore dei semiconduttori e nuove tecnologie provengono da questa azienda. Processori e sviluppi Intel, in media di 1-1,5 anni prima dei risultati degli ingegneri AMD. Ma come sai, per avere l'opportunità di avere di più tecnologie moderne- devi pagare.

Politica dei prezzi del processore Intel, si basa su entrambi numero di core, quantità di cache, ma anche su "freschezza" dell'architettura, prestazioni per clockwatt,tecnologia di processo dei chip. Di seguito verranno discussi il significato della memoria cache, le "sottigliezze del processo tecnico" e altre importanti caratteristiche del processore. Per il possesso di tali tecnologie, oltre al moltiplicatore di frequenza gratuito, dovrai pagare anche un importo aggiuntivo.

Azienda AMD, a differenza dell'azienda Intel, si impegna per la disponibilità dei suoi trasformatori per il consumatore finale e per una politica dei prezzi competente.

Si potrebbe anche dire questo AMD– « Timbro della gente" Nei suoi cartellini troverai ciò di cui hai bisogno ad un prezzo molto interessante. Di solito un anno dopo l'azienda ha una nuova tecnologia Intel, da cui appare un analogo della tecnologia AMD. Se non insegui le massime prestazioni e presti più attenzione al prezzo che alla disponibilità di tecnologie avanzate, allora i prodotti dell'azienda AMD- solo per te.

Politica dei prezzi AMD, si basa più sul numero di core e molto poco sulla quantità di memoria cache e sulla presenza di miglioramenti dell'architettura. In alcuni casi, per avere la possibilità di avere memoria cache di terzo livello, dovrai pagare un piccolo extra ( Fenomeno ha una memoria cache a 3 livelli, Atlon contenuto con solo limitato, livello 2). Ma a volte AMD vizia i suoi fan possibilità di sbloccare processori più economici a quelli più costosi. Puoi sbloccare i core o la memoria cache. Migliorare Atlon Prima Fenomeno. Ciò è possibile grazie all'architettura modulare e alla mancanza di alcuni modelli più economici, AMD disabilita semplicemente alcuni blocchi sul chip di quelli più costosi (software).

Nuclei– rimangono praticamente invariati, cambia solo il loro numero (vero per i processori 2006-2011 anni). Grazie alla modularità dei suoi processori, l'azienda fa un ottimo lavoro vendendo i chip scartati, che, quando alcuni blocchi vengono spenti, diventano un processore di una linea meno produttiva.

L'azienda lavora da molti anni su un'architettura completamente nuova sotto il nome in codice Bulldozer, ma al momento del rilascio in 2011 anno, i nuovi processori non hanno mostrato le migliori prestazioni. AMD Ho incolpato i sistemi operativi per non aver compreso le caratteristiche architettoniche del dual core e di "altro multithreading".

Secondo i rappresentanti dell'azienda, dovresti attendere correzioni e patch speciali per sperimentare le massime prestazioni di questi processori. Tuttavia, all'inizio 2012 L'anno scorso, i rappresentanti dell'azienda hanno rinviato il rilascio di un aggiornamento per supportare l'architettura Bulldozer per la seconda metà dell'anno.

Frequenza del processore, numero di core, multi-threading.

Durante i tempi Pentium 4 e prima di lui - Frequenza della CPU, era il principale fattore di prestazione del processore nella scelta di un processore.

Ciò non sorprende, perché le architetture dei processori sono state sviluppate appositamente per raggiungere frequenze elevate e ciò si riflette soprattutto nel processore Pentium 4 sull'architettura NetBurst. L'alta frequenza non era efficace con la lunga pipeline utilizzata nell'architettura. Anche Athlon XP frequenza 2GHz, in termini di produttività è stato superiore a Pentium 4 C 2,4GHz. Quindi era puro marketing. Dopo questo errore, l'azienda Intel ho realizzato i miei errori e tornato dalla parte del bene Ho iniziato a lavorare non sulla componente di frequenza, ma sulle prestazioni per clock. Dall'architettura NetBurst Ho dovuto rifiutare.

Che cosa lo stesso per noi dà multi-core?

Processore quad-core con frequenza 2,4GHz, nelle applicazioni multi-thread, sarà teoricamente l'equivalente approssimativo di un processore single-core con una frequenza 9,6GHz o processore a 2 core con frequenza 4,8GHz. Ma è solo questo in teoria. In pratica Tuttavia, due processori dual-core in una scheda madre a due socket saranno più veloci di un processore a 4 core alla stessa frequenza operativa. Le limitazioni di velocità del bus e la latenza della memoria hanno il loro prezzo.

* soggetto alla stessa architettura e quantità di memoria cache

Il multi-core consente di eseguire istruzioni e calcoli in parti. Ad esempio, è necessario eseguire tre operazioni aritmetiche. I primi due vengono eseguiti su ciascuno dei core del processore e i risultati vengono aggiunti alla memoria cache, dove l'azione successiva può essere eseguita con essi da qualsiasi core libero. Il sistema è molto flessibile, ma senza un'adeguata ottimizzazione potrebbe non funzionare. Pertanto, l'ottimizzazione per multi-core è molto importante per l'architettura del processore in un ambiente operativo.

Applicazioni che "amano" e utilizzo multithreading: archivisti, lettori video e codificatori, antivirus, programmi di deframmentazione, redattore grafico, browser, Veloce.

Inoltre, gli "amanti" del multithreading includono sistemi operativi come Windows 7 E Windows Vista, così come molti sistema operativo basato sul kernel Linux, che funzionano notevolmente più velocemente con un processore multi-core.

Maggior parte Giochi, a volte è sufficiente un processore a 2 core ad alta frequenza. Ora però vengono rilasciati sempre più giochi progettati per il multi-threading. Prendi almeno questi SandBox giochi come GTA4 O Prototipo, in cui su un processore a 2 core con una frequenza inferiore 2,6GHz– non ti senti a tuo agio, il frame rate scende sotto i 30 fotogrammi al secondo. Anche se in questo caso, molto probabilmente la ragione di tali incidenti è la “debole” ottimizzazione dei giochi, la mancanza di tempo o le mani “indirette” di coloro che hanno trasferito i giochi dalle console ai sistemi operativi. computer.

Quando acquisti un nuovo processore per i giochi, ora dovresti prestare attenzione ai processori con 4 o più core. Tuttavia, non dovresti trascurare i processori 2-core della "categoria superiore". In alcuni giochi, questi processori a volte si sentono meglio di alcuni multi-core.

Memoria cache del processore.

è un'area dedicata del chip del processore in cui vengono elaborati e archiviati i dati intermedi tra core del processore, RAM e altri bus.

Funziona a una velocità di clock molto elevata (di solito alla frequenza del processore stesso), ha una larghezza di banda molto elevata e i core del processore lavorano direttamente con esso ( L1).

A causa sua carenza, il processore può essere inattivo in attività che richiedono molto tempo, in attesa che nuovi dati arrivino nella cache per l'elaborazione. Anche la memoria cache serve per registrazioni di dati ripetuti frequentemente che, se necessario, possono essere rapidamente ripristinati senza calcoli inutili, senza costringere il processore a perdere nuovamente tempo con essi.

Le prestazioni sono migliorate anche dal fatto che la memoria cache è unificata e tutti i core possono utilizzare ugualmente i dati da essa. Questo da caratteristiche aggiuntive per l'ottimizzazione multithread.

Questa tecnica è ora utilizzata per Cassa di livello 3. Per processori Intel c'erano processori con memoria cache di livello 2 unificata ( C2D E7***,E8***), grazie al quale è apparso questo metodo aumentare le prestazioni multi-thread.

Quando si overclocca il processore, la memoria cache potrebbe diventare Punto debole, impedendo l'overclocking del processore oltre la sua frequenza operativa massima senza errori. Tuttavia, il vantaggio è che funzionerà alla stessa frequenza del processore overcloccato.

In generale, quanto più grande è la memoria cache, tanto più Più veloce PROCESSORE. In quali applicazioni esattamente?

Tutte le applicazioni che utilizzano molti dati, istruzioni e thread in virgola mobile fanno un uso intenso della memoria cache. La memoria cache è molto popolare archivisti, codificatori video, antivirus E redattore grafico eccetera.

Una grande quantità di memoria cache è favorevole Giochi. Soprattutto strategie, simulatori automatici, giochi di ruolo, SandBox e tutti i giochi in cui sono presenti molti piccoli dettagli, particelle, elementi geometrici, flussi di informazioni ed effetti fisici.

La memoria cache gioca un ruolo molto importante nello sbloccare il potenziale dei sistemi con 2 o più schede video. Dopotutto, parte del carico ricade sull'interazione dei core del processore, sia tra loro che per lavorare con flussi di diversi chip video. È in questo caso che l'organizzazione della memoria cache è importante e una memoria cache di livello 3 di grandi dimensioni è molto utile.

La memoria cache è sempre dotata di protezione contro possibili errori (ECC), se rilevati, vengono corretti. Questo è molto importante, perché un piccolo errore nella memoria cache, una volta elaborato, può trasformarsi in un errore gigantesco e continuo che manderà in crash l'intero sistema.

Tecnologie proprietarie.

(iper-threading, HT)–

la tecnologia è stata utilizzata per la prima volta nei processori Pentium 4, ma non sempre funzionava correttamente e spesso rallentava il processore più che accelerarlo. Il motivo era che la pipeline era troppo lunga e il sistema di previsione delle diramazioni non era completamente sviluppato. Utilizzato dall'azienda Intel, non esistono ancora analoghi della tecnologia, a meno che non la consideri un analogo? ciò che gli ingegneri dell’azienda hanno implementato AMD nell'architettura Bulldozer.

Il principio del sistema è che per ogni nucleo fisico, uno due thread di elaborazione, invece di uno. Cioè, se hai un processore a 4 core con HT (Nucleo i7), allora hai thread virtuali 8 .

Il miglioramento delle prestazioni si ottiene grazie al fatto che i dati possono entrare nella pipeline già a metà di essa, e non necessariamente all'inizio. Se alcuni blocchi del processore in grado di eseguire questa azione sono inattivi, ricevono l'attività per l'esecuzione. Il miglioramento delle prestazioni non è lo stesso di quello dei core fisici reali, ma paragonabile (~50-75%, a seconda del tipo di applicazione). È abbastanza raro che in alcune applicazioni, L'HT influisce negativamente per le prestazioni. Ciò è dovuto alla scarsa ottimizzazione delle applicazioni per questa tecnologia, all'incapacità di comprendere che esistono thread “virtuali” e alla mancanza di limitatori per il caricamento uniforme dei thread.

TurboAumento – una tecnologia molto utile che aumenta la frequenza operativa dei core del processore più utilizzati, a seconda del loro livello di carico. È molto utile quando l'applicazione non sa come utilizzare tutti e 4 i core e ne carica solo uno o due, mentre la loro frequenza operativa aumenta, compensando parzialmente le prestazioni. L'azienda ha un analogo di questa tecnologia AMD, è la tecnologia Nucleo Turbo.

, 3 sai! Istruzioni. Progettato per accelerare il processore multimedia informatica (video, musica, grafica 2D/3D, ecc.), e anche accelerare il lavoro di programmi come archiviatori, programmi per lavorare con immagini e video (con il supporto delle istruzioni di questi programmi).

3sai! – tecnologia piuttosto vecchia AMD, che contiene istruzioni aggiuntive per l'elaborazione dei contenuti multimediali, oltre a SSE prima versione.

*In particolare, la capacità di elaborare in streaming numeri reali a precisione singola.

La presenza di nuova versione– è un grande vantaggio, il processore inizia a eseguire determinate attività in modo più efficiente con un'adeguata ottimizzazione del software. Processori AMD hanno nomi simili, ma leggermente diversi.

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

Inoltre, questi set di istruzioni non sono identici. Questi sono analoghi con lievi differenze.

Fresco e tranquillo, SpeedStep CoolCore Incantato Metà Stato (C1E) ET. D.

Queste tecnologie, a bassi carichi, riducono la frequenza del processore riducendo il moltiplicatore e la tensione del core, disabilitando parte della cache, ecc. Ciò consente al processore di riscaldarsi molto meno, consumare meno energia e produrre meno rumore. Se è necessaria alimentazione, il processore tornerà al suo stato normale in una frazione di secondo. Nelle impostazioni standard Bio Sono quasi sempre accesi, se lo si desidera possono essere disabilitati per ridurre possibili "blocchi" quando si passa ai giochi 3D.

Alcune di queste tecnologie controllano la velocità di rotazione dei ventilatori nel sistema. Ad esempio, se il processore non necessita di una maggiore dissipazione del calore e non è caricato, la velocità della ventola del processore viene ridotta ( AMD Cool'n'Quiet, Intel Speed ​​Step).

Tecnologia di virtualizzazione Intel E Virtualizzazione AMD.

Queste tecnologie hardware consentono, utilizzando programmi speciali, di eseguire più sistemi operativi contemporaneamente, senza alcuna perdita significativa di prestazioni. Viene utilizzato anche per il corretto funzionamento dei server, perché spesso su di essi è installato più di un sistema operativo.

Eseguire disattivare Morso ENO eseguire Morso tecnologia progettata per proteggere un computer da attacchi di virus ed errori software che possono causare il blocco del sistema overflow del buffer.

Intel 64 , AMD 64 , EM64 T – questa tecnologia consente al processore di funzionare sia in un sistema operativo con architettura a 32 bit che in un sistema operativo con architettura a 64 bit. Sistema 64 bit– dal punto di vista dei vantaggi, per l'utente medio si differenzia in quanto questo sistema può utilizzare più di 3,25GB di RAM. Sui sistemi a 32 bit, utilizzare b O Non è possibile utilizzare una quantità maggiore di RAM a causa della quantità limitata di memoria indirizzabile*.

La maggior parte delle applicazioni con architettura a 32 bit può essere eseguita su un sistema con un sistema operativo a 64 bit.

* Cosa puoi fare se nel 1985 nessuno potesse nemmeno pensare a volumi di RAM così giganteschi, per gli standard di quel tempo.

Inoltre.

Qualche parola su.

Vale la pena prestare molta attenzione a questo punto. Più sottile è il processo tecnico, minore è l'energia consumata dal processore e, di conseguenza, meno si riscalda. E tra le altre cose ha un margine di sicurezza più elevato per l'overclocking.

Quanto più raffinato è il processo tecnico, tanto più è possibile “avvolgerlo” in un chip (e non solo) e aumentare le capacità del processore. Anche la dissipazione del calore e il consumo energetico vengono ridotti proporzionalmente, grazie alle minori perdite di corrente e alla riduzione dell'area del nucleo. Si può notare la tendenza secondo cui con ogni nuova generazione della stessa architettura su un nuovo processo tecnologico aumenta anche il consumo di energia, ma non è così. È solo che i produttori si stanno muovendo verso una produttività ancora maggiore e stanno andando oltre la linea di dissipazione del calore della precedente generazione di processori a causa dell'aumento del numero di transistor, che non è proporzionale alla riduzione del processo tecnico.

Integrato nel processore.

Se non hai bisogno di un core video integrato, non dovresti acquistare un processore con esso. Otterrai solo una dissipazione del calore peggiore, un riscaldamento extra (non sempre), un potenziale di overclock peggiore (non sempre) e denaro pagato in eccesso.

Inoltre, i core integrati nel processore sono adatti solo per caricare il sistema operativo, navigare in Internet e guardare video (e non di alcuna qualità).

Le tendenze del mercato stanno ancora cambiando e l'opportunità di acquistare un potente processore da Intel Senza un core video, cade sempre meno. La politica di imposizione forzata del core video integrato è apparsa con i processori Intel sotto il nome in codice Ponte Sabbioso, la cui principale innovazione era il nucleo integrato nello stesso processo tecnico. Il nucleo video è individuato insieme con processore su un chip e non così semplice come nelle generazioni precedenti di processori Intel. Per coloro che non lo utilizzano, ci sono degli svantaggi sotto forma di un pagamento in eccesso per il processore, lo spostamento della fonte di riscaldamento rispetto al centro del coperchio di distribuzione del calore. Tuttavia, ci sono anche dei vantaggi. Core video disabilitato, può essere utilizzato per una tecnologia di codifica video molto veloce Sincronizzazione rapida accoppiato con un software speciale che supporta questa tecnologia. In futuro, Intel promette di espandere gli orizzonti dell'utilizzo del core video integrato per il calcolo parallelo.

Socket per processori. Durata della piattaforma.


Intel ha politiche dure per le sue piattaforme. La durata di ciascuno (le date di inizio e fine delle vendite del processore) di solito non supera 1,5 - 2 anni. Inoltre, l'azienda dispone di diverse piattaforme di sviluppo parallele.

Azienda AMD, ha la politica opposta di compatibilità. Sulla sua piattaforma AM 3, tutti i processori di futura generazione che supportano DDR3. Anche quando la piattaforma raggiunge 3+ del mattino e successivamente, nuovi processori per AM 3, oppure i nuovi processori saranno compatibili con le vecchie schede madri, e sarà possibile effettuare un upgrade indolore per il proprio portafoglio cambiando solo il processore (senza cambiare scheda madre, RAM, ecc.) e flashando la scheda madre. Le uniche sfumature di incompatibilità possono sorgere quando si cambia tipo, poiché sarà necessario un diverso controller di memoria integrato nel processore. Quindi la compatibilità è limitata e non supportata da tutte le schede madri. Ma in generale, per un utente attento al budget o per coloro che non sono abituati a cambiare completamente la piattaforma ogni 2 anni, la scelta del produttore del processore è chiara: questo AMD.

Raffreddamento della CPU.

Viene fornito di serie con il processore SCATOLA-un nuovo dispositivo di raffreddamento che farà semplicemente fronte al suo compito. È un pezzo di alluminio con un'area di dispersione non molto elevata. I raffreddatori efficienti con tubi di calore e piastre ad essi collegati sono progettati per una dissipazione del calore altamente efficiente. Se non vuoi sentire ulteriore rumore proveniente dalla ventola, dovresti acquistare un dispositivo di raffreddamento alternativo e più efficiente con tubi di calore o un sistema di raffreddamento a liquido di tipo chiuso o aperto. Tali sistemi di raffreddamento forniranno inoltre la possibilità di overclockare il processore.

Conclusione.

Sono stati presi in considerazione tutti gli aspetti importanti che influiscono sulle prestazioni e sulle prestazioni del processore. Ripetiamo a cosa dovresti prestare attenzione:

  • Seleziona il produttore
  • Architettura del processore
  • Processo tecnico
  • Frequenza della CPU
  • Numero di core del processore
  • Dimensioni e tipo di cache del processore
  • Supporto tecnologico e didattico
  • Raffreddamento di alta qualità

Ci auguriamo che questo materiale ti aiuti a comprendere e decidere sulla scelta di un processore che soddisfi le tue aspettative.

Nei primi anni del nuovo millennio, quando le frequenze delle CPU finalmente superarono la soglia di 1 GHz, alcune aziende (non puntiamo il dito contro Intel) predissero che la nuova architettura NetBurst avrebbe potuto raggiungere in futuro frequenze di circa 10 GHz. Gli entusiasti si aspettavano l'attacco nuova era, quando la velocità di clock della CPU crescerà come funghi dopo la pioggia. Hai bisogno di più prestazioni? Basta passare a un processore con clock più veloce.

La mela di Newton cadde rumorosamente sulle teste dei sognatori che vedevano nei megahertz il modo più semplice per continuare ad aumentare le prestazioni del PC. Le limitazioni fisiche non consentivano un aumento esponenziale della frequenza dell'orologio senza un corrispondente aumento della generazione di calore e iniziarono a sorgere anche altri problemi associati alle tecnologie di produzione. Negli ultimi anni, infatti, i processori più veloci funzionano a frequenze comprese tra 3 e 4 GHz.

Naturalmente, il progresso non può essere fermato quando le persone sono disposte a pagare per questo: ci sono molti utenti disposti a pagare una cifra considerevole per un computer più potente. Pertanto, gli ingegneri hanno iniziato a cercare altri modi per aumentare le prestazioni, in particolare aumentando l'efficienza dell'esecuzione dei comandi e non basandosi solo sulla velocità dell'orologio. Anche il parallelismo si è rivelato una soluzione: se non puoi rendere la CPU più veloce, perché non aggiungere un secondo processore dello stesso tipo per aumentare le risorse di elaborazione?

Pentium EE 840 è la prima CPU dual-core ad apparire nei negozi.

Il problema principale con la concorrenza è che il software deve essere scritto specificamente per distribuire il carico su più thread, il che significa che non otterrai un risultato immediato, a differenza della frequenza. Nel 2005, quando uscirono sul mercato i primi processori dual-core, non fornivano miglioramenti significativi in ​​termini di prestazioni, poiché parecchi venivano utilizzati sui PC desktop. Software che li sosterrebbe. In realtà, la maggior parte Le CPU dual-core erano più lente dei processori single-core nella maggior parte delle attività perché le CPU single-core funzionavano a velocità di clock più elevate.

Tuttavia, sono già passati quattro anni e durante questi anni molte cose sono cambiate. Molti sviluppatori di software hanno ottimizzato i propri prodotti per sfruttare più core. I processori single-core sono ora più difficili da trovare in vendita e le CPU dual, triple e quad-core sono considerate abbastanza comuni.

Ma sorge spontanea la domanda: di quanti core CPU hai veramente bisogno? Un processore triple-core è sufficiente per i giochi o è meglio pagare un extra e ottenere un chip quad-core? Un processore dual-core è sufficiente per l'utente medio o più core fanno davvero la differenza? Quali applicazioni sono ottimizzate per più core e quali risponderanno solo ai cambiamenti nelle specifiche come la frequenza o la dimensione della cache?

Abbiamo pensato che fosse giunto il momento buon tempo testare le applicazioni del pacchetto aggiornato (tuttavia, l'aggiornamento non è ancora stato completato) su configurazioni single, dual, triple e quad-core per capire quanto siano diventati preziosi i processori multi-core nel 2009.

Per garantire test equi, abbiamo scelto un processore quad-core: un Intel Core 2 Quad Q6600 overcloccato a 2,7 GHz. Dopo aver eseguito i test sul nostro sistema, abbiamo disabilitato uno dei core, riavviato e ripetuto i test. Abbiamo disabilitato in sequenza i core e ottenuto risultati per diversi numeri di core attivi (da uno a quattro), mentre il processore e la sua frequenza non sono cambiati.

Disabilitare i core della CPU in Windows è molto semplice. Se vuoi sapere come fare, digita "msconfig" nella finestra "Avvia ricerca" di Windows Vista e premi "Invio". Questo aprirà l'utilità Configurazione di sistema.

In esso, vai alla scheda “Avvio” e premi il pulsante “Opzioni avanzate”.

Ciò farà apparire la finestra Opzioni avanzate BOOT. Seleziona la casella di controllo "Numero di processori" e specifica il numero richiesto di core del processore che saranno attivi nel sistema. Tutto è molto semplice.

Dopo la conferma, il programma ti chiederà di riavviare. Dopo il riavvio, puoi vedere il numero di core attivi nel Task Manager di Windows. Il "Task Manager" viene richiamato premendo i tasti Crtl+Shift+Esc.

Seleziona la scheda "Prestazioni" nel "Task Manager". In esso puoi vedere i grafici di carico per ciascun processore/core (che si tratti di un processore/core separato o di un processore virtuale, come otteniamo nel caso del Core i7 con supporto Hyper-Threading attivo) nella voce "Cronologia utilizzo CPU" . Due grafici indicano due nuclei attivi, tre - tre nuclei attivi, ecc.

Ora che avete acquisito familiarità con la metodologia dei nostri test, passiamo ad un esame dettagliato della configurazione del computer e dei programmi di test.

Provare la configurazione

Hardware di sistema
processore Intel Core 2 Quad Q6600 (Kentsfield), 2,7 GHz, FSB-1200, cache L2 da 8 MB
piattaforma MSI P7N SLI Platinum, Nvidia nForce 750i, BIOS A2
Memoria A-Data EXTREME DDR2 800+, 2 x 2048 MB, DDR2-800, CL 5-5-5-18 a 1,8 V
HDD Western Digital Caviar WD50 00AAJS-00YFA, 500 GB, 7200 giri/min, cache da 8 MB, SATA 3,0 Gbit/s
Netto Controller Gigabit Ethernet nForce 750i integrato
Schede video Gigabyte GV-N250ZL-1GI PCIe DDR3 da 1 GB
alimentatore UltraHE1000X, ATX 2.2, 1000 W
Software e driver
sistema operativo Microsoft Windows Vista Ultimate 64 bit 6.0.6001, SP1
Versione DirectX DirectX10
Driver della piattaforma Driver nForce versione 15.25
Driver grafico Nvidia Forceware 182.50

Test e impostazioni

Giochi 3D
crisi Impostazioni di qualità impostate al minimo, Dettaglio oggetto su Alto, Fisica su Molto alto, versione 1.2.1, 1024x768, Strumento Benchmark, media di 3 esecuzioni
Dato per morto Impostazioni di qualità impostate al minimo, 1024x768, versione 1.0.1.1, demo a tempo.
Mondo in conflitto Impostazioni di qualità impostate al minimo, 1024x768, Patch 1.009, benchmark integrato.
iTunes Versione: 8.1.0.52, CD audio ("Terminator II" SE), 53 min., Formato predefinito AAC
MP3 zoppo Versione: 3.98 (64 bit), CD audio ""Terminator II" SE, 53 min, Wave in MP3, 160 Kb/s
TMPEG4.6 Versione: 4.6.3.268, Importa file: "Terminator II" SE DVD (5 minuti), Risoluzione: 720x576 (PAL) 16:9
DivX 6.8.5 Modalità di codifica: qualità folle, multi-threading avanzato, abilitato utilizzando SSE4, ricerca in quarti di pixel
XviD 1.2.1 Visualizza lo stato della codifica=disattivato
Riferimento al concetto principale 1.6.1 Da MPEG2 a MPEG2 (H.264), codec MainConcept H.264/AVC, 28 sec HDTV 1920x1080 (MPEG2), audio: MPEG2 (44,1 KHz, 2 canali, 16 bit, 224 Kb/s), modalità: PAL (25 FPS), Profilo: Impostazioni hardware di Tom per Qct-Core
Autodesk 3D Studio Max 2009 (64 bit) Versione: 2009, rendering dell'immagine del drago a 1920x1080 (HDTV)
Adobe Photoshop CS3 Versione: 10.0x20070321, Filtraggio da una foto TIF da 69 MB, Benchmark: Tomshardware-Benchmark V1.0.0.4, Filtri: Tratteggio incrociato, Vetro, Sumi-e, Bordi accentati, Tratti angolati, Tratti spruzzati
Grisoft AVG Antivirus 8 Versione: 8.0.134, Base virus: 270.4.5/1533, Benchmark: Scansione cartella da 334 MB di file compressi ZIP/RAR
WinRAR 3.80 Versione 3.80, Benchmark: carico di lavoro THG (334 MB)
WinZip12 Versione 12, compressione=migliore, benchmark: carico di lavoro THG (334 MB)
3DMark Vantage Versione: 1.02, punteggi GPU e CPU
PC Mark Vantage Versione: 1.00, Sistema, Memoria, Benchmark unità disco rigido, Windows Media Player 10.00.00.3646
SiSoftware Sandra 2009 SP3 Test CPU=Aritmetica CPU/MultiMedia, Test memoria=Benchmark larghezza di banda

Risultati del test

Partiamo dai risultati dei test sintetici, così da poter poi valutare quanto corrispondono ai test reali. È importante ricordare che i test sintetici sono scritti pensando al futuro, quindi dovrebbero essere più reattivi ai cambiamenti nel numero di core rispetto alle applicazioni reali.

Inizieremo con il test sintetico delle prestazioni di gioco 3DMark Vantage. Abbiamo scelto l'esecuzione "Entry", che 3DMark esegue alla risoluzione più bassa disponibile in modo che le prestazioni della CPU abbiano un impatto maggiore sui risultati.

La crescita quasi lineare è piuttosto interessante. L'aumento maggiore si osserva quando si passa da un core a due, ma anche in questo caso la scalabilità è abbastanza evidente. Passiamo ora al test PCMark Vantage, progettato per mostrare le prestazioni complessive del sistema.

I risultati di PCMark suggeriscono che l'utente finale trarrà vantaggio dall'aumento del numero di core della CPU a tre, e il quarto core, al contrario, ridurrà leggermente le prestazioni. Vediamo cosa provoca questo risultato.

Nel test del sottosistema di memoria, vediamo ancora una volta il maggiore aumento di prestazioni quando si passa da un core della CPU a due.

Il test di produttività, a nostro avviso, ha il maggiore impatto risultato complessivo Test PCMark, poiché in questo caso l'aumento delle prestazioni termina su tre core. Vediamo se i risultati di un altro test sintetico, SiSoft Sandra, sono simili.

Inizieremo con i test aritmetici e multimediali di SiSoft Sandra.


I test sintetici dimostrano un aumento abbastanza lineare delle prestazioni quando si passa da un core della CPU a quattro. Questo test è stato scritto specificatamente per utilizzare in modo efficiente i quattro core, ma dubitiamo che le applicazioni del mondo reale vedranno la stessa progressione lineare.

Il test della memoria Sandra suggerisce inoltre che tre core forniranno una maggiore larghezza di banda della memoria nelle operazioni con buffer di numeri interi iSSE2.

Dopo i test sintetici, è tempo di vedere cosa otteniamo nei test applicativi.

La codifica audio è stata tradizionalmente un segmento in cui le applicazioni non hanno tratto grandi benefici dai core multipli o non sono state ottimizzate dagli sviluppatori. Di seguito sono riportati i risultati di Lame e iTunes.

Lame non mostra molti vantaggi quando si utilizzano più core. È interessante notare che vediamo un piccolo aumento delle prestazioni con un numero pari di core, il che è abbastanza strano. Tuttavia, la differenza è piccola, quindi potrebbe semplicemente rientrare nel margine di errore.

Per quanto riguarda iTunes, notiamo un piccolo aumento delle prestazioni dopo l'attivazione di due core, ma più core non fanno nulla.

Si scopre che né Lame né iTunes sono ottimizzati per più core della CPU per la codifica audio. D'altra parte, per quanto ne sappiamo, i programmi di codifica video sono spesso altamente ottimizzati per più core a causa della loro natura intrinsecamente parallela. Diamo un'occhiata ai risultati della codifica video.

Inizieremo i nostri test di codifica video con MainConcept Reference.

Notate l'impatto che l'aumento del numero di core ha sul risultato: il tempo di codifica scende da nove minuti su un processore Core 2 single-core da 2,7 GHz a soli due minuti e 30 secondi quando tutti e quattro i core sono attivi. È abbastanza chiaro che se transcodifichi spesso video, è meglio prendere un processore con quattro core.

Vedremo vantaggi simili nei test TMPGEnc?

Qui puoi vedere l'impatto sull'uscita dell'encoder. Mentre l'encoder DivX è altamente ottimizzato per più core CPU, Xvid non mostra un vantaggio così evidente. Tuttavia, anche Xvid riduce il tempo di codifica del 25% quando si passa da un core a due.

Iniziamo le prove grafiche con Adobe Photoshop.

Come puoi vedere, la versione CS3 non nota l'aggiunta di kernel. Un risultato strano per un programma così popolare, anche se ammettiamo di non averlo utilizzato ultima versione Photoshop CS4. I risultati di CS3 non sono ancora entusiasmanti.

Diamo un'occhiata ai risultati del rendering 3D in Autodesk 3ds Max.

È abbastanza ovvio che Autodesk 3ds Max "ama" i core aggiuntivi. Questa caratteristica era presente in 3ds Max anche quando il programma veniva eseguito in ambiente DOS, poiché l'attività di rendering 3D richiedeva così tanto tempo per essere completata che era necessario distribuirlo su diversi computer in rete. Ancora una volta, per tali programmi è altamente auspicabile utilizzare processori quad-core.

Il test di scansione antivirus è molto vicino alle condizioni di vita reale poiché quasi tutti utilizzano software antivirus.

L'antivirus AVG dimostra un meraviglioso aumento delle prestazioni con l'aumento dei core della CPU. Durante una scansione antivirus, le prestazioni del computer possono diminuire drasticamente e i risultati mostrano chiaramente che più core riducono significativamente i tempi di scansione.


WinZip e WinRAR non forniscono vantaggi notevoli su più core. WinRAR dimostra un aumento delle prestazioni su due core, ma niente di più. Sarà interessante vedere come si comporta la versione 3.90 appena rilasciata.

Nel 2005, quando iniziarono ad apparire i desktop dual-core, semplicemente non c'erano giochi che mostrassero miglioramenti in termini di prestazioni passando da CPU single-core a processori multi-core. Ma i tempi sono cambiati. In che modo più core CPU influenzano i giochi moderni? Lanciamo alcuni giochi popolari e vediamo. Abbiamo eseguito i nostri test di gioco a una bassa risoluzione di 1024x768 e con un basso livello di dettaglio grafico per ridurre al minimo l'impatto della scheda grafica e determinare quanto le prestazioni della CPU vengono influenzate da questi giochi.

Cominciamo con Crysis. Abbiamo ridotto tutte le opzioni al minimo tranne il dettaglio dell'oggetto, che abbiamo impostato su "Alto", e anche la fisica, che abbiamo impostato su "Molto alta". Di conseguenza, le prestazioni di gioco dovrebbero dipendere maggiormente dalla CPU.

Crysis ha mostrato un'impressionante dipendenza dal numero di core della CPU, il che è abbastanza sorprendente poiché pensavamo che rispondesse maggiormente alle prestazioni della scheda video. In ogni caso, puoi vedere che in Crysis le CPU single-core danno frame rate la metà rispetto a quattro core (tuttavia, ricorda che se il gioco dipende maggiormente dalle prestazioni della scheda video, allora la diffusione dei risultati con numeri diversi dei core della CPU sarà più piccolo). È anche interessante notare che Crysis può utilizzare solo tre core, poiché aggiungerne un quarto non fa una differenza notevole.

Ma sappiamo che Crysis utilizza seriamente i calcoli della fisica, quindi vediamo quale sarebbe la situazione in un gioco con una fisica meno avanzata. Ad esempio, in Left 4 Dead.

È interessante notare che Left 4 Dead mostra un risultato simile, anche se la parte del leone nell'aumento delle prestazioni arriva dopo l'aggiunta di un secondo core. C'è un leggero aumento quando si passa a tre core, ma questo gioco non richiede un quarto core. Tendenza interessante. Vediamo quanto sarà tipico per la strategia in tempo reale World in Conflect.

I risultati sono ancora simili, ma notiamo una caratteristica sorprendente: tre cores della CPU danno prestazioni leggermente migliori di quattro. La differenza è vicina al margine di errore, ma ciò conferma ancora una volta che il quarto core non viene utilizzato nei giochi.

È tempo di trarre conclusioni. Dato che abbiamo ricevuto molti dati, semplifichiamo la situazione calcolando l'aumento medio delle prestazioni.

Innanzitutto vorrei dire che i risultati dei test sintetici sono troppo ottimistici quando si confronta l'uso di più core con applicazioni reali. Il miglioramento delle prestazioni per i test sintetici quando si passa da un core a più core sembra quasi lineare, con ogni nuovo core che aggiunge il 50% delle prestazioni.

Nelle applicazioni, vediamo progressi più realistici: aumento di circa il 35% dal secondo core della CPU, aumento del 15% dal terzo e aumento del 32% dal quarto. È strano che quando aggiungiamo un terzo core, otteniamo solo la metà del vantaggio offerto dal quarto core.

Nelle applicazioni, tuttavia, è meglio guardare ai singoli programmi piuttosto che al risultato complessivo. In effetti, le applicazioni di codifica audio, ad esempio, non traggono alcun vantaggio dall'aumento del numero di core. D'altro canto, le applicazioni di codifica video traggono grande vantaggio da più core della CPU, anche se questo dipende molto dall'encoder utilizzato. Nel caso del programma di rendering 3D 3ds Max, vediamo che è fortemente ottimizzato per ambienti multi-core e le applicazioni di fotoritocco 2D come Photoshop non rispondono al numero di core. L'antivirus AVG ha mostrato un aumento significativo delle prestazioni su diversi core, ma il guadagno sulle utilità di compressione dei file non è così grande.

Per quanto riguarda i giochi, quando si passa da un core a due, le prestazioni aumentano del 60% e dopo aver aggiunto un terzo core al sistema, otteniamo un altro divario del 25%. Il quarto core non fornisce alcun vantaggio nei giochi da noi selezionati. Certo, se prendessimo più partite la situazione potrebbe cambiare, ma in ogni caso tri-core Processori fenomenici II X3 sembra essere una scelta molto attraente ed economica per un giocatore. È importante notare che man mano che si passa a risoluzioni più elevate e si aggiungono dettagli visivi, la differenza dovuta al numero di core sarà minore, poiché la scheda grafica diventerà il fattore decisivo nel frame rate.


Quattro nuclei.

Detto e fatto si possono trarre alcune conclusioni. Nel complesso, non è necessario essere un utente professionale per trarre vantaggio dall'installazione di una CPU multi-core. La situazione è cambiata notevolmente rispetto a quattro anni fa. Naturalmente, la differenza non sembra così significativa a prima vista, ma è piuttosto interessante notare quanto le applicazioni siano state ottimizzate per il multithreading negli ultimi anni, soprattutto quei programmi che possono fornire significativi guadagni di prestazioni da questa ottimizzazione. Possiamo infatti dire che oggi non ha senso consigliare CPU single-core (se ancora riuscite a trovarle), ad eccezione delle soluzioni a basso consumo.

Inoltre, ci sono applicazioni per le quali si consiglia agli utenti di acquistare processori con il maggior numero possibile di core. Tra questi ricordiamo i programmi di codifica video, rendering 3D e applicazioni di lavoro ottimizzate, compresi i software antivirus. Per quanto riguarda i giocatori, sono finiti i tempi in cui bastava un processore single-core con una potente scheda grafica.

Il numero di core nel processore centrale influisce notevolmente sulle prestazioni complessive del sistema, soprattutto in modalità multitasking. Puoi scoprire il loro numero utilizzando software di terze parti o metodi Windows standard.

La maggior parte dei processori ora ha 2-4 core, ma esistono modelli costosi per computer da gioco e data center con 6 e persino 8 core. In precedenza, quando il processore centrale aveva un solo core, tutte le prestazioni erano nella frequenza e lavorare con più programmi contemporaneamente poteva bloccare completamente il sistema operativo.

Puoi determinare il numero di core, nonché osservare la qualità del loro lavoro, utilizzando soluzioni integrate in Windows stesso o programmi di terze parti (l'articolo discuterà dei più popolari).

Metodo 1: AIDA64

è un programma popolare per monitorare le prestazioni del computer ed eseguire vari test. Il software è a pagamento, ma è previsto un periodo di prova sufficiente per scoprire il numero di core della CPU. L'interfaccia AIDA64 è stata completamente tradotta in russo.

Le istruzioni sono queste:


Metodo 2: CPU-Z

CPU-Z programma gratuito, che ti consente di ottenere tutte le informazioni di base sui componenti del tuo computer. Ha un'interfaccia semplice, tradotta in russo.

Per scoprire il numero di core che utilizzano questo software, devi solo eseguirlo. Nella finestra principale, trova in fondo, sul lato destro, l'oggetto "Nuclei". Di fronte verrà scritto il numero di core.

Metodo 3: Gestione attività

Questo metodo è adatto solo per gli utenti di Windows 8, 8.1 e 10. Segui questi passaggi per scoprire il numero di core in questo modo:


Metodo 4: Gestione dispositivi

Questo metodo è adatto a tutte le versioni di Windows. Quando lo usi, dovresti ricordare che per alcuni processori Intel le informazioni potrebbero essere visualizzate in modo errato. Il fatto è che le CPU Intel utilizzano la tecnologia Hyper-threading, che divide un core del processore in più thread, aumentando così le prestazioni. Ma allo stesso tempo "Gestore dispositivi" può vedere thread diversi sullo stesso core come più core separati.

Le istruzioni passo passo sono simili alle seguenti:


Non è difficile scoprire autonomamente il numero di core nel processore centrale. Puoi anche semplicemente consultare le specifiche nella documentazione del tuo computer/laptop, se l'hai a portata di mano. Oppure cerca su Google il modello del processore se lo conosci.

QX | 22 luglio 2015, 14:45
Non solo la frequenza, anche il processo tecnico. I moderni processori 2-core da 3 GHz non possono essere paragonati ai primi processori 2-core, anch'essi da 3 GHz. La frequenza è la stessa, ma quelli vecchi sono solo freni terribili rispetto a quelli nuovi. Di conseguenza, il moderno i3 a 2 core è molto migliore del Quad Q6600 a 4 core. Anche il nuovo Pentium G è migliore del vecchio Quad.

QX | 11 luglio 2015, 12:18
Qui la differenza di frequenza non è grande, 3,5 contro 3 GHz. Ecco perché 4 core sono interessanti. Ma ovviamente, se anche le altre caratteristiche mantengono il passo. Sono necessari molti core per l'archiviazione, la codifica video, ecc. Prendendo 2 armi nucleari puoi anche risparmiare un po'. Un'altra domanda è quanto lavorerai su di esso. Beh, sarebbe meglio se nominassi specificatamente entrambi i modelli. E quindi, ti consiglierei di avere un Core i3 più potente e più fresco.

MaKos007 | 30 marzo 2015, 16:00
Qui diffonderò i miei pensieri sull'albero. Pertanto, dirò subito che la tua scelta è un processore dual-core con una frequenza più alta. Se la teoria non è interessante, non è necessario leggere oltre.

La frequenza del processore è, infatti, il numero di operazioni che esegue per unità di tempo. Pertanto, maggiore è la frequenza, maggiore è il numero di azioni eseguite al secondo, ad esempio.

E il numero di core... Se è presente più di un core, il processore può elaborare più di un'attività. È come nastri trasportatori. Un nastro trasportatore funziona velocemente, ma due nastri paralleli su cui si svolgono le operazioni producono il doppio della produttività. Quindi, in teoria, le soluzioni dual-core funzioneranno due volte più velocemente di una soluzione single-core.

Questa è una teoria, ma come con i trasportatori, questi due fili devono essere caricati con qualcosa. allo stesso tempo, caricare correttamente affinché ogni nastro funzioni con la massima efficienza. Nel caso dei processori, ciò dipende dall'architettura dei programmi e dei giochi che utilizzano questo multi-core. Se un'applicazione può dividere le attività in più thread (lettura: utilizzare un processore multi-core), il multi-core può fornire un aumento significativo della velocità di esecuzione dei comandi. Ma se non può, o i compiti sono tali che è impossibile dividerli, non importa se ci sono molti core nella CPU o meno.

In effetti, la questione del numero ottimale di core è complessa. Ciò che è importante anche qui è l'architettura dei nuclei stessi e le connessioni tra loro. Pertanto, i primi processori multi-core avevano un design significativamente meno funzionale di quelli moderni. Inoltre, va tenuto presente che i moderni sistemi operativi Windows 7 e Windows 8 (non sto prendendo in considerazione i sistemi *nix qui e il loro supporto per i processori multi-core è separato e molto argomento interessante) sono diventati molto bravi a parallelizzare molte attività. Pertanto, il multi-core aiuta a non rallentare i processi principali (applicazioni e giochi utilizzati dall'utente) a causa delle attività in background. Pertanto, la protezione antivirus e il firewall non rallenteranno (più precisamente, rallenteranno in misura minore) il gioco in esecuzione o funzioneranno in Photoshop.

Per quali programmi è importante il multi-core? Dopo aver trascorso un po' di tempo su Internet, scoprirai che accelera la conversione di video e audio; rendering di modelli 3D, crittografia del segnale, ecc. Non sono necessari 4 core per lavorare in Photoshop e nell'editing video. Ne bastano, come ho già detto, due, ma con prestazioni più elevate di ciascuno di essi.

teletrasportarsi | 21 aprile 2013, 01:30
Un semplice calcolo delle prestazioni mostra: per un 2-core la prestazione totale è 2 x 3,5 = 7, per un 4-core - 4 x 3 = 12. Quindi un 4-core è quasi 2 volte più potente. Inoltre è probabilmente più moderno, e quindi più economico e produttivo. E se viene utilizzato un solo core, si riscalda meno, poiché la frequenza di un core è leggermente inferiore, ma questo è significativo per il riscaldamento.

Per l'editing video, molto probabilmente il processore non è fondamentale, vengono utilizzate principalmente le risorse della scheda video o una speciale scheda di editing video. Ma anche il processore prende parte a questo, e se un processore a 2 core assegna un core a questa attività, le attività rimanenti (diversi programmi antivirus) combatteranno per il core rimanente, il che porterà a una terribile stupidità. In breve, il multi-core è migliore.

yang | 11 aprile 2013, 20:22
In questo caso, un processore dual-core sarà più efficiente ed economico sotto tutti gli aspetti.

  • Esercitazione

In questo articolo cercherò di descrivere la terminologia utilizzata per descrivere i sistemi in grado di eseguire più programmi in parallelo, ovvero multi-core, multiprocessore, multi-thread. Diversi tipi di parallelismo sono apparsi nella CPU IA-32 in tempi diversi e in ordine alquanto incoerente. È abbastanza facile confondersi in tutto questo, soprattutto considerando che i sistemi operativi nascondono attentamente i dettagli ai programmi applicativi meno sofisticati.

Lo scopo dell'articolo è mostrare che con tutta la varietà di possibili configurazioni di sistemi multiprocessore, multi-core e multi-thread, vengono create opportunità per i programmi in esecuzione su di essi sia per l'astrazione (ignorando le differenze) sia per tenere conto delle specifiche ( la possibilità di scoprire la configurazione a livello di codice).

Avvertenza sui segni ®, ™ nell'articolo

Il mio spiega perché i dipendenti dell'azienda dovrebbero utilizzare gli avvisi di copyright nelle comunicazioni pubbliche. In questo articolo ho dovuto usarli abbastanza spesso.

processore

Naturalmente, il termine più antico, più spesso usato e controverso è “processore”.

IN mondo moderno un processore è ciò che acquistiamo in una bella scatola al dettaglio o in un pacchetto OEM non così bello. Un'entità indivisibile inserita in una presa sulla scheda madre. Anche se non è presente alcun connettore e non può essere rimosso, cioè se è saldato saldamente, è un chip.

I sistemi mobili (telefoni, tablet, laptop) e la maggior parte dei desktop dispongono di un processore. Le workstation e i server a volte vantano due o più processori su un'unica scheda madre.

Il supporto di più CPU in un unico sistema richiede numerose modifiche alla progettazione. Come minimo, è necessario garantire la loro connessione fisica (fornire diversi socket sulla scheda madre), risolvere i problemi di identificazione del processore (vedi più avanti in questo articolo, così come la mia nota), il coordinamento degli accessi alla memoria e la consegna degli interrupt (l'interrupt il controller deve essere in grado di instradare gli interrupt a più processori) e, ovviamente, il supporto del sistema operativo. Sfortunatamente, non sono riuscito a trovare una menzione documentaria della creazione del primo sistema multiprocessore su processori Intel, ma Wikipedia afferma che Sequent Computer Systems li ha forniti già nel 1987, utilizzando processori Intel 80386. Il supporto per più chip in un sistema si sta diffondendo, a partire da Intel® Pentium.

Se sono presenti più processori, ciascuno di essi ha il proprio connettore sulla scheda. Ognuno di essi ha copie complete e indipendenti di tutte le risorse, come registri, dispositivi di esecuzione, cache. Condividono una memoria comune: la RAM. La memoria può essere collegata ad essi in vari modi, piuttosto non banali, ma questa è una storia separata che va oltre lo scopo di questo articolo. L'importante è che in ogni caso si crei per i programmi eseguibili l'illusione di una memoria condivisa omogenea accessibile da tutti i processori inclusi nel sistema.


Pronti al decollo! Scheda madre Intel® per sistemi desktop D5400XS

Nucleo

Storicamente, il multi-core in Intel IA-32 è apparso dopo Intel® HyperThreading, ma nella gerarchia logica viene dopo.

Sembrerebbe che se un sistema ha più processori, le sue prestazioni saranno più elevate (su attività che possono utilizzare tutte le risorse). Tuttavia, se il costo della comunicazione tra loro è troppo elevato, tutti i vantaggi derivanti dal parallelismo vengono vanificati da lunghi ritardi nel trasferimento dei dati comuni. Questo è esattamente ciò che si osserva nei sistemi multiprocessore: sia fisicamente che logicamente sono molto distanti tra loro. Per una comunicazione efficace in tali condizioni, è necessario creare bus specializzati, come Intel® QuickPath Interconnect. Tutto ciò ovviamente non riduce il consumo energetico, le dimensioni e il prezzo della soluzione finale. L'elevata integrazione dei componenti dovrebbe venire in soccorso: i circuiti che eseguono parti di un programma parallelo devono essere avvicinati tra loro, preferibilmente su un chip. In altre parole, un processore dovrebbe organizzarne diversi nuclei, identici tra loro in tutto, ma funzionanti in modo indipendente.

I primi processori multi-core IA-32 di Intel furono introdotti nel 2005. Da allora, il numero medio di core nelle piattaforme server, desktop e ora mobili è in costante crescita.

A differenza di due processori single-core sullo stesso sistema che condividono solo la memoria, due core possono anche condividere cache e altre risorse relative alla memoria. Molto spesso, le cache di primo livello rimangono private (ogni core ha il proprio), mentre il secondo e il terzo livello possono essere condivisi o separati. Questa organizzazione del sistema consente di ridurre i ritardi nella consegna dei dati tra core vicini, soprattutto se stanno lavorando su un'attività comune.


Micrografia di un quad-core Processore Intel nome in codice Nehalem. Vengono allocati core separati, una cache comune di terzo livello, nonché collegamenti QPI ad altri processori e un controller di memoria comune.

Hyperthread

Fino al 2002 circa, l'unico modo per ottenere un sistema IA-32 in grado di eseguire due o più programmi in parallelo era utilizzare sistemi multiprocessore. Intel® Pentium® 4, così come la linea Xeon con nome in codice Foster (Netburst), ha introdotto una nuova tecnologia - hyperthread o hyperthread - Intel® HyperThreading (di seguito HT).

Non c'è niente di nuovo sotto il sole. HT è un caso speciale di ciò che in letteratura viene definito multithreading simultaneo (SMT). A differenza dei core "reali", che sono copie complete e indipendenti, nel caso di HT, solo una parte dei nodi interni, principalmente responsabili della memorizzazione dei registri di stato dell'architettura, sono duplicati in un processore. I nodi esecutivi responsabili dell'organizzazione e dell'elaborazione dei dati rimangono singolari e in ogni dato momento vengono utilizzati al massimo da uno dei thread. Come i core, gli hyperthread condividono le cache, ma da quale livello dipende dal sistema specifico.

Non cercherò di spiegare tutti i pro e i contro dei progetti SMT in generale e dei progetti HT in particolare. Il lettore interessato può trovare una discussione abbastanza dettagliata sulla tecnologia in molte fonti e, ovviamente, su Wikipedia. Tuttavia, noterò il seguente punto importante, che spiega le attuali restrizioni sul numero di hyperthread nei prodotti reali.

Restrizioni del thread
In quali casi è giustificata la presenza di multi-core "ingiusti" sotto forma di HT? Se un thread dell'applicazione non è in grado di caricare tutti i nodi di esecuzione all'interno del kernel, questi possono essere “prestati” a un altro thread. Questo è tipico delle applicazioni che hanno un collo di bottiglia non nel calcolo, ma nell'accesso ai dati, ovvero che spesso generano errori di cache e devono attendere che i dati vengano consegnati dalla memoria. Durante questo periodo, il core senza HT sarà costretto a rimanere inattivo. La presenza di HT consente di passare rapidamente i nodi di esecuzione liberi a un altro stato dell'architettura (poiché è duplicato) ed eseguire le sue istruzioni. Questo è un caso speciale di una tecnica chiamata occultamento della latenza, quando un'operazione lunga, durante la quale risorse utili inattivo, mascherato dall'esecuzione parallela di altri compiti. Se l'applicazione ha già alto grado utilizzo delle risorse del kernel, la presenza di hyperthread non consentirà l'accelerazione: qui sono necessari kernel "onesti".

Gli scenari tipici per applicazioni desktop e server progettate per architetture di macchine generiche hanno il potenziale per il parallelismo implementato utilizzando HT. Tuttavia, questo potenziale si sta rapidamente esaurendo. Forse per questo motivo, su quasi tutti i processori IA-32, il numero di hyperthread hardware non supera i due. Negli scenari tipici, il guadagno derivante dall'utilizzo di tre o più hyperthread sarebbe piccolo, ma la perdita in termini di dimensioni del die, consumo energetico e costi è significativa.

Una situazione diversa si osserva nelle attività tipiche eseguite sugli acceleratori video. Pertanto queste architetture sono caratterizzate dall'utilizzo della tecnologia SMT con un numero maggiore di thread. Poiché i coprocessori Intel® Xeon Phi (introdotti nel 2010) sono ideologicamente e genealogicamente abbastanza vicini alle schede video, potrebbero avere quattro hyperthreading su ciascun core: una configurazione unica per IA-32.

Processore logico

Dei tre “livelli” di parallelismo descritti (processori, core, hyperthread), alcuni o addirittura tutti potrebbero mancare in un particolare sistema. Ciò è influenzato dalle impostazioni del BIOS (multi-core e multithreading sono disabilitati in modo indipendente), dalle funzionalità della microarchitettura (ad esempio, HT era assente nell'Intel® Core™ Duo, ma è stato ripristinato con il rilascio di Nehalem) e dagli eventi di sistema (multi-core i server dei processori possono spegnere i processori guasti se vengono rilevati guasti e continuare a "volare" su quelli rimanenti). In che modo questo zoo di concorrenza multilivello è visibile al sistema operativo e, in definitiva, alle applicazioni applicative?

Inoltre, per comodità, denotiamo per tre il numero di processori, core e thread in un determinato sistema ( X, , z), Dove Xè il numero di processori, - il numero di core in ciascun processore e z- numero di hyperthread in ciascun core. D'ora in poi li chiamerò tre topologia- un termine consolidato che ha poco a che fare con il ramo della matematica. Lavoro P = xyz definisce il numero di entità chiamate processori logici sistemi. Definisce il numero totale di contesti di processo di applicazione indipendenti in un sistema con memoria condivisa in esecuzione in parallelo, di cui il sistema operativo è costretto a tener conto. Dico "forzato" perché non può controllare l'ordine di esecuzione di due processi su processori logici diversi. Ciò vale anche per gli hyperthread: sebbene vengano eseguiti “in sequenza” sullo stesso core, l’ordine specifico è dettato dall’hardware e non può essere osservato o controllato dai programmi.

Molto spesso, il sistema operativo nasconde alle applicazioni finali le caratteristiche della topologia fisica del sistema su cui è in esecuzione. Ad esempio, le seguenti tre topologie: (2, 1, 1), (1, 2, 1) e (1, 1, 2) - il sistema operativo rappresenterà due processori logici, sebbene il primo di essi abbia due processori, il il secondo: due core e il terzo: solo due thread.


Task Manager di Windows mostra 8 processori logici; ma quanto costa in processori, core e hyperthread?


La parte superiore di Linux mostra 4 processori logici.

Questo è abbastanza conveniente per i creatori di applicazioni: non devono occuparsi di funzionalità hardware che spesso non sono importanti per loro.

Definizione software della topologia

Naturalmente, l'astrazione della topologia in un unico numero di processori logici in alcuni casi crea sufficienti motivi di confusione e malintesi (nelle accese controversie su Internet). Le applicazioni informatiche che desiderano ottenere le massime prestazioni dall'hardware richiedono un controllo dettagliato su dove verranno posizionati i loro thread: più vicini tra loro su hyperthread adiacenti o, al contrario, più lontani su processori diversi. La velocità di comunicazione tra processori logici all'interno dello stesso core o processore è molto superiore alla velocità di trasferimento dei dati tra processori. Anche la possibilità di eterogeneità nell'organizzazione della memoria di lavoro complica il quadro.

Le informazioni sulla topologia del sistema nel suo complesso, nonché sulla posizione di ciascun processore logico nell'IA-32, sono disponibili utilizzando l'istruzione CPUID. Dall'avvento dei primi sistemi multiprocessore, lo schema logico di identificazione del processore è stato ampliato più volte. Ad oggi le sue parti sono contenute nei fogli 1, 4 e 11 del CPUID. Quale foglio guardare può essere determinato dal seguente diagramma di flusso tratto dall'articolo:

Non ti annoierò qui con tutti i dettagli delle singole parti di questo algoritmo. Se c'è interesse, la parte successiva di questo articolo può essere dedicata a questo. Rimanderò il lettore interessato a esaminare la questione nel modo più dettagliato possibile. Qui descriverò innanzitutto brevemente cos'è APIC e come si collega alla topologia. Successivamente vedremo come lavorare con il foglio 0xB (undici in decimale), che è attualmente l'ultima parola in "apicocostruzione".

ID APIC
L'APIC locale (advanced programmable interrupt controller) è un dispositivo (ora parte del processore) responsabile della gestione degli interrupt che arrivano a uno specifico processore logico. Ogni processore logico ha il proprio APIC. E ciascuno di essi nel sistema deve avere un valore ID APIC univoco. Questo numero viene utilizzato dai controller di interruzione per l'indirizzamento durante la consegna dei messaggi e da tutti gli altri (ad esempio, il sistema operativo) per identificare i processori logici. Le specifiche per questo controller di interruzione si sono evolute dal PIC Intel 8259 attraverso Dual PIC, APIC e xAPIC fino a x2APIC.

Attualmente, la larghezza del numero memorizzato nell'ID APIC ha raggiunto i 32 bit completi, sebbene in passato fosse limitata a 16, e anche prima - solo 8 bit. Oggi, i resti dei vecchi tempi sono sparsi in tutto il CPUID, ma CPUID.0xB.EDX restituisce tutti i 32 bit dell'ID APIC. Su ciascun processore logico che esegue in modo indipendente l'istruzione CPUID verrà restituito un valore diverso.

Chiarimento dei legami familiari
Il valore ID APIC in sé non dice nulla sulla topologia. Per scoprire quali due processori logici si trovano all'interno di un processore fisico (ovvero, sono hyperthread "fratelli"), quali due sono all'interno dello stesso processore e quali sono processori completamente diversi, è necessario confrontare i loro valori ID APIC. A seconda del grado di relazione, alcune delle loro parti coincideranno. Queste informazioni sono contenute nei sottoelenchi CPUID.0xB, che sono operandi codificati in ECX. Ognuno di essi descrive la posizione del campo di bit di uno dei livelli di topologia in EAX (più precisamente, il numero di bit che devono essere spostati a destra nell'APIC ID per rimuovere i livelli di topologia inferiori), nonché il tipo di questo livello - hyperthread, core o processore - in ECX.

I processori logici situati all'interno dello stesso core avranno gli stessi tutti i bit ID APIC, ad eccezione di quelli appartenenti al campo SMT. Per i processori logici situati nello stesso processore, tutti i bit tranne i campi Core e SMT. Poiché il numero di sottofogli per CPUID.0xB può crescere, questo schema ci consentirà di supportare la descrizione di topologie con un numero maggiore di livelli, se se ne presentasse la necessità in futuro. Sarà inoltre possibile introdurre livelli intermedi tra quelli esistenti.

Una conseguenza importante dell'organizzazione di questo schema è che potrebbero esserci "buchi" nell'insieme di tutti gli ID APIC di tutti i processori logici nel sistema, ad es. non andranno in sequenza. Ad esempio, in un processore multi-core con HT disattivato, tutti gli ID APIC potrebbero risultare pari, poiché il bit meno significativo responsabile della codifica del numero dell'hyperthread sarà sempre zero.

Noto che CPUID.0xB non è l'unica fonte di informazioni sui processori logici disponibile per il sistema operativo. Un elenco di tutti i processori disponibili, insieme ai relativi valori ID APIC, è codificato nella tabella MADT ACPI.

Sistemi operativi e topologia

I sistemi operativi forniscono informazioni sulla topologia dei processori logici alle applicazioni utilizzando le proprie interfacce.

Su Linux, le informazioni sulla topologia sono contenute nello pseudofile /proc/cpuinfo così come nell'output del comando dmidecode. Nell'esempio seguente, filtro il contenuto di cpuinfo su alcuni sistemi quad-core senza HT, lasciando solo le voci relative alla topologia:

Testo nascosto

ggg@shadowbox:~$ cat /proc/cpuinfo |grep "processore\|fisico\ id\|siblings\|core\|cores\|apicid" processore: 0 id fisico: 0 fratelli: 4 core id: 0 core cpu: 2 apicid: 0 apicid iniziale: 0 processore: 1 id fisico: 0 fratelli: 4 core id: 0 core cpu: 2 apicid: 1 apicid iniziale: 1 processore: 2 id fisico: 0 fratelli: 4 core id: 1 cpu core: 2 apicid: 2 apicid iniziale: 2 processore: 3 id fisico: 0 fratelli: 4 core id: 1 core CPU: 2 apicid: 3 apicid iniziale: 3

Su FreeBSD, la topologia viene riportata tramite il meccanismo sysctl nella variabile kern.sched.topology_spec come XML:

Testo nascosto

utente@host:~$ sysctl kern.sched.topology_spec kern.sched.topology_spec: 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7 0, 1 Gruppo FILOGruppo SMT 2, 3 Gruppo FILOGruppo SMT 4, 5 Gruppo FILOGruppo SMT 6, 7 Gruppo FILOGruppo SMT

In MS Windows 8, le informazioni sulla topologia possono essere visualizzate nel Task Manager.

 

 

Questo è interessante: