CPU

Tecnologia multi-core

Pagina 7: Tecnologia multi-core

Tecnologia multi-core

La tecnologia HT simula due processori in un singolo die. Avere due o più core fisici è molto meglio. Un processore multi-core, come implica il nome, contiene due o più core in un singolo die. Dall'esterno appare come una CPU single-core, ma all'interno possono esserci due, tre, quattro o persino più core. Un processore multi-core fornisce (virtualmente) tutti i vantaggi di avere più processori fisici separati, con costi generali decisamente inferiori.

AMD e Intel hanno introdotto i primi processori dual-core x86 per PC desktop nel maggio 2005. La prima soluzione di AMD è stata l'Athlon 64 X2, mentre i primi processori dual-core di Intel rispondono al nome di Pentium Extreme Edition 840 e Pentium D. L'Extreme Edition 840 era notevole perché supportava anche l'HT, apparendo al sistema operativo come una soluzione quad-core.

Questi processori combinavano istruzioni a 64 bit con due core interni – essenzialmente due processori su un singolo package. Sono questi i chip che hanno avviato la rivoluzione multicore, alimentata successivamente aggiungendo più core ed estensioni aggiuntive al set di istruzioni. Intel ha introdotto i suoi primi processori quad-core desktop nel 2006, chiamati Core 2 Extreme QX e Core 2 Quad, mentre AMD ha presentato le proprie soluzioni Phenom nel novembre 2007.

Nota: c'è stata un po' di confusione su Windows e i processori multi-core o con Hyper-Threading. Windows XP e successivi in versione Home supportavano solamente una CPU fisica, mentre le edizioni Professional, Business, Enterprise e Ultimate supportavano due CPU fisiche. Anche se le edizioni Home supportano una sola CPU fisica, se quel chip è un multi-core con HT, sono supportati tutti i core fisici e virtuali. Ad esempio, se avete un sistema con un quad-core che offre la tecnologia HT, le edizioni Home vedranno e supporteranno otto core. Se avete una scheda madre con due socket e altrettante di queste CPU installate, le edizioni Home vedranno gli otto core fisici/virtuali della prima CPU, mentre le edizioni Professional, Business, Enterprise e Ultimate dovrebbero vedere i 16 core di entrambe le CPU.

I processori multi-core sono stati progettati per eseguire più programmi allo stesso momento o per chi usa applicazioni ottimizzate per sfruttare i thread. Praticamente per ognuno di noi, al giorno d'oggi. Un'applicazione multithread può eseguire differenti parti di un programma, note come thread, nello stesso momento e nel medesimo address space, condividendo codice e dati. Un programma multithread lavora più rapidamente su un processore multicore o un chip con Hyper-Threading abilitato rispetto a un singolo core o a un processore senza HT.

Il diagramma sotto illustra come un processore single-core (a sinistra) e un dual-core (a destra) gestiscano il multitasking:

È importante capire che i processori multicore non migliorano molto le prestazioni con un singola operazione. Se giocate con titoli non ottimizzati per sfruttare i thread, probabilmente noterete pochi vantaggi con una CPU multi-core o con HyperThreading. Fortunatamente, sempre più software (inclusi i giochi) sono stati progettati per avvantaggiarsi di thread e più core. Il programma viene suddiviso in più thread che possono essere divisi tra i core disponibili.