logo

Cos'è un processore multicore?

Un processore multi-core è un circuito integrato a cui sono collegati due o più processori per un'elaborazione simultanea più rapida di più attività, un consumo energetico ridotto e prestazioni migliori. Generalmente è composto da due o più processori che leggono ed eseguono le istruzioni del programma.

In altre parole, su un singolo chip, un processore multi-core comprende numerose unità di elaborazione, o 'core', ciascuna delle quali ha il potenziale per svolgere compiti distinti. Ad esempio, se stai eseguendo più attività contemporaneamente, come guardare un film e utilizzare WhatsApp, un core gestirà attività come guardare un film mentre l'altro gestirà altre responsabilità come WhatsApp.

Cos'è un processore multicore

Una configurazione dual-core è paragonabile ad avere diversi processori installati sullo stesso computer, ma la connessione tra loro è più veloce perché le due CPU sono collegate allo stesso socket. Diverse istruzioni in parallelo possono essere eseguite dai singoli core, aumentando la velocità del software creato per sfruttare le caratteristiche uniche dell'architettura.

Rispetto a un processore single-core, un processore dual-core di solito è due volte più potente in circostanze ideali. In realtà, ci si aspetta un aumento delle prestazioni di circa il 50%: una CPU dual-core è circa 1,5 volte più potente di un processore single-core.

Man mano che i processori single-core raggiungono i limiti fisici di complessità e velocità, l'elaborazione multi-core sta diventando sempre più popolare. Nei tempi moderni, la maggior parte dei sistemi sono multi-core. I sistemi many-core o massivamente multi-core si riferiscono a sistemi con un numero enorme di core CPU, come decine o centinaia.

All'inizio degli anni 2000, Intel e AMD hanno rilasciato i primi processori multicore. Nei tempi moderni, le CPU sono dotate di due ('dual-core'), quattro ('quad-core'), sei ('hexa-core') e otto ('octa-core') core ('octo-core' ). I processori basati su FPGA contengono fino a 100 core fisici e 1000 core indipendenti effettivi (Field Programmable Gate Array).

Architettura del processore multicore

Il design di un processore multi-core consente la comunicazione tra tutti i core disponibili e dividono e assegnano tutti i compiti di elaborazione in modo appropriato. I dati elaborati da ciascun core vengono ritrasmessi alla scheda principale del computer (Motherboard) tramite un unico gateway comune una volta terminate tutte le operazioni di elaborazione. Questo metodo batte una CPU single-core in termini di prestazioni totali.

Cos'è un processore multicore

Vantaggi del processore multi-core

I processori multicore presentano numerosi vantaggi (pro), tra cui:

Prestazione

Una CPU multi-core, per sua natura, può svolgere più lavoro rispetto a un processore single-core. La spaziatura tra i core di un circuito integrato consente frequenze di clock più elevate. Di conseguenza, i segnali non hanno bisogno di percorrere una grande distanza per raggiungere il loro obiettivo e sono anche persistenti. Rispetto all'utilizzo di un processore separato, le velocità sono molto più elevate.

Affidabilità

Nelle CPU multi-core il software è sempre assegnato a core diversi. Quando un componente del software si guasta, gli altri rimangono inalterati. Ogni volta che si verifica un difetto, colpisce solo un nucleo. Di conseguenza, le CPU multi-core sono in grado di resistere meglio ai guasti.

Interazioni software

Anche se il software è in esecuzione su più core, comunicherà tra loro. L'isolamento spaziale e temporale è un processo attraverso il quale passa un processore multi-core. I thread principali non vengono mai ritardati a causa di questi processi.

Multitasking

Un sistema operativo può utilizzare una CPU multi-core per eseguire due o più processi contemporaneamente, anche se possono essere eseguiti più programmi contemporaneamente. Un'applicazione Photoshop, ad esempio, può essere utilizzata per eseguire due lavori contemporaneamente.

vuoto 0

Consumo di energia

Il multitasking con una CPU multi-core, d'altro canto, richiede meno energia. Verrà utilizzata solo la parte della CPU che genera calore. Il consumo energetico viene infine ridotto al minimo, con conseguente minore utilizzo della batteria. Alcuni sistemi operativi, d'altra parte, necessitano di più risorse rispetto ad altri.

Prevenzione dell'obsolescenza

Gli architetti possono evitare l'obsolescenza della tecnologia e aumentare la manutenibilità utilizzando CPU multicore. I produttori di chip utilizzano i più recenti progressi tecnologici nelle loro CPU multicore. I chip single-core stanno diventando sempre più difficili da trovare man mano che il numero di core aumenta.

Isolamento

I processori multicore possono aumentare (ma non garantiscono) l'isolamento geografico e temporale rispetto ai sistemi single-core. È meno probabile che il software su un core abbia un impatto sul software dell'altro se entrambi i core vengono eseguiti sullo stesso single-core. Questo disaccoppiamento avviene a causa dell'isolamento geografico e temporale (i thread su un core non vengono ritardati dai thread su un altro core). Limitando l'impatto degli errori a un singolo core, l'elaborazione multicore può aumentare la robustezza. Quando si eseguono separatamente programmi a criticità mista, questo isolamento rafforzato è molto importante (critico per la sicurezza, critico per la missione e critico per la sicurezza).

Alcuni altri punti chiave dei vantaggi del processore multicore:

  • Rispetto ai processori single-core, un processore multicore ha il potenziale per svolgere più attività.
  • Basso consumo energetico quando si svolgono più attività contemporaneamente.
  • I dati impiegano meno tempo per raggiungere la loro destinazione poiché entrambi i core sono integrati su un unico chip.
  • Utilizzando un piccolo circuito è possibile aumentare la velocità.
  • Il rilevamento di infezioni con software antivirus durante il gioco è un esempio di multitasking.
  • Con l'uso della bassa frequenza, può svolgere numerose attività contemporaneamente.
  • Rispetto ad un processore single-core è in grado di elaborare grandi quantità di dati.

Svantaggi dei processori multi-core

Esamineremo alcune delle limitazioni (svantaggi) di un processore multi-core, tra cui:

Velocità di applicazione

Nonostante la CPU multi-core sia progettata per il multitasking, le sue prestazioni sono insufficienti. Ha la tendenza a rimbalzare da un core all'altro ogni volta che un'applicazione viene elaborata. Di conseguenza, la cache si riempie, aumentandone la velocità.

Jitter

Con l'aumento del numero di core in una CPU multi-core si sviluppano ulteriori interferenze, con conseguente jitter eccessivo. Di conseguenza, le prestazioni del programma del sistema operativo potrebbero risentirne e potrebbero verificarsi frequenti errori. Solo utilizzando una sincronizzazione adeguata e un microkernel l'utente sarà in grado di gestire il jitter.

Analisi

Quando fai due o più cose contemporaneamente, dovrai utilizzare modelli di memoria aggiuntivi. In una macchina multi-core, ciò rende l'analisi difficile. I limiti temporali, in particolare, sono difficili da determinare e potrebbero essere imprecisi.

Inoltre, l'analisi delle interferenze diventa più complessa all'aumentare del numero di nuclei. Di conseguenza, il sistema operativo non sarà in grado di fornire i risultati promessi.

incapsulamento in Java

Condivisione di risorse

Un processore multi-core condivide una varietà di risorse, sia interne che esterne. Tra queste risorse rientrano le reti, i bus di sistema e la memoria principale. Di conseguenza, qualsiasi programma in esecuzione sullo stesso core avrà maggiori probabilità di essere interrotto. In questa forma di interferenza può verificarsi sia l’isolamento geografico che temporale.

Interferenza del software

A causa della condivisione delle risorse, l'interferenza del software può causare problemi con l'isolamento spaziale e temporale. Se ci sono nuclei aggiuntivi, questa possibilità aumenta ancora di più. La presenza di più nuclei implica un maggior numero di vie di interferenza. È quasi impossibile esaminare tutte le possibili vie di interferenza.

Alcuni altri punti chiave delle limitazioni del processore multicore:

  • Sebbene contenga diversi processori, non è due volte più veloce di un semplice processore.
  • Il compito di gestione è più complicato rispetto alla gestione di una CPU single-core.
  • Le prestazioni di un processore multi-core dipendono interamente dalle attività eseguite dagli utenti.
  • Se altri processori richiedono un'elaborazione lineare/sequenziale, i processori multi-core impiegano più tempo per l'elaborazione.
  • La batteria si scarica più rapidamente.
  • Il suo consumo energetico è così elevato rispetto a un processore più semplice.
  • Inoltre, rispetto ad un processore single-core, è più costoso.

Perché viene utilizzato il processore multi-core?

La configurazione è simile ad un processore dual-core. I processori multi-core sono classificati in base al numero di core e ai tipi di core. L'obiettivo di una CPU multi-core è ottenere grandi prestazioni. È stato progettato per superare i limiti fisici di una CPU single-core.

I sistemi operativi di supporto del processore multicore includono:

  • Linux
  • Microsoft Windows (Windows XP o successivo)
  • La maggior parte dei sistemi basati su BSD
  • Solaris
  • Mac OS X

Una breve storia dei processori multicore

Poiché le aziende che hanno creato i primi processori basati su chip potevano mettere un solo processore su un singolo chip, potevano inserire solo un processore su un singolo chip. I produttori di chip sono stati in grado di costruire chip con più circuiti man mano che la tecnologia di produzione dei chip progrediva e, infine, i produttori di chip sono stati in grado di realizzare chip con più di un processore, risultando nel chip multi-core.

Nel 1998, il primo processore multi-core fu inventato da Kunle Olukotun, professore di ingegneria elettrica a Stanford, e dai suoi studenti. I chip multicore sono stati commercialmente accessibili per la prima volta nel 2005 da Advanced Micro Devices (AMD) e Intel. Da allora quasi tutti i produttori di chip hanno iniziato a creare processori multicore.

Dove vengono utilizzati i processori multicore?

Nei tempi moderni, i processori multicore si trovano nella maggior parte dei dispositivi come tablet, desktop, laptop, smartphone e sistemi di gioco.

Le due opzioni principali fornite dimostrano come il modello di un processore non racconta tutta la storia delle prestazioni. Rispetto a un i5 dual-core, le prestazioni di un i5 quad-core sono sostanzialmente superiori e il prezzo del computer lo rifletterà. Tutti gli attuali modelli di laptop per il modello i5 sono dual-core, mentre tutti i modelli desktop sono quad-core al momento della stesura di questo documento. Poiché le versioni per laptop sono dual-core anziché quad-core, un i5 su un laptop avrà prestazioni inferiori rispetto a un i5 su un desktop. Il tipo dual-core è più adatto ai laptop portatili che richiedono una maggiore durata della batteria e consumano meno energia, ma un desktop utilizza una CPU che utilizza più energia, come il modello quad-core, poiché non richiede la durata della batteria. Alcune applicazioni del processore multicore sono le seguenti:

  • Giochi con grafica elevata, come Overwatch e Star Wars Battlefront, nonché giochi 3D.
  • Il processore multicore è più appropriato in Adobe Premiere, Adobe Photoshop, iMovie e altri software di editing video.
  • Solidworks con progettazione assistita da computer (CAD).
  • Traffico di rete e server di database elevati.
  • I robot industriali, ad esempio, sono sistemi integrati.