CPU Dual Vs Quad: E6850 e Q6600



English version: Article English version
Pubblicato il: 08.02.2008  A cura di:  Francesco Fortino 

Introduzione

La comparsa delle prime cpu dual core dedicate al mondo consumer ha generato non poca confusione fra le menti dell’utenza: tutto questo, unito al ridimensionarsi delle frequenze di clock dei modelli più venduti, ha portato alla nascita di alcuni luoghi comuni sicuramente errati.
Non è raro, infatti, sentirsi consigliare un dual core da 1600MHz come prestazionalmente pari ad un processore single core di doppia frequenza, oppure assistere ad esclamazioni desolanti che affermano come un Core2Quad Q6600 possa esser confrontato ad un immaginario Pentium4 da 12Ghz.

Andando oltre queste considerazioni spicciole, è necessario fare chiarezza: non è possibile assimilare le prestazioni di una cpu multi core all’equivalente single core di frequenza moltiplicata, come non si può dire che un dual core vada la metà rispetto ad un quad core.


A livello logico, l’esecuzione di istruzioni da parte del processore si basa su un concetto fondamentale, l’interleaving, che viene gestito direttamente dal sistema operativo. L’interleaving, letteralmente interfogliamento, è la tecnica con cui il sistema operativo sottomette alla cpu (singolo core) le istruzioni dei programmi in esecuzione alternandole, facendo così sembrare all’utente che i programmi vengano eseguiti in parallelo.

Nel caso di cpu multi-core o di piattaforme multi-processore, il sistema operativo continua ad effettuare l’interleaving ma distribuisce anche il carico tra le unità di elaborazione a disposizione: si può verificare questo comportamento analizzando il carico delle singole cpu o dei singoli core quando non è in esecuzione un programma ottimizzato per i sistemi multi-processore o multi-core.

CPU Dual Vs Quad: E6850 e Q6600

L’immagine mostra come SuperPI impegni entrambi i core del processore utilizzato (nel caso, un Core Duo T2350) senza però arrivare al 100% delle risorse disponibili. La situazione cambia quando il software avvia un processo per ciascun core.

CPU Dual Vs Quad: E6850 e Q6600

Cinebench, ad esempio, è in grado di sfruttare al contempo ogni core della cpu: l’immagine da renderizzare viene divisa in tante parti, una per ciascun core (nel caso, quattro: si tratta di un Core2Quad Q6600). Se un core termina il proprio ‘parziale’ prima degli altri, gli verrà assegnata un’altra sezione dell’immagine e così via.

Un approccio di questo tipo è diventato necessario con l’aumentare della complessità dei singoli chip. A livello di engineering, infatti, è più conveniente realizzare sistemi d’elaborazione basati su più core in parallelo piuttosto che cercare di raggiungere frequenze esasperate: nel secondo caso, i limiti da superare sarebbero innumerevoli.

E’ bene ricordare, però, che nei processori multi-core l’aumento prestazionale, o speed-up, non raddoppia concordemente al numero di chip integrati sullo stesso die o sullo stesso PCB, principalmente perché parte delle risorse disponibili sono comunque condivise fra tutti i core (FSB, bus PCI e PCIe, RAM ed in alcuni casi anche la cache): una cpu dual core, quindi, non andrà esattamente il doppio rispetto ad una single core. Ovviamente, questa considerazione vale anche per il passaggio da due a quattro core.

Chiariti questi concetti in termini generali, ecco i sample in test.



12 3 4 ... 8

Indice dei Contenuti