Il test dell’Intel Pentium Extreme Edition 840 – parte 2

Hyper-Threading e dual core, le differenze Verso la fine del 2002 Intel ha introdotto nelle sue CPU Pentium 4 di fascia media e alta l’Hyper-Threading, una tecnologia che permette al processore di eseguire due thread (istruzioni indipendenti) in parall …

Hyper-Threading e dual core, le differenze
Verso la fine del 2002 Intel ha introdotto nelle sue CPU Pentium 4 di fascia
media e alta l’Hyper-Threading, una tecnologia che permette al processore
di eseguire due thread (istruzioni indipendenti) in parallelo.

L’Hyper-Threading fa apparire al sistema operativo e ai software due
processori mentre in realtà ne è presente uno solo.

Ciò potrebbe creare qualche confusione con le CPU dual core che contengono
fisicamente due processori.

A parte questa similitudine le due architetture si basano su principi di funzionamento
e architetture diverse. Nelle CPU dual core due processori sullo stesso circuito
di silicio e ogni processore ha i propri registri, cache e risorse di esecuzione
completamente indipendenti.

Nella tecnologia Hyper-Threading i due processori, denominati processori
logici,
condividono invece diverse parti del chip: il motore d’esecuzione
delle istruzioni, le due cache L1 e L2 , l’interfaccia del bus di sistema
e il firmware.

Le sezioni replicate sono i registri di controllo e di stato
del PC e i registri dell’APIC (Advanced Programmable
Interrupt Control).

Quindi nelle CPU dual core abbiamo due unità di esecuzione delle istruzioni
mentre nelle CPU a core singolo con Hyper-Threading l’unità di
esecuzione è una sola.

Possiamo paragonare l’Hyper-Threading a una catena di montaggio con
più linee di rifornimento dei componenti, nel caso in cui una linea si
fermi perché manca del materiale, per esempio un thread il cui completamento
richiede il risultato di un’altra istruzione oppure dati che devono essere
recuperati dal lento disco fisso, la catena continua a produrre grazie al rifornimento
proveniente dalle altre linee.

Hyper-Threading è fondamentalmente una tecnologia che migliora le prestazioni
del processore, l’architettura di sistema controlla preventivamente e
invia all’unità di esecuzione delle istruzioni i thread che hanno
tutte le dipendenze soddisfatte (i risultati di altri thread) e risorse di esecuzione
disponibili mantenendo sempre l’unità di esecuzione delle istruzioni
costantemente impegnata.

La situazione del software
Per poter utilizzare una CPU dual core e con Hyper-Threading è necessario
un sistema operativo e applicazioni che supportino l’esecuzione
parallela di thread
.

I sistemi operativi che supportano queste modalità di esecuzione sono
in buon numero e allo stesso tempo i più diffusi. Tra i sistemi operativi
di Microsoft abbiamo Windows XP nelle versioni Professional e Home e le varie
versioni Windows per server.

Tutti gli altri, 2000, NT 4.0, 98, 98 SE e ME non sono ottimizzati per l’Hyper-Threading
o non supportano configurazioni dual core.

In casa Linux in genere tutti i sistemi operativi Linux usciti da un anno
a oggi supportano entrambe le tecnologie.

Intel e AMD hanno lavorato congiuntamente su un fattore che avrebbe potuto
costituire un ostacolo notevole per la diffusione delle CPU dual core, il sistema
di licenza dei sistemi operativi.

Molte versioni dei sistemi operativi per server e Windows XP Home supportano
un solo processore e per abilitare il supporto al secondo si deve acquistare,
quando possibile, una licenza supplementare.

Nel caso di un computer con Windows XP Home, che supporta un solo processore,
il sistema di licenza avrebbe richiesto la migrazione alla versione Professional
che supporta sino a due CPU (non esiste un sistema di licenze per la versione
Home).

Il lavoro dei due produttori hardware ha indotto i produttori di sistemi operativi
a modificare il tipo di licenza basandolo sul numero dei socket
presenti sulla scheda madre anziché sul numero di processori.

Le applicazioni non richiedono alcuna modifica per funzionare sui sistemi
dual core, ovviamente i maggiori incrementi nelle prestazioni con i sistemi
dual core li avranno quelle ottimizzate per l’elaborazione parallela.

A oggi sono più di un centinaio, per la maggior parte sono programmi
per l’elaborazione audio e video
(Nero 6, 3D Studio Max, Ulead
MediaStudio Pro 7 e Video Studio, Adobe Photoshop CS, Roxio VideoWave 7.0 per
citarne alcuni), giochi (Unreal 3) e gestionali complessi
(SQL Server 2000, Oracle Database).

Per le licenze dei software ogni produttore ha una sua politica, per esempio
Adobe non fa distinzioni sul numero dei processori presenti mentre Oracle considera
i dual core come un sistema a doppio processore e quindi richiede l’acquisto
di due licenze.

continua…

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome