I processori multi-core sono disponibili nei personal computer dalla fine degli anni '90. I progetti multi-core hanno affrontato il problema del fatto che i processori hanno raggiunto il limite massimo dei loro limiti fisici in termini di velocità di clock e di efficienza con cui potrebbero essere raffreddati mantenendo la precisione. Passando a core aggiuntivi sul chip a processore singolo, i produttori hanno evitato problemi con le velocità di clock moltiplicando effettivamente la quantità di dati che potrebbero essere gestiti dalla CPU.
Quando sono stati originariamente rilasciati, erano solo due core in una singola CPU, ma ora ci sono opzioni per quattro, sei e persino 10 o più. Oltre a questo aggiungere core, la tecnologia Hyper-Threading di Intel raddoppia virtualmente i core che il sistema operativo vede.
Avere due core in un singolo processore ha sempre avuto benefici tangibili grazie alla natura multitasking dei moderni sistemi operativi. Dopo tutto, è possibile che si stia navigando sul Web o si digiti un rapporto mentre un programma antivirus viene eseguito in background. La vera domanda per molte persone potrebbe essere se avere più di due è davvero utile e se sì, quanti?
threading
UN filo è semplicemente un singolo flusso di dati da un programma che passa attraverso il processore sul computer. Ogni applicazione genera il proprio uno o più thread a seconda di come è in esecuzione. Con il multitasking, un processore single-core può gestire solo un singolo thread alla volta, quindi il sistema passa rapidamente da un thread all'altro per elaborare i dati in modo apparentemente concorrente.
Il vantaggio di avere più core è che il sistema può gestire più di un thread. Ogni core può gestire un flusso di dati separato. Questa architettura aumenta notevolmente le prestazioni di un sistema che esegue applicazioni concorrenti. Poiché i server tendono a eseguire molte applicazioni simultanee in un determinato momento, la tecnologia è stata originariamente sviluppata per il cliente aziendale, ma con l'aumento dei computer personali e del multitasking, anche questi hanno beneficiato di core aggiuntivi.
Dipendenza dal software
Mentre il concetto di processori multi-core sembra interessante, c'è un avvertimento importante su questa tecnologia. Affinché i veri vantaggi dei processori multipli siano visibili, il software in esecuzione sul computer deve essere scritto per supportare il multithreading. Senza il software che supporta tale funzione, i thread saranno principalmente eseguiti attraverso un singolo core, degradando così l'efficienza. Dopotutto, se può funzionare solo su un singolo core in un processore quad-core, potrebbe essere più veloce eseguirlo su un processore dual-core con velocità di clock di base più elevate.
Tutti i principali sistemi operativi attuali supportano la capacità di multithreading. Ma il multithreading deve essere scritto anche nel software applicativo. Il supporto per il multithreading nel software consumer è migliorato nel corso degli anni, ma per molti programmi semplici, il supporto al multithreading non è ancora implementato a causa della complessità della build del software. Ad esempio, un programma di posta o un browser Web non vedrà grandi benefici per il multithreading tanto quanto un programma di editing grafico o video, in cui il computer elabora calcoli complessi.
Un buon esempio per spiegare questa tendenza è guardare un tipico gioco per computer. La maggior parte dei giochi richiede una qualche forma di motore di rendering per visualizzare ciò che sta accadendo nel gioco. Inoltre, una sorta di intelligenza artificiale controlla eventi e personaggi nel gioco. Con un singolo core, entrambi devono funzionare passando tra i due. Questo approccio non è efficiente. Se il sistema disponeva di più processori, il rendering e l'intelligenza artificiale potevano essere eseguiti su un core separato, una situazione ideale per un processore multi-core.
È 4> 2?
Oltrepassare due core presenta alcune sfide concettuali, dato che la risposta per un dato acquirente di computer dipende dal software che utilizza abitualmente. Ad esempio, molti giochi offrono ancora poca differenza di prestazioni tra due e quattro core. Non ci sono essenzialmente giochi che vedano benefici tangibili da oltre quattro core del processore.
D'altro canto, un programma di codifica video che transcodifica il video probabilmente vedrà enormi vantaggi poiché il rendering di singoli fotogrammi può essere passato a diversi core e quindi collazionato in un singolo flusso dal software. Quindi avere otto core sarà ancora più vantaggioso di avere quattro.
Velocità di clock
Maggiore è la velocità di clock, più veloce è il processore. Le velocità di clock diventano più nebulose quando si considerano le velocità relative a più core perché i processori scricchiolano più thread di dati grazie ai core aggiuntivi, ma ognuno di questi core funzionerà a velocità inferiori a causa delle restrizioni termiche.
Ad esempio, un processore dual-core può supportare velocità di clock di base di 3,5 GHz per ciascun processore, mentre un processore quad-core può funzionare solo a 3,0 GHz. Basta guardare un singolo core su ciascuno di essi, il processore dual-core sarà in grado di circa il 14% più veloce rispetto al quad-core. Pertanto, se si dispone di un programma che è solo a thread singolo, il processore dual-core è in realtà più efficiente. Inoltre, se il tuo software può utilizzare tutti e quattro i processori, il processore quad-core sarà in realtà circa il 70 percento più veloce di quel processore dual-core.
conclusioni
Per la maggior parte, avere un processore di conteggio dei core più alto è generalmente meglio se il tuo software e i tipici casi d'uso lo supportano. Per la maggior parte, un processore dual-core o quad-core sarà più che sufficiente per un utente di computer di base.La maggior parte dei consumatori non vedrà alcun vantaggio tangibile dall'andare oltre i quattro core del processore, dato che c'è così poco software non specializzato che può trarne vantaggio. Le uniche persone che dovrebbero considerare tali processori di alto livello sono quelli che svolgono compiti complessi come l'editing di video desktop o complicati programmi di scienze e matematica.
Scopri la nostra rapidità di un PC ho bisogno? articolo per avere una migliore idea di quale tipo di processore si adatta meglio alle tue esigenze di elaborazione.