Qual è la differenza tra CPU e GPU?

Nei computer ci sono due processori distinti, una CPU e una GPU. Una CPU, o Central Processing Unit, è il nucleo principale di un computer, elabora la stragrande maggioranza dei dati necessari per eseguire il computer. Una GPU o unità di elaborazione grafica è un processore secondario utilizzato principalmente per l'elaborazione grafica.

Progettazione della CPU

Una CPU è progettata con un numero relativamente basso di core di elaborazione, con particolare attenzione all'elaborazione seriale a bassa latenza. Ciò significa che le CPU sono progettate per eseguire una serie di attività il più velocemente possibile. L'avvento delle CPU multi-core ha permesso loro di eseguire più operazioni contemporaneamente, dove il carico di lavoro lo consente.

Nel caso di una CPU multi-core, le applicazioni possono trarre vantaggio dall'esecuzione simultanea di più passaggi per la loro logica. Questo può fornire un raddoppio o più della velocità di elaborazione, a seconda del numero di core e se la logica del programma può sfruttarli tutti

In molti casi, la logica di un singolo processo deve essere completata in ordine e non può essere parallelizzata su più core CPU. In questo caso, è ancora possibile osservare un aumento della velocità su una singola CPU core poiché il programma può avere un core di elaborazione dedicato, piuttosto che dover condividere la risorsa con il resto del sistema.

Progettazione GPU

Una GPU è progettata con un numero di core molto più ampio e in genere funziona a velocità inferiori, principalmente per motivi di gestione del calore. L'elevato numero di core di elaborazione è dovuto al fatto che le GPU sono ottimizzate per l'elaborazione parallela e un throughput molto elevato.

Le GPU sono in genere utilizzate per il rendering della grafica, soprattutto nei videogiochi. In questo scenario, una GPU deve eseguire il rendering di un'intera scena molte volte al secondo affinché l'esperienza funzioni. La potenza di elaborazione richiesta per elaborare i singoli elementi grafici è relativamente bassa, ma devono essere eseguiti migliaia di processi per frame e quindi sono necessarie dozzine di frame al secondo.

CPU e GPU nei computer

Tutti i computer hanno una qualche forma di GPU, poiché è necessaria per visualizzare qualsiasi cosa sullo schermo. Nei sistemi economici e di fascia media, questa attività viene generalmente eseguita da un chip grafico integrato relativamente a bassa potenza. Questo chip è integrato nella CPU ma utilizza i propri core di elaborazione per eseguire carichi di lavoro grafici.

Sui computer più potenti, in particolare quelli progettati per carichi di lavoro grafici, il processore GPU è separato su una scheda grafica discreta. In questa configurazione, c'è più spazio per più core e altri componenti. Inoltre, la separazione delle due fonti di calore primarie permette di raffreddarle meglio entrambe, aumentando ulteriormente le velocità.

Le GPU discrete possono essere utilizzate anche per attività diverse dall'elaborazione grafica, poiché alcuni carichi di lavoro sono adatti anche al throughput elevato e al parallelismo di una GPU. L'apprendimento automatico e alcuni carichi di lavoro scientifici vengono comunemente eseguiti su GPU, ad esempio.