Il processore raddoppia

LaptopMobility

Finalmente sono arrivati i tanto attesi processori dual core per Pc desktop: ecco le differenze fra Intel e Amd e le prove del Pentium Extreme Edition di Intel

Di processori dual core, dotati cioè di due nuclei di elaborazione in un unico contenitore, si parla ormai da molto tempo e molti ritenevano che Amd e Intel avrebbero potuto dichiarare di essere stati i primi a introdurre Cpu dual core rispettivamente per il segmento dei server e workstation e per quello dei desktop. Il recente annuncio di Amd ha però cambiato nuovamente le carte in tavola visto che ha deciso di presentare anche gli Athlon 64 X2, le variante a doppio core per il mondo desktop degli Athlon 64. In realtà, occorrerà verificare entro quanto tempo realmente saranno disponibili in volume i processori dai vari produttori. In precedenza, infatti, sono trascorsi alcuni mesi prima che diventasse realmente semplice acquistare un sistema basato sulle più recenti tecnologie. Perché due core In passato i produttori di chip hanno puntato prevalentemente sul costante incremento delle frequenze di clock per migliorare le prestazioni e, per esempio, alcuni azzardavano per il futuro frequenze operative anche fino a 10 GHz. Altri produttori, come Amd, si sono invece distaccati in parte da questa corsa anche grazie all’architettura delle Cpu Athlon. In realtà negli anni sono intervenuti anche diversi problemi che hanno limitato la crescita delle frequenze di clock. Per esempio la semplice riduzione di dimensioni dei transistor realizzata passando a nuovi processi produttivi, non è bastata a contenere la dissipazione termica, ormai arrivata oltre la soglia dei 100 W. In pratica si è avuto un incremento parallelo, anche se non proporzionale, della dissipazione delle Cpu con l’aumentare del numero di componenti interni e delle frequenze operative. Il punto è che si è arrivati oramai a livelli di dissipazione che rendono il raffreddamento del processore un compito piuttosto arduo per componenti a basso costo. Con il tempo è diventato piuttosto chiaro che l’incremento costante delle frequenze di clock non sarebbe stato più sostenibile a lungo, a meno di radicali cambiamenti nei processi produttivi e nelle architetture delle Cpu (il Pentium M è un esempio di questi cambiamenti, visto che opera a frequenze più basse dei Pentium 4 a parità di prestazioni con i più diffusi applicativi). Dividere i compiti Di fatto l’elaborazione parallela, quella ottenibile dai più processori che lavorano simultaneamente, risolve in parte il problema della necessità di crescita delle prestazioni senza essere costretti a incrementare le frequenze di clock. Se, infatti, si considera che le capacità di calcolo sono sostanzialmente legate al numero di operazioni eseguite per ogni ciclo di clock moltiplicato per la frequenza di clock, è chiaro che se si riesce a eseguire un numero maggiori di operazioni in parallelo, il secondo fattore, cioè la frequenza di clock può scendere senza condizionare le performance (questo in teoria, dato che moltissimo dipende dal software che deve essere scritto per poter sfruttare la presenza di due processori). La soluzione migliore per l’elaborazione parallela è quella di disporre di due processori distinti, in modo da avere due set completi di risorse a disposizione. I processori dual core però non soddisfano esattamente questi requisiti dato che hanno comunque almeno una parte in comune, lo zoccolo e un numero limitato di pin per i segnali, e quindi una parte delle risorse deve comunque essere condivisa. La terza situazione è quella di un unico processore come per esempio Pentium 4 Ht, che viene “visto” dal sistema come due Cpu logiche che lavorano in multiprocessing simmetrico (Smp) e eseguono, se possibile, due thread in parallelo. Di fatto le unità di esecuzione, le cache, il controller del bus, il sistema di branch prediction e altri sono in comune, mentre sono duplicati solamente pochis- simi elementi come una parte dei registri e il Programmable Interrupt controller. Questo significa che il software non ha a che fare con due processori completi e fisicamente distinti, e quindi che il guadagno di performance rispetto alla soluzione e con singola Cpu senza Hyper Threading spesso è molto limitato. Anche per le Cpu dual core comunque ci sono svariate soluzioni per implementare due processori all’interno di un unico contenitore. Per esempio, si può duplicare esattamente il core di un processore (unità di esecuzione, memorie cache, bus eccetera) oppure avere separate solo le unità di esecuzione e condividere i controller e i bus, o anche condividere parte delle memoria cache. Intel e Amd hanno, infatti, usato soluzioni architetturali diverse per rispettivi processori dual core. Il dual core di Amd La prima dimostrazione di una Cpu dual core per il mondo x86 è stata fatta da Amd nel 2004 su un server a 4 vie, ma lo sviluppo di processori di questo tipo parte almeno dal 1999. Inizialmente la roadmap di Amd prevedeva la proposta della prima Cpu dual core per il mercato dei server e delle workstation (più meno a metà del 2005) per passare poi alle Cpu dual core per desktop nella seconda metà dell’anno. In realtà il 21 aprile sono stati annunciati entrambi i processori: gli Opteron dual core e gli Athlon 64 x2. Per gli Opteron sono stati annunciati i modelli 865, 870 e 875, dedicati ai server e workstation e operanti rispettivamente alle frequenze di clock di 1,8, 2 e 2,2 GHz. A maggio, invece, sono stati presentati i modelli 265, 270 e 275. Un aspetto interessante è che il design termico ha dei valori che permette di sostituire nei sistemi le versioni a core singolo senza dover modificare radicalmente il sistema di raffreddamento. La gamma prevede infatti gli stessi design delle versioni a core singolo e quindi 95 W, 55W e 30 W. La corrente è di 80 A. Il processo produttivo a 90 nanometri e la Cpu conta su circa 205 milioni di transistor. Le misure del die sono quasi uguali a quelle dell’Opteron a core singolo costruiti con processo a 130 nanometri. L’architettura Direct Connect di Amd permette la connessione di due Cpu sullo stesso Die. Dal punto di vista strutturale le Cpu Amd dual core prevedono una condivisione di alcune risorse per migliorare l’efficienza senza sprecare spazio sul die. La struttura, infatti, prevede le due unità di esecuzione con le cache al primo e secondo livello separate per ogni core. La System request interface è comune e il crossbar switch provvede a collegare le Cpu con il controller per al memoria e quelli Hyper Transport che sono condivisi (negli Opteron dual core ci sono tre canali). Questa soluzione permette di utilizzare i socket a 940 pin e 939 pin (per gli Athlon 64 X2) già utilizzati per i processori a core singolo, mentre per Bios delle scheda madri occorre un upgrade, soprattutto per far identificare al sistema quale dei due processori è la Cpu 0 e quale la 1 (per il boot). La Cpu integra anche le nuove istruzioni Sse3 introdotte da Intel con i Pentium 4 Prescott. Gli Athlon 64 X2, come detto in precedenza, sono stati annunciati a sorpresa a aprile, ma Amd reputa che i primi sistemi saranno disponibili solo da giugno. Le differenze rispetto agli Opteron non sono molte e essenzialmente risiedono nella presenza di un solo canale Hyper Transport al posto di tre. Le versioni per ora sono quattro, siglate 4200+, 4400+, 4600+ e 4800+, ottenute combinando rispettivamente le frequenze di clock di 2 e 2,2 GHz con due formati di cache al secondo livello: 512 Kbyte e un Mbyte. Il processo produttivo è a 90 nanometri e sono stati usati 233 milioni di transistor. Il Pentium D di Intel Durante l’ultima edizione di Idf Intel ha presentato ben quindici progetti legati al multi core e destinati in pratica a tutti i vari segmenti, dai portatili ai server. La roadmap è molto aggressiva visto che per il 2006 Intel prevede che il 70% dei suoi processori per desktop e portatili saranno dual core, percentuale che sale all’85% per i server. Il secondo trimestre 2005 è il periodo scelto per il lancio dei primi processori dual core per Pc del segmento mainstream. Il core è quello conosciuto in precedenza con il nome in codice Smithfield e in pratica si tratta di due Pentium 4 sullo stesso die di silicio che condividono le connessione dello zoccolo in comune. Il package definisce quale die è il core 0 e quale il core 1, e quindi il device per il boot (il core 0). Anche se sono racchiusi nello stesso contenitore, il software è perfettamente in grado di distinguere tra i due core La frequenza operativa dei due core, 3,2 GHz, è relativamente bassa se confrontata con quella dei precedenti modelli a singolo core (in pratica è quella di un Pentium 4 540). Anche il Front side bus a 800 MHz non è quello più veloce (1.006 MHz) attualmente disponibile per le Cpu Pentium 4. La quantità di cache al secondo livello disponibile è di 1 Mbyte per ogni core, che però, essendo presenti due core, occupano un numero rilevante di transistor. La Cpu, infatti, utilizza 230 milioni di transistor distribuiti su 206 mm2. Se per la tensione di alimentazione si rientra nella norma, visto che è compresa fra 1,2 e 1,4 V, i valori lasciano un po’ perplessi sono quelli inerenti la corrente massima (Icc) che è di 125 A e il Thermal design power che arriva a ben 130 W. Molto dipende da quale punto di vista si valutano questi numeri. Rispetto a un singolo processore, e quindi dal punto di vista delle necessità che devono essere soddisfatte da scheda madre, regolatori di tensione, alimentatore e sistema di raffreddamento, il peggioramento rispetto alla versione a singolo core con pari caratteristiche, per esempio quella SL7PX (3,2 GHz, 1 Mbyte cache, Fsb a 800 e processo a 90 nanometri) è notevole, visto che per questo modello l’assorbimento di corrente è di 78 A e il design termico di “soli” 84 W (in realtà altri modelli come l’SL7LA hanno un design termico di 103 W). Se invece si prende come confronto un sistema dual processor, c’è indubbiamente un buon miglioramento (basta moltiplicare i precedenti valori per due per rendersene conto). Di fatto, rispetto alle precedenti motherboard, oltre a un nuovo chipset occorre anche un nuovo regolatore di tensione (Vrm) in grado di fornire un’alimentazione adeguata alle richieste del sistema. Sul die c’è comunque un diodo di protezione termica e non c’è relazione tra i due core in termini potenza dissipata. La tensione di alimentazione è condivisa fra i due core, e questo significa che il voltage regulator è lo stesso per entrambi i core e che le tecniche per ridurre la tensione devono essere applicati quando entrambi i core sono pronti a farlo. Tra i sistemi c’è anche il Vid Dynamic voltage identification che permette di cambiare tensione e frequenza in qualsiasi momento. Il meccanismo prevede che la frequenza di ridotta prima che la tensione venga abbassata. Questo permette di ridurre dinamicamente i consumi. La tecnologia Enhanced Speedstep permette di ridurre al dissipazione ed è supportata per i Pentium D con fattore di moltiplicazione del clock maggiore di 14 Tra le altre tecnologie utilizzate nelle Cpu ci sono quelle recentemente introdotte da Intel per l’indirizzamento della memoria a 64 bit (chiamata EM64T) l’Execute disable bit per prevenire gli attacchi da pare di virus e worm. Non manca anche la tecnologia Hyper Threading che permette, in pratica, di far “vedere” al sistema ben quattro processori logici. Il software Per i processori dual core l’aspetto del software è importante almeno quanto quello hardware. I problemi sono essenzialmente due, legati rispettivamente al tipo di licenze e all’efficienza. Il primo si è reso evidente con l’arrivo della tecnologia Hyper Threading, visto che i prezzi delle licenze di molti programmi sono in base al numero di Cpu installate, non precisando se si tratti di Cpu logiche piuttosto che fisiche. Ovviamente per l’ambiente business, dover pagare di più per un programma multiprocessore, vanifica molti dei benefici economici indotti dalle Cpu dual core. In realtà ci sono state molte discussioni e sistemi operativi come Windows , Suse Linux e Red Hat hanno licenze legate al numero di socket presenti, salvando in questo i vantaggi economici legati all’uso dei dual core. Il secondo problema legato al software riguarda l’effettiva possibilità di sfruttare i due core. Se da un lato è infatti vero che il software non deve essere riscritto per operare su processori dual core, dall’altro bisogna vedere se è in grado di sfruttare adeguatamente le capacità di esecuzione parallela e quindi ottenere benefici in termini di performance. Le applicazioni già ottimizzate per la tecnologia Hyper Threading traggono maggiori benefici dall’uso di Cpu dual core, ma in genere, solamente i programmi di fascia alta (come per esempio Photoshop) sono stati progettati in origine per usare più di un processore. Le prove Per saggiare le effettive capacità di una Cpu dual core, Intel ci ha fornito un sample equipaggiato con la Cpu Intel Pentium 4 a 3,2 GHz, un Front side bus di 800 MHz e 1 Mbyte di cache. Particolare cura è stata posta nella scelta del cabinet, nel sistema di raffreddamento e in quello di alimentazione. Considerando infatti gli elevati consumi di questa nuova Cpu Intel è necessario tener presente che l’aria all’interno dello chassis deve avere un ricambio constante. Durante una prolungata sessione di test, la Cpu ha raggiunto la temperatura di 70°C, mentre in condizione di idle, la temperatura media è di 48°C. I test si sono svolti con il sistema operativo Microsoft Windows XP Professional e Service Pack 2, i driver video sono i Catalyst 5.2 (Pack 8.10.xx) mentre, come termine di paragone, abbiamo effettuato tutta la serie di benchmark anche su una Cpu Pentium 4 540J con medesima frequenza operativa, Fsb e cache. In questo modo ci si può rendere conto degli effettivi vantaggi indotti dal raddoppio del numero di core. I risultati ottenuti dal sistema dual core sono notevolmente superiori alla precedente generazione di processori, con un vantaggio complessivo di circa il 30% nella suite Sysmark2004 e di circa il 50% nell’esecuzione del pacchetto Internet Content Creation. Più contenuto, ma comunque apprezzabile, il vantaggio del sistema dual core con gli applicativi della sezione Office Productivity. Il benchmark sintetico PcMark04 rileva un incremento di circa il 46% nei test relativi al processore e del 32% per quanto riguarda lo score complessivo. Quasi inesistente, invece, il vantaggio nei test 3Dmark03 e 05, tipicamente più stressanti per la scheda video. Nel timedemo di Doom3 abbiamo invece rilevato un aumento di prestazioni di quasi il 5%, lavorando a 1024×768 pixel.

Autore: ITespresso
Clicca per leggere la biografia dell'autore  Clicca per nascondere la biografia dell'autore