Qual è la differenza tra un processore uniprocessore e un multiprocessore?

Un sistema uniprocessore ha un singolo processore del computer, mentre i sistemi multiprocessore ne hanno due o più. Il termine "multicore" viene anche usato per descrivere sistemi multiprocessore. I sistemi multiprocessore possono portare a prestazioni migliori, anche se devono essere gestiti con attenzione per sfruttarne appieno il potere.

Le limitazioni fisiche spesso limitano la velocità di funzionamento di un particolare processore. Ad esempio, Intel inizialmente voleva produrre chip basati sul loro design Pentium 4 per funzionare a 10 GHz, ma i problemi con la dissipazione del calore limitavano questi chip a soli 3,8 GHz. I sistemi multiprocessore consentono ai processori di utilizzare più spazio, il che consente una migliore dissipazione del calore.

Tuttavia, i computer raramente sono in grado di sfruttare appieno tutta l'energia fornita dai sistemi multicore. I calcoli che non possono essere suddivisi in due parti separate possono essere eseguiti solo su un processore. In alcuni casi, un processore potrebbe dover attendere che le informazioni vengano calcolate su un altro processore prima di procedere. La legge di Amdahl, presentata per la prima volta nel 1967, dimostra che i risultati attesi nel mondo reale portano a rendimenti decrescenti quando vengono aggiunti più processori a un sistema.

Nonostante queste limitazioni, i sistemi multiprocessore sono comuni su dispositivi sofisticati. Gli smartphone possono riservare un processore per gestire le chiamate telefoniche mentre si utilizzano altri processori per le applicazioni e l'interazione degli utenti, il che garantisce che le risorse necessarie per la gestione delle chiamate telefoniche siano disponibili indipendentemente da ciò che l'utente sta facendo.